@artinet/sdk 0.5.18 → 0.6.0-preview.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -617
- package/dist/browser/browser.d.ts +1 -1
- package/dist/browser/browser.js +1 -1
- package/dist/browser/client/a2a-client.d.ts +19 -18
- package/dist/browser/client/a2a-client.js +20 -8
- package/dist/browser/config/index.d.ts +158 -0
- package/dist/browser/config/index.js +155 -0
- package/dist/browser/config/observability.d.ts +119 -0
- package/dist/browser/config/observability.js +35 -0
- package/dist/browser/create/agentcard-builder.d.ts +47 -0
- package/dist/browser/create/agentcard-builder.js +65 -0
- package/dist/browser/create/base.d.ts +4 -0
- package/dist/browser/create/describe.d.ts +8 -0
- package/dist/browser/create/describe.js +8 -0
- package/dist/browser/create/message-builder.d.ts +78 -0
- package/dist/browser/create/message-builder.js +108 -0
- package/dist/browser/create/part-builder.d.ts +60 -0
- package/dist/browser/create/part-builder.js +81 -0
- package/dist/browser/create/task-builder.d.ts +251 -0
- package/dist/browser/create/task-builder.js +379 -0
- package/dist/browser/transport/rpc/parser.d.ts +2 -2
- package/dist/browser/transport/rpc/parser.js +7 -6
- package/dist/browser/transport/rpc/rpc-client.d.ts +5 -5
- package/dist/browser/transport/rpc/rpc-client.js +6 -6
- package/dist/browser/transport/streaming/event-stream.d.ts +3 -3
- package/dist/browser/transport/streaming/event-stream.js +11 -10
- package/dist/browser/types/a2a/a2a.d.ts +382 -0
- package/dist/browser/types/a2a/a2a.js +14 -0
- package/dist/browser/types/a2a/index.d.ts +5 -0
- package/dist/browser/types/a2a/index.js +1 -0
- package/dist/browser/types/{interfaces/client.d.ts → client.d.ts} +25 -27
- package/dist/browser/types/core/core.d.ts +31 -0
- package/dist/browser/types/core/index.d.ts +1 -0
- package/dist/browser/types/core/index.js +1 -0
- package/dist/browser/types/index.d.ts +6 -3
- package/dist/browser/types/index.js +6 -3
- package/dist/browser/types/mcp/index.d.ts +1 -0
- package/dist/browser/types/mcp/index.js +1 -0
- package/dist/{types/interfaces/services/mcp/service.d.ts → browser/types/mcp/mcp.d.ts} +4 -3
- package/dist/browser/types/{interfaces/services/a2a/builder.js → mcp/mcp.js} +1 -1
- package/dist/browser/types/storage.d.ts +21 -0
- package/dist/browser/utils/common/constants.d.ts +2 -7
- package/dist/browser/utils/common/constants.js +5 -32
- package/dist/browser/utils/common/errors.d.ts +74 -18
- package/dist/browser/utils/common/errors.js +81 -28
- package/dist/browser/utils/common/utils.d.ts +23 -0
- package/dist/browser/utils/common/utils.js +32 -0
- package/dist/client/a2a-client.d.ts +19 -18
- package/dist/client/a2a-client.js +20 -8
- package/dist/config/default.d.ts +50 -0
- package/dist/config/default.js +62 -0
- package/dist/config/index.d.ts +158 -0
- package/dist/config/index.js +155 -0
- package/dist/config/observability.d.ts +119 -0
- package/dist/config/observability.js +35 -0
- package/dist/create/agent-builder.d.ts +77 -0
- package/dist/create/agent-builder.js +20 -0
- package/dist/create/agentcard-builder.d.ts +47 -0
- package/dist/create/agentcard-builder.js +66 -0
- package/dist/create/base.d.ts +4 -0
- package/dist/create/base.js +1 -0
- package/dist/create/create.d.ts +762 -0
- package/dist/create/create.js +556 -0
- package/dist/create/describe.d.ts +8 -0
- package/dist/create/describe.js +8 -0
- package/dist/create/index.d.ts +4 -0
- package/dist/create/index.js +4 -0
- package/dist/create/message-builder.d.ts +78 -0
- package/dist/create/message-builder.js +110 -0
- package/dist/create/part-builder.d.ts +60 -0
- package/dist/create/part-builder.js +84 -0
- package/dist/create/status-builder.d.ts +26 -0
- package/dist/create/status-builder.js +46 -0
- package/dist/create/task-builder.d.ts +251 -0
- package/dist/create/task-builder.js +384 -0
- package/dist/create/transform.d.ts +16 -0
- package/dist/create/transform.js +106 -0
- package/dist/extensions/otel.d.ts +98 -0
- package/dist/extensions/otel.js +190 -0
- package/dist/extensions/pino.d.ts +44 -0
- package/dist/extensions/pino.js +107 -0
- package/dist/extensions/winston.d.ts +47 -0
- package/dist/extensions/winston.js +114 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/server/express/errors.js +7 -11
- package/dist/server/express/middeware.d.ts +2 -2
- package/dist/server/express/middeware.js +26 -40
- package/dist/server/express/server.d.ts +14 -56
- package/dist/server/express/server.js +46 -35
- package/dist/services/a2a/execute.d.ts +11 -0
- package/dist/services/a2a/execute.js +32 -0
- package/dist/services/a2a/factory/context.d.ts +15 -128
- package/dist/services/a2a/factory/context.js +30 -136
- package/dist/services/a2a/factory/handler.d.ts +6 -0
- package/dist/services/a2a/factory/handler.js +14 -0
- package/dist/services/a2a/factory/index.d.ts +1 -3
- package/dist/services/a2a/factory/index.js +1 -3
- package/dist/services/a2a/factory/service.d.ts +20 -7
- package/dist/services/a2a/factory/service.js +5 -5
- package/dist/services/a2a/factory/state-machine.d.ts +11 -0
- package/dist/services/a2a/factory/state-machine.js +88 -0
- package/dist/services/a2a/handlers/artifact.d.ts +7 -0
- package/dist/services/a2a/handlers/artifact.js +28 -0
- package/dist/services/a2a/handlers/cancel-task.d.ts +11 -0
- package/dist/services/a2a/handlers/cancel-task.js +35 -0
- package/dist/services/a2a/handlers/get-task.d.ts +11 -0
- package/dist/services/a2a/handlers/get-task.js +13 -0
- package/dist/services/a2a/handlers/resubscribe-task.d.ts +19 -0
- package/dist/services/a2a/handlers/resubscribe-task.js +59 -0
- package/dist/services/a2a/handlers/send-message.d.ts +11 -0
- package/dist/services/a2a/handlers/send-message.js +31 -0
- package/dist/services/a2a/handlers/stream-message.d.ts +19 -0
- package/dist/services/a2a/handlers/stream-message.js +23 -0
- package/dist/services/a2a/handlers/update.d.ts +17 -0
- package/dist/services/a2a/handlers/update.js +119 -0
- package/dist/services/a2a/helpers/content.d.ts +6 -2
- package/dist/services/a2a/helpers/content.js +9 -1
- package/dist/services/a2a/helpers/history.d.ts +6 -2
- package/dist/services/a2a/helpers/history.js +4 -0
- package/dist/services/a2a/helpers/index.d.ts +3 -3
- package/dist/services/a2a/helpers/index.js +3 -3
- package/dist/services/a2a/helpers/part.d.ts +9 -9
- package/dist/services/a2a/helpers/references.d.ts +6 -0
- package/dist/services/a2a/helpers/references.js +22 -0
- package/dist/services/a2a/index.d.ts +9 -5
- package/dist/services/a2a/index.js +8 -5
- package/dist/services/a2a/managers.d.ts +23 -0
- package/dist/services/a2a/managers.js +101 -0
- package/dist/services/a2a/messenger.d.ts +35 -0
- package/dist/services/{core/managers/command.js → a2a/messenger.js} +27 -31
- package/dist/services/a2a/service.d.ts +45 -372
- package/dist/services/a2a/service.js +232 -84
- package/dist/services/a2a/state-machine.d.ts +18 -0
- package/dist/services/a2a/state-machine.js +78 -0
- package/dist/services/a2a/streams.d.ts +22 -0
- package/dist/services/a2a/streams.js +98 -0
- package/dist/services/core/index.d.ts +1 -2
- package/dist/services/core/index.js +1 -2
- package/dist/services/core/manager.d.ts +15 -0
- package/dist/services/core/manager.js +42 -0
- package/dist/services/mcp/service.d.ts +11 -15
- package/dist/services/mcp/service.js +16 -15
- package/dist/transport/index.d.ts +0 -1
- package/dist/transport/index.js +1 -1
- package/dist/transport/rpc/parser.d.ts +2 -2
- package/dist/transport/rpc/parser.js +7 -6
- package/dist/transport/rpc/rpc-client.d.ts +5 -5
- package/dist/transport/rpc/rpc-client.js +6 -6
- package/dist/transport/streaming/event-stream.d.ts +3 -3
- package/dist/transport/streaming/event-stream.js +11 -10
- package/dist/transport/trpc/a2a/factory/router.d.ts +479 -871
- package/dist/transport/trpc/a2a/factory/router.js +2 -2
- package/dist/transport/trpc/a2a/routes/info.d.ts +108 -8
- package/dist/transport/trpc/a2a/routes/info.js +6 -2
- package/dist/transport/trpc/a2a/routes/message/route.d.ts +113 -162
- package/dist/transport/trpc/a2a/routes/message/route.js +7 -13
- package/dist/transport/trpc/a2a/routes/tasks/route.d.ts +114 -212
- package/dist/transport/trpc/a2a/routes/tasks/route.js +16 -19
- package/dist/transport/trpc/a2a/trpc.d.ts +9 -253
- package/dist/types/a2a/a2a.d.ts +382 -0
- package/dist/types/a2a/a2a.js +14 -0
- package/dist/types/a2a/index.d.ts +5 -0
- package/dist/types/a2a/index.js +1 -0
- package/dist/types/{interfaces/client.d.ts → client.d.ts} +25 -27
- package/dist/types/core/core.d.ts +31 -0
- package/dist/types/core/core.js +1 -0
- package/dist/types/core/index.d.ts +1 -0
- package/dist/types/core/index.js +1 -0
- package/dist/types/index.d.ts +6 -3
- package/dist/types/index.js +6 -3
- package/dist/types/mcp/index.d.ts +1 -0
- package/dist/types/mcp/index.js +1 -0
- package/dist/{browser/types/interfaces/services/mcp/service.d.ts → types/mcp/mcp.d.ts} +4 -3
- package/dist/{browser/types/interfaces/services/a2a/context.js → types/mcp/mcp.js} +1 -1
- package/dist/types/storage.d.ts +21 -0
- package/dist/utils/common/constants.d.ts +2 -7
- package/dist/utils/common/constants.js +5 -32
- package/dist/utils/common/errors.d.ts +74 -18
- package/dist/utils/common/errors.js +81 -28
- package/dist/utils/common/parse.d.ts +7 -0
- package/dist/utils/common/parse.js +14 -0
- package/dist/utils/common/schema-validation.d.ts +2 -2
- package/dist/utils/common/schema-validation.js +7 -7
- package/dist/utils/common/utils.d.ts +23 -0
- package/dist/utils/common/utils.js +32 -0
- package/dist/utils/common/zAsyncIterable-v3.d.ts +1 -1
- package/dist/utils/common/zAsyncIterable-v3.js +2 -1
- package/dist/utils/index.d.ts +2 -3
- package/dist/utils/index.js +2 -3
- package/dist/utils/storage/file.d.ts +8 -17
- package/dist/utils/storage/file.js +44 -73
- package/package.json +76 -13
- package/dist/browser/services/a2a/helpers/message-builder.d.ts +0 -12
- package/dist/browser/services/a2a/helpers/message-builder.js +0 -61
- package/dist/browser/types/ext.d.ts +0 -13
- package/dist/browser/types/ext.js +0 -10
- package/dist/browser/types/interfaces/index.d.ts +0 -3
- package/dist/browser/types/interfaces/index.js +0 -3
- package/dist/browser/types/interfaces/services/a2a/builder.d.ts +0 -37
- package/dist/browser/types/interfaces/services/a2a/context.d.ts +0 -162
- package/dist/browser/types/interfaces/services/a2a/engine.d.ts +0 -7
- package/dist/browser/types/interfaces/services/a2a/engine.js +0 -5
- package/dist/browser/types/interfaces/services/a2a/index.d.ts +0 -5
- package/dist/browser/types/interfaces/services/a2a/index.js +0 -5
- package/dist/browser/types/interfaces/services/a2a/legacy.d.ts +0 -93
- package/dist/browser/types/interfaces/services/a2a/legacy.js +0 -5
- package/dist/browser/types/interfaces/services/a2a/service.d.ts +0 -413
- package/dist/browser/types/interfaces/services/a2a/service.js +0 -5
- package/dist/browser/types/interfaces/services/core/context/command.d.ts +0 -25
- package/dist/browser/types/interfaces/services/core/context/command.js +0 -5
- package/dist/browser/types/interfaces/services/core/context/context.d.ts +0 -207
- package/dist/browser/types/interfaces/services/core/context/context.js +0 -5
- package/dist/browser/types/interfaces/services/core/context/index.d.ts +0 -3
- package/dist/browser/types/interfaces/services/core/context/index.js +0 -3
- package/dist/browser/types/interfaces/services/core/context/types.d.ts +0 -11
- package/dist/browser/types/interfaces/services/core/context/types.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/engine.d.ts +0 -106
- package/dist/browser/types/interfaces/services/core/execution/engine.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/environment.d.ts +0 -11
- package/dist/browser/types/interfaces/services/core/execution/environment.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/execute.d.ts +0 -7
- package/dist/browser/types/interfaces/services/core/execution/execute.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/index.d.ts +0 -3
- package/dist/browser/types/interfaces/services/core/execution/index.js +0 -3
- package/dist/browser/types/interfaces/services/core/index.d.ts +0 -4
- package/dist/browser/types/interfaces/services/core/index.js +0 -4
- package/dist/browser/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
- package/dist/browser/types/interfaces/services/core/managers/cancellation.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/connection.d.ts +0 -9
- package/dist/browser/types/interfaces/services/core/managers/connection.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/context.d.ts +0 -17
- package/dist/browser/types/interfaces/services/core/managers/context.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/event.d.ts +0 -328
- package/dist/browser/types/interfaces/services/core/managers/event.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/index.d.ts +0 -6
- package/dist/browser/types/interfaces/services/core/managers/index.js +0 -6
- package/dist/browser/types/interfaces/services/core/managers/stream.d.ts +0 -217
- package/dist/browser/types/interfaces/services/core/managers/stream.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/task.d.ts +0 -9
- package/dist/browser/types/interfaces/services/core/service.d.ts +0 -115
- package/dist/browser/types/interfaces/services/core/service.js +0 -5
- package/dist/browser/types/interfaces/services/index.d.ts +0 -4
- package/dist/browser/types/interfaces/services/index.js +0 -4
- package/dist/browser/types/interfaces/services/mcp/index.d.ts +0 -1
- package/dist/browser/types/interfaces/services/mcp/index.js +0 -1
- package/dist/browser/types/interfaces/services/mcp/service.js +0 -5
- package/dist/browser/types/interfaces/storage.d.ts +0 -8
- package/dist/browser/types/schemas/a2a/agent.d.ts +0 -2583
- package/dist/browser/types/schemas/a2a/agent.js +0 -323
- package/dist/browser/types/schemas/a2a/auth.d.ts +0 -908
- package/dist/browser/types/schemas/a2a/auth.js +0 -283
- package/dist/browser/types/schemas/a2a/error.d.ts +0 -396
- package/dist/browser/types/schemas/a2a/error.js +0 -163
- package/dist/browser/types/schemas/a2a/index.d.ts +0 -11
- package/dist/browser/types/schemas/a2a/index.js +0 -11
- package/dist/browser/types/schemas/a2a/kind.d.ts +0 -11
- package/dist/browser/types/schemas/a2a/kind.js +0 -20
- package/dist/browser/types/schemas/a2a/message.d.ts +0 -10343
- package/dist/browser/types/schemas/a2a/message.js +0 -130
- package/dist/browser/types/schemas/a2a/notification.d.ts +0 -1517
- package/dist/browser/types/schemas/a2a/notification.js +0 -203
- package/dist/browser/types/schemas/a2a/parameters.d.ts +0 -956
- package/dist/browser/types/schemas/a2a/parameters.js +0 -241
- package/dist/browser/types/schemas/a2a/protocol.d.ts +0 -14363
- package/dist/browser/types/schemas/a2a/protocol.js +0 -59
- package/dist/browser/types/schemas/a2a/rpc.d.ts +0 -182
- package/dist/browser/types/schemas/a2a/rpc.js +0 -126
- package/dist/browser/types/schemas/a2a/task.d.ts +0 -5886
- package/dist/browser/types/schemas/a2a/task.js +0 -134
- package/dist/browser/types/schemas/a2a/transport.d.ts +0 -31
- package/dist/browser/types/schemas/a2a/transport.js +0 -28
- package/dist/browser/types/schemas/index.d.ts +0 -1
- package/dist/browser/types/schemas/index.js +0 -1
- package/dist/browser/utils/logging/index.d.ts +0 -2
- package/dist/browser/utils/logging/index.js +0 -2
- package/dist/browser/utils/logging/log.d.ts +0 -33
- package/dist/browser/utils/logging/log.js +0 -75
- package/dist/browser/utils/logging/logger.d.ts +0 -18
- package/dist/browser/utils/logging/logger.js +0 -18
- package/dist/services/a2a/factory/builder.d.ts +0 -351
- package/dist/services/a2a/factory/builder.js +0 -365
- package/dist/services/a2a/factory/event.d.ts +0 -58
- package/dist/services/a2a/factory/event.js +0 -177
- package/dist/services/a2a/factory/method.d.ts +0 -6
- package/dist/services/a2a/factory/method.js +0 -14
- package/dist/services/a2a/helpers/agentcard-builder.d.ts +0 -7
- package/dist/services/a2a/helpers/agentcard-builder.js +0 -23
- package/dist/services/a2a/helpers/message-builder.d.ts +0 -12
- package/dist/services/a2a/helpers/message-builder.js +0 -61
- package/dist/services/a2a/managers/cancellation.d.ts +0 -11
- package/dist/services/a2a/managers/cancellation.js +0 -16
- package/dist/services/a2a/managers/connection.d.ts +0 -11
- package/dist/services/a2a/managers/connection.js +0 -16
- package/dist/services/a2a/managers/context.d.ts +0 -11
- package/dist/services/a2a/managers/context.js +0 -16
- package/dist/services/a2a/managers/index.d.ts +0 -5
- package/dist/services/a2a/managers/index.js +0 -5
- package/dist/services/a2a/managers/task.d.ts +0 -11
- package/dist/services/a2a/managers/task.js +0 -16
- package/dist/services/a2a/methods/cancel-task.d.ts +0 -7
- package/dist/services/a2a/methods/cancel-task.js +0 -43
- package/dist/services/a2a/methods/get-task.d.ts +0 -112
- package/dist/services/a2a/methods/get-task.js +0 -16
- package/dist/services/a2a/methods/resubscribe-task.d.ts +0 -7
- package/dist/services/a2a/methods/resubscribe-task.js +0 -80
- package/dist/services/a2a/methods/send-message.d.ts +0 -7
- package/dist/services/a2a/methods/send-message.js +0 -36
- package/dist/services/a2a/methods/stream-message.d.ts +0 -8
- package/dist/services/a2a/methods/stream-message.js +0 -21
- package/dist/services/a2a/state/index.d.ts +0 -3
- package/dist/services/a2a/state/index.js +0 -3
- package/dist/services/a2a/state/load.d.ts +0 -14
- package/dist/services/a2a/state/load.js +0 -71
- package/dist/services/a2a/state/process.d.ts +0 -7
- package/dist/services/a2a/state/process.js +0 -13
- package/dist/services/a2a/state/update/artifact.d.ts +0 -10
- package/dist/services/a2a/state/update/artifact.js +0 -39
- package/dist/services/a2a/state/update/index.d.ts +0 -2
- package/dist/services/a2a/state/update/index.js +0 -2
- package/dist/services/a2a/state/update/update.d.ts +0 -23
- package/dist/services/a2a/state/update/update.js +0 -123
- package/dist/services/core/execution/execute.d.ts +0 -6
- package/dist/services/core/execution/execute.js +0 -25
- package/dist/services/core/execution/index.d.ts +0 -1
- package/dist/services/core/execution/index.js +0 -1
- package/dist/services/core/managers/command.d.ts +0 -39
- package/dist/services/core/managers/event.d.ts +0 -18
- package/dist/services/core/managers/event.js +0 -56
- package/dist/services/core/managers/index.d.ts +0 -3
- package/dist/services/core/managers/index.js +0 -3
- package/dist/services/core/managers/stream.d.ts +0 -20
- package/dist/services/core/managers/stream.js +0 -77
- package/dist/types/ext.d.ts +0 -13
- package/dist/types/ext.js +0 -10
- package/dist/types/interfaces/index.d.ts +0 -3
- package/dist/types/interfaces/index.js +0 -3
- package/dist/types/interfaces/services/a2a/builder.d.ts +0 -37
- package/dist/types/interfaces/services/a2a/builder.js +0 -5
- package/dist/types/interfaces/services/a2a/context.d.ts +0 -162
- package/dist/types/interfaces/services/a2a/context.js +0 -5
- package/dist/types/interfaces/services/a2a/engine.d.ts +0 -7
- package/dist/types/interfaces/services/a2a/engine.js +0 -5
- package/dist/types/interfaces/services/a2a/index.d.ts +0 -5
- package/dist/types/interfaces/services/a2a/index.js +0 -5
- package/dist/types/interfaces/services/a2a/legacy.d.ts +0 -93
- package/dist/types/interfaces/services/a2a/legacy.js +0 -5
- package/dist/types/interfaces/services/a2a/service.d.ts +0 -413
- package/dist/types/interfaces/services/a2a/service.js +0 -5
- package/dist/types/interfaces/services/core/context/command.d.ts +0 -25
- package/dist/types/interfaces/services/core/context/command.js +0 -5
- package/dist/types/interfaces/services/core/context/context.d.ts +0 -207
- package/dist/types/interfaces/services/core/context/context.js +0 -5
- package/dist/types/interfaces/services/core/context/index.d.ts +0 -3
- package/dist/types/interfaces/services/core/context/index.js +0 -3
- package/dist/types/interfaces/services/core/context/types.d.ts +0 -11
- package/dist/types/interfaces/services/core/context/types.js +0 -5
- package/dist/types/interfaces/services/core/execution/engine.d.ts +0 -106
- package/dist/types/interfaces/services/core/execution/engine.js +0 -5
- package/dist/types/interfaces/services/core/execution/environment.d.ts +0 -11
- package/dist/types/interfaces/services/core/execution/environment.js +0 -5
- package/dist/types/interfaces/services/core/execution/execute.d.ts +0 -7
- package/dist/types/interfaces/services/core/execution/execute.js +0 -5
- package/dist/types/interfaces/services/core/execution/index.d.ts +0 -3
- package/dist/types/interfaces/services/core/execution/index.js +0 -3
- package/dist/types/interfaces/services/core/index.d.ts +0 -4
- package/dist/types/interfaces/services/core/index.js +0 -4
- package/dist/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
- package/dist/types/interfaces/services/core/managers/cancellation.js +0 -5
- package/dist/types/interfaces/services/core/managers/connection.d.ts +0 -9
- package/dist/types/interfaces/services/core/managers/connection.js +0 -5
- package/dist/types/interfaces/services/core/managers/context.d.ts +0 -17
- package/dist/types/interfaces/services/core/managers/context.js +0 -5
- package/dist/types/interfaces/services/core/managers/event.d.ts +0 -328
- package/dist/types/interfaces/services/core/managers/event.js +0 -5
- package/dist/types/interfaces/services/core/managers/index.d.ts +0 -6
- package/dist/types/interfaces/services/core/managers/index.js +0 -6
- package/dist/types/interfaces/services/core/managers/stream.d.ts +0 -217
- package/dist/types/interfaces/services/core/managers/stream.js +0 -5
- package/dist/types/interfaces/services/core/managers/task.d.ts +0 -9
- package/dist/types/interfaces/services/core/service.d.ts +0 -115
- package/dist/types/interfaces/services/core/service.js +0 -5
- package/dist/types/interfaces/services/index.d.ts +0 -4
- package/dist/types/interfaces/services/index.js +0 -4
- package/dist/types/interfaces/services/mcp/index.d.ts +0 -1
- package/dist/types/interfaces/services/mcp/index.js +0 -1
- package/dist/types/interfaces/services/mcp/service.js +0 -5
- package/dist/types/interfaces/storage.d.ts +0 -8
- package/dist/types/schemas/a2a/agent.d.ts +0 -2583
- package/dist/types/schemas/a2a/agent.js +0 -323
- package/dist/types/schemas/a2a/auth.d.ts +0 -908
- package/dist/types/schemas/a2a/auth.js +0 -283
- package/dist/types/schemas/a2a/error.d.ts +0 -396
- package/dist/types/schemas/a2a/error.js +0 -163
- package/dist/types/schemas/a2a/index.d.ts +0 -11
- package/dist/types/schemas/a2a/index.js +0 -11
- package/dist/types/schemas/a2a/kind.d.ts +0 -11
- package/dist/types/schemas/a2a/kind.js +0 -20
- package/dist/types/schemas/a2a/message.d.ts +0 -10343
- package/dist/types/schemas/a2a/message.js +0 -130
- package/dist/types/schemas/a2a/notification.d.ts +0 -1517
- package/dist/types/schemas/a2a/notification.js +0 -203
- package/dist/types/schemas/a2a/parameters.d.ts +0 -956
- package/dist/types/schemas/a2a/parameters.js +0 -241
- package/dist/types/schemas/a2a/protocol.d.ts +0 -14363
- package/dist/types/schemas/a2a/protocol.js +0 -59
- package/dist/types/schemas/a2a/rpc.d.ts +0 -182
- package/dist/types/schemas/a2a/rpc.js +0 -126
- package/dist/types/schemas/a2a/task.d.ts +0 -5886
- package/dist/types/schemas/a2a/task.js +0 -134
- package/dist/types/schemas/a2a/transport.d.ts +0 -31
- package/dist/types/schemas/a2a/transport.js +0 -28
- package/dist/types/schemas/index.d.ts +0 -1
- package/dist/types/schemas/index.js +0 -1
- package/dist/utils/logging/index.d.ts +0 -2
- package/dist/utils/logging/index.js +0 -2
- package/dist/utils/logging/log.d.ts +0 -33
- package/dist/utils/logging/log.js +0 -75
- package/dist/utils/logging/logger.d.ts +0 -18
- package/dist/utils/logging/logger.js +0 -18
- package/dist/utils/storage/memory.d.ts +0 -25
- package/dist/utils/storage/memory.js +0 -47
- /package/dist/browser/{types/interfaces/services/core/managers/task.js → create/base.js} +0 -0
- /package/dist/browser/types/{interfaces/client.js → client.js} +0 -0
- /package/dist/{types/interfaces/services/core/managers/task.js → browser/types/core/core.js} +0 -0
- /package/dist/browser/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
- /package/dist/browser/types/{interfaces/services/protocol.js → protocol.js} +0 -0
- /package/dist/browser/types/{interfaces/storage.js → storage.js} +0 -0
- /package/dist/services/a2a/{methods → handlers}/index.d.ts +0 -0
- /package/dist/services/a2a/{methods → handlers}/index.js +0 -0
- /package/dist/types/{interfaces/client.js → client.js} +0 -0
- /package/dist/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
- /package/dist/types/{interfaces/services/protocol.js → protocol.js} +0 -0
- /package/dist/types/{interfaces/storage.js → storage.js} +0 -0
|
@@ -3,69 +3,27 @@
|
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
port?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Your agentCard must have supportsAuthenticatedExtendedCard set to true
|
|
17
|
+
*/
|
|
18
|
+
extendedAgentCard?: A2A.AgentCard;
|
|
15
19
|
agent: Agent | CreateAgentParams;
|
|
16
20
|
agentCardPath?: string;
|
|
17
21
|
register?: boolean;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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>;
|
|
22
|
+
}
|
|
23
|
+
export declare function rpcParser(req: express.Request, res: express.Response, next: express.NextFunction): void;
|
|
24
|
+
export declare function createAgentServer({ app, basePath, agentCardPath, agent, corsOptions, extendedAgentCard, register, port, }: ServerParams): {
|
|
25
|
+
app: express.Express;
|
|
26
|
+
agent: Agent;
|
|
27
|
+
start: (_port?: number) => import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse>;
|
|
70
28
|
};
|
|
71
29
|
export type ExpressAgentServer = ReturnType<typeof createAgentServer>;
|
|
@@ -3,62 +3,57 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import express from "express";
|
|
6
|
-
import {
|
|
7
|
-
import { createAgent } from "../../services/index.js";
|
|
6
|
+
import { createAgent, Service, } from "../../services/index.js";
|
|
8
7
|
import cors from "cors";
|
|
9
8
|
import { jsonRPCMiddleware } from "./middeware.js";
|
|
10
9
|
import { errorHandler } from "./errors.js";
|
|
11
|
-
|
|
10
|
+
import { logger } from "../../config/index.js";
|
|
11
|
+
import { A2AError } from "@a2a-js/sdk/server";
|
|
12
|
+
import { formatJson } from "../../utils/common/utils.js";
|
|
13
|
+
export function rpcParser(req, res, next) {
|
|
12
14
|
express.json()(req, res, (err) => {
|
|
15
|
+
if (!req.body || typeof req.body !== "object") {
|
|
16
|
+
return next(A2AError.parseError(`Invalid request body: ${formatJson(req.body)}`));
|
|
17
|
+
}
|
|
13
18
|
if (err) {
|
|
14
19
|
if (err instanceof SyntaxError &&
|
|
15
20
|
"status" in err &&
|
|
16
21
|
err.status === 400 &&
|
|
17
22
|
"body" in err) {
|
|
18
|
-
return next(
|
|
19
|
-
data: err.message,
|
|
20
|
-
}));
|
|
23
|
+
return next(A2AError.parseError(`Invalid request body: ${formatJson(req.body)}`));
|
|
21
24
|
}
|
|
22
25
|
return next(err);
|
|
23
26
|
}
|
|
24
27
|
next();
|
|
25
28
|
});
|
|
26
29
|
}
|
|
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 &&
|
|
30
|
+
const isParams = (agentOrParams) => {
|
|
31
|
+
return (agentOrParams &&
|
|
47
32
|
typeof agentOrParams === "object" &&
|
|
48
33
|
"engine" in agentOrParams &&
|
|
49
34
|
typeof agentOrParams.engine === "function" &&
|
|
50
35
|
"agentCard" in agentOrParams &&
|
|
51
|
-
typeof agentOrParams.agentCard === "object")
|
|
36
|
+
typeof agentOrParams.agentCard === "object");
|
|
37
|
+
};
|
|
38
|
+
const ensureAgent = (agentOrParams) => {
|
|
39
|
+
if (agentOrParams instanceof Service) {
|
|
40
|
+
return agentOrParams;
|
|
41
|
+
}
|
|
42
|
+
else if (isParams(agentOrParams)) {
|
|
52
43
|
return createAgent(agentOrParams);
|
|
53
44
|
}
|
|
54
45
|
throw new Error("invalid agent or params");
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
46
|
+
};
|
|
47
|
+
const registerAgent = async (agentCard) => {
|
|
48
|
+
logger.debug("registerAgent: not implemented", { agentCard });
|
|
49
|
+
return Promise.resolve(agentCard);
|
|
50
|
+
};
|
|
51
|
+
export function createAgentServer({ app = express(), basePath = "/", agentCardPath = "/.well-known/agent-card.json", agent, corsOptions, extendedAgentCard, register = false, port, }) {
|
|
58
52
|
const agentInstance = ensureAgent(agent);
|
|
59
|
-
app.use(cors(
|
|
53
|
+
app.use(cors(corsOptions));
|
|
60
54
|
if (agentCardPath !== "/.well-known/agent-card.json") {
|
|
61
55
|
// mount at the root for compliance with RFC8615 standard
|
|
56
|
+
// todo: align with emerging multi-agent standards
|
|
62
57
|
app.use("/.well-known/agent-card.json", (_, res) => {
|
|
63
58
|
res.json(agentInstance.agentCard);
|
|
64
59
|
});
|
|
@@ -79,10 +74,10 @@ export function createAgentServer(params) {
|
|
|
79
74
|
//a standard express middleware to handle json-rpc requests
|
|
80
75
|
app.post(basePath, rpcParser, async (req, res, next) => {
|
|
81
76
|
const { jsonrpc } = req.body;
|
|
82
|
-
if (jsonrpc
|
|
83
|
-
return
|
|
77
|
+
if (jsonrpc !== "2.0") {
|
|
78
|
+
return next(A2AError.invalidRequest("Invalid JSON-RPC request"));
|
|
84
79
|
}
|
|
85
|
-
|
|
80
|
+
return await jsonRPCMiddleware(agentInstance, req, res, next, extendedAgentCard);
|
|
86
81
|
});
|
|
87
82
|
app.use(errorHandler);
|
|
88
83
|
/** this is an example of using trpc as express middleware
|
|
@@ -101,5 +96,21 @@ export function createAgentServer(params) {
|
|
|
101
96
|
);
|
|
102
97
|
* we could also use trpc directly or any other transport layer
|
|
103
98
|
*/
|
|
104
|
-
|
|
99
|
+
const start = (_port) => {
|
|
100
|
+
try {
|
|
101
|
+
const listenPort = _port ?? port;
|
|
102
|
+
const server = app.listen(listenPort, () => {
|
|
103
|
+
logger.info(`Agent server started on port ${listenPort}`);
|
|
104
|
+
});
|
|
105
|
+
if (register) {
|
|
106
|
+
registerAgent(agentInstance.agentCard);
|
|
107
|
+
}
|
|
108
|
+
return server;
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
logger.error(`Failed to start agent server`, error);
|
|
112
|
+
throw error;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
return { app, agent: agentInstance, start };
|
|
105
116
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 The Artinet Project
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { A2A } from "../../types/index.js";
|
|
6
|
+
/**
|
|
7
|
+
* Our universal executor for {@link A2A.Engine}.
|
|
8
|
+
* @param engine - {@link A2A.Engine} to execute.
|
|
9
|
+
* @param context - {@link A2A.Context} provided to the engine.
|
|
10
|
+
*/
|
|
11
|
+
export declare const execute: (engine: A2A.Engine, context: A2A.Context) => Promise<void>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 The Artinet Project
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Our universal executor for {@link A2A.Engine}.
|
|
7
|
+
* @param engine - {@link A2A.Engine} to execute.
|
|
8
|
+
* @param context - {@link A2A.Context} provided to the engine.
|
|
9
|
+
*/
|
|
10
|
+
export const execute = async (engine, context) => {
|
|
11
|
+
try {
|
|
12
|
+
if (context.publisher.onStart) {
|
|
13
|
+
await context.publisher.onStart(context);
|
|
14
|
+
}
|
|
15
|
+
for await (const update of engine(context)) {
|
|
16
|
+
if ((await context.isCancelled()) || context.abortSignal.aborted) {
|
|
17
|
+
await context.publisher.onCancel(update);
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
await context.publisher.onUpdate(update);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
/* onError triggers completion internally */
|
|
25
|
+
await context.publisher.onError(error);
|
|
26
|
+
/* rethrow the error to be handled by the caller */
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
finally {
|
|
30
|
+
await context.publisher.onComplete();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
@@ -2,131 +2,18 @@
|
|
|
2
2
|
* Copyright 2025 The Artinet Project
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
*
|
|
21
|
-
* This function wraps a command in a proxy interface that provides
|
|
22
|
-
* controlled access to command data and may add additional functionality
|
|
23
|
-
* such as validation, logging, or transformation.
|
|
24
|
-
*
|
|
25
|
-
* @template TCommand - The command type, must extend Command
|
|
26
|
-
* @param request - The command to wrap in a proxy
|
|
27
|
-
* @returns Command proxy interface for the request
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```typescript
|
|
31
|
-
* const command: MessageSendParams = {
|
|
32
|
-
* message: {
|
|
33
|
-
* content: 'Hello, world!',
|
|
34
|
-
* recipient: 'agent-123'
|
|
35
|
-
* }
|
|
36
|
-
* };
|
|
37
|
-
*
|
|
38
|
-
* const commandProxy = createCommandChannel(command);
|
|
39
|
-
* // Use commandProxy to access command data safely
|
|
40
|
-
* ```
|
|
41
|
-
*
|
|
42
|
-
* @public
|
|
43
|
-
* @since 0.5.6
|
|
44
|
-
*/
|
|
45
|
-
export declare function createCommandChannel<TCommand extends Command = Command>(request: TCommand): ReceiveCommandProxyInterface<TCommand>;
|
|
46
|
-
/**
|
|
47
|
-
* Creates a complete A2A execution context for command processing.
|
|
48
|
-
*
|
|
49
|
-
* This is the main factory function for creating execution contexts in the A2A
|
|
50
|
-
* framework. It assembles all the necessary components including command proxy,
|
|
51
|
-
* event management, cancellation handling, and state management into a cohesive
|
|
52
|
-
* execution environment.
|
|
53
|
-
*
|
|
54
|
-
* The context serves as the primary execution environment passed to execution
|
|
55
|
-
* engines and provides access to all the resources and capabilities needed
|
|
56
|
-
* for command processing.
|
|
57
|
-
*
|
|
58
|
-
* @template TCommand - The command type, must extend Command
|
|
59
|
-
* @template TState - The state type, must extend State
|
|
60
|
-
* @template TUpdate - The update type, must extend Update
|
|
61
|
-
*
|
|
62
|
-
* @param request - The command to execute
|
|
63
|
-
* @param service - The A2A service instance
|
|
64
|
-
* @param contextManager - Manager for context lifecycle
|
|
65
|
-
* @param abortSignal - Optional abort signal for cancellation
|
|
66
|
-
* @param contextId - Optional context ID (generates UUID if not provided)
|
|
67
|
-
* @param eventOverrides - Optional event manager configuration overrides
|
|
68
|
-
* @returns Fully configured execution context
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```typescript
|
|
72
|
-
* // Basic context creation
|
|
73
|
-
* const context = createContext(
|
|
74
|
-
* messageCommand,
|
|
75
|
-
* a2aService,
|
|
76
|
-
* contextManager
|
|
77
|
-
* );
|
|
78
|
-
*
|
|
79
|
-
* // Execute with the context
|
|
80
|
-
* for await (const update of engine(context)) {
|
|
81
|
-
* console.log('Update:', update);
|
|
82
|
-
* }
|
|
83
|
-
* ```
|
|
84
|
-
*
|
|
85
|
-
* @example
|
|
86
|
-
* ```typescript
|
|
87
|
-
* // Context creation with custom options
|
|
88
|
-
* const abortController = new AbortController();
|
|
89
|
-
* const customEventOptions = {
|
|
90
|
-
* onStart: async (ctx) => {
|
|
91
|
-
* console.log('Custom start handler');
|
|
92
|
-
* return initialState;
|
|
93
|
-
* }
|
|
94
|
-
* };
|
|
95
|
-
*
|
|
96
|
-
* const context = createContext(
|
|
97
|
-
* command,
|
|
98
|
-
* service,
|
|
99
|
-
* contextManager,
|
|
100
|
-
* abortController.signal,
|
|
101
|
-
* 'custom-context-id',
|
|
102
|
-
* customEventOptions
|
|
103
|
-
* );
|
|
104
|
-
*
|
|
105
|
-
* // Cancel after 30 seconds
|
|
106
|
-
* setTimeout(() => abortController.abort(), 30000);
|
|
107
|
-
* ```
|
|
108
|
-
*
|
|
109
|
-
* @remarks
|
|
110
|
-
* **Context Lifecycle:**
|
|
111
|
-
* 1. Command proxy is created to wrap the incoming request
|
|
112
|
-
* 2. Event manager is instantiated with service and override options
|
|
113
|
-
* 3. Cancellation mechanisms are configured (abort signal + service cancellation)
|
|
114
|
-
* 4. State accessor is bound to the event manager
|
|
115
|
-
* 5. Complete context is registered with the context manager
|
|
116
|
-
*
|
|
117
|
-
* **Cancellation Handling:**
|
|
118
|
-
* The context provides multiple cancellation mechanisms:
|
|
119
|
-
* - AbortSignal for standard cancellation patterns
|
|
120
|
-
* - Service-level cancellation tracking
|
|
121
|
-
* - Combined cancellation status through isCancelled()
|
|
122
|
-
*
|
|
123
|
-
* **Event Management:**
|
|
124
|
-
* The context includes an event manager that handles:
|
|
125
|
-
* - Execution lifecycle events (start, update, complete, error)
|
|
126
|
-
* - State transitions and persistence
|
|
127
|
-
* - Custom event handling through overrides
|
|
128
|
-
*
|
|
129
|
-
* @public
|
|
130
|
-
* @since 0.5.6
|
|
131
|
-
*/
|
|
132
|
-
export declare function createContext<TCommand extends Command = Command, TState extends State = State, TUpdate extends Update = Update>(request: TCommand, service: A2AServiceInterface<TCommand, TState, TUpdate>, contextManager: ContextManagerInterface<TCommand, TState, TUpdate>, abortSignal?: AbortSignal, contextId?: string, eventOverrides?: EventManagerOptions<TCommand, TState, TUpdate>): Context<TCommand, TState, TUpdate>;
|
|
5
|
+
import { A2A } from "../../../types/index.js";
|
|
6
|
+
export declare function createBaseContext({ contextId, service, task, overrides, abortSignal, }: {
|
|
7
|
+
contextId: string;
|
|
8
|
+
service: A2A.Service;
|
|
9
|
+
task: A2A.Task;
|
|
10
|
+
overrides?: Partial<Omit<A2A.EventConsumer, "contextId">>;
|
|
11
|
+
abortSignal?: AbortSignal;
|
|
12
|
+
}): A2A.BaseContext;
|
|
13
|
+
export declare function createContext({ baseContext, taskId, messenger, extensions, references, }: {
|
|
14
|
+
baseContext: A2A.BaseContext;
|
|
15
|
+
taskId: string;
|
|
16
|
+
messenger: A2A.MessageConsumerProxy;
|
|
17
|
+
extensions?: A2A.AgentExtension[];
|
|
18
|
+
references?: A2A.Task[];
|
|
19
|
+
}): A2A.Context;
|
|
@@ -2,149 +2,43 @@
|
|
|
2
2
|
* Copyright 2025 The Artinet Project
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { createEventManager } from "./event.js";
|
|
6
|
-
import { v4 as uuidv4 } from "uuid";
|
|
7
|
-
import { CommandChannel } from "../../core/managers/command.js";
|
|
8
5
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* This function wraps a command in a proxy interface that provides
|
|
12
|
-
* controlled access to command data and may add additional functionality
|
|
13
|
-
* such as validation, logging, or transformation.
|
|
14
|
-
*
|
|
15
|
-
* @template TCommand - The command type, must extend Command
|
|
16
|
-
* @param request - The command to wrap in a proxy
|
|
17
|
-
* @returns Command proxy interface for the request
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* const command: MessageSendParams = {
|
|
22
|
-
* message: {
|
|
23
|
-
* content: 'Hello, world!',
|
|
24
|
-
* recipient: 'agent-123'
|
|
25
|
-
* }
|
|
26
|
-
* };
|
|
27
|
-
*
|
|
28
|
-
* const commandProxy = createCommandChannel(command);
|
|
29
|
-
* // Use commandProxy to access command data safely
|
|
30
|
-
* ```
|
|
31
|
-
*
|
|
32
|
-
* @public
|
|
33
|
-
* @since 0.5.6
|
|
34
|
-
*/
|
|
35
|
-
export function createCommandChannel(request) {
|
|
36
|
-
return CommandChannel.create(request);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Creates a complete A2A execution context for command processing.
|
|
40
|
-
*
|
|
41
|
-
* This is the main factory function for creating execution contexts in the A2A
|
|
42
|
-
* framework. It assembles all the necessary components including command proxy,
|
|
43
|
-
* event management, cancellation handling, and state management into a cohesive
|
|
44
|
-
* execution environment.
|
|
45
|
-
*
|
|
46
|
-
* The context serves as the primary execution environment passed to execution
|
|
47
|
-
* engines and provides access to all the resources and capabilities needed
|
|
48
|
-
* for command processing.
|
|
49
|
-
*
|
|
50
|
-
* @template TCommand - The command type, must extend Command
|
|
51
|
-
* @template TState - The state type, must extend State
|
|
52
|
-
* @template TUpdate - The update type, must extend Update
|
|
6
|
+
* @fileoverview A2A Context Factory Functions
|
|
53
7
|
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* @param abortSignal - Optional abort signal for cancellation
|
|
58
|
-
* @param contextId - Optional context ID (generates UUID if not provided)
|
|
59
|
-
* @param eventOverrides - Optional event manager configuration overrides
|
|
60
|
-
* @returns Fully configured execution context
|
|
8
|
+
* This module provides factory functions for creating A2A execution contexts
|
|
9
|
+
* and command channels. It handles the composition of various context components
|
|
10
|
+
* including command proxies, event managers, and cancellation mechanisms.
|
|
61
11
|
*
|
|
62
|
-
* @
|
|
63
|
-
*
|
|
64
|
-
* // Basic context creation
|
|
65
|
-
* const context = createContext(
|
|
66
|
-
* messageCommand,
|
|
67
|
-
* a2aService,
|
|
68
|
-
* contextManager
|
|
69
|
-
* );
|
|
70
|
-
*
|
|
71
|
-
* // Execute with the context
|
|
72
|
-
* for await (const update of engine(context)) {
|
|
73
|
-
* console.log('Update:', update);
|
|
74
|
-
* }
|
|
75
|
-
* ```
|
|
76
|
-
*
|
|
77
|
-
* @example
|
|
78
|
-
* ```typescript
|
|
79
|
-
* // Context creation with custom options
|
|
80
|
-
* const abortController = new AbortController();
|
|
81
|
-
* const customEventOptions = {
|
|
82
|
-
* onStart: async (ctx) => {
|
|
83
|
-
* console.log('Custom start handler');
|
|
84
|
-
* return initialState;
|
|
85
|
-
* }
|
|
86
|
-
* };
|
|
87
|
-
*
|
|
88
|
-
* const context = createContext(
|
|
89
|
-
* command,
|
|
90
|
-
* service,
|
|
91
|
-
* contextManager,
|
|
92
|
-
* abortController.signal,
|
|
93
|
-
* 'custom-context-id',
|
|
94
|
-
* customEventOptions
|
|
95
|
-
* );
|
|
96
|
-
*
|
|
97
|
-
* // Cancel after 30 seconds
|
|
98
|
-
* setTimeout(() => abortController.abort(), 30000);
|
|
99
|
-
* ```
|
|
100
|
-
*
|
|
101
|
-
* @remarks
|
|
102
|
-
* **Context Lifecycle:**
|
|
103
|
-
* 1. Command proxy is created to wrap the incoming request
|
|
104
|
-
* 2. Event manager is instantiated with service and override options
|
|
105
|
-
* 3. Cancellation mechanisms are configured (abort signal + service cancellation)
|
|
106
|
-
* 4. State accessor is bound to the event manager
|
|
107
|
-
* 5. Complete context is registered with the context manager
|
|
108
|
-
*
|
|
109
|
-
* **Cancellation Handling:**
|
|
110
|
-
* The context provides multiple cancellation mechanisms:
|
|
111
|
-
* - AbortSignal for standard cancellation patterns
|
|
112
|
-
* - Service-level cancellation tracking
|
|
113
|
-
* - Combined cancellation status through isCancelled()
|
|
114
|
-
*
|
|
115
|
-
* **Event Management:**
|
|
116
|
-
* The context includes an event manager that handles:
|
|
117
|
-
* - Execution lifecycle events (start, update, complete, error)
|
|
118
|
-
* - State transitions and persistence
|
|
119
|
-
* - Custom event handling through overrides
|
|
120
|
-
*
|
|
121
|
-
* @public
|
|
12
|
+
* @module A2AContextFactory
|
|
13
|
+
* @version 0.6.0-preview
|
|
122
14
|
* @since 0.5.6
|
|
15
|
+
* @author The Artinet Project
|
|
123
16
|
*/
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
// const context = contextManager.getContext(contextId);
|
|
130
|
-
// if (!context) {
|
|
131
|
-
// console.error("createExecutionContext", contextId, "Context not found");
|
|
132
|
-
// throw new TRPCError({
|
|
133
|
-
// code: "NOT_FOUND",
|
|
134
|
-
// message: "Context not found",
|
|
135
|
-
// });
|
|
136
|
-
// }
|
|
137
|
-
// return context;
|
|
138
|
-
// }
|
|
139
|
-
let newEventManager;
|
|
17
|
+
import { createStateMachine } from "./state-machine.js";
|
|
18
|
+
import { v4 as uuidv4 } from "uuid";
|
|
19
|
+
export function createBaseContext({ contextId = uuidv4(), service, task, overrides, abortSignal = new AbortController().signal, }) {
|
|
20
|
+
const isCancelled = async () => (await service.cancellations.has(task.id)) || abortSignal.aborted;
|
|
21
|
+
const getState = async (args) => args ? await service.tasks.get(args) : task;
|
|
140
22
|
const context = {
|
|
141
23
|
contextId: contextId,
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
24
|
+
service: service,
|
|
25
|
+
publisher: createStateMachine({ contextId, service, task, overrides }),
|
|
26
|
+
isCancelled,
|
|
27
|
+
abortSignal: abortSignal,
|
|
28
|
+
getState,
|
|
29
|
+
};
|
|
30
|
+
return context;
|
|
31
|
+
}
|
|
32
|
+
export function createContext({ baseContext, taskId, messenger, extensions, references, }) {
|
|
33
|
+
const getTask = async () => baseContext.publisher.currentTask;
|
|
34
|
+
const context = {
|
|
35
|
+
...baseContext,
|
|
36
|
+
taskId,
|
|
37
|
+
userMessage: messenger.message,
|
|
38
|
+
messages: messenger,
|
|
39
|
+
getTask,
|
|
40
|
+
extensions: extensions,
|
|
41
|
+
references: references,
|
|
147
42
|
};
|
|
148
|
-
contextManager.setContext(contextId, context);
|
|
149
43
|
return context;
|
|
150
44
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 The Artinet Project
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { A2A } from "../../../types/index.js";
|
|
6
|
+
export declare function createHandler(methods?: Omit<Partial<A2A.RequestHandler>, "getAgentCard">): Omit<A2A.RequestHandler, "getAgentCard">;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 The Artinet Project
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { getTask, cancelTask, sendMessage, sendMessageStream, subscribeToTask, } from "../handlers/index.js";
|
|
6
|
+
export function createHandler(methods) {
|
|
7
|
+
return {
|
|
8
|
+
getTask: methods?.getTask ?? getTask,
|
|
9
|
+
cancelTask: methods?.cancelTask ?? cancelTask,
|
|
10
|
+
sendMessage: methods?.sendMessage ?? sendMessage,
|
|
11
|
+
streamMessage: methods?.streamMessage ?? sendMessageStream,
|
|
12
|
+
resubscribe: methods?.resubscribe ?? subscribeToTask,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
import * as describe from "../../../create/agentcard-builder.js";
|
|
2
|
+
import { A2A } from "../../../types/index.js";
|
|
3
|
+
import { Service } from "../service.js";
|
|
4
|
+
export interface ServiceParams {
|
|
5
|
+
agentCard: describe.AgentCardParams;
|
|
6
|
+
engine: A2A.Engine;
|
|
7
|
+
contexts?: A2A.Contexts;
|
|
8
|
+
streams?: A2A.Streams;
|
|
9
|
+
connections?: A2A.Connections;
|
|
10
|
+
cancellations?: A2A.Cancellations;
|
|
11
|
+
tasks?: A2A.Tasks;
|
|
12
|
+
methods?: Omit<A2A.RequestHandler, "getAgentCard">;
|
|
13
|
+
overrides?: Partial<Omit<A2A.EventConsumer, "contextId">>;
|
|
14
|
+
}
|
|
15
|
+
export type CreateAgentParams = ServiceParams;
|
|
16
|
+
export declare function createService(params: ServiceParams): Service;
|
|
17
|
+
export declare const createAgent: typeof createService;
|
|
18
|
+
export type AgentHandler = ReturnType<typeof createService>;
|
|
1
19
|
/**
|
|
2
|
-
*
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
20
|
+
* @deprecated Use AgentHandler instead
|
|
4
21
|
*/
|
|
5
|
-
|
|
6
|
-
import { A2AService } from "../service.js";
|
|
7
|
-
export declare function createService(params: FactoryParams): A2AService;
|
|
8
|
-
export declare const createAgent: typeof createService;
|
|
9
|
-
export type AgentImpl = ReturnType<typeof createAgent>;
|
|
22
|
+
export type AgentImpl = AgentHandler;
|