@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
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview OpenTelemetry integration for Artinet SDK.
|
|
3
|
+
*
|
|
4
|
+
* Lightweight utilities for integrating user-configured OpenTelemetry
|
|
5
|
+
* with the SDK's tracing and logging interfaces.
|
|
6
|
+
*
|
|
7
|
+
* @module @artinet/sdk/otel
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { trace } from '@opentelemetry/api';
|
|
12
|
+
* import { configure } from '@artinet/sdk';
|
|
13
|
+
* import { configureOtel, withSpan } from '@artinet/sdk/otel';
|
|
14
|
+
*
|
|
15
|
+
* // User initializes their own OpenTelemetry setup
|
|
16
|
+
* // ... NodeSDK setup, exporters, etc. ...
|
|
17
|
+
*
|
|
18
|
+
* // Get tracer and configure SDK
|
|
19
|
+
* const tracer = trace.getTracer('my-agent');
|
|
20
|
+
* configure({
|
|
21
|
+
* tracer,
|
|
22
|
+
* logger: configureOtel({ level: 'debug' })
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
import { trace, context, SpanKind, SpanStatusCode, } from "@opentelemetry/api";
|
|
27
|
+
import { formatError } from "../config/observability.js";
|
|
28
|
+
/**
|
|
29
|
+
* Level priority for filtering.
|
|
30
|
+
*/
|
|
31
|
+
const LEVEL_PRIORITY = {
|
|
32
|
+
trace: 0,
|
|
33
|
+
verbose: 1,
|
|
34
|
+
debug: 2,
|
|
35
|
+
info: 3,
|
|
36
|
+
warn: 4,
|
|
37
|
+
error: 5,
|
|
38
|
+
silent: 6,
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Create a logger that adds log events to the current span.
|
|
42
|
+
*
|
|
43
|
+
* This logger optionally wraps a base logger and adds all log messages
|
|
44
|
+
* as span events in the current trace context.
|
|
45
|
+
*
|
|
46
|
+
* @param options - Logger options
|
|
47
|
+
* @returns ILogger implementation
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* import { configure } from '@artinet/sdk';
|
|
52
|
+
* import { configureOtel } from '@artinet/sdk/otel';
|
|
53
|
+
* import { configurePino } from '@artinet/sdk/pino';
|
|
54
|
+
* import pino from 'pino';
|
|
55
|
+
*
|
|
56
|
+
* // Logs go to both Pino AND span events
|
|
57
|
+
* configure({
|
|
58
|
+
* logger: configureOtel({
|
|
59
|
+
* baseLogger: configurePino(pino()),
|
|
60
|
+
* level: 'debug'
|
|
61
|
+
* })
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export function configureOtel(options = {}) {
|
|
66
|
+
let currentLevel = options.level ?? "info";
|
|
67
|
+
const baseLogger = options.baseLogger;
|
|
68
|
+
function shouldLog(level) {
|
|
69
|
+
return LEVEL_PRIORITY[level] >= LEVEL_PRIORITY[currentLevel];
|
|
70
|
+
}
|
|
71
|
+
function addSpanEvent(level, msg, args) {
|
|
72
|
+
const span = trace.getActiveSpan();
|
|
73
|
+
if (!span)
|
|
74
|
+
return;
|
|
75
|
+
const attributes = {
|
|
76
|
+
"log.level": level,
|
|
77
|
+
};
|
|
78
|
+
args.forEach((arg, idx) => {
|
|
79
|
+
if (typeof arg === "object" && arg !== null) {
|
|
80
|
+
Object.entries(arg).forEach(([key, value]) => {
|
|
81
|
+
if (typeof value === "string" ||
|
|
82
|
+
typeof value === "number" ||
|
|
83
|
+
typeof value === "boolean") {
|
|
84
|
+
attributes[key] = value;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
attributes[key] = JSON.stringify(value);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
else if (arg !== undefined) {
|
|
92
|
+
attributes[`arg${idx}`] = String(arg);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
span.addEvent(msg, attributes);
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
get level() {
|
|
99
|
+
return currentLevel;
|
|
100
|
+
},
|
|
101
|
+
debug(msg, ...args) {
|
|
102
|
+
if (!shouldLog("debug"))
|
|
103
|
+
return;
|
|
104
|
+
addSpanEvent("debug", msg, args);
|
|
105
|
+
baseLogger?.debug(msg, ...args);
|
|
106
|
+
},
|
|
107
|
+
info(msg, ...args) {
|
|
108
|
+
if (!shouldLog("info"))
|
|
109
|
+
return;
|
|
110
|
+
addSpanEvent("info", msg, args);
|
|
111
|
+
baseLogger?.info(msg, ...args);
|
|
112
|
+
},
|
|
113
|
+
warn(msg, ...args) {
|
|
114
|
+
if (!shouldLog("warn"))
|
|
115
|
+
return;
|
|
116
|
+
addSpanEvent("warn", msg, args);
|
|
117
|
+
baseLogger?.warn(msg, ...args);
|
|
118
|
+
},
|
|
119
|
+
error(msg, err) {
|
|
120
|
+
if (!shouldLog("error"))
|
|
121
|
+
return;
|
|
122
|
+
addSpanEvent("error", msg, [formatError(err)]);
|
|
123
|
+
baseLogger?.error(msg, err);
|
|
124
|
+
},
|
|
125
|
+
setLevel(level) {
|
|
126
|
+
currentLevel = level;
|
|
127
|
+
baseLogger?.setLevel?.(level);
|
|
128
|
+
},
|
|
129
|
+
getLevel() {
|
|
130
|
+
return currentLevel;
|
|
131
|
+
},
|
|
132
|
+
child(ctx) {
|
|
133
|
+
return configureOtel({
|
|
134
|
+
baseLogger: baseLogger?.child?.(ctx),
|
|
135
|
+
level: currentLevel,
|
|
136
|
+
});
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Execute a function within a new span.
|
|
142
|
+
*
|
|
143
|
+
* @param tracer - User's tracer instance
|
|
144
|
+
* @param name - Span name
|
|
145
|
+
* @param fn - Function to execute
|
|
146
|
+
* @param options - Optional span options
|
|
147
|
+
* @returns Result of the function
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* import { trace } from '@opentelemetry/api';
|
|
152
|
+
* import { withSpan } from '@artinet/sdk/otel';
|
|
153
|
+
*
|
|
154
|
+
* const tracer = trace.getTracer('my-agent');
|
|
155
|
+
* const result = await withSpan(tracer, 'processTask', async (span) => {
|
|
156
|
+
* span.setAttribute('taskId', '123');
|
|
157
|
+
* return await doWork();
|
|
158
|
+
* });
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
export async function withSpan(tracer, name, fn, options) {
|
|
162
|
+
return tracer.startActiveSpan(name, { kind: options?.kind ?? SpanKind.INTERNAL }, async (span) => {
|
|
163
|
+
if (options?.attributes) {
|
|
164
|
+
Object.entries(options.attributes).forEach(([key, value]) => {
|
|
165
|
+
span.setAttribute(key, value);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
try {
|
|
169
|
+
const result = await fn(span);
|
|
170
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
171
|
+
return result;
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
span.setStatus({
|
|
175
|
+
code: SpanStatusCode.ERROR,
|
|
176
|
+
message: error instanceof Error ? error.message : String(error),
|
|
177
|
+
});
|
|
178
|
+
span.recordException(error);
|
|
179
|
+
throw error;
|
|
180
|
+
}
|
|
181
|
+
finally {
|
|
182
|
+
span.end();
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Re-export OpenTelemetry API types for convenience.
|
|
188
|
+
*/
|
|
189
|
+
export { trace, context, SpanKind, SpanStatusCode, };
|
|
190
|
+
export default configureOtel;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Pino logger adapter for Artinet SDK.
|
|
3
|
+
*
|
|
4
|
+
* Lightweight wrapper that adapts a user-configured Pino instance
|
|
5
|
+
* to the SDK's ILogger interface.
|
|
6
|
+
*
|
|
7
|
+
* @module @artinet/sdk/pino
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import pino from 'pino';
|
|
12
|
+
* import { configure } from '@artinet/sdk';
|
|
13
|
+
* import { configurePino } from '@artinet/sdk/pino';
|
|
14
|
+
*
|
|
15
|
+
* // User configures their own pino instance
|
|
16
|
+
* const pinoLogger = pino({
|
|
17
|
+
* level: 'debug',
|
|
18
|
+
* transport: { target: 'pino-pretty' }
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* // Wrap and configure SDK
|
|
22
|
+
* configure({ logger: configurePino(pinoLogger) });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import type { Logger as PinoLogger } from "pino";
|
|
26
|
+
import type { ILogger } from "../config/observability.js";
|
|
27
|
+
/**
|
|
28
|
+
* Wrap a Pino logger instance to implement ILogger.
|
|
29
|
+
*
|
|
30
|
+
* @param pinoLogger - User-configured Pino logger instance
|
|
31
|
+
* @returns ILogger implementation
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* import pino from 'pino';
|
|
36
|
+
* import { configure } from '@artinet/sdk';
|
|
37
|
+
* import { configurePino } from '@artinet/sdk/pino';
|
|
38
|
+
*
|
|
39
|
+
* const myPino = pino({ level: 'debug' });
|
|
40
|
+
* configure({ logger: configurePino(myPino) });
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function configurePino(pinoLogger: PinoLogger): ILogger;
|
|
44
|
+
export default configurePino;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Pino logger adapter for Artinet SDK.
|
|
3
|
+
*
|
|
4
|
+
* Lightweight wrapper that adapts a user-configured Pino instance
|
|
5
|
+
* to the SDK's ILogger interface.
|
|
6
|
+
*
|
|
7
|
+
* @module @artinet/sdk/pino
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import pino from 'pino';
|
|
12
|
+
* import { configure } from '@artinet/sdk';
|
|
13
|
+
* import { configurePino } from '@artinet/sdk/pino';
|
|
14
|
+
*
|
|
15
|
+
* // User configures their own pino instance
|
|
16
|
+
* const pinoLogger = pino({
|
|
17
|
+
* level: 'debug',
|
|
18
|
+
* transport: { target: 'pino-pretty' }
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* // Wrap and configure SDK
|
|
22
|
+
* configure({ logger: configurePino(pinoLogger) });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Level mapping from Pino to Artinet.
|
|
27
|
+
*/
|
|
28
|
+
const LEVEL_MAP = {
|
|
29
|
+
trace: "trace",
|
|
30
|
+
debug: "debug",
|
|
31
|
+
info: "info",
|
|
32
|
+
warn: "warn",
|
|
33
|
+
error: "error",
|
|
34
|
+
fatal: "error",
|
|
35
|
+
silent: "silent",
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Reverse level mapping from Artinet to Pino.
|
|
39
|
+
*/
|
|
40
|
+
const ARTINET_TO_PINO = {
|
|
41
|
+
trace: "trace",
|
|
42
|
+
verbose: "debug",
|
|
43
|
+
debug: "debug",
|
|
44
|
+
info: "info",
|
|
45
|
+
warn: "warn",
|
|
46
|
+
error: "error",
|
|
47
|
+
silent: "silent",
|
|
48
|
+
};
|
|
49
|
+
function mergeArgs(args) {
|
|
50
|
+
if (args.length === 0)
|
|
51
|
+
return undefined;
|
|
52
|
+
if (args.length === 1 && typeof args[0] === "object" && args[0] !== null) {
|
|
53
|
+
return args[0];
|
|
54
|
+
}
|
|
55
|
+
return args.reduce((acc, arg, idx) => {
|
|
56
|
+
if (typeof arg === "object" && arg !== null) {
|
|
57
|
+
return { ...acc, [idx]: arg };
|
|
58
|
+
}
|
|
59
|
+
acc[`${idx}`] = arg;
|
|
60
|
+
return acc;
|
|
61
|
+
}, {});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Wrap a Pino logger instance to implement ILogger.
|
|
65
|
+
*
|
|
66
|
+
* @param pinoLogger - User-configured Pino logger instance
|
|
67
|
+
* @returns ILogger implementation
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* import pino from 'pino';
|
|
72
|
+
* import { configure } from '@artinet/sdk';
|
|
73
|
+
* import { configurePino } from '@artinet/sdk/pino';
|
|
74
|
+
*
|
|
75
|
+
* const myPino = pino({ level: 'debug' });
|
|
76
|
+
* configure({ logger: configurePino(myPino) });
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export function configurePino(pinoLogger) {
|
|
80
|
+
return {
|
|
81
|
+
get level() {
|
|
82
|
+
return LEVEL_MAP[pinoLogger.level] ?? "info";
|
|
83
|
+
},
|
|
84
|
+
debug(msg, ...args) {
|
|
85
|
+
pinoLogger.debug(mergeArgs(args), msg);
|
|
86
|
+
},
|
|
87
|
+
info(msg, ...args) {
|
|
88
|
+
pinoLogger.info(mergeArgs(args), msg);
|
|
89
|
+
},
|
|
90
|
+
warn(msg, ...args) {
|
|
91
|
+
pinoLogger.warn(mergeArgs(args), msg);
|
|
92
|
+
},
|
|
93
|
+
error(msg, err) {
|
|
94
|
+
pinoLogger.error(err, msg);
|
|
95
|
+
},
|
|
96
|
+
setLevel(level) {
|
|
97
|
+
pinoLogger.level = ARTINET_TO_PINO[level] ?? "info";
|
|
98
|
+
},
|
|
99
|
+
getLevel() {
|
|
100
|
+
return LEVEL_MAP[pinoLogger.level] ?? "info";
|
|
101
|
+
},
|
|
102
|
+
child(context) {
|
|
103
|
+
return configurePino(pinoLogger.child(context));
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
export default configurePino;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Winston logger adapter for Artinet SDK.
|
|
3
|
+
*
|
|
4
|
+
* Lightweight wrapper that adapts a user-configured Winston instance
|
|
5
|
+
* to the SDK's ILogger interface.
|
|
6
|
+
*
|
|
7
|
+
* @module @artinet/sdk/winston
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import winston from 'winston';
|
|
12
|
+
* import { configure } from '@artinet/sdk';
|
|
13
|
+
* import { configureWinston } from '@artinet/sdk/winston';
|
|
14
|
+
*
|
|
15
|
+
* // User configures their own winston instance
|
|
16
|
+
* const winstonLogger = winston.createLogger({
|
|
17
|
+
* level: 'debug',
|
|
18
|
+
* transports: [new winston.transports.Console()]
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* // Wrap and configure SDK
|
|
22
|
+
* configure({ logger: configureWinston(winstonLogger) });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import type { Logger as WinstonLogger } from "winston";
|
|
26
|
+
import type { ILogger } from "../config/observability.js";
|
|
27
|
+
/**
|
|
28
|
+
* Wrap a Winston logger instance to implement ILogger.
|
|
29
|
+
*
|
|
30
|
+
* @param winstonLogger - User-configured Winston logger instance
|
|
31
|
+
* @returns ILogger implementation
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* import winston from 'winston';
|
|
36
|
+
* import { configure } from '@artinet/sdk';
|
|
37
|
+
* import { configureWinston } from '@artinet/sdk/winston';
|
|
38
|
+
*
|
|
39
|
+
* const myWinston = winston.createLogger({
|
|
40
|
+
* level: 'debug',
|
|
41
|
+
* transports: [new winston.transports.Console()]
|
|
42
|
+
* });
|
|
43
|
+
* configure({ logger: configureWinston(myWinston) });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function configureWinston(winstonLogger: WinstonLogger): ILogger;
|
|
47
|
+
export default configureWinston;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Winston logger adapter for Artinet SDK.
|
|
3
|
+
*
|
|
4
|
+
* Lightweight wrapper that adapts a user-configured Winston instance
|
|
5
|
+
* to the SDK's ILogger interface.
|
|
6
|
+
*
|
|
7
|
+
* @module @artinet/sdk/winston
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import winston from 'winston';
|
|
12
|
+
* import { configure } from '@artinet/sdk';
|
|
13
|
+
* import { configureWinston } from '@artinet/sdk/winston';
|
|
14
|
+
*
|
|
15
|
+
* // User configures their own winston instance
|
|
16
|
+
* const winstonLogger = winston.createLogger({
|
|
17
|
+
* level: 'debug',
|
|
18
|
+
* transports: [new winston.transports.Console()]
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* // Wrap and configure SDK
|
|
22
|
+
* configure({ logger: configureWinston(winstonLogger) });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Level mapping from Winston to Artinet.
|
|
27
|
+
*/
|
|
28
|
+
const LEVEL_MAP = {
|
|
29
|
+
silly: "trace",
|
|
30
|
+
verbose: "verbose",
|
|
31
|
+
debug: "debug",
|
|
32
|
+
http: "debug",
|
|
33
|
+
info: "info",
|
|
34
|
+
warn: "warn",
|
|
35
|
+
error: "error",
|
|
36
|
+
silent: "silent",
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Reverse level mapping from Artinet to Winston.
|
|
40
|
+
*/
|
|
41
|
+
const ARTINET_TO_WINSTON = {
|
|
42
|
+
trace: "silly",
|
|
43
|
+
verbose: "verbose",
|
|
44
|
+
debug: "debug",
|
|
45
|
+
info: "info",
|
|
46
|
+
warn: "warn",
|
|
47
|
+
error: "error",
|
|
48
|
+
silent: "silent",
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Merge spread args into metadata object for Winston.
|
|
52
|
+
*/
|
|
53
|
+
function mergeArgs(args) {
|
|
54
|
+
if (args.length === 0)
|
|
55
|
+
return {};
|
|
56
|
+
if (args.length === 1 && typeof args[0] === "object" && args[0] !== null) {
|
|
57
|
+
return args[0];
|
|
58
|
+
}
|
|
59
|
+
return args.reduce((acc, arg, idx) => {
|
|
60
|
+
if (typeof arg === "object" && arg !== null) {
|
|
61
|
+
return { ...acc, ...arg };
|
|
62
|
+
}
|
|
63
|
+
acc[`arg${idx}`] = arg;
|
|
64
|
+
return acc;
|
|
65
|
+
}, {});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Wrap a Winston logger instance to implement ILogger.
|
|
69
|
+
*
|
|
70
|
+
* @param winstonLogger - User-configured Winston logger instance
|
|
71
|
+
* @returns ILogger implementation
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* import winston from 'winston';
|
|
76
|
+
* import { configure } from '@artinet/sdk';
|
|
77
|
+
* import { configureWinston } from '@artinet/sdk/winston';
|
|
78
|
+
*
|
|
79
|
+
* const myWinston = winston.createLogger({
|
|
80
|
+
* level: 'debug',
|
|
81
|
+
* transports: [new winston.transports.Console()]
|
|
82
|
+
* });
|
|
83
|
+
* configure({ logger: configureWinston(myWinston) });
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export function configureWinston(winstonLogger) {
|
|
87
|
+
return {
|
|
88
|
+
get level() {
|
|
89
|
+
return LEVEL_MAP[winstonLogger.level] ?? "info";
|
|
90
|
+
},
|
|
91
|
+
debug(msg, ...args) {
|
|
92
|
+
winstonLogger.debug(msg, mergeArgs(args));
|
|
93
|
+
},
|
|
94
|
+
info(msg, ...args) {
|
|
95
|
+
winstonLogger.info(msg, mergeArgs(args));
|
|
96
|
+
},
|
|
97
|
+
warn(msg, ...args) {
|
|
98
|
+
winstonLogger.warn(msg, mergeArgs(args));
|
|
99
|
+
},
|
|
100
|
+
error(msg, err) {
|
|
101
|
+
winstonLogger.error(msg, err);
|
|
102
|
+
},
|
|
103
|
+
setLevel(level) {
|
|
104
|
+
winstonLogger.level = ARTINET_TO_WINSTON[level] ?? "info";
|
|
105
|
+
},
|
|
106
|
+
getLevel() {
|
|
107
|
+
return LEVEL_MAP[winstonLogger.level] ?? "info";
|
|
108
|
+
},
|
|
109
|
+
child(context) {
|
|
110
|
+
return configureWinston(winstonLogger.child(context));
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
export default configureWinston;
|
package/dist/index.d.ts
CHANGED
|
@@ -4,3 +4,7 @@ export * from "./server/index.js";
|
|
|
4
4
|
export * from "./services/index.js";
|
|
5
5
|
export * from "./transport/index.js";
|
|
6
6
|
export * from "./utils/index.js";
|
|
7
|
+
export * from "./config/index.js";
|
|
8
|
+
export * from "./config/default.js";
|
|
9
|
+
export * from "./create/create.js";
|
|
10
|
+
export * from "./create/index.js";
|
package/dist/index.js
CHANGED
|
@@ -4,3 +4,7 @@ export * from "./server/index.js";
|
|
|
4
4
|
export * from "./services/index.js";
|
|
5
5
|
export * from "./transport/index.js";
|
|
6
6
|
export * from "./utils/index.js";
|
|
7
|
+
export * from "./config/index.js";
|
|
8
|
+
export * from "./config/default.js";
|
|
9
|
+
export * from "./create/create.js";
|
|
10
|
+
export * from "./create/index.js";
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* Copyright 2025 The Artinet Project
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { SystemError
|
|
6
|
-
import {
|
|
5
|
+
import { SystemError } from "../../utils/index.js";
|
|
6
|
+
import { logger } from "../../config/index.js";
|
|
7
7
|
import escapeHtml from "escape-html";
|
|
8
|
+
import { A2AError } from "@a2a-js/sdk/server";
|
|
8
9
|
/**
|
|
9
10
|
* Express error handler middleware.
|
|
10
11
|
*/
|
|
@@ -13,7 +14,7 @@ export const errorHandler = (err, req, res, _) => {
|
|
|
13
14
|
if (res.headersSent) {
|
|
14
15
|
headersSent = true;
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
+
logger.error("errorHandler", err);
|
|
17
18
|
let reqId = null;
|
|
18
19
|
try {
|
|
19
20
|
if (req.body && typeof req.body === "object" && "id" in req.body) {
|
|
@@ -21,19 +22,14 @@ export const errorHandler = (err, req, res, _) => {
|
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
catch (e) {
|
|
24
|
-
|
|
25
|
+
logger.error("errorHandler: Error extracting request ID", e);
|
|
25
26
|
}
|
|
26
27
|
let jsonRpcError;
|
|
27
|
-
if (err instanceof SystemError) {
|
|
28
|
+
if (err instanceof A2AError || err instanceof SystemError) {
|
|
28
29
|
jsonRpcError = { code: err.code, message: err.message, data: err.data };
|
|
29
30
|
}
|
|
30
31
|
else {
|
|
31
|
-
|
|
32
|
-
jsonRpcError = {
|
|
33
|
-
code: internalError.code,
|
|
34
|
-
message: internalError.message,
|
|
35
|
-
data: internalError.data,
|
|
36
|
-
};
|
|
32
|
+
jsonRpcError = A2AError.internalError(err.message, err.data).toJSONRPCError();
|
|
37
33
|
}
|
|
38
34
|
const errorResponse = {
|
|
39
35
|
jsonrpc: "2.0",
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { NextFunction, Request, Response } from "express";
|
|
6
|
-
import {
|
|
7
|
-
export declare function jsonRPCMiddleware(service:
|
|
6
|
+
import { A2A } from "../../types/index.js";
|
|
7
|
+
export declare function jsonRPCMiddleware(service: A2A.Service, req: Request, res: Response, next: NextFunction, extendedAgentCard?: A2A.AgentCard): Promise<void>;
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* Copyright 2025 The Artinet Project
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { logger } from "../../config/index.js";
|
|
6
|
+
import { formatJson } from "../../utils/common/utils.js";
|
|
7
|
+
import { A2AError } from "@a2a-js/sdk/server";
|
|
7
8
|
const isValidMethod = (method) => {
|
|
8
9
|
return (method &&
|
|
9
10
|
method !== "" &&
|
|
@@ -13,41 +14,35 @@ const isValidMethod = (method) => {
|
|
|
13
14
|
};
|
|
14
15
|
const checkParams = (params, method) => {
|
|
15
16
|
if (!params || (typeof params !== "object" && !Array.isArray(params))) {
|
|
16
|
-
throw
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
method,
|
|
20
|
-
},
|
|
17
|
+
throw A2AError.invalidParams("Invalid Parameters", {
|
|
18
|
+
params,
|
|
19
|
+
method,
|
|
21
20
|
});
|
|
22
21
|
}
|
|
23
22
|
else if (typeof params === "object" && Object.keys(params).length === 0) {
|
|
24
|
-
throw
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
method,
|
|
28
|
-
},
|
|
23
|
+
throw A2AError.invalidParams("Params Required", {
|
|
24
|
+
params,
|
|
25
|
+
method,
|
|
29
26
|
});
|
|
30
27
|
}
|
|
31
28
|
};
|
|
32
29
|
export async function jsonRPCMiddleware(service, req, res, next, extendedAgentCard) {
|
|
33
30
|
const { method, params, id, jsonrpc } = req.body;
|
|
34
31
|
if (jsonrpc !== "2.0" ||
|
|
35
|
-
(
|
|
32
|
+
(typeof id !== "string" &&
|
|
33
|
+
typeof id === "number" &&
|
|
34
|
+
!Number.isInteger(id) &&
|
|
35
|
+
id !== null)) {
|
|
36
36
|
res.json({
|
|
37
37
|
jsonrpc: "2.0",
|
|
38
38
|
id: id || null,
|
|
39
|
-
error:
|
|
39
|
+
error: A2AError.invalidRequest(`Invalid JSONRPC info: ${formatJson({ method, params, id, jsonrpc })}`).toJSONRPCError(),
|
|
40
40
|
});
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
43
|
try {
|
|
44
44
|
if (!isValidMethod(method)) {
|
|
45
|
-
throw
|
|
46
|
-
data: {
|
|
47
|
-
message: "No method provided",
|
|
48
|
-
method,
|
|
49
|
-
},
|
|
50
|
-
});
|
|
45
|
+
throw A2AError.invalidRequest("No method provided");
|
|
51
46
|
}
|
|
52
47
|
let result;
|
|
53
48
|
switch (method) {
|
|
@@ -94,42 +89,33 @@ export async function jsonRPCMiddleware(service, req, res, next, extendedAgentCa
|
|
|
94
89
|
result = await service.cancelTask(params);
|
|
95
90
|
break;
|
|
96
91
|
}
|
|
92
|
+
//todo: Implement push notifications
|
|
93
|
+
//todo: Implement Tasks List
|
|
97
94
|
case "tasks/pushNotificationConfig/set":
|
|
98
95
|
case "tasks/pushNotificationConfig/get":
|
|
99
96
|
case "tasks/pushNotificationConfig/delete":
|
|
100
97
|
case "task/pushNotificationConfig/list": {
|
|
101
|
-
throw
|
|
102
|
-
data: {
|
|
103
|
-
message: "Push notifications not supported",
|
|
104
|
-
method,
|
|
105
|
-
},
|
|
106
|
-
});
|
|
98
|
+
throw A2AError.pushNotificationNotSupported();
|
|
107
99
|
}
|
|
108
100
|
case "agent/getAuthenticatedExtendedCard": {
|
|
109
101
|
if (!extendedAgentCard ||
|
|
110
|
-
service.
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
message: "Authenticated Extended Card is not configured",
|
|
114
|
-
method,
|
|
115
|
-
},
|
|
116
|
-
});
|
|
102
|
+
(await service.getAgentCard()).supportsAuthenticatedExtendedCard !==
|
|
103
|
+
true) {
|
|
104
|
+
throw A2AError.authenticatedExtendedCardNotConfigured();
|
|
117
105
|
}
|
|
118
106
|
result = extendedAgentCard;
|
|
119
107
|
break;
|
|
120
108
|
}
|
|
121
109
|
default:
|
|
122
|
-
throw
|
|
123
|
-
data: {
|
|
124
|
-
message: "Method not found",
|
|
125
|
-
method,
|
|
126
|
-
},
|
|
127
|
-
});
|
|
110
|
+
throw A2AError.methodNotFound(method);
|
|
128
111
|
}
|
|
129
112
|
res.json({ jsonrpc: "2.0", id, result });
|
|
130
113
|
}
|
|
131
114
|
catch (error) {
|
|
132
|
-
|
|
115
|
+
logger.error("jsonRPCMiddleware[Error]:", error);
|
|
116
|
+
logger.warn("jsonRPCMiddleware[Error]: Request body", {
|
|
117
|
+
request: req.body,
|
|
118
|
+
});
|
|
133
119
|
return next(error);
|
|
134
120
|
}
|
|
135
121
|
}
|