{"version":3,"file":"stepfunctions.js","sourceRoot":"","sources":["../../../src/services/stepfunctions.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,4CAA0D;AAC1D,wCAGoB;AAIpB,MAAa,6BAA6B;IACxC,kBAAkB,CAChB,OAA0B,EAC1B,OAAoC;QAEpC,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC;QAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;QACtD,MAAM,QAAQ,GAAa,cAAQ,CAAC,MAAM,CAAC;QAC3C,MAAM,cAAc,GAAe,EAAE,CAAC;QAEtC,IAAI,eAAe,EAAE;YACnB,cAAc,CAAC,mDAAyC,CAAC;gBACvD,eAAe,CAAC;SACnB;QAED,IAAI,WAAW,EAAE;YACf,cAAc,CAAC,8CAAoC,CAAC,GAAG,WAAW,CAAC;SACpE;QAED,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,cAAc;YACd,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AAzBD,sEAyBC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { Attributes, SpanKind } from '@opentelemetry/api';\nimport {\n  ATTR_AWS_STEP_FUNCTIONS_ACTIVITY_ARN,\n  ATTR_AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN,\n} from '../semconv';\nimport { RequestMetadata, ServiceExtension } from './ServiceExtension';\nimport { NormalizedRequest, AwsSdkInstrumentationConfig } from '../types';\n\nexport class StepFunctionsServiceExtension implements ServiceExtension {\n  requestPreSpanHook(\n    request: NormalizedRequest,\n    _config: AwsSdkInstrumentationConfig\n  ): RequestMetadata {\n    const stateMachineArn = request.commandInput?.stateMachineArn;\n    const activityArn = request.commandInput?.activityArn;\n    const spanKind: SpanKind = SpanKind.CLIENT;\n    const spanAttributes: Attributes = {};\n\n    if (stateMachineArn) {\n      spanAttributes[ATTR_AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN] =\n        stateMachineArn;\n    }\n\n    if (activityArn) {\n      spanAttributes[ATTR_AWS_STEP_FUNCTIONS_ACTIVITY_ARN] = activityArn;\n    }\n\n    return {\n      isIncoming: false,\n      spanAttributes,\n      spanKind,\n    };\n  }\n}\n"]}