@artinet/sdk 0.5.18 → 0.6.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -617
- package/dist/browser/browser.d.ts +1 -1
- package/dist/browser/browser.js +1 -1
- package/dist/browser/client/a2a-client.d.ts +19 -18
- package/dist/browser/client/a2a-client.js +18 -6
- package/dist/browser/config/index.d.ts +158 -0
- package/dist/browser/config/index.js +155 -0
- package/dist/browser/config/observability.d.ts +119 -0
- package/dist/browser/config/observability.js +35 -0
- package/dist/browser/services/a2a/helpers/message-builder.d.ts +13 -8
- package/dist/browser/services/a2a/helpers/message-builder.js +5 -0
- package/dist/browser/transport/rpc/parser.d.ts +2 -2
- package/dist/browser/transport/rpc/parser.js +6 -6
- package/dist/browser/transport/rpc/rpc-client.d.ts +5 -5
- package/dist/browser/transport/rpc/rpc-client.js +6 -6
- package/dist/browser/transport/streaming/event-stream.d.ts +3 -3
- package/dist/browser/transport/streaming/event-stream.js +11 -10
- package/dist/browser/types/a2a/a2a.d.ts +378 -0
- package/dist/browser/types/a2a/a2a.js +14 -0
- package/dist/browser/types/a2a/builder.d.ts +43 -0
- package/dist/browser/types/a2a/index.d.ts +3 -0
- package/dist/browser/types/a2a/index.js +2 -0
- package/dist/{types/interfaces → browser/types}/client.d.ts +25 -27
- package/dist/browser/types/core/core.d.ts +31 -0
- package/dist/browser/types/core/index.d.ts +1 -0
- package/dist/browser/types/core/index.js +1 -0
- package/dist/browser/types/index.d.ts +6 -3
- package/dist/browser/types/index.js +6 -3
- package/dist/browser/types/mcp/index.d.ts +1 -0
- package/dist/browser/types/mcp/index.js +1 -0
- package/dist/browser/types/{interfaces/services/mcp/service.d.ts → mcp/mcp.d.ts} +4 -3
- package/dist/browser/types/{interfaces/services/a2a/context.js → mcp/mcp.js} +1 -1
- package/dist/browser/types/storage.d.ts +21 -0
- package/dist/browser/utils/common/constants.d.ts +7 -7
- package/dist/browser/utils/common/constants.js +9 -9
- package/dist/browser/utils/common/errors.d.ts +18 -18
- package/dist/browser/utils/common/errors.js +14 -14
- package/dist/browser/utils/common/utils.d.ts +23 -0
- package/dist/browser/utils/common/utils.js +32 -0
- package/dist/client/a2a-client.d.ts +19 -18
- package/dist/client/a2a-client.js +18 -6
- package/dist/config/default.d.ts +50 -0
- package/dist/config/default.js +62 -0
- package/dist/config/index.d.ts +158 -0
- package/dist/config/index.js +155 -0
- package/dist/config/observability.d.ts +119 -0
- package/dist/config/observability.js +35 -0
- package/dist/extensions/otel.d.ts +98 -0
- package/dist/extensions/otel.js +190 -0
- package/dist/extensions/pino.d.ts +44 -0
- package/dist/extensions/pino.js +107 -0
- package/dist/extensions/winston.d.ts +47 -0
- package/dist/extensions/winston.js +114 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/server/express/errors.js +3 -3
- package/dist/server/express/middeware.d.ts +2 -2
- package/dist/server/express/middeware.js +11 -4
- package/dist/server/express/server.d.ts +9 -56
- package/dist/server/express/server.js +21 -28
- package/dist/services/a2a/execute.d.ts +6 -0
- package/dist/services/a2a/execute.js +25 -0
- package/dist/services/a2a/factory/builder.d.ts +21 -80
- package/dist/services/a2a/factory/builder.js +20 -15
- package/dist/services/a2a/factory/context.d.ts +15 -128
- package/dist/services/a2a/factory/context.js +31 -136
- package/dist/services/a2a/factory/handler.d.ts +6 -0
- package/dist/services/a2a/factory/{method.js → handler.js} +2 -2
- package/dist/services/a2a/factory/index.d.ts +1 -2
- package/dist/services/a2a/factory/index.js +1 -2
- package/dist/services/a2a/factory/service.d.ts +20 -7
- package/dist/services/a2a/factory/service.js +4 -4
- package/dist/services/a2a/factory/state-machine.d.ts +11 -0
- package/dist/services/a2a/factory/state-machine.js +66 -0
- package/dist/services/a2a/{state/update → handlers}/artifact.d.ts +4 -4
- package/dist/services/a2a/handlers/cancel-task.d.ts +11 -0
- package/dist/services/a2a/handlers/cancel-task.js +33 -0
- package/dist/services/a2a/handlers/get-task.d.ts +11 -0
- package/dist/services/a2a/handlers/get-task.js +13 -0
- package/dist/services/a2a/handlers/resubscribe-task.d.ts +11 -0
- package/dist/services/a2a/handlers/resubscribe-task.js +56 -0
- package/dist/services/a2a/handlers/send-message.d.ts +11 -0
- package/dist/services/a2a/handlers/send-message.js +35 -0
- package/dist/services/a2a/handlers/stream-message.d.ts +11 -0
- package/dist/services/a2a/handlers/stream-message.js +19 -0
- package/dist/services/a2a/handlers/update.d.ts +17 -0
- package/dist/services/a2a/handlers/update.js +114 -0
- package/dist/services/a2a/helpers/agentcard-builder.d.ts +9 -5
- package/dist/services/a2a/helpers/agentcard-builder.js +4 -0
- package/dist/services/a2a/helpers/content.d.ts +2 -2
- package/dist/services/a2a/helpers/content.js +4 -0
- package/dist/services/a2a/helpers/history.d.ts +6 -2
- package/dist/services/a2a/helpers/history.js +4 -0
- package/dist/services/a2a/helpers/index.d.ts +2 -2
- package/dist/services/a2a/helpers/index.js +2 -2
- package/dist/services/a2a/helpers/message-builder.d.ts +13 -8
- package/dist/services/a2a/helpers/message-builder.js +5 -0
- package/dist/services/a2a/helpers/part.d.ts +9 -9
- package/dist/services/a2a/helpers/references.d.ts +6 -0
- package/dist/services/a2a/helpers/references.js +22 -0
- package/dist/services/a2a/index.d.ts +9 -5
- package/dist/services/a2a/index.js +8 -5
- package/dist/services/a2a/managers.d.ts +23 -0
- package/dist/services/a2a/managers.js +95 -0
- package/dist/services/a2a/messenger.d.ts +35 -0
- package/dist/services/{core/managers/command.js → a2a/messenger.js} +27 -31
- package/dist/services/a2a/service.d.ts +41 -372
- package/dist/services/a2a/service.js +238 -83
- package/dist/services/a2a/state-machine.d.ts +18 -0
- package/dist/services/a2a/state-machine.js +76 -0
- package/dist/services/a2a/streams.d.ts +22 -0
- package/dist/services/a2a/streams.js +98 -0
- package/dist/services/core/index.d.ts +1 -2
- package/dist/services/core/index.js +1 -2
- package/dist/services/core/manager.d.ts +15 -0
- package/dist/services/core/manager.js +42 -0
- package/dist/services/mcp/service.d.ts +11 -15
- package/dist/services/mcp/service.js +16 -15
- package/dist/transport/index.d.ts +0 -1
- package/dist/transport/index.js +1 -1
- package/dist/transport/rpc/parser.d.ts +2 -2
- package/dist/transport/rpc/parser.js +6 -6
- package/dist/transport/rpc/rpc-client.d.ts +5 -5
- package/dist/transport/rpc/rpc-client.js +6 -6
- package/dist/transport/streaming/event-stream.d.ts +3 -3
- package/dist/transport/streaming/event-stream.js +11 -10
- package/dist/transport/trpc/a2a/factory/router.d.ts +479 -871
- package/dist/transport/trpc/a2a/factory/router.js +2 -2
- package/dist/transport/trpc/a2a/routes/info.d.ts +108 -8
- package/dist/transport/trpc/a2a/routes/info.js +6 -2
- package/dist/transport/trpc/a2a/routes/message/route.d.ts +113 -162
- package/dist/transport/trpc/a2a/routes/message/route.js +7 -13
- package/dist/transport/trpc/a2a/routes/tasks/route.d.ts +114 -212
- package/dist/transport/trpc/a2a/routes/tasks/route.js +16 -19
- package/dist/transport/trpc/a2a/trpc.d.ts +9 -253
- package/dist/types/a2a/a2a.d.ts +378 -0
- package/dist/types/a2a/a2a.js +14 -0
- package/dist/types/a2a/builder.d.ts +43 -0
- package/dist/types/a2a/index.d.ts +3 -0
- package/dist/types/a2a/index.js +2 -0
- package/dist/{browser/types/interfaces → types}/client.d.ts +25 -27
- package/dist/types/core/core.d.ts +31 -0
- package/dist/types/core/index.d.ts +1 -0
- package/dist/types/core/index.js +1 -0
- package/dist/types/index.d.ts +6 -3
- package/dist/types/index.js +6 -3
- package/dist/types/mcp/index.d.ts +1 -0
- package/dist/types/mcp/index.js +1 -0
- package/dist/types/{interfaces/services/mcp/service.d.ts → mcp/mcp.d.ts} +4 -3
- package/dist/{browser/types/interfaces/services/a2a/engine.js → types/mcp/mcp.js} +1 -1
- package/dist/types/storage.d.ts +21 -0
- package/dist/utils/common/constants.d.ts +7 -7
- package/dist/utils/common/constants.js +9 -9
- package/dist/utils/common/errors.d.ts +18 -18
- package/dist/utils/common/errors.js +14 -14
- package/dist/utils/common/parse.d.ts +7 -0
- package/dist/utils/common/parse.js +14 -0
- package/dist/utils/common/schema-validation.d.ts +1 -1
- package/dist/utils/common/schema-validation.js +7 -7
- package/dist/utils/common/utils.d.ts +23 -0
- package/dist/utils/common/utils.js +32 -0
- package/dist/utils/common/zAsyncIterable-v3.d.ts +1 -1
- package/dist/utils/common/zAsyncIterable-v3.js +2 -1
- package/dist/utils/index.d.ts +2 -3
- package/dist/utils/index.js +2 -3
- package/dist/utils/storage/file.d.ts +8 -17
- package/dist/utils/storage/file.js +44 -73
- package/package.json +73 -13
- package/dist/browser/types/ext.d.ts +0 -13
- package/dist/browser/types/ext.js +0 -10
- package/dist/browser/types/interfaces/index.d.ts +0 -3
- package/dist/browser/types/interfaces/index.js +0 -3
- package/dist/browser/types/interfaces/services/a2a/builder.d.ts +0 -37
- package/dist/browser/types/interfaces/services/a2a/context.d.ts +0 -162
- package/dist/browser/types/interfaces/services/a2a/engine.d.ts +0 -7
- package/dist/browser/types/interfaces/services/a2a/index.d.ts +0 -5
- package/dist/browser/types/interfaces/services/a2a/index.js +0 -5
- package/dist/browser/types/interfaces/services/a2a/legacy.d.ts +0 -93
- package/dist/browser/types/interfaces/services/a2a/legacy.js +0 -5
- package/dist/browser/types/interfaces/services/a2a/service.d.ts +0 -413
- package/dist/browser/types/interfaces/services/a2a/service.js +0 -5
- package/dist/browser/types/interfaces/services/core/context/command.d.ts +0 -25
- package/dist/browser/types/interfaces/services/core/context/command.js +0 -5
- package/dist/browser/types/interfaces/services/core/context/context.d.ts +0 -207
- package/dist/browser/types/interfaces/services/core/context/context.js +0 -5
- package/dist/browser/types/interfaces/services/core/context/index.d.ts +0 -3
- package/dist/browser/types/interfaces/services/core/context/index.js +0 -3
- package/dist/browser/types/interfaces/services/core/context/types.d.ts +0 -11
- package/dist/browser/types/interfaces/services/core/context/types.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/engine.d.ts +0 -106
- package/dist/browser/types/interfaces/services/core/execution/engine.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/environment.d.ts +0 -11
- package/dist/browser/types/interfaces/services/core/execution/environment.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/execute.d.ts +0 -7
- package/dist/browser/types/interfaces/services/core/execution/execute.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/index.d.ts +0 -3
- package/dist/browser/types/interfaces/services/core/execution/index.js +0 -3
- package/dist/browser/types/interfaces/services/core/index.d.ts +0 -4
- package/dist/browser/types/interfaces/services/core/index.js +0 -4
- package/dist/browser/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
- package/dist/browser/types/interfaces/services/core/managers/cancellation.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/connection.d.ts +0 -9
- package/dist/browser/types/interfaces/services/core/managers/connection.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/context.d.ts +0 -17
- package/dist/browser/types/interfaces/services/core/managers/context.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/event.d.ts +0 -328
- package/dist/browser/types/interfaces/services/core/managers/event.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/index.d.ts +0 -6
- package/dist/browser/types/interfaces/services/core/managers/index.js +0 -6
- package/dist/browser/types/interfaces/services/core/managers/stream.d.ts +0 -217
- package/dist/browser/types/interfaces/services/core/managers/stream.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/task.d.ts +0 -9
- package/dist/browser/types/interfaces/services/core/service.d.ts +0 -115
- package/dist/browser/types/interfaces/services/core/service.js +0 -5
- package/dist/browser/types/interfaces/services/index.d.ts +0 -4
- package/dist/browser/types/interfaces/services/index.js +0 -4
- package/dist/browser/types/interfaces/services/mcp/index.d.ts +0 -1
- package/dist/browser/types/interfaces/services/mcp/index.js +0 -1
- package/dist/browser/types/interfaces/services/mcp/service.js +0 -5
- package/dist/browser/types/interfaces/storage.d.ts +0 -8
- package/dist/browser/types/schemas/a2a/agent.d.ts +0 -2583
- package/dist/browser/types/schemas/a2a/agent.js +0 -323
- package/dist/browser/types/schemas/a2a/auth.d.ts +0 -908
- package/dist/browser/types/schemas/a2a/auth.js +0 -283
- package/dist/browser/types/schemas/a2a/error.d.ts +0 -396
- package/dist/browser/types/schemas/a2a/error.js +0 -163
- package/dist/browser/types/schemas/a2a/index.d.ts +0 -11
- package/dist/browser/types/schemas/a2a/index.js +0 -11
- package/dist/browser/types/schemas/a2a/kind.d.ts +0 -11
- package/dist/browser/types/schemas/a2a/kind.js +0 -20
- package/dist/browser/types/schemas/a2a/message.d.ts +0 -10343
- package/dist/browser/types/schemas/a2a/message.js +0 -130
- package/dist/browser/types/schemas/a2a/notification.d.ts +0 -1517
- package/dist/browser/types/schemas/a2a/notification.js +0 -203
- package/dist/browser/types/schemas/a2a/parameters.d.ts +0 -956
- package/dist/browser/types/schemas/a2a/parameters.js +0 -241
- package/dist/browser/types/schemas/a2a/protocol.d.ts +0 -14363
- package/dist/browser/types/schemas/a2a/protocol.js +0 -59
- package/dist/browser/types/schemas/a2a/rpc.d.ts +0 -182
- package/dist/browser/types/schemas/a2a/rpc.js +0 -126
- package/dist/browser/types/schemas/a2a/task.d.ts +0 -5886
- package/dist/browser/types/schemas/a2a/task.js +0 -134
- package/dist/browser/types/schemas/a2a/transport.d.ts +0 -31
- package/dist/browser/types/schemas/a2a/transport.js +0 -28
- package/dist/browser/types/schemas/index.d.ts +0 -1
- package/dist/browser/types/schemas/index.js +0 -1
- package/dist/browser/utils/logging/index.d.ts +0 -2
- package/dist/browser/utils/logging/index.js +0 -2
- package/dist/browser/utils/logging/log.d.ts +0 -33
- package/dist/browser/utils/logging/log.js +0 -75
- package/dist/browser/utils/logging/logger.d.ts +0 -18
- package/dist/browser/utils/logging/logger.js +0 -18
- package/dist/services/a2a/factory/event.d.ts +0 -58
- package/dist/services/a2a/factory/event.js +0 -177
- package/dist/services/a2a/factory/method.d.ts +0 -6
- package/dist/services/a2a/managers/cancellation.d.ts +0 -11
- package/dist/services/a2a/managers/cancellation.js +0 -16
- package/dist/services/a2a/managers/connection.d.ts +0 -11
- package/dist/services/a2a/managers/connection.js +0 -16
- package/dist/services/a2a/managers/context.d.ts +0 -11
- package/dist/services/a2a/managers/context.js +0 -16
- package/dist/services/a2a/managers/index.d.ts +0 -5
- package/dist/services/a2a/managers/index.js +0 -5
- package/dist/services/a2a/managers/task.d.ts +0 -11
- package/dist/services/a2a/managers/task.js +0 -16
- package/dist/services/a2a/methods/cancel-task.d.ts +0 -7
- package/dist/services/a2a/methods/cancel-task.js +0 -43
- package/dist/services/a2a/methods/get-task.d.ts +0 -112
- package/dist/services/a2a/methods/get-task.js +0 -16
- package/dist/services/a2a/methods/resubscribe-task.d.ts +0 -7
- package/dist/services/a2a/methods/resubscribe-task.js +0 -80
- package/dist/services/a2a/methods/send-message.d.ts +0 -7
- package/dist/services/a2a/methods/send-message.js +0 -36
- package/dist/services/a2a/methods/stream-message.d.ts +0 -8
- package/dist/services/a2a/methods/stream-message.js +0 -21
- package/dist/services/a2a/state/index.d.ts +0 -3
- package/dist/services/a2a/state/index.js +0 -3
- package/dist/services/a2a/state/load.d.ts +0 -14
- package/dist/services/a2a/state/load.js +0 -71
- package/dist/services/a2a/state/process.d.ts +0 -7
- package/dist/services/a2a/state/process.js +0 -13
- package/dist/services/a2a/state/update/index.d.ts +0 -2
- package/dist/services/a2a/state/update/index.js +0 -2
- package/dist/services/a2a/state/update/update.d.ts +0 -23
- package/dist/services/a2a/state/update/update.js +0 -123
- package/dist/services/core/execution/execute.d.ts +0 -6
- package/dist/services/core/execution/execute.js +0 -25
- package/dist/services/core/execution/index.d.ts +0 -1
- package/dist/services/core/execution/index.js +0 -1
- package/dist/services/core/managers/command.d.ts +0 -39
- package/dist/services/core/managers/event.d.ts +0 -18
- package/dist/services/core/managers/event.js +0 -56
- package/dist/services/core/managers/index.d.ts +0 -3
- package/dist/services/core/managers/index.js +0 -3
- package/dist/services/core/managers/stream.d.ts +0 -20
- package/dist/services/core/managers/stream.js +0 -77
- package/dist/types/ext.d.ts +0 -13
- package/dist/types/ext.js +0 -10
- package/dist/types/interfaces/index.d.ts +0 -3
- package/dist/types/interfaces/index.js +0 -3
- package/dist/types/interfaces/services/a2a/builder.d.ts +0 -37
- package/dist/types/interfaces/services/a2a/context.d.ts +0 -162
- package/dist/types/interfaces/services/a2a/context.js +0 -5
- package/dist/types/interfaces/services/a2a/engine.d.ts +0 -7
- package/dist/types/interfaces/services/a2a/engine.js +0 -5
- package/dist/types/interfaces/services/a2a/index.d.ts +0 -5
- package/dist/types/interfaces/services/a2a/index.js +0 -5
- package/dist/types/interfaces/services/a2a/legacy.d.ts +0 -93
- package/dist/types/interfaces/services/a2a/legacy.js +0 -5
- package/dist/types/interfaces/services/a2a/service.d.ts +0 -413
- package/dist/types/interfaces/services/a2a/service.js +0 -5
- package/dist/types/interfaces/services/core/context/command.d.ts +0 -25
- package/dist/types/interfaces/services/core/context/command.js +0 -5
- package/dist/types/interfaces/services/core/context/context.d.ts +0 -207
- package/dist/types/interfaces/services/core/context/context.js +0 -5
- package/dist/types/interfaces/services/core/context/index.d.ts +0 -3
- package/dist/types/interfaces/services/core/context/index.js +0 -3
- package/dist/types/interfaces/services/core/context/types.d.ts +0 -11
- package/dist/types/interfaces/services/core/context/types.js +0 -5
- package/dist/types/interfaces/services/core/execution/engine.d.ts +0 -106
- package/dist/types/interfaces/services/core/execution/engine.js +0 -5
- package/dist/types/interfaces/services/core/execution/environment.d.ts +0 -11
- package/dist/types/interfaces/services/core/execution/environment.js +0 -5
- package/dist/types/interfaces/services/core/execution/execute.d.ts +0 -7
- package/dist/types/interfaces/services/core/execution/execute.js +0 -5
- package/dist/types/interfaces/services/core/execution/index.d.ts +0 -3
- package/dist/types/interfaces/services/core/execution/index.js +0 -3
- package/dist/types/interfaces/services/core/index.d.ts +0 -4
- package/dist/types/interfaces/services/core/index.js +0 -4
- package/dist/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
- package/dist/types/interfaces/services/core/managers/cancellation.js +0 -5
- package/dist/types/interfaces/services/core/managers/connection.d.ts +0 -9
- package/dist/types/interfaces/services/core/managers/connection.js +0 -5
- package/dist/types/interfaces/services/core/managers/context.d.ts +0 -17
- package/dist/types/interfaces/services/core/managers/context.js +0 -5
- package/dist/types/interfaces/services/core/managers/event.d.ts +0 -328
- package/dist/types/interfaces/services/core/managers/event.js +0 -5
- package/dist/types/interfaces/services/core/managers/index.d.ts +0 -6
- package/dist/types/interfaces/services/core/managers/index.js +0 -6
- package/dist/types/interfaces/services/core/managers/stream.d.ts +0 -217
- package/dist/types/interfaces/services/core/managers/stream.js +0 -5
- package/dist/types/interfaces/services/core/managers/task.d.ts +0 -9
- package/dist/types/interfaces/services/core/service.d.ts +0 -115
- package/dist/types/interfaces/services/core/service.js +0 -5
- package/dist/types/interfaces/services/index.d.ts +0 -4
- package/dist/types/interfaces/services/index.js +0 -4
- package/dist/types/interfaces/services/mcp/index.d.ts +0 -1
- package/dist/types/interfaces/services/mcp/index.js +0 -1
- package/dist/types/interfaces/services/mcp/service.js +0 -5
- package/dist/types/interfaces/storage.d.ts +0 -8
- package/dist/types/schemas/a2a/agent.d.ts +0 -2583
- package/dist/types/schemas/a2a/agent.js +0 -323
- package/dist/types/schemas/a2a/auth.d.ts +0 -908
- package/dist/types/schemas/a2a/auth.js +0 -283
- package/dist/types/schemas/a2a/error.d.ts +0 -396
- package/dist/types/schemas/a2a/error.js +0 -163
- package/dist/types/schemas/a2a/index.d.ts +0 -11
- package/dist/types/schemas/a2a/index.js +0 -11
- package/dist/types/schemas/a2a/kind.d.ts +0 -11
- package/dist/types/schemas/a2a/kind.js +0 -20
- package/dist/types/schemas/a2a/message.d.ts +0 -10343
- package/dist/types/schemas/a2a/message.js +0 -130
- package/dist/types/schemas/a2a/notification.d.ts +0 -1517
- package/dist/types/schemas/a2a/notification.js +0 -203
- package/dist/types/schemas/a2a/parameters.d.ts +0 -956
- package/dist/types/schemas/a2a/parameters.js +0 -241
- package/dist/types/schemas/a2a/protocol.d.ts +0 -14363
- package/dist/types/schemas/a2a/protocol.js +0 -59
- package/dist/types/schemas/a2a/rpc.d.ts +0 -182
- package/dist/types/schemas/a2a/rpc.js +0 -126
- package/dist/types/schemas/a2a/task.d.ts +0 -5886
- package/dist/types/schemas/a2a/task.js +0 -134
- package/dist/types/schemas/a2a/transport.d.ts +0 -31
- package/dist/types/schemas/a2a/transport.js +0 -28
- package/dist/types/schemas/index.d.ts +0 -1
- package/dist/types/schemas/index.js +0 -1
- package/dist/utils/logging/index.d.ts +0 -2
- package/dist/utils/logging/index.js +0 -2
- package/dist/utils/logging/log.d.ts +0 -33
- package/dist/utils/logging/log.js +0 -75
- package/dist/utils/logging/logger.d.ts +0 -18
- package/dist/utils/logging/logger.js +0 -18
- package/dist/utils/storage/memory.d.ts +0 -25
- package/dist/utils/storage/memory.js +0 -47
- /package/dist/browser/types/{interfaces/services/a2a → a2a}/builder.js +0 -0
- /package/dist/browser/types/{interfaces/client.js → client.js} +0 -0
- /package/dist/browser/types/{interfaces/services/core/managers/task.js → core/core.js} +0 -0
- /package/dist/browser/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
- /package/dist/browser/types/{interfaces/services/protocol.js → protocol.js} +0 -0
- /package/dist/browser/types/{interfaces/storage.js → storage.js} +0 -0
- /package/dist/services/a2a/{state/update → handlers}/artifact.js +0 -0
- /package/dist/services/a2a/{methods → handlers}/index.d.ts +0 -0
- /package/dist/services/a2a/{methods → handlers}/index.js +0 -0
- /package/dist/types/{interfaces/services/a2a → a2a}/builder.js +0 -0
- /package/dist/types/{interfaces/client.js → client.js} +0 -0
- /package/dist/types/{interfaces/services/core/managers/task.js → core/core.js} +0 -0
- /package/dist/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
- /package/dist/types/{interfaces/services/protocol.js → protocol.js} +0 -0
- /package/dist/types/{interfaces/storage.js → storage.js} +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
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, Tracer, Span, Context } from "@opentelemetry/api";
|
|
27
|
+
import type { ILogger } from "../config/observability.js";
|
|
28
|
+
/**
|
|
29
|
+
* Options for configuring the OTel-aware logger.
|
|
30
|
+
*/
|
|
31
|
+
export interface OtelLoggerOptions {
|
|
32
|
+
/**
|
|
33
|
+
* Base logger to wrap (logs go here AND to spans).
|
|
34
|
+
* If not provided, logs only go to spans.
|
|
35
|
+
*/
|
|
36
|
+
baseLogger?: ILogger;
|
|
37
|
+
/**
|
|
38
|
+
* Log level.
|
|
39
|
+
* @default 'info'
|
|
40
|
+
*/
|
|
41
|
+
level?: "trace" | "verbose" | "debug" | "info" | "warn" | "error" | "silent";
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Create a logger that adds log events to the current span.
|
|
45
|
+
*
|
|
46
|
+
* This logger optionally wraps a base logger and adds all log messages
|
|
47
|
+
* as span events in the current trace context.
|
|
48
|
+
*
|
|
49
|
+
* @param options - Logger options
|
|
50
|
+
* @returns ILogger implementation
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* import { configure } from '@artinet/sdk';
|
|
55
|
+
* import { configureOtel } from '@artinet/sdk/otel';
|
|
56
|
+
* import { configurePino } from '@artinet/sdk/pino';
|
|
57
|
+
* import pino from 'pino';
|
|
58
|
+
*
|
|
59
|
+
* // Logs go to both Pino AND span events
|
|
60
|
+
* configure({
|
|
61
|
+
* logger: configureOtel({
|
|
62
|
+
* baseLogger: configurePino(pino()),
|
|
63
|
+
* level: 'debug'
|
|
64
|
+
* })
|
|
65
|
+
* });
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare function configureOtel(options?: OtelLoggerOptions): ILogger;
|
|
69
|
+
/**
|
|
70
|
+
* Execute a function within a new span.
|
|
71
|
+
*
|
|
72
|
+
* @param tracer - User's tracer instance
|
|
73
|
+
* @param name - Span name
|
|
74
|
+
* @param fn - Function to execute
|
|
75
|
+
* @param options - Optional span options
|
|
76
|
+
* @returns Result of the function
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* import { trace } from '@opentelemetry/api';
|
|
81
|
+
* import { withSpan } from '@artinet/sdk/otel';
|
|
82
|
+
*
|
|
83
|
+
* const tracer = trace.getTracer('my-agent');
|
|
84
|
+
* const result = await withSpan(tracer, 'processTask', async (span) => {
|
|
85
|
+
* span.setAttribute('taskId', '123');
|
|
86
|
+
* return await doWork();
|
|
87
|
+
* });
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export declare function withSpan<T>(tracer: Tracer, name: string, fn: (span: Span) => Promise<T>, options?: {
|
|
91
|
+
kind?: SpanKind;
|
|
92
|
+
attributes?: Record<string, string | number | boolean>;
|
|
93
|
+
}): Promise<T>;
|
|
94
|
+
/**
|
|
95
|
+
* Re-export OpenTelemetry API types for convenience.
|
|
96
|
+
*/
|
|
97
|
+
export { trace, context, SpanKind, SpanStatusCode, type Tracer, type Span, type Context, };
|
|
98
|
+
export default configureOtel;
|
|
@@ -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
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { SystemError, INTERNAL_ERROR } from "../../utils/index.js";
|
|
6
|
-
import {
|
|
6
|
+
import { logger } from "../../config/index.js";
|
|
7
7
|
import escapeHtml from "escape-html";
|
|
8
8
|
/**
|
|
9
9
|
* Express error handler middleware.
|
|
@@ -13,7 +13,7 @@ export const errorHandler = (err, req, res, _) => {
|
|
|
13
13
|
if (res.headersSent) {
|
|
14
14
|
headersSent = true;
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
logger.error("errorHandler", err);
|
|
17
17
|
let reqId = null;
|
|
18
18
|
try {
|
|
19
19
|
if (req.body && typeof req.body === "object" && "id" in req.body) {
|
|
@@ -21,7 +21,7 @@ export const errorHandler = (err, req, res, _) => {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
catch (e) {
|
|
24
|
-
|
|
24
|
+
logger.error("errorHandler: Error extracting request ID", e);
|
|
25
25
|
}
|
|
26
26
|
let jsonRpcError;
|
|
27
27
|
if (err instanceof SystemError) {
|
|
@@ -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>;
|