@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,384 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 The Artinet Project
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { A2A } from "../types/index.js";
|
|
6
|
+
import { v4 as uuidv4 } from "uuid";
|
|
7
|
+
import { getCurrentTimestamp } from "../utils/common/utils.js";
|
|
8
|
+
import { isMessageParams, Message,
|
|
9
|
+
// type BuilderMessageParams,
|
|
10
|
+
} from "./message-builder.js";
|
|
11
|
+
export const isArtifactParams = (params) => {
|
|
12
|
+
return (typeof params === "string" ||
|
|
13
|
+
(typeof params === "object" && params !== null && "parts" in params));
|
|
14
|
+
};
|
|
15
|
+
export class Artifact {
|
|
16
|
+
_artifact;
|
|
17
|
+
constructor(artifact_params = {}) {
|
|
18
|
+
this._artifact = {
|
|
19
|
+
artifactId: uuidv4(),
|
|
20
|
+
parts: [],
|
|
21
|
+
...artifact_params,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
get artifact() {
|
|
25
|
+
return this._artifact;
|
|
26
|
+
}
|
|
27
|
+
static create(params = {}) {
|
|
28
|
+
return new Artifact(typeof params === "string"
|
|
29
|
+
? { parts: [{ text: params, kind: "text" }] }
|
|
30
|
+
: params).artifact;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export const artifact = Artifact.create;
|
|
34
|
+
export const isStatusParams = (params) => {
|
|
35
|
+
return (typeof params === "string" ||
|
|
36
|
+
(typeof params === "object" &&
|
|
37
|
+
params !== null &&
|
|
38
|
+
"state" in params &&
|
|
39
|
+
params.state in A2A.TaskState) ||
|
|
40
|
+
(typeof params === "object" &&
|
|
41
|
+
params !== null &&
|
|
42
|
+
"message" in params &&
|
|
43
|
+
isMessageParams(params.message)));
|
|
44
|
+
};
|
|
45
|
+
export class TaskStatus {
|
|
46
|
+
_status;
|
|
47
|
+
constructor(params = {}) {
|
|
48
|
+
const timestamp = params.timestamp ?? getCurrentTimestamp();
|
|
49
|
+
this._status = {
|
|
50
|
+
...params,
|
|
51
|
+
state: params.state ?? A2A.TaskState.working,
|
|
52
|
+
timestamp,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
get status() {
|
|
56
|
+
return this._status;
|
|
57
|
+
}
|
|
58
|
+
static create(params = {}) {
|
|
59
|
+
if (typeof params === "string" && params in A2A.TaskState) {
|
|
60
|
+
return new TaskStatus({ state: params }).status;
|
|
61
|
+
}
|
|
62
|
+
else if (isMessageParams(params)) {
|
|
63
|
+
return new TaskStatus({
|
|
64
|
+
state: A2A.TaskState.working,
|
|
65
|
+
message: Message.create(params),
|
|
66
|
+
}).status;
|
|
67
|
+
}
|
|
68
|
+
return new TaskStatus(params).status;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Convenience factory function for creating a task status with default parameters.
|
|
73
|
+
*
|
|
74
|
+
* @returns New {@link A2A.TaskStatus} with default parameters
|
|
75
|
+
* @defaults {
|
|
76
|
+
* state: "working",
|
|
77
|
+
* timestamp: getCurrentTimestamp(),
|
|
78
|
+
* }
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* const status = status("working");
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @public
|
|
86
|
+
* @since 0.6.0
|
|
87
|
+
*/
|
|
88
|
+
export const status = TaskStatus.create;
|
|
89
|
+
export class Task {
|
|
90
|
+
_task;
|
|
91
|
+
constructor(params = {}) {
|
|
92
|
+
const id = params.id ?? uuidv4();
|
|
93
|
+
this._task = {
|
|
94
|
+
...params,
|
|
95
|
+
id,
|
|
96
|
+
contextId: params.contextId ?? id,
|
|
97
|
+
kind: A2A.Kind.task,
|
|
98
|
+
status: TaskStatus.create(params.status),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
get task() {
|
|
102
|
+
return this._task;
|
|
103
|
+
}
|
|
104
|
+
static create(params = {}) {
|
|
105
|
+
if (isStatusParams(params)) {
|
|
106
|
+
return new Task({ status: TaskStatus.create(params) }).task;
|
|
107
|
+
}
|
|
108
|
+
return new Task(params).task;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Convenience factory function for creating a task with default parameters.
|
|
113
|
+
*
|
|
114
|
+
* @returns New {@link A2A.Task} with default parameters
|
|
115
|
+
* @defaults:
|
|
116
|
+
* - `id`: uuidv4()
|
|
117
|
+
* - `contextId`: id
|
|
118
|
+
* - `status`: { state: "working" }
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* const task = task({ status: { state: "working" } });
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* @public
|
|
125
|
+
* @since 0.6.0
|
|
126
|
+
*/
|
|
127
|
+
export const task = Task.create;
|
|
128
|
+
export class TaskStatusUpdateEvent {
|
|
129
|
+
_event;
|
|
130
|
+
constructor(params) {
|
|
131
|
+
const taskId = params.taskId ?? params.status.message?.taskId ?? uuidv4();
|
|
132
|
+
const contextId = params.contextId ?? params.status.message?.contextId ?? taskId;
|
|
133
|
+
this._event = {
|
|
134
|
+
...params,
|
|
135
|
+
taskId,
|
|
136
|
+
contextId,
|
|
137
|
+
kind: A2A.Kind["status-update"],
|
|
138
|
+
final: params.final ?? false,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
get event() {
|
|
142
|
+
return this._event;
|
|
143
|
+
}
|
|
144
|
+
static create(params) {
|
|
145
|
+
if (isStatusParams(params)) {
|
|
146
|
+
return new TaskStatusUpdateEvent({
|
|
147
|
+
/*allows for a mixture of Update & Status Params*/
|
|
148
|
+
...(typeof params === "object" ? params : {}),
|
|
149
|
+
status: TaskStatus.create(params),
|
|
150
|
+
}).event;
|
|
151
|
+
}
|
|
152
|
+
return new TaskStatusUpdateEvent(params).event;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
export class TaskArtifactUpdateEvent {
|
|
156
|
+
_event;
|
|
157
|
+
constructor(params) {
|
|
158
|
+
const taskId = params.taskId ?? uuidv4();
|
|
159
|
+
this._event = {
|
|
160
|
+
...params,
|
|
161
|
+
taskId,
|
|
162
|
+
contextId: params.contextId ?? taskId,
|
|
163
|
+
kind: A2A.Kind["artifact-update"],
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
get event() {
|
|
167
|
+
return this._event;
|
|
168
|
+
}
|
|
169
|
+
static create(params) {
|
|
170
|
+
if (isArtifactParams(params)) {
|
|
171
|
+
return new TaskArtifactUpdateEvent({
|
|
172
|
+
artifact: Artifact.create(params),
|
|
173
|
+
}).event;
|
|
174
|
+
}
|
|
175
|
+
return new TaskArtifactUpdateEvent({
|
|
176
|
+
...params,
|
|
177
|
+
artifact: Artifact.create(params.artifact),
|
|
178
|
+
}).event;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const strict_update = (params) => {
|
|
182
|
+
return TaskStatusUpdateEvent.create(params);
|
|
183
|
+
};
|
|
184
|
+
function _buildUpdate(state, params, final) {
|
|
185
|
+
return strict_update({
|
|
186
|
+
taskId: params.taskId,
|
|
187
|
+
contextId: params.contextId,
|
|
188
|
+
status: {
|
|
189
|
+
state: state,
|
|
190
|
+
message: params.message,
|
|
191
|
+
timestamp: params.timestamp,
|
|
192
|
+
},
|
|
193
|
+
final: final ?? params.final,
|
|
194
|
+
metadata: params.metadata,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
function _working(params) {
|
|
198
|
+
return _buildUpdate(A2A.TaskState.working, params);
|
|
199
|
+
}
|
|
200
|
+
function _canceled(params) {
|
|
201
|
+
return _buildUpdate(A2A.TaskState.canceled, params, true);
|
|
202
|
+
}
|
|
203
|
+
function _submitted(params) {
|
|
204
|
+
return _buildUpdate(A2A.TaskState.submitted, params);
|
|
205
|
+
}
|
|
206
|
+
function _failed(params) {
|
|
207
|
+
return _buildUpdate(A2A.TaskState.failed, params, true);
|
|
208
|
+
}
|
|
209
|
+
function _completed(params) {
|
|
210
|
+
return _buildUpdate(A2A.TaskState.completed, params, true);
|
|
211
|
+
}
|
|
212
|
+
function _inputRequired(params) {
|
|
213
|
+
return _buildUpdate(A2A.TaskState["input-required"], params);
|
|
214
|
+
}
|
|
215
|
+
function _rejected(params) {
|
|
216
|
+
return _buildUpdate(A2A.TaskState.rejected, params);
|
|
217
|
+
}
|
|
218
|
+
function _authRequired(params) {
|
|
219
|
+
return _buildUpdate(A2A.TaskState["auth-required"], params);
|
|
220
|
+
}
|
|
221
|
+
function _unknown(params) {
|
|
222
|
+
return _buildUpdate(A2A.TaskState["unknown"], params);
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Convenience factory function for creating a task status and artifact update events with default parameters.
|
|
226
|
+
*
|
|
227
|
+
* @returns New {@link A2A.TaskStatusUpdateEvent} and {@link A2A.TaskArtifactUpdateEvent} with default parameters
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
* ```typescript
|
|
231
|
+
* const artifactEvent = update.artifact({
|
|
232
|
+
* artifact: "result"
|
|
233
|
+
* });
|
|
234
|
+
* const statusEvent = update.status({
|
|
235
|
+
* status: "working"
|
|
236
|
+
* });
|
|
237
|
+
* ```
|
|
238
|
+
*
|
|
239
|
+
* @public
|
|
240
|
+
* @since 0.6.0
|
|
241
|
+
*/
|
|
242
|
+
export const update = {
|
|
243
|
+
/**
|
|
244
|
+
* Convenience factory function for creating a task artifact update event.
|
|
245
|
+
* @returns New {@link A2A.TaskArtifactUpdateEvent}
|
|
246
|
+
* @example
|
|
247
|
+
* ```typescript
|
|
248
|
+
* const event = update.artifact({
|
|
249
|
+
* artifact: "result"
|
|
250
|
+
* });
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
artifact: TaskArtifactUpdateEvent.create,
|
|
254
|
+
/**
|
|
255
|
+
* Convenience factory function for creating a task status update event.
|
|
256
|
+
* @returns New {@link A2A.TaskStatusUpdateEvent}
|
|
257
|
+
* @example
|
|
258
|
+
* ```typescript
|
|
259
|
+
* const event = update.status({
|
|
260
|
+
* message: "Working on the task"
|
|
261
|
+
* });
|
|
262
|
+
* ```
|
|
263
|
+
*/
|
|
264
|
+
status: TaskStatusUpdateEvent.create,
|
|
265
|
+
/**
|
|
266
|
+
* Convenience factory function for creating a task status update event with the working state.
|
|
267
|
+
* @returns New {@link A2A.TaskStatusUpdateEvent} with the {@link A2A.TaskState.working} state
|
|
268
|
+
* @example
|
|
269
|
+
* ```typescript
|
|
270
|
+
* const event = update.working({
|
|
271
|
+
* message: "Working on the task"
|
|
272
|
+
* });
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
working: _working,
|
|
276
|
+
/**
|
|
277
|
+
* Convenience factory function for creating a task status update event with the canceled state.
|
|
278
|
+
* @returns New {@link A2A.TaskStatusUpdateEvent} with the {@link A2A.TaskState.canceled} state
|
|
279
|
+
* @example
|
|
280
|
+
* ```typescript
|
|
281
|
+
* const event = update.canceled({
|
|
282
|
+
* message: "Task canceled"
|
|
283
|
+
* });
|
|
284
|
+
* ```
|
|
285
|
+
*/
|
|
286
|
+
canceled: _canceled,
|
|
287
|
+
/**
|
|
288
|
+
* Convenience factory function for creating a task status update event with the submitted state.
|
|
289
|
+
* @returns New {@link A2A.TaskStatusUpdateEvent} with the {@link A2A.TaskState.submitted} state
|
|
290
|
+
* @example
|
|
291
|
+
* ```typescript
|
|
292
|
+
* const event = update.submitted({
|
|
293
|
+
* message: "Task submitted"
|
|
294
|
+
* });
|
|
295
|
+
* ```
|
|
296
|
+
*/
|
|
297
|
+
submitted: _submitted,
|
|
298
|
+
/**
|
|
299
|
+
* Convenience factory function for creating a task status update event with the failed state.
|
|
300
|
+
* @returns New {@link A2A.TaskStatusUpdateEvent} with the {@link A2A.TaskState.failed} state
|
|
301
|
+
* @example
|
|
302
|
+
* ```typescript
|
|
303
|
+
* const event = update.failed({
|
|
304
|
+
* message: "Task failed"
|
|
305
|
+
* });
|
|
306
|
+
* ```
|
|
307
|
+
*/
|
|
308
|
+
failed: _failed,
|
|
309
|
+
/**
|
|
310
|
+
* Convenience factory function for creating a task status update event with the completed state.
|
|
311
|
+
* @returns New {@link A2A.TaskStatusUpdateEvent} with the {@link A2A.TaskState.completed} state
|
|
312
|
+
* @example
|
|
313
|
+
* ```typescript
|
|
314
|
+
* const event = update.completed({
|
|
315
|
+
* message: "Task completed"
|
|
316
|
+
* });
|
|
317
|
+
* ```
|
|
318
|
+
*/
|
|
319
|
+
completed: _completed,
|
|
320
|
+
/**
|
|
321
|
+
* Convenience factory function for creating a task status update event with the input required state.
|
|
322
|
+
* @returns New {@link A2A.TaskStatusUpdateEvent} with the {@link A2A.TaskState["input-required"]} state
|
|
323
|
+
* @example
|
|
324
|
+
* ```typescript
|
|
325
|
+
* const event = update.inputRequired({
|
|
326
|
+
* message: "Task input required"
|
|
327
|
+
* });
|
|
328
|
+
* ```
|
|
329
|
+
*/
|
|
330
|
+
inputRequired: _inputRequired,
|
|
331
|
+
/**
|
|
332
|
+
* Convenience factory function for creating a task status update event with the rejected state.
|
|
333
|
+
* @returns New {@link A2A.TaskStatusUpdateEvent} with the {@link A2A.TaskState.rejected} state
|
|
334
|
+
* @example
|
|
335
|
+
* ```typescript
|
|
336
|
+
* const event = update.rejected({
|
|
337
|
+
* message: "Task rejected"
|
|
338
|
+
* });
|
|
339
|
+
* ```
|
|
340
|
+
*/
|
|
341
|
+
rejected: _rejected,
|
|
342
|
+
/**
|
|
343
|
+
* Convenience factory function for creating a task status update event with the auth required state.
|
|
344
|
+
* @returns New {@link A2A.TaskStatusUpdateEvent} with the {@link A2A.TaskState["auth-required"]} state
|
|
345
|
+
* @example
|
|
346
|
+
* ```typescript
|
|
347
|
+
* const event = update.authRequired({
|
|
348
|
+
* message: {
|
|
349
|
+
* role: "agent"
|
|
350
|
+
* parts: [
|
|
351
|
+
* {
|
|
352
|
+
* text: "Task auth required"
|
|
353
|
+
* }
|
|
354
|
+
* ]
|
|
355
|
+
* kind: "message"
|
|
356
|
+
* });
|
|
357
|
+
* ```
|
|
358
|
+
*/
|
|
359
|
+
authRequired: _authRequired,
|
|
360
|
+
/**
|
|
361
|
+
* Convenience factory function for creating a task status update event with the unknown state.
|
|
362
|
+
* @returns New {@link A2A.TaskStatusUpdateEvent} with the {@link A2A.TaskState.unknown} state
|
|
363
|
+
* @example
|
|
364
|
+
* ```typescript
|
|
365
|
+
* const event = update.unknown({
|
|
366
|
+
* message: "Task unknown"
|
|
367
|
+
* });
|
|
368
|
+
* ```
|
|
369
|
+
*/
|
|
370
|
+
unknown: _unknown,
|
|
371
|
+
};
|
|
372
|
+
/**
|
|
373
|
+
* @description A temporary compatibility function for updating a task status, purely for migration purposes.
|
|
374
|
+
* @deprecated Use {@link update.status} instead
|
|
375
|
+
* @since 0.6.0
|
|
376
|
+
*/
|
|
377
|
+
export const update_compat = (taskId, contextId, state, message, timestamp, final = false) => {
|
|
378
|
+
return _buildUpdate(state, {
|
|
379
|
+
taskId: taskId,
|
|
380
|
+
contextId: contextId,
|
|
381
|
+
message: message,
|
|
382
|
+
timestamp: timestamp,
|
|
383
|
+
}, final);
|
|
384
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 The Artinet Project
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { A2A } from "../types/index.js";
|
|
6
|
+
import * as Builder from "./agent-builder.js";
|
|
7
|
+
import { MessageParams } from "./message-builder.js";
|
|
8
|
+
import { StatusUpdateParams, ArtifactUpdateParams, TaskParams } from "./task-builder.js";
|
|
9
|
+
export declare function hasCarry<Ret extends Builder.AcceptedReturnValues, Carried extends Builder.BaseArgs>(ret: Builder.Reply<Ret, Carried>): ret is Builder.ReturnAndCarry<Ret, Carried>;
|
|
10
|
+
export declare function hasReply<Ret extends Builder.AcceptedReturnValues, Carried extends Builder.BaseArgs>(ret: Builder.Reply<Ret, Carried>): ret is Builder.ReturnValue<Ret>;
|
|
11
|
+
export declare function Parts(kind: "text" | "file" | "data"): Builder.Transform<Builder.AcceptedParts>;
|
|
12
|
+
export declare function Message(): Builder.Transform<Builder.Stateless<MessageParams>>;
|
|
13
|
+
export declare function Artifact(): Builder.Transform<Builder.Stateless<ArtifactUpdateParams>>;
|
|
14
|
+
export declare function Status(): Builder.Transform<Builder.Stateless<StatusUpdateParams>>;
|
|
15
|
+
export declare function Task(): Builder.Transform<Builder.Stateless<TaskParams>>;
|
|
16
|
+
export declare function Reply<Ret extends Builder.AcceptedReturnValues, Carried extends Builder.BaseArgs>(ret: Builder.Reply<Ret, Carried>, context: A2A.Context, transform: Builder.Transform<Ret>): AsyncGenerator<A2A.Update, Carried | undefined, unknown>;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 The Artinet Project
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { describe } from "./index.js";
|
|
6
|
+
import { TaskStatus, } from "./task-builder.js";
|
|
7
|
+
export function hasCarry(ret) {
|
|
8
|
+
return (ret !== null && typeof ret === "object" && "reply" in ret && "args" in ret);
|
|
9
|
+
}
|
|
10
|
+
export function hasReply(ret) {
|
|
11
|
+
return ret !== null && typeof ret === "object" && "reply" in ret;
|
|
12
|
+
}
|
|
13
|
+
function messagePart(params) {
|
|
14
|
+
switch (params.kind) {
|
|
15
|
+
case "text": {
|
|
16
|
+
return describe.part.text(params.part);
|
|
17
|
+
}
|
|
18
|
+
case "file": {
|
|
19
|
+
return describe.part.file(params.part);
|
|
20
|
+
}
|
|
21
|
+
case "data": {
|
|
22
|
+
return describe.part.data(params.part);
|
|
23
|
+
}
|
|
24
|
+
default:
|
|
25
|
+
throw new Error("Invalid part detected", { cause: params });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export function Parts(kind) {
|
|
29
|
+
return async function* (payload, { taskId, contextId }) {
|
|
30
|
+
const parts = (Array.isArray(payload) ? payload : [payload]).map((part) => messagePart({ kind, part }));
|
|
31
|
+
yield describe.update.working({
|
|
32
|
+
taskId,
|
|
33
|
+
contextId,
|
|
34
|
+
message: describe.message({ role: "agent", parts }),
|
|
35
|
+
});
|
|
36
|
+
return;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export function Message() {
|
|
40
|
+
return async function* (payload, { taskId, contextId }) {
|
|
41
|
+
if (Array.isArray(payload)) {
|
|
42
|
+
throw new Error("Array of messages is not supported");
|
|
43
|
+
}
|
|
44
|
+
const message = typeof payload === "string" ? describe.message(payload) : payload;
|
|
45
|
+
yield describe.message({
|
|
46
|
+
...message,
|
|
47
|
+
taskId,
|
|
48
|
+
contextId,
|
|
49
|
+
});
|
|
50
|
+
return;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export function Artifact() {
|
|
54
|
+
return async function* (payload, { taskId, contextId }) {
|
|
55
|
+
const updates = Array.isArray(payload) ? payload : [payload];
|
|
56
|
+
for (const update of updates) {
|
|
57
|
+
const artifact = typeof update === "string" ? describe.artifact(update) : update;
|
|
58
|
+
yield describe.update.artifact({
|
|
59
|
+
...artifact,
|
|
60
|
+
taskId,
|
|
61
|
+
contextId,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export function Status() {
|
|
68
|
+
return async function* (payload, { taskId, contextId }) {
|
|
69
|
+
const updates = Array.isArray(payload) ? payload : [payload];
|
|
70
|
+
for (const update of updates) {
|
|
71
|
+
const status = typeof update === "string" ? TaskStatus.create(update) : update;
|
|
72
|
+
yield describe.update.status({
|
|
73
|
+
...status,
|
|
74
|
+
taskId,
|
|
75
|
+
contextId,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return;
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
export function Task() {
|
|
82
|
+
return async function* (payload, { taskId, contextId }) {
|
|
83
|
+
if (Array.isArray(payload)) {
|
|
84
|
+
throw new Error("Array of tasks is not supported");
|
|
85
|
+
}
|
|
86
|
+
const task = typeof payload === "string" ? describe.task(payload) : payload;
|
|
87
|
+
yield describe.task({ ...task, taskId, contextId });
|
|
88
|
+
return;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export async function* Reply(ret, context, transform) {
|
|
92
|
+
if (Array.isArray(ret)) {
|
|
93
|
+
yield* transform(ret, context);
|
|
94
|
+
}
|
|
95
|
+
else if (hasCarry(ret)) {
|
|
96
|
+
yield* transform(ret.reply, context);
|
|
97
|
+
return ret.args;
|
|
98
|
+
}
|
|
99
|
+
else if (hasReply(ret)) {
|
|
100
|
+
yield* transform(ret.reply, context);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
yield* transform(ret, context);
|
|
104
|
+
}
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
@@ -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;
|