@sentry/conventions 0.1.0 → 0.2.0
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/dist/attributes.cjs +4 -1
- package/dist/attributes.cjs.map +1 -1
- package/dist/attributes.d.cts +896 -2
- package/dist/attributes.d.mts +896 -2
- package/dist/attributes.d.ts +896 -2
- package/dist/attributes.mjs +4 -1
- package/dist/attributes.mjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/attributes.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.mjs","sources":["../src/attributes.ts"],"sourcesContent":["// This is an auto-generated file. Do not edit!\n\n// Path: model/attributes/ai/ai__citations.json\n\n/**\n * References or sources cited by the AI model in its response. `ai.citations`\n *\n * Attribute Value Type: `Array<string>` {@link AI_CITATIONS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"Citation 1\",\"Citation 2\"]\n */\nexport const AI_CITATIONS = 'ai.citations';\n\n/**\n * Type for {@link AI_CITATIONS} ai.citations\n */\nexport type AI_CITATIONS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__completion_tokens__used.json\n\n/**\n * The number of tokens used to respond to the message. `ai.completion_tokens.used`\n *\n * Attribute Value Type: `number` {@link AI_COMPLETION_TOKENS_USED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_USAGE_OUTPUT_TOKENS} `gen_ai.usage.output_tokens`, {@link GEN_AI_USAGE_COMPLETION_TOKENS} `gen_ai.usage.completion_tokens`\n *\n * @deprecated Use {@link GEN_AI_USAGE_OUTPUT_TOKENS} (gen_ai.usage.output_tokens) instead\n * @example 10\n */\nexport const AI_COMPLETION_TOKENS_USED = 'ai.completion_tokens.used';\n\n/**\n * Type for {@link AI_COMPLETION_TOKENS_USED} ai.completion_tokens.used\n */\nexport type AI_COMPLETION_TOKENS_USED_TYPE = number;\n\n// Path: model/attributes/ai/ai__documents.json\n\n/**\n * Documents or content chunks used as context for the AI model. `ai.documents`\n *\n * Attribute Value Type: `Array<string>` {@link AI_DOCUMENTS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"document1.txt\",\"document2.pdf\"]\n */\nexport const AI_DOCUMENTS = 'ai.documents';\n\n/**\n * Type for {@link AI_DOCUMENTS} ai.documents\n */\nexport type AI_DOCUMENTS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__finish_reason.json\n\n/**\n * The reason why the model stopped generating. `ai.finish_reason`\n *\n * Attribute Value Type: `string` {@link AI_FINISH_REASON_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_RESPONSE_FINISH_REASONS} `gen_ai.response.finish_reasons`\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_FINISH_REASON} (gen_ai.response.finish_reason) instead\n * @example \"COMPLETE\"\n */\nexport const AI_FINISH_REASON = 'ai.finish_reason';\n\n/**\n * Type for {@link AI_FINISH_REASON} ai.finish_reason\n */\nexport type AI_FINISH_REASON_TYPE = string;\n\n// Path: model/attributes/ai/ai__frequency_penalty.json\n\n/**\n * Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation. `ai.frequency_penalty`\n *\n * Attribute Value Type: `number` {@link AI_FREQUENCY_PENALTY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_FREQUENCY_PENALTY} `gen_ai.request.frequency_penalty`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_FREQUENCY_PENALTY} (gen_ai.request.frequency_penalty) instead\n * @example 0.5\n */\nexport const AI_FREQUENCY_PENALTY = 'ai.frequency_penalty';\n\n/**\n * Type for {@link AI_FREQUENCY_PENALTY} ai.frequency_penalty\n */\nexport type AI_FREQUENCY_PENALTY_TYPE = number;\n\n// Path: model/attributes/ai/ai__function_call.json\n\n/**\n * For an AI model call, the function that was called. This is deprecated for OpenAI, and replaced by tool_calls `ai.function_call`\n *\n * Attribute Value Type: `string` {@link AI_FUNCTION_CALL_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_TOOL_NAME} `gen_ai.tool.name`\n *\n * @deprecated Use {@link GEN_AI_TOOL_NAME} (gen_ai.tool.name) instead\n * @example \"function_name\"\n */\nexport const AI_FUNCTION_CALL = 'ai.function_call';\n\n/**\n * Type for {@link AI_FUNCTION_CALL} ai.function_call\n */\nexport type AI_FUNCTION_CALL_TYPE = string;\n\n// Path: model/attributes/ai/ai__generation_id.json\n\n/**\n * Unique identifier for the completion. `ai.generation_id`\n *\n * Attribute Value Type: `string` {@link AI_GENERATION_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_RESPONSE_ID} `gen_ai.response.id`\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_ID} (gen_ai.response.id) instead\n * @example \"gen_123abc\"\n */\nexport const AI_GENERATION_ID = 'ai.generation_id';\n\n/**\n * Type for {@link AI_GENERATION_ID} ai.generation_id\n */\nexport type AI_GENERATION_ID_TYPE = string;\n\n// Path: model/attributes/ai/ai__input_messages.json\n\n/**\n * The input messages sent to the model `ai.input_messages`\n *\n * Attribute Value Type: `string` {@link AI_INPUT_MESSAGES_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_MESSAGES} `gen_ai.request.messages`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_MESSAGES} (gen_ai.request.messages) instead\n * @example \"[{\\\"role\\\": \\\"user\\\", \\\"message\\\": \\\"hello\\\"}]\"\n */\nexport const AI_INPUT_MESSAGES = 'ai.input_messages';\n\n/**\n * Type for {@link AI_INPUT_MESSAGES} ai.input_messages\n */\nexport type AI_INPUT_MESSAGES_TYPE = string;\n\n// Path: model/attributes/ai/ai__is_search_required.json\n\n/**\n * Boolean indicating if the model needs to perform a search. `ai.is_search_required`\n *\n * Attribute Value Type: `boolean` {@link AI_IS_SEARCH_REQUIRED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example false\n */\nexport const AI_IS_SEARCH_REQUIRED = 'ai.is_search_required';\n\n/**\n * Type for {@link AI_IS_SEARCH_REQUIRED} ai.is_search_required\n */\nexport type AI_IS_SEARCH_REQUIRED_TYPE = boolean;\n\n// Path: model/attributes/ai/ai__metadata.json\n\n/**\n * Extra metadata passed to an AI pipeline step. `ai.metadata`\n *\n * Attribute Value Type: `string` {@link AI_METADATA_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"{\\\"user_id\\\": 123, \\\"session_id\\\": \\\"abc123\\\"}\"\n */\nexport const AI_METADATA = 'ai.metadata';\n\n/**\n * Type for {@link AI_METADATA} ai.metadata\n */\nexport type AI_METADATA_TYPE = string;\n\n// Path: model/attributes/ai/ai__model__provider.json\n\n/**\n * The provider of the model. `ai.model.provider`\n *\n * Attribute Value Type: `string` {@link AI_MODEL_PROVIDER_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_SYSTEM} `gen_ai.system`\n *\n * @deprecated Use {@link GEN_AI_SYSTEM} (gen_ai.system) instead\n * @example \"openai\"\n */\nexport const AI_MODEL_PROVIDER = 'ai.model.provider';\n\n/**\n * Type for {@link AI_MODEL_PROVIDER} ai.model.provider\n */\nexport type AI_MODEL_PROVIDER_TYPE = string;\n\n// Path: model/attributes/ai/ai__model_id.json\n\n/**\n * The vendor-specific ID of the model used. `ai.model_id`\n *\n * Attribute Value Type: `string` {@link AI_MODEL_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_RESPONSE_MODEL} `gen_ai.response.model`\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_MODEL} (gen_ai.response.model) instead\n * @example \"gpt-4\"\n */\nexport const AI_MODEL_ID = 'ai.model_id';\n\n/**\n * Type for {@link AI_MODEL_ID} ai.model_id\n */\nexport type AI_MODEL_ID_TYPE = string;\n\n// Path: model/attributes/ai/ai__pipeline__name.json\n\n/**\n * The name of the AI pipeline. `ai.pipeline.name`\n *\n * Attribute Value Type: `string` {@link AI_PIPELINE_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_PIPELINE_NAME} `gen_ai.pipeline.name`\n *\n * @deprecated Use {@link GEN_AI_PIPELINE_NAME} (gen_ai.pipeline.name) instead\n * @example \"Autofix Pipeline\"\n */\nexport const AI_PIPELINE_NAME = 'ai.pipeline.name';\n\n/**\n * Type for {@link AI_PIPELINE_NAME} ai.pipeline.name\n */\nexport type AI_PIPELINE_NAME_TYPE = string;\n\n// Path: model/attributes/ai/ai__preamble.json\n\n/**\n * For an AI model call, the preamble parameter. Preambles are a part of the prompt used to adjust the model's overall behavior and conversation style. `ai.preamble`\n *\n * Attribute Value Type: `string` {@link AI_PREAMBLE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"You are now a clown.\"\n */\nexport const AI_PREAMBLE = 'ai.preamble';\n\n/**\n * Type for {@link AI_PREAMBLE} ai.preamble\n */\nexport type AI_PREAMBLE_TYPE = string;\n\n// Path: model/attributes/ai/ai__presence_penalty.json\n\n/**\n * Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies. `ai.presence_penalty`\n *\n * Attribute Value Type: `number` {@link AI_PRESENCE_PENALTY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_PRESENCE_PENALTY} `gen_ai.request.presence_penalty`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_PRESENCE_PENALTY} (gen_ai.request.presence_penalty) instead\n * @example 0.5\n */\nexport const AI_PRESENCE_PENALTY = 'ai.presence_penalty';\n\n/**\n * Type for {@link AI_PRESENCE_PENALTY} ai.presence_penalty\n */\nexport type AI_PRESENCE_PENALTY_TYPE = number;\n\n// Path: model/attributes/ai/ai__prompt_tokens__used.json\n\n/**\n * The number of tokens used to process just the prompt. `ai.prompt_tokens.used`\n *\n * Attribute Value Type: `number` {@link AI_PROMPT_TOKENS_USED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_USAGE_PROMPT_TOKENS} `gen_ai.usage.prompt_tokens`, {@link GEN_AI_USAGE_INPUT_TOKENS} `gen_ai.usage.input_tokens`\n *\n * @deprecated Use {@link GEN_AI_USAGE_INPUT_TOKENS} (gen_ai.usage.input_tokens) instead\n * @example 20\n */\nexport const AI_PROMPT_TOKENS_USED = 'ai.prompt_tokens.used';\n\n/**\n * Type for {@link AI_PROMPT_TOKENS_USED} ai.prompt_tokens.used\n */\nexport type AI_PROMPT_TOKENS_USED_TYPE = number;\n\n// Path: model/attributes/ai/ai__raw_prompting.json\n\n/**\n * When enabled, the user’s prompt will be sent to the model without any pre-processing. `ai.raw_prompting`\n *\n * Attribute Value Type: `boolean` {@link AI_RAW_PROMPTING_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const AI_RAW_PROMPTING = 'ai.raw_prompting';\n\n/**\n * Type for {@link AI_RAW_PROMPTING} ai.raw_prompting\n */\nexport type AI_RAW_PROMPTING_TYPE = boolean;\n\n// Path: model/attributes/ai/ai__response_format.json\n\n/**\n * For an AI model call, the format of the response `ai.response_format`\n *\n * Attribute Value Type: `string` {@link AI_RESPONSE_FORMAT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"json_object\"\n */\nexport const AI_RESPONSE_FORMAT = 'ai.response_format';\n\n/**\n * Type for {@link AI_RESPONSE_FORMAT} ai.response_format\n */\nexport type AI_RESPONSE_FORMAT_TYPE = string;\n\n// Path: model/attributes/ai/ai__responses.json\n\n/**\n * The response messages sent back by the AI model. `ai.responses`\n *\n * Attribute Value Type: `Array<string>` {@link AI_RESPONSES_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_TEXT} (gen_ai.response.text) instead\n * @example [\"hello\",\"world\"]\n */\nexport const AI_RESPONSES = 'ai.responses';\n\n/**\n * Type for {@link AI_RESPONSES} ai.responses\n */\nexport type AI_RESPONSES_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__search_queries.json\n\n/**\n * Queries used to search for relevant context or documents. `ai.search_queries`\n *\n * Attribute Value Type: `Array<string>` {@link AI_SEARCH_QUERIES_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"climate change effects\",\"renewable energy\"]\n */\nexport const AI_SEARCH_QUERIES = 'ai.search_queries';\n\n/**\n * Type for {@link AI_SEARCH_QUERIES} ai.search_queries\n */\nexport type AI_SEARCH_QUERIES_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__search_results.json\n\n/**\n * Results returned from search queries for context. `ai.search_results`\n *\n * Attribute Value Type: `Array<string>` {@link AI_SEARCH_RESULTS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"search_result_1, search_result_2\"]\n */\nexport const AI_SEARCH_RESULTS = 'ai.search_results';\n\n/**\n * Type for {@link AI_SEARCH_RESULTS} ai.search_results\n */\nexport type AI_SEARCH_RESULTS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__seed.json\n\n/**\n * The seed, ideally models given the same seed and same other parameters will produce the exact same output. `ai.seed`\n *\n * Attribute Value Type: `string` {@link AI_SEED_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_SEED} `gen_ai.request.seed`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_SEED} (gen_ai.request.seed) instead\n * @example \"1234567890\"\n */\nexport const AI_SEED = 'ai.seed';\n\n/**\n * Type for {@link AI_SEED} ai.seed\n */\nexport type AI_SEED_TYPE = string;\n\n// Path: model/attributes/ai/ai__streaming.json\n\n/**\n * Whether the request was streamed back. `ai.streaming`\n *\n * Attribute Value Type: `boolean` {@link AI_STREAMING_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_RESPONSE_STREAMING} `gen_ai.response.streaming`\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_STREAMING} (gen_ai.response.streaming) instead\n * @example true\n */\nexport const AI_STREAMING = 'ai.streaming';\n\n/**\n * Type for {@link AI_STREAMING} ai.streaming\n */\nexport type AI_STREAMING_TYPE = boolean;\n\n// Path: model/attributes/ai/ai__tags.json\n\n/**\n * Tags that describe an AI pipeline step. `ai.tags`\n *\n * Attribute Value Type: `string` {@link AI_TAGS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"{\\\"executed_function\\\": \\\"add_integers\\\"}\"\n */\nexport const AI_TAGS = 'ai.tags';\n\n/**\n * Type for {@link AI_TAGS} ai.tags\n */\nexport type AI_TAGS_TYPE = string;\n\n// Path: model/attributes/ai/ai__temperature.json\n\n/**\n * For an AI model call, the temperature parameter. Temperature essentially means how random the output will be. `ai.temperature`\n *\n * Attribute Value Type: `number` {@link AI_TEMPERATURE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_TEMPERATURE} `gen_ai.request.temperature`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_TEMPERATURE} (gen_ai.request.temperature) instead\n * @example 0.1\n */\nexport const AI_TEMPERATURE = 'ai.temperature';\n\n/**\n * Type for {@link AI_TEMPERATURE} ai.temperature\n */\nexport type AI_TEMPERATURE_TYPE = number;\n\n// Path: model/attributes/ai/ai__texts.json\n\n/**\n * Raw text inputs provided to the model. `ai.texts`\n *\n * Attribute Value Type: `Array<string>` {@link AI_TEXTS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"Hello, how are you?\",\"What is the capital of France?\"]\n */\nexport const AI_TEXTS = 'ai.texts';\n\n/**\n * Type for {@link AI_TEXTS} ai.texts\n */\nexport type AI_TEXTS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__tool_calls.json\n\n/**\n * For an AI model call, the tool calls that were made. `ai.tool_calls`\n *\n * Attribute Value Type: `Array<string>` {@link AI_TOOL_CALLS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_TOOL_CALLS} (gen_ai.response.tool_calls) instead\n * @example [\"tool_call_1\",\"tool_call_2\"]\n */\nexport const AI_TOOL_CALLS = 'ai.tool_calls';\n\n/**\n * Type for {@link AI_TOOL_CALLS} ai.tool_calls\n */\nexport type AI_TOOL_CALLS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__tools.json\n\n/**\n * For an AI model call, the functions that are available `ai.tools`\n *\n * Attribute Value Type: `Array<string>` {@link AI_TOOLS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link GEN_AI_REQUEST_AVAILABLE_TOOLS} (gen_ai.request.available_tools) instead\n * @example [\"function_1\",\"function_2\"]\n */\nexport const AI_TOOLS = 'ai.tools';\n\n/**\n * Type for {@link AI_TOOLS} ai.tools\n */\nexport type AI_TOOLS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__top_k.json\n\n/**\n * Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered). `ai.top_k`\n *\n * Attribute Value Type: `number` {@link AI_TOP_K_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_TOP_K} `gen_ai.request.top_k`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_TOP_K} (gen_ai.request.top_k) instead\n * @example 35\n */\nexport const AI_TOP_K = 'ai.top_k';\n\n/**\n * Type for {@link AI_TOP_K} ai.top_k\n */\nexport type AI_TOP_K_TYPE = number;\n\n// Path: model/attributes/ai/ai__top_p.json\n\n/**\n * Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered). `ai.top_p`\n *\n * Attribute Value Type: `number` {@link AI_TOP_P_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_TOP_P} `gen_ai.request.top_p`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_TOP_P} (gen_ai.request.top_p) instead\n * @example 0.7\n */\nexport const AI_TOP_P = 'ai.top_p';\n\n/**\n * Type for {@link AI_TOP_P} ai.top_p\n */\nexport type AI_TOP_P_TYPE = number;\n\n// Path: model/attributes/ai/ai__total_cost.json\n\n/**\n * The total cost for the tokens used. `ai.total_cost`\n *\n * Attribute Value Type: `number` {@link AI_TOTAL_COST_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 12.34\n */\nexport const AI_TOTAL_COST = 'ai.total_cost';\n\n/**\n * Type for {@link AI_TOTAL_COST} ai.total_cost\n */\nexport type AI_TOTAL_COST_TYPE = number;\n\n// Path: model/attributes/ai/ai__total_tokens__used.json\n\n/**\n * The total number of tokens used to process the prompt. `ai.total_tokens.used`\n *\n * Attribute Value Type: `number` {@link AI_TOTAL_TOKENS_USED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_USAGE_TOTAL_TOKENS} `gen_ai.usage.total_tokens`\n *\n * @deprecated Use {@link GEN_AI_USAGE_TOTAL_TOKENS} (gen_ai.usage.total_tokens) instead\n * @example 30\n */\nexport const AI_TOTAL_TOKENS_USED = 'ai.total_tokens.used';\n\n/**\n * Type for {@link AI_TOTAL_TOKENS_USED} ai.total_tokens.used\n */\nexport type AI_TOTAL_TOKENS_USED_TYPE = number;\n\n// Path: model/attributes/ai/ai__warnings.json\n\n/**\n * Warning messages generated during model execution. `ai.warnings`\n *\n * Attribute Value Type: `Array<string>` {@link AI_WARNINGS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"Token limit exceeded\"]\n */\nexport const AI_WARNINGS = 'ai.warnings';\n\n/**\n * Type for {@link AI_WARNINGS} ai.warnings\n */\nexport type AI_WARNINGS_TYPE = Array<string>;\n\n// Path: model/attributes/app_start_type.json\n\n/**\n * Mobile app start variant. Either cold or warm. `app_start_type`\n *\n * Attribute Value Type: `string` {@link APP_START_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"cold\"\n */\nexport const APP_START_TYPE = 'app_start_type';\n\n/**\n * Type for {@link APP_START_TYPE} app_start_type\n */\nexport type APP_START_TYPE_TYPE = string;\n\n// Path: model/attributes/blocked_main_thread.json\n\n/**\n * Whether the main thread was blocked by the span. `blocked_main_thread`\n *\n * Attribute Value Type: `boolean` {@link BLOCKED_MAIN_THREAD_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const BLOCKED_MAIN_THREAD = 'blocked_main_thread';\n\n/**\n * Type for {@link BLOCKED_MAIN_THREAD} blocked_main_thread\n */\nexport type BLOCKED_MAIN_THREAD_TYPE = boolean;\n\n// Path: model/attributes/browser/browser__name.json\n\n/**\n * The name of the browser. `browser.name`\n *\n * Attribute Value Type: `string` {@link BROWSER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_BROWSER_NAME} `sentry.browser.name`\n *\n * @example \"Chrome\"\n */\nexport const BROWSER_NAME = 'browser.name';\n\n/**\n * Type for {@link BROWSER_NAME} browser.name\n */\nexport type BROWSER_NAME_TYPE = string;\n\n// Path: model/attributes/browser/browser__report__type.json\n\n/**\n * A browser report sent via reporting API.. `browser.report.type`\n *\n * Attribute Value Type: `string` {@link BROWSER_REPORT_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"network-error\"\n */\nexport const BROWSER_REPORT_TYPE = 'browser.report.type';\n\n/**\n * Type for {@link BROWSER_REPORT_TYPE} browser.report.type\n */\nexport type BROWSER_REPORT_TYPE_TYPE = string;\n\n// Path: model/attributes/browser/browser__script__invoker.json\n\n/**\n * How a script was called in the browser. `browser.script.invoker`\n *\n * Attribute Value Type: `string` {@link BROWSER_SCRIPT_INVOKER_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Window.requestAnimationFrame\"\n */\nexport const BROWSER_SCRIPT_INVOKER = 'browser.script.invoker';\n\n/**\n * Type for {@link BROWSER_SCRIPT_INVOKER} browser.script.invoker\n */\nexport type BROWSER_SCRIPT_INVOKER_TYPE = string;\n\n// Path: model/attributes/browser/browser__script__invoker_type.json\n\n/**\n * Browser script entry point type. `browser.script.invoker_type`\n *\n * Attribute Value Type: `string` {@link BROWSER_SCRIPT_INVOKER_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"event-listener\"\n */\nexport const BROWSER_SCRIPT_INVOKER_TYPE = 'browser.script.invoker_type';\n\n/**\n * Type for {@link BROWSER_SCRIPT_INVOKER_TYPE} browser.script.invoker_type\n */\nexport type BROWSER_SCRIPT_INVOKER_TYPE_TYPE = string;\n\n// Path: model/attributes/browser/browser__script__source_char_position.json\n\n/**\n * A number representing the script character position of the script. `browser.script.source_char_position`\n *\n * Attribute Value Type: `number` {@link BROWSER_SCRIPT_SOURCE_CHAR_POSITION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 678\n */\nexport const BROWSER_SCRIPT_SOURCE_CHAR_POSITION = 'browser.script.source_char_position';\n\n/**\n * Type for {@link BROWSER_SCRIPT_SOURCE_CHAR_POSITION} browser.script.source_char_position\n */\nexport type BROWSER_SCRIPT_SOURCE_CHAR_POSITION_TYPE = number;\n\n// Path: model/attributes/browser/browser__version.json\n\n/**\n * The version of the browser. `browser.version`\n *\n * Attribute Value Type: `string` {@link BROWSER_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_BROWSER_VERSION} `sentry.browser.version`\n *\n * @example \"120.0.6099.130\"\n */\nexport const BROWSER_VERSION = 'browser.version';\n\n/**\n * Type for {@link BROWSER_VERSION} browser.version\n */\nexport type BROWSER_VERSION_TYPE = string;\n\n// Path: model/attributes/cache/cache__hit.json\n\n/**\n * If the cache was hit during this span. `cache.hit`\n *\n * Attribute Value Type: `boolean` {@link CACHE_HIT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const CACHE_HIT = 'cache.hit';\n\n/**\n * Type for {@link CACHE_HIT} cache.hit\n */\nexport type CACHE_HIT_TYPE = boolean;\n\n// Path: model/attributes/cache/cache__item_size.json\n\n/**\n * The size of the requested item in the cache. In bytes. `cache.item_size`\n *\n * Attribute Value Type: `number` {@link CACHE_ITEM_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 58\n */\nexport const CACHE_ITEM_SIZE = 'cache.item_size';\n\n/**\n * Type for {@link CACHE_ITEM_SIZE} cache.item_size\n */\nexport type CACHE_ITEM_SIZE_TYPE = number;\n\n// Path: model/attributes/cache/cache__key.json\n\n/**\n * The key of the cache accessed. `cache.key`\n *\n * Attribute Value Type: `Array<string>` {@link CACHE_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"my-cache-key\",\"my-other-cache-key\"]\n */\nexport const CACHE_KEY = 'cache.key';\n\n/**\n * Type for {@link CACHE_KEY} cache.key\n */\nexport type CACHE_KEY_TYPE = Array<string>;\n\n// Path: model/attributes/cache/cache__operation.json\n\n/**\n * The operation being performed on the cache. `cache.operation`\n *\n * Attribute Value Type: `string` {@link CACHE_OPERATION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"get\"\n */\nexport const CACHE_OPERATION = 'cache.operation';\n\n/**\n * Type for {@link CACHE_OPERATION} cache.operation\n */\nexport type CACHE_OPERATION_TYPE = string;\n\n// Path: model/attributes/cache/cache__ttl.json\n\n/**\n * The ttl of the cache in seconds `cache.ttl`\n *\n * Attribute Value Type: `number` {@link CACHE_TTL_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 120\n */\nexport const CACHE_TTL = 'cache.ttl';\n\n/**\n * Type for {@link CACHE_TTL} cache.ttl\n */\nexport type CACHE_TTL_TYPE = number;\n\n// Path: model/attributes/channel.json\n\n/**\n * The channel name that is being used. `channel`\n *\n * Attribute Value Type: `string` {@link CHANNEL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"mail\"\n */\nexport const CHANNEL = 'channel';\n\n/**\n * Type for {@link CHANNEL} channel\n */\nexport type CHANNEL_TYPE = string;\n\n// Path: model/attributes/client/client__address.json\n\n/**\n * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `client.address`\n *\n * Attribute Value Type: `string` {@link CLIENT_ADDRESS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_CLIENT_IP} `http.client_ip`\n *\n * @example \"example.com\"\n */\nexport const CLIENT_ADDRESS = 'client.address';\n\n/**\n * Type for {@link CLIENT_ADDRESS} client.address\n */\nexport type CLIENT_ADDRESS_TYPE = string;\n\n// Path: model/attributes/client/client__port.json\n\n/**\n * Client port number. `client.port`\n *\n * Attribute Value Type: `number` {@link CLIENT_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 5432\n */\nexport const CLIENT_PORT = 'client.port';\n\n/**\n * Type for {@link CLIENT_PORT} client.port\n */\nexport type CLIENT_PORT_TYPE = number;\n\n// Path: model/attributes/cloudflare/cloudflare__d1__duration.json\n\n/**\n * The duration of a Cloudflare D1 operation. `cloudflare.d1.duration`\n *\n * Attribute Value Type: `number` {@link CLOUDFLARE_D1_DURATION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 543\n */\nexport const CLOUDFLARE_D1_DURATION = 'cloudflare.d1.duration';\n\n/**\n * Type for {@link CLOUDFLARE_D1_DURATION} cloudflare.d1.duration\n */\nexport type CLOUDFLARE_D1_DURATION_TYPE = number;\n\n// Path: model/attributes/cloudflare/cloudflare__d1__rows_read.json\n\n/**\n * The number of rows read in a Cloudflare D1 operation. `cloudflare.d1.rows_read`\n *\n * Attribute Value Type: `number` {@link CLOUDFLARE_D1_ROWS_READ_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 12\n */\nexport const CLOUDFLARE_D1_ROWS_READ = 'cloudflare.d1.rows_read';\n\n/**\n * Type for {@link CLOUDFLARE_D1_ROWS_READ} cloudflare.d1.rows_read\n */\nexport type CLOUDFLARE_D1_ROWS_READ_TYPE = number;\n\n// Path: model/attributes/cloudflare/cloudflare__d1__rows_written.json\n\n/**\n * The number of rows written in a Cloudflare D1 operation. `cloudflare.d1.rows_written`\n *\n * Attribute Value Type: `number` {@link CLOUDFLARE_D1_ROWS_WRITTEN_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 12\n */\nexport const CLOUDFLARE_D1_ROWS_WRITTEN = 'cloudflare.d1.rows_written';\n\n/**\n * Type for {@link CLOUDFLARE_D1_ROWS_WRITTEN} cloudflare.d1.rows_written\n */\nexport type CLOUDFLARE_D1_ROWS_WRITTEN_TYPE = number;\n\n// Path: model/attributes/code/code__file__path.json\n\n/**\n * The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). `code.file.path`\n *\n * Attribute Value Type: `string` {@link CODE_FILE_PATH_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_FILEPATH} `code.filepath`\n *\n * @example \"/app/myapplication/http/handler/server.py\"\n */\nexport const CODE_FILE_PATH = 'code.file.path';\n\n/**\n * Type for {@link CODE_FILE_PATH} code.file.path\n */\nexport type CODE_FILE_PATH_TYPE = string;\n\n// Path: model/attributes/code/code__filepath.json\n\n/**\n * The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). `code.filepath`\n *\n * Attribute Value Type: `string` {@link CODE_FILEPATH_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_FILE_PATH} `code.file.path`\n *\n * @deprecated Use {@link CODE_FILE_PATH} (code.file.path) instead\n * @example \"/app/myapplication/http/handler/server.py\"\n */\nexport const CODE_FILEPATH = 'code.filepath';\n\n/**\n * Type for {@link CODE_FILEPATH} code.filepath\n */\nexport type CODE_FILEPATH_TYPE = string;\n\n// Path: model/attributes/code/code__function.json\n\n/**\n * The method or function name, or equivalent (usually rightmost part of the code unit's name). `code.function`\n *\n * Attribute Value Type: `string` {@link CODE_FUNCTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_FUNCTION_NAME} `code.function.name`\n *\n * @deprecated Use {@link CODE_FUNCTION_NAME} (code.function.name) instead\n * @example \"server_request\"\n */\nexport const CODE_FUNCTION = 'code.function';\n\n/**\n * Type for {@link CODE_FUNCTION} code.function\n */\nexport type CODE_FUNCTION_TYPE = string;\n\n// Path: model/attributes/code/code__function__name.json\n\n/**\n * The method or function name, or equivalent (usually rightmost part of the code unit's name). `code.function.name`\n *\n * Attribute Value Type: `string` {@link CODE_FUNCTION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_FUNCTION} `code.function`\n *\n * @example \"server_request\"\n */\nexport const CODE_FUNCTION_NAME = 'code.function.name';\n\n/**\n * Type for {@link CODE_FUNCTION_NAME} code.function.name\n */\nexport type CODE_FUNCTION_NAME_TYPE = string;\n\n// Path: model/attributes/code/code__line__number.json\n\n/**\n * The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function `code.line.number`\n *\n * Attribute Value Type: `number` {@link CODE_LINE_NUMBER_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_LINENO} `code.lineno`\n *\n * @example 42\n */\nexport const CODE_LINE_NUMBER = 'code.line.number';\n\n/**\n * Type for {@link CODE_LINE_NUMBER} code.line.number\n */\nexport type CODE_LINE_NUMBER_TYPE = number;\n\n// Path: model/attributes/code/code__lineno.json\n\n/**\n * The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function `code.lineno`\n *\n * Attribute Value Type: `number` {@link CODE_LINENO_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_LINE_NUMBER} `code.line.number`\n *\n * @deprecated Use {@link CODE_LINE_NUMBER} (code.line.number) instead\n * @example 42\n */\nexport const CODE_LINENO = 'code.lineno';\n\n/**\n * Type for {@link CODE_LINENO} code.lineno\n */\nexport type CODE_LINENO_TYPE = number;\n\n// Path: model/attributes/code/code__namespace.json\n\n/**\n * The 'namespace' within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit. `code.namespace`\n *\n * Attribute Value Type: `string` {@link CODE_NAMESPACE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link CODE_FUNCTION_NAME} (code.function.name) instead - code.function.name should include the namespace.\n * @example \"http.handler\"\n */\nexport const CODE_NAMESPACE = 'code.namespace';\n\n/**\n * Type for {@link CODE_NAMESPACE} code.namespace\n */\nexport type CODE_NAMESPACE_TYPE = string;\n\n// Path: model/attributes/db/db__collection__name.json\n\n/**\n * The name of a collection (table, container) within the database. `db.collection.name`\n *\n * Attribute Value Type: `string` {@link DB_COLLECTION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"users\"\n */\nexport const DB_COLLECTION_NAME = 'db.collection.name';\n\n/**\n * Type for {@link DB_COLLECTION_NAME} db.collection.name\n */\nexport type DB_COLLECTION_NAME_TYPE = string;\n\n// Path: model/attributes/db/db__name.json\n\n/**\n * The name of the database being accessed. `db.name`\n *\n * Attribute Value Type: `string` {@link DB_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_NAMESPACE} `db.namespace`\n *\n * @deprecated Use {@link DB_NAMESPACE} (db.namespace) instead\n * @example \"customers\"\n */\nexport const DB_NAME = 'db.name';\n\n/**\n * Type for {@link DB_NAME} db.name\n */\nexport type DB_NAME_TYPE = string;\n\n// Path: model/attributes/db/db__namespace.json\n\n/**\n * The name of the database being accessed. `db.namespace`\n *\n * Attribute Value Type: `string` {@link DB_NAMESPACE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_NAME} `db.name`\n *\n * @example \"customers\"\n */\nexport const DB_NAMESPACE = 'db.namespace';\n\n/**\n * Type for {@link DB_NAMESPACE} db.namespace\n */\nexport type DB_NAMESPACE_TYPE = string;\n\n// Path: model/attributes/db/db__operation.json\n\n/**\n * The name of the operation being executed. `db.operation`\n *\n * Attribute Value Type: `string` {@link DB_OPERATION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_OPERATION_NAME} `db.operation.name`\n *\n * @deprecated Use {@link DB_OPERATION_NAME} (db.operation.name) instead\n * @example \"SELECT\"\n */\nexport const DB_OPERATION = 'db.operation';\n\n/**\n * Type for {@link DB_OPERATION} db.operation\n */\nexport type DB_OPERATION_TYPE = string;\n\n// Path: model/attributes/db/db__operation__name.json\n\n/**\n * The name of the operation being executed. `db.operation.name`\n *\n * Attribute Value Type: `string` {@link DB_OPERATION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_OPERATION} `db.operation`\n *\n * @example \"SELECT\"\n */\nexport const DB_OPERATION_NAME = 'db.operation.name';\n\n/**\n * Type for {@link DB_OPERATION_NAME} db.operation.name\n */\nexport type DB_OPERATION_NAME_TYPE = string;\n\n// Path: model/attributes/db/db__query__parameter__[key].json\n\n/**\n * A query parameter used in db.query.text, with <key> being the parameter name, and the attribute value being a string representation of the parameter value. `db.query.parameter.<key>`\n *\n * Attribute Value Type: `string` {@link DB_QUERY_PARAMETER_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Has Dynamic Suffix: true\n *\n * @example \"db.query.parameter.foo='123'\"\n */\nexport const DB_QUERY_PARAMETER_KEY = 'db.query.parameter.<key>';\n\n/**\n * Type for {@link DB_QUERY_PARAMETER_KEY} db.query.parameter.<key>\n */\nexport type DB_QUERY_PARAMETER_KEY_TYPE = string;\n\n// Path: model/attributes/db/db__query__summary.json\n\n/**\n * A database query being executed. Should be paramaterized. The full version of the query is in `db.query.text`. `db.query.summary`\n *\n * Attribute Value Type: `string` {@link DB_QUERY_SUMMARY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"SELECT * FROM users\"\n */\nexport const DB_QUERY_SUMMARY = 'db.query.summary';\n\n/**\n * Type for {@link DB_QUERY_SUMMARY} db.query.summary\n */\nexport type DB_QUERY_SUMMARY_TYPE = string;\n\n// Path: model/attributes/db/db__query__text.json\n\n/**\n * The database query being executed. Should be the full query, not a parameterized version. The parameterized version is in `db.query.summary`. `db.query.text`\n *\n * Attribute Value Type: `string` {@link DB_QUERY_TEXT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_STATEMENT} `db.statement`\n *\n * @example \"SELECT * FROM users\"\n */\nexport const DB_QUERY_TEXT = 'db.query.text';\n\n/**\n * Type for {@link DB_QUERY_TEXT} db.query.text\n */\nexport type DB_QUERY_TEXT_TYPE = string;\n\n// Path: model/attributes/db/db__redis__connection.json\n\n/**\n * The redis connection name. `db.redis.connection`\n *\n * Attribute Value Type: `string` {@link DB_REDIS_CONNECTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"my-redis-instance\"\n */\nexport const DB_REDIS_CONNECTION = 'db.redis.connection';\n\n/**\n * Type for {@link DB_REDIS_CONNECTION} db.redis.connection\n */\nexport type DB_REDIS_CONNECTION_TYPE = string;\n\n// Path: model/attributes/db/db__redis__parameters.json\n\n/**\n * The array of command parameters given to a redis command. `db.redis.parameters`\n *\n * Attribute Value Type: `Array<string>` {@link DB_REDIS_PARAMETERS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"test\",\"*\"]\n */\nexport const DB_REDIS_PARAMETERS = 'db.redis.parameters';\n\n/**\n * Type for {@link DB_REDIS_PARAMETERS} db.redis.parameters\n */\nexport type DB_REDIS_PARAMETERS_TYPE = Array<string>;\n\n// Path: model/attributes/db/db__sql__bindings.json\n\n/**\n * The array of query bindings. `db.sql.bindings`\n *\n * Attribute Value Type: `Array<string>` {@link DB_SQL_BINDINGS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link DB_QUERY_PARAMETER_KEY} (db.query.parameter.<key>) instead - Instead of adding every binding in the db.sql.bindings attribute, add them as individual entires with db.query.parameter.<key>.\n * @example [\"1\",\"foo\"]\n */\nexport const DB_SQL_BINDINGS = 'db.sql.bindings';\n\n/**\n * Type for {@link DB_SQL_BINDINGS} db.sql.bindings\n */\nexport type DB_SQL_BINDINGS_TYPE = Array<string>;\n\n// Path: model/attributes/db/db__statement.json\n\n/**\n * The database statement being executed. `db.statement`\n *\n * Attribute Value Type: `string` {@link DB_STATEMENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_QUERY_TEXT} `db.query.text`\n *\n * @deprecated Use {@link DB_QUERY_TEXT} (db.query.text) instead\n * @example \"SELECT * FROM users\"\n */\nexport const DB_STATEMENT = 'db.statement';\n\n/**\n * Type for {@link DB_STATEMENT} db.statement\n */\nexport type DB_STATEMENT_TYPE = string;\n\n// Path: model/attributes/db/db__system.json\n\n/**\n * An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers. `db.system`\n *\n * Attribute Value Type: `string` {@link DB_SYSTEM_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_SYSTEM_NAME} `db.system.name`\n *\n * @deprecated Use {@link DB_SYSTEM_NAME} (db.system.name) instead\n * @example \"postgresql\"\n */\nexport const DB_SYSTEM = 'db.system';\n\n/**\n * Type for {@link DB_SYSTEM} db.system\n */\nexport type DB_SYSTEM_TYPE = string;\n\n// Path: model/attributes/db/db__system__name.json\n\n/**\n * An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers. `db.system.name`\n *\n * Attribute Value Type: `string` {@link DB_SYSTEM_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_SYSTEM} `db.system`\n *\n * @example \"postgresql\"\n */\nexport const DB_SYSTEM_NAME = 'db.system.name';\n\n/**\n * Type for {@link DB_SYSTEM_NAME} db.system.name\n */\nexport type DB_SYSTEM_NAME_TYPE = string;\n\n// Path: model/attributes/db/db__user.json\n\n/**\n * The database user. `db.user`\n *\n * Attribute Value Type: `string` {@link DB_USER_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"fancy_user\"\n */\nexport const DB_USER = 'db.user';\n\n/**\n * Type for {@link DB_USER} db.user\n */\nexport type DB_USER_TYPE = string;\n\n// Path: model/attributes/device/device__brand.json\n\n/**\n * The brand of the device. `device.brand`\n *\n * Attribute Value Type: `string` {@link DEVICE_BRAND_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Apple\"\n */\nexport const DEVICE_BRAND = 'device.brand';\n\n/**\n * Type for {@link DEVICE_BRAND} device.brand\n */\nexport type DEVICE_BRAND_TYPE = string;\n\n// Path: model/attributes/device/device__family.json\n\n/**\n * The family of the device. `device.family`\n *\n * Attribute Value Type: `string` {@link DEVICE_FAMILY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"iPhone\"\n */\nexport const DEVICE_FAMILY = 'device.family';\n\n/**\n * Type for {@link DEVICE_FAMILY} device.family\n */\nexport type DEVICE_FAMILY_TYPE = string;\n\n// Path: model/attributes/device/device__model.json\n\n/**\n * The model of the device. `device.model`\n *\n * Attribute Value Type: `string` {@link DEVICE_MODEL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"iPhone 15 Pro Max\"\n */\nexport const DEVICE_MODEL = 'device.model';\n\n/**\n * Type for {@link DEVICE_MODEL} device.model\n */\nexport type DEVICE_MODEL_TYPE = string;\n\n// Path: model/attributes/environment.json\n\n/**\n * The sentry environment. `environment`\n *\n * Attribute Value Type: `string` {@link ENVIRONMENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_ENVIRONMENT} `sentry.environment`\n *\n * @deprecated Use {@link SENTRY_ENVIRONMENT} (sentry.environment) instead\n * @example \"production\"\n */\nexport const ENVIRONMENT = 'environment';\n\n/**\n * Type for {@link ENVIRONMENT} environment\n */\nexport type ENVIRONMENT_TYPE = string;\n\n// Path: model/attributes/error/error__type.json\n\n/**\n * Describes a class of error the operation ended with. `error.type`\n *\n * Attribute Value Type: `string` {@link ERROR_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"timeout\"\n */\nexport const ERROR_TYPE = 'error.type';\n\n/**\n * Type for {@link ERROR_TYPE} error.type\n */\nexport type ERROR_TYPE_TYPE = string;\n\n// Path: model/attributes/event/event__id.json\n\n/**\n * The unique identifier for this event (log record) `event.id`\n *\n * Attribute Value Type: `number` {@link EVENT_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1234567890\n */\nexport const EVENT_ID = 'event.id';\n\n/**\n * Type for {@link EVENT_ID} event.id\n */\nexport type EVENT_ID_TYPE = number;\n\n// Path: model/attributes/event/event__name.json\n\n/**\n * The name that uniquely identifies this event (log record) `event.name`\n *\n * Attribute Value Type: `string` {@link EVENT_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Process Payload\"\n */\nexport const EVENT_NAME = 'event.name';\n\n/**\n * Type for {@link EVENT_NAME} event.name\n */\nexport type EVENT_NAME_TYPE = string;\n\n// Path: model/attributes/exception/exception__escaped.json\n\n/**\n * SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. `exception.escaped`\n *\n * Attribute Value Type: `boolean` {@link EXCEPTION_ESCAPED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example true\n */\nexport const EXCEPTION_ESCAPED = 'exception.escaped';\n\n/**\n * Type for {@link EXCEPTION_ESCAPED} exception.escaped\n */\nexport type EXCEPTION_ESCAPED_TYPE = boolean;\n\n// Path: model/attributes/exception/exception__message.json\n\n/**\n * The error message. `exception.message`\n *\n * Attribute Value Type: `string` {@link EXCEPTION_MESSAGE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"ENOENT: no such file or directory\"\n */\nexport const EXCEPTION_MESSAGE = 'exception.message';\n\n/**\n * Type for {@link EXCEPTION_MESSAGE} exception.message\n */\nexport type EXCEPTION_MESSAGE_TYPE = string;\n\n// Path: model/attributes/exception/exception__stacktrace.json\n\n/**\n * A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. `exception.stacktrace`\n *\n * Attribute Value Type: `string` {@link EXCEPTION_STACKTRACE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"Exception in thread \\\"main\\\" java.lang.RuntimeException: Test exception\\n at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\\n at com.example.GenerateTrace.methodA(GenerateTrace.java:9)\\n at com.example.GenerateTrace.main(GenerateTrace.java:5)\"\n */\nexport const EXCEPTION_STACKTRACE = 'exception.stacktrace';\n\n/**\n * Type for {@link EXCEPTION_STACKTRACE} exception.stacktrace\n */\nexport type EXCEPTION_STACKTRACE_TYPE = string;\n\n// Path: model/attributes/exception/exception__type.json\n\n/**\n * The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it. `exception.type`\n *\n * Attribute Value Type: `string` {@link EXCEPTION_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"OSError\"\n */\nexport const EXCEPTION_TYPE = 'exception.type';\n\n/**\n * Type for {@link EXCEPTION_TYPE} exception.type\n */\nexport type EXCEPTION_TYPE_TYPE = string;\n\n// Path: model/attributes/faas/faas__coldstart.json\n\n/**\n * A boolean that is true if the serverless function is executed for the first time (aka cold-start). `faas.coldstart`\n *\n * Attribute Value Type: `boolean` {@link FAAS_COLDSTART_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example true\n */\nexport const FAAS_COLDSTART = 'faas.coldstart';\n\n/**\n * Type for {@link FAAS_COLDSTART} faas.coldstart\n */\nexport type FAAS_COLDSTART_TYPE = boolean;\n\n// Path: model/attributes/faas/faas__cron.json\n\n/**\n * A string containing the schedule period as Cron Expression. `faas.cron`\n *\n * Attribute Value Type: `string` {@link FAAS_CRON_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"0/5 * * * ? *\"\n */\nexport const FAAS_CRON = 'faas.cron';\n\n/**\n * Type for {@link FAAS_CRON} faas.cron\n */\nexport type FAAS_CRON_TYPE = string;\n\n// Path: model/attributes/faas/faas__time.json\n\n/**\n * A string containing the function invocation time in the ISO 8601 format expressed in UTC. `faas.time`\n *\n * Attribute Value Type: `string` {@link FAAS_TIME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"2020-01-23T13:47:06Z\"\n */\nexport const FAAS_TIME = 'faas.time';\n\n/**\n * Type for {@link FAAS_TIME} faas.time\n */\nexport type FAAS_TIME_TYPE = string;\n\n// Path: model/attributes/faas/faas__trigger.json\n\n/**\n * Type of the trigger which caused this function invocation. `faas.trigger`\n *\n * Attribute Value Type: `string` {@link FAAS_TRIGGER_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"timer\"\n */\nexport const FAAS_TRIGGER = 'faas.trigger';\n\n/**\n * Type for {@link FAAS_TRIGGER} faas.trigger\n */\nexport type FAAS_TRIGGER_TYPE = string;\n\n// Path: model/attributes/flag/flag__evaluation__[key].json\n\n/**\n * An instance of a feature flag evaluation. The value of this attribute is the boolean representing the evaluation result. The <key> suffix is the name of the feature flag. `flag.evaluation.<key>`\n *\n * Attribute Value Type: `boolean` {@link FLAG_EVALUATION_KEY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * @example \"flag.evaluation.is_new_ui=true\"\n */\nexport const FLAG_EVALUATION_KEY = 'flag.evaluation.<key>';\n\n/**\n * Type for {@link FLAG_EVALUATION_KEY} flag.evaluation.<key>\n */\nexport type FLAG_EVALUATION_KEY_TYPE = boolean;\n\n// Path: model/attributes/frames/frames__delay.json\n\n/**\n * The sum of all delayed frame durations in seconds during the lifetime of the span. For more information see [frames delay](https://develop.sentry.dev/sdk/performance/frames-delay/). `frames.delay`\n *\n * Attribute Value Type: `number` {@link FRAMES_DELAY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 5\n */\nexport const FRAMES_DELAY = 'frames.delay';\n\n/**\n * Type for {@link FRAMES_DELAY} frames.delay\n */\nexport type FRAMES_DELAY_TYPE = number;\n\n// Path: model/attributes/frames/frames__frozen.json\n\n/**\n * The number of frozen frames rendered during the lifetime of the span. `frames.frozen`\n *\n * Attribute Value Type: `number` {@link FRAMES_FROZEN_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 3\n */\nexport const FRAMES_FROZEN = 'frames.frozen';\n\n/**\n * Type for {@link FRAMES_FROZEN} frames.frozen\n */\nexport type FRAMES_FROZEN_TYPE = number;\n\n// Path: model/attributes/frames/frames__slow.json\n\n/**\n * The number of slow frames rendered during the lifetime of the span. `frames.slow`\n *\n * Attribute Value Type: `number` {@link FRAMES_SLOW_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1\n */\nexport const FRAMES_SLOW = 'frames.slow';\n\n/**\n * Type for {@link FRAMES_SLOW} frames.slow\n */\nexport type FRAMES_SLOW_TYPE = number;\n\n// Path: model/attributes/frames/frames__total.json\n\n/**\n * The number of total frames rendered during the lifetime of the span. `frames.total`\n *\n * Attribute Value Type: `number` {@link FRAMES_TOTAL_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 60\n */\nexport const FRAMES_TOTAL = 'frames.total';\n\n/**\n * Type for {@link FRAMES_TOTAL} frames.total\n */\nexport type FRAMES_TOTAL_TYPE = number;\n\n// Path: model/attributes/fs_error.json\n\n/**\n * The error message of a file system error. `fs_error`\n *\n * Attribute Value Type: `string` {@link FS_ERROR_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link ERROR_TYPE} (error.type) instead - This attribute is not part of the OpenTelemetry specification and error.type fits much better.\n * @example \"ENOENT: no such file or directory\"\n */\nexport const FS_ERROR = 'fs_error';\n\n/**\n * Type for {@link FS_ERROR} fs_error\n */\nexport type FS_ERROR_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__agent__name.json\n\n/**\n * The name of the agent being used. `gen_ai.agent.name`\n *\n * Attribute Value Type: `string` {@link GEN_AI_AGENT_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"ResearchAssistant\"\n */\nexport const GEN_AI_AGENT_NAME = 'gen_ai.agent.name';\n\n/**\n * Type for {@link GEN_AI_AGENT_NAME} gen_ai.agent.name\n */\nexport type GEN_AI_AGENT_NAME_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__assistant__message.json\n\n/**\n * The assistant message passed to the model. `gen_ai.assistant.message`\n *\n * Attribute Value Type: `string` {@link GEN_AI_ASSISTANT_MESSAGE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"get_weather tool call\"\n */\nexport const GEN_AI_ASSISTANT_MESSAGE = 'gen_ai.assistant.message';\n\n/**\n * Type for {@link GEN_AI_ASSISTANT_MESSAGE} gen_ai.assistant.message\n */\nexport type GEN_AI_ASSISTANT_MESSAGE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__choice.json\n\n/**\n * The model's response message. `gen_ai.choice`\n *\n * Attribute Value Type: `string` {@link GEN_AI_CHOICE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"The weather in Paris is rainy and overcast, with temperatures around 57°F\"\n */\nexport const GEN_AI_CHOICE = 'gen_ai.choice';\n\n/**\n * Type for {@link GEN_AI_CHOICE} gen_ai.choice\n */\nexport type GEN_AI_CHOICE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__cost__input_tokens.json\n\n/**\n * The cost of tokens used to process the AI input (prompt) in USD (without cached input tokens). `gen_ai.cost.input_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_COST_INPUT_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 123.45\n */\nexport const GEN_AI_COST_INPUT_TOKENS = 'gen_ai.cost.input_tokens';\n\n/**\n * Type for {@link GEN_AI_COST_INPUT_TOKENS} gen_ai.cost.input_tokens\n */\nexport type GEN_AI_COST_INPUT_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__cost__output_tokens.json\n\n/**\n * The cost of tokens used for creating the AI output in USD (without reasoning tokens). `gen_ai.cost.output_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_COST_OUTPUT_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 123.45\n */\nexport const GEN_AI_COST_OUTPUT_TOKENS = 'gen_ai.cost.output_tokens';\n\n/**\n * Type for {@link GEN_AI_COST_OUTPUT_TOKENS} gen_ai.cost.output_tokens\n */\nexport type GEN_AI_COST_OUTPUT_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__cost__total_tokens.json\n\n/**\n * The total cost for the tokens used. `gen_ai.cost.total_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_COST_TOTAL_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 12.34\n */\nexport const GEN_AI_COST_TOTAL_TOKENS = 'gen_ai.cost.total_tokens';\n\n/**\n * Type for {@link GEN_AI_COST_TOTAL_TOKENS} gen_ai.cost.total_tokens\n */\nexport type GEN_AI_COST_TOTAL_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__operation__name.json\n\n/**\n * The name of the operation being performed. `gen_ai.operation.name`\n *\n * Attribute Value Type: `string` {@link GEN_AI_OPERATION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"chat\"\n */\nexport const GEN_AI_OPERATION_NAME = 'gen_ai.operation.name';\n\n/**\n * Type for {@link GEN_AI_OPERATION_NAME} gen_ai.operation.name\n */\nexport type GEN_AI_OPERATION_NAME_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__operation__type.json\n\n/**\n * The type of AI operation. Must be one of 'agent', 'ai_client', 'tool', 'handoff', 'guardrail'. Makes querying for spans in the UI easier. `gen_ai.operation.type`\n *\n * Attribute Value Type: `string` {@link GEN_AI_OPERATION_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"tool\"\n */\nexport const GEN_AI_OPERATION_TYPE = 'gen_ai.operation.type';\n\n/**\n * Type for {@link GEN_AI_OPERATION_TYPE} gen_ai.operation.type\n */\nexport type GEN_AI_OPERATION_TYPE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__pipeline__name.json\n\n/**\n * Name of the AI pipeline or chain being executed. `gen_ai.pipeline.name`\n *\n * Attribute Value Type: `string` {@link GEN_AI_PIPELINE_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link AI_PIPELINE_NAME} `ai.pipeline.name`\n *\n * @example \"Autofix Pipeline\"\n */\nexport const GEN_AI_PIPELINE_NAME = 'gen_ai.pipeline.name';\n\n/**\n * Type for {@link GEN_AI_PIPELINE_NAME} gen_ai.pipeline.name\n */\nexport type GEN_AI_PIPELINE_NAME_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__prompt.json\n\n/**\n * The input messages sent to the model `gen_ai.prompt`\n *\n * Attribute Value Type: `string` {@link GEN_AI_PROMPT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated - Deprecated from OTEL, use gen_ai.input.messages with the new format instead.\n * @example \"[{\\\"role\\\": \\\"user\\\", \\\"message\\\": \\\"hello\\\"}]\"\n */\nexport const GEN_AI_PROMPT = 'gen_ai.prompt';\n\n/**\n * Type for {@link GEN_AI_PROMPT} gen_ai.prompt\n */\nexport type GEN_AI_PROMPT_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__request__available_tools.json\n\n/**\n * The available tools for the model. It has to be a stringified version of an array of objects. `gen_ai.request.available_tools`\n *\n * Attribute Value Type: `string` {@link GEN_AI_REQUEST_AVAILABLE_TOOLS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"[{\\\"name\\\": \\\"get_weather\\\", \\\"description\\\": \\\"Get the weather for a given location\\\"}, {\\\"name\\\": \\\"get_news\\\", \\\"description\\\": \\\"Get the news for a given topic\\\"}]\"\n */\nexport const GEN_AI_REQUEST_AVAILABLE_TOOLS = 'gen_ai.request.available_tools';\n\n/**\n * Type for {@link GEN_AI_REQUEST_AVAILABLE_TOOLS} gen_ai.request.available_tools\n */\nexport type GEN_AI_REQUEST_AVAILABLE_TOOLS_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__request__frequency_penalty.json\n\n/**\n * Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation. `gen_ai.request.frequency_penalty`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_FREQUENCY_PENALTY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_FREQUENCY_PENALTY} `ai.frequency_penalty`\n *\n * @example 0.5\n */\nexport const GEN_AI_REQUEST_FREQUENCY_PENALTY = 'gen_ai.request.frequency_penalty';\n\n/**\n * Type for {@link GEN_AI_REQUEST_FREQUENCY_PENALTY} gen_ai.request.frequency_penalty\n */\nexport type GEN_AI_REQUEST_FREQUENCY_PENALTY_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__request__max_tokens.json\n\n/**\n * The maximum number of tokens to generate in the response. `gen_ai.request.max_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_MAX_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 2048\n */\nexport const GEN_AI_REQUEST_MAX_TOKENS = 'gen_ai.request.max_tokens';\n\n/**\n * Type for {@link GEN_AI_REQUEST_MAX_TOKENS} gen_ai.request.max_tokens\n */\nexport type GEN_AI_REQUEST_MAX_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__request__messages.json\n\n/**\n * The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `\"user\"`, `\"assistant\"`, `\"tool\"`, or `\"system\"`. For messages of the role `\"tool\"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: \"text\", text:\"...\"}`. `gen_ai.request.messages`\n *\n * Attribute Value Type: `string` {@link GEN_AI_REQUEST_MESSAGES_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link AI_INPUT_MESSAGES} `ai.input_messages`\n *\n * @example \"[{\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"Generate a random number.\\\"}, {\\\"role\\\": \\\"user\\\", \\\"content\\\": [{\\\"text\\\": \\\"Generate a random number between 0 and 10.\\\", \\\"type\\\": \\\"text\\\"}]}, {\\\"role\\\": \\\"tool\\\", \\\"content\\\": {\\\"toolCallId\\\": \\\"1\\\", \\\"toolName\\\": \\\"Weather\\\", \\\"output\\\": \\\"rainy\\\"}}]\"\n */\nexport const GEN_AI_REQUEST_MESSAGES = 'gen_ai.request.messages';\n\n/**\n * Type for {@link GEN_AI_REQUEST_MESSAGES} gen_ai.request.messages\n */\nexport type GEN_AI_REQUEST_MESSAGES_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__request__model.json\n\n/**\n * The model identifier being used for the request. `gen_ai.request.model`\n *\n * Attribute Value Type: `string` {@link GEN_AI_REQUEST_MODEL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"gpt-4-turbo-preview\"\n */\nexport const GEN_AI_REQUEST_MODEL = 'gen_ai.request.model';\n\n/**\n * Type for {@link GEN_AI_REQUEST_MODEL} gen_ai.request.model\n */\nexport type GEN_AI_REQUEST_MODEL_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__request__presence_penalty.json\n\n/**\n * Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies. `gen_ai.request.presence_penalty`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_PRESENCE_PENALTY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_PRESENCE_PENALTY} `ai.presence_penalty`\n *\n * @example 0.5\n */\nexport const GEN_AI_REQUEST_PRESENCE_PENALTY = 'gen_ai.request.presence_penalty';\n\n/**\n * Type for {@link GEN_AI_REQUEST_PRESENCE_PENALTY} gen_ai.request.presence_penalty\n */\nexport type GEN_AI_REQUEST_PRESENCE_PENALTY_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__request__seed.json\n\n/**\n * The seed, ideally models given the same seed and same other parameters will produce the exact same output. `gen_ai.request.seed`\n *\n * Attribute Value Type: `string` {@link GEN_AI_REQUEST_SEED_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_SEED} `ai.seed`\n *\n * @example \"1234567890\"\n */\nexport const GEN_AI_REQUEST_SEED = 'gen_ai.request.seed';\n\n/**\n * Type for {@link GEN_AI_REQUEST_SEED} gen_ai.request.seed\n */\nexport type GEN_AI_REQUEST_SEED_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__request__temperature.json\n\n/**\n * For an AI model call, the temperature parameter. Temperature essentially means how random the output will be. `gen_ai.request.temperature`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_TEMPERATURE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_TEMPERATURE} `ai.temperature`\n *\n * @example 0.1\n */\nexport const GEN_AI_REQUEST_TEMPERATURE = 'gen_ai.request.temperature';\n\n/**\n * Type for {@link GEN_AI_REQUEST_TEMPERATURE} gen_ai.request.temperature\n */\nexport type GEN_AI_REQUEST_TEMPERATURE_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__request__top_k.json\n\n/**\n * Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered). `gen_ai.request.top_k`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_TOP_K_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_TOP_K} `ai.top_k`\n *\n * @example 35\n */\nexport const GEN_AI_REQUEST_TOP_K = 'gen_ai.request.top_k';\n\n/**\n * Type for {@link GEN_AI_REQUEST_TOP_K} gen_ai.request.top_k\n */\nexport type GEN_AI_REQUEST_TOP_K_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__request__top_p.json\n\n/**\n * Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered). `gen_ai.request.top_p`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_TOP_P_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_TOP_P} `ai.top_p`\n *\n * @example 0.7\n */\nexport const GEN_AI_REQUEST_TOP_P = 'gen_ai.request.top_p';\n\n/**\n * Type for {@link GEN_AI_REQUEST_TOP_P} gen_ai.request.top_p\n */\nexport type GEN_AI_REQUEST_TOP_P_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__response__finish_reasons.json\n\n/**\n * The reason why the model stopped generating. `gen_ai.response.finish_reasons`\n *\n * Attribute Value Type: `string` {@link GEN_AI_RESPONSE_FINISH_REASONS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_FINISH_REASON} `ai.finish_reason`\n *\n * @example \"COMPLETE\"\n */\nexport const GEN_AI_RESPONSE_FINISH_REASONS = 'gen_ai.response.finish_reasons';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_FINISH_REASONS} gen_ai.response.finish_reasons\n */\nexport type GEN_AI_RESPONSE_FINISH_REASONS_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__response__id.json\n\n/**\n * Unique identifier for the completion. `gen_ai.response.id`\n *\n * Attribute Value Type: `string` {@link GEN_AI_RESPONSE_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_GENERATION_ID} `ai.generation_id`\n *\n * @example \"gen_123abc\"\n */\nexport const GEN_AI_RESPONSE_ID = 'gen_ai.response.id';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_ID} gen_ai.response.id\n */\nexport type GEN_AI_RESPONSE_ID_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__response__model.json\n\n/**\n * The vendor-specific ID of the model used. `gen_ai.response.model`\n *\n * Attribute Value Type: `string` {@link GEN_AI_RESPONSE_MODEL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_MODEL_ID} `ai.model_id`\n *\n * @example \"gpt-4\"\n */\nexport const GEN_AI_RESPONSE_MODEL = 'gen_ai.response.model';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_MODEL} gen_ai.response.model\n */\nexport type GEN_AI_RESPONSE_MODEL_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__response__streaming.json\n\n/**\n * Whether or not the AI model call's response was streamed back asynchronously `gen_ai.response.streaming`\n *\n * Attribute Value Type: `boolean` {@link GEN_AI_RESPONSE_STREAMING_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link AI_STREAMING} `ai.streaming`\n *\n * @example true\n */\nexport const GEN_AI_RESPONSE_STREAMING = 'gen_ai.response.streaming';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_STREAMING} gen_ai.response.streaming\n */\nexport type GEN_AI_RESPONSE_STREAMING_TYPE = boolean;\n\n// Path: model/attributes/gen_ai/gen_ai__response__text.json\n\n/**\n * The model's response text messages. It has to be a stringified version of an array of response text messages. `gen_ai.response.text`\n *\n * Attribute Value Type: `string` {@link GEN_AI_RESPONSE_TEXT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"[\\\"The weather in Paris is rainy and overcast, with temperatures around 57°F\\\", \\\"The weather in London is sunny and warm, with temperatures around 65°F\\\"]\"\n */\nexport const GEN_AI_RESPONSE_TEXT = 'gen_ai.response.text';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_TEXT} gen_ai.response.text\n */\nexport type GEN_AI_RESPONSE_TEXT_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__response__tokens_per_second.json\n\n/**\n * The total output tokens per seconds throughput `gen_ai.response.tokens_per_second`\n *\n * Attribute Value Type: `number` {@link GEN_AI_RESPONSE_TOKENS_PER_SECOND_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 12345.67\n */\nexport const GEN_AI_RESPONSE_TOKENS_PER_SECOND = 'gen_ai.response.tokens_per_second';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_TOKENS_PER_SECOND} gen_ai.response.tokens_per_second\n */\nexport type GEN_AI_RESPONSE_TOKENS_PER_SECOND_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__response__tool_calls.json\n\n/**\n * The tool calls in the model's response. It has to be a stringified version of an array of objects. `gen_ai.response.tool_calls`\n *\n * Attribute Value Type: `string` {@link GEN_AI_RESPONSE_TOOL_CALLS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"[{\\\"name\\\": \\\"get_weather\\\", \\\"arguments\\\": {\\\"location\\\": \\\"Paris\\\"}}]\"\n */\nexport const GEN_AI_RESPONSE_TOOL_CALLS = 'gen_ai.response.tool_calls';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_TOOL_CALLS} gen_ai.response.tool_calls\n */\nexport type GEN_AI_RESPONSE_TOOL_CALLS_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__system.json\n\n/**\n * The provider of the model. `gen_ai.system`\n *\n * Attribute Value Type: `string` {@link GEN_AI_SYSTEM_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_MODEL_PROVIDER} `ai.model.provider`\n *\n * @example \"openai\"\n */\nexport const GEN_AI_SYSTEM = 'gen_ai.system';\n\n/**\n * Type for {@link GEN_AI_SYSTEM} gen_ai.system\n */\nexport type GEN_AI_SYSTEM_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__system__message.json\n\n/**\n * The system instructions passed to the model. `gen_ai.system.message`\n *\n * Attribute Value Type: `string` {@link GEN_AI_SYSTEM_MESSAGE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"You are a helpful assistant\"\n */\nexport const GEN_AI_SYSTEM_MESSAGE = 'gen_ai.system.message';\n\n/**\n * Type for {@link GEN_AI_SYSTEM_MESSAGE} gen_ai.system.message\n */\nexport type GEN_AI_SYSTEM_MESSAGE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__description.json\n\n/**\n * The description of the tool being used. `gen_ai.tool.description`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_DESCRIPTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"Searches the web for current information about a topic\"\n */\nexport const GEN_AI_TOOL_DESCRIPTION = 'gen_ai.tool.description';\n\n/**\n * Type for {@link GEN_AI_TOOL_DESCRIPTION} gen_ai.tool.description\n */\nexport type GEN_AI_TOOL_DESCRIPTION_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__input.json\n\n/**\n * The input of the tool being used. It has to be a stringified version of the input to the tool. `gen_ai.tool.input`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_INPUT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"{\\\"location\\\": \\\"Paris\\\"}\"\n */\nexport const GEN_AI_TOOL_INPUT = 'gen_ai.tool.input';\n\n/**\n * Type for {@link GEN_AI_TOOL_INPUT} gen_ai.tool.input\n */\nexport type GEN_AI_TOOL_INPUT_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__message.json\n\n/**\n * The response from a tool or function call passed to the model. `gen_ai.tool.message`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_MESSAGE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"rainy, 57°F\"\n */\nexport const GEN_AI_TOOL_MESSAGE = 'gen_ai.tool.message';\n\n/**\n * Type for {@link GEN_AI_TOOL_MESSAGE} gen_ai.tool.message\n */\nexport type GEN_AI_TOOL_MESSAGE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__name.json\n\n/**\n * Name of the tool utilized by the agent. `gen_ai.tool.name`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_FUNCTION_CALL} `ai.function_call`\n *\n * @example \"Flights\"\n */\nexport const GEN_AI_TOOL_NAME = 'gen_ai.tool.name';\n\n/**\n * Type for {@link GEN_AI_TOOL_NAME} gen_ai.tool.name\n */\nexport type GEN_AI_TOOL_NAME_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__output.json\n\n/**\n * The output of the tool being used. It has to be a stringified version of the output of the tool. `gen_ai.tool.output`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_OUTPUT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"rainy, 57°F\"\n */\nexport const GEN_AI_TOOL_OUTPUT = 'gen_ai.tool.output';\n\n/**\n * Type for {@link GEN_AI_TOOL_OUTPUT} gen_ai.tool.output\n */\nexport type GEN_AI_TOOL_OUTPUT_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__type.json\n\n/**\n * The type of tool being used. `gen_ai.tool.type`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"function\"\n */\nexport const GEN_AI_TOOL_TYPE = 'gen_ai.tool.type';\n\n/**\n * Type for {@link GEN_AI_TOOL_TYPE} gen_ai.tool.type\n */\nexport type GEN_AI_TOOL_TYPE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__completion_tokens.json\n\n/**\n * The number of tokens used in the GenAI response (completion). `gen_ai.usage.completion_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_COMPLETION_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_COMPLETION_TOKENS_USED} `ai.completion_tokens.used`, {@link GEN_AI_USAGE_OUTPUT_TOKENS} `gen_ai.usage.output_tokens`\n *\n * @deprecated Use {@link GEN_AI_USAGE_OUTPUT_TOKENS} (gen_ai.usage.output_tokens) instead\n * @example 10\n */\nexport const GEN_AI_USAGE_COMPLETION_TOKENS = 'gen_ai.usage.completion_tokens';\n\n/**\n * Type for {@link GEN_AI_USAGE_COMPLETION_TOKENS} gen_ai.usage.completion_tokens\n */\nexport type GEN_AI_USAGE_COMPLETION_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__input_tokens.json\n\n/**\n * The number of tokens used to process the AI input (prompt) without cached input tokens. `gen_ai.usage.input_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_INPUT_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_PROMPT_TOKENS_USED} `ai.prompt_tokens.used`, {@link GEN_AI_USAGE_PROMPT_TOKENS} `gen_ai.usage.prompt_tokens`\n *\n * @example 10\n */\nexport const GEN_AI_USAGE_INPUT_TOKENS = 'gen_ai.usage.input_tokens';\n\n/**\n * Type for {@link GEN_AI_USAGE_INPUT_TOKENS} gen_ai.usage.input_tokens\n */\nexport type GEN_AI_USAGE_INPUT_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__input_tokens__cached.json\n\n/**\n * The number of cached tokens used to process the AI input (prompt). `gen_ai.usage.input_tokens.cached`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_INPUT_TOKENS_CACHED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 50\n */\nexport const GEN_AI_USAGE_INPUT_TOKENS_CACHED = 'gen_ai.usage.input_tokens.cached';\n\n/**\n * Type for {@link GEN_AI_USAGE_INPUT_TOKENS_CACHED} gen_ai.usage.input_tokens.cached\n */\nexport type GEN_AI_USAGE_INPUT_TOKENS_CACHED_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__output_tokens.json\n\n/**\n * The number of tokens used for creating the AI output (without reasoning tokens). `gen_ai.usage.output_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_OUTPUT_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_COMPLETION_TOKENS_USED} `ai.completion_tokens.used`, {@link GEN_AI_USAGE_COMPLETION_TOKENS} `gen_ai.usage.completion_tokens`\n *\n * @example 10\n */\nexport const GEN_AI_USAGE_OUTPUT_TOKENS = 'gen_ai.usage.output_tokens';\n\n/**\n * Type for {@link GEN_AI_USAGE_OUTPUT_TOKENS} gen_ai.usage.output_tokens\n */\nexport type GEN_AI_USAGE_OUTPUT_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__output_tokens__reasoning.json\n\n/**\n * The number of tokens used for reasoning to create the AI output. `gen_ai.usage.output_tokens.reasoning`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_OUTPUT_TOKENS_REASONING_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 75\n */\nexport const GEN_AI_USAGE_OUTPUT_TOKENS_REASONING = 'gen_ai.usage.output_tokens.reasoning';\n\n/**\n * Type for {@link GEN_AI_USAGE_OUTPUT_TOKENS_REASONING} gen_ai.usage.output_tokens.reasoning\n */\nexport type GEN_AI_USAGE_OUTPUT_TOKENS_REASONING_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__prompt_tokens.json\n\n/**\n * The number of tokens used in the GenAI input (prompt). `gen_ai.usage.prompt_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_PROMPT_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_PROMPT_TOKENS_USED} `ai.prompt_tokens.used`, {@link GEN_AI_USAGE_INPUT_TOKENS} `gen_ai.usage.input_tokens`\n *\n * @deprecated Use {@link GEN_AI_USAGE_INPUT_TOKENS} (gen_ai.usage.input_tokens) instead\n * @example 20\n */\nexport const GEN_AI_USAGE_PROMPT_TOKENS = 'gen_ai.usage.prompt_tokens';\n\n/**\n * Type for {@link GEN_AI_USAGE_PROMPT_TOKENS} gen_ai.usage.prompt_tokens\n */\nexport type GEN_AI_USAGE_PROMPT_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__total_cost.json\n\n/**\n * The total cost for the tokens used. `gen_ai.usage.total_cost`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_TOTAL_COST_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link GEN_AI_COST_TOTAL_TOKENS} (gen_ai.cost.total_tokens) instead\n * @example 12.34\n */\nexport const GEN_AI_USAGE_TOTAL_COST = 'gen_ai.usage.total_cost';\n\n/**\n * Type for {@link GEN_AI_USAGE_TOTAL_COST} gen_ai.usage.total_cost\n */\nexport type GEN_AI_USAGE_TOTAL_COST_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__total_tokens.json\n\n/**\n * The total number of tokens used to process the prompt. (input tokens plus output todkens) `gen_ai.usage.total_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_TOTAL_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link AI_TOTAL_TOKENS_USED} `ai.total_tokens.used`\n *\n * @example 20\n */\nexport const GEN_AI_USAGE_TOTAL_TOKENS = 'gen_ai.usage.total_tokens';\n\n/**\n * Type for {@link GEN_AI_USAGE_TOTAL_TOKENS} gen_ai.usage.total_tokens\n */\nexport type GEN_AI_USAGE_TOTAL_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__user__message.json\n\n/**\n * The user message passed to the model. `gen_ai.user.message`\n *\n * Attribute Value Type: `string` {@link GEN_AI_USER_MESSAGE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"What's the weather in Paris?\"\n */\nexport const GEN_AI_USER_MESSAGE = 'gen_ai.user.message';\n\n/**\n * Type for {@link GEN_AI_USER_MESSAGE} gen_ai.user.message\n */\nexport type GEN_AI_USER_MESSAGE_TYPE = string;\n\n// Path: model/attributes/graphql/graphql__operation__name.json\n\n/**\n * The name of the operation being executed. `graphql.operation.name`\n *\n * Attribute Value Type: `string` {@link GRAPHQL_OPERATION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"findBookById\"\n */\nexport const GRAPHQL_OPERATION_NAME = 'graphql.operation.name';\n\n/**\n * Type for {@link GRAPHQL_OPERATION_NAME} graphql.operation.name\n */\nexport type GRAPHQL_OPERATION_NAME_TYPE = string;\n\n// Path: model/attributes/graphql/graphql__operation__type.json\n\n/**\n * The type of the operation being executed. `graphql.operation.type`\n *\n * Attribute Value Type: `string` {@link GRAPHQL_OPERATION_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"query\"\n */\nexport const GRAPHQL_OPERATION_TYPE = 'graphql.operation.type';\n\n/**\n * Type for {@link GRAPHQL_OPERATION_TYPE} graphql.operation.type\n */\nexport type GRAPHQL_OPERATION_TYPE_TYPE = string;\n\n// Path: model/attributes/http/http__client_ip.json\n\n/**\n * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `http.client_ip`\n *\n * Attribute Value Type: `string` {@link HTTP_CLIENT_IP_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CLIENT_ADDRESS} `client.address`\n *\n * @deprecated Use {@link CLIENT_ADDRESS} (client.address) instead\n * @example \"example.com\"\n */\nexport const HTTP_CLIENT_IP = 'http.client_ip';\n\n/**\n * Type for {@link HTTP_CLIENT_IP} http.client_ip\n */\nexport type HTTP_CLIENT_IP_TYPE = string;\n\n// Path: model/attributes/http/http__decoded_response_content_length.json\n\n/**\n * The decoded body size of the response (in bytes). `http.decoded_response_content_length`\n *\n * Attribute Value Type: `number` {@link HTTP_DECODED_RESPONSE_CONTENT_LENGTH_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 456\n */\nexport const HTTP_DECODED_RESPONSE_CONTENT_LENGTH = 'http.decoded_response_content_length';\n\n/**\n * Type for {@link HTTP_DECODED_RESPONSE_CONTENT_LENGTH} http.decoded_response_content_length\n */\nexport type HTTP_DECODED_RESPONSE_CONTENT_LENGTH_TYPE = number;\n\n// Path: model/attributes/http/http__flavor.json\n\n/**\n * The actual version of the protocol used for network communication. `http.flavor`\n *\n * Attribute Value Type: `string` {@link HTTP_FLAVOR_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_PROTOCOL_VERSION} `network.protocol.version`, {@link NET_PROTOCOL_VERSION} `net.protocol.version`\n *\n * @deprecated Use {@link NETWORK_PROTOCOL_VERSION} (network.protocol.version) instead\n * @example \"1.1\"\n */\nexport const HTTP_FLAVOR = 'http.flavor';\n\n/**\n * Type for {@link HTTP_FLAVOR} http.flavor\n */\nexport type HTTP_FLAVOR_TYPE = string;\n\n// Path: model/attributes/http/http__fragment.json\n\n/**\n * The fragments present in the URI. Note that this contains the leading # character, while the `url.fragment` attribute does not. `http.fragment`\n *\n * Attribute Value Type: `string` {@link HTTP_FRAGMENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"#details\"\n */\nexport const HTTP_FRAGMENT = 'http.fragment';\n\n/**\n * Type for {@link HTTP_FRAGMENT} http.fragment\n */\nexport type HTTP_FRAGMENT_TYPE = string;\n\n// Path: model/attributes/http/http__host.json\n\n/**\n * The domain name. `http.host`\n *\n * Attribute Value Type: `string` {@link HTTP_HOST_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link SERVER_ADDRESS} `server.address`, {@link CLIENT_ADDRESS} `client.address`, {@link HTTP_SERVER_NAME} `http.server_name`, {@link NET_HOST_NAME} `net.host.name`\n *\n * @deprecated Use {@link SERVER_ADDRESS} (server.address) instead - Deprecated, use one of `server.address` or `client.address`, depending on the usage\n * @example \"example.com\"\n */\nexport const HTTP_HOST = 'http.host';\n\n/**\n * Type for {@link HTTP_HOST} http.host\n */\nexport type HTTP_HOST_TYPE = string;\n\n// Path: model/attributes/http/http__method.json\n\n/**\n * The HTTP method used. `http.method`\n *\n * Attribute Value Type: `string` {@link HTTP_METHOD_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_REQUEST_METHOD} `http.request.method`\n *\n * @deprecated Use {@link HTTP_REQUEST_METHOD} (http.request.method) instead\n * @example \"GET\"\n */\nexport const HTTP_METHOD = 'http.method';\n\n/**\n * Type for {@link HTTP_METHOD} http.method\n */\nexport type HTTP_METHOD_TYPE = string;\n\n// Path: model/attributes/http/http__query.json\n\n/**\n * The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not. `http.query`\n *\n * Attribute Value Type: `string` {@link HTTP_QUERY_TYPE}\n *\n * Contains PII: maybe - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.\n *\n * Attribute defined in OTEL: No\n *\n * @example \"?foo=bar&bar=baz\"\n */\nexport const HTTP_QUERY = 'http.query';\n\n/**\n * Type for {@link HTTP_QUERY} http.query\n */\nexport type HTTP_QUERY_TYPE = string;\n\n// Path: model/attributes/http/http__request__connect_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource. `http.request.connect_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_CONNECT_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.111\n */\nexport const HTTP_REQUEST_CONNECT_START = 'http.request.connect_start';\n\n/**\n * Type for {@link HTTP_REQUEST_CONNECT_START} http.request.connect_start\n */\nexport type HTTP_REQUEST_CONNECT_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__connection_end.json\n\n/**\n * The UNIX timestamp representing the time immediately after the browser finishes establishing the connection to the server to retrieve the resource. The timestamp value includes the time interval to establish the transport connection, as well as other time intervals such as TLS handshake and SOCKS authentication. `http.request.connection_end`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_CONNECTION_END_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.15\n */\nexport const HTTP_REQUEST_CONNECTION_END = 'http.request.connection_end';\n\n/**\n * Type for {@link HTTP_REQUEST_CONNECTION_END} http.request.connection_end\n */\nexport type HTTP_REQUEST_CONNECTION_END_TYPE = number;\n\n// Path: model/attributes/http/http__request__domain_lookup_end.json\n\n/**\n * The UNIX timestamp representing the time immediately after the browser finishes the domain-name lookup for the resource. `http.request.domain_lookup_end`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_DOMAIN_LOOKUP_END_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.201\n */\nexport const HTTP_REQUEST_DOMAIN_LOOKUP_END = 'http.request.domain_lookup_end';\n\n/**\n * Type for {@link HTTP_REQUEST_DOMAIN_LOOKUP_END} http.request.domain_lookup_end\n */\nexport type HTTP_REQUEST_DOMAIN_LOOKUP_END_TYPE = number;\n\n// Path: model/attributes/http/http__request__domain_lookup_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the browser starts the domain name lookup for the resource. `http.request.domain_lookup_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_DOMAIN_LOOKUP_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.322\n */\nexport const HTTP_REQUEST_DOMAIN_LOOKUP_START = 'http.request.domain_lookup_start';\n\n/**\n * Type for {@link HTTP_REQUEST_DOMAIN_LOOKUP_START} http.request.domain_lookup_start\n */\nexport type HTTP_REQUEST_DOMAIN_LOOKUP_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__fetch_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the browser starts to fetch the resource. `http.request.fetch_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_FETCH_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.389\n */\nexport const HTTP_REQUEST_FETCH_START = 'http.request.fetch_start';\n\n/**\n * Type for {@link HTTP_REQUEST_FETCH_START} http.request.fetch_start\n */\nexport type HTTP_REQUEST_FETCH_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__header__[key].json\n\n/**\n * HTTP request headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values. `http.request.header.<key>`\n *\n * Attribute Value Type: `Array<string>` {@link HTTP_REQUEST_HEADER_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Has Dynamic Suffix: true\n *\n * @example \"http.request.header.custom-header=['foo', 'bar']\"\n */\nexport const HTTP_REQUEST_HEADER_KEY = 'http.request.header.<key>';\n\n/**\n * Type for {@link HTTP_REQUEST_HEADER_KEY} http.request.header.<key>\n */\nexport type HTTP_REQUEST_HEADER_KEY_TYPE = Array<string>;\n\n// Path: model/attributes/http/http__request__method.json\n\n/**\n * The HTTP method used. `http.request.method`\n *\n * Attribute Value Type: `string` {@link HTTP_REQUEST_METHOD_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link METHOD} `method`, {@link HTTP_METHOD} `http.method`\n *\n * @example \"GET\"\n */\nexport const HTTP_REQUEST_METHOD = 'http.request.method';\n\n/**\n * Type for {@link HTTP_REQUEST_METHOD} http.request.method\n */\nexport type HTTP_REQUEST_METHOD_TYPE = string;\n\n// Path: model/attributes/http/http__request__redirect_end.json\n\n/**\n * The UNIX timestamp representing the timestamp immediately after receiving the last byte of the response of the last redirect `http.request.redirect_end`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_REDIRECT_END_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829558.502\n */\nexport const HTTP_REQUEST_REDIRECT_END = 'http.request.redirect_end';\n\n/**\n * Type for {@link HTTP_REQUEST_REDIRECT_END} http.request.redirect_end\n */\nexport type HTTP_REQUEST_REDIRECT_END_TYPE = number;\n\n// Path: model/attributes/http/http__request__redirect_start.json\n\n/**\n * The UNIX timestamp representing the start time of the fetch which that initiates the redirect. `http.request.redirect_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_REDIRECT_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.495\n */\nexport const HTTP_REQUEST_REDIRECT_START = 'http.request.redirect_start';\n\n/**\n * Type for {@link HTTP_REQUEST_REDIRECT_START} http.request.redirect_start\n */\nexport type HTTP_REQUEST_REDIRECT_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__request_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request. `http.request.request_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_REQUEST_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.51\n */\nexport const HTTP_REQUEST_REQUEST_START = 'http.request.request_start';\n\n/**\n * Type for {@link HTTP_REQUEST_REQUEST_START} http.request.request_start\n */\nexport type HTTP_REQUEST_REQUEST_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__resend_count.json\n\n/**\n * The ordinal number of request resending attempt (for any reason, including redirects). `http.request.resend_count`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_RESEND_COUNT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 2\n */\nexport const HTTP_REQUEST_RESEND_COUNT = 'http.request.resend_count';\n\n/**\n * Type for {@link HTTP_REQUEST_RESEND_COUNT} http.request.resend_count\n */\nexport type HTTP_REQUEST_RESEND_COUNT_TYPE = number;\n\n// Path: model/attributes/http/http__request__response_end.json\n\n/**\n * The UNIX timestamp representing the time immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first. `http.request.response_end`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_RESPONSE_END_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.89\n */\nexport const HTTP_REQUEST_RESPONSE_END = 'http.request.response_end';\n\n/**\n * Type for {@link HTTP_REQUEST_RESPONSE_END} http.request.response_end\n */\nexport type HTTP_REQUEST_RESPONSE_END_TYPE = number;\n\n// Path: model/attributes/http/http__request__response_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request. `http.request.response_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_RESPONSE_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.7\n */\nexport const HTTP_REQUEST_RESPONSE_START = 'http.request.response_start';\n\n/**\n * Type for {@link HTTP_REQUEST_RESPONSE_START} http.request.response_start\n */\nexport type HTTP_REQUEST_RESPONSE_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__secure_connection_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the browser starts the handshake process to secure the current connection. If a secure connection is not used, the property returns zero. `http.request.secure_connection_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_SECURE_CONNECTION_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.73\n */\nexport const HTTP_REQUEST_SECURE_CONNECTION_START = 'http.request.secure_connection_start';\n\n/**\n * Type for {@link HTTP_REQUEST_SECURE_CONNECTION_START} http.request.secure_connection_start\n */\nexport type HTTP_REQUEST_SECURE_CONNECTION_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__time_to_first_byte.json\n\n/**\n * The time in seconds from the browser's timeorigin to when the first byte of the request's response was received. See https://web.dev/articles/ttfb#measure-resource-requests `http.request.time_to_first_byte`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_TIME_TO_FIRST_BYTE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1.032\n */\nexport const HTTP_REQUEST_TIME_TO_FIRST_BYTE = 'http.request.time_to_first_byte';\n\n/**\n * Type for {@link HTTP_REQUEST_TIME_TO_FIRST_BYTE} http.request.time_to_first_byte\n */\nexport type HTTP_REQUEST_TIME_TO_FIRST_BYTE_TYPE = number;\n\n// Path: model/attributes/http/http__request__worker_start.json\n\n/**\n * The UNIX timestamp representing the timestamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running. `http.request.worker_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_WORKER_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829553.68\n */\nexport const HTTP_REQUEST_WORKER_START = 'http.request.worker_start';\n\n/**\n * Type for {@link HTTP_REQUEST_WORKER_START} http.request.worker_start\n */\nexport type HTTP_REQUEST_WORKER_START_TYPE = number;\n\n// Path: model/attributes/http/http__response__body__size.json\n\n/**\n * The encoded body size of the response (in bytes). `http.response.body.size`\n *\n * Attribute Value Type: `number` {@link HTTP_RESPONSE_BODY_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_RESPONSE_CONTENT_LENGTH} `http.response_content_length`, {@link HTTP_RESPONSE_HEADER_CONTENT_LENGTH} `http.response.header.content-length`\n *\n * @example 123\n */\nexport const HTTP_RESPONSE_BODY_SIZE = 'http.response.body.size';\n\n/**\n * Type for {@link HTTP_RESPONSE_BODY_SIZE} http.response.body.size\n */\nexport type HTTP_RESPONSE_BODY_SIZE_TYPE = number;\n\n// Path: model/attributes/http/http__response__header__[key].json\n\n/**\n * HTTP response headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values. `http.response.header.<key>`\n *\n * Attribute Value Type: `Array<string>` {@link HTTP_RESPONSE_HEADER_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Has Dynamic Suffix: true\n *\n * @example \"http.response.header.custom-header=['foo', 'bar']\"\n */\nexport const HTTP_RESPONSE_HEADER_KEY = 'http.response.header.<key>';\n\n/**\n * Type for {@link HTTP_RESPONSE_HEADER_KEY} http.response.header.<key>\n */\nexport type HTTP_RESPONSE_HEADER_KEY_TYPE = Array<string>;\n\n// Path: model/attributes/http/http__response__header__content-length.json\n\n/**\n * The size of the message body sent to the recipient (in bytes) `http.response.header.content-length`\n *\n * Attribute Value Type: `string` {@link HTTP_RESPONSE_HEADER_CONTENT_LENGTH_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_RESPONSE_CONTENT_LENGTH} `http.response_content_length`, {@link HTTP_RESPONSE_BODY_SIZE} `http.response.body.size`\n *\n * @example \"http.response.header.custom-header=['foo', 'bar']\"\n */\nexport const HTTP_RESPONSE_HEADER_CONTENT_LENGTH = 'http.response.header.content-length';\n\n/**\n * Type for {@link HTTP_RESPONSE_HEADER_CONTENT_LENGTH} http.response.header.content-length\n */\nexport type HTTP_RESPONSE_HEADER_CONTENT_LENGTH_TYPE = string;\n\n// Path: model/attributes/http/http__response__size.json\n\n/**\n * The transfer size of the response (in bytes). `http.response.size`\n *\n * Attribute Value Type: `number` {@link HTTP_RESPONSE_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_RESPONSE_TRANSFER_SIZE} `http.response_transfer_size`\n *\n * @example 456\n */\nexport const HTTP_RESPONSE_SIZE = 'http.response.size';\n\n/**\n * Type for {@link HTTP_RESPONSE_SIZE} http.response.size\n */\nexport type HTTP_RESPONSE_SIZE_TYPE = number;\n\n// Path: model/attributes/http/http__response__status_code.json\n\n/**\n * The status code of the HTTP response. `http.response.status_code`\n *\n * Attribute Value Type: `number` {@link HTTP_RESPONSE_STATUS_CODE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_STATUS_CODE} `http.status_code`\n *\n * @example 404\n */\nexport const HTTP_RESPONSE_STATUS_CODE = 'http.response.status_code';\n\n/**\n * Type for {@link HTTP_RESPONSE_STATUS_CODE} http.response.status_code\n */\nexport type HTTP_RESPONSE_STATUS_CODE_TYPE = number;\n\n// Path: model/attributes/http/http__response_content_length.json\n\n/**\n * The encoded body size of the response (in bytes). `http.response_content_length`\n *\n * Attribute Value Type: `number` {@link HTTP_RESPONSE_CONTENT_LENGTH_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_RESPONSE_BODY_SIZE} `http.response.body.size`, {@link HTTP_RESPONSE_HEADER_CONTENT_LENGTH} `http.response.header.content-length`\n *\n * @deprecated Use {@link HTTP_RESPONSE_BODY_SIZE} (http.response.body.size) instead\n * @example 123\n */\nexport const HTTP_RESPONSE_CONTENT_LENGTH = 'http.response_content_length';\n\n/**\n * Type for {@link HTTP_RESPONSE_CONTENT_LENGTH} http.response_content_length\n */\nexport type HTTP_RESPONSE_CONTENT_LENGTH_TYPE = number;\n\n// Path: model/attributes/http/http__response_transfer_size.json\n\n/**\n * The transfer size of the response (in bytes). `http.response_transfer_size`\n *\n * Attribute Value Type: `number` {@link HTTP_RESPONSE_TRANSFER_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link HTTP_RESPONSE_SIZE} `http.response.size`\n *\n * @deprecated Use {@link HTTP_RESPONSE_SIZE} (http.response.size) instead\n * @example 456\n */\nexport const HTTP_RESPONSE_TRANSFER_SIZE = 'http.response_transfer_size';\n\n/**\n * Type for {@link HTTP_RESPONSE_TRANSFER_SIZE} http.response_transfer_size\n */\nexport type HTTP_RESPONSE_TRANSFER_SIZE_TYPE = number;\n\n// Path: model/attributes/http/http__route.json\n\n/**\n * The matched route, that is, the path template in the format used by the respective server framework. `http.route`\n *\n * Attribute Value Type: `string` {@link HTTP_ROUTE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link URL_TEMPLATE} `url.template`\n *\n * @example \"/users/:id\"\n */\nexport const HTTP_ROUTE = 'http.route';\n\n/**\n * Type for {@link HTTP_ROUTE} http.route\n */\nexport type HTTP_ROUTE_TYPE = string;\n\n// Path: model/attributes/http/http__scheme.json\n\n/**\n * The URI scheme component identifying the used protocol. `http.scheme`\n *\n * Attribute Value Type: `string` {@link HTTP_SCHEME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link URL_SCHEME} `url.scheme`\n *\n * @deprecated Use {@link URL_SCHEME} (url.scheme) instead\n * @example \"https\"\n */\nexport const HTTP_SCHEME = 'http.scheme';\n\n/**\n * Type for {@link HTTP_SCHEME} http.scheme\n */\nexport type HTTP_SCHEME_TYPE = string;\n\n// Path: model/attributes/http/http__server_name.json\n\n/**\n * The server domain name `http.server_name`\n *\n * Attribute Value Type: `string` {@link HTTP_SERVER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link SERVER_ADDRESS} `server.address`, {@link NET_HOST_NAME} `net.host.name`, {@link HTTP_HOST} `http.host`\n *\n * @deprecated Use {@link SERVER_ADDRESS} (server.address) instead\n * @example \"example.com\"\n */\nexport const HTTP_SERVER_NAME = 'http.server_name';\n\n/**\n * Type for {@link HTTP_SERVER_NAME} http.server_name\n */\nexport type HTTP_SERVER_NAME_TYPE = string;\n\n// Path: model/attributes/http/http__status_code.json\n\n/**\n * The status code of the HTTP response. `http.status_code`\n *\n * Attribute Value Type: `number` {@link HTTP_STATUS_CODE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_RESPONSE_STATUS_CODE} `http.response.status_code`\n *\n * @deprecated Use {@link HTTP_RESPONSE_STATUS_CODE} (http.response.status_code) instead\n * @example 404\n */\nexport const HTTP_STATUS_CODE = 'http.status_code';\n\n/**\n * Type for {@link HTTP_STATUS_CODE} http.status_code\n */\nexport type HTTP_STATUS_CODE_TYPE = number;\n\n// Path: model/attributes/http/http__target.json\n\n/**\n * The pathname and query string of the URL. `http.target`\n *\n * Attribute Value Type: `string` {@link HTTP_TARGET_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link URL_PATH} (url.path) instead - This attribute is being deprecated in favor of url.path and url.query\n * @example \"/test?foo=bar#buzz\"\n */\nexport const HTTP_TARGET = 'http.target';\n\n/**\n * Type for {@link HTTP_TARGET} http.target\n */\nexport type HTTP_TARGET_TYPE = string;\n\n// Path: model/attributes/http/http__url.json\n\n/**\n * The URL of the resource that was fetched. `http.url`\n *\n * Attribute Value Type: `string` {@link HTTP_URL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link URL_FULL} `url.full`, {@link URL} `url`\n *\n * @deprecated Use {@link URL_FULL} (url.full) instead\n * @example \"https://example.com/test?foo=bar#buzz\"\n */\nexport const HTTP_URL = 'http.url';\n\n/**\n * Type for {@link HTTP_URL} http.url\n */\nexport type HTTP_URL_TYPE = string;\n\n// Path: model/attributes/http/http__user_agent.json\n\n/**\n * Value of the HTTP User-Agent header sent by the client. `http.user_agent`\n *\n * Attribute Value Type: `string` {@link HTTP_USER_AGENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link USER_AGENT_ORIGINAL} `user_agent.original`\n *\n * @deprecated Use {@link USER_AGENT_ORIGINAL} (user_agent.original) instead\n * @example \"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1\"\n */\nexport const HTTP_USER_AGENT = 'http.user_agent';\n\n/**\n * Type for {@link HTTP_USER_AGENT} http.user_agent\n */\nexport type HTTP_USER_AGENT_TYPE = string;\n\n// Path: model/attributes/id.json\n\n/**\n * A unique identifier for the span. `id`\n *\n * Attribute Value Type: `string` {@link ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"f47ac10b58cc4372a5670e02b2c3d479\"\n */\nexport const ID = 'id';\n\n/**\n * Type for {@link ID} id\n */\nexport type ID_TYPE = string;\n\n// Path: model/attributes/jvm/jvm__gc__action.json\n\n/**\n * Name of the garbage collector action. `jvm.gc.action`\n *\n * Attribute Value Type: `string` {@link JVM_GC_ACTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"end of minor GC\"\n */\nexport const JVM_GC_ACTION = 'jvm.gc.action';\n\n/**\n * Type for {@link JVM_GC_ACTION} jvm.gc.action\n */\nexport type JVM_GC_ACTION_TYPE = string;\n\n// Path: model/attributes/jvm/jvm__gc__name.json\n\n/**\n * Name of the garbage collector. `jvm.gc.name`\n *\n * Attribute Value Type: `string` {@link JVM_GC_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"G1 Young Generation\"\n */\nexport const JVM_GC_NAME = 'jvm.gc.name';\n\n/**\n * Type for {@link JVM_GC_NAME} jvm.gc.name\n */\nexport type JVM_GC_NAME_TYPE = string;\n\n// Path: model/attributes/jvm/jvm__memory__pool__name.json\n\n/**\n * Name of the memory pool. `jvm.memory.pool.name`\n *\n * Attribute Value Type: `string` {@link JVM_MEMORY_POOL_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"G1 Old Gen\"\n */\nexport const JVM_MEMORY_POOL_NAME = 'jvm.memory.pool.name';\n\n/**\n * Type for {@link JVM_MEMORY_POOL_NAME} jvm.memory.pool.name\n */\nexport type JVM_MEMORY_POOL_NAME_TYPE = string;\n\n// Path: model/attributes/jvm/jvm__memory__type.json\n\n/**\n * Name of the memory pool. `jvm.memory.type`\n *\n * Attribute Value Type: `string` {@link JVM_MEMORY_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"G1 Old Gen\"\n */\nexport const JVM_MEMORY_TYPE = 'jvm.memory.type';\n\n/**\n * Type for {@link JVM_MEMORY_TYPE} jvm.memory.type\n */\nexport type JVM_MEMORY_TYPE_TYPE = string;\n\n// Path: model/attributes/jvm/jvm__thread__daemon.json\n\n/**\n * Whether the thread is daemon or not. `jvm.thread.daemon`\n *\n * Attribute Value Type: `boolean` {@link JVM_THREAD_DAEMON_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example true\n */\nexport const JVM_THREAD_DAEMON = 'jvm.thread.daemon';\n\n/**\n * Type for {@link JVM_THREAD_DAEMON} jvm.thread.daemon\n */\nexport type JVM_THREAD_DAEMON_TYPE = boolean;\n\n// Path: model/attributes/jvm/jvm__thread__state.json\n\n/**\n * State of the thread. `jvm.thread.state`\n *\n * Attribute Value Type: `string` {@link JVM_THREAD_STATE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"blocked\"\n */\nexport const JVM_THREAD_STATE = 'jvm.thread.state';\n\n/**\n * Type for {@link JVM_THREAD_STATE} jvm.thread.state\n */\nexport type JVM_THREAD_STATE_TYPE = string;\n\n// Path: model/attributes/lcp/lcp__element.json\n\n/**\n * The dom element responsible for the largest contentful paint. `lcp.element`\n *\n * Attribute Value Type: `string` {@link LCP_ELEMENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"img\"\n */\nexport const LCP_ELEMENT = 'lcp.element';\n\n/**\n * Type for {@link LCP_ELEMENT} lcp.element\n */\nexport type LCP_ELEMENT_TYPE = string;\n\n// Path: model/attributes/lcp/lcp__id.json\n\n/**\n * The id of the dom element responsible for the largest contentful paint. `lcp.id`\n *\n * Attribute Value Type: `string` {@link LCP_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"#hero\"\n */\nexport const LCP_ID = 'lcp.id';\n\n/**\n * Type for {@link LCP_ID} lcp.id\n */\nexport type LCP_ID_TYPE = string;\n\n// Path: model/attributes/lcp/lcp__size.json\n\n/**\n * The size of the largest contentful paint element. `lcp.size`\n *\n * Attribute Value Type: `number` {@link LCP_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1234\n */\nexport const LCP_SIZE = 'lcp.size';\n\n/**\n * Type for {@link LCP_SIZE} lcp.size\n */\nexport type LCP_SIZE_TYPE = number;\n\n// Path: model/attributes/lcp/lcp__url.json\n\n/**\n * The url of the dom element responsible for the largest contentful paint. `lcp.url`\n *\n * Attribute Value Type: `string` {@link LCP_URL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"https://example.com\"\n */\nexport const LCP_URL = 'lcp.url';\n\n/**\n * Type for {@link LCP_URL} lcp.url\n */\nexport type LCP_URL_TYPE = string;\n\n// Path: model/attributes/logger/logger__name.json\n\n/**\n * The name of the logger that generated this event. `logger.name`\n *\n * Attribute Value Type: `string` {@link LOGGER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"myLogger\"\n */\nexport const LOGGER_NAME = 'logger.name';\n\n/**\n * Type for {@link LOGGER_NAME} logger.name\n */\nexport type LOGGER_NAME_TYPE = string;\n\n// Path: model/attributes/messaging/messaging__destination__connection.json\n\n/**\n * The message destination connection. `messaging.destination.connection`\n *\n * Attribute Value Type: `string` {@link MESSAGING_DESTINATION_CONNECTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"BestTopic\"\n */\nexport const MESSAGING_DESTINATION_CONNECTION = 'messaging.destination.connection';\n\n/**\n * Type for {@link MESSAGING_DESTINATION_CONNECTION} messaging.destination.connection\n */\nexport type MESSAGING_DESTINATION_CONNECTION_TYPE = string;\n\n// Path: model/attributes/messaging/messaging__destination__name.json\n\n/**\n * The message destination name. `messaging.destination.name`\n *\n * Attribute Value Type: `string` {@link MESSAGING_DESTINATION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"BestTopic\"\n */\nexport const MESSAGING_DESTINATION_NAME = 'messaging.destination.name';\n\n/**\n * Type for {@link MESSAGING_DESTINATION_NAME} messaging.destination.name\n */\nexport type MESSAGING_DESTINATION_NAME_TYPE = string;\n\n// Path: model/attributes/messaging/messaging__message__body__size.json\n\n/**\n * The size of the message body in bytes. `messaging.message.body.size`\n *\n * Attribute Value Type: `number` {@link MESSAGING_MESSAGE_BODY_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 839\n */\nexport const MESSAGING_MESSAGE_BODY_SIZE = 'messaging.message.body.size';\n\n/**\n * Type for {@link MESSAGING_MESSAGE_BODY_SIZE} messaging.message.body.size\n */\nexport type MESSAGING_MESSAGE_BODY_SIZE_TYPE = number;\n\n// Path: model/attributes/messaging/messaging__message__envelope__size.json\n\n/**\n * The size of the message body and metadata in bytes. `messaging.message.envelope.size`\n *\n * Attribute Value Type: `number` {@link MESSAGING_MESSAGE_ENVELOPE_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 1045\n */\nexport const MESSAGING_MESSAGE_ENVELOPE_SIZE = 'messaging.message.envelope.size';\n\n/**\n * Type for {@link MESSAGING_MESSAGE_ENVELOPE_SIZE} messaging.message.envelope.size\n */\nexport type MESSAGING_MESSAGE_ENVELOPE_SIZE_TYPE = number;\n\n// Path: model/attributes/messaging/messaging__message__id.json\n\n/**\n * A value used by the messaging system as an identifier for the message, represented as a string. `messaging.message.id`\n *\n * Attribute Value Type: `string` {@link MESSAGING_MESSAGE_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"f47ac10b58cc4372a5670e02b2c3d479\"\n */\nexport const MESSAGING_MESSAGE_ID = 'messaging.message.id';\n\n/**\n * Type for {@link MESSAGING_MESSAGE_ID} messaging.message.id\n */\nexport type MESSAGING_MESSAGE_ID_TYPE = string;\n\n// Path: model/attributes/messaging/messaging__message__receive__latency.json\n\n/**\n * The latency between when the message was published and received. `messaging.message.receive.latency`\n *\n * Attribute Value Type: `number` {@link MESSAGING_MESSAGE_RECEIVE_LATENCY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732847252\n */\nexport const MESSAGING_MESSAGE_RECEIVE_LATENCY = 'messaging.message.receive.latency';\n\n/**\n * Type for {@link MESSAGING_MESSAGE_RECEIVE_LATENCY} messaging.message.receive.latency\n */\nexport type MESSAGING_MESSAGE_RECEIVE_LATENCY_TYPE = number;\n\n// Path: model/attributes/messaging/messaging__message__retry__count.json\n\n/**\n * The amount of attempts to send the message. `messaging.message.retry.count`\n *\n * Attribute Value Type: `number` {@link MESSAGING_MESSAGE_RETRY_COUNT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 2\n */\nexport const MESSAGING_MESSAGE_RETRY_COUNT = 'messaging.message.retry.count';\n\n/**\n * Type for {@link MESSAGING_MESSAGE_RETRY_COUNT} messaging.message.retry.count\n */\nexport type MESSAGING_MESSAGE_RETRY_COUNT_TYPE = number;\n\n// Path: model/attributes/messaging/messaging__operation__type.json\n\n/**\n * A string identifying the type of the messaging operation `messaging.operation.type`\n *\n * Attribute Value Type: `string` {@link MESSAGING_OPERATION_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"create\"\n */\nexport const MESSAGING_OPERATION_TYPE = 'messaging.operation.type';\n\n/**\n * Type for {@link MESSAGING_OPERATION_TYPE} messaging.operation.type\n */\nexport type MESSAGING_OPERATION_TYPE_TYPE = string;\n\n// Path: model/attributes/messaging/messaging__system.json\n\n/**\n * The messaging system as identified by the client instrumentation. `messaging.system`\n *\n * Attribute Value Type: `string` {@link MESSAGING_SYSTEM_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"activemq\"\n */\nexport const MESSAGING_SYSTEM = 'messaging.system';\n\n/**\n * Type for {@link MESSAGING_SYSTEM} messaging.system\n */\nexport type MESSAGING_SYSTEM_TYPE = string;\n\n// Path: model/attributes/method.json\n\n/**\n * The HTTP method used. `method`\n *\n * Attribute Value Type: `string` {@link METHOD_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link HTTP_REQUEST_METHOD} `http.request.method`\n *\n * @deprecated Use {@link HTTP_REQUEST_METHOD} (http.request.method) instead\n * @example \"GET\"\n */\nexport const METHOD = 'method';\n\n/**\n * Type for {@link METHOD} method\n */\nexport type METHOD_TYPE = string;\n\n// Path: model/attributes/navigation/navigation__type.json\n\n/**\n * The type of navigation done by a client-side router. `navigation.type`\n *\n * Attribute Value Type: `string` {@link NAVIGATION_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"router.push\"\n */\nexport const NAVIGATION_TYPE = 'navigation.type';\n\n/**\n * Type for {@link NAVIGATION_TYPE} navigation.type\n */\nexport type NAVIGATION_TYPE_TYPE = string;\n\n// Path: model/attributes/nel/nel__elapsed_time.json\n\n/**\n * The elapsed number of milliseconds between the start of the resource fetch and when it was completed or aborted by the user agent. `nel.elapsed_time`\n *\n * Attribute Value Type: `number` {@link NEL_ELAPSED_TIME_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 100\n */\nexport const NEL_ELAPSED_TIME = 'nel.elapsed_time';\n\n/**\n * Type for {@link NEL_ELAPSED_TIME} nel.elapsed_time\n */\nexport type NEL_ELAPSED_TIME_TYPE = number;\n\n// Path: model/attributes/nel/nel__phase.json\n\n/**\n * If request failed, the phase of its network error. If request succeeded, \"application\". `nel.phase`\n *\n * Attribute Value Type: `string` {@link NEL_PHASE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"application\"\n */\nexport const NEL_PHASE = 'nel.phase';\n\n/**\n * Type for {@link NEL_PHASE} nel.phase\n */\nexport type NEL_PHASE_TYPE = string;\n\n// Path: model/attributes/nel/nel__referrer.json\n\n/**\n * request's referrer, as determined by the referrer policy associated with its client. `nel.referrer`\n *\n * Attribute Value Type: `string` {@link NEL_REFERRER_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"https://example.com/foo?bar=baz\"\n */\nexport const NEL_REFERRER = 'nel.referrer';\n\n/**\n * Type for {@link NEL_REFERRER} nel.referrer\n */\nexport type NEL_REFERRER_TYPE = string;\n\n// Path: model/attributes/nel/nel__sampling_function.json\n\n/**\n * The sampling function used to determine if the request should be sampled. `nel.sampling_function`\n *\n * Attribute Value Type: `number` {@link NEL_SAMPLING_FUNCTION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 0.5\n */\nexport const NEL_SAMPLING_FUNCTION = 'nel.sampling_function';\n\n/**\n * Type for {@link NEL_SAMPLING_FUNCTION} nel.sampling_function\n */\nexport type NEL_SAMPLING_FUNCTION_TYPE = number;\n\n// Path: model/attributes/nel/nel__type.json\n\n/**\n * If request failed, the type of its network error. If request succeeded, \"ok\". `nel.type`\n *\n * Attribute Value Type: `string` {@link NEL_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"dns.unreachable\"\n */\nexport const NEL_TYPE = 'nel.type';\n\n/**\n * Type for {@link NEL_TYPE} nel.type\n */\nexport type NEL_TYPE_TYPE = string;\n\n// Path: model/attributes/net/net__host__ip.json\n\n/**\n * Local address of the network connection - IP address or Unix domain socket name. `net.host.ip`\n *\n * Attribute Value Type: `string` {@link NET_HOST_IP_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_LOCAL_ADDRESS} `network.local.address`, {@link NET_SOCK_HOST_ADDR} `net.sock.host.addr`\n *\n * @deprecated Use {@link NETWORK_LOCAL_ADDRESS} (network.local.address) instead\n * @example \"192.168.0.1\"\n */\nexport const NET_HOST_IP = 'net.host.ip';\n\n/**\n * Type for {@link NET_HOST_IP} net.host.ip\n */\nexport type NET_HOST_IP_TYPE = string;\n\n// Path: model/attributes/net/net__host__name.json\n\n/**\n * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `net.host.name`\n *\n * Attribute Value Type: `string` {@link NET_HOST_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link SERVER_ADDRESS} `server.address`, {@link HTTP_SERVER_NAME} `http.server_name`, {@link HTTP_HOST} `http.host`\n *\n * @deprecated Use {@link SERVER_ADDRESS} (server.address) instead\n * @example \"example.com\"\n */\nexport const NET_HOST_NAME = 'net.host.name';\n\n/**\n * Type for {@link NET_HOST_NAME} net.host.name\n */\nexport type NET_HOST_NAME_TYPE = string;\n\n// Path: model/attributes/net/net__host__port.json\n\n/**\n * Server port number. `net.host.port`\n *\n * Attribute Value Type: `number` {@link NET_HOST_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link SERVER_PORT} `server.port`\n *\n * @deprecated Use {@link SERVER_PORT} (server.port) instead\n * @example 1337\n */\nexport const NET_HOST_PORT = 'net.host.port';\n\n/**\n * Type for {@link NET_HOST_PORT} net.host.port\n */\nexport type NET_HOST_PORT_TYPE = number;\n\n// Path: model/attributes/net/net__peer__ip.json\n\n/**\n * Peer address of the network connection - IP address or Unix domain socket name. `net.peer.ip`\n *\n * Attribute Value Type: `string` {@link NET_PEER_IP_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_PEER_ADDRESS} `network.peer.address`, {@link NET_SOCK_PEER_ADDR} `net.sock.peer.addr`\n *\n * @deprecated Use {@link NETWORK_PEER_ADDRESS} (network.peer.address) instead\n * @example \"192.168.0.1\"\n */\nexport const NET_PEER_IP = 'net.peer.ip';\n\n/**\n * Type for {@link NET_PEER_IP} net.peer.ip\n */\nexport type NET_PEER_IP_TYPE = string;\n\n// Path: model/attributes/net/net__peer__name.json\n\n/**\n * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `net.peer.name`\n *\n * Attribute Value Type: `string` {@link NET_PEER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link SERVER_ADDRESS} (server.address) instead - Deprecated, use server.address on client spans and client.address on server spans.\n * @example \"example.com\"\n */\nexport const NET_PEER_NAME = 'net.peer.name';\n\n/**\n * Type for {@link NET_PEER_NAME} net.peer.name\n */\nexport type NET_PEER_NAME_TYPE = string;\n\n// Path: model/attributes/net/net__peer__port.json\n\n/**\n * Peer port number. `net.peer.port`\n *\n * Attribute Value Type: `number` {@link NET_PEER_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link SERVER_PORT} (server.port) instead - Deprecated, use server.port on client spans and client.port on server spans.\n * @example 1337\n */\nexport const NET_PEER_PORT = 'net.peer.port';\n\n/**\n * Type for {@link NET_PEER_PORT} net.peer.port\n */\nexport type NET_PEER_PORT_TYPE = number;\n\n// Path: model/attributes/net/net__protocol__name.json\n\n/**\n * OSI application layer or non-OSI equivalent. `net.protocol.name`\n *\n * Attribute Value Type: `string` {@link NET_PROTOCOL_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_PROTOCOL_NAME} `network.protocol.name`\n *\n * @deprecated Use {@link NETWORK_PROTOCOL_NAME} (network.protocol.name) instead\n * @example \"http\"\n */\nexport const NET_PROTOCOL_NAME = 'net.protocol.name';\n\n/**\n * Type for {@link NET_PROTOCOL_NAME} net.protocol.name\n */\nexport type NET_PROTOCOL_NAME_TYPE = string;\n\n// Path: model/attributes/net/net__protocol__version.json\n\n/**\n * The actual version of the protocol used for network communication. `net.protocol.version`\n *\n * Attribute Value Type: `string` {@link NET_PROTOCOL_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_PROTOCOL_VERSION} `network.protocol.version`, {@link HTTP_FLAVOR} `http.flavor`\n *\n * @deprecated Use {@link NETWORK_PROTOCOL_VERSION} (network.protocol.version) instead\n * @example \"1.1\"\n */\nexport const NET_PROTOCOL_VERSION = 'net.protocol.version';\n\n/**\n * Type for {@link NET_PROTOCOL_VERSION} net.protocol.version\n */\nexport type NET_PROTOCOL_VERSION_TYPE = string;\n\n// Path: model/attributes/net/net__sock__family.json\n\n/**\n * OSI transport and network layer `net.sock.family`\n *\n * Attribute Value Type: `string` {@link NET_SOCK_FAMILY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link NETWORK_TRANSPORT} (network.transport) instead - Deprecated, use network.transport and network.type.\n * @example \"inet\"\n */\nexport const NET_SOCK_FAMILY = 'net.sock.family';\n\n/**\n * Type for {@link NET_SOCK_FAMILY} net.sock.family\n */\nexport type NET_SOCK_FAMILY_TYPE = string;\n\n// Path: model/attributes/net/net__sock__host__addr.json\n\n/**\n * Local address of the network connection mapping to Unix domain socket name. `net.sock.host.addr`\n *\n * Attribute Value Type: `string` {@link NET_SOCK_HOST_ADDR_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_LOCAL_ADDRESS} `network.local.address`, {@link NET_HOST_IP} `net.host.ip`\n *\n * @deprecated Use {@link NETWORK_LOCAL_ADDRESS} (network.local.address) instead\n * @example \"/var/my.sock\"\n */\nexport const NET_SOCK_HOST_ADDR = 'net.sock.host.addr';\n\n/**\n * Type for {@link NET_SOCK_HOST_ADDR} net.sock.host.addr\n */\nexport type NET_SOCK_HOST_ADDR_TYPE = string;\n\n// Path: model/attributes/net/net__sock__host__port.json\n\n/**\n * Local port number of the network connection. `net.sock.host.port`\n *\n * Attribute Value Type: `number` {@link NET_SOCK_HOST_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_LOCAL_PORT} `network.local.port`\n *\n * @deprecated Use {@link NETWORK_LOCAL_PORT} (network.local.port) instead\n * @example 8080\n */\nexport const NET_SOCK_HOST_PORT = 'net.sock.host.port';\n\n/**\n * Type for {@link NET_SOCK_HOST_PORT} net.sock.host.port\n */\nexport type NET_SOCK_HOST_PORT_TYPE = number;\n\n// Path: model/attributes/net/net__sock__peer__addr.json\n\n/**\n * Peer address of the network connection - IP address `net.sock.peer.addr`\n *\n * Attribute Value Type: `string` {@link NET_SOCK_PEER_ADDR_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_PEER_ADDRESS} `network.peer.address`, {@link NET_PEER_IP} `net.peer.ip`\n *\n * @deprecated Use {@link NETWORK_PEER_ADDRESS} (network.peer.address) instead\n * @example \"192.168.0.1\"\n */\nexport const NET_SOCK_PEER_ADDR = 'net.sock.peer.addr';\n\n/**\n * Type for {@link NET_SOCK_PEER_ADDR} net.sock.peer.addr\n */\nexport type NET_SOCK_PEER_ADDR_TYPE = string;\n\n// Path: model/attributes/net/net__sock__peer__name.json\n\n/**\n * Peer address of the network connection - Unix domain socket name `net.sock.peer.name`\n *\n * Attribute Value Type: `string` {@link NET_SOCK_PEER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated - Deprecated from OTEL, no replacement at this time\n * @example \"/var/my.sock\"\n */\nexport const NET_SOCK_PEER_NAME = 'net.sock.peer.name';\n\n/**\n * Type for {@link NET_SOCK_PEER_NAME} net.sock.peer.name\n */\nexport type NET_SOCK_PEER_NAME_TYPE = string;\n\n// Path: model/attributes/net/net__sock__peer__port.json\n\n/**\n * Peer port number of the network connection. `net.sock.peer.port`\n *\n * Attribute Value Type: `number` {@link NET_SOCK_PEER_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link NETWORK_PEER_PORT} (network.peer.port) instead\n * @example 8080\n */\nexport const NET_SOCK_PEER_PORT = 'net.sock.peer.port';\n\n/**\n * Type for {@link NET_SOCK_PEER_PORT} net.sock.peer.port\n */\nexport type NET_SOCK_PEER_PORT_TYPE = number;\n\n// Path: model/attributes/net/net__transport.json\n\n/**\n * OSI transport layer or inter-process communication method. `net.transport`\n *\n * Attribute Value Type: `string` {@link NET_TRANSPORT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_TRANSPORT} `network.transport`\n *\n * @deprecated Use {@link NETWORK_TRANSPORT} (network.transport) instead\n * @example \"tcp\"\n */\nexport const NET_TRANSPORT = 'net.transport';\n\n/**\n * Type for {@link NET_TRANSPORT} net.transport\n */\nexport type NET_TRANSPORT_TYPE = string;\n\n// Path: model/attributes/network/network__local__address.json\n\n/**\n * Local address of the network connection - IP address or Unix domain socket name. `network.local.address`\n *\n * Attribute Value Type: `string` {@link NETWORK_LOCAL_ADDRESS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_HOST_IP} `net.host.ip`, {@link NET_SOCK_HOST_ADDR} `net.sock.host.addr`\n *\n * @example \"10.1.2.80\"\n */\nexport const NETWORK_LOCAL_ADDRESS = 'network.local.address';\n\n/**\n * Type for {@link NETWORK_LOCAL_ADDRESS} network.local.address\n */\nexport type NETWORK_LOCAL_ADDRESS_TYPE = string;\n\n// Path: model/attributes/network/network__local__port.json\n\n/**\n * Local port number of the network connection. `network.local.port`\n *\n * Attribute Value Type: `number` {@link NETWORK_LOCAL_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_SOCK_HOST_PORT} `net.sock.host.port`\n *\n * @example 65400\n */\nexport const NETWORK_LOCAL_PORT = 'network.local.port';\n\n/**\n * Type for {@link NETWORK_LOCAL_PORT} network.local.port\n */\nexport type NETWORK_LOCAL_PORT_TYPE = number;\n\n// Path: model/attributes/network/network__peer__address.json\n\n/**\n * Peer address of the network connection - IP address or Unix domain socket name. `network.peer.address`\n *\n * Attribute Value Type: `string` {@link NETWORK_PEER_ADDRESS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_PEER_IP} `net.peer.ip`, {@link NET_SOCK_PEER_ADDR} `net.sock.peer.addr`\n *\n * @example \"10.1.2.80\"\n */\nexport const NETWORK_PEER_ADDRESS = 'network.peer.address';\n\n/**\n * Type for {@link NETWORK_PEER_ADDRESS} network.peer.address\n */\nexport type NETWORK_PEER_ADDRESS_TYPE = string;\n\n// Path: model/attributes/network/network__peer__port.json\n\n/**\n * Peer port number of the network connection. `network.peer.port`\n *\n * Attribute Value Type: `number` {@link NETWORK_PEER_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 65400\n */\nexport const NETWORK_PEER_PORT = 'network.peer.port';\n\n/**\n * Type for {@link NETWORK_PEER_PORT} network.peer.port\n */\nexport type NETWORK_PEER_PORT_TYPE = number;\n\n// Path: model/attributes/network/network__protocol__name.json\n\n/**\n * OSI application layer or non-OSI equivalent. `network.protocol.name`\n *\n * Attribute Value Type: `string` {@link NETWORK_PROTOCOL_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_PROTOCOL_NAME} `net.protocol.name`\n *\n * @example \"http\"\n */\nexport const NETWORK_PROTOCOL_NAME = 'network.protocol.name';\n\n/**\n * Type for {@link NETWORK_PROTOCOL_NAME} network.protocol.name\n */\nexport type NETWORK_PROTOCOL_NAME_TYPE = string;\n\n// Path: model/attributes/network/network__protocol__version.json\n\n/**\n * The actual version of the protocol used for network communication. `network.protocol.version`\n *\n * Attribute Value Type: `string` {@link NETWORK_PROTOCOL_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_FLAVOR} `http.flavor`, {@link NET_PROTOCOL_VERSION} `net.protocol.version`\n *\n * @example \"1.1\"\n */\nexport const NETWORK_PROTOCOL_VERSION = 'network.protocol.version';\n\n/**\n * Type for {@link NETWORK_PROTOCOL_VERSION} network.protocol.version\n */\nexport type NETWORK_PROTOCOL_VERSION_TYPE = string;\n\n// Path: model/attributes/network/network__transport.json\n\n/**\n * OSI transport layer or inter-process communication method. `network.transport`\n *\n * Attribute Value Type: `string` {@link NETWORK_TRANSPORT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_TRANSPORT} `net.transport`\n *\n * @example \"tcp\"\n */\nexport const NETWORK_TRANSPORT = 'network.transport';\n\n/**\n * Type for {@link NETWORK_TRANSPORT} network.transport\n */\nexport type NETWORK_TRANSPORT_TYPE = string;\n\n// Path: model/attributes/network/network__type.json\n\n/**\n * OSI network layer or non-OSI equivalent. `network.type`\n *\n * Attribute Value Type: `string` {@link NETWORK_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"ipv4\"\n */\nexport const NETWORK_TYPE = 'network.type';\n\n/**\n * Type for {@link NETWORK_TYPE} network.type\n */\nexport type NETWORK_TYPE_TYPE = string;\n\n// Path: model/attributes/os/os__build_id.json\n\n/**\n * The build ID of the operating system. `os.build_id`\n *\n * Attribute Value Type: `string` {@link OS_BUILD_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"1234567890\"\n */\nexport const OS_BUILD_ID = 'os.build_id';\n\n/**\n * Type for {@link OS_BUILD_ID} os.build_id\n */\nexport type OS_BUILD_ID_TYPE = string;\n\n// Path: model/attributes/os/os__description.json\n\n/**\n * Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands. `os.description`\n *\n * Attribute Value Type: `string` {@link OS_DESCRIPTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"Ubuntu 18.04.1 LTS\"\n */\nexport const OS_DESCRIPTION = 'os.description';\n\n/**\n * Type for {@link OS_DESCRIPTION} os.description\n */\nexport type OS_DESCRIPTION_TYPE = string;\n\n// Path: model/attributes/os/os__name.json\n\n/**\n * Human readable operating system name. `os.name`\n *\n * Attribute Value Type: `string` {@link OS_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"Ubuntu\"\n */\nexport const OS_NAME = 'os.name';\n\n/**\n * Type for {@link OS_NAME} os.name\n */\nexport type OS_NAME_TYPE = string;\n\n// Path: model/attributes/os/os__type.json\n\n/**\n * The operating system type. `os.type`\n *\n * Attribute Value Type: `string` {@link OS_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"linux\"\n */\nexport const OS_TYPE = 'os.type';\n\n/**\n * Type for {@link OS_TYPE} os.type\n */\nexport type OS_TYPE_TYPE = string;\n\n// Path: model/attributes/os/os__version.json\n\n/**\n * The version of the operating system. `os.version`\n *\n * Attribute Value Type: `string` {@link OS_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"18.04.2\"\n */\nexport const OS_VERSION = 'os.version';\n\n/**\n * Type for {@link OS_VERSION} os.version\n */\nexport type OS_VERSION_TYPE = string;\n\n// Path: model/attributes/otel/otel__scope__name.json\n\n/**\n * The name of the instrumentation scope - (InstrumentationScope.Name in OTLP). `otel.scope.name`\n *\n * Attribute Value Type: `string` {@link OTEL_SCOPE_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"io.opentelemetry.contrib.mongodb\"\n */\nexport const OTEL_SCOPE_NAME = 'otel.scope.name';\n\n/**\n * Type for {@link OTEL_SCOPE_NAME} otel.scope.name\n */\nexport type OTEL_SCOPE_NAME_TYPE = string;\n\n// Path: model/attributes/otel/otel__scope__version.json\n\n/**\n * The version of the instrumentation scope - (InstrumentationScope.Version in OTLP). `otel.scope.version`\n *\n * Attribute Value Type: `string` {@link OTEL_SCOPE_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"2.4.5\"\n */\nexport const OTEL_SCOPE_VERSION = 'otel.scope.version';\n\n/**\n * Type for {@link OTEL_SCOPE_VERSION} otel.scope.version\n */\nexport type OTEL_SCOPE_VERSION_TYPE = string;\n\n// Path: model/attributes/otel/otel__status_code.json\n\n/**\n * Name of the code, either “OK” or “ERROR”. MUST NOT be set if the status code is UNSET. `otel.status_code`\n *\n * Attribute Value Type: `string` {@link OTEL_STATUS_CODE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"OK\"\n */\nexport const OTEL_STATUS_CODE = 'otel.status_code';\n\n/**\n * Type for {@link OTEL_STATUS_CODE} otel.status_code\n */\nexport type OTEL_STATUS_CODE_TYPE = string;\n\n// Path: model/attributes/otel/otel__status_description.json\n\n/**\n * Description of the Status if it has a value, otherwise not set. `otel.status_description`\n *\n * Attribute Value Type: `string` {@link OTEL_STATUS_DESCRIPTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"resource not found\"\n */\nexport const OTEL_STATUS_DESCRIPTION = 'otel.status_description';\n\n/**\n * Type for {@link OTEL_STATUS_DESCRIPTION} otel.status_description\n */\nexport type OTEL_STATUS_DESCRIPTION_TYPE = string;\n\n// Path: model/attributes/params/params__[key].json\n\n/**\n * Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router. `params.<key>`\n *\n * Attribute Value Type: `string` {@link PARAMS_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * Aliases: {@link URL_PATH_PARAMETER_KEY} `url.path.parameter.<key>`\n *\n * @example \"params.id='123'\"\n */\nexport const PARAMS_KEY = 'params.<key>';\n\n/**\n * Type for {@link PARAMS_KEY} params.<key>\n */\nexport type PARAMS_KEY_TYPE = string;\n\n// Path: model/attributes/previous_route.json\n\n/**\n * Also used by mobile SDKs to indicate the previous route in the application. `previous_route`\n *\n * Attribute Value Type: `string` {@link PREVIOUS_ROUTE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"HomeScreen\"\n */\nexport const PREVIOUS_ROUTE = 'previous_route';\n\n/**\n * Type for {@link PREVIOUS_ROUTE} previous_route\n */\nexport type PREVIOUS_ROUTE_TYPE = string;\n\n// Path: model/attributes/process/process__executable__name.json\n\n/**\n * The name of the executable that started the process. `process.executable.name`\n *\n * Attribute Value Type: `string` {@link PROCESS_EXECUTABLE_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"getsentry\"\n */\nexport const PROCESS_EXECUTABLE_NAME = 'process.executable.name';\n\n/**\n * Type for {@link PROCESS_EXECUTABLE_NAME} process.executable.name\n */\nexport type PROCESS_EXECUTABLE_NAME_TYPE = string;\n\n// Path: model/attributes/process/process__pid.json\n\n/**\n * The process ID of the running process. `process.pid`\n *\n * Attribute Value Type: `number` {@link PROCESS_PID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 12345\n */\nexport const PROCESS_PID = 'process.pid';\n\n/**\n * Type for {@link PROCESS_PID} process.pid\n */\nexport type PROCESS_PID_TYPE = number;\n\n// Path: model/attributes/process/process__runtime__description.json\n\n/**\n * An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. Equivalent to `raw_description` in the Sentry runtime context. `process.runtime.description`\n *\n * Attribute Value Type: `string` {@link PROCESS_RUNTIME_DESCRIPTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"Eclipse OpenJ9 VM openj9-0.21.0\"\n */\nexport const PROCESS_RUNTIME_DESCRIPTION = 'process.runtime.description';\n\n/**\n * Type for {@link PROCESS_RUNTIME_DESCRIPTION} process.runtime.description\n */\nexport type PROCESS_RUNTIME_DESCRIPTION_TYPE = string;\n\n// Path: model/attributes/process/process__runtime__name.json\n\n/**\n * The name of the runtime. Equivalent to `name` in the Sentry runtime context. `process.runtime.name`\n *\n * Attribute Value Type: `string` {@link PROCESS_RUNTIME_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"node\"\n */\nexport const PROCESS_RUNTIME_NAME = 'process.runtime.name';\n\n/**\n * Type for {@link PROCESS_RUNTIME_NAME} process.runtime.name\n */\nexport type PROCESS_RUNTIME_NAME_TYPE = string;\n\n// Path: model/attributes/process/process__runtime__version.json\n\n/**\n * The version of the runtime of this process, as returned by the runtime without modification. Equivalent to `version` in the Sentry runtime context. `process.runtime.version`\n *\n * Attribute Value Type: `string` {@link PROCESS_RUNTIME_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"18.04.2\"\n */\nexport const PROCESS_RUNTIME_VERSION = 'process.runtime.version';\n\n/**\n * Type for {@link PROCESS_RUNTIME_VERSION} process.runtime.version\n */\nexport type PROCESS_RUNTIME_VERSION_TYPE = string;\n\n// Path: model/attributes/profile_id.json\n\n/**\n * The id of the sentry profile. `profile_id`\n *\n * Attribute Value Type: `string` {@link PROFILE_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_PROFILE_ID} `sentry.profile_id`\n *\n * @deprecated Use {@link SENTRY_PROFILE_ID} (sentry.profile_id) instead\n * @example \"123e4567e89b12d3a456426614174000\"\n */\nexport const PROFILE_ID = 'profile_id';\n\n/**\n * Type for {@link PROFILE_ID} profile_id\n */\nexport type PROFILE_ID_TYPE = string;\n\n// Path: model/attributes/query/query__[key].json\n\n/**\n * An item in a query string. Usually added by client-side routing frameworks like vue-router. `query.<key>`\n *\n * Attribute Value Type: `string` {@link QUERY_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * @deprecated Use {@link URL_QUERY} (url.query) instead - Instead of sending items individually in query.<key>, they should be sent all together with url.query.\n * @example \"query.id='123'\"\n */\nexport const QUERY_KEY = 'query.<key>';\n\n/**\n * Type for {@link QUERY_KEY} query.<key>\n */\nexport type QUERY_KEY_TYPE = string;\n\n// Path: model/attributes/release.json\n\n/**\n * The sentry release. `release`\n *\n * Attribute Value Type: `string` {@link RELEASE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_RELEASE} `sentry.release`\n *\n * @deprecated Use {@link SENTRY_RELEASE} (sentry.release) instead\n * @example \"production\"\n */\nexport const RELEASE = 'release';\n\n/**\n * Type for {@link RELEASE} release\n */\nexport type RELEASE_TYPE = string;\n\n// Path: model/attributes/remix/remix__action_form_data__[key].json\n\n/**\n * Remix form data, <key> being the form data key, the value being the form data value. `remix.action_form_data.<key>`\n *\n * Attribute Value Type: `string` {@link REMIX_ACTION_FORM_DATA_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * @example \"http.response.header.text='test'\"\n */\nexport const REMIX_ACTION_FORM_DATA_KEY = 'remix.action_form_data.<key>';\n\n/**\n * Type for {@link REMIX_ACTION_FORM_DATA_KEY} remix.action_form_data.<key>\n */\nexport type REMIX_ACTION_FORM_DATA_KEY_TYPE = string;\n\n// Path: model/attributes/replay_id.json\n\n/**\n * The id of the sentry replay. `replay_id`\n *\n * Attribute Value Type: `string` {@link REPLAY_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_REPLAY_ID} `sentry.replay_id`\n *\n * @deprecated Use {@link SENTRY_REPLAY_ID} (sentry.replay_id) instead\n * @example \"123e4567e89b12d3a456426614174000\"\n */\nexport const REPLAY_ID = 'replay_id';\n\n/**\n * Type for {@link REPLAY_ID} replay_id\n */\nexport type REPLAY_ID_TYPE = string;\n\n// Path: model/attributes/resource/resource__render_blocking_status.json\n\n/**\n * The render blocking status of the resource. `resource.render_blocking_status`\n *\n * Attribute Value Type: `string` {@link RESOURCE_RENDER_BLOCKING_STATUS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"non-blocking\"\n */\nexport const RESOURCE_RENDER_BLOCKING_STATUS = 'resource.render_blocking_status';\n\n/**\n * Type for {@link RESOURCE_RENDER_BLOCKING_STATUS} resource.render_blocking_status\n */\nexport type RESOURCE_RENDER_BLOCKING_STATUS_TYPE = string;\n\n// Path: model/attributes/route.json\n\n/**\n * The matched route, that is, the path template in the format used by the respective server framework. Also used by mobile SDKs to indicate the current route in the application. `route`\n *\n * Attribute Value Type: `string` {@link ROUTE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link HTTP_ROUTE} `http.route`\n *\n * @deprecated Use {@link HTTP_ROUTE} (http.route) instead\n * @example \"App\\\\Controller::indexAction\"\n */\nexport const ROUTE = 'route';\n\n/**\n * Type for {@link ROUTE} route\n */\nexport type ROUTE_TYPE = string;\n\n// Path: model/attributes/rpc/rpc__grpc__status_code.json\n\n/**\n * The numeric status code of the gRPC request. `rpc.grpc.status_code`\n *\n * Attribute Value Type: `number` {@link RPC_GRPC_STATUS_CODE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 2\n */\nexport const RPC_GRPC_STATUS_CODE = 'rpc.grpc.status_code';\n\n/**\n * Type for {@link RPC_GRPC_STATUS_CODE} rpc.grpc.status_code\n */\nexport type RPC_GRPC_STATUS_CODE_TYPE = number;\n\n// Path: model/attributes/rpc/rpc__service.json\n\n/**\n * The full (logical) name of the service being called, including its package name, if applicable. `rpc.service`\n *\n * Attribute Value Type: `string` {@link RPC_SERVICE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"myService.BestService\"\n */\nexport const RPC_SERVICE = 'rpc.service';\n\n/**\n * Type for {@link RPC_SERVICE} rpc.service\n */\nexport type RPC_SERVICE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__browser__name.json\n\n/**\n * The name of the browser. `sentry.browser.name`\n *\n * Attribute Value Type: `string` {@link SENTRY_BROWSER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link BROWSER_NAME} `browser.name`\n *\n * @deprecated Use {@link BROWSER_NAME} (browser.name) instead\n * @example \"Chrome\"\n */\nexport const SENTRY_BROWSER_NAME = 'sentry.browser.name';\n\n/**\n * Type for {@link SENTRY_BROWSER_NAME} sentry.browser.name\n */\nexport type SENTRY_BROWSER_NAME_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__browser__version.json\n\n/**\n * The version of the browser. `sentry.browser.version`\n *\n * Attribute Value Type: `string` {@link SENTRY_BROWSER_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link BROWSER_VERSION} `browser.version`\n *\n * @deprecated Use {@link BROWSER_VERSION} (browser.version) instead\n * @example \"120.0.6099.130\"\n */\nexport const SENTRY_BROWSER_VERSION = 'sentry.browser.version';\n\n/**\n * Type for {@link SENTRY_BROWSER_VERSION} sentry.browser.version\n */\nexport type SENTRY_BROWSER_VERSION_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__cancellation_reason.json\n\n/**\n * The reason why a span ended early. `sentry.cancellation_reason`\n *\n * Attribute Value Type: `string` {@link SENTRY_CANCELLATION_REASON_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"document.hidden\"\n */\nexport const SENTRY_CANCELLATION_REASON = 'sentry.cancellation_reason';\n\n/**\n * Type for {@link SENTRY_CANCELLATION_REASON} sentry.cancellation_reason\n */\nexport type SENTRY_CANCELLATION_REASON_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__client_sample_rate.json\n\n/**\n * Rate at which a span was sampled in the SDK. `sentry.client_sample_rate`\n *\n * Attribute Value Type: `number` {@link SENTRY_CLIENT_SAMPLE_RATE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 0.5\n */\nexport const SENTRY_CLIENT_SAMPLE_RATE = 'sentry.client_sample_rate';\n\n/**\n * Type for {@link SENTRY_CLIENT_SAMPLE_RATE} sentry.client_sample_rate\n */\nexport type SENTRY_CLIENT_SAMPLE_RATE_TYPE = number;\n\n// Path: model/attributes/sentry/sentry__description.json\n\n/**\n * The human-readable description of a span. `sentry.description`\n *\n * Attribute Value Type: `string` {@link SENTRY_DESCRIPTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"index view query\"\n */\nexport const SENTRY_DESCRIPTION = 'sentry.description';\n\n/**\n * Type for {@link SENTRY_DESCRIPTION} sentry.description\n */\nexport type SENTRY_DESCRIPTION_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__dist.json\n\n/**\n * The sentry dist. `sentry.dist`\n *\n * Attribute Value Type: `string` {@link SENTRY_DIST_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"1.0\"\n */\nexport const SENTRY_DIST = 'sentry.dist';\n\n/**\n * Type for {@link SENTRY_DIST} sentry.dist\n */\nexport type SENTRY_DIST_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__environment.json\n\n/**\n * The sentry environment. `sentry.environment`\n *\n * Attribute Value Type: `string` {@link SENTRY_ENVIRONMENT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link ENVIRONMENT} `environment`\n *\n * @example \"production\"\n */\nexport const SENTRY_ENVIRONMENT = 'sentry.environment';\n\n/**\n * Type for {@link SENTRY_ENVIRONMENT} sentry.environment\n */\nexport type SENTRY_ENVIRONMENT_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__exclusive_time.json\n\n/**\n * The exclusive time duration of the span. `sentry.exclusive_time`\n *\n * Attribute Value Type: `number` {@link SENTRY_EXCLUSIVE_TIME_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1234\n */\nexport const SENTRY_EXCLUSIVE_TIME = 'sentry.exclusive_time';\n\n/**\n * Type for {@link SENTRY_EXCLUSIVE_TIME} sentry.exclusive_time\n */\nexport type SENTRY_EXCLUSIVE_TIME_TYPE = number;\n\n// Path: model/attributes/sentry/sentry__http__prefetch.json\n\n/**\n * If an http request was a prefetch request. `sentry.http.prefetch`\n *\n * Attribute Value Type: `boolean` {@link SENTRY_HTTP_PREFETCH_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const SENTRY_HTTP_PREFETCH = 'sentry.http.prefetch';\n\n/**\n * Type for {@link SENTRY_HTTP_PREFETCH} sentry.http.prefetch\n */\nexport type SENTRY_HTTP_PREFETCH_TYPE = boolean;\n\n// Path: model/attributes/sentry/sentry__idle_span_finish_reason.json\n\n/**\n * The reason why an idle span ended early. `sentry.idle_span_finish_reason`\n *\n * Attribute Value Type: `string` {@link SENTRY_IDLE_SPAN_FINISH_REASON_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"idleTimeout\"\n */\nexport const SENTRY_IDLE_SPAN_FINISH_REASON = 'sentry.idle_span_finish_reason';\n\n/**\n * Type for {@link SENTRY_IDLE_SPAN_FINISH_REASON} sentry.idle_span_finish_reason\n */\nexport type SENTRY_IDLE_SPAN_FINISH_REASON_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__message__parameter__[key].json\n\n/**\n * A parameter used in the message template. <key> can either be the number that represent the parameter's position in the template string (sentry.message.parameter.0, sentry.message.parameter.1, etc) or the parameter's name (sentry.message.parameter.item_id, sentry.message.parameter.user_id, etc) `sentry.message.parameter.<key>`\n *\n * Attribute Value Type: `string` {@link SENTRY_MESSAGE_PARAMETER_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"sentry.message.parameter.0='123'\"\n */\nexport const SENTRY_MESSAGE_PARAMETER_KEY = 'sentry.message.parameter.<key>';\n\n/**\n * Type for {@link SENTRY_MESSAGE_PARAMETER_KEY} sentry.message.parameter.<key>\n */\nexport type SENTRY_MESSAGE_PARAMETER_KEY_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__message__template.json\n\n/**\n * The parameterized template string. `sentry.message.template`\n *\n * Attribute Value Type: `string` {@link SENTRY_MESSAGE_TEMPLATE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Hello, {name}!\"\n */\nexport const SENTRY_MESSAGE_TEMPLATE = 'sentry.message.template';\n\n/**\n * Type for {@link SENTRY_MESSAGE_TEMPLATE} sentry.message.template\n */\nexport type SENTRY_MESSAGE_TEMPLATE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__module__[key].json\n\n/**\n * A module that was loaded in the process. The key is the name of the module. `sentry.module.<key>`\n *\n * Attribute Value Type: `string` {@link SENTRY_MODULE_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * @example \"sentry.module.brianium/paratest='v7.7.0'\"\n */\nexport const SENTRY_MODULE_KEY = 'sentry.module.<key>';\n\n/**\n * Type for {@link SENTRY_MODULE_KEY} sentry.module.<key>\n */\nexport type SENTRY_MODULE_KEY_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__nextjs__ssr__function__route.json\n\n/**\n * A parameterized route for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions when the file location of the function is known. `sentry.nextjs.ssr.function.route`\n *\n * Attribute Value Type: `string` {@link SENTRY_NEXTJS_SSR_FUNCTION_ROUTE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"/posts/[id]/layout\"\n */\nexport const SENTRY_NEXTJS_SSR_FUNCTION_ROUTE = 'sentry.nextjs.ssr.function.route';\n\n/**\n * Type for {@link SENTRY_NEXTJS_SSR_FUNCTION_ROUTE} sentry.nextjs.ssr.function.route\n */\nexport type SENTRY_NEXTJS_SSR_FUNCTION_ROUTE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__nextjs__ssr__function__type.json\n\n/**\n * A descriptor for a for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions. `sentry.nextjs.ssr.function.type`\n *\n * Attribute Value Type: `string` {@link SENTRY_NEXTJS_SSR_FUNCTION_TYPE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"generateMetadata\"\n */\nexport const SENTRY_NEXTJS_SSR_FUNCTION_TYPE = 'sentry.nextjs.ssr.function.type';\n\n/**\n * Type for {@link SENTRY_NEXTJS_SSR_FUNCTION_TYPE} sentry.nextjs.ssr.function.type\n */\nexport type SENTRY_NEXTJS_SSR_FUNCTION_TYPE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__op.json\n\n/**\n * The operation of a span. `sentry.op`\n *\n * Attribute Value Type: `string` {@link SENTRY_OP_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"http.client\"\n */\nexport const SENTRY_OP = 'sentry.op';\n\n/**\n * Type for {@link SENTRY_OP} sentry.op\n */\nexport type SENTRY_OP_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__origin.json\n\n/**\n * The origin of the instrumentation (e.g. span, log, etc.) `sentry.origin`\n *\n * Attribute Value Type: `string` {@link SENTRY_ORIGIN_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"auto.http.otel.fastify\"\n */\nexport const SENTRY_ORIGIN = 'sentry.origin';\n\n/**\n * Type for {@link SENTRY_ORIGIN} sentry.origin\n */\nexport type SENTRY_ORIGIN_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__platform.json\n\n/**\n * The sdk platform that generated the event. `sentry.platform`\n *\n * Attribute Value Type: `string` {@link SENTRY_PLATFORM_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"php\"\n */\nexport const SENTRY_PLATFORM = 'sentry.platform';\n\n/**\n * Type for {@link SENTRY_PLATFORM} sentry.platform\n */\nexport type SENTRY_PLATFORM_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__profile_id.json\n\n/**\n * The id of the sentry profile. `sentry.profile_id`\n *\n * Attribute Value Type: `string` {@link SENTRY_PROFILE_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link PROFILE_ID} `profile_id`\n *\n * @example \"123e4567e89b12d3a456426614174000\"\n */\nexport const SENTRY_PROFILE_ID = 'sentry.profile_id';\n\n/**\n * Type for {@link SENTRY_PROFILE_ID} sentry.profile_id\n */\nexport type SENTRY_PROFILE_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__release.json\n\n/**\n * The sentry release. `sentry.release`\n *\n * Attribute Value Type: `string` {@link SENTRY_RELEASE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SERVICE_VERSION} `service.version`, {@link RELEASE} `release`\n *\n * @example \"7.0.0\"\n */\nexport const SENTRY_RELEASE = 'sentry.release';\n\n/**\n * Type for {@link SENTRY_RELEASE} sentry.release\n */\nexport type SENTRY_RELEASE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__replay_id.json\n\n/**\n * The id of the sentry replay. `sentry.replay_id`\n *\n * Attribute Value Type: `string` {@link SENTRY_REPLAY_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link REPLAY_ID} `replay_id`\n *\n * @example \"123e4567e89b12d3a456426614174000\"\n */\nexport const SENTRY_REPLAY_ID = 'sentry.replay_id';\n\n/**\n * Type for {@link SENTRY_REPLAY_ID} sentry.replay_id\n */\nexport type SENTRY_REPLAY_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__sdk__integrations.json\n\n/**\n * A list of names identifying enabled integrations. The list shouldhave all enabled integrations, including default integrations. Defaultintegrations are included because different SDK releases may contain differentdefault integrations. `sentry.sdk.integrations`\n *\n * Attribute Value Type: `Array<string>` {@link SENTRY_SDK_INTEGRATIONS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"InboundFilters\",\"FunctionToString\",\"BrowserApiErrors\",\"Breadcrumbs\"]\n */\nexport const SENTRY_SDK_INTEGRATIONS = 'sentry.sdk.integrations';\n\n/**\n * Type for {@link SENTRY_SDK_INTEGRATIONS} sentry.sdk.integrations\n */\nexport type SENTRY_SDK_INTEGRATIONS_TYPE = Array<string>;\n\n// Path: model/attributes/sentry/sentry__sdk__name.json\n\n/**\n * The sentry sdk name. `sentry.sdk.name`\n *\n * Attribute Value Type: `string` {@link SENTRY_SDK_NAME_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"@sentry/react\"\n */\nexport const SENTRY_SDK_NAME = 'sentry.sdk.name';\n\n/**\n * Type for {@link SENTRY_SDK_NAME} sentry.sdk.name\n */\nexport type SENTRY_SDK_NAME_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__sdk__version.json\n\n/**\n * The sentry sdk version. `sentry.sdk.version`\n *\n * Attribute Value Type: `string` {@link SENTRY_SDK_VERSION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"7.0.0\"\n */\nexport const SENTRY_SDK_VERSION = 'sentry.sdk.version';\n\n/**\n * Type for {@link SENTRY_SDK_VERSION} sentry.sdk.version\n */\nexport type SENTRY_SDK_VERSION_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__segment__id.json\n\n/**\n * The segment ID of a span `sentry.segment.id`\n *\n * Attribute Value Type: `string` {@link SENTRY_SEGMENT_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link _SENTRY_SEGMENT_ID} `sentry.segment_id`\n *\n * @example \"051581bf3cb55c13\"\n */\nexport const SENTRY_SEGMENT_ID = 'sentry.segment.id';\n\n/**\n * Type for {@link SENTRY_SEGMENT_ID} sentry.segment.id\n */\nexport type SENTRY_SEGMENT_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__segment__name.json\n\n/**\n * The segment name of a span `sentry.segment.name`\n *\n * Attribute Value Type: `string` {@link SENTRY_SEGMENT_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"GET /user\"\n */\nexport const SENTRY_SEGMENT_NAME = 'sentry.segment.name';\n\n/**\n * Type for {@link SENTRY_SEGMENT_NAME} sentry.segment.name\n */\nexport type SENTRY_SEGMENT_NAME_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__segment_id.json\n\n/**\n * The segment ID of a span `sentry.segment_id`\n *\n * Attribute Value Type: `string` {@link _SENTRY_SEGMENT_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_SEGMENT_ID} `sentry.segment.id`\n *\n * @deprecated Use {@link SENTRY_SEGMENT_ID} (sentry.segment.id) instead\n * @example \"051581bf3cb55c13\"\n */\nexport const _SENTRY_SEGMENT_ID = 'sentry.segment_id';\n\n/**\n * Type for {@link _SENTRY_SEGMENT_ID} sentry.segment_id\n */\nexport type _SENTRY_SEGMENT_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__server_sample_rate.json\n\n/**\n * Rate at which a span was sampled in Relay. `sentry.server_sample_rate`\n *\n * Attribute Value Type: `number` {@link SENTRY_SERVER_SAMPLE_RATE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 0.5\n */\nexport const SENTRY_SERVER_SAMPLE_RATE = 'sentry.server_sample_rate';\n\n/**\n * Type for {@link SENTRY_SERVER_SAMPLE_RATE} sentry.server_sample_rate\n */\nexport type SENTRY_SERVER_SAMPLE_RATE_TYPE = number;\n\n// Path: model/attributes/sentry/sentry__span__source.json\n\n/**\n * The source of a span, also referred to as transaction source. `sentry.span.source`\n *\n * Attribute Value Type: `string` {@link SENTRY_SPAN_SOURCE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"route\"\n */\nexport const SENTRY_SPAN_SOURCE = 'sentry.span.source';\n\n/**\n * Type for {@link SENTRY_SPAN_SOURCE} sentry.span.source\n */\nexport type SENTRY_SPAN_SOURCE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__trace__parent_span_id.json\n\n/**\n * The span id of the span that was active when the log was collected. This should not be set if there was no active span. `sentry.trace.parent_span_id`\n *\n * Attribute Value Type: `string` {@link SENTRY_TRACE_PARENT_SPAN_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"b0e6f15b45c36b12\"\n */\nexport const SENTRY_TRACE_PARENT_SPAN_ID = 'sentry.trace.parent_span_id';\n\n/**\n * Type for {@link SENTRY_TRACE_PARENT_SPAN_ID} sentry.trace.parent_span_id\n */\nexport type SENTRY_TRACE_PARENT_SPAN_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__transaction.json\n\n/**\n * The sentry transaction (segment name). `sentry.transaction`\n *\n * Attribute Value Type: `string` {@link SENTRY_TRANSACTION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link TRANSACTION} `transaction`\n *\n * @example \"GET /\"\n */\nexport const SENTRY_TRANSACTION = 'sentry.transaction';\n\n/**\n * Type for {@link SENTRY_TRANSACTION} sentry.transaction\n */\nexport type SENTRY_TRANSACTION_TYPE = string;\n\n// Path: model/attributes/server/server__address.json\n\n/**\n * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `server.address`\n *\n * Attribute Value Type: `string` {@link SERVER_ADDRESS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_SERVER_NAME} `http.server_name`, {@link NET_HOST_NAME} `net.host.name`, {@link HTTP_HOST} `http.host`\n *\n * @example \"example.com\"\n */\nexport const SERVER_ADDRESS = 'server.address';\n\n/**\n * Type for {@link SERVER_ADDRESS} server.address\n */\nexport type SERVER_ADDRESS_TYPE = string;\n\n// Path: model/attributes/server/server__port.json\n\n/**\n * Server port number. `server.port`\n *\n * Attribute Value Type: `number` {@link SERVER_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_HOST_PORT} `net.host.port`\n *\n * @example 1337\n */\nexport const SERVER_PORT = 'server.port';\n\n/**\n * Type for {@link SERVER_PORT} server.port\n */\nexport type SERVER_PORT_TYPE = number;\n\n// Path: model/attributes/service/service__name.json\n\n/**\n * Logical name of the service. `service.name`\n *\n * Attribute Value Type: `string` {@link SERVICE_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"omegastar\"\n */\nexport const SERVICE_NAME = 'service.name';\n\n/**\n * Type for {@link SERVICE_NAME} service.name\n */\nexport type SERVICE_NAME_TYPE = string;\n\n// Path: model/attributes/service/service__version.json\n\n/**\n * The version string of the service API or implementation. The format is not defined by these conventions. `service.version`\n *\n * Attribute Value Type: `string` {@link SERVICE_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link SENTRY_RELEASE} `sentry.release`\n *\n * @example \"5.0.0\"\n */\nexport const SERVICE_VERSION = 'service.version';\n\n/**\n * Type for {@link SERVICE_VERSION} service.version\n */\nexport type SERVICE_VERSION_TYPE = string;\n\n// Path: model/attributes/thread/thread__id.json\n\n/**\n * Current “managed” thread ID. `thread.id`\n *\n * Attribute Value Type: `number` {@link THREAD_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 56\n */\nexport const THREAD_ID = 'thread.id';\n\n/**\n * Type for {@link THREAD_ID} thread.id\n */\nexport type THREAD_ID_TYPE = number;\n\n// Path: model/attributes/thread/thread__name.json\n\n/**\n * Current thread name. `thread.name`\n *\n * Attribute Value Type: `string` {@link THREAD_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"main\"\n */\nexport const THREAD_NAME = 'thread.name';\n\n/**\n * Type for {@link THREAD_NAME} thread.name\n */\nexport type THREAD_NAME_TYPE = string;\n\n// Path: model/attributes/transaction.json\n\n/**\n * The sentry transaction (segment name). `transaction`\n *\n * Attribute Value Type: `string` {@link TRANSACTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_TRANSACTION} `sentry.transaction`\n *\n * @deprecated Use {@link SENTRY_TRANSACTION} (sentry.transaction) instead\n * @example \"GET /\"\n */\nexport const TRANSACTION = 'transaction';\n\n/**\n * Type for {@link TRANSACTION} transaction\n */\nexport type TRANSACTION_TYPE = string;\n\n// Path: model/attributes/type.json\n\n/**\n * More granular type of the operation happening. `type`\n *\n * Attribute Value Type: `string` {@link TYPE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"fetch\"\n */\nexport const TYPE = 'type';\n\n/**\n * Type for {@link TYPE} type\n */\nexport type TYPE_TYPE = string;\n\n// Path: model/attributes/ui/ui__component_name.json\n\n/**\n * The name of the associated component. `ui.component_name`\n *\n * Attribute Value Type: `string` {@link UI_COMPONENT_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"HomeButton\"\n */\nexport const UI_COMPONENT_NAME = 'ui.component_name';\n\n/**\n * Type for {@link UI_COMPONENT_NAME} ui.component_name\n */\nexport type UI_COMPONENT_NAME_TYPE = string;\n\n// Path: model/attributes/ui/ui__contributes_to_ttfd.json\n\n/**\n * Whether the span execution contributed to the TTFD (time to fully drawn) metric. `ui.contributes_to_ttfd`\n *\n * Attribute Value Type: `boolean` {@link UI_CONTRIBUTES_TO_TTFD_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const UI_CONTRIBUTES_TO_TTFD = 'ui.contributes_to_ttfd';\n\n/**\n * Type for {@link UI_CONTRIBUTES_TO_TTFD} ui.contributes_to_ttfd\n */\nexport type UI_CONTRIBUTES_TO_TTFD_TYPE = boolean;\n\n// Path: model/attributes/ui/ui__contributes_to_ttid.json\n\n/**\n * Whether the span execution contributed to the TTID (time to initial display) metric. `ui.contributes_to_ttid`\n *\n * Attribute Value Type: `boolean` {@link UI_CONTRIBUTES_TO_TTID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const UI_CONTRIBUTES_TO_TTID = 'ui.contributes_to_ttid';\n\n/**\n * Type for {@link UI_CONTRIBUTES_TO_TTID} ui.contributes_to_ttid\n */\nexport type UI_CONTRIBUTES_TO_TTID_TYPE = boolean;\n\n// Path: model/attributes/url/url__domain.json\n\n/**\n * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `url.domain`\n *\n * Attribute Value Type: `string` {@link URL_DOMAIN_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"example.com\"\n */\nexport const URL_DOMAIN = 'url.domain';\n\n/**\n * Type for {@link URL_DOMAIN} url.domain\n */\nexport type URL_DOMAIN_TYPE = string;\n\n// Path: model/attributes/url/url__fragment.json\n\n/**\n * The fragments present in the URI. Note that this does not contain the leading # character, while the `http.fragment` attribute does. `url.fragment`\n *\n * Attribute Value Type: `string` {@link URL_FRAGMENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"details\"\n */\nexport const URL_FRAGMENT = 'url.fragment';\n\n/**\n * Type for {@link URL_FRAGMENT} url.fragment\n */\nexport type URL_FRAGMENT_TYPE = string;\n\n// Path: model/attributes/url/url__full.json\n\n/**\n * The URL of the resource that was fetched. `url.full`\n *\n * Attribute Value Type: `string` {@link URL_FULL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_URL} `http.url`, {@link URL} `url`\n *\n * @example \"https://example.com/test?foo=bar#buzz\"\n */\nexport const URL_FULL = 'url.full';\n\n/**\n * Type for {@link URL_FULL} url.full\n */\nexport type URL_FULL_TYPE = string;\n\n// Path: model/attributes/url/url__path.json\n\n/**\n * The URI path component. `url.path`\n *\n * Attribute Value Type: `string` {@link URL_PATH_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"/foo\"\n */\nexport const URL_PATH = 'url.path';\n\n/**\n * Type for {@link URL_PATH} url.path\n */\nexport type URL_PATH_TYPE = string;\n\n// Path: model/attributes/url/url__path__parameter__[key].json\n\n/**\n * Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router. `url.path.parameter.<key>`\n *\n * Attribute Value Type: `string` {@link URL_PATH_PARAMETER_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * Aliases: {@link PARAMS_KEY} `params.<key>`\n *\n * @example \"url.path.parameter.id='123'\"\n */\nexport const URL_PATH_PARAMETER_KEY = 'url.path.parameter.<key>';\n\n/**\n * Type for {@link URL_PATH_PARAMETER_KEY} url.path.parameter.<key>\n */\nexport type URL_PATH_PARAMETER_KEY_TYPE = string;\n\n// Path: model/attributes/url/url__port.json\n\n/**\n * Server port number. `url.port`\n *\n * Attribute Value Type: `number` {@link URL_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 1337\n */\nexport const URL_PORT = 'url.port';\n\n/**\n * Type for {@link URL_PORT} url.port\n */\nexport type URL_PORT_TYPE = number;\n\n// Path: model/attributes/url/url__query.json\n\n/**\n * The query string present in the URL. Note that this does not contain the leading ? character, while the `http.query` attribute does. `url.query`\n *\n * Attribute Value Type: `string` {@link URL_QUERY_TYPE}\n *\n * Contains PII: maybe - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"foo=bar&bar=baz\"\n */\nexport const URL_QUERY = 'url.query';\n\n/**\n * Type for {@link URL_QUERY} url.query\n */\nexport type URL_QUERY_TYPE = string;\n\n// Path: model/attributes/url/url__scheme.json\n\n/**\n * The URI scheme component identifying the used protocol. `url.scheme`\n *\n * Attribute Value Type: `string` {@link URL_SCHEME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_SCHEME} `http.scheme`\n *\n * @example \"https\"\n */\nexport const URL_SCHEME = 'url.scheme';\n\n/**\n * Type for {@link URL_SCHEME} url.scheme\n */\nexport type URL_SCHEME_TYPE = string;\n\n// Path: model/attributes/url/url__template.json\n\n/**\n * The low-cardinality template of an absolute path reference. `url.template`\n *\n * Attribute Value Type: `string` {@link URL_TEMPLATE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_ROUTE} `http.route`\n *\n * @example \"/users/:id\"\n */\nexport const URL_TEMPLATE = 'url.template';\n\n/**\n * Type for {@link URL_TEMPLATE} url.template\n */\nexport type URL_TEMPLATE_TYPE = string;\n\n// Path: model/attributes/url.json\n\n/**\n * The URL of the resource that was fetched. `url`\n *\n * Attribute Value Type: `string` {@link URL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link URL_FULL} `url.full`, {@link HTTP_URL} `http.url`\n *\n * @deprecated Use {@link URL_FULL} (url.full) instead\n * @example \"https://example.com/test?foo=bar#buzz\"\n */\nexport const URL = 'url';\n\n/**\n * Type for {@link URL} url\n */\nexport type URL_TYPE = string;\n\n// Path: model/attributes/user/user__email.json\n\n/**\n * User email address. `user.email`\n *\n * Attribute Value Type: `string` {@link USER_EMAIL_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"test@example.com\"\n */\nexport const USER_EMAIL = 'user.email';\n\n/**\n * Type for {@link USER_EMAIL} user.email\n */\nexport type USER_EMAIL_TYPE = string;\n\n// Path: model/attributes/user/user__full_name.json\n\n/**\n * User's full name. `user.full_name`\n *\n * Attribute Value Type: `string` {@link USER_FULL_NAME_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"John Smith\"\n */\nexport const USER_FULL_NAME = 'user.full_name';\n\n/**\n * Type for {@link USER_FULL_NAME} user.full_name\n */\nexport type USER_FULL_NAME_TYPE = string;\n\n// Path: model/attributes/user/user__geo__city.json\n\n/**\n * Human readable city name. `user.geo.city`\n *\n * Attribute Value Type: `string` {@link USER_GEO_CITY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Toronto\"\n */\nexport const USER_GEO_CITY = 'user.geo.city';\n\n/**\n * Type for {@link USER_GEO_CITY} user.geo.city\n */\nexport type USER_GEO_CITY_TYPE = string;\n\n// Path: model/attributes/user/user__geo__country_code.json\n\n/**\n * Two-letter country code (ISO 3166-1 alpha-2). `user.geo.country_code`\n *\n * Attribute Value Type: `string` {@link USER_GEO_COUNTRY_CODE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"CA\"\n */\nexport const USER_GEO_COUNTRY_CODE = 'user.geo.country_code';\n\n/**\n * Type for {@link USER_GEO_COUNTRY_CODE} user.geo.country_code\n */\nexport type USER_GEO_COUNTRY_CODE_TYPE = string;\n\n// Path: model/attributes/user/user__geo__region.json\n\n/**\n * Human readable region name or code. `user.geo.region`\n *\n * Attribute Value Type: `string` {@link USER_GEO_REGION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Canada\"\n */\nexport const USER_GEO_REGION = 'user.geo.region';\n\n/**\n * Type for {@link USER_GEO_REGION} user.geo.region\n */\nexport type USER_GEO_REGION_TYPE = string;\n\n// Path: model/attributes/user/user__geo__subdivision.json\n\n/**\n * Human readable subdivision name. `user.geo.subdivision`\n *\n * Attribute Value Type: `string` {@link USER_GEO_SUBDIVISION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Ontario\"\n */\nexport const USER_GEO_SUBDIVISION = 'user.geo.subdivision';\n\n/**\n * Type for {@link USER_GEO_SUBDIVISION} user.geo.subdivision\n */\nexport type USER_GEO_SUBDIVISION_TYPE = string;\n\n// Path: model/attributes/user/user__hash.json\n\n/**\n * Unique user hash to correlate information for a user in anonymized form. `user.hash`\n *\n * Attribute Value Type: `string` {@link USER_HASH_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"8ae4c2993e0f4f3b8b2d1b1f3b5e8f4d\"\n */\nexport const USER_HASH = 'user.hash';\n\n/**\n * Type for {@link USER_HASH} user.hash\n */\nexport type USER_HASH_TYPE = string;\n\n// Path: model/attributes/user/user__id.json\n\n/**\n * Unique identifier of the user. `user.id`\n *\n * Attribute Value Type: `string` {@link USER_ID_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"S-1-5-21-202424912787-2692429404-2351956786-1000\"\n */\nexport const USER_ID = 'user.id';\n\n/**\n * Type for {@link USER_ID} user.id\n */\nexport type USER_ID_TYPE = string;\n\n// Path: model/attributes/user/user__ip_address.json\n\n/**\n * The IP address of the user. `user.ip_address`\n *\n * Attribute Value Type: `string` {@link USER_IP_ADDRESS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"192.168.1.1\"\n */\nexport const USER_IP_ADDRESS = 'user.ip_address';\n\n/**\n * Type for {@link USER_IP_ADDRESS} user.ip_address\n */\nexport type USER_IP_ADDRESS_TYPE = string;\n\n// Path: model/attributes/user/user__name.json\n\n/**\n * Short name or login/username of the user. `user.name`\n *\n * Attribute Value Type: `string` {@link USER_NAME_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"j.smith\"\n */\nexport const USER_NAME = 'user.name';\n\n/**\n * Type for {@link USER_NAME} user.name\n */\nexport type USER_NAME_TYPE = string;\n\n// Path: model/attributes/user/user__roles.json\n\n/**\n * Array of user roles at the time of the event. `user.roles`\n *\n * Attribute Value Type: `Array<string>` {@link USER_ROLES_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example [\"admin\",\"editor\"]\n */\nexport const USER_ROLES = 'user.roles';\n\n/**\n * Type for {@link USER_ROLES} user.roles\n */\nexport type USER_ROLES_TYPE = Array<string>;\n\n// Path: model/attributes/user_agent/user_agent__original.json\n\n/**\n * Value of the HTTP User-Agent header sent by the client. `user_agent.original`\n *\n * Attribute Value Type: `string` {@link USER_AGENT_ORIGINAL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_USER_AGENT} `http.user_agent`\n *\n * @example \"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1\"\n */\nexport const USER_AGENT_ORIGINAL = 'user_agent.original';\n\n/**\n * Type for {@link USER_AGENT_ORIGINAL} user_agent.original\n */\nexport type USER_AGENT_ORIGINAL_TYPE = string;\n\nexport type AttributeValue = string | number | boolean | Array<string> | Array<number> | Array<boolean>;\n\nexport type Attributes = {\n [AI_CITATIONS]?: AI_CITATIONS_TYPE;\n [AI_COMPLETION_TOKENS_USED]?: AI_COMPLETION_TOKENS_USED_TYPE;\n [AI_DOCUMENTS]?: AI_DOCUMENTS_TYPE;\n [AI_FINISH_REASON]?: AI_FINISH_REASON_TYPE;\n [AI_FREQUENCY_PENALTY]?: AI_FREQUENCY_PENALTY_TYPE;\n [AI_FUNCTION_CALL]?: AI_FUNCTION_CALL_TYPE;\n [AI_GENERATION_ID]?: AI_GENERATION_ID_TYPE;\n [AI_INPUT_MESSAGES]?: AI_INPUT_MESSAGES_TYPE;\n [AI_IS_SEARCH_REQUIRED]?: AI_IS_SEARCH_REQUIRED_TYPE;\n [AI_METADATA]?: AI_METADATA_TYPE;\n [AI_MODEL_PROVIDER]?: AI_MODEL_PROVIDER_TYPE;\n [AI_MODEL_ID]?: AI_MODEL_ID_TYPE;\n [AI_PIPELINE_NAME]?: AI_PIPELINE_NAME_TYPE;\n [AI_PREAMBLE]?: AI_PREAMBLE_TYPE;\n [AI_PRESENCE_PENALTY]?: AI_PRESENCE_PENALTY_TYPE;\n [AI_PROMPT_TOKENS_USED]?: AI_PROMPT_TOKENS_USED_TYPE;\n [AI_RAW_PROMPTING]?: AI_RAW_PROMPTING_TYPE;\n [AI_RESPONSE_FORMAT]?: AI_RESPONSE_FORMAT_TYPE;\n [AI_RESPONSES]?: AI_RESPONSES_TYPE;\n [AI_SEARCH_QUERIES]?: AI_SEARCH_QUERIES_TYPE;\n [AI_SEARCH_RESULTS]?: AI_SEARCH_RESULTS_TYPE;\n [AI_SEED]?: AI_SEED_TYPE;\n [AI_STREAMING]?: AI_STREAMING_TYPE;\n [AI_TAGS]?: AI_TAGS_TYPE;\n [AI_TEMPERATURE]?: AI_TEMPERATURE_TYPE;\n [AI_TEXTS]?: AI_TEXTS_TYPE;\n [AI_TOOL_CALLS]?: AI_TOOL_CALLS_TYPE;\n [AI_TOOLS]?: AI_TOOLS_TYPE;\n [AI_TOP_K]?: AI_TOP_K_TYPE;\n [AI_TOP_P]?: AI_TOP_P_TYPE;\n [AI_TOTAL_COST]?: AI_TOTAL_COST_TYPE;\n [AI_TOTAL_TOKENS_USED]?: AI_TOTAL_TOKENS_USED_TYPE;\n [AI_WARNINGS]?: AI_WARNINGS_TYPE;\n [APP_START_TYPE]?: APP_START_TYPE_TYPE;\n [BLOCKED_MAIN_THREAD]?: BLOCKED_MAIN_THREAD_TYPE;\n [BROWSER_NAME]?: BROWSER_NAME_TYPE;\n [BROWSER_REPORT_TYPE]?: BROWSER_REPORT_TYPE_TYPE;\n [BROWSER_SCRIPT_INVOKER]?: BROWSER_SCRIPT_INVOKER_TYPE;\n [BROWSER_SCRIPT_INVOKER_TYPE]?: BROWSER_SCRIPT_INVOKER_TYPE_TYPE;\n [BROWSER_SCRIPT_SOURCE_CHAR_POSITION]?: BROWSER_SCRIPT_SOURCE_CHAR_POSITION_TYPE;\n [BROWSER_VERSION]?: BROWSER_VERSION_TYPE;\n [CACHE_HIT]?: CACHE_HIT_TYPE;\n [CACHE_ITEM_SIZE]?: CACHE_ITEM_SIZE_TYPE;\n [CACHE_KEY]?: CACHE_KEY_TYPE;\n [CACHE_OPERATION]?: CACHE_OPERATION_TYPE;\n [CACHE_TTL]?: CACHE_TTL_TYPE;\n [CHANNEL]?: CHANNEL_TYPE;\n [CLIENT_ADDRESS]?: CLIENT_ADDRESS_TYPE;\n [CLIENT_PORT]?: CLIENT_PORT_TYPE;\n [CLOUDFLARE_D1_DURATION]?: CLOUDFLARE_D1_DURATION_TYPE;\n [CLOUDFLARE_D1_ROWS_READ]?: CLOUDFLARE_D1_ROWS_READ_TYPE;\n [CLOUDFLARE_D1_ROWS_WRITTEN]?: CLOUDFLARE_D1_ROWS_WRITTEN_TYPE;\n [CODE_FILE_PATH]?: CODE_FILE_PATH_TYPE;\n [CODE_FILEPATH]?: CODE_FILEPATH_TYPE;\n [CODE_FUNCTION]?: CODE_FUNCTION_TYPE;\n [CODE_FUNCTION_NAME]?: CODE_FUNCTION_NAME_TYPE;\n [CODE_LINE_NUMBER]?: CODE_LINE_NUMBER_TYPE;\n [CODE_LINENO]?: CODE_LINENO_TYPE;\n [CODE_NAMESPACE]?: CODE_NAMESPACE_TYPE;\n [DB_COLLECTION_NAME]?: DB_COLLECTION_NAME_TYPE;\n [DB_NAME]?: DB_NAME_TYPE;\n [DB_NAMESPACE]?: DB_NAMESPACE_TYPE;\n [DB_OPERATION]?: DB_OPERATION_TYPE;\n [DB_OPERATION_NAME]?: DB_OPERATION_NAME_TYPE;\n [DB_QUERY_PARAMETER_KEY]?: DB_QUERY_PARAMETER_KEY_TYPE;\n [DB_QUERY_SUMMARY]?: DB_QUERY_SUMMARY_TYPE;\n [DB_QUERY_TEXT]?: DB_QUERY_TEXT_TYPE;\n [DB_REDIS_CONNECTION]?: DB_REDIS_CONNECTION_TYPE;\n [DB_REDIS_PARAMETERS]?: DB_REDIS_PARAMETERS_TYPE;\n [DB_SQL_BINDINGS]?: DB_SQL_BINDINGS_TYPE;\n [DB_STATEMENT]?: DB_STATEMENT_TYPE;\n [DB_SYSTEM]?: DB_SYSTEM_TYPE;\n [DB_SYSTEM_NAME]?: DB_SYSTEM_NAME_TYPE;\n [DB_USER]?: DB_USER_TYPE;\n [DEVICE_BRAND]?: DEVICE_BRAND_TYPE;\n [DEVICE_FAMILY]?: DEVICE_FAMILY_TYPE;\n [DEVICE_MODEL]?: DEVICE_MODEL_TYPE;\n [ENVIRONMENT]?: ENVIRONMENT_TYPE;\n [ERROR_TYPE]?: ERROR_TYPE_TYPE;\n [EVENT_ID]?: EVENT_ID_TYPE;\n [EVENT_NAME]?: EVENT_NAME_TYPE;\n [EXCEPTION_ESCAPED]?: EXCEPTION_ESCAPED_TYPE;\n [EXCEPTION_MESSAGE]?: EXCEPTION_MESSAGE_TYPE;\n [EXCEPTION_STACKTRACE]?: EXCEPTION_STACKTRACE_TYPE;\n [EXCEPTION_TYPE]?: EXCEPTION_TYPE_TYPE;\n [FAAS_COLDSTART]?: FAAS_COLDSTART_TYPE;\n [FAAS_CRON]?: FAAS_CRON_TYPE;\n [FAAS_TIME]?: FAAS_TIME_TYPE;\n [FAAS_TRIGGER]?: FAAS_TRIGGER_TYPE;\n [FLAG_EVALUATION_KEY]?: FLAG_EVALUATION_KEY_TYPE;\n [FRAMES_DELAY]?: FRAMES_DELAY_TYPE;\n [FRAMES_FROZEN]?: FRAMES_FROZEN_TYPE;\n [FRAMES_SLOW]?: FRAMES_SLOW_TYPE;\n [FRAMES_TOTAL]?: FRAMES_TOTAL_TYPE;\n [FS_ERROR]?: FS_ERROR_TYPE;\n [GEN_AI_AGENT_NAME]?: GEN_AI_AGENT_NAME_TYPE;\n [GEN_AI_ASSISTANT_MESSAGE]?: GEN_AI_ASSISTANT_MESSAGE_TYPE;\n [GEN_AI_CHOICE]?: GEN_AI_CHOICE_TYPE;\n [GEN_AI_COST_INPUT_TOKENS]?: GEN_AI_COST_INPUT_TOKENS_TYPE;\n [GEN_AI_COST_OUTPUT_TOKENS]?: GEN_AI_COST_OUTPUT_TOKENS_TYPE;\n [GEN_AI_COST_TOTAL_TOKENS]?: GEN_AI_COST_TOTAL_TOKENS_TYPE;\n [GEN_AI_OPERATION_NAME]?: GEN_AI_OPERATION_NAME_TYPE;\n [GEN_AI_OPERATION_TYPE]?: GEN_AI_OPERATION_TYPE_TYPE;\n [GEN_AI_PIPELINE_NAME]?: GEN_AI_PIPELINE_NAME_TYPE;\n [GEN_AI_PROMPT]?: GEN_AI_PROMPT_TYPE;\n [GEN_AI_REQUEST_AVAILABLE_TOOLS]?: GEN_AI_REQUEST_AVAILABLE_TOOLS_TYPE;\n [GEN_AI_REQUEST_FREQUENCY_PENALTY]?: GEN_AI_REQUEST_FREQUENCY_PENALTY_TYPE;\n [GEN_AI_REQUEST_MAX_TOKENS]?: GEN_AI_REQUEST_MAX_TOKENS_TYPE;\n [GEN_AI_REQUEST_MESSAGES]?: GEN_AI_REQUEST_MESSAGES_TYPE;\n [GEN_AI_REQUEST_MODEL]?: GEN_AI_REQUEST_MODEL_TYPE;\n [GEN_AI_REQUEST_PRESENCE_PENALTY]?: GEN_AI_REQUEST_PRESENCE_PENALTY_TYPE;\n [GEN_AI_REQUEST_SEED]?: GEN_AI_REQUEST_SEED_TYPE;\n [GEN_AI_REQUEST_TEMPERATURE]?: GEN_AI_REQUEST_TEMPERATURE_TYPE;\n [GEN_AI_REQUEST_TOP_K]?: GEN_AI_REQUEST_TOP_K_TYPE;\n [GEN_AI_REQUEST_TOP_P]?: GEN_AI_REQUEST_TOP_P_TYPE;\n [GEN_AI_RESPONSE_FINISH_REASONS]?: GEN_AI_RESPONSE_FINISH_REASONS_TYPE;\n [GEN_AI_RESPONSE_ID]?: GEN_AI_RESPONSE_ID_TYPE;\n [GEN_AI_RESPONSE_MODEL]?: GEN_AI_RESPONSE_MODEL_TYPE;\n [GEN_AI_RESPONSE_STREAMING]?: GEN_AI_RESPONSE_STREAMING_TYPE;\n [GEN_AI_RESPONSE_TEXT]?: GEN_AI_RESPONSE_TEXT_TYPE;\n [GEN_AI_RESPONSE_TOKENS_PER_SECOND]?: GEN_AI_RESPONSE_TOKENS_PER_SECOND_TYPE;\n [GEN_AI_RESPONSE_TOOL_CALLS]?: GEN_AI_RESPONSE_TOOL_CALLS_TYPE;\n [GEN_AI_SYSTEM]?: GEN_AI_SYSTEM_TYPE;\n [GEN_AI_SYSTEM_MESSAGE]?: GEN_AI_SYSTEM_MESSAGE_TYPE;\n [GEN_AI_TOOL_DESCRIPTION]?: GEN_AI_TOOL_DESCRIPTION_TYPE;\n [GEN_AI_TOOL_INPUT]?: GEN_AI_TOOL_INPUT_TYPE;\n [GEN_AI_TOOL_MESSAGE]?: GEN_AI_TOOL_MESSAGE_TYPE;\n [GEN_AI_TOOL_NAME]?: GEN_AI_TOOL_NAME_TYPE;\n [GEN_AI_TOOL_OUTPUT]?: GEN_AI_TOOL_OUTPUT_TYPE;\n [GEN_AI_TOOL_TYPE]?: GEN_AI_TOOL_TYPE_TYPE;\n [GEN_AI_USAGE_COMPLETION_TOKENS]?: GEN_AI_USAGE_COMPLETION_TOKENS_TYPE;\n [GEN_AI_USAGE_INPUT_TOKENS]?: GEN_AI_USAGE_INPUT_TOKENS_TYPE;\n [GEN_AI_USAGE_INPUT_TOKENS_CACHED]?: GEN_AI_USAGE_INPUT_TOKENS_CACHED_TYPE;\n [GEN_AI_USAGE_OUTPUT_TOKENS]?: GEN_AI_USAGE_OUTPUT_TOKENS_TYPE;\n [GEN_AI_USAGE_OUTPUT_TOKENS_REASONING]?: GEN_AI_USAGE_OUTPUT_TOKENS_REASONING_TYPE;\n [GEN_AI_USAGE_PROMPT_TOKENS]?: GEN_AI_USAGE_PROMPT_TOKENS_TYPE;\n [GEN_AI_USAGE_TOTAL_COST]?: GEN_AI_USAGE_TOTAL_COST_TYPE;\n [GEN_AI_USAGE_TOTAL_TOKENS]?: GEN_AI_USAGE_TOTAL_TOKENS_TYPE;\n [GEN_AI_USER_MESSAGE]?: GEN_AI_USER_MESSAGE_TYPE;\n [GRAPHQL_OPERATION_NAME]?: GRAPHQL_OPERATION_NAME_TYPE;\n [GRAPHQL_OPERATION_TYPE]?: GRAPHQL_OPERATION_TYPE_TYPE;\n [HTTP_CLIENT_IP]?: HTTP_CLIENT_IP_TYPE;\n [HTTP_DECODED_RESPONSE_CONTENT_LENGTH]?: HTTP_DECODED_RESPONSE_CONTENT_LENGTH_TYPE;\n [HTTP_FLAVOR]?: HTTP_FLAVOR_TYPE;\n [HTTP_FRAGMENT]?: HTTP_FRAGMENT_TYPE;\n [HTTP_HOST]?: HTTP_HOST_TYPE;\n [HTTP_METHOD]?: HTTP_METHOD_TYPE;\n [HTTP_QUERY]?: HTTP_QUERY_TYPE;\n [HTTP_REQUEST_CONNECT_START]?: HTTP_REQUEST_CONNECT_START_TYPE;\n [HTTP_REQUEST_CONNECTION_END]?: HTTP_REQUEST_CONNECTION_END_TYPE;\n [HTTP_REQUEST_DOMAIN_LOOKUP_END]?: HTTP_REQUEST_DOMAIN_LOOKUP_END_TYPE;\n [HTTP_REQUEST_DOMAIN_LOOKUP_START]?: HTTP_REQUEST_DOMAIN_LOOKUP_START_TYPE;\n [HTTP_REQUEST_FETCH_START]?: HTTP_REQUEST_FETCH_START_TYPE;\n [HTTP_REQUEST_HEADER_KEY]?: HTTP_REQUEST_HEADER_KEY_TYPE;\n [HTTP_REQUEST_METHOD]?: HTTP_REQUEST_METHOD_TYPE;\n [HTTP_REQUEST_REDIRECT_END]?: HTTP_REQUEST_REDIRECT_END_TYPE;\n [HTTP_REQUEST_REDIRECT_START]?: HTTP_REQUEST_REDIRECT_START_TYPE;\n [HTTP_REQUEST_REQUEST_START]?: HTTP_REQUEST_REQUEST_START_TYPE;\n [HTTP_REQUEST_RESEND_COUNT]?: HTTP_REQUEST_RESEND_COUNT_TYPE;\n [HTTP_REQUEST_RESPONSE_END]?: HTTP_REQUEST_RESPONSE_END_TYPE;\n [HTTP_REQUEST_RESPONSE_START]?: HTTP_REQUEST_RESPONSE_START_TYPE;\n [HTTP_REQUEST_SECURE_CONNECTION_START]?: HTTP_REQUEST_SECURE_CONNECTION_START_TYPE;\n [HTTP_REQUEST_TIME_TO_FIRST_BYTE]?: HTTP_REQUEST_TIME_TO_FIRST_BYTE_TYPE;\n [HTTP_REQUEST_WORKER_START]?: HTTP_REQUEST_WORKER_START_TYPE;\n [HTTP_RESPONSE_BODY_SIZE]?: HTTP_RESPONSE_BODY_SIZE_TYPE;\n [HTTP_RESPONSE_HEADER_KEY]?: HTTP_RESPONSE_HEADER_KEY_TYPE;\n [HTTP_RESPONSE_HEADER_CONTENT_LENGTH]?: HTTP_RESPONSE_HEADER_CONTENT_LENGTH_TYPE;\n [HTTP_RESPONSE_SIZE]?: HTTP_RESPONSE_SIZE_TYPE;\n [HTTP_RESPONSE_STATUS_CODE]?: HTTP_RESPONSE_STATUS_CODE_TYPE;\n [HTTP_RESPONSE_CONTENT_LENGTH]?: HTTP_RESPONSE_CONTENT_LENGTH_TYPE;\n [HTTP_RESPONSE_TRANSFER_SIZE]?: HTTP_RESPONSE_TRANSFER_SIZE_TYPE;\n [HTTP_ROUTE]?: HTTP_ROUTE_TYPE;\n [HTTP_SCHEME]?: HTTP_SCHEME_TYPE;\n [HTTP_SERVER_NAME]?: HTTP_SERVER_NAME_TYPE;\n [HTTP_STATUS_CODE]?: HTTP_STATUS_CODE_TYPE;\n [HTTP_TARGET]?: HTTP_TARGET_TYPE;\n [HTTP_URL]?: HTTP_URL_TYPE;\n [HTTP_USER_AGENT]?: HTTP_USER_AGENT_TYPE;\n [ID]?: ID_TYPE;\n [JVM_GC_ACTION]?: JVM_GC_ACTION_TYPE;\n [JVM_GC_NAME]?: JVM_GC_NAME_TYPE;\n [JVM_MEMORY_POOL_NAME]?: JVM_MEMORY_POOL_NAME_TYPE;\n [JVM_MEMORY_TYPE]?: JVM_MEMORY_TYPE_TYPE;\n [JVM_THREAD_DAEMON]?: JVM_THREAD_DAEMON_TYPE;\n [JVM_THREAD_STATE]?: JVM_THREAD_STATE_TYPE;\n [LCP_ELEMENT]?: LCP_ELEMENT_TYPE;\n [LCP_ID]?: LCP_ID_TYPE;\n [LCP_SIZE]?: LCP_SIZE_TYPE;\n [LCP_URL]?: LCP_URL_TYPE;\n [LOGGER_NAME]?: LOGGER_NAME_TYPE;\n [MESSAGING_DESTINATION_CONNECTION]?: MESSAGING_DESTINATION_CONNECTION_TYPE;\n [MESSAGING_DESTINATION_NAME]?: MESSAGING_DESTINATION_NAME_TYPE;\n [MESSAGING_MESSAGE_BODY_SIZE]?: MESSAGING_MESSAGE_BODY_SIZE_TYPE;\n [MESSAGING_MESSAGE_ENVELOPE_SIZE]?: MESSAGING_MESSAGE_ENVELOPE_SIZE_TYPE;\n [MESSAGING_MESSAGE_ID]?: MESSAGING_MESSAGE_ID_TYPE;\n [MESSAGING_MESSAGE_RECEIVE_LATENCY]?: MESSAGING_MESSAGE_RECEIVE_LATENCY_TYPE;\n [MESSAGING_MESSAGE_RETRY_COUNT]?: MESSAGING_MESSAGE_RETRY_COUNT_TYPE;\n [MESSAGING_OPERATION_TYPE]?: MESSAGING_OPERATION_TYPE_TYPE;\n [MESSAGING_SYSTEM]?: MESSAGING_SYSTEM_TYPE;\n [METHOD]?: METHOD_TYPE;\n [NAVIGATION_TYPE]?: NAVIGATION_TYPE_TYPE;\n [NEL_ELAPSED_TIME]?: NEL_ELAPSED_TIME_TYPE;\n [NEL_PHASE]?: NEL_PHASE_TYPE;\n [NEL_REFERRER]?: NEL_REFERRER_TYPE;\n [NEL_SAMPLING_FUNCTION]?: NEL_SAMPLING_FUNCTION_TYPE;\n [NEL_TYPE]?: NEL_TYPE_TYPE;\n [NET_HOST_IP]?: NET_HOST_IP_TYPE;\n [NET_HOST_NAME]?: NET_HOST_NAME_TYPE;\n [NET_HOST_PORT]?: NET_HOST_PORT_TYPE;\n [NET_PEER_IP]?: NET_PEER_IP_TYPE;\n [NET_PEER_NAME]?: NET_PEER_NAME_TYPE;\n [NET_PEER_PORT]?: NET_PEER_PORT_TYPE;\n [NET_PROTOCOL_NAME]?: NET_PROTOCOL_NAME_TYPE;\n [NET_PROTOCOL_VERSION]?: NET_PROTOCOL_VERSION_TYPE;\n [NET_SOCK_FAMILY]?: NET_SOCK_FAMILY_TYPE;\n [NET_SOCK_HOST_ADDR]?: NET_SOCK_HOST_ADDR_TYPE;\n [NET_SOCK_HOST_PORT]?: NET_SOCK_HOST_PORT_TYPE;\n [NET_SOCK_PEER_ADDR]?: NET_SOCK_PEER_ADDR_TYPE;\n [NET_SOCK_PEER_NAME]?: NET_SOCK_PEER_NAME_TYPE;\n [NET_SOCK_PEER_PORT]?: NET_SOCK_PEER_PORT_TYPE;\n [NET_TRANSPORT]?: NET_TRANSPORT_TYPE;\n [NETWORK_LOCAL_ADDRESS]?: NETWORK_LOCAL_ADDRESS_TYPE;\n [NETWORK_LOCAL_PORT]?: NETWORK_LOCAL_PORT_TYPE;\n [NETWORK_PEER_ADDRESS]?: NETWORK_PEER_ADDRESS_TYPE;\n [NETWORK_PEER_PORT]?: NETWORK_PEER_PORT_TYPE;\n [NETWORK_PROTOCOL_NAME]?: NETWORK_PROTOCOL_NAME_TYPE;\n [NETWORK_PROTOCOL_VERSION]?: NETWORK_PROTOCOL_VERSION_TYPE;\n [NETWORK_TRANSPORT]?: NETWORK_TRANSPORT_TYPE;\n [NETWORK_TYPE]?: NETWORK_TYPE_TYPE;\n [OS_BUILD_ID]?: OS_BUILD_ID_TYPE;\n [OS_DESCRIPTION]?: OS_DESCRIPTION_TYPE;\n [OS_NAME]?: OS_NAME_TYPE;\n [OS_TYPE]?: OS_TYPE_TYPE;\n [OS_VERSION]?: OS_VERSION_TYPE;\n [OTEL_SCOPE_NAME]?: OTEL_SCOPE_NAME_TYPE;\n [OTEL_SCOPE_VERSION]?: OTEL_SCOPE_VERSION_TYPE;\n [OTEL_STATUS_CODE]?: OTEL_STATUS_CODE_TYPE;\n [OTEL_STATUS_DESCRIPTION]?: OTEL_STATUS_DESCRIPTION_TYPE;\n [PARAMS_KEY]?: PARAMS_KEY_TYPE;\n [PREVIOUS_ROUTE]?: PREVIOUS_ROUTE_TYPE;\n [PROCESS_EXECUTABLE_NAME]?: PROCESS_EXECUTABLE_NAME_TYPE;\n [PROCESS_PID]?: PROCESS_PID_TYPE;\n [PROCESS_RUNTIME_DESCRIPTION]?: PROCESS_RUNTIME_DESCRIPTION_TYPE;\n [PROCESS_RUNTIME_NAME]?: PROCESS_RUNTIME_NAME_TYPE;\n [PROCESS_RUNTIME_VERSION]?: PROCESS_RUNTIME_VERSION_TYPE;\n [PROFILE_ID]?: PROFILE_ID_TYPE;\n [QUERY_KEY]?: QUERY_KEY_TYPE;\n [RELEASE]?: RELEASE_TYPE;\n [REMIX_ACTION_FORM_DATA_KEY]?: REMIX_ACTION_FORM_DATA_KEY_TYPE;\n [REPLAY_ID]?: REPLAY_ID_TYPE;\n [RESOURCE_RENDER_BLOCKING_STATUS]?: RESOURCE_RENDER_BLOCKING_STATUS_TYPE;\n [ROUTE]?: ROUTE_TYPE;\n [RPC_GRPC_STATUS_CODE]?: RPC_GRPC_STATUS_CODE_TYPE;\n [RPC_SERVICE]?: RPC_SERVICE_TYPE;\n [SENTRY_BROWSER_NAME]?: SENTRY_BROWSER_NAME_TYPE;\n [SENTRY_BROWSER_VERSION]?: SENTRY_BROWSER_VERSION_TYPE;\n [SENTRY_CANCELLATION_REASON]?: SENTRY_CANCELLATION_REASON_TYPE;\n [SENTRY_CLIENT_SAMPLE_RATE]?: SENTRY_CLIENT_SAMPLE_RATE_TYPE;\n [SENTRY_DESCRIPTION]?: SENTRY_DESCRIPTION_TYPE;\n [SENTRY_DIST]?: SENTRY_DIST_TYPE;\n [SENTRY_ENVIRONMENT]?: SENTRY_ENVIRONMENT_TYPE;\n [SENTRY_EXCLUSIVE_TIME]?: SENTRY_EXCLUSIVE_TIME_TYPE;\n [SENTRY_HTTP_PREFETCH]?: SENTRY_HTTP_PREFETCH_TYPE;\n [SENTRY_IDLE_SPAN_FINISH_REASON]?: SENTRY_IDLE_SPAN_FINISH_REASON_TYPE;\n [SENTRY_MESSAGE_PARAMETER_KEY]?: SENTRY_MESSAGE_PARAMETER_KEY_TYPE;\n [SENTRY_MESSAGE_TEMPLATE]?: SENTRY_MESSAGE_TEMPLATE_TYPE;\n [SENTRY_MODULE_KEY]?: SENTRY_MODULE_KEY_TYPE;\n [SENTRY_NEXTJS_SSR_FUNCTION_ROUTE]?: SENTRY_NEXTJS_SSR_FUNCTION_ROUTE_TYPE;\n [SENTRY_NEXTJS_SSR_FUNCTION_TYPE]?: SENTRY_NEXTJS_SSR_FUNCTION_TYPE_TYPE;\n [SENTRY_OP]?: SENTRY_OP_TYPE;\n [SENTRY_ORIGIN]?: SENTRY_ORIGIN_TYPE;\n [SENTRY_PLATFORM]?: SENTRY_PLATFORM_TYPE;\n [SENTRY_PROFILE_ID]?: SENTRY_PROFILE_ID_TYPE;\n [SENTRY_RELEASE]?: SENTRY_RELEASE_TYPE;\n [SENTRY_REPLAY_ID]?: SENTRY_REPLAY_ID_TYPE;\n [SENTRY_SDK_INTEGRATIONS]?: SENTRY_SDK_INTEGRATIONS_TYPE;\n [SENTRY_SDK_NAME]?: SENTRY_SDK_NAME_TYPE;\n [SENTRY_SDK_VERSION]?: SENTRY_SDK_VERSION_TYPE;\n [SENTRY_SEGMENT_ID]?: SENTRY_SEGMENT_ID_TYPE;\n [SENTRY_SEGMENT_NAME]?: SENTRY_SEGMENT_NAME_TYPE;\n [_SENTRY_SEGMENT_ID]?: _SENTRY_SEGMENT_ID_TYPE;\n [SENTRY_SERVER_SAMPLE_RATE]?: SENTRY_SERVER_SAMPLE_RATE_TYPE;\n [SENTRY_SPAN_SOURCE]?: SENTRY_SPAN_SOURCE_TYPE;\n [SENTRY_TRACE_PARENT_SPAN_ID]?: SENTRY_TRACE_PARENT_SPAN_ID_TYPE;\n [SENTRY_TRANSACTION]?: SENTRY_TRANSACTION_TYPE;\n [SERVER_ADDRESS]?: SERVER_ADDRESS_TYPE;\n [SERVER_PORT]?: SERVER_PORT_TYPE;\n [SERVICE_NAME]?: SERVICE_NAME_TYPE;\n [SERVICE_VERSION]?: SERVICE_VERSION_TYPE;\n [THREAD_ID]?: THREAD_ID_TYPE;\n [THREAD_NAME]?: THREAD_NAME_TYPE;\n [TRANSACTION]?: TRANSACTION_TYPE;\n [TYPE]?: TYPE_TYPE;\n [UI_COMPONENT_NAME]?: UI_COMPONENT_NAME_TYPE;\n [UI_CONTRIBUTES_TO_TTFD]?: UI_CONTRIBUTES_TO_TTFD_TYPE;\n [UI_CONTRIBUTES_TO_TTID]?: UI_CONTRIBUTES_TO_TTID_TYPE;\n [URL_DOMAIN]?: URL_DOMAIN_TYPE;\n [URL_FRAGMENT]?: URL_FRAGMENT_TYPE;\n [URL_FULL]?: URL_FULL_TYPE;\n [URL_PATH]?: URL_PATH_TYPE;\n [URL_PATH_PARAMETER_KEY]?: URL_PATH_PARAMETER_KEY_TYPE;\n [URL_PORT]?: URL_PORT_TYPE;\n [URL_QUERY]?: URL_QUERY_TYPE;\n [URL_SCHEME]?: URL_SCHEME_TYPE;\n [URL_TEMPLATE]?: URL_TEMPLATE_TYPE;\n [URL]?: URL_TYPE;\n [USER_EMAIL]?: USER_EMAIL_TYPE;\n [USER_FULL_NAME]?: USER_FULL_NAME_TYPE;\n [USER_GEO_CITY]?: USER_GEO_CITY_TYPE;\n [USER_GEO_COUNTRY_CODE]?: USER_GEO_COUNTRY_CODE_TYPE;\n [USER_GEO_REGION]?: USER_GEO_REGION_TYPE;\n [USER_GEO_SUBDIVISION]?: USER_GEO_SUBDIVISION_TYPE;\n [USER_HASH]?: USER_HASH_TYPE;\n [USER_ID]?: USER_ID_TYPE;\n [USER_IP_ADDRESS]?: USER_IP_ADDRESS_TYPE;\n [USER_NAME]?: USER_NAME_TYPE;\n [USER_ROLES]?: USER_ROLES_TYPE;\n [USER_AGENT_ORIGINAL]?: USER_AGENT_ORIGINAL_TYPE;\n} & Record<string, AttributeValue | undefined>;\n"],"names":["AI_CITATIONS","AI_COMPLETION_TOKENS_USED","AI_DOCUMENTS","AI_FINISH_REASON","AI_FREQUENCY_PENALTY","AI_FUNCTION_CALL","AI_GENERATION_ID","AI_INPUT_MESSAGES","AI_IS_SEARCH_REQUIRED","AI_METADATA","AI_MODEL_PROVIDER","AI_MODEL_ID","AI_PIPELINE_NAME","AI_PREAMBLE","AI_PRESENCE_PENALTY","AI_PROMPT_TOKENS_USED","AI_RAW_PROMPTING","AI_RESPONSE_FORMAT","AI_RESPONSES","AI_SEARCH_QUERIES","AI_SEARCH_RESULTS","AI_SEED","AI_STREAMING","AI_TAGS","AI_TEMPERATURE","AI_TEXTS","AI_TOOL_CALLS","AI_TOOLS","AI_TOP_K","AI_TOP_P","AI_TOTAL_COST","AI_TOTAL_TOKENS_USED","AI_WARNINGS","APP_START_TYPE","BLOCKED_MAIN_THREAD","BROWSER_NAME","BROWSER_REPORT_TYPE","BROWSER_SCRIPT_INVOKER","BROWSER_SCRIPT_INVOKER_TYPE","BROWSER_SCRIPT_SOURCE_CHAR_POSITION","BROWSER_VERSION","CACHE_HIT","CACHE_ITEM_SIZE","CACHE_KEY","CACHE_OPERATION","CACHE_TTL","CHANNEL","CLIENT_ADDRESS","CLIENT_PORT","CLOUDFLARE_D1_DURATION","CLOUDFLARE_D1_ROWS_READ","CLOUDFLARE_D1_ROWS_WRITTEN","CODE_FILE_PATH","CODE_FILEPATH","CODE_FUNCTION","CODE_FUNCTION_NAME","CODE_LINE_NUMBER","CODE_LINENO","CODE_NAMESPACE","DB_COLLECTION_NAME","DB_NAME","DB_NAMESPACE","DB_OPERATION","DB_OPERATION_NAME","DB_QUERY_PARAMETER_KEY","DB_QUERY_SUMMARY","DB_QUERY_TEXT","DB_REDIS_CONNECTION","DB_REDIS_PARAMETERS","DB_SQL_BINDINGS","DB_STATEMENT","DB_SYSTEM","DB_SYSTEM_NAME","DB_USER","DEVICE_BRAND","DEVICE_FAMILY","DEVICE_MODEL","ENVIRONMENT","ERROR_TYPE","EVENT_ID","EVENT_NAME","EXCEPTION_ESCAPED","EXCEPTION_MESSAGE","EXCEPTION_STACKTRACE","EXCEPTION_TYPE","FAAS_COLDSTART","FAAS_CRON","FAAS_TIME","FAAS_TRIGGER","FLAG_EVALUATION_KEY","FRAMES_DELAY","FRAMES_FROZEN","FRAMES_SLOW","FRAMES_TOTAL","FS_ERROR","GEN_AI_AGENT_NAME","GEN_AI_ASSISTANT_MESSAGE","GEN_AI_CHOICE","GEN_AI_COST_INPUT_TOKENS","GEN_AI_COST_OUTPUT_TOKENS","GEN_AI_COST_TOTAL_TOKENS","GEN_AI_OPERATION_NAME","GEN_AI_OPERATION_TYPE","GEN_AI_PIPELINE_NAME","GEN_AI_PROMPT","GEN_AI_REQUEST_AVAILABLE_TOOLS","GEN_AI_REQUEST_FREQUENCY_PENALTY","GEN_AI_REQUEST_MAX_TOKENS","GEN_AI_REQUEST_MESSAGES","GEN_AI_REQUEST_MODEL","GEN_AI_REQUEST_PRESENCE_PENALTY","GEN_AI_REQUEST_SEED","GEN_AI_REQUEST_TEMPERATURE","GEN_AI_REQUEST_TOP_K","GEN_AI_REQUEST_TOP_P","GEN_AI_RESPONSE_FINISH_REASONS","GEN_AI_RESPONSE_ID","GEN_AI_RESPONSE_MODEL","GEN_AI_RESPONSE_STREAMING","GEN_AI_RESPONSE_TEXT","GEN_AI_RESPONSE_TOKENS_PER_SECOND","GEN_AI_RESPONSE_TOOL_CALLS","GEN_AI_SYSTEM","GEN_AI_SYSTEM_MESSAGE","GEN_AI_TOOL_DESCRIPTION","GEN_AI_TOOL_INPUT","GEN_AI_TOOL_MESSAGE","GEN_AI_TOOL_NAME","GEN_AI_TOOL_OUTPUT","GEN_AI_TOOL_TYPE","GEN_AI_USAGE_COMPLETION_TOKENS","GEN_AI_USAGE_INPUT_TOKENS","GEN_AI_USAGE_INPUT_TOKENS_CACHED","GEN_AI_USAGE_OUTPUT_TOKENS","GEN_AI_USAGE_OUTPUT_TOKENS_REASONING","GEN_AI_USAGE_PROMPT_TOKENS","GEN_AI_USAGE_TOTAL_COST","GEN_AI_USAGE_TOTAL_TOKENS","GEN_AI_USER_MESSAGE","GRAPHQL_OPERATION_NAME","GRAPHQL_OPERATION_TYPE","HTTP_CLIENT_IP","HTTP_DECODED_RESPONSE_CONTENT_LENGTH","HTTP_FLAVOR","HTTP_FRAGMENT","HTTP_HOST","HTTP_METHOD","HTTP_QUERY","HTTP_REQUEST_CONNECT_START","HTTP_REQUEST_CONNECTION_END","HTTP_REQUEST_DOMAIN_LOOKUP_END","HTTP_REQUEST_DOMAIN_LOOKUP_START","HTTP_REQUEST_FETCH_START","HTTP_REQUEST_HEADER_KEY","HTTP_REQUEST_METHOD","HTTP_REQUEST_REDIRECT_END","HTTP_REQUEST_REDIRECT_START","HTTP_REQUEST_REQUEST_START","HTTP_REQUEST_RESEND_COUNT","HTTP_REQUEST_RESPONSE_END","HTTP_REQUEST_RESPONSE_START","HTTP_REQUEST_SECURE_CONNECTION_START","HTTP_REQUEST_TIME_TO_FIRST_BYTE","HTTP_REQUEST_WORKER_START","HTTP_RESPONSE_BODY_SIZE","HTTP_RESPONSE_HEADER_KEY","HTTP_RESPONSE_HEADER_CONTENT_LENGTH","HTTP_RESPONSE_SIZE","HTTP_RESPONSE_STATUS_CODE","HTTP_RESPONSE_CONTENT_LENGTH","HTTP_RESPONSE_TRANSFER_SIZE","HTTP_ROUTE","HTTP_SCHEME","HTTP_SERVER_NAME","HTTP_STATUS_CODE","HTTP_TARGET","HTTP_URL","HTTP_USER_AGENT","ID","JVM_GC_ACTION","JVM_GC_NAME","JVM_MEMORY_POOL_NAME","JVM_MEMORY_TYPE","JVM_THREAD_DAEMON","JVM_THREAD_STATE","LCP_ELEMENT","LCP_ID","LCP_SIZE","LCP_URL","LOGGER_NAME","MESSAGING_DESTINATION_CONNECTION","MESSAGING_DESTINATION_NAME","MESSAGING_MESSAGE_BODY_SIZE","MESSAGING_MESSAGE_ENVELOPE_SIZE","MESSAGING_MESSAGE_ID","MESSAGING_MESSAGE_RECEIVE_LATENCY","MESSAGING_MESSAGE_RETRY_COUNT","MESSAGING_OPERATION_TYPE","MESSAGING_SYSTEM","METHOD","NAVIGATION_TYPE","NEL_ELAPSED_TIME","NEL_PHASE","NEL_REFERRER","NEL_SAMPLING_FUNCTION","NEL_TYPE","NET_HOST_IP","NET_HOST_NAME","NET_HOST_PORT","NET_PEER_IP","NET_PEER_NAME","NET_PEER_PORT","NET_PROTOCOL_NAME","NET_PROTOCOL_VERSION","NET_SOCK_FAMILY","NET_SOCK_HOST_ADDR","NET_SOCK_HOST_PORT","NET_SOCK_PEER_ADDR","NET_SOCK_PEER_NAME","NET_SOCK_PEER_PORT","NET_TRANSPORT","NETWORK_LOCAL_ADDRESS","NETWORK_LOCAL_PORT","NETWORK_PEER_ADDRESS","NETWORK_PEER_PORT","NETWORK_PROTOCOL_NAME","NETWORK_PROTOCOL_VERSION","NETWORK_TRANSPORT","NETWORK_TYPE","OS_BUILD_ID","OS_DESCRIPTION","OS_NAME","OS_TYPE","OS_VERSION","OTEL_SCOPE_NAME","OTEL_SCOPE_VERSION","OTEL_STATUS_CODE","OTEL_STATUS_DESCRIPTION","PARAMS_KEY","PREVIOUS_ROUTE","PROCESS_EXECUTABLE_NAME","PROCESS_PID","PROCESS_RUNTIME_DESCRIPTION","PROCESS_RUNTIME_NAME","PROCESS_RUNTIME_VERSION","PROFILE_ID","QUERY_KEY","RELEASE","REMIX_ACTION_FORM_DATA_KEY","REPLAY_ID","RESOURCE_RENDER_BLOCKING_STATUS","ROUTE","RPC_GRPC_STATUS_CODE","RPC_SERVICE","SENTRY_BROWSER_NAME","SENTRY_BROWSER_VERSION","SENTRY_CANCELLATION_REASON","SENTRY_CLIENT_SAMPLE_RATE","SENTRY_DESCRIPTION","SENTRY_DIST","SENTRY_ENVIRONMENT","SENTRY_EXCLUSIVE_TIME","SENTRY_HTTP_PREFETCH","SENTRY_IDLE_SPAN_FINISH_REASON","SENTRY_MESSAGE_PARAMETER_KEY","SENTRY_MESSAGE_TEMPLATE","SENTRY_MODULE_KEY","SENTRY_NEXTJS_SSR_FUNCTION_ROUTE","SENTRY_NEXTJS_SSR_FUNCTION_TYPE","SENTRY_OP","SENTRY_ORIGIN","SENTRY_PLATFORM","SENTRY_PROFILE_ID","SENTRY_RELEASE","SENTRY_REPLAY_ID","SENTRY_SDK_INTEGRATIONS","SENTRY_SDK_NAME","SENTRY_SDK_VERSION","SENTRY_SEGMENT_ID","SENTRY_SEGMENT_NAME","_SENTRY_SEGMENT_ID","SENTRY_SERVER_SAMPLE_RATE","SENTRY_SPAN_SOURCE","SENTRY_TRACE_PARENT_SPAN_ID","SENTRY_TRANSACTION","SERVER_ADDRESS","SERVER_PORT","SERVICE_NAME","SERVICE_VERSION","THREAD_ID","THREAD_NAME","TRANSACTION","TYPE","UI_COMPONENT_NAME","UI_CONTRIBUTES_TO_TTFD","UI_CONTRIBUTES_TO_TTID","URL_DOMAIN","URL_FRAGMENT","URL_FULL","URL_PATH","URL_PATH_PARAMETER_KEY","URL_PORT","URL_QUERY","URL_SCHEME","URL_TEMPLATE","URL","USER_EMAIL","USER_FULL_NAME","USER_GEO_CITY","USER_GEO_COUNTRY_CODE","USER_GEO_REGION","USER_GEO_SUBDIVISION","USER_HASH","USER_ID","USER_IP_ADDRESS","USER_NAME","USER_ROLES","USER_AGENT_ORIGINAL"],"mappings":"AAeO,MAAMA,EAAe,eAuBfC,EAA4B,4BAoB5BC,EAAe,eAuBfC,EAAmB,mBAuBnBC,EAAuB,uBAuBvBC,EAAmB,mBAuBnBC,EAAmB,mBAuBnBC,EAAoB,oBAoBpBC,EAAwB,wBAoBxBC,EAAc,cAuBdC,EAAoB,oBAuBpBC,EAAc,cAuBdC,EAAmB,mBAoBnBC,EAAc,cAuBdC,EAAsB,sBAuBtBC,EAAwB,wBAoBxBC,EAAmB,mBAoBnBC,EAAqB,qBAqBrBC,EAAe,eAoBfC,EAAoB,oBAoBpBC,EAAoB,oBAuBpBC,EAAU,UAuBVC,EAAe,eAoBfC,EAAU,UAuBVC,EAAiB,iBAoBjBC,EAAW,WAqBXC,EAAgB,gBAqBhBC,EAAW,WAuBXC,EAAW,WAuBXC,EAAW,WAoBXC,EAAgB,gBAuBhBC,EAAuB,uBAoBvBC,EAAc,cAoBdC,EAAiB,iBAoBjBC,EAAsB,sBAsBtBC,EAAe,eAoBfC,EAAsB,sBAoBtBC,EAAyB,yBAoBzBC,EAA8B,8BAoB9BC,EAAsC,sCAsBtCC,EAAkB,kBAoBlBC,EAAY,YAoBZC,EAAkB,kBAoBlBC,EAAY,YAoBZC,EAAkB,kBAoBlBC,EAAY,YAoBZC,EAAU,UAsBVC,EAAiB,iBAoBjBC,EAAc,cAoBdC,EAAyB,yBAoBzBC,EAA0B,0BAoB1BC,EAA6B,6BAsB7BC,EAAiB,iBAuBjBC,EAAgB,gBAuBhBC,GAAgB,gBAsBhBC,GAAqB,qBAsBrBC,GAAmB,mBAuBnBC,GAAc,cAqBdC,GAAiB,iBAoBjBC,GAAqB,qBAuBrBC,GAAU,UAsBVC,GAAe,eAuBfC,GAAe,eAsBfC,GAAoB,oBAsBpBC,GAAyB,2BAoBzBC,GAAmB,mBAsBnBC,GAAgB,gBAoBhBC,GAAsB,sBAoBtBC,GAAsB,sBAqBtBC,GAAkB,kBAuBlBC,GAAe,eAuBfC,GAAY,YAsBZC,GAAiB,iBAoBjBC,GAAU,UAoBVC,GAAe,eAoBfC,GAAgB,gBAoBhBC,GAAe,eAuBfC,GAAc,cAoBdC,GAAa,aAoBbC,GAAW,WAoBXC,GAAa,aAoBbC,GAAoB,oBAoBpBC,GAAoB,oBAoBpBC,GAAuB,uBAoBvBC,GAAiB,iBAoBjBC,GAAiB,iBAoBjBC,GAAY,YAoBZC,GAAY,YAoBZC,GAAe,eAsBfC,GAAsB,wBAoBtBC,GAAe,eAoBfC,GAAgB,gBAoBhBC,GAAc,cAoBdC,GAAe,eAqBfC,GAAW,WAoBXC,GAAoB,oBAoBpBC,GAA2B,2BAoB3BC,GAAgB,gBAoBhBC,GAA2B,2BAoB3BC,GAA4B,4BAoB5BC,GAA2B,2BAoB3BC,GAAwB,wBAoBxBC,GAAwB,wBAsBxBC,GAAuB,uBAqBvBC,GAAgB,gBAoBhBC,GAAiC,iCAsBjCC,GAAmC,mCAoBnCC,GAA4B,4BAsB5BC,GAA0B,0BAoB1BC,GAAuB,uBAsBvBC,GAAkC,kCAsBlCC,GAAsB,sBAsBtBC,GAA6B,6BAsB7BC,GAAuB,uBAsBvBC,GAAuB,uBAsBvBC,GAAiC,iCAsBjCC,GAAqB,qBAsBrBC,GAAwB,wBAsBxBC,GAA4B,4BAoB5BC,GAAuB,uBAoBvBC,GAAoC,oCAoBpCC,GAA6B,6BAsB7BC,GAAgB,gBAoBhBC,GAAwB,wBAoBxBC,GAA0B,0BAoB1BC,GAAoB,oBAoBpBC,GAAsB,sBAsBtBC,GAAmB,mBAoBnBC,GAAqB,qBAoBrBC,GAAmB,mBAuBnBC,GAAiC,iCAsBjCC,GAA4B,4BAoB5BC,GAAmC,mCAsBnCC,GAA6B,6BAoB7BC,GAAuC,uCAuBvCC,GAA6B,6BAqB7BC,GAA0B,0BAsB1BC,GAA4B,4BAoB5BC,GAAsB,sBAoBtBC,GAAyB,yBAoBzBC,GAAyB,yBAuBzBC,GAAiB,iBAoBjBC,GAAuC,uCAuBvCC,GAAc,cAoBdC,GAAgB,gBAuBhBC,GAAY,YAuBZC,GAAc,cAoBdC,GAAa,aAoBbC,GAA6B,6BAoB7BC,GAA8B,8BAoB9BC,GAAiC,iCAoBjCC,GAAmC,mCAoBnCC,GAA2B,2BAsB3BC,GAA0B,4BAsB1BC,GAAsB,sBAoBtBC,GAA4B,4BAoB5BC,GAA8B,8BAoB9BC,GAA6B,6BAoB7BC,GAA4B,4BAoB5BC,GAA4B,4BAoB5BC,GAA8B,8BAoB9BC,GAAuC,uCAoBvCC,GAAkC,kCAoBlCC,GAA4B,4BAsB5BC,GAA0B,0BAsB1BC,GAA2B,6BAsB3BC,GAAsC,sCAsBtCC,GAAqB,qBAsBrBC,GAA4B,4BAuB5BC,GAA+B,+BAuB/BC,GAA8B,8BAsB9BC,GAAa,aAuBbC,GAAc,cAuBdC,GAAmB,mBAuBnBC,GAAmB,mBAqBnBC,GAAc,cAuBdC,GAAW,WAuBXC,GAAkB,kBAoBlBC,GAAK,KAoBLC,GAAgB,gBAoBhBC,GAAc,cAoBdC,GAAuB,uBAoBvBC,GAAkB,kBAoBlBC,GAAoB,oBAoBpBC,GAAmB,mBAoBnBC,GAAc,cAoBdC,GAAS,SAoBTC,GAAW,WAoBXC,GAAU,UAoBVC,GAAc,cAoBdC,GAAmC,mCAoBnCC,GAA6B,6BAoB7BC,GAA8B,8BAoB9BC,GAAkC,kCAoBlCC,GAAuB,uBAoBvBC,GAAoC,oCAoBpCC,GAAgC,gCAoBhCC,GAA2B,2BAoB3BC,GAAmB,mBAuBnBC,GAAS,SAoBTC,GAAkB,kBAoBlBC,GAAmB,mBAoBnBC,GAAY,YAoBZC,GAAe,eAoBfC,GAAwB,wBAoBxBC,GAAW,WAuBXC,GAAc,cAuBdC,GAAgB,gBAuBhBC,GAAgB,gBAuBhBC,GAAc,cAqBdC,GAAgB,gBAqBhBC,GAAgB,gBAuBhBC,GAAoB,oBAuBpBC,GAAuB,uBAqBvBC,GAAkB,kBAuBlBC,GAAqB,qBAuBrBC,GAAqB,qBAuBrBC,GAAqB,qBAqBrBC,GAAqB,qBAqBrBC,GAAqB,qBAuBrBC,GAAgB,gBAsBhBC,GAAwB,wBAsBxBC,GAAqB,qBAsBrBC,GAAuB,uBAoBvBC,GAAoB,oBAsBpBC,GAAwB,wBAsBxBC,GAA2B,2BAsB3BC,GAAoB,oBAoBpBC,GAAe,eAoBfC,GAAc,cAoBdC,GAAiB,iBAoBjBC,GAAU,UAoBVC,GAAU,UAoBVC,GAAa,aAoBbC,GAAkB,kBAoBlBC,GAAqB,qBAoBrBC,GAAmB,mBAoBnBC,GAA0B,0BAwB1BC,GAAa,eAoBbC,GAAiB,iBAoBjBC,GAA0B,0BAoB1BC,GAAc,cAoBdC,GAA8B,8BAoB9BC,GAAuB,uBAoBvBC,GAA0B,0BAuB1BC,GAAa,aAuBbC,GAAY,cAuBZC,GAAU,UAsBVC,GAA6B,+BAuB7BC,GAAY,YAoBZC,GAAkC,kCAuBlCC,GAAQ,QAoBRC,GAAuB,uBAoBvBC,GAAc,cAuBdC,GAAsB,sBAuBtBC,GAAyB,yBAoBzBC,GAA6B,6BAoB7BC,GAA4B,4BAoB5BC,GAAqB,qBAoBrBC,GAAc,cAsBdC,GAAqB,qBAoBrBC,GAAwB,wBAoBxBC,GAAuB,uBAoBvBC,GAAiC,iCAoBjCC,GAA+B,iCAoB/BC,GAA0B,0BAsB1BC,GAAoB,sBAoBpBC,GAAmC,mCAoBnCC,GAAkC,kCAoBlCC,GAAY,YAoBZC,GAAgB,gBAoBhBC,GAAkB,kBAsBlBC,GAAoB,oBAsBpBC,GAAiB,iBAsBjBC,GAAmB,mBAoBnBC,GAA0B,0BAoB1BC,GAAkB,kBAoBlBC,GAAqB,qBAsBrBC,GAAoB,oBAoBpBC,GAAsB,sBAuBtBC,GAAqB,oBAoBrBC,GAA4B,4BAoB5BC,GAAqB,qBAoBrBC,GAA8B,8BAsB9BC,GAAqB,qBAsBrBC,GAAiB,iBAsBjBC,GAAc,cAoBdC,GAAe,eAsBfC,GAAkB,kBAoBlBC,GAAY,YAoBZC,GAAc,cAuBdC,GAAc,cAoBdC,GAAO,OAoBPC,GAAoB,oBAoBpBC,GAAyB,yBAoBzBC,GAAyB,yBAoBzBC,GAAa,aAoBbC,GAAe,eAsBfC,GAAW,WAoBXC,GAAW,WAwBXC,GAAyB,2BAoBzBC,GAAW,WAoBXC,GAAY,YAsBZC,GAAa,aAsBbC,GAAe,eAuBfC,GAAM,MAoBNC,GAAa,aAoBbC,GAAiB,iBAoBjBC,GAAgB,gBAoBhBC,GAAwB,wBAoBxBC,GAAkB,kBAoBlBC,GAAuB,uBAoBvBC,GAAY,YAoBZC,GAAU,UAoBVC,GAAkB,kBAoBlBC,GAAY,YAoBZC,GAAa,aAsBbC,GAAsB"}
|
|
1
|
+
{"version":3,"file":"attributes.mjs","sources":["../src/attributes.ts"],"sourcesContent":["// This is an auto-generated file. Do not edit!\n\n// Path: model/attributes/ai/ai__citations.json\n\n/**\n * References or sources cited by the AI model in its response. `ai.citations`\n *\n * Attribute Value Type: `Array<string>` {@link AI_CITATIONS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"Citation 1\",\"Citation 2\"]\n */\nexport const AI_CITATIONS = 'ai.citations';\n\n/**\n * Type for {@link AI_CITATIONS} ai.citations\n */\nexport type AI_CITATIONS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__completion_tokens__used.json\n\n/**\n * The number of tokens used to respond to the message. `ai.completion_tokens.used`\n *\n * Attribute Value Type: `number` {@link AI_COMPLETION_TOKENS_USED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_USAGE_OUTPUT_TOKENS} `gen_ai.usage.output_tokens`, {@link GEN_AI_USAGE_COMPLETION_TOKENS} `gen_ai.usage.completion_tokens`\n *\n * @deprecated Use {@link GEN_AI_USAGE_OUTPUT_TOKENS} (gen_ai.usage.output_tokens) instead\n * @example 10\n */\nexport const AI_COMPLETION_TOKENS_USED = 'ai.completion_tokens.used';\n\n/**\n * Type for {@link AI_COMPLETION_TOKENS_USED} ai.completion_tokens.used\n */\nexport type AI_COMPLETION_TOKENS_USED_TYPE = number;\n\n// Path: model/attributes/ai/ai__documents.json\n\n/**\n * Documents or content chunks used as context for the AI model. `ai.documents`\n *\n * Attribute Value Type: `Array<string>` {@link AI_DOCUMENTS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"document1.txt\",\"document2.pdf\"]\n */\nexport const AI_DOCUMENTS = 'ai.documents';\n\n/**\n * Type for {@link AI_DOCUMENTS} ai.documents\n */\nexport type AI_DOCUMENTS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__finish_reason.json\n\n/**\n * The reason why the model stopped generating. `ai.finish_reason`\n *\n * Attribute Value Type: `string` {@link AI_FINISH_REASON_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_RESPONSE_FINISH_REASONS} `gen_ai.response.finish_reasons`\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_FINISH_REASON} (gen_ai.response.finish_reason) instead\n * @example \"COMPLETE\"\n */\nexport const AI_FINISH_REASON = 'ai.finish_reason';\n\n/**\n * Type for {@link AI_FINISH_REASON} ai.finish_reason\n */\nexport type AI_FINISH_REASON_TYPE = string;\n\n// Path: model/attributes/ai/ai__frequency_penalty.json\n\n/**\n * Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation. `ai.frequency_penalty`\n *\n * Attribute Value Type: `number` {@link AI_FREQUENCY_PENALTY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_FREQUENCY_PENALTY} `gen_ai.request.frequency_penalty`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_FREQUENCY_PENALTY} (gen_ai.request.frequency_penalty) instead\n * @example 0.5\n */\nexport const AI_FREQUENCY_PENALTY = 'ai.frequency_penalty';\n\n/**\n * Type for {@link AI_FREQUENCY_PENALTY} ai.frequency_penalty\n */\nexport type AI_FREQUENCY_PENALTY_TYPE = number;\n\n// Path: model/attributes/ai/ai__function_call.json\n\n/**\n * For an AI model call, the function that was called. This is deprecated for OpenAI, and replaced by tool_calls `ai.function_call`\n *\n * Attribute Value Type: `string` {@link AI_FUNCTION_CALL_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_TOOL_NAME} `gen_ai.tool.name`\n *\n * @deprecated Use {@link GEN_AI_TOOL_NAME} (gen_ai.tool.name) instead\n * @example \"function_name\"\n */\nexport const AI_FUNCTION_CALL = 'ai.function_call';\n\n/**\n * Type for {@link AI_FUNCTION_CALL} ai.function_call\n */\nexport type AI_FUNCTION_CALL_TYPE = string;\n\n// Path: model/attributes/ai/ai__generation_id.json\n\n/**\n * Unique identifier for the completion. `ai.generation_id`\n *\n * Attribute Value Type: `string` {@link AI_GENERATION_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_RESPONSE_ID} `gen_ai.response.id`\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_ID} (gen_ai.response.id) instead\n * @example \"gen_123abc\"\n */\nexport const AI_GENERATION_ID = 'ai.generation_id';\n\n/**\n * Type for {@link AI_GENERATION_ID} ai.generation_id\n */\nexport type AI_GENERATION_ID_TYPE = string;\n\n// Path: model/attributes/ai/ai__input_messages.json\n\n/**\n * The input messages sent to the model `ai.input_messages`\n *\n * Attribute Value Type: `string` {@link AI_INPUT_MESSAGES_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_MESSAGES} `gen_ai.request.messages`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_MESSAGES} (gen_ai.request.messages) instead\n * @example \"[{\\\"role\\\": \\\"user\\\", \\\"message\\\": \\\"hello\\\"}]\"\n */\nexport const AI_INPUT_MESSAGES = 'ai.input_messages';\n\n/**\n * Type for {@link AI_INPUT_MESSAGES} ai.input_messages\n */\nexport type AI_INPUT_MESSAGES_TYPE = string;\n\n// Path: model/attributes/ai/ai__is_search_required.json\n\n/**\n * Boolean indicating if the model needs to perform a search. `ai.is_search_required`\n *\n * Attribute Value Type: `boolean` {@link AI_IS_SEARCH_REQUIRED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example false\n */\nexport const AI_IS_SEARCH_REQUIRED = 'ai.is_search_required';\n\n/**\n * Type for {@link AI_IS_SEARCH_REQUIRED} ai.is_search_required\n */\nexport type AI_IS_SEARCH_REQUIRED_TYPE = boolean;\n\n// Path: model/attributes/ai/ai__metadata.json\n\n/**\n * Extra metadata passed to an AI pipeline step. `ai.metadata`\n *\n * Attribute Value Type: `string` {@link AI_METADATA_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"{\\\"user_id\\\": 123, \\\"session_id\\\": \\\"abc123\\\"}\"\n */\nexport const AI_METADATA = 'ai.metadata';\n\n/**\n * Type for {@link AI_METADATA} ai.metadata\n */\nexport type AI_METADATA_TYPE = string;\n\n// Path: model/attributes/ai/ai__model__provider.json\n\n/**\n * The provider of the model. `ai.model.provider`\n *\n * Attribute Value Type: `string` {@link AI_MODEL_PROVIDER_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_SYSTEM} `gen_ai.system`\n *\n * @deprecated Use {@link GEN_AI_SYSTEM} (gen_ai.system) instead\n * @example \"openai\"\n */\nexport const AI_MODEL_PROVIDER = 'ai.model.provider';\n\n/**\n * Type for {@link AI_MODEL_PROVIDER} ai.model.provider\n */\nexport type AI_MODEL_PROVIDER_TYPE = string;\n\n// Path: model/attributes/ai/ai__model_id.json\n\n/**\n * The vendor-specific ID of the model used. `ai.model_id`\n *\n * Attribute Value Type: `string` {@link AI_MODEL_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_RESPONSE_MODEL} `gen_ai.response.model`\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_MODEL} (gen_ai.response.model) instead\n * @example \"gpt-4\"\n */\nexport const AI_MODEL_ID = 'ai.model_id';\n\n/**\n * Type for {@link AI_MODEL_ID} ai.model_id\n */\nexport type AI_MODEL_ID_TYPE = string;\n\n// Path: model/attributes/ai/ai__pipeline__name.json\n\n/**\n * The name of the AI pipeline. `ai.pipeline.name`\n *\n * Attribute Value Type: `string` {@link AI_PIPELINE_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_PIPELINE_NAME} `gen_ai.pipeline.name`\n *\n * @deprecated Use {@link GEN_AI_PIPELINE_NAME} (gen_ai.pipeline.name) instead\n * @example \"Autofix Pipeline\"\n */\nexport const AI_PIPELINE_NAME = 'ai.pipeline.name';\n\n/**\n * Type for {@link AI_PIPELINE_NAME} ai.pipeline.name\n */\nexport type AI_PIPELINE_NAME_TYPE = string;\n\n// Path: model/attributes/ai/ai__preamble.json\n\n/**\n * For an AI model call, the preamble parameter. Preambles are a part of the prompt used to adjust the model's overall behavior and conversation style. `ai.preamble`\n *\n * Attribute Value Type: `string` {@link AI_PREAMBLE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"You are now a clown.\"\n */\nexport const AI_PREAMBLE = 'ai.preamble';\n\n/**\n * Type for {@link AI_PREAMBLE} ai.preamble\n */\nexport type AI_PREAMBLE_TYPE = string;\n\n// Path: model/attributes/ai/ai__presence_penalty.json\n\n/**\n * Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies. `ai.presence_penalty`\n *\n * Attribute Value Type: `number` {@link AI_PRESENCE_PENALTY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_PRESENCE_PENALTY} `gen_ai.request.presence_penalty`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_PRESENCE_PENALTY} (gen_ai.request.presence_penalty) instead\n * @example 0.5\n */\nexport const AI_PRESENCE_PENALTY = 'ai.presence_penalty';\n\n/**\n * Type for {@link AI_PRESENCE_PENALTY} ai.presence_penalty\n */\nexport type AI_PRESENCE_PENALTY_TYPE = number;\n\n// Path: model/attributes/ai/ai__prompt_tokens__used.json\n\n/**\n * The number of tokens used to process just the prompt. `ai.prompt_tokens.used`\n *\n * Attribute Value Type: `number` {@link AI_PROMPT_TOKENS_USED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_USAGE_PROMPT_TOKENS} `gen_ai.usage.prompt_tokens`, {@link GEN_AI_USAGE_INPUT_TOKENS} `gen_ai.usage.input_tokens`\n *\n * @deprecated Use {@link GEN_AI_USAGE_INPUT_TOKENS} (gen_ai.usage.input_tokens) instead\n * @example 20\n */\nexport const AI_PROMPT_TOKENS_USED = 'ai.prompt_tokens.used';\n\n/**\n * Type for {@link AI_PROMPT_TOKENS_USED} ai.prompt_tokens.used\n */\nexport type AI_PROMPT_TOKENS_USED_TYPE = number;\n\n// Path: model/attributes/ai/ai__raw_prompting.json\n\n/**\n * When enabled, the user’s prompt will be sent to the model without any pre-processing. `ai.raw_prompting`\n *\n * Attribute Value Type: `boolean` {@link AI_RAW_PROMPTING_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const AI_RAW_PROMPTING = 'ai.raw_prompting';\n\n/**\n * Type for {@link AI_RAW_PROMPTING} ai.raw_prompting\n */\nexport type AI_RAW_PROMPTING_TYPE = boolean;\n\n// Path: model/attributes/ai/ai__response_format.json\n\n/**\n * For an AI model call, the format of the response `ai.response_format`\n *\n * Attribute Value Type: `string` {@link AI_RESPONSE_FORMAT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"json_object\"\n */\nexport const AI_RESPONSE_FORMAT = 'ai.response_format';\n\n/**\n * Type for {@link AI_RESPONSE_FORMAT} ai.response_format\n */\nexport type AI_RESPONSE_FORMAT_TYPE = string;\n\n// Path: model/attributes/ai/ai__responses.json\n\n/**\n * The response messages sent back by the AI model. `ai.responses`\n *\n * Attribute Value Type: `Array<string>` {@link AI_RESPONSES_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_TEXT} (gen_ai.response.text) instead\n * @example [\"hello\",\"world\"]\n */\nexport const AI_RESPONSES = 'ai.responses';\n\n/**\n * Type for {@link AI_RESPONSES} ai.responses\n */\nexport type AI_RESPONSES_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__search_queries.json\n\n/**\n * Queries used to search for relevant context or documents. `ai.search_queries`\n *\n * Attribute Value Type: `Array<string>` {@link AI_SEARCH_QUERIES_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"climate change effects\",\"renewable energy\"]\n */\nexport const AI_SEARCH_QUERIES = 'ai.search_queries';\n\n/**\n * Type for {@link AI_SEARCH_QUERIES} ai.search_queries\n */\nexport type AI_SEARCH_QUERIES_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__search_results.json\n\n/**\n * Results returned from search queries for context. `ai.search_results`\n *\n * Attribute Value Type: `Array<string>` {@link AI_SEARCH_RESULTS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"search_result_1, search_result_2\"]\n */\nexport const AI_SEARCH_RESULTS = 'ai.search_results';\n\n/**\n * Type for {@link AI_SEARCH_RESULTS} ai.search_results\n */\nexport type AI_SEARCH_RESULTS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__seed.json\n\n/**\n * The seed, ideally models given the same seed and same other parameters will produce the exact same output. `ai.seed`\n *\n * Attribute Value Type: `string` {@link AI_SEED_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_SEED} `gen_ai.request.seed`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_SEED} (gen_ai.request.seed) instead\n * @example \"1234567890\"\n */\nexport const AI_SEED = 'ai.seed';\n\n/**\n * Type for {@link AI_SEED} ai.seed\n */\nexport type AI_SEED_TYPE = string;\n\n// Path: model/attributes/ai/ai__streaming.json\n\n/**\n * Whether the request was streamed back. `ai.streaming`\n *\n * Attribute Value Type: `boolean` {@link AI_STREAMING_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_RESPONSE_STREAMING} `gen_ai.response.streaming`\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_STREAMING} (gen_ai.response.streaming) instead\n * @example true\n */\nexport const AI_STREAMING = 'ai.streaming';\n\n/**\n * Type for {@link AI_STREAMING} ai.streaming\n */\nexport type AI_STREAMING_TYPE = boolean;\n\n// Path: model/attributes/ai/ai__tags.json\n\n/**\n * Tags that describe an AI pipeline step. `ai.tags`\n *\n * Attribute Value Type: `string` {@link AI_TAGS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"{\\\"executed_function\\\": \\\"add_integers\\\"}\"\n */\nexport const AI_TAGS = 'ai.tags';\n\n/**\n * Type for {@link AI_TAGS} ai.tags\n */\nexport type AI_TAGS_TYPE = string;\n\n// Path: model/attributes/ai/ai__temperature.json\n\n/**\n * For an AI model call, the temperature parameter. Temperature essentially means how random the output will be. `ai.temperature`\n *\n * Attribute Value Type: `number` {@link AI_TEMPERATURE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_TEMPERATURE} `gen_ai.request.temperature`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_TEMPERATURE} (gen_ai.request.temperature) instead\n * @example 0.1\n */\nexport const AI_TEMPERATURE = 'ai.temperature';\n\n/**\n * Type for {@link AI_TEMPERATURE} ai.temperature\n */\nexport type AI_TEMPERATURE_TYPE = number;\n\n// Path: model/attributes/ai/ai__texts.json\n\n/**\n * Raw text inputs provided to the model. `ai.texts`\n *\n * Attribute Value Type: `Array<string>` {@link AI_TEXTS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"Hello, how are you?\",\"What is the capital of France?\"]\n */\nexport const AI_TEXTS = 'ai.texts';\n\n/**\n * Type for {@link AI_TEXTS} ai.texts\n */\nexport type AI_TEXTS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__tool_calls.json\n\n/**\n * For an AI model call, the tool calls that were made. `ai.tool_calls`\n *\n * Attribute Value Type: `Array<string>` {@link AI_TOOL_CALLS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link GEN_AI_RESPONSE_TOOL_CALLS} (gen_ai.response.tool_calls) instead\n * @example [\"tool_call_1\",\"tool_call_2\"]\n */\nexport const AI_TOOL_CALLS = 'ai.tool_calls';\n\n/**\n * Type for {@link AI_TOOL_CALLS} ai.tool_calls\n */\nexport type AI_TOOL_CALLS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__tools.json\n\n/**\n * For an AI model call, the functions that are available `ai.tools`\n *\n * Attribute Value Type: `Array<string>` {@link AI_TOOLS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link GEN_AI_REQUEST_AVAILABLE_TOOLS} (gen_ai.request.available_tools) instead\n * @example [\"function_1\",\"function_2\"]\n */\nexport const AI_TOOLS = 'ai.tools';\n\n/**\n * Type for {@link AI_TOOLS} ai.tools\n */\nexport type AI_TOOLS_TYPE = Array<string>;\n\n// Path: model/attributes/ai/ai__top_k.json\n\n/**\n * Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered). `ai.top_k`\n *\n * Attribute Value Type: `number` {@link AI_TOP_K_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_TOP_K} `gen_ai.request.top_k`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_TOP_K} (gen_ai.request.top_k) instead\n * @example 35\n */\nexport const AI_TOP_K = 'ai.top_k';\n\n/**\n * Type for {@link AI_TOP_K} ai.top_k\n */\nexport type AI_TOP_K_TYPE = number;\n\n// Path: model/attributes/ai/ai__top_p.json\n\n/**\n * Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered). `ai.top_p`\n *\n * Attribute Value Type: `number` {@link AI_TOP_P_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_REQUEST_TOP_P} `gen_ai.request.top_p`\n *\n * @deprecated Use {@link GEN_AI_REQUEST_TOP_P} (gen_ai.request.top_p) instead\n * @example 0.7\n */\nexport const AI_TOP_P = 'ai.top_p';\n\n/**\n * Type for {@link AI_TOP_P} ai.top_p\n */\nexport type AI_TOP_P_TYPE = number;\n\n// Path: model/attributes/ai/ai__total_cost.json\n\n/**\n * The total cost for the tokens used. `ai.total_cost`\n *\n * Attribute Value Type: `number` {@link AI_TOTAL_COST_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 12.34\n */\nexport const AI_TOTAL_COST = 'ai.total_cost';\n\n/**\n * Type for {@link AI_TOTAL_COST} ai.total_cost\n */\nexport type AI_TOTAL_COST_TYPE = number;\n\n// Path: model/attributes/ai/ai__total_tokens__used.json\n\n/**\n * The total number of tokens used to process the prompt. `ai.total_tokens.used`\n *\n * Attribute Value Type: `number` {@link AI_TOTAL_TOKENS_USED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link GEN_AI_USAGE_TOTAL_TOKENS} `gen_ai.usage.total_tokens`\n *\n * @deprecated Use {@link GEN_AI_USAGE_TOTAL_TOKENS} (gen_ai.usage.total_tokens) instead\n * @example 30\n */\nexport const AI_TOTAL_TOKENS_USED = 'ai.total_tokens.used';\n\n/**\n * Type for {@link AI_TOTAL_TOKENS_USED} ai.total_tokens.used\n */\nexport type AI_TOTAL_TOKENS_USED_TYPE = number;\n\n// Path: model/attributes/ai/ai__warnings.json\n\n/**\n * Warning messages generated during model execution. `ai.warnings`\n *\n * Attribute Value Type: `Array<string>` {@link AI_WARNINGS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"Token limit exceeded\"]\n */\nexport const AI_WARNINGS = 'ai.warnings';\n\n/**\n * Type for {@link AI_WARNINGS} ai.warnings\n */\nexport type AI_WARNINGS_TYPE = Array<string>;\n\n// Path: model/attributes/app_start_type.json\n\n/**\n * Mobile app start variant. Either cold or warm. `app_start_type`\n *\n * Attribute Value Type: `string` {@link APP_START_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"cold\"\n */\nexport const APP_START_TYPE = 'app_start_type';\n\n/**\n * Type for {@link APP_START_TYPE} app_start_type\n */\nexport type APP_START_TYPE_TYPE = string;\n\n// Path: model/attributes/blocked_main_thread.json\n\n/**\n * Whether the main thread was blocked by the span. `blocked_main_thread`\n *\n * Attribute Value Type: `boolean` {@link BLOCKED_MAIN_THREAD_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const BLOCKED_MAIN_THREAD = 'blocked_main_thread';\n\n/**\n * Type for {@link BLOCKED_MAIN_THREAD} blocked_main_thread\n */\nexport type BLOCKED_MAIN_THREAD_TYPE = boolean;\n\n// Path: model/attributes/browser/browser__name.json\n\n/**\n * The name of the browser. `browser.name`\n *\n * Attribute Value Type: `string` {@link BROWSER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_BROWSER_NAME} `sentry.browser.name`\n *\n * @example \"Chrome\"\n */\nexport const BROWSER_NAME = 'browser.name';\n\n/**\n * Type for {@link BROWSER_NAME} browser.name\n */\nexport type BROWSER_NAME_TYPE = string;\n\n// Path: model/attributes/browser/browser__report__type.json\n\n/**\n * A browser report sent via reporting API.. `browser.report.type`\n *\n * Attribute Value Type: `string` {@link BROWSER_REPORT_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"network-error\"\n */\nexport const BROWSER_REPORT_TYPE = 'browser.report.type';\n\n/**\n * Type for {@link BROWSER_REPORT_TYPE} browser.report.type\n */\nexport type BROWSER_REPORT_TYPE_TYPE = string;\n\n// Path: model/attributes/browser/browser__script__invoker.json\n\n/**\n * How a script was called in the browser. `browser.script.invoker`\n *\n * Attribute Value Type: `string` {@link BROWSER_SCRIPT_INVOKER_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Window.requestAnimationFrame\"\n */\nexport const BROWSER_SCRIPT_INVOKER = 'browser.script.invoker';\n\n/**\n * Type for {@link BROWSER_SCRIPT_INVOKER} browser.script.invoker\n */\nexport type BROWSER_SCRIPT_INVOKER_TYPE = string;\n\n// Path: model/attributes/browser/browser__script__invoker_type.json\n\n/**\n * Browser script entry point type. `browser.script.invoker_type`\n *\n * Attribute Value Type: `string` {@link BROWSER_SCRIPT_INVOKER_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"event-listener\"\n */\nexport const BROWSER_SCRIPT_INVOKER_TYPE = 'browser.script.invoker_type';\n\n/**\n * Type for {@link BROWSER_SCRIPT_INVOKER_TYPE} browser.script.invoker_type\n */\nexport type BROWSER_SCRIPT_INVOKER_TYPE_TYPE = string;\n\n// Path: model/attributes/browser/browser__script__source_char_position.json\n\n/**\n * A number representing the script character position of the script. `browser.script.source_char_position`\n *\n * Attribute Value Type: `number` {@link BROWSER_SCRIPT_SOURCE_CHAR_POSITION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 678\n */\nexport const BROWSER_SCRIPT_SOURCE_CHAR_POSITION = 'browser.script.source_char_position';\n\n/**\n * Type for {@link BROWSER_SCRIPT_SOURCE_CHAR_POSITION} browser.script.source_char_position\n */\nexport type BROWSER_SCRIPT_SOURCE_CHAR_POSITION_TYPE = number;\n\n// Path: model/attributes/browser/browser__version.json\n\n/**\n * The version of the browser. `browser.version`\n *\n * Attribute Value Type: `string` {@link BROWSER_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_BROWSER_VERSION} `sentry.browser.version`\n *\n * @example \"120.0.6099.130\"\n */\nexport const BROWSER_VERSION = 'browser.version';\n\n/**\n * Type for {@link BROWSER_VERSION} browser.version\n */\nexport type BROWSER_VERSION_TYPE = string;\n\n// Path: model/attributes/cache/cache__hit.json\n\n/**\n * If the cache was hit during this span. `cache.hit`\n *\n * Attribute Value Type: `boolean` {@link CACHE_HIT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const CACHE_HIT = 'cache.hit';\n\n/**\n * Type for {@link CACHE_HIT} cache.hit\n */\nexport type CACHE_HIT_TYPE = boolean;\n\n// Path: model/attributes/cache/cache__item_size.json\n\n/**\n * The size of the requested item in the cache. In bytes. `cache.item_size`\n *\n * Attribute Value Type: `number` {@link CACHE_ITEM_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 58\n */\nexport const CACHE_ITEM_SIZE = 'cache.item_size';\n\n/**\n * Type for {@link CACHE_ITEM_SIZE} cache.item_size\n */\nexport type CACHE_ITEM_SIZE_TYPE = number;\n\n// Path: model/attributes/cache/cache__key.json\n\n/**\n * The key of the cache accessed. `cache.key`\n *\n * Attribute Value Type: `Array<string>` {@link CACHE_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"my-cache-key\",\"my-other-cache-key\"]\n */\nexport const CACHE_KEY = 'cache.key';\n\n/**\n * Type for {@link CACHE_KEY} cache.key\n */\nexport type CACHE_KEY_TYPE = Array<string>;\n\n// Path: model/attributes/cache/cache__operation.json\n\n/**\n * The operation being performed on the cache. `cache.operation`\n *\n * Attribute Value Type: `string` {@link CACHE_OPERATION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"get\"\n */\nexport const CACHE_OPERATION = 'cache.operation';\n\n/**\n * Type for {@link CACHE_OPERATION} cache.operation\n */\nexport type CACHE_OPERATION_TYPE = string;\n\n// Path: model/attributes/cache/cache__ttl.json\n\n/**\n * The ttl of the cache in seconds `cache.ttl`\n *\n * Attribute Value Type: `number` {@link CACHE_TTL_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 120\n */\nexport const CACHE_TTL = 'cache.ttl';\n\n/**\n * Type for {@link CACHE_TTL} cache.ttl\n */\nexport type CACHE_TTL_TYPE = number;\n\n// Path: model/attributes/channel.json\n\n/**\n * The channel name that is being used. `channel`\n *\n * Attribute Value Type: `string` {@link CHANNEL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"mail\"\n */\nexport const CHANNEL = 'channel';\n\n/**\n * Type for {@link CHANNEL} channel\n */\nexport type CHANNEL_TYPE = string;\n\n// Path: model/attributes/client/client__address.json\n\n/**\n * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `client.address`\n *\n * Attribute Value Type: `string` {@link CLIENT_ADDRESS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_CLIENT_IP} `http.client_ip`\n *\n * @example \"example.com\"\n */\nexport const CLIENT_ADDRESS = 'client.address';\n\n/**\n * Type for {@link CLIENT_ADDRESS} client.address\n */\nexport type CLIENT_ADDRESS_TYPE = string;\n\n// Path: model/attributes/client/client__port.json\n\n/**\n * Client port number. `client.port`\n *\n * Attribute Value Type: `number` {@link CLIENT_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 5432\n */\nexport const CLIENT_PORT = 'client.port';\n\n/**\n * Type for {@link CLIENT_PORT} client.port\n */\nexport type CLIENT_PORT_TYPE = number;\n\n// Path: model/attributes/cloudflare/cloudflare__d1__duration.json\n\n/**\n * The duration of a Cloudflare D1 operation. `cloudflare.d1.duration`\n *\n * Attribute Value Type: `number` {@link CLOUDFLARE_D1_DURATION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 543\n */\nexport const CLOUDFLARE_D1_DURATION = 'cloudflare.d1.duration';\n\n/**\n * Type for {@link CLOUDFLARE_D1_DURATION} cloudflare.d1.duration\n */\nexport type CLOUDFLARE_D1_DURATION_TYPE = number;\n\n// Path: model/attributes/cloudflare/cloudflare__d1__rows_read.json\n\n/**\n * The number of rows read in a Cloudflare D1 operation. `cloudflare.d1.rows_read`\n *\n * Attribute Value Type: `number` {@link CLOUDFLARE_D1_ROWS_READ_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 12\n */\nexport const CLOUDFLARE_D1_ROWS_READ = 'cloudflare.d1.rows_read';\n\n/**\n * Type for {@link CLOUDFLARE_D1_ROWS_READ} cloudflare.d1.rows_read\n */\nexport type CLOUDFLARE_D1_ROWS_READ_TYPE = number;\n\n// Path: model/attributes/cloudflare/cloudflare__d1__rows_written.json\n\n/**\n * The number of rows written in a Cloudflare D1 operation. `cloudflare.d1.rows_written`\n *\n * Attribute Value Type: `number` {@link CLOUDFLARE_D1_ROWS_WRITTEN_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 12\n */\nexport const CLOUDFLARE_D1_ROWS_WRITTEN = 'cloudflare.d1.rows_written';\n\n/**\n * Type for {@link CLOUDFLARE_D1_ROWS_WRITTEN} cloudflare.d1.rows_written\n */\nexport type CLOUDFLARE_D1_ROWS_WRITTEN_TYPE = number;\n\n// Path: model/attributes/code/code__file__path.json\n\n/**\n * The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). `code.file.path`\n *\n * Attribute Value Type: `string` {@link CODE_FILE_PATH_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_FILEPATH} `code.filepath`\n *\n * @example \"/app/myapplication/http/handler/server.py\"\n */\nexport const CODE_FILE_PATH = 'code.file.path';\n\n/**\n * Type for {@link CODE_FILE_PATH} code.file.path\n */\nexport type CODE_FILE_PATH_TYPE = string;\n\n// Path: model/attributes/code/code__filepath.json\n\n/**\n * The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). `code.filepath`\n *\n * Attribute Value Type: `string` {@link CODE_FILEPATH_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_FILE_PATH} `code.file.path`\n *\n * @deprecated Use {@link CODE_FILE_PATH} (code.file.path) instead\n * @example \"/app/myapplication/http/handler/server.py\"\n */\nexport const CODE_FILEPATH = 'code.filepath';\n\n/**\n * Type for {@link CODE_FILEPATH} code.filepath\n */\nexport type CODE_FILEPATH_TYPE = string;\n\n// Path: model/attributes/code/code__function.json\n\n/**\n * The method or function name, or equivalent (usually rightmost part of the code unit's name). `code.function`\n *\n * Attribute Value Type: `string` {@link CODE_FUNCTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_FUNCTION_NAME} `code.function.name`\n *\n * @deprecated Use {@link CODE_FUNCTION_NAME} (code.function.name) instead\n * @example \"server_request\"\n */\nexport const CODE_FUNCTION = 'code.function';\n\n/**\n * Type for {@link CODE_FUNCTION} code.function\n */\nexport type CODE_FUNCTION_TYPE = string;\n\n// Path: model/attributes/code/code__function__name.json\n\n/**\n * The method or function name, or equivalent (usually rightmost part of the code unit's name). `code.function.name`\n *\n * Attribute Value Type: `string` {@link CODE_FUNCTION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_FUNCTION} `code.function`\n *\n * @example \"server_request\"\n */\nexport const CODE_FUNCTION_NAME = 'code.function.name';\n\n/**\n * Type for {@link CODE_FUNCTION_NAME} code.function.name\n */\nexport type CODE_FUNCTION_NAME_TYPE = string;\n\n// Path: model/attributes/code/code__line__number.json\n\n/**\n * The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function `code.line.number`\n *\n * Attribute Value Type: `number` {@link CODE_LINE_NUMBER_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_LINENO} `code.lineno`\n *\n * @example 42\n */\nexport const CODE_LINE_NUMBER = 'code.line.number';\n\n/**\n * Type for {@link CODE_LINE_NUMBER} code.line.number\n */\nexport type CODE_LINE_NUMBER_TYPE = number;\n\n// Path: model/attributes/code/code__lineno.json\n\n/**\n * The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function `code.lineno`\n *\n * Attribute Value Type: `number` {@link CODE_LINENO_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CODE_LINE_NUMBER} `code.line.number`\n *\n * @deprecated Use {@link CODE_LINE_NUMBER} (code.line.number) instead\n * @example 42\n */\nexport const CODE_LINENO = 'code.lineno';\n\n/**\n * Type for {@link CODE_LINENO} code.lineno\n */\nexport type CODE_LINENO_TYPE = number;\n\n// Path: model/attributes/code/code__namespace.json\n\n/**\n * The 'namespace' within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit. `code.namespace`\n *\n * Attribute Value Type: `string` {@link CODE_NAMESPACE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link CODE_FUNCTION_NAME} (code.function.name) instead - code.function.name should include the namespace.\n * @example \"http.handler\"\n */\nexport const CODE_NAMESPACE = 'code.namespace';\n\n/**\n * Type for {@link CODE_NAMESPACE} code.namespace\n */\nexport type CODE_NAMESPACE_TYPE = string;\n\n// Path: model/attributes/db/db__collection__name.json\n\n/**\n * The name of a collection (table, container) within the database. `db.collection.name`\n *\n * Attribute Value Type: `string` {@link DB_COLLECTION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"users\"\n */\nexport const DB_COLLECTION_NAME = 'db.collection.name';\n\n/**\n * Type for {@link DB_COLLECTION_NAME} db.collection.name\n */\nexport type DB_COLLECTION_NAME_TYPE = string;\n\n// Path: model/attributes/db/db__name.json\n\n/**\n * The name of the database being accessed. `db.name`\n *\n * Attribute Value Type: `string` {@link DB_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_NAMESPACE} `db.namespace`\n *\n * @deprecated Use {@link DB_NAMESPACE} (db.namespace) instead\n * @example \"customers\"\n */\nexport const DB_NAME = 'db.name';\n\n/**\n * Type for {@link DB_NAME} db.name\n */\nexport type DB_NAME_TYPE = string;\n\n// Path: model/attributes/db/db__namespace.json\n\n/**\n * The name of the database being accessed. `db.namespace`\n *\n * Attribute Value Type: `string` {@link DB_NAMESPACE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_NAME} `db.name`\n *\n * @example \"customers\"\n */\nexport const DB_NAMESPACE = 'db.namespace';\n\n/**\n * Type for {@link DB_NAMESPACE} db.namespace\n */\nexport type DB_NAMESPACE_TYPE = string;\n\n// Path: model/attributes/db/db__operation.json\n\n/**\n * The name of the operation being executed. `db.operation`\n *\n * Attribute Value Type: `string` {@link DB_OPERATION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_OPERATION_NAME} `db.operation.name`\n *\n * @deprecated Use {@link DB_OPERATION_NAME} (db.operation.name) instead\n * @example \"SELECT\"\n */\nexport const DB_OPERATION = 'db.operation';\n\n/**\n * Type for {@link DB_OPERATION} db.operation\n */\nexport type DB_OPERATION_TYPE = string;\n\n// Path: model/attributes/db/db__operation__name.json\n\n/**\n * The name of the operation being executed. `db.operation.name`\n *\n * Attribute Value Type: `string` {@link DB_OPERATION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_OPERATION} `db.operation`\n *\n * @example \"SELECT\"\n */\nexport const DB_OPERATION_NAME = 'db.operation.name';\n\n/**\n * Type for {@link DB_OPERATION_NAME} db.operation.name\n */\nexport type DB_OPERATION_NAME_TYPE = string;\n\n// Path: model/attributes/db/db__query__parameter__[key].json\n\n/**\n * A query parameter used in db.query.text, with <key> being the parameter name, and the attribute value being a string representation of the parameter value. `db.query.parameter.<key>`\n *\n * Attribute Value Type: `string` {@link DB_QUERY_PARAMETER_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Has Dynamic Suffix: true\n *\n * @example \"db.query.parameter.foo='123'\"\n */\nexport const DB_QUERY_PARAMETER_KEY = 'db.query.parameter.<key>';\n\n/**\n * Type for {@link DB_QUERY_PARAMETER_KEY} db.query.parameter.<key>\n */\nexport type DB_QUERY_PARAMETER_KEY_TYPE = string;\n\n// Path: model/attributes/db/db__query__summary.json\n\n/**\n * A database query being executed. Should be paramaterized. The full version of the query is in `db.query.text`. `db.query.summary`\n *\n * Attribute Value Type: `string` {@link DB_QUERY_SUMMARY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"SELECT * FROM users\"\n */\nexport const DB_QUERY_SUMMARY = 'db.query.summary';\n\n/**\n * Type for {@link DB_QUERY_SUMMARY} db.query.summary\n */\nexport type DB_QUERY_SUMMARY_TYPE = string;\n\n// Path: model/attributes/db/db__query__text.json\n\n/**\n * The database query being executed. Should be the full query, not a parameterized version. The parameterized version is in `db.query.summary`. `db.query.text`\n *\n * Attribute Value Type: `string` {@link DB_QUERY_TEXT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_STATEMENT} `db.statement`\n *\n * @example \"SELECT * FROM users\"\n */\nexport const DB_QUERY_TEXT = 'db.query.text';\n\n/**\n * Type for {@link DB_QUERY_TEXT} db.query.text\n */\nexport type DB_QUERY_TEXT_TYPE = string;\n\n// Path: model/attributes/db/db__redis__connection.json\n\n/**\n * The redis connection name. `db.redis.connection`\n *\n * Attribute Value Type: `string` {@link DB_REDIS_CONNECTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"my-redis-instance\"\n */\nexport const DB_REDIS_CONNECTION = 'db.redis.connection';\n\n/**\n * Type for {@link DB_REDIS_CONNECTION} db.redis.connection\n */\nexport type DB_REDIS_CONNECTION_TYPE = string;\n\n// Path: model/attributes/db/db__redis__parameters.json\n\n/**\n * The array of command parameters given to a redis command. `db.redis.parameters`\n *\n * Attribute Value Type: `Array<string>` {@link DB_REDIS_PARAMETERS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"test\",\"*\"]\n */\nexport const DB_REDIS_PARAMETERS = 'db.redis.parameters';\n\n/**\n * Type for {@link DB_REDIS_PARAMETERS} db.redis.parameters\n */\nexport type DB_REDIS_PARAMETERS_TYPE = Array<string>;\n\n// Path: model/attributes/db/db__sql__bindings.json\n\n/**\n * The array of query bindings. `db.sql.bindings`\n *\n * Attribute Value Type: `Array<string>` {@link DB_SQL_BINDINGS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link DB_QUERY_PARAMETER_KEY} (db.query.parameter.<key>) instead - Instead of adding every binding in the db.sql.bindings attribute, add them as individual entires with db.query.parameter.<key>.\n * @example [\"1\",\"foo\"]\n */\nexport const DB_SQL_BINDINGS = 'db.sql.bindings';\n\n/**\n * Type for {@link DB_SQL_BINDINGS} db.sql.bindings\n */\nexport type DB_SQL_BINDINGS_TYPE = Array<string>;\n\n// Path: model/attributes/db/db__statement.json\n\n/**\n * The database statement being executed. `db.statement`\n *\n * Attribute Value Type: `string` {@link DB_STATEMENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_QUERY_TEXT} `db.query.text`\n *\n * @deprecated Use {@link DB_QUERY_TEXT} (db.query.text) instead\n * @example \"SELECT * FROM users\"\n */\nexport const DB_STATEMENT = 'db.statement';\n\n/**\n * Type for {@link DB_STATEMENT} db.statement\n */\nexport type DB_STATEMENT_TYPE = string;\n\n// Path: model/attributes/db/db__system.json\n\n/**\n * An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers. `db.system`\n *\n * Attribute Value Type: `string` {@link DB_SYSTEM_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_SYSTEM_NAME} `db.system.name`\n *\n * @deprecated Use {@link DB_SYSTEM_NAME} (db.system.name) instead\n * @example \"postgresql\"\n */\nexport const DB_SYSTEM = 'db.system';\n\n/**\n * Type for {@link DB_SYSTEM} db.system\n */\nexport type DB_SYSTEM_TYPE = string;\n\n// Path: model/attributes/db/db__system__name.json\n\n/**\n * An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers. `db.system.name`\n *\n * Attribute Value Type: `string` {@link DB_SYSTEM_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link DB_SYSTEM} `db.system`\n *\n * @example \"postgresql\"\n */\nexport const DB_SYSTEM_NAME = 'db.system.name';\n\n/**\n * Type for {@link DB_SYSTEM_NAME} db.system.name\n */\nexport type DB_SYSTEM_NAME_TYPE = string;\n\n// Path: model/attributes/db/db__user.json\n\n/**\n * The database user. `db.user`\n *\n * Attribute Value Type: `string` {@link DB_USER_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"fancy_user\"\n */\nexport const DB_USER = 'db.user';\n\n/**\n * Type for {@link DB_USER} db.user\n */\nexport type DB_USER_TYPE = string;\n\n// Path: model/attributes/device/device__brand.json\n\n/**\n * The brand of the device. `device.brand`\n *\n * Attribute Value Type: `string` {@link DEVICE_BRAND_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Apple\"\n */\nexport const DEVICE_BRAND = 'device.brand';\n\n/**\n * Type for {@link DEVICE_BRAND} device.brand\n */\nexport type DEVICE_BRAND_TYPE = string;\n\n// Path: model/attributes/device/device__family.json\n\n/**\n * The family of the device. `device.family`\n *\n * Attribute Value Type: `string` {@link DEVICE_FAMILY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"iPhone\"\n */\nexport const DEVICE_FAMILY = 'device.family';\n\n/**\n * Type for {@link DEVICE_FAMILY} device.family\n */\nexport type DEVICE_FAMILY_TYPE = string;\n\n// Path: model/attributes/device/device__model.json\n\n/**\n * The model of the device. `device.model`\n *\n * Attribute Value Type: `string` {@link DEVICE_MODEL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"iPhone 15 Pro Max\"\n */\nexport const DEVICE_MODEL = 'device.model';\n\n/**\n * Type for {@link DEVICE_MODEL} device.model\n */\nexport type DEVICE_MODEL_TYPE = string;\n\n// Path: model/attributes/environment.json\n\n/**\n * The sentry environment. `environment`\n *\n * Attribute Value Type: `string` {@link ENVIRONMENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_ENVIRONMENT} `sentry.environment`\n *\n * @deprecated Use {@link SENTRY_ENVIRONMENT} (sentry.environment) instead\n * @example \"production\"\n */\nexport const ENVIRONMENT = 'environment';\n\n/**\n * Type for {@link ENVIRONMENT} environment\n */\nexport type ENVIRONMENT_TYPE = string;\n\n// Path: model/attributes/error/error__type.json\n\n/**\n * Describes a class of error the operation ended with. `error.type`\n *\n * Attribute Value Type: `string` {@link ERROR_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"timeout\"\n */\nexport const ERROR_TYPE = 'error.type';\n\n/**\n * Type for {@link ERROR_TYPE} error.type\n */\nexport type ERROR_TYPE_TYPE = string;\n\n// Path: model/attributes/event/event__id.json\n\n/**\n * The unique identifier for this event (log record) `event.id`\n *\n * Attribute Value Type: `number` {@link EVENT_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1234567890\n */\nexport const EVENT_ID = 'event.id';\n\n/**\n * Type for {@link EVENT_ID} event.id\n */\nexport type EVENT_ID_TYPE = number;\n\n// Path: model/attributes/event/event__name.json\n\n/**\n * The name that uniquely identifies this event (log record) `event.name`\n *\n * Attribute Value Type: `string` {@link EVENT_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Process Payload\"\n */\nexport const EVENT_NAME = 'event.name';\n\n/**\n * Type for {@link EVENT_NAME} event.name\n */\nexport type EVENT_NAME_TYPE = string;\n\n// Path: model/attributes/exception/exception__escaped.json\n\n/**\n * SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. `exception.escaped`\n *\n * Attribute Value Type: `boolean` {@link EXCEPTION_ESCAPED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example true\n */\nexport const EXCEPTION_ESCAPED = 'exception.escaped';\n\n/**\n * Type for {@link EXCEPTION_ESCAPED} exception.escaped\n */\nexport type EXCEPTION_ESCAPED_TYPE = boolean;\n\n// Path: model/attributes/exception/exception__message.json\n\n/**\n * The error message. `exception.message`\n *\n * Attribute Value Type: `string` {@link EXCEPTION_MESSAGE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"ENOENT: no such file or directory\"\n */\nexport const EXCEPTION_MESSAGE = 'exception.message';\n\n/**\n * Type for {@link EXCEPTION_MESSAGE} exception.message\n */\nexport type EXCEPTION_MESSAGE_TYPE = string;\n\n// Path: model/attributes/exception/exception__stacktrace.json\n\n/**\n * A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. `exception.stacktrace`\n *\n * Attribute Value Type: `string` {@link EXCEPTION_STACKTRACE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"Exception in thread \\\"main\\\" java.lang.RuntimeException: Test exception\\n at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\\n at com.example.GenerateTrace.methodA(GenerateTrace.java:9)\\n at com.example.GenerateTrace.main(GenerateTrace.java:5)\"\n */\nexport const EXCEPTION_STACKTRACE = 'exception.stacktrace';\n\n/**\n * Type for {@link EXCEPTION_STACKTRACE} exception.stacktrace\n */\nexport type EXCEPTION_STACKTRACE_TYPE = string;\n\n// Path: model/attributes/exception/exception__type.json\n\n/**\n * The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it. `exception.type`\n *\n * Attribute Value Type: `string` {@link EXCEPTION_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"OSError\"\n */\nexport const EXCEPTION_TYPE = 'exception.type';\n\n/**\n * Type for {@link EXCEPTION_TYPE} exception.type\n */\nexport type EXCEPTION_TYPE_TYPE = string;\n\n// Path: model/attributes/faas/faas__coldstart.json\n\n/**\n * A boolean that is true if the serverless function is executed for the first time (aka cold-start). `faas.coldstart`\n *\n * Attribute Value Type: `boolean` {@link FAAS_COLDSTART_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example true\n */\nexport const FAAS_COLDSTART = 'faas.coldstart';\n\n/**\n * Type for {@link FAAS_COLDSTART} faas.coldstart\n */\nexport type FAAS_COLDSTART_TYPE = boolean;\n\n// Path: model/attributes/faas/faas__cron.json\n\n/**\n * A string containing the schedule period as Cron Expression. `faas.cron`\n *\n * Attribute Value Type: `string` {@link FAAS_CRON_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"0/5 * * * ? *\"\n */\nexport const FAAS_CRON = 'faas.cron';\n\n/**\n * Type for {@link FAAS_CRON} faas.cron\n */\nexport type FAAS_CRON_TYPE = string;\n\n// Path: model/attributes/faas/faas__time.json\n\n/**\n * A string containing the function invocation time in the ISO 8601 format expressed in UTC. `faas.time`\n *\n * Attribute Value Type: `string` {@link FAAS_TIME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"2020-01-23T13:47:06Z\"\n */\nexport const FAAS_TIME = 'faas.time';\n\n/**\n * Type for {@link FAAS_TIME} faas.time\n */\nexport type FAAS_TIME_TYPE = string;\n\n// Path: model/attributes/faas/faas__trigger.json\n\n/**\n * Type of the trigger which caused this function invocation. `faas.trigger`\n *\n * Attribute Value Type: `string` {@link FAAS_TRIGGER_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"timer\"\n */\nexport const FAAS_TRIGGER = 'faas.trigger';\n\n/**\n * Type for {@link FAAS_TRIGGER} faas.trigger\n */\nexport type FAAS_TRIGGER_TYPE = string;\n\n// Path: model/attributes/flag/flag__evaluation__[key].json\n\n/**\n * An instance of a feature flag evaluation. The value of this attribute is the boolean representing the evaluation result. The <key> suffix is the name of the feature flag. `flag.evaluation.<key>`\n *\n * Attribute Value Type: `boolean` {@link FLAG_EVALUATION_KEY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * @example \"flag.evaluation.is_new_ui=true\"\n */\nexport const FLAG_EVALUATION_KEY = 'flag.evaluation.<key>';\n\n/**\n * Type for {@link FLAG_EVALUATION_KEY} flag.evaluation.<key>\n */\nexport type FLAG_EVALUATION_KEY_TYPE = boolean;\n\n// Path: model/attributes/frames/frames__delay.json\n\n/**\n * The sum of all delayed frame durations in seconds during the lifetime of the span. For more information see [frames delay](https://develop.sentry.dev/sdk/performance/frames-delay/). `frames.delay`\n *\n * Attribute Value Type: `number` {@link FRAMES_DELAY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 5\n */\nexport const FRAMES_DELAY = 'frames.delay';\n\n/**\n * Type for {@link FRAMES_DELAY} frames.delay\n */\nexport type FRAMES_DELAY_TYPE = number;\n\n// Path: model/attributes/frames/frames__frozen.json\n\n/**\n * The number of frozen frames rendered during the lifetime of the span. `frames.frozen`\n *\n * Attribute Value Type: `number` {@link FRAMES_FROZEN_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 3\n */\nexport const FRAMES_FROZEN = 'frames.frozen';\n\n/**\n * Type for {@link FRAMES_FROZEN} frames.frozen\n */\nexport type FRAMES_FROZEN_TYPE = number;\n\n// Path: model/attributes/frames/frames__slow.json\n\n/**\n * The number of slow frames rendered during the lifetime of the span. `frames.slow`\n *\n * Attribute Value Type: `number` {@link FRAMES_SLOW_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1\n */\nexport const FRAMES_SLOW = 'frames.slow';\n\n/**\n * Type for {@link FRAMES_SLOW} frames.slow\n */\nexport type FRAMES_SLOW_TYPE = number;\n\n// Path: model/attributes/frames/frames__total.json\n\n/**\n * The number of total frames rendered during the lifetime of the span. `frames.total`\n *\n * Attribute Value Type: `number` {@link FRAMES_TOTAL_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 60\n */\nexport const FRAMES_TOTAL = 'frames.total';\n\n/**\n * Type for {@link FRAMES_TOTAL} frames.total\n */\nexport type FRAMES_TOTAL_TYPE = number;\n\n// Path: model/attributes/fs_error.json\n\n/**\n * The error message of a file system error. `fs_error`\n *\n * Attribute Value Type: `string` {@link FS_ERROR_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link ERROR_TYPE} (error.type) instead - This attribute is not part of the OpenTelemetry specification and error.type fits much better.\n * @example \"ENOENT: no such file or directory\"\n */\nexport const FS_ERROR = 'fs_error';\n\n/**\n * Type for {@link FS_ERROR} fs_error\n */\nexport type FS_ERROR_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__agent__name.json\n\n/**\n * The name of the agent being used. `gen_ai.agent.name`\n *\n * Attribute Value Type: `string` {@link GEN_AI_AGENT_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"ResearchAssistant\"\n */\nexport const GEN_AI_AGENT_NAME = 'gen_ai.agent.name';\n\n/**\n * Type for {@link GEN_AI_AGENT_NAME} gen_ai.agent.name\n */\nexport type GEN_AI_AGENT_NAME_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__assistant__message.json\n\n/**\n * The assistant message passed to the model. `gen_ai.assistant.message`\n *\n * Attribute Value Type: `string` {@link GEN_AI_ASSISTANT_MESSAGE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"get_weather tool call\"\n */\nexport const GEN_AI_ASSISTANT_MESSAGE = 'gen_ai.assistant.message';\n\n/**\n * Type for {@link GEN_AI_ASSISTANT_MESSAGE} gen_ai.assistant.message\n */\nexport type GEN_AI_ASSISTANT_MESSAGE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__choice.json\n\n/**\n * The model's response message. `gen_ai.choice`\n *\n * Attribute Value Type: `string` {@link GEN_AI_CHOICE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"The weather in Paris is rainy and overcast, with temperatures around 57°F\"\n */\nexport const GEN_AI_CHOICE = 'gen_ai.choice';\n\n/**\n * Type for {@link GEN_AI_CHOICE} gen_ai.choice\n */\nexport type GEN_AI_CHOICE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__cost__input_tokens.json\n\n/**\n * The cost of tokens used to process the AI input (prompt) in USD (without cached input tokens). `gen_ai.cost.input_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_COST_INPUT_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 123.45\n */\nexport const GEN_AI_COST_INPUT_TOKENS = 'gen_ai.cost.input_tokens';\n\n/**\n * Type for {@link GEN_AI_COST_INPUT_TOKENS} gen_ai.cost.input_tokens\n */\nexport type GEN_AI_COST_INPUT_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__cost__output_tokens.json\n\n/**\n * The cost of tokens used for creating the AI output in USD (without reasoning tokens). `gen_ai.cost.output_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_COST_OUTPUT_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 123.45\n */\nexport const GEN_AI_COST_OUTPUT_TOKENS = 'gen_ai.cost.output_tokens';\n\n/**\n * Type for {@link GEN_AI_COST_OUTPUT_TOKENS} gen_ai.cost.output_tokens\n */\nexport type GEN_AI_COST_OUTPUT_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__cost__total_tokens.json\n\n/**\n * The total cost for the tokens used. `gen_ai.cost.total_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_COST_TOTAL_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 12.34\n */\nexport const GEN_AI_COST_TOTAL_TOKENS = 'gen_ai.cost.total_tokens';\n\n/**\n * Type for {@link GEN_AI_COST_TOTAL_TOKENS} gen_ai.cost.total_tokens\n */\nexport type GEN_AI_COST_TOTAL_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__operation__name.json\n\n/**\n * The name of the operation being performed. `gen_ai.operation.name`\n *\n * Attribute Value Type: `string` {@link GEN_AI_OPERATION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"chat\"\n */\nexport const GEN_AI_OPERATION_NAME = 'gen_ai.operation.name';\n\n/**\n * Type for {@link GEN_AI_OPERATION_NAME} gen_ai.operation.name\n */\nexport type GEN_AI_OPERATION_NAME_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__operation__type.json\n\n/**\n * The type of AI operation. Must be one of 'agent', 'ai_client', 'tool', 'handoff', 'guardrail'. Makes querying for spans in the UI easier. `gen_ai.operation.type`\n *\n * Attribute Value Type: `string` {@link GEN_AI_OPERATION_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"tool\"\n */\nexport const GEN_AI_OPERATION_TYPE = 'gen_ai.operation.type';\n\n/**\n * Type for {@link GEN_AI_OPERATION_TYPE} gen_ai.operation.type\n */\nexport type GEN_AI_OPERATION_TYPE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__pipeline__name.json\n\n/**\n * Name of the AI pipeline or chain being executed. `gen_ai.pipeline.name`\n *\n * Attribute Value Type: `string` {@link GEN_AI_PIPELINE_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link AI_PIPELINE_NAME} `ai.pipeline.name`\n *\n * @example \"Autofix Pipeline\"\n */\nexport const GEN_AI_PIPELINE_NAME = 'gen_ai.pipeline.name';\n\n/**\n * Type for {@link GEN_AI_PIPELINE_NAME} gen_ai.pipeline.name\n */\nexport type GEN_AI_PIPELINE_NAME_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__prompt.json\n\n/**\n * The input messages sent to the model `gen_ai.prompt`\n *\n * Attribute Value Type: `string` {@link GEN_AI_PROMPT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated - Deprecated from OTEL, use gen_ai.input.messages with the new format instead.\n * @example \"[{\\\"role\\\": \\\"user\\\", \\\"message\\\": \\\"hello\\\"}]\"\n */\nexport const GEN_AI_PROMPT = 'gen_ai.prompt';\n\n/**\n * Type for {@link GEN_AI_PROMPT} gen_ai.prompt\n */\nexport type GEN_AI_PROMPT_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__request__available_tools.json\n\n/**\n * The available tools for the model. It has to be a stringified version of an array of objects. `gen_ai.request.available_tools`\n *\n * Attribute Value Type: `string` {@link GEN_AI_REQUEST_AVAILABLE_TOOLS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"[{\\\"name\\\": \\\"get_weather\\\", \\\"description\\\": \\\"Get the weather for a given location\\\"}, {\\\"name\\\": \\\"get_news\\\", \\\"description\\\": \\\"Get the news for a given topic\\\"}]\"\n */\nexport const GEN_AI_REQUEST_AVAILABLE_TOOLS = 'gen_ai.request.available_tools';\n\n/**\n * Type for {@link GEN_AI_REQUEST_AVAILABLE_TOOLS} gen_ai.request.available_tools\n */\nexport type GEN_AI_REQUEST_AVAILABLE_TOOLS_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__request__frequency_penalty.json\n\n/**\n * Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation. `gen_ai.request.frequency_penalty`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_FREQUENCY_PENALTY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_FREQUENCY_PENALTY} `ai.frequency_penalty`\n *\n * @example 0.5\n */\nexport const GEN_AI_REQUEST_FREQUENCY_PENALTY = 'gen_ai.request.frequency_penalty';\n\n/**\n * Type for {@link GEN_AI_REQUEST_FREQUENCY_PENALTY} gen_ai.request.frequency_penalty\n */\nexport type GEN_AI_REQUEST_FREQUENCY_PENALTY_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__request__max_tokens.json\n\n/**\n * The maximum number of tokens to generate in the response. `gen_ai.request.max_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_MAX_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 2048\n */\nexport const GEN_AI_REQUEST_MAX_TOKENS = 'gen_ai.request.max_tokens';\n\n/**\n * Type for {@link GEN_AI_REQUEST_MAX_TOKENS} gen_ai.request.max_tokens\n */\nexport type GEN_AI_REQUEST_MAX_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__request__messages.json\n\n/**\n * The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `\"user\"`, `\"assistant\"`, `\"tool\"`, or `\"system\"`. For messages of the role `\"tool\"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: \"text\", text:\"...\"}`. `gen_ai.request.messages`\n *\n * Attribute Value Type: `string` {@link GEN_AI_REQUEST_MESSAGES_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link AI_INPUT_MESSAGES} `ai.input_messages`\n *\n * @example \"[{\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"Generate a random number.\\\"}, {\\\"role\\\": \\\"user\\\", \\\"content\\\": [{\\\"text\\\": \\\"Generate a random number between 0 and 10.\\\", \\\"type\\\": \\\"text\\\"}]}, {\\\"role\\\": \\\"tool\\\", \\\"content\\\": {\\\"toolCallId\\\": \\\"1\\\", \\\"toolName\\\": \\\"Weather\\\", \\\"output\\\": \\\"rainy\\\"}}]\"\n */\nexport const GEN_AI_REQUEST_MESSAGES = 'gen_ai.request.messages';\n\n/**\n * Type for {@link GEN_AI_REQUEST_MESSAGES} gen_ai.request.messages\n */\nexport type GEN_AI_REQUEST_MESSAGES_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__request__model.json\n\n/**\n * The model identifier being used for the request. `gen_ai.request.model`\n *\n * Attribute Value Type: `string` {@link GEN_AI_REQUEST_MODEL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"gpt-4-turbo-preview\"\n */\nexport const GEN_AI_REQUEST_MODEL = 'gen_ai.request.model';\n\n/**\n * Type for {@link GEN_AI_REQUEST_MODEL} gen_ai.request.model\n */\nexport type GEN_AI_REQUEST_MODEL_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__request__presence_penalty.json\n\n/**\n * Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies. `gen_ai.request.presence_penalty`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_PRESENCE_PENALTY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_PRESENCE_PENALTY} `ai.presence_penalty`\n *\n * @example 0.5\n */\nexport const GEN_AI_REQUEST_PRESENCE_PENALTY = 'gen_ai.request.presence_penalty';\n\n/**\n * Type for {@link GEN_AI_REQUEST_PRESENCE_PENALTY} gen_ai.request.presence_penalty\n */\nexport type GEN_AI_REQUEST_PRESENCE_PENALTY_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__request__seed.json\n\n/**\n * The seed, ideally models given the same seed and same other parameters will produce the exact same output. `gen_ai.request.seed`\n *\n * Attribute Value Type: `string` {@link GEN_AI_REQUEST_SEED_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_SEED} `ai.seed`\n *\n * @example \"1234567890\"\n */\nexport const GEN_AI_REQUEST_SEED = 'gen_ai.request.seed';\n\n/**\n * Type for {@link GEN_AI_REQUEST_SEED} gen_ai.request.seed\n */\nexport type GEN_AI_REQUEST_SEED_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__request__temperature.json\n\n/**\n * For an AI model call, the temperature parameter. Temperature essentially means how random the output will be. `gen_ai.request.temperature`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_TEMPERATURE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_TEMPERATURE} `ai.temperature`\n *\n * @example 0.1\n */\nexport const GEN_AI_REQUEST_TEMPERATURE = 'gen_ai.request.temperature';\n\n/**\n * Type for {@link GEN_AI_REQUEST_TEMPERATURE} gen_ai.request.temperature\n */\nexport type GEN_AI_REQUEST_TEMPERATURE_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__request__top_k.json\n\n/**\n * Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered). `gen_ai.request.top_k`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_TOP_K_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_TOP_K} `ai.top_k`\n *\n * @example 35\n */\nexport const GEN_AI_REQUEST_TOP_K = 'gen_ai.request.top_k';\n\n/**\n * Type for {@link GEN_AI_REQUEST_TOP_K} gen_ai.request.top_k\n */\nexport type GEN_AI_REQUEST_TOP_K_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__request__top_p.json\n\n/**\n * Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered). `gen_ai.request.top_p`\n *\n * Attribute Value Type: `number` {@link GEN_AI_REQUEST_TOP_P_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_TOP_P} `ai.top_p`\n *\n * @example 0.7\n */\nexport const GEN_AI_REQUEST_TOP_P = 'gen_ai.request.top_p';\n\n/**\n * Type for {@link GEN_AI_REQUEST_TOP_P} gen_ai.request.top_p\n */\nexport type GEN_AI_REQUEST_TOP_P_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__response__finish_reasons.json\n\n/**\n * The reason why the model stopped generating. `gen_ai.response.finish_reasons`\n *\n * Attribute Value Type: `string` {@link GEN_AI_RESPONSE_FINISH_REASONS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_FINISH_REASON} `ai.finish_reason`\n *\n * @example \"COMPLETE\"\n */\nexport const GEN_AI_RESPONSE_FINISH_REASONS = 'gen_ai.response.finish_reasons';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_FINISH_REASONS} gen_ai.response.finish_reasons\n */\nexport type GEN_AI_RESPONSE_FINISH_REASONS_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__response__id.json\n\n/**\n * Unique identifier for the completion. `gen_ai.response.id`\n *\n * Attribute Value Type: `string` {@link GEN_AI_RESPONSE_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_GENERATION_ID} `ai.generation_id`\n *\n * @example \"gen_123abc\"\n */\nexport const GEN_AI_RESPONSE_ID = 'gen_ai.response.id';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_ID} gen_ai.response.id\n */\nexport type GEN_AI_RESPONSE_ID_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__response__model.json\n\n/**\n * The vendor-specific ID of the model used. `gen_ai.response.model`\n *\n * Attribute Value Type: `string` {@link GEN_AI_RESPONSE_MODEL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_MODEL_ID} `ai.model_id`\n *\n * @example \"gpt-4\"\n */\nexport const GEN_AI_RESPONSE_MODEL = 'gen_ai.response.model';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_MODEL} gen_ai.response.model\n */\nexport type GEN_AI_RESPONSE_MODEL_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__response__streaming.json\n\n/**\n * Whether or not the AI model call's response was streamed back asynchronously `gen_ai.response.streaming`\n *\n * Attribute Value Type: `boolean` {@link GEN_AI_RESPONSE_STREAMING_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link AI_STREAMING} `ai.streaming`\n *\n * @example true\n */\nexport const GEN_AI_RESPONSE_STREAMING = 'gen_ai.response.streaming';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_STREAMING} gen_ai.response.streaming\n */\nexport type GEN_AI_RESPONSE_STREAMING_TYPE = boolean;\n\n// Path: model/attributes/gen_ai/gen_ai__response__text.json\n\n/**\n * The model's response text messages. It has to be a stringified version of an array of response text messages. `gen_ai.response.text`\n *\n * Attribute Value Type: `string` {@link GEN_AI_RESPONSE_TEXT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"[\\\"The weather in Paris is rainy and overcast, with temperatures around 57°F\\\", \\\"The weather in London is sunny and warm, with temperatures around 65°F\\\"]\"\n */\nexport const GEN_AI_RESPONSE_TEXT = 'gen_ai.response.text';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_TEXT} gen_ai.response.text\n */\nexport type GEN_AI_RESPONSE_TEXT_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__response__tokens_per_second.json\n\n/**\n * The total output tokens per seconds throughput `gen_ai.response.tokens_per_second`\n *\n * Attribute Value Type: `number` {@link GEN_AI_RESPONSE_TOKENS_PER_SECOND_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 12345.67\n */\nexport const GEN_AI_RESPONSE_TOKENS_PER_SECOND = 'gen_ai.response.tokens_per_second';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_TOKENS_PER_SECOND} gen_ai.response.tokens_per_second\n */\nexport type GEN_AI_RESPONSE_TOKENS_PER_SECOND_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__response__tool_calls.json\n\n/**\n * The tool calls in the model's response. It has to be a stringified version of an array of objects. `gen_ai.response.tool_calls`\n *\n * Attribute Value Type: `string` {@link GEN_AI_RESPONSE_TOOL_CALLS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"[{\\\"name\\\": \\\"get_weather\\\", \\\"arguments\\\": {\\\"location\\\": \\\"Paris\\\"}}]\"\n */\nexport const GEN_AI_RESPONSE_TOOL_CALLS = 'gen_ai.response.tool_calls';\n\n/**\n * Type for {@link GEN_AI_RESPONSE_TOOL_CALLS} gen_ai.response.tool_calls\n */\nexport type GEN_AI_RESPONSE_TOOL_CALLS_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__system.json\n\n/**\n * The provider of the model. `gen_ai.system`\n *\n * Attribute Value Type: `string` {@link GEN_AI_SYSTEM_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_MODEL_PROVIDER} `ai.model.provider`\n *\n * @example \"openai\"\n */\nexport const GEN_AI_SYSTEM = 'gen_ai.system';\n\n/**\n * Type for {@link GEN_AI_SYSTEM} gen_ai.system\n */\nexport type GEN_AI_SYSTEM_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__system__message.json\n\n/**\n * The system instructions passed to the model. `gen_ai.system.message`\n *\n * Attribute Value Type: `string` {@link GEN_AI_SYSTEM_MESSAGE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"You are a helpful assistant\"\n */\nexport const GEN_AI_SYSTEM_MESSAGE = 'gen_ai.system.message';\n\n/**\n * Type for {@link GEN_AI_SYSTEM_MESSAGE} gen_ai.system.message\n */\nexport type GEN_AI_SYSTEM_MESSAGE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__description.json\n\n/**\n * The description of the tool being used. `gen_ai.tool.description`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_DESCRIPTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"Searches the web for current information about a topic\"\n */\nexport const GEN_AI_TOOL_DESCRIPTION = 'gen_ai.tool.description';\n\n/**\n * Type for {@link GEN_AI_TOOL_DESCRIPTION} gen_ai.tool.description\n */\nexport type GEN_AI_TOOL_DESCRIPTION_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__input.json\n\n/**\n * The input of the tool being used. It has to be a stringified version of the input to the tool. `gen_ai.tool.input`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_INPUT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"{\\\"location\\\": \\\"Paris\\\"}\"\n */\nexport const GEN_AI_TOOL_INPUT = 'gen_ai.tool.input';\n\n/**\n * Type for {@link GEN_AI_TOOL_INPUT} gen_ai.tool.input\n */\nexport type GEN_AI_TOOL_INPUT_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__message.json\n\n/**\n * The response from a tool or function call passed to the model. `gen_ai.tool.message`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_MESSAGE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"rainy, 57°F\"\n */\nexport const GEN_AI_TOOL_MESSAGE = 'gen_ai.tool.message';\n\n/**\n * Type for {@link GEN_AI_TOOL_MESSAGE} gen_ai.tool.message\n */\nexport type GEN_AI_TOOL_MESSAGE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__name.json\n\n/**\n * Name of the tool utilized by the agent. `gen_ai.tool.name`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_FUNCTION_CALL} `ai.function_call`\n *\n * @example \"Flights\"\n */\nexport const GEN_AI_TOOL_NAME = 'gen_ai.tool.name';\n\n/**\n * Type for {@link GEN_AI_TOOL_NAME} gen_ai.tool.name\n */\nexport type GEN_AI_TOOL_NAME_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__output.json\n\n/**\n * The output of the tool being used. It has to be a stringified version of the output of the tool. `gen_ai.tool.output`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_OUTPUT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"rainy, 57°F\"\n */\nexport const GEN_AI_TOOL_OUTPUT = 'gen_ai.tool.output';\n\n/**\n * Type for {@link GEN_AI_TOOL_OUTPUT} gen_ai.tool.output\n */\nexport type GEN_AI_TOOL_OUTPUT_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__tool__type.json\n\n/**\n * The type of tool being used. `gen_ai.tool.type`\n *\n * Attribute Value Type: `string` {@link GEN_AI_TOOL_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"function\"\n */\nexport const GEN_AI_TOOL_TYPE = 'gen_ai.tool.type';\n\n/**\n * Type for {@link GEN_AI_TOOL_TYPE} gen_ai.tool.type\n */\nexport type GEN_AI_TOOL_TYPE_TYPE = string;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__completion_tokens.json\n\n/**\n * The number of tokens used in the GenAI response (completion). `gen_ai.usage.completion_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_COMPLETION_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_COMPLETION_TOKENS_USED} `ai.completion_tokens.used`, {@link GEN_AI_USAGE_OUTPUT_TOKENS} `gen_ai.usage.output_tokens`\n *\n * @deprecated Use {@link GEN_AI_USAGE_OUTPUT_TOKENS} (gen_ai.usage.output_tokens) instead\n * @example 10\n */\nexport const GEN_AI_USAGE_COMPLETION_TOKENS = 'gen_ai.usage.completion_tokens';\n\n/**\n * Type for {@link GEN_AI_USAGE_COMPLETION_TOKENS} gen_ai.usage.completion_tokens\n */\nexport type GEN_AI_USAGE_COMPLETION_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__input_tokens.json\n\n/**\n * The number of tokens used to process the AI input (prompt) without cached input tokens. `gen_ai.usage.input_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_INPUT_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_PROMPT_TOKENS_USED} `ai.prompt_tokens.used`, {@link GEN_AI_USAGE_PROMPT_TOKENS} `gen_ai.usage.prompt_tokens`\n *\n * @example 10\n */\nexport const GEN_AI_USAGE_INPUT_TOKENS = 'gen_ai.usage.input_tokens';\n\n/**\n * Type for {@link GEN_AI_USAGE_INPUT_TOKENS} gen_ai.usage.input_tokens\n */\nexport type GEN_AI_USAGE_INPUT_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__input_tokens__cached.json\n\n/**\n * The number of cached tokens used to process the AI input (prompt). `gen_ai.usage.input_tokens.cached`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_INPUT_TOKENS_CACHED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 50\n */\nexport const GEN_AI_USAGE_INPUT_TOKENS_CACHED = 'gen_ai.usage.input_tokens.cached';\n\n/**\n * Type for {@link GEN_AI_USAGE_INPUT_TOKENS_CACHED} gen_ai.usage.input_tokens.cached\n */\nexport type GEN_AI_USAGE_INPUT_TOKENS_CACHED_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__output_tokens.json\n\n/**\n * The number of tokens used for creating the AI output (without reasoning tokens). `gen_ai.usage.output_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_OUTPUT_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_COMPLETION_TOKENS_USED} `ai.completion_tokens.used`, {@link GEN_AI_USAGE_COMPLETION_TOKENS} `gen_ai.usage.completion_tokens`\n *\n * @example 10\n */\nexport const GEN_AI_USAGE_OUTPUT_TOKENS = 'gen_ai.usage.output_tokens';\n\n/**\n * Type for {@link GEN_AI_USAGE_OUTPUT_TOKENS} gen_ai.usage.output_tokens\n */\nexport type GEN_AI_USAGE_OUTPUT_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__output_tokens__reasoning.json\n\n/**\n * The number of tokens used for reasoning to create the AI output. `gen_ai.usage.output_tokens.reasoning`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_OUTPUT_TOKENS_REASONING_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 75\n */\nexport const GEN_AI_USAGE_OUTPUT_TOKENS_REASONING = 'gen_ai.usage.output_tokens.reasoning';\n\n/**\n * Type for {@link GEN_AI_USAGE_OUTPUT_TOKENS_REASONING} gen_ai.usage.output_tokens.reasoning\n */\nexport type GEN_AI_USAGE_OUTPUT_TOKENS_REASONING_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__prompt_tokens.json\n\n/**\n * The number of tokens used in the GenAI input (prompt). `gen_ai.usage.prompt_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_PROMPT_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link AI_PROMPT_TOKENS_USED} `ai.prompt_tokens.used`, {@link GEN_AI_USAGE_INPUT_TOKENS} `gen_ai.usage.input_tokens`\n *\n * @deprecated Use {@link GEN_AI_USAGE_INPUT_TOKENS} (gen_ai.usage.input_tokens) instead\n * @example 20\n */\nexport const GEN_AI_USAGE_PROMPT_TOKENS = 'gen_ai.usage.prompt_tokens';\n\n/**\n * Type for {@link GEN_AI_USAGE_PROMPT_TOKENS} gen_ai.usage.prompt_tokens\n */\nexport type GEN_AI_USAGE_PROMPT_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__total_cost.json\n\n/**\n * The total cost for the tokens used. `gen_ai.usage.total_cost`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_TOTAL_COST_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @deprecated Use {@link GEN_AI_COST_TOTAL_TOKENS} (gen_ai.cost.total_tokens) instead\n * @example 12.34\n */\nexport const GEN_AI_USAGE_TOTAL_COST = 'gen_ai.usage.total_cost';\n\n/**\n * Type for {@link GEN_AI_USAGE_TOTAL_COST} gen_ai.usage.total_cost\n */\nexport type GEN_AI_USAGE_TOTAL_COST_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__usage__total_tokens.json\n\n/**\n * The total number of tokens used to process the prompt. (input tokens plus output todkens) `gen_ai.usage.total_tokens`\n *\n * Attribute Value Type: `number` {@link GEN_AI_USAGE_TOTAL_TOKENS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link AI_TOTAL_TOKENS_USED} `ai.total_tokens.used`\n *\n * @example 20\n */\nexport const GEN_AI_USAGE_TOTAL_TOKENS = 'gen_ai.usage.total_tokens';\n\n/**\n * Type for {@link GEN_AI_USAGE_TOTAL_TOKENS} gen_ai.usage.total_tokens\n */\nexport type GEN_AI_USAGE_TOTAL_TOKENS_TYPE = number;\n\n// Path: model/attributes/gen_ai/gen_ai__user__message.json\n\n/**\n * The user message passed to the model. `gen_ai.user.message`\n *\n * Attribute Value Type: `string` {@link GEN_AI_USER_MESSAGE_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"What's the weather in Paris?\"\n */\nexport const GEN_AI_USER_MESSAGE = 'gen_ai.user.message';\n\n/**\n * Type for {@link GEN_AI_USER_MESSAGE} gen_ai.user.message\n */\nexport type GEN_AI_USER_MESSAGE_TYPE = string;\n\n// Path: model/attributes/graphql/graphql__operation__name.json\n\n/**\n * The name of the operation being executed. `graphql.operation.name`\n *\n * Attribute Value Type: `string` {@link GRAPHQL_OPERATION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"findBookById\"\n */\nexport const GRAPHQL_OPERATION_NAME = 'graphql.operation.name';\n\n/**\n * Type for {@link GRAPHQL_OPERATION_NAME} graphql.operation.name\n */\nexport type GRAPHQL_OPERATION_NAME_TYPE = string;\n\n// Path: model/attributes/graphql/graphql__operation__type.json\n\n/**\n * The type of the operation being executed. `graphql.operation.type`\n *\n * Attribute Value Type: `string` {@link GRAPHQL_OPERATION_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"query\"\n */\nexport const GRAPHQL_OPERATION_TYPE = 'graphql.operation.type';\n\n/**\n * Type for {@link GRAPHQL_OPERATION_TYPE} graphql.operation.type\n */\nexport type GRAPHQL_OPERATION_TYPE_TYPE = string;\n\n// Path: model/attributes/http/http__client_ip.json\n\n/**\n * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `http.client_ip`\n *\n * Attribute Value Type: `string` {@link HTTP_CLIENT_IP_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link CLIENT_ADDRESS} `client.address`\n *\n * @deprecated Use {@link CLIENT_ADDRESS} (client.address) instead\n * @example \"example.com\"\n */\nexport const HTTP_CLIENT_IP = 'http.client_ip';\n\n/**\n * Type for {@link HTTP_CLIENT_IP} http.client_ip\n */\nexport type HTTP_CLIENT_IP_TYPE = string;\n\n// Path: model/attributes/http/http__decoded_response_content_length.json\n\n/**\n * The decoded body size of the response (in bytes). `http.decoded_response_content_length`\n *\n * Attribute Value Type: `number` {@link HTTP_DECODED_RESPONSE_CONTENT_LENGTH_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 456\n */\nexport const HTTP_DECODED_RESPONSE_CONTENT_LENGTH = 'http.decoded_response_content_length';\n\n/**\n * Type for {@link HTTP_DECODED_RESPONSE_CONTENT_LENGTH} http.decoded_response_content_length\n */\nexport type HTTP_DECODED_RESPONSE_CONTENT_LENGTH_TYPE = number;\n\n// Path: model/attributes/http/http__flavor.json\n\n/**\n * The actual version of the protocol used for network communication. `http.flavor`\n *\n * Attribute Value Type: `string` {@link HTTP_FLAVOR_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_PROTOCOL_VERSION} `network.protocol.version`, {@link NET_PROTOCOL_VERSION} `net.protocol.version`\n *\n * @deprecated Use {@link NETWORK_PROTOCOL_VERSION} (network.protocol.version) instead\n * @example \"1.1\"\n */\nexport const HTTP_FLAVOR = 'http.flavor';\n\n/**\n * Type for {@link HTTP_FLAVOR} http.flavor\n */\nexport type HTTP_FLAVOR_TYPE = string;\n\n// Path: model/attributes/http/http__fragment.json\n\n/**\n * The fragments present in the URI. Note that this contains the leading # character, while the `url.fragment` attribute does not. `http.fragment`\n *\n * Attribute Value Type: `string` {@link HTTP_FRAGMENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"#details\"\n */\nexport const HTTP_FRAGMENT = 'http.fragment';\n\n/**\n * Type for {@link HTTP_FRAGMENT} http.fragment\n */\nexport type HTTP_FRAGMENT_TYPE = string;\n\n// Path: model/attributes/http/http__host.json\n\n/**\n * The domain name. `http.host`\n *\n * Attribute Value Type: `string` {@link HTTP_HOST_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link SERVER_ADDRESS} `server.address`, {@link CLIENT_ADDRESS} `client.address`, {@link HTTP_SERVER_NAME} `http.server_name`, {@link NET_HOST_NAME} `net.host.name`\n *\n * @deprecated Use {@link SERVER_ADDRESS} (server.address) instead - Deprecated, use one of `server.address` or `client.address`, depending on the usage\n * @example \"example.com\"\n */\nexport const HTTP_HOST = 'http.host';\n\n/**\n * Type for {@link HTTP_HOST} http.host\n */\nexport type HTTP_HOST_TYPE = string;\n\n// Path: model/attributes/http/http__method.json\n\n/**\n * The HTTP method used. `http.method`\n *\n * Attribute Value Type: `string` {@link HTTP_METHOD_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_REQUEST_METHOD} `http.request.method`\n *\n * @deprecated Use {@link HTTP_REQUEST_METHOD} (http.request.method) instead\n * @example \"GET\"\n */\nexport const HTTP_METHOD = 'http.method';\n\n/**\n * Type for {@link HTTP_METHOD} http.method\n */\nexport type HTTP_METHOD_TYPE = string;\n\n// Path: model/attributes/http/http__query.json\n\n/**\n * The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not. `http.query`\n *\n * Attribute Value Type: `string` {@link HTTP_QUERY_TYPE}\n *\n * Contains PII: maybe - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.\n *\n * Attribute defined in OTEL: No\n *\n * @example \"?foo=bar&bar=baz\"\n */\nexport const HTTP_QUERY = 'http.query';\n\n/**\n * Type for {@link HTTP_QUERY} http.query\n */\nexport type HTTP_QUERY_TYPE = string;\n\n// Path: model/attributes/http/http__request__connect_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource. `http.request.connect_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_CONNECT_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.111\n */\nexport const HTTP_REQUEST_CONNECT_START = 'http.request.connect_start';\n\n/**\n * Type for {@link HTTP_REQUEST_CONNECT_START} http.request.connect_start\n */\nexport type HTTP_REQUEST_CONNECT_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__connection_end.json\n\n/**\n * The UNIX timestamp representing the time immediately after the browser finishes establishing the connection to the server to retrieve the resource. The timestamp value includes the time interval to establish the transport connection, as well as other time intervals such as TLS handshake and SOCKS authentication. `http.request.connection_end`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_CONNECTION_END_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.15\n */\nexport const HTTP_REQUEST_CONNECTION_END = 'http.request.connection_end';\n\n/**\n * Type for {@link HTTP_REQUEST_CONNECTION_END} http.request.connection_end\n */\nexport type HTTP_REQUEST_CONNECTION_END_TYPE = number;\n\n// Path: model/attributes/http/http__request__domain_lookup_end.json\n\n/**\n * The UNIX timestamp representing the time immediately after the browser finishes the domain-name lookup for the resource. `http.request.domain_lookup_end`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_DOMAIN_LOOKUP_END_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.201\n */\nexport const HTTP_REQUEST_DOMAIN_LOOKUP_END = 'http.request.domain_lookup_end';\n\n/**\n * Type for {@link HTTP_REQUEST_DOMAIN_LOOKUP_END} http.request.domain_lookup_end\n */\nexport type HTTP_REQUEST_DOMAIN_LOOKUP_END_TYPE = number;\n\n// Path: model/attributes/http/http__request__domain_lookup_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the browser starts the domain name lookup for the resource. `http.request.domain_lookup_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_DOMAIN_LOOKUP_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.322\n */\nexport const HTTP_REQUEST_DOMAIN_LOOKUP_START = 'http.request.domain_lookup_start';\n\n/**\n * Type for {@link HTTP_REQUEST_DOMAIN_LOOKUP_START} http.request.domain_lookup_start\n */\nexport type HTTP_REQUEST_DOMAIN_LOOKUP_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__fetch_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the browser starts to fetch the resource. `http.request.fetch_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_FETCH_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.389\n */\nexport const HTTP_REQUEST_FETCH_START = 'http.request.fetch_start';\n\n/**\n * Type for {@link HTTP_REQUEST_FETCH_START} http.request.fetch_start\n */\nexport type HTTP_REQUEST_FETCH_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__header__[key].json\n\n/**\n * HTTP request headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values. `http.request.header.<key>`\n *\n * Attribute Value Type: `Array<string>` {@link HTTP_REQUEST_HEADER_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Has Dynamic Suffix: true\n *\n * @example \"http.request.header.custom-header=['foo', 'bar']\"\n */\nexport const HTTP_REQUEST_HEADER_KEY = 'http.request.header.<key>';\n\n/**\n * Type for {@link HTTP_REQUEST_HEADER_KEY} http.request.header.<key>\n */\nexport type HTTP_REQUEST_HEADER_KEY_TYPE = Array<string>;\n\n// Path: model/attributes/http/http__request__method.json\n\n/**\n * The HTTP method used. `http.request.method`\n *\n * Attribute Value Type: `string` {@link HTTP_REQUEST_METHOD_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link METHOD} `method`, {@link HTTP_METHOD} `http.method`\n *\n * @example \"GET\"\n */\nexport const HTTP_REQUEST_METHOD = 'http.request.method';\n\n/**\n * Type for {@link HTTP_REQUEST_METHOD} http.request.method\n */\nexport type HTTP_REQUEST_METHOD_TYPE = string;\n\n// Path: model/attributes/http/http__request__redirect_end.json\n\n/**\n * The UNIX timestamp representing the timestamp immediately after receiving the last byte of the response of the last redirect `http.request.redirect_end`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_REDIRECT_END_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829558.502\n */\nexport const HTTP_REQUEST_REDIRECT_END = 'http.request.redirect_end';\n\n/**\n * Type for {@link HTTP_REQUEST_REDIRECT_END} http.request.redirect_end\n */\nexport type HTTP_REQUEST_REDIRECT_END_TYPE = number;\n\n// Path: model/attributes/http/http__request__redirect_start.json\n\n/**\n * The UNIX timestamp representing the start time of the fetch which that initiates the redirect. `http.request.redirect_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_REDIRECT_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.495\n */\nexport const HTTP_REQUEST_REDIRECT_START = 'http.request.redirect_start';\n\n/**\n * Type for {@link HTTP_REQUEST_REDIRECT_START} http.request.redirect_start\n */\nexport type HTTP_REQUEST_REDIRECT_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__request_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request. `http.request.request_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_REQUEST_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.51\n */\nexport const HTTP_REQUEST_REQUEST_START = 'http.request.request_start';\n\n/**\n * Type for {@link HTTP_REQUEST_REQUEST_START} http.request.request_start\n */\nexport type HTTP_REQUEST_REQUEST_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__resend_count.json\n\n/**\n * The ordinal number of request resending attempt (for any reason, including redirects). `http.request.resend_count`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_RESEND_COUNT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 2\n */\nexport const HTTP_REQUEST_RESEND_COUNT = 'http.request.resend_count';\n\n/**\n * Type for {@link HTTP_REQUEST_RESEND_COUNT} http.request.resend_count\n */\nexport type HTTP_REQUEST_RESEND_COUNT_TYPE = number;\n\n// Path: model/attributes/http/http__request__response_end.json\n\n/**\n * The UNIX timestamp representing the time immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first. `http.request.response_end`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_RESPONSE_END_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.89\n */\nexport const HTTP_REQUEST_RESPONSE_END = 'http.request.response_end';\n\n/**\n * Type for {@link HTTP_REQUEST_RESPONSE_END} http.request.response_end\n */\nexport type HTTP_REQUEST_RESPONSE_END_TYPE = number;\n\n// Path: model/attributes/http/http__request__response_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request. `http.request.response_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_RESPONSE_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.7\n */\nexport const HTTP_REQUEST_RESPONSE_START = 'http.request.response_start';\n\n/**\n * Type for {@link HTTP_REQUEST_RESPONSE_START} http.request.response_start\n */\nexport type HTTP_REQUEST_RESPONSE_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__secure_connection_start.json\n\n/**\n * The UNIX timestamp representing the time immediately before the browser starts the handshake process to secure the current connection. If a secure connection is not used, the property returns zero. `http.request.secure_connection_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_SECURE_CONNECTION_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829555.73\n */\nexport const HTTP_REQUEST_SECURE_CONNECTION_START = 'http.request.secure_connection_start';\n\n/**\n * Type for {@link HTTP_REQUEST_SECURE_CONNECTION_START} http.request.secure_connection_start\n */\nexport type HTTP_REQUEST_SECURE_CONNECTION_START_TYPE = number;\n\n// Path: model/attributes/http/http__request__time_to_first_byte.json\n\n/**\n * The time in seconds from the browser's timeorigin to when the first byte of the request's response was received. See https://web.dev/articles/ttfb#measure-resource-requests `http.request.time_to_first_byte`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_TIME_TO_FIRST_BYTE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1.032\n */\nexport const HTTP_REQUEST_TIME_TO_FIRST_BYTE = 'http.request.time_to_first_byte';\n\n/**\n * Type for {@link HTTP_REQUEST_TIME_TO_FIRST_BYTE} http.request.time_to_first_byte\n */\nexport type HTTP_REQUEST_TIME_TO_FIRST_BYTE_TYPE = number;\n\n// Path: model/attributes/http/http__request__worker_start.json\n\n/**\n * The UNIX timestamp representing the timestamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running. `http.request.worker_start`\n *\n * Attribute Value Type: `number` {@link HTTP_REQUEST_WORKER_START_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732829553.68\n */\nexport const HTTP_REQUEST_WORKER_START = 'http.request.worker_start';\n\n/**\n * Type for {@link HTTP_REQUEST_WORKER_START} http.request.worker_start\n */\nexport type HTTP_REQUEST_WORKER_START_TYPE = number;\n\n// Path: model/attributes/http/http__response__body__size.json\n\n/**\n * The encoded body size of the response (in bytes). `http.response.body.size`\n *\n * Attribute Value Type: `number` {@link HTTP_RESPONSE_BODY_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_RESPONSE_CONTENT_LENGTH} `http.response_content_length`, {@link HTTP_RESPONSE_HEADER_CONTENT_LENGTH} `http.response.header.content-length`\n *\n * @example 123\n */\nexport const HTTP_RESPONSE_BODY_SIZE = 'http.response.body.size';\n\n/**\n * Type for {@link HTTP_RESPONSE_BODY_SIZE} http.response.body.size\n */\nexport type HTTP_RESPONSE_BODY_SIZE_TYPE = number;\n\n// Path: model/attributes/http/http__response__header__[key].json\n\n/**\n * HTTP response headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values. `http.response.header.<key>`\n *\n * Attribute Value Type: `Array<string>` {@link HTTP_RESPONSE_HEADER_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Has Dynamic Suffix: true\n *\n * @example \"http.response.header.custom-header=['foo', 'bar']\"\n */\nexport const HTTP_RESPONSE_HEADER_KEY = 'http.response.header.<key>';\n\n/**\n * Type for {@link HTTP_RESPONSE_HEADER_KEY} http.response.header.<key>\n */\nexport type HTTP_RESPONSE_HEADER_KEY_TYPE = Array<string>;\n\n// Path: model/attributes/http/http__response__header__content-length.json\n\n/**\n * The size of the message body sent to the recipient (in bytes) `http.response.header.content-length`\n *\n * Attribute Value Type: `string` {@link HTTP_RESPONSE_HEADER_CONTENT_LENGTH_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_RESPONSE_CONTENT_LENGTH} `http.response_content_length`, {@link HTTP_RESPONSE_BODY_SIZE} `http.response.body.size`\n *\n * @example \"http.response.header.custom-header=['foo', 'bar']\"\n */\nexport const HTTP_RESPONSE_HEADER_CONTENT_LENGTH = 'http.response.header.content-length';\n\n/**\n * Type for {@link HTTP_RESPONSE_HEADER_CONTENT_LENGTH} http.response.header.content-length\n */\nexport type HTTP_RESPONSE_HEADER_CONTENT_LENGTH_TYPE = string;\n\n// Path: model/attributes/http/http__response__size.json\n\n/**\n * The transfer size of the response (in bytes). `http.response.size`\n *\n * Attribute Value Type: `number` {@link HTTP_RESPONSE_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_RESPONSE_TRANSFER_SIZE} `http.response_transfer_size`\n *\n * @example 456\n */\nexport const HTTP_RESPONSE_SIZE = 'http.response.size';\n\n/**\n * Type for {@link HTTP_RESPONSE_SIZE} http.response.size\n */\nexport type HTTP_RESPONSE_SIZE_TYPE = number;\n\n// Path: model/attributes/http/http__response__status_code.json\n\n/**\n * The status code of the HTTP response. `http.response.status_code`\n *\n * Attribute Value Type: `number` {@link HTTP_RESPONSE_STATUS_CODE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_STATUS_CODE} `http.status_code`\n *\n * @example 404\n */\nexport const HTTP_RESPONSE_STATUS_CODE = 'http.response.status_code';\n\n/**\n * Type for {@link HTTP_RESPONSE_STATUS_CODE} http.response.status_code\n */\nexport type HTTP_RESPONSE_STATUS_CODE_TYPE = number;\n\n// Path: model/attributes/http/http__response_content_length.json\n\n/**\n * The encoded body size of the response (in bytes). `http.response_content_length`\n *\n * Attribute Value Type: `number` {@link HTTP_RESPONSE_CONTENT_LENGTH_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_RESPONSE_BODY_SIZE} `http.response.body.size`, {@link HTTP_RESPONSE_HEADER_CONTENT_LENGTH} `http.response.header.content-length`\n *\n * @deprecated Use {@link HTTP_RESPONSE_BODY_SIZE} (http.response.body.size) instead\n * @example 123\n */\nexport const HTTP_RESPONSE_CONTENT_LENGTH = 'http.response_content_length';\n\n/**\n * Type for {@link HTTP_RESPONSE_CONTENT_LENGTH} http.response_content_length\n */\nexport type HTTP_RESPONSE_CONTENT_LENGTH_TYPE = number;\n\n// Path: model/attributes/http/http__response_transfer_size.json\n\n/**\n * The transfer size of the response (in bytes). `http.response_transfer_size`\n *\n * Attribute Value Type: `number` {@link HTTP_RESPONSE_TRANSFER_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link HTTP_RESPONSE_SIZE} `http.response.size`\n *\n * @deprecated Use {@link HTTP_RESPONSE_SIZE} (http.response.size) instead\n * @example 456\n */\nexport const HTTP_RESPONSE_TRANSFER_SIZE = 'http.response_transfer_size';\n\n/**\n * Type for {@link HTTP_RESPONSE_TRANSFER_SIZE} http.response_transfer_size\n */\nexport type HTTP_RESPONSE_TRANSFER_SIZE_TYPE = number;\n\n// Path: model/attributes/http/http__route.json\n\n/**\n * The matched route, that is, the path template in the format used by the respective server framework. `http.route`\n *\n * Attribute Value Type: `string` {@link HTTP_ROUTE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link URL_TEMPLATE} `url.template`\n *\n * @example \"/users/:id\"\n */\nexport const HTTP_ROUTE = 'http.route';\n\n/**\n * Type for {@link HTTP_ROUTE} http.route\n */\nexport type HTTP_ROUTE_TYPE = string;\n\n// Path: model/attributes/http/http__scheme.json\n\n/**\n * The URI scheme component identifying the used protocol. `http.scheme`\n *\n * Attribute Value Type: `string` {@link HTTP_SCHEME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link URL_SCHEME} `url.scheme`\n *\n * @deprecated Use {@link URL_SCHEME} (url.scheme) instead\n * @example \"https\"\n */\nexport const HTTP_SCHEME = 'http.scheme';\n\n/**\n * Type for {@link HTTP_SCHEME} http.scheme\n */\nexport type HTTP_SCHEME_TYPE = string;\n\n// Path: model/attributes/http/http__server_name.json\n\n/**\n * The server domain name `http.server_name`\n *\n * Attribute Value Type: `string` {@link HTTP_SERVER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link SERVER_ADDRESS} `server.address`, {@link NET_HOST_NAME} `net.host.name`, {@link HTTP_HOST} `http.host`\n *\n * @deprecated Use {@link SERVER_ADDRESS} (server.address) instead\n * @example \"example.com\"\n */\nexport const HTTP_SERVER_NAME = 'http.server_name';\n\n/**\n * Type for {@link HTTP_SERVER_NAME} http.server_name\n */\nexport type HTTP_SERVER_NAME_TYPE = string;\n\n// Path: model/attributes/http/http__status_code.json\n\n/**\n * The status code of the HTTP response. `http.status_code`\n *\n * Attribute Value Type: `number` {@link HTTP_STATUS_CODE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_RESPONSE_STATUS_CODE} `http.response.status_code`\n *\n * @deprecated Use {@link HTTP_RESPONSE_STATUS_CODE} (http.response.status_code) instead\n * @example 404\n */\nexport const HTTP_STATUS_CODE = 'http.status_code';\n\n/**\n * Type for {@link HTTP_STATUS_CODE} http.status_code\n */\nexport type HTTP_STATUS_CODE_TYPE = number;\n\n// Path: model/attributes/http/http__target.json\n\n/**\n * The pathname and query string of the URL. `http.target`\n *\n * Attribute Value Type: `string` {@link HTTP_TARGET_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link URL_PATH} (url.path) instead - This attribute is being deprecated in favor of url.path and url.query\n * @example \"/test?foo=bar#buzz\"\n */\nexport const HTTP_TARGET = 'http.target';\n\n/**\n * Type for {@link HTTP_TARGET} http.target\n */\nexport type HTTP_TARGET_TYPE = string;\n\n// Path: model/attributes/http/http__url.json\n\n/**\n * The URL of the resource that was fetched. `http.url`\n *\n * Attribute Value Type: `string` {@link HTTP_URL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link URL_FULL} `url.full`, {@link URL} `url`\n *\n * @deprecated Use {@link URL_FULL} (url.full) instead\n * @example \"https://example.com/test?foo=bar#buzz\"\n */\nexport const HTTP_URL = 'http.url';\n\n/**\n * Type for {@link HTTP_URL} http.url\n */\nexport type HTTP_URL_TYPE = string;\n\n// Path: model/attributes/http/http__user_agent.json\n\n/**\n * Value of the HTTP User-Agent header sent by the client. `http.user_agent`\n *\n * Attribute Value Type: `string` {@link HTTP_USER_AGENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link USER_AGENT_ORIGINAL} `user_agent.original`\n *\n * @deprecated Use {@link USER_AGENT_ORIGINAL} (user_agent.original) instead\n * @example \"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1\"\n */\nexport const HTTP_USER_AGENT = 'http.user_agent';\n\n/**\n * Type for {@link HTTP_USER_AGENT} http.user_agent\n */\nexport type HTTP_USER_AGENT_TYPE = string;\n\n// Path: model/attributes/id.json\n\n/**\n * A unique identifier for the span. `id`\n *\n * Attribute Value Type: `string` {@link ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"f47ac10b58cc4372a5670e02b2c3d479\"\n */\nexport const ID = 'id';\n\n/**\n * Type for {@link ID} id\n */\nexport type ID_TYPE = string;\n\n// Path: model/attributes/jvm/jvm__gc__action.json\n\n/**\n * Name of the garbage collector action. `jvm.gc.action`\n *\n * Attribute Value Type: `string` {@link JVM_GC_ACTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"end of minor GC\"\n */\nexport const JVM_GC_ACTION = 'jvm.gc.action';\n\n/**\n * Type for {@link JVM_GC_ACTION} jvm.gc.action\n */\nexport type JVM_GC_ACTION_TYPE = string;\n\n// Path: model/attributes/jvm/jvm__gc__name.json\n\n/**\n * Name of the garbage collector. `jvm.gc.name`\n *\n * Attribute Value Type: `string` {@link JVM_GC_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"G1 Young Generation\"\n */\nexport const JVM_GC_NAME = 'jvm.gc.name';\n\n/**\n * Type for {@link JVM_GC_NAME} jvm.gc.name\n */\nexport type JVM_GC_NAME_TYPE = string;\n\n// Path: model/attributes/jvm/jvm__memory__pool__name.json\n\n/**\n * Name of the memory pool. `jvm.memory.pool.name`\n *\n * Attribute Value Type: `string` {@link JVM_MEMORY_POOL_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"G1 Old Gen\"\n */\nexport const JVM_MEMORY_POOL_NAME = 'jvm.memory.pool.name';\n\n/**\n * Type for {@link JVM_MEMORY_POOL_NAME} jvm.memory.pool.name\n */\nexport type JVM_MEMORY_POOL_NAME_TYPE = string;\n\n// Path: model/attributes/jvm/jvm__memory__type.json\n\n/**\n * Name of the memory pool. `jvm.memory.type`\n *\n * Attribute Value Type: `string` {@link JVM_MEMORY_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"G1 Old Gen\"\n */\nexport const JVM_MEMORY_TYPE = 'jvm.memory.type';\n\n/**\n * Type for {@link JVM_MEMORY_TYPE} jvm.memory.type\n */\nexport type JVM_MEMORY_TYPE_TYPE = string;\n\n// Path: model/attributes/jvm/jvm__thread__daemon.json\n\n/**\n * Whether the thread is daemon or not. `jvm.thread.daemon`\n *\n * Attribute Value Type: `boolean` {@link JVM_THREAD_DAEMON_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example true\n */\nexport const JVM_THREAD_DAEMON = 'jvm.thread.daemon';\n\n/**\n * Type for {@link JVM_THREAD_DAEMON} jvm.thread.daemon\n */\nexport type JVM_THREAD_DAEMON_TYPE = boolean;\n\n// Path: model/attributes/jvm/jvm__thread__state.json\n\n/**\n * State of the thread. `jvm.thread.state`\n *\n * Attribute Value Type: `string` {@link JVM_THREAD_STATE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"blocked\"\n */\nexport const JVM_THREAD_STATE = 'jvm.thread.state';\n\n/**\n * Type for {@link JVM_THREAD_STATE} jvm.thread.state\n */\nexport type JVM_THREAD_STATE_TYPE = string;\n\n// Path: model/attributes/lcp/lcp__element.json\n\n/**\n * The dom element responsible for the largest contentful paint. `lcp.element`\n *\n * Attribute Value Type: `string` {@link LCP_ELEMENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"img\"\n */\nexport const LCP_ELEMENT = 'lcp.element';\n\n/**\n * Type for {@link LCP_ELEMENT} lcp.element\n */\nexport type LCP_ELEMENT_TYPE = string;\n\n// Path: model/attributes/lcp/lcp__id.json\n\n/**\n * The id of the dom element responsible for the largest contentful paint. `lcp.id`\n *\n * Attribute Value Type: `string` {@link LCP_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"#hero\"\n */\nexport const LCP_ID = 'lcp.id';\n\n/**\n * Type for {@link LCP_ID} lcp.id\n */\nexport type LCP_ID_TYPE = string;\n\n// Path: model/attributes/lcp/lcp__size.json\n\n/**\n * The size of the largest contentful paint element. `lcp.size`\n *\n * Attribute Value Type: `number` {@link LCP_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1234\n */\nexport const LCP_SIZE = 'lcp.size';\n\n/**\n * Type for {@link LCP_SIZE} lcp.size\n */\nexport type LCP_SIZE_TYPE = number;\n\n// Path: model/attributes/lcp/lcp__url.json\n\n/**\n * The url of the dom element responsible for the largest contentful paint. `lcp.url`\n *\n * Attribute Value Type: `string` {@link LCP_URL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"https://example.com\"\n */\nexport const LCP_URL = 'lcp.url';\n\n/**\n * Type for {@link LCP_URL} lcp.url\n */\nexport type LCP_URL_TYPE = string;\n\n// Path: model/attributes/logger/logger__name.json\n\n/**\n * The name of the logger that generated this event. `logger.name`\n *\n * Attribute Value Type: `string` {@link LOGGER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"myLogger\"\n */\nexport const LOGGER_NAME = 'logger.name';\n\n/**\n * Type for {@link LOGGER_NAME} logger.name\n */\nexport type LOGGER_NAME_TYPE = string;\n\n// Path: model/attributes/mcp/mcp__prompt__result.json\n\n/**\n * The content of the prompt result. `mcp.prompt.result`\n *\n * Attribute Value Type: `string` {@link MCP_PROMPT_RESULT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"An example prompt result!\"\n */\nexport const MCP_PROMPT_RESULT = 'mcp.prompt.result';\n\n/**\n * Type for {@link MCP_PROMPT_RESULT} mcp.prompt.result\n */\nexport type MCP_PROMPT_RESULT_TYPE = string;\n\n// Path: model/attributes/mcp/mcp__tool__result__content.json\n\n/**\n * The content of the tool result. `mcp.tool.result.content`\n *\n * Attribute Value Type: `string` {@link MCP_TOOL_RESULT_CONTENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"{\\\"output\\\": \\\"rainy\\\", \\\"toolCallId\\\": \\\"1\\\"}\"\n */\nexport const MCP_TOOL_RESULT_CONTENT = 'mcp.tool.result.content';\n\n/**\n * Type for {@link MCP_TOOL_RESULT_CONTENT} mcp.tool.result.content\n */\nexport type MCP_TOOL_RESULT_CONTENT_TYPE = string;\n\n// Path: model/attributes/mdc/mdc__<key>.json\n\n/**\n * Attributes from the Mapped Diagnostic Context (MDC) present at the moment the log record was created. The MDC is supported by all the most popular logging solutions in the Java ecosystem, and it's usually implemented as a thread-local map that stores context for e.g. a specific request. `mdc.<key>`\n *\n * Attribute Value Type: `string` {@link MDC_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * @example \"mdc.some_key='some_value'\"\n */\nexport const MDC_KEY = 'mdc.<key>';\n\n/**\n * Type for {@link MDC_KEY} mdc.<key>\n */\nexport type MDC_KEY_TYPE = string;\n\n// Path: model/attributes/messaging/messaging__destination__connection.json\n\n/**\n * The message destination connection. `messaging.destination.connection`\n *\n * Attribute Value Type: `string` {@link MESSAGING_DESTINATION_CONNECTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"BestTopic\"\n */\nexport const MESSAGING_DESTINATION_CONNECTION = 'messaging.destination.connection';\n\n/**\n * Type for {@link MESSAGING_DESTINATION_CONNECTION} messaging.destination.connection\n */\nexport type MESSAGING_DESTINATION_CONNECTION_TYPE = string;\n\n// Path: model/attributes/messaging/messaging__destination__name.json\n\n/**\n * The message destination name. `messaging.destination.name`\n *\n * Attribute Value Type: `string` {@link MESSAGING_DESTINATION_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"BestTopic\"\n */\nexport const MESSAGING_DESTINATION_NAME = 'messaging.destination.name';\n\n/**\n * Type for {@link MESSAGING_DESTINATION_NAME} messaging.destination.name\n */\nexport type MESSAGING_DESTINATION_NAME_TYPE = string;\n\n// Path: model/attributes/messaging/messaging__message__body__size.json\n\n/**\n * The size of the message body in bytes. `messaging.message.body.size`\n *\n * Attribute Value Type: `number` {@link MESSAGING_MESSAGE_BODY_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 839\n */\nexport const MESSAGING_MESSAGE_BODY_SIZE = 'messaging.message.body.size';\n\n/**\n * Type for {@link MESSAGING_MESSAGE_BODY_SIZE} messaging.message.body.size\n */\nexport type MESSAGING_MESSAGE_BODY_SIZE_TYPE = number;\n\n// Path: model/attributes/messaging/messaging__message__envelope__size.json\n\n/**\n * The size of the message body and metadata in bytes. `messaging.message.envelope.size`\n *\n * Attribute Value Type: `number` {@link MESSAGING_MESSAGE_ENVELOPE_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 1045\n */\nexport const MESSAGING_MESSAGE_ENVELOPE_SIZE = 'messaging.message.envelope.size';\n\n/**\n * Type for {@link MESSAGING_MESSAGE_ENVELOPE_SIZE} messaging.message.envelope.size\n */\nexport type MESSAGING_MESSAGE_ENVELOPE_SIZE_TYPE = number;\n\n// Path: model/attributes/messaging/messaging__message__id.json\n\n/**\n * A value used by the messaging system as an identifier for the message, represented as a string. `messaging.message.id`\n *\n * Attribute Value Type: `string` {@link MESSAGING_MESSAGE_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"f47ac10b58cc4372a5670e02b2c3d479\"\n */\nexport const MESSAGING_MESSAGE_ID = 'messaging.message.id';\n\n/**\n * Type for {@link MESSAGING_MESSAGE_ID} messaging.message.id\n */\nexport type MESSAGING_MESSAGE_ID_TYPE = string;\n\n// Path: model/attributes/messaging/messaging__message__receive__latency.json\n\n/**\n * The latency between when the message was published and received. `messaging.message.receive.latency`\n *\n * Attribute Value Type: `number` {@link MESSAGING_MESSAGE_RECEIVE_LATENCY_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1732847252\n */\nexport const MESSAGING_MESSAGE_RECEIVE_LATENCY = 'messaging.message.receive.latency';\n\n/**\n * Type for {@link MESSAGING_MESSAGE_RECEIVE_LATENCY} messaging.message.receive.latency\n */\nexport type MESSAGING_MESSAGE_RECEIVE_LATENCY_TYPE = number;\n\n// Path: model/attributes/messaging/messaging__message__retry__count.json\n\n/**\n * The amount of attempts to send the message. `messaging.message.retry.count`\n *\n * Attribute Value Type: `number` {@link MESSAGING_MESSAGE_RETRY_COUNT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 2\n */\nexport const MESSAGING_MESSAGE_RETRY_COUNT = 'messaging.message.retry.count';\n\n/**\n * Type for {@link MESSAGING_MESSAGE_RETRY_COUNT} messaging.message.retry.count\n */\nexport type MESSAGING_MESSAGE_RETRY_COUNT_TYPE = number;\n\n// Path: model/attributes/messaging/messaging__operation__type.json\n\n/**\n * A string identifying the type of the messaging operation `messaging.operation.type`\n *\n * Attribute Value Type: `string` {@link MESSAGING_OPERATION_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"create\"\n */\nexport const MESSAGING_OPERATION_TYPE = 'messaging.operation.type';\n\n/**\n * Type for {@link MESSAGING_OPERATION_TYPE} messaging.operation.type\n */\nexport type MESSAGING_OPERATION_TYPE_TYPE = string;\n\n// Path: model/attributes/messaging/messaging__system.json\n\n/**\n * The messaging system as identified by the client instrumentation. `messaging.system`\n *\n * Attribute Value Type: `string` {@link MESSAGING_SYSTEM_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"activemq\"\n */\nexport const MESSAGING_SYSTEM = 'messaging.system';\n\n/**\n * Type for {@link MESSAGING_SYSTEM} messaging.system\n */\nexport type MESSAGING_SYSTEM_TYPE = string;\n\n// Path: model/attributes/method.json\n\n/**\n * The HTTP method used. `method`\n *\n * Attribute Value Type: `string` {@link METHOD_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link HTTP_REQUEST_METHOD} `http.request.method`\n *\n * @deprecated Use {@link HTTP_REQUEST_METHOD} (http.request.method) instead\n * @example \"GET\"\n */\nexport const METHOD = 'method';\n\n/**\n * Type for {@link METHOD} method\n */\nexport type METHOD_TYPE = string;\n\n// Path: model/attributes/navigation/navigation__type.json\n\n/**\n * The type of navigation done by a client-side router. `navigation.type`\n *\n * Attribute Value Type: `string` {@link NAVIGATION_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"router.push\"\n */\nexport const NAVIGATION_TYPE = 'navigation.type';\n\n/**\n * Type for {@link NAVIGATION_TYPE} navigation.type\n */\nexport type NAVIGATION_TYPE_TYPE = string;\n\n// Path: model/attributes/nel/nel__elapsed_time.json\n\n/**\n * The elapsed number of milliseconds between the start of the resource fetch and when it was completed or aborted by the user agent. `nel.elapsed_time`\n *\n * Attribute Value Type: `number` {@link NEL_ELAPSED_TIME_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 100\n */\nexport const NEL_ELAPSED_TIME = 'nel.elapsed_time';\n\n/**\n * Type for {@link NEL_ELAPSED_TIME} nel.elapsed_time\n */\nexport type NEL_ELAPSED_TIME_TYPE = number;\n\n// Path: model/attributes/nel/nel__phase.json\n\n/**\n * If request failed, the phase of its network error. If request succeeded, \"application\". `nel.phase`\n *\n * Attribute Value Type: `string` {@link NEL_PHASE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"application\"\n */\nexport const NEL_PHASE = 'nel.phase';\n\n/**\n * Type for {@link NEL_PHASE} nel.phase\n */\nexport type NEL_PHASE_TYPE = string;\n\n// Path: model/attributes/nel/nel__referrer.json\n\n/**\n * request's referrer, as determined by the referrer policy associated with its client. `nel.referrer`\n *\n * Attribute Value Type: `string` {@link NEL_REFERRER_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"https://example.com/foo?bar=baz\"\n */\nexport const NEL_REFERRER = 'nel.referrer';\n\n/**\n * Type for {@link NEL_REFERRER} nel.referrer\n */\nexport type NEL_REFERRER_TYPE = string;\n\n// Path: model/attributes/nel/nel__sampling_function.json\n\n/**\n * The sampling function used to determine if the request should be sampled. `nel.sampling_function`\n *\n * Attribute Value Type: `number` {@link NEL_SAMPLING_FUNCTION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 0.5\n */\nexport const NEL_SAMPLING_FUNCTION = 'nel.sampling_function';\n\n/**\n * Type for {@link NEL_SAMPLING_FUNCTION} nel.sampling_function\n */\nexport type NEL_SAMPLING_FUNCTION_TYPE = number;\n\n// Path: model/attributes/nel/nel__type.json\n\n/**\n * If request failed, the type of its network error. If request succeeded, \"ok\". `nel.type`\n *\n * Attribute Value Type: `string` {@link NEL_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"dns.unreachable\"\n */\nexport const NEL_TYPE = 'nel.type';\n\n/**\n * Type for {@link NEL_TYPE} nel.type\n */\nexport type NEL_TYPE_TYPE = string;\n\n// Path: model/attributes/net/net__host__ip.json\n\n/**\n * Local address of the network connection - IP address or Unix domain socket name. `net.host.ip`\n *\n * Attribute Value Type: `string` {@link NET_HOST_IP_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_LOCAL_ADDRESS} `network.local.address`, {@link NET_SOCK_HOST_ADDR} `net.sock.host.addr`\n *\n * @deprecated Use {@link NETWORK_LOCAL_ADDRESS} (network.local.address) instead\n * @example \"192.168.0.1\"\n */\nexport const NET_HOST_IP = 'net.host.ip';\n\n/**\n * Type for {@link NET_HOST_IP} net.host.ip\n */\nexport type NET_HOST_IP_TYPE = string;\n\n// Path: model/attributes/net/net__host__name.json\n\n/**\n * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `net.host.name`\n *\n * Attribute Value Type: `string` {@link NET_HOST_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link SERVER_ADDRESS} `server.address`, {@link HTTP_SERVER_NAME} `http.server_name`, {@link HTTP_HOST} `http.host`\n *\n * @deprecated Use {@link SERVER_ADDRESS} (server.address) instead\n * @example \"example.com\"\n */\nexport const NET_HOST_NAME = 'net.host.name';\n\n/**\n * Type for {@link NET_HOST_NAME} net.host.name\n */\nexport type NET_HOST_NAME_TYPE = string;\n\n// Path: model/attributes/net/net__host__port.json\n\n/**\n * Server port number. `net.host.port`\n *\n * Attribute Value Type: `number` {@link NET_HOST_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link SERVER_PORT} `server.port`\n *\n * @deprecated Use {@link SERVER_PORT} (server.port) instead\n * @example 1337\n */\nexport const NET_HOST_PORT = 'net.host.port';\n\n/**\n * Type for {@link NET_HOST_PORT} net.host.port\n */\nexport type NET_HOST_PORT_TYPE = number;\n\n// Path: model/attributes/net/net__peer__ip.json\n\n/**\n * Peer address of the network connection - IP address or Unix domain socket name. `net.peer.ip`\n *\n * Attribute Value Type: `string` {@link NET_PEER_IP_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_PEER_ADDRESS} `network.peer.address`, {@link NET_SOCK_PEER_ADDR} `net.sock.peer.addr`\n *\n * @deprecated Use {@link NETWORK_PEER_ADDRESS} (network.peer.address) instead\n * @example \"192.168.0.1\"\n */\nexport const NET_PEER_IP = 'net.peer.ip';\n\n/**\n * Type for {@link NET_PEER_IP} net.peer.ip\n */\nexport type NET_PEER_IP_TYPE = string;\n\n// Path: model/attributes/net/net__peer__name.json\n\n/**\n * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `net.peer.name`\n *\n * Attribute Value Type: `string` {@link NET_PEER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link SERVER_ADDRESS} (server.address) instead - Deprecated, use server.address on client spans and client.address on server spans.\n * @example \"example.com\"\n */\nexport const NET_PEER_NAME = 'net.peer.name';\n\n/**\n * Type for {@link NET_PEER_NAME} net.peer.name\n */\nexport type NET_PEER_NAME_TYPE = string;\n\n// Path: model/attributes/net/net__peer__port.json\n\n/**\n * Peer port number. `net.peer.port`\n *\n * Attribute Value Type: `number` {@link NET_PEER_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link SERVER_PORT} (server.port) instead - Deprecated, use server.port on client spans and client.port on server spans.\n * @example 1337\n */\nexport const NET_PEER_PORT = 'net.peer.port';\n\n/**\n * Type for {@link NET_PEER_PORT} net.peer.port\n */\nexport type NET_PEER_PORT_TYPE = number;\n\n// Path: model/attributes/net/net__protocol__name.json\n\n/**\n * OSI application layer or non-OSI equivalent. `net.protocol.name`\n *\n * Attribute Value Type: `string` {@link NET_PROTOCOL_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_PROTOCOL_NAME} `network.protocol.name`\n *\n * @deprecated Use {@link NETWORK_PROTOCOL_NAME} (network.protocol.name) instead\n * @example \"http\"\n */\nexport const NET_PROTOCOL_NAME = 'net.protocol.name';\n\n/**\n * Type for {@link NET_PROTOCOL_NAME} net.protocol.name\n */\nexport type NET_PROTOCOL_NAME_TYPE = string;\n\n// Path: model/attributes/net/net__protocol__version.json\n\n/**\n * The actual version of the protocol used for network communication. `net.protocol.version`\n *\n * Attribute Value Type: `string` {@link NET_PROTOCOL_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_PROTOCOL_VERSION} `network.protocol.version`, {@link HTTP_FLAVOR} `http.flavor`\n *\n * @deprecated Use {@link NETWORK_PROTOCOL_VERSION} (network.protocol.version) instead\n * @example \"1.1\"\n */\nexport const NET_PROTOCOL_VERSION = 'net.protocol.version';\n\n/**\n * Type for {@link NET_PROTOCOL_VERSION} net.protocol.version\n */\nexport type NET_PROTOCOL_VERSION_TYPE = string;\n\n// Path: model/attributes/net/net__sock__family.json\n\n/**\n * OSI transport and network layer `net.sock.family`\n *\n * Attribute Value Type: `string` {@link NET_SOCK_FAMILY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link NETWORK_TRANSPORT} (network.transport) instead - Deprecated, use network.transport and network.type.\n * @example \"inet\"\n */\nexport const NET_SOCK_FAMILY = 'net.sock.family';\n\n/**\n * Type for {@link NET_SOCK_FAMILY} net.sock.family\n */\nexport type NET_SOCK_FAMILY_TYPE = string;\n\n// Path: model/attributes/net/net__sock__host__addr.json\n\n/**\n * Local address of the network connection mapping to Unix domain socket name. `net.sock.host.addr`\n *\n * Attribute Value Type: `string` {@link NET_SOCK_HOST_ADDR_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_LOCAL_ADDRESS} `network.local.address`, {@link NET_HOST_IP} `net.host.ip`\n *\n * @deprecated Use {@link NETWORK_LOCAL_ADDRESS} (network.local.address) instead\n * @example \"/var/my.sock\"\n */\nexport const NET_SOCK_HOST_ADDR = 'net.sock.host.addr';\n\n/**\n * Type for {@link NET_SOCK_HOST_ADDR} net.sock.host.addr\n */\nexport type NET_SOCK_HOST_ADDR_TYPE = string;\n\n// Path: model/attributes/net/net__sock__host__port.json\n\n/**\n * Local port number of the network connection. `net.sock.host.port`\n *\n * Attribute Value Type: `number` {@link NET_SOCK_HOST_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_LOCAL_PORT} `network.local.port`\n *\n * @deprecated Use {@link NETWORK_LOCAL_PORT} (network.local.port) instead\n * @example 8080\n */\nexport const NET_SOCK_HOST_PORT = 'net.sock.host.port';\n\n/**\n * Type for {@link NET_SOCK_HOST_PORT} net.sock.host.port\n */\nexport type NET_SOCK_HOST_PORT_TYPE = number;\n\n// Path: model/attributes/net/net__sock__peer__addr.json\n\n/**\n * Peer address of the network connection - IP address `net.sock.peer.addr`\n *\n * Attribute Value Type: `string` {@link NET_SOCK_PEER_ADDR_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_PEER_ADDRESS} `network.peer.address`, {@link NET_PEER_IP} `net.peer.ip`\n *\n * @deprecated Use {@link NETWORK_PEER_ADDRESS} (network.peer.address) instead\n * @example \"192.168.0.1\"\n */\nexport const NET_SOCK_PEER_ADDR = 'net.sock.peer.addr';\n\n/**\n * Type for {@link NET_SOCK_PEER_ADDR} net.sock.peer.addr\n */\nexport type NET_SOCK_PEER_ADDR_TYPE = string;\n\n// Path: model/attributes/net/net__sock__peer__name.json\n\n/**\n * Peer address of the network connection - Unix domain socket name `net.sock.peer.name`\n *\n * Attribute Value Type: `string` {@link NET_SOCK_PEER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated - Deprecated from OTEL, no replacement at this time\n * @example \"/var/my.sock\"\n */\nexport const NET_SOCK_PEER_NAME = 'net.sock.peer.name';\n\n/**\n * Type for {@link NET_SOCK_PEER_NAME} net.sock.peer.name\n */\nexport type NET_SOCK_PEER_NAME_TYPE = string;\n\n// Path: model/attributes/net/net__sock__peer__port.json\n\n/**\n * Peer port number of the network connection. `net.sock.peer.port`\n *\n * Attribute Value Type: `number` {@link NET_SOCK_PEER_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @deprecated Use {@link NETWORK_PEER_PORT} (network.peer.port) instead\n * @example 8080\n */\nexport const NET_SOCK_PEER_PORT = 'net.sock.peer.port';\n\n/**\n * Type for {@link NET_SOCK_PEER_PORT} net.sock.peer.port\n */\nexport type NET_SOCK_PEER_PORT_TYPE = number;\n\n// Path: model/attributes/net/net__transport.json\n\n/**\n * OSI transport layer or inter-process communication method. `net.transport`\n *\n * Attribute Value Type: `string` {@link NET_TRANSPORT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NETWORK_TRANSPORT} `network.transport`\n *\n * @deprecated Use {@link NETWORK_TRANSPORT} (network.transport) instead\n * @example \"tcp\"\n */\nexport const NET_TRANSPORT = 'net.transport';\n\n/**\n * Type for {@link NET_TRANSPORT} net.transport\n */\nexport type NET_TRANSPORT_TYPE = string;\n\n// Path: model/attributes/network/network__local__address.json\n\n/**\n * Local address of the network connection - IP address or Unix domain socket name. `network.local.address`\n *\n * Attribute Value Type: `string` {@link NETWORK_LOCAL_ADDRESS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_HOST_IP} `net.host.ip`, {@link NET_SOCK_HOST_ADDR} `net.sock.host.addr`\n *\n * @example \"10.1.2.80\"\n */\nexport const NETWORK_LOCAL_ADDRESS = 'network.local.address';\n\n/**\n * Type for {@link NETWORK_LOCAL_ADDRESS} network.local.address\n */\nexport type NETWORK_LOCAL_ADDRESS_TYPE = string;\n\n// Path: model/attributes/network/network__local__port.json\n\n/**\n * Local port number of the network connection. `network.local.port`\n *\n * Attribute Value Type: `number` {@link NETWORK_LOCAL_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_SOCK_HOST_PORT} `net.sock.host.port`\n *\n * @example 65400\n */\nexport const NETWORK_LOCAL_PORT = 'network.local.port';\n\n/**\n * Type for {@link NETWORK_LOCAL_PORT} network.local.port\n */\nexport type NETWORK_LOCAL_PORT_TYPE = number;\n\n// Path: model/attributes/network/network__peer__address.json\n\n/**\n * Peer address of the network connection - IP address or Unix domain socket name. `network.peer.address`\n *\n * Attribute Value Type: `string` {@link NETWORK_PEER_ADDRESS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_PEER_IP} `net.peer.ip`, {@link NET_SOCK_PEER_ADDR} `net.sock.peer.addr`\n *\n * @example \"10.1.2.80\"\n */\nexport const NETWORK_PEER_ADDRESS = 'network.peer.address';\n\n/**\n * Type for {@link NETWORK_PEER_ADDRESS} network.peer.address\n */\nexport type NETWORK_PEER_ADDRESS_TYPE = string;\n\n// Path: model/attributes/network/network__peer__port.json\n\n/**\n * Peer port number of the network connection. `network.peer.port`\n *\n * Attribute Value Type: `number` {@link NETWORK_PEER_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 65400\n */\nexport const NETWORK_PEER_PORT = 'network.peer.port';\n\n/**\n * Type for {@link NETWORK_PEER_PORT} network.peer.port\n */\nexport type NETWORK_PEER_PORT_TYPE = number;\n\n// Path: model/attributes/network/network__protocol__name.json\n\n/**\n * OSI application layer or non-OSI equivalent. `network.protocol.name`\n *\n * Attribute Value Type: `string` {@link NETWORK_PROTOCOL_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_PROTOCOL_NAME} `net.protocol.name`\n *\n * @example \"http\"\n */\nexport const NETWORK_PROTOCOL_NAME = 'network.protocol.name';\n\n/**\n * Type for {@link NETWORK_PROTOCOL_NAME} network.protocol.name\n */\nexport type NETWORK_PROTOCOL_NAME_TYPE = string;\n\n// Path: model/attributes/network/network__protocol__version.json\n\n/**\n * The actual version of the protocol used for network communication. `network.protocol.version`\n *\n * Attribute Value Type: `string` {@link NETWORK_PROTOCOL_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_FLAVOR} `http.flavor`, {@link NET_PROTOCOL_VERSION} `net.protocol.version`\n *\n * @example \"1.1\"\n */\nexport const NETWORK_PROTOCOL_VERSION = 'network.protocol.version';\n\n/**\n * Type for {@link NETWORK_PROTOCOL_VERSION} network.protocol.version\n */\nexport type NETWORK_PROTOCOL_VERSION_TYPE = string;\n\n// Path: model/attributes/network/network__transport.json\n\n/**\n * OSI transport layer or inter-process communication method. `network.transport`\n *\n * Attribute Value Type: `string` {@link NETWORK_TRANSPORT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_TRANSPORT} `net.transport`\n *\n * @example \"tcp\"\n */\nexport const NETWORK_TRANSPORT = 'network.transport';\n\n/**\n * Type for {@link NETWORK_TRANSPORT} network.transport\n */\nexport type NETWORK_TRANSPORT_TYPE = string;\n\n// Path: model/attributes/network/network__type.json\n\n/**\n * OSI network layer or non-OSI equivalent. `network.type`\n *\n * Attribute Value Type: `string` {@link NETWORK_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"ipv4\"\n */\nexport const NETWORK_TYPE = 'network.type';\n\n/**\n * Type for {@link NETWORK_TYPE} network.type\n */\nexport type NETWORK_TYPE_TYPE = string;\n\n// Path: model/attributes/os/os__build_id.json\n\n/**\n * The build ID of the operating system. `os.build_id`\n *\n * Attribute Value Type: `string` {@link OS_BUILD_ID_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"1234567890\"\n */\nexport const OS_BUILD_ID = 'os.build_id';\n\n/**\n * Type for {@link OS_BUILD_ID} os.build_id\n */\nexport type OS_BUILD_ID_TYPE = string;\n\n// Path: model/attributes/os/os__description.json\n\n/**\n * Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands. `os.description`\n *\n * Attribute Value Type: `string` {@link OS_DESCRIPTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"Ubuntu 18.04.1 LTS\"\n */\nexport const OS_DESCRIPTION = 'os.description';\n\n/**\n * Type for {@link OS_DESCRIPTION} os.description\n */\nexport type OS_DESCRIPTION_TYPE = string;\n\n// Path: model/attributes/os/os__name.json\n\n/**\n * Human readable operating system name. `os.name`\n *\n * Attribute Value Type: `string` {@link OS_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"Ubuntu\"\n */\nexport const OS_NAME = 'os.name';\n\n/**\n * Type for {@link OS_NAME} os.name\n */\nexport type OS_NAME_TYPE = string;\n\n// Path: model/attributes/os/os__type.json\n\n/**\n * The operating system type. `os.type`\n *\n * Attribute Value Type: `string` {@link OS_TYPE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"linux\"\n */\nexport const OS_TYPE = 'os.type';\n\n/**\n * Type for {@link OS_TYPE} os.type\n */\nexport type OS_TYPE_TYPE = string;\n\n// Path: model/attributes/os/os__version.json\n\n/**\n * The version of the operating system. `os.version`\n *\n * Attribute Value Type: `string` {@link OS_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"18.04.2\"\n */\nexport const OS_VERSION = 'os.version';\n\n/**\n * Type for {@link OS_VERSION} os.version\n */\nexport type OS_VERSION_TYPE = string;\n\n// Path: model/attributes/otel/otel__scope__name.json\n\n/**\n * The name of the instrumentation scope - (InstrumentationScope.Name in OTLP). `otel.scope.name`\n *\n * Attribute Value Type: `string` {@link OTEL_SCOPE_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"io.opentelemetry.contrib.mongodb\"\n */\nexport const OTEL_SCOPE_NAME = 'otel.scope.name';\n\n/**\n * Type for {@link OTEL_SCOPE_NAME} otel.scope.name\n */\nexport type OTEL_SCOPE_NAME_TYPE = string;\n\n// Path: model/attributes/otel/otel__scope__version.json\n\n/**\n * The version of the instrumentation scope - (InstrumentationScope.Version in OTLP). `otel.scope.version`\n *\n * Attribute Value Type: `string` {@link OTEL_SCOPE_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"2.4.5\"\n */\nexport const OTEL_SCOPE_VERSION = 'otel.scope.version';\n\n/**\n * Type for {@link OTEL_SCOPE_VERSION} otel.scope.version\n */\nexport type OTEL_SCOPE_VERSION_TYPE = string;\n\n// Path: model/attributes/otel/otel__status_code.json\n\n/**\n * Name of the code, either “OK” or “ERROR”. MUST NOT be set if the status code is UNSET. `otel.status_code`\n *\n * Attribute Value Type: `string` {@link OTEL_STATUS_CODE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"OK\"\n */\nexport const OTEL_STATUS_CODE = 'otel.status_code';\n\n/**\n * Type for {@link OTEL_STATUS_CODE} otel.status_code\n */\nexport type OTEL_STATUS_CODE_TYPE = string;\n\n// Path: model/attributes/otel/otel__status_description.json\n\n/**\n * Description of the Status if it has a value, otherwise not set. `otel.status_description`\n *\n * Attribute Value Type: `string` {@link OTEL_STATUS_DESCRIPTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"resource not found\"\n */\nexport const OTEL_STATUS_DESCRIPTION = 'otel.status_description';\n\n/**\n * Type for {@link OTEL_STATUS_DESCRIPTION} otel.status_description\n */\nexport type OTEL_STATUS_DESCRIPTION_TYPE = string;\n\n// Path: model/attributes/params/params__[key].json\n\n/**\n * Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router. `params.<key>`\n *\n * Attribute Value Type: `string` {@link PARAMS_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * Aliases: {@link URL_PATH_PARAMETER_KEY} `url.path.parameter.<key>`\n *\n * @example \"params.id='123'\"\n */\nexport const PARAMS_KEY = 'params.<key>';\n\n/**\n * Type for {@link PARAMS_KEY} params.<key>\n */\nexport type PARAMS_KEY_TYPE = string;\n\n// Path: model/attributes/previous_route.json\n\n/**\n * Also used by mobile SDKs to indicate the previous route in the application. `previous_route`\n *\n * Attribute Value Type: `string` {@link PREVIOUS_ROUTE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"HomeScreen\"\n */\nexport const PREVIOUS_ROUTE = 'previous_route';\n\n/**\n * Type for {@link PREVIOUS_ROUTE} previous_route\n */\nexport type PREVIOUS_ROUTE_TYPE = string;\n\n// Path: model/attributes/process/process__executable__name.json\n\n/**\n * The name of the executable that started the process. `process.executable.name`\n *\n * Attribute Value Type: `string` {@link PROCESS_EXECUTABLE_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"getsentry\"\n */\nexport const PROCESS_EXECUTABLE_NAME = 'process.executable.name';\n\n/**\n * Type for {@link PROCESS_EXECUTABLE_NAME} process.executable.name\n */\nexport type PROCESS_EXECUTABLE_NAME_TYPE = string;\n\n// Path: model/attributes/process/process__pid.json\n\n/**\n * The process ID of the running process. `process.pid`\n *\n * Attribute Value Type: `number` {@link PROCESS_PID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 12345\n */\nexport const PROCESS_PID = 'process.pid';\n\n/**\n * Type for {@link PROCESS_PID} process.pid\n */\nexport type PROCESS_PID_TYPE = number;\n\n// Path: model/attributes/process/process__runtime__description.json\n\n/**\n * An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. Equivalent to `raw_description` in the Sentry runtime context. `process.runtime.description`\n *\n * Attribute Value Type: `string` {@link PROCESS_RUNTIME_DESCRIPTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"Eclipse OpenJ9 VM openj9-0.21.0\"\n */\nexport const PROCESS_RUNTIME_DESCRIPTION = 'process.runtime.description';\n\n/**\n * Type for {@link PROCESS_RUNTIME_DESCRIPTION} process.runtime.description\n */\nexport type PROCESS_RUNTIME_DESCRIPTION_TYPE = string;\n\n// Path: model/attributes/process/process__runtime__name.json\n\n/**\n * The name of the runtime. Equivalent to `name` in the Sentry runtime context. `process.runtime.name`\n *\n * Attribute Value Type: `string` {@link PROCESS_RUNTIME_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"node\"\n */\nexport const PROCESS_RUNTIME_NAME = 'process.runtime.name';\n\n/**\n * Type for {@link PROCESS_RUNTIME_NAME} process.runtime.name\n */\nexport type PROCESS_RUNTIME_NAME_TYPE = string;\n\n// Path: model/attributes/process/process__runtime__version.json\n\n/**\n * The version of the runtime of this process, as returned by the runtime without modification. Equivalent to `version` in the Sentry runtime context. `process.runtime.version`\n *\n * Attribute Value Type: `string` {@link PROCESS_RUNTIME_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"18.04.2\"\n */\nexport const PROCESS_RUNTIME_VERSION = 'process.runtime.version';\n\n/**\n * Type for {@link PROCESS_RUNTIME_VERSION} process.runtime.version\n */\nexport type PROCESS_RUNTIME_VERSION_TYPE = string;\n\n// Path: model/attributes/profile_id.json\n\n/**\n * The id of the sentry profile. `profile_id`\n *\n * Attribute Value Type: `string` {@link PROFILE_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_PROFILE_ID} `sentry.profile_id`\n *\n * @deprecated Use {@link SENTRY_PROFILE_ID} (sentry.profile_id) instead\n * @example \"123e4567e89b12d3a456426614174000\"\n */\nexport const PROFILE_ID = 'profile_id';\n\n/**\n * Type for {@link PROFILE_ID} profile_id\n */\nexport type PROFILE_ID_TYPE = string;\n\n// Path: model/attributes/query/query__[key].json\n\n/**\n * An item in a query string. Usually added by client-side routing frameworks like vue-router. `query.<key>`\n *\n * Attribute Value Type: `string` {@link QUERY_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * @deprecated Use {@link URL_QUERY} (url.query) instead - Instead of sending items individually in query.<key>, they should be sent all together with url.query.\n * @example \"query.id='123'\"\n */\nexport const QUERY_KEY = 'query.<key>';\n\n/**\n * Type for {@link QUERY_KEY} query.<key>\n */\nexport type QUERY_KEY_TYPE = string;\n\n// Path: model/attributes/release.json\n\n/**\n * The sentry release. `release`\n *\n * Attribute Value Type: `string` {@link RELEASE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_RELEASE} `sentry.release`\n *\n * @deprecated Use {@link SENTRY_RELEASE} (sentry.release) instead\n * @example \"production\"\n */\nexport const RELEASE = 'release';\n\n/**\n * Type for {@link RELEASE} release\n */\nexport type RELEASE_TYPE = string;\n\n// Path: model/attributes/remix/remix__action_form_data__[key].json\n\n/**\n * Remix form data, <key> being the form data key, the value being the form data value. `remix.action_form_data.<key>`\n *\n * Attribute Value Type: `string` {@link REMIX_ACTION_FORM_DATA_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * @example \"http.response.header.text='test'\"\n */\nexport const REMIX_ACTION_FORM_DATA_KEY = 'remix.action_form_data.<key>';\n\n/**\n * Type for {@link REMIX_ACTION_FORM_DATA_KEY} remix.action_form_data.<key>\n */\nexport type REMIX_ACTION_FORM_DATA_KEY_TYPE = string;\n\n// Path: model/attributes/replay_id.json\n\n/**\n * The id of the sentry replay. `replay_id`\n *\n * Attribute Value Type: `string` {@link REPLAY_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_REPLAY_ID} `sentry.replay_id`\n *\n * @deprecated Use {@link SENTRY_REPLAY_ID} (sentry.replay_id) instead\n * @example \"123e4567e89b12d3a456426614174000\"\n */\nexport const REPLAY_ID = 'replay_id';\n\n/**\n * Type for {@link REPLAY_ID} replay_id\n */\nexport type REPLAY_ID_TYPE = string;\n\n// Path: model/attributes/resource/resource__render_blocking_status.json\n\n/**\n * The render blocking status of the resource. `resource.render_blocking_status`\n *\n * Attribute Value Type: `string` {@link RESOURCE_RENDER_BLOCKING_STATUS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"non-blocking\"\n */\nexport const RESOURCE_RENDER_BLOCKING_STATUS = 'resource.render_blocking_status';\n\n/**\n * Type for {@link RESOURCE_RENDER_BLOCKING_STATUS} resource.render_blocking_status\n */\nexport type RESOURCE_RENDER_BLOCKING_STATUS_TYPE = string;\n\n// Path: model/attributes/route.json\n\n/**\n * The matched route, that is, the path template in the format used by the respective server framework. Also used by mobile SDKs to indicate the current route in the application. `route`\n *\n * Attribute Value Type: `string` {@link ROUTE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link HTTP_ROUTE} `http.route`\n *\n * @deprecated Use {@link HTTP_ROUTE} (http.route) instead\n * @example \"App\\\\Controller::indexAction\"\n */\nexport const ROUTE = 'route';\n\n/**\n * Type for {@link ROUTE} route\n */\nexport type ROUTE_TYPE = string;\n\n// Path: model/attributes/rpc/rpc__grpc__status_code.json\n\n/**\n * The numeric status code of the gRPC request. `rpc.grpc.status_code`\n *\n * Attribute Value Type: `number` {@link RPC_GRPC_STATUS_CODE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 2\n */\nexport const RPC_GRPC_STATUS_CODE = 'rpc.grpc.status_code';\n\n/**\n * Type for {@link RPC_GRPC_STATUS_CODE} rpc.grpc.status_code\n */\nexport type RPC_GRPC_STATUS_CODE_TYPE = number;\n\n// Path: model/attributes/rpc/rpc__service.json\n\n/**\n * The full (logical) name of the service being called, including its package name, if applicable. `rpc.service`\n *\n * Attribute Value Type: `string` {@link RPC_SERVICE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"myService.BestService\"\n */\nexport const RPC_SERVICE = 'rpc.service';\n\n/**\n * Type for {@link RPC_SERVICE} rpc.service\n */\nexport type RPC_SERVICE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry___internal__dsc__environment.json\n\n/**\n * The environment from the dynamic sampling context. `sentry._internal.dsc.environment`\n *\n * Attribute Value Type: `string` {@link SENTRY_INTERNAL_DSC_ENVIRONMENT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"prod\"\n */\nexport const SENTRY_INTERNAL_DSC_ENVIRONMENT = 'sentry._internal.dsc.environment';\n\n/**\n * Type for {@link SENTRY_INTERNAL_DSC_ENVIRONMENT} sentry._internal.dsc.environment\n */\nexport type SENTRY_INTERNAL_DSC_ENVIRONMENT_TYPE = string;\n\n// Path: model/attributes/sentry/sentry___internal__dsc__org_id.json\n\n/**\n * The organization ID from the dynamic sampling context. `sentry._internal.dsc.org_id`\n *\n * Attribute Value Type: `string` {@link SENTRY_INTERNAL_DSC_ORG_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"1\"\n */\nexport const SENTRY_INTERNAL_DSC_ORG_ID = 'sentry._internal.dsc.org_id';\n\n/**\n * Type for {@link SENTRY_INTERNAL_DSC_ORG_ID} sentry._internal.dsc.org_id\n */\nexport type SENTRY_INTERNAL_DSC_ORG_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry___internal__dsc__public_key.json\n\n/**\n * The public key from the dynamic sampling context. `sentry._internal.dsc.public_key`\n *\n * Attribute Value Type: `string` {@link SENTRY_INTERNAL_DSC_PUBLIC_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"c51734c603c4430eb57cb0a5728a479d\"\n */\nexport const SENTRY_INTERNAL_DSC_PUBLIC_KEY = 'sentry._internal.dsc.public_key';\n\n/**\n * Type for {@link SENTRY_INTERNAL_DSC_PUBLIC_KEY} sentry._internal.dsc.public_key\n */\nexport type SENTRY_INTERNAL_DSC_PUBLIC_KEY_TYPE = string;\n\n// Path: model/attributes/sentry/sentry___internal__dsc__release.json\n\n/**\n * The release identifier from the dynamic sampling context. `sentry._internal.dsc.release`\n *\n * Attribute Value Type: `string` {@link SENTRY_INTERNAL_DSC_RELEASE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"frontend@e8211be71b214afab5b85de4b4c54be3714952bb\"\n */\nexport const SENTRY_INTERNAL_DSC_RELEASE = 'sentry._internal.dsc.release';\n\n/**\n * Type for {@link SENTRY_INTERNAL_DSC_RELEASE} sentry._internal.dsc.release\n */\nexport type SENTRY_INTERNAL_DSC_RELEASE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry___internal__dsc__sample_rand.json\n\n/**\n * The random sampling value from the dynamic sampling context. `sentry._internal.dsc.sample_rand`\n *\n * Attribute Value Type: `string` {@link SENTRY_INTERNAL_DSC_SAMPLE_RAND_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"0.8286147972820134\"\n */\nexport const SENTRY_INTERNAL_DSC_SAMPLE_RAND = 'sentry._internal.dsc.sample_rand';\n\n/**\n * Type for {@link SENTRY_INTERNAL_DSC_SAMPLE_RAND} sentry._internal.dsc.sample_rand\n */\nexport type SENTRY_INTERNAL_DSC_SAMPLE_RAND_TYPE = string;\n\n// Path: model/attributes/sentry/sentry___internal__dsc__sample_rate.json\n\n/**\n * The sample rate from the dynamic sampling context. `sentry._internal.dsc.sample_rate`\n *\n * Attribute Value Type: `string` {@link SENTRY_INTERNAL_DSC_SAMPLE_RATE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"1.0\"\n */\nexport const SENTRY_INTERNAL_DSC_SAMPLE_RATE = 'sentry._internal.dsc.sample_rate';\n\n/**\n * Type for {@link SENTRY_INTERNAL_DSC_SAMPLE_RATE} sentry._internal.dsc.sample_rate\n */\nexport type SENTRY_INTERNAL_DSC_SAMPLE_RATE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry___internal__dsc__sampled.json\n\n/**\n * Whether the event was sampled according to the dynamic sampling context. `sentry._internal.dsc.sampled`\n *\n * Attribute Value Type: `boolean` {@link SENTRY_INTERNAL_DSC_SAMPLED_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const SENTRY_INTERNAL_DSC_SAMPLED = 'sentry._internal.dsc.sampled';\n\n/**\n * Type for {@link SENTRY_INTERNAL_DSC_SAMPLED} sentry._internal.dsc.sampled\n */\nexport type SENTRY_INTERNAL_DSC_SAMPLED_TYPE = boolean;\n\n// Path: model/attributes/sentry/sentry___internal__dsc__trace_id.json\n\n/**\n * The trace ID from the dynamic sampling context. `sentry._internal.dsc.trace_id`\n *\n * Attribute Value Type: `string` {@link SENTRY_INTERNAL_DSC_TRACE_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"047372980460430cbc78d9779df33a46\"\n */\nexport const SENTRY_INTERNAL_DSC_TRACE_ID = 'sentry._internal.dsc.trace_id';\n\n/**\n * Type for {@link SENTRY_INTERNAL_DSC_TRACE_ID} sentry._internal.dsc.trace_id\n */\nexport type SENTRY_INTERNAL_DSC_TRACE_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry___internal__dsc__transaction.json\n\n/**\n * The transaction name from the dynamic sampling context. `sentry._internal.dsc.transaction`\n *\n * Attribute Value Type: `string` {@link SENTRY_INTERNAL_DSC_TRANSACTION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"/issues/errors-outages/\"\n */\nexport const SENTRY_INTERNAL_DSC_TRANSACTION = 'sentry._internal.dsc.transaction';\n\n/**\n * Type for {@link SENTRY_INTERNAL_DSC_TRANSACTION} sentry._internal.dsc.transaction\n */\nexport type SENTRY_INTERNAL_DSC_TRANSACTION_TYPE = string;\n\n// Path: model/attributes/sentry/sentry___internal__observed_timestamp_nanos.json\n\n/**\n * The timestamp at which an envelope was received by Relay, in nanoseconds. `sentry._internal.observed_timestamp_nanos`\n *\n * Attribute Value Type: `string` {@link SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_OBSERVED_TIMESTAMP_NANOS} `sentry.observed_timestamp_nanos`\n *\n * @example \"1544712660300000000\"\n */\nexport const SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS = 'sentry._internal.observed_timestamp_nanos';\n\n/**\n * Type for {@link SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS} sentry._internal.observed_timestamp_nanos\n */\nexport type SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS_TYPE = string;\n\n// Path: model/attributes/sentry/sentry___internal__replay_is_buffering.json\n\n/**\n * A sentinel attribute on log events indicating whether the current Session Replay is being buffered (onErrorSampleRate). `sentry._internal.replay_is_buffering`\n *\n * Attribute Value Type: `boolean` {@link SENTRY_INTERNAL_REPLAY_IS_BUFFERING_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const SENTRY_INTERNAL_REPLAY_IS_BUFFERING = 'sentry._internal.replay_is_buffering';\n\n/**\n * Type for {@link SENTRY_INTERNAL_REPLAY_IS_BUFFERING} sentry._internal.replay_is_buffering\n */\nexport type SENTRY_INTERNAL_REPLAY_IS_BUFFERING_TYPE = boolean;\n\n// Path: model/attributes/sentry/sentry__browser__name.json\n\n/**\n * The name of the browser. `sentry.browser.name`\n *\n * Attribute Value Type: `string` {@link SENTRY_BROWSER_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link BROWSER_NAME} `browser.name`\n *\n * @deprecated Use {@link BROWSER_NAME} (browser.name) instead\n * @example \"Chrome\"\n */\nexport const SENTRY_BROWSER_NAME = 'sentry.browser.name';\n\n/**\n * Type for {@link SENTRY_BROWSER_NAME} sentry.browser.name\n */\nexport type SENTRY_BROWSER_NAME_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__browser__version.json\n\n/**\n * The version of the browser. `sentry.browser.version`\n *\n * Attribute Value Type: `string` {@link SENTRY_BROWSER_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link BROWSER_VERSION} `browser.version`\n *\n * @deprecated Use {@link BROWSER_VERSION} (browser.version) instead\n * @example \"120.0.6099.130\"\n */\nexport const SENTRY_BROWSER_VERSION = 'sentry.browser.version';\n\n/**\n * Type for {@link SENTRY_BROWSER_VERSION} sentry.browser.version\n */\nexport type SENTRY_BROWSER_VERSION_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__cancellation_reason.json\n\n/**\n * The reason why a span ended early. `sentry.cancellation_reason`\n *\n * Attribute Value Type: `string` {@link SENTRY_CANCELLATION_REASON_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"document.hidden\"\n */\nexport const SENTRY_CANCELLATION_REASON = 'sentry.cancellation_reason';\n\n/**\n * Type for {@link SENTRY_CANCELLATION_REASON} sentry.cancellation_reason\n */\nexport type SENTRY_CANCELLATION_REASON_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__client_sample_rate.json\n\n/**\n * Rate at which a span was sampled in the SDK. `sentry.client_sample_rate`\n *\n * Attribute Value Type: `number` {@link SENTRY_CLIENT_SAMPLE_RATE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 0.5\n */\nexport const SENTRY_CLIENT_SAMPLE_RATE = 'sentry.client_sample_rate';\n\n/**\n * Type for {@link SENTRY_CLIENT_SAMPLE_RATE} sentry.client_sample_rate\n */\nexport type SENTRY_CLIENT_SAMPLE_RATE_TYPE = number;\n\n// Path: model/attributes/sentry/sentry__description.json\n\n/**\n * The human-readable description of a span. `sentry.description`\n *\n * Attribute Value Type: `string` {@link SENTRY_DESCRIPTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"index view query\"\n */\nexport const SENTRY_DESCRIPTION = 'sentry.description';\n\n/**\n * Type for {@link SENTRY_DESCRIPTION} sentry.description\n */\nexport type SENTRY_DESCRIPTION_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__dist.json\n\n/**\n * The sentry dist. `sentry.dist`\n *\n * Attribute Value Type: `string` {@link SENTRY_DIST_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"1.0\"\n */\nexport const SENTRY_DIST = 'sentry.dist';\n\n/**\n * Type for {@link SENTRY_DIST} sentry.dist\n */\nexport type SENTRY_DIST_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__environment.json\n\n/**\n * The sentry environment. `sentry.environment`\n *\n * Attribute Value Type: `string` {@link SENTRY_ENVIRONMENT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link ENVIRONMENT} `environment`\n *\n * @example \"production\"\n */\nexport const SENTRY_ENVIRONMENT = 'sentry.environment';\n\n/**\n * Type for {@link SENTRY_ENVIRONMENT} sentry.environment\n */\nexport type SENTRY_ENVIRONMENT_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__exclusive_time.json\n\n/**\n * The exclusive time duration of the span. `sentry.exclusive_time`\n *\n * Attribute Value Type: `number` {@link SENTRY_EXCLUSIVE_TIME_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1234\n */\nexport const SENTRY_EXCLUSIVE_TIME = 'sentry.exclusive_time';\n\n/**\n * Type for {@link SENTRY_EXCLUSIVE_TIME} sentry.exclusive_time\n */\nexport type SENTRY_EXCLUSIVE_TIME_TYPE = number;\n\n// Path: model/attributes/sentry/sentry__http__prefetch.json\n\n/**\n * If an http request was a prefetch request. `sentry.http.prefetch`\n *\n * Attribute Value Type: `boolean` {@link SENTRY_HTTP_PREFETCH_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const SENTRY_HTTP_PREFETCH = 'sentry.http.prefetch';\n\n/**\n * Type for {@link SENTRY_HTTP_PREFETCH} sentry.http.prefetch\n */\nexport type SENTRY_HTTP_PREFETCH_TYPE = boolean;\n\n// Path: model/attributes/sentry/sentry__idle_span_finish_reason.json\n\n/**\n * The reason why an idle span ended early. `sentry.idle_span_finish_reason`\n *\n * Attribute Value Type: `string` {@link SENTRY_IDLE_SPAN_FINISH_REASON_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"idleTimeout\"\n */\nexport const SENTRY_IDLE_SPAN_FINISH_REASON = 'sentry.idle_span_finish_reason';\n\n/**\n * Type for {@link SENTRY_IDLE_SPAN_FINISH_REASON} sentry.idle_span_finish_reason\n */\nexport type SENTRY_IDLE_SPAN_FINISH_REASON_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__message__parameter__[key].json\n\n/**\n * A parameter used in the message template. <key> can either be the number that represent the parameter's position in the template string (sentry.message.parameter.0, sentry.message.parameter.1, etc) or the parameter's name (sentry.message.parameter.item_id, sentry.message.parameter.user_id, etc) `sentry.message.parameter.<key>`\n *\n * Attribute Value Type: `string` {@link SENTRY_MESSAGE_PARAMETER_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"sentry.message.parameter.0='123'\"\n */\nexport const SENTRY_MESSAGE_PARAMETER_KEY = 'sentry.message.parameter.<key>';\n\n/**\n * Type for {@link SENTRY_MESSAGE_PARAMETER_KEY} sentry.message.parameter.<key>\n */\nexport type SENTRY_MESSAGE_PARAMETER_KEY_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__message__template.json\n\n/**\n * The parameterized template string. `sentry.message.template`\n *\n * Attribute Value Type: `string` {@link SENTRY_MESSAGE_TEMPLATE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Hello, {name}!\"\n */\nexport const SENTRY_MESSAGE_TEMPLATE = 'sentry.message.template';\n\n/**\n * Type for {@link SENTRY_MESSAGE_TEMPLATE} sentry.message.template\n */\nexport type SENTRY_MESSAGE_TEMPLATE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__module__[key].json\n\n/**\n * A module that was loaded in the process. The key is the name of the module. `sentry.module.<key>`\n *\n * Attribute Value Type: `string` {@link SENTRY_MODULE_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * @example \"sentry.module.brianium/paratest='v7.7.0'\"\n */\nexport const SENTRY_MODULE_KEY = 'sentry.module.<key>';\n\n/**\n * Type for {@link SENTRY_MODULE_KEY} sentry.module.<key>\n */\nexport type SENTRY_MODULE_KEY_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__nextjs__ssr__function__route.json\n\n/**\n * A parameterized route for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions when the file location of the function is known. `sentry.nextjs.ssr.function.route`\n *\n * Attribute Value Type: `string` {@link SENTRY_NEXTJS_SSR_FUNCTION_ROUTE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"/posts/[id]/layout\"\n */\nexport const SENTRY_NEXTJS_SSR_FUNCTION_ROUTE = 'sentry.nextjs.ssr.function.route';\n\n/**\n * Type for {@link SENTRY_NEXTJS_SSR_FUNCTION_ROUTE} sentry.nextjs.ssr.function.route\n */\nexport type SENTRY_NEXTJS_SSR_FUNCTION_ROUTE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__nextjs__ssr__function__type.json\n\n/**\n * A descriptor for a for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions. `sentry.nextjs.ssr.function.type`\n *\n * Attribute Value Type: `string` {@link SENTRY_NEXTJS_SSR_FUNCTION_TYPE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"generateMetadata\"\n */\nexport const SENTRY_NEXTJS_SSR_FUNCTION_TYPE = 'sentry.nextjs.ssr.function.type';\n\n/**\n * Type for {@link SENTRY_NEXTJS_SSR_FUNCTION_TYPE} sentry.nextjs.ssr.function.type\n */\nexport type SENTRY_NEXTJS_SSR_FUNCTION_TYPE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__observed_timestamp_nanos.json\n\n/**\n * The timestamp at which an envelope was received by Relay, in nanoseconds. `sentry.observed_timestamp_nanos`\n *\n * Attribute Value Type: `string` {@link SENTRY_OBSERVED_TIMESTAMP_NANOS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS} `sentry._internal.observed_timestamp_nanos`\n *\n * @deprecated Use {@link SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS} (sentry._internal.observed_timestamp_nanos) instead\n * @example \"1544712660300000000\"\n */\nexport const SENTRY_OBSERVED_TIMESTAMP_NANOS = 'sentry.observed_timestamp_nanos';\n\n/**\n * Type for {@link SENTRY_OBSERVED_TIMESTAMP_NANOS} sentry.observed_timestamp_nanos\n */\nexport type SENTRY_OBSERVED_TIMESTAMP_NANOS_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__op.json\n\n/**\n * The operation of a span. `sentry.op`\n *\n * Attribute Value Type: `string` {@link SENTRY_OP_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"http.client\"\n */\nexport const SENTRY_OP = 'sentry.op';\n\n/**\n * Type for {@link SENTRY_OP} sentry.op\n */\nexport type SENTRY_OP_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__origin.json\n\n/**\n * The origin of the instrumentation (e.g. span, log, etc.) `sentry.origin`\n *\n * Attribute Value Type: `string` {@link SENTRY_ORIGIN_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"auto.http.otel.fastify\"\n */\nexport const SENTRY_ORIGIN = 'sentry.origin';\n\n/**\n * Type for {@link SENTRY_ORIGIN} sentry.origin\n */\nexport type SENTRY_ORIGIN_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__platform.json\n\n/**\n * The sdk platform that generated the event. `sentry.platform`\n *\n * Attribute Value Type: `string` {@link SENTRY_PLATFORM_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"php\"\n */\nexport const SENTRY_PLATFORM = 'sentry.platform';\n\n/**\n * Type for {@link SENTRY_PLATFORM} sentry.platform\n */\nexport type SENTRY_PLATFORM_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__profile_id.json\n\n/**\n * The id of the sentry profile. `sentry.profile_id`\n *\n * Attribute Value Type: `string` {@link SENTRY_PROFILE_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link PROFILE_ID} `profile_id`\n *\n * @example \"123e4567e89b12d3a456426614174000\"\n */\nexport const SENTRY_PROFILE_ID = 'sentry.profile_id';\n\n/**\n * Type for {@link SENTRY_PROFILE_ID} sentry.profile_id\n */\nexport type SENTRY_PROFILE_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__release.json\n\n/**\n * The sentry release. `sentry.release`\n *\n * Attribute Value Type: `string` {@link SENTRY_RELEASE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SERVICE_VERSION} `service.version`, {@link RELEASE} `release`\n *\n * @example \"7.0.0\"\n */\nexport const SENTRY_RELEASE = 'sentry.release';\n\n/**\n * Type for {@link SENTRY_RELEASE} sentry.release\n */\nexport type SENTRY_RELEASE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__replay_id.json\n\n/**\n * The id of the sentry replay. `sentry.replay_id`\n *\n * Attribute Value Type: `string` {@link SENTRY_REPLAY_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link REPLAY_ID} `replay_id`\n *\n * @example \"123e4567e89b12d3a456426614174000\"\n */\nexport const SENTRY_REPLAY_ID = 'sentry.replay_id';\n\n/**\n * Type for {@link SENTRY_REPLAY_ID} sentry.replay_id\n */\nexport type SENTRY_REPLAY_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__sdk__integrations.json\n\n/**\n * A list of names identifying enabled integrations. The list shouldhave all enabled integrations, including default integrations. Defaultintegrations are included because different SDK releases may contain differentdefault integrations. `sentry.sdk.integrations`\n *\n * Attribute Value Type: `Array<string>` {@link SENTRY_SDK_INTEGRATIONS_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"InboundFilters\",\"FunctionToString\",\"BrowserApiErrors\",\"Breadcrumbs\"]\n */\nexport const SENTRY_SDK_INTEGRATIONS = 'sentry.sdk.integrations';\n\n/**\n * Type for {@link SENTRY_SDK_INTEGRATIONS} sentry.sdk.integrations\n */\nexport type SENTRY_SDK_INTEGRATIONS_TYPE = Array<string>;\n\n// Path: model/attributes/sentry/sentry__sdk__name.json\n\n/**\n * The sentry sdk name. `sentry.sdk.name`\n *\n * Attribute Value Type: `string` {@link SENTRY_SDK_NAME_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"@sentry/react\"\n */\nexport const SENTRY_SDK_NAME = 'sentry.sdk.name';\n\n/**\n * Type for {@link SENTRY_SDK_NAME} sentry.sdk.name\n */\nexport type SENTRY_SDK_NAME_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__sdk__version.json\n\n/**\n * The sentry sdk version. `sentry.sdk.version`\n *\n * Attribute Value Type: `string` {@link SENTRY_SDK_VERSION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"7.0.0\"\n */\nexport const SENTRY_SDK_VERSION = 'sentry.sdk.version';\n\n/**\n * Type for {@link SENTRY_SDK_VERSION} sentry.sdk.version\n */\nexport type SENTRY_SDK_VERSION_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__segment__id.json\n\n/**\n * The segment ID of a span `sentry.segment.id`\n *\n * Attribute Value Type: `string` {@link SENTRY_SEGMENT_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link _SENTRY_SEGMENT_ID} `sentry.segment_id`\n *\n * @example \"051581bf3cb55c13\"\n */\nexport const SENTRY_SEGMENT_ID = 'sentry.segment.id';\n\n/**\n * Type for {@link SENTRY_SEGMENT_ID} sentry.segment.id\n */\nexport type SENTRY_SEGMENT_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__segment__name.json\n\n/**\n * The segment name of a span `sentry.segment.name`\n *\n * Attribute Value Type: `string` {@link SENTRY_SEGMENT_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"GET /user\"\n */\nexport const SENTRY_SEGMENT_NAME = 'sentry.segment.name';\n\n/**\n * Type for {@link SENTRY_SEGMENT_NAME} sentry.segment.name\n */\nexport type SENTRY_SEGMENT_NAME_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__segment_id.json\n\n/**\n * The segment ID of a span `sentry.segment_id`\n *\n * Attribute Value Type: `string` {@link _SENTRY_SEGMENT_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_SEGMENT_ID} `sentry.segment.id`\n *\n * @deprecated Use {@link SENTRY_SEGMENT_ID} (sentry.segment.id) instead\n * @example \"051581bf3cb55c13\"\n */\nexport const _SENTRY_SEGMENT_ID = 'sentry.segment_id';\n\n/**\n * Type for {@link _SENTRY_SEGMENT_ID} sentry.segment_id\n */\nexport type _SENTRY_SEGMENT_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__server_sample_rate.json\n\n/**\n * Rate at which a span was sampled in Relay. `sentry.server_sample_rate`\n *\n * Attribute Value Type: `number` {@link SENTRY_SERVER_SAMPLE_RATE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 0.5\n */\nexport const SENTRY_SERVER_SAMPLE_RATE = 'sentry.server_sample_rate';\n\n/**\n * Type for {@link SENTRY_SERVER_SAMPLE_RATE} sentry.server_sample_rate\n */\nexport type SENTRY_SERVER_SAMPLE_RATE_TYPE = number;\n\n// Path: model/attributes/sentry/sentry__span__source.json\n\n/**\n * The source of a span, also referred to as transaction source. `sentry.span.source`\n *\n * Attribute Value Type: `string` {@link SENTRY_SPAN_SOURCE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"route\"\n */\nexport const SENTRY_SPAN_SOURCE = 'sentry.span.source';\n\n/**\n * Type for {@link SENTRY_SPAN_SOURCE} sentry.span.source\n */\nexport type SENTRY_SPAN_SOURCE_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__trace__parent_span_id.json\n\n/**\n * The span id of the span that was active when the log was collected. This should not be set if there was no active span. `sentry.trace.parent_span_id`\n *\n * Attribute Value Type: `string` {@link SENTRY_TRACE_PARENT_SPAN_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"b0e6f15b45c36b12\"\n */\nexport const SENTRY_TRACE_PARENT_SPAN_ID = 'sentry.trace.parent_span_id';\n\n/**\n * Type for {@link SENTRY_TRACE_PARENT_SPAN_ID} sentry.trace.parent_span_id\n */\nexport type SENTRY_TRACE_PARENT_SPAN_ID_TYPE = string;\n\n// Path: model/attributes/sentry/sentry__transaction.json\n\n/**\n * The sentry transaction (segment name). `sentry.transaction`\n *\n * Attribute Value Type: `string` {@link SENTRY_TRANSACTION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link TRANSACTION} `transaction`\n *\n * @example \"GET /\"\n */\nexport const SENTRY_TRANSACTION = 'sentry.transaction';\n\n/**\n * Type for {@link SENTRY_TRANSACTION} sentry.transaction\n */\nexport type SENTRY_TRANSACTION_TYPE = string;\n\n// Path: model/attributes/server/server__address.json\n\n/**\n * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `server.address`\n *\n * Attribute Value Type: `string` {@link SERVER_ADDRESS_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_SERVER_NAME} `http.server_name`, {@link NET_HOST_NAME} `net.host.name`, {@link HTTP_HOST} `http.host`\n *\n * @example \"example.com\"\n */\nexport const SERVER_ADDRESS = 'server.address';\n\n/**\n * Type for {@link SERVER_ADDRESS} server.address\n */\nexport type SERVER_ADDRESS_TYPE = string;\n\n// Path: model/attributes/server/server__port.json\n\n/**\n * Server port number. `server.port`\n *\n * Attribute Value Type: `number` {@link SERVER_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link NET_HOST_PORT} `net.host.port`\n *\n * @example 1337\n */\nexport const SERVER_PORT = 'server.port';\n\n/**\n * Type for {@link SERVER_PORT} server.port\n */\nexport type SERVER_PORT_TYPE = number;\n\n// Path: model/attributes/service/service__name.json\n\n/**\n * Logical name of the service. `service.name`\n *\n * Attribute Value Type: `string` {@link SERVICE_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"omegastar\"\n */\nexport const SERVICE_NAME = 'service.name';\n\n/**\n * Type for {@link SERVICE_NAME} service.name\n */\nexport type SERVICE_NAME_TYPE = string;\n\n// Path: model/attributes/service/service__version.json\n\n/**\n * The version string of the service API or implementation. The format is not defined by these conventions. `service.version`\n *\n * Attribute Value Type: `string` {@link SERVICE_VERSION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link SENTRY_RELEASE} `sentry.release`\n *\n * @example \"5.0.0\"\n */\nexport const SERVICE_VERSION = 'service.version';\n\n/**\n * Type for {@link SERVICE_VERSION} service.version\n */\nexport type SERVICE_VERSION_TYPE = string;\n\n// Path: model/attributes/thread/thread__id.json\n\n/**\n * Current “managed” thread ID. `thread.id`\n *\n * Attribute Value Type: `number` {@link THREAD_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 56\n */\nexport const THREAD_ID = 'thread.id';\n\n/**\n * Type for {@link THREAD_ID} thread.id\n */\nexport type THREAD_ID_TYPE = number;\n\n// Path: model/attributes/thread/thread__name.json\n\n/**\n * Current thread name. `thread.name`\n *\n * Attribute Value Type: `string` {@link THREAD_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"main\"\n */\nexport const THREAD_NAME = 'thread.name';\n\n/**\n * Type for {@link THREAD_NAME} thread.name\n */\nexport type THREAD_NAME_TYPE = string;\n\n// Path: model/attributes/transaction.json\n\n/**\n * The sentry transaction (segment name). `transaction`\n *\n * Attribute Value Type: `string` {@link TRANSACTION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link SENTRY_TRANSACTION} `sentry.transaction`\n *\n * @deprecated Use {@link SENTRY_TRANSACTION} (sentry.transaction) instead\n * @example \"GET /\"\n */\nexport const TRANSACTION = 'transaction';\n\n/**\n * Type for {@link TRANSACTION} transaction\n */\nexport type TRANSACTION_TYPE = string;\n\n// Path: model/attributes/type.json\n\n/**\n * More granular type of the operation happening. `type`\n *\n * Attribute Value Type: `string` {@link TYPE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"fetch\"\n */\nexport const TYPE = 'type';\n\n/**\n * Type for {@link TYPE} type\n */\nexport type TYPE_TYPE = string;\n\n// Path: model/attributes/ui/ui__component_name.json\n\n/**\n * The name of the associated component. `ui.component_name`\n *\n * Attribute Value Type: `string` {@link UI_COMPONENT_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"HomeButton\"\n */\nexport const UI_COMPONENT_NAME = 'ui.component_name';\n\n/**\n * Type for {@link UI_COMPONENT_NAME} ui.component_name\n */\nexport type UI_COMPONENT_NAME_TYPE = string;\n\n// Path: model/attributes/ui/ui__contributes_to_ttfd.json\n\n/**\n * Whether the span execution contributed to the TTFD (time to fully drawn) metric. `ui.contributes_to_ttfd`\n *\n * Attribute Value Type: `boolean` {@link UI_CONTRIBUTES_TO_TTFD_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const UI_CONTRIBUTES_TO_TTFD = 'ui.contributes_to_ttfd';\n\n/**\n * Type for {@link UI_CONTRIBUTES_TO_TTFD} ui.contributes_to_ttfd\n */\nexport type UI_CONTRIBUTES_TO_TTFD_TYPE = boolean;\n\n// Path: model/attributes/ui/ui__contributes_to_ttid.json\n\n/**\n * Whether the span execution contributed to the TTID (time to initial display) metric. `ui.contributes_to_ttid`\n *\n * Attribute Value Type: `boolean` {@link UI_CONTRIBUTES_TO_TTID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example true\n */\nexport const UI_CONTRIBUTES_TO_TTID = 'ui.contributes_to_ttid';\n\n/**\n * Type for {@link UI_CONTRIBUTES_TO_TTID} ui.contributes_to_ttid\n */\nexport type UI_CONTRIBUTES_TO_TTID_TYPE = boolean;\n\n// Path: model/attributes/url/url__domain.json\n\n/**\n * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. `url.domain`\n *\n * Attribute Value Type: `string` {@link URL_DOMAIN_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"example.com\"\n */\nexport const URL_DOMAIN = 'url.domain';\n\n/**\n * Type for {@link URL_DOMAIN} url.domain\n */\nexport type URL_DOMAIN_TYPE = string;\n\n// Path: model/attributes/url/url__fragment.json\n\n/**\n * The fragments present in the URI. Note that this does not contain the leading # character, while the `http.fragment` attribute does. `url.fragment`\n *\n * Attribute Value Type: `string` {@link URL_FRAGMENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"details\"\n */\nexport const URL_FRAGMENT = 'url.fragment';\n\n/**\n * Type for {@link URL_FRAGMENT} url.fragment\n */\nexport type URL_FRAGMENT_TYPE = string;\n\n// Path: model/attributes/url/url__full.json\n\n/**\n * The URL of the resource that was fetched. `url.full`\n *\n * Attribute Value Type: `string` {@link URL_FULL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_URL} `http.url`, {@link URL} `url`\n *\n * @example \"https://example.com/test?foo=bar#buzz\"\n */\nexport const URL_FULL = 'url.full';\n\n/**\n * Type for {@link URL_FULL} url.full\n */\nexport type URL_FULL_TYPE = string;\n\n// Path: model/attributes/url/url__path.json\n\n/**\n * The URI path component. `url.path`\n *\n * Attribute Value Type: `string` {@link URL_PATH_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"/foo\"\n */\nexport const URL_PATH = 'url.path';\n\n/**\n * Type for {@link URL_PATH} url.path\n */\nexport type URL_PATH_TYPE = string;\n\n// Path: model/attributes/url/url__path__parameter__[key].json\n\n/**\n * Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router. `url.path.parameter.<key>`\n *\n * Attribute Value Type: `string` {@link URL_PATH_PARAMETER_KEY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Has Dynamic Suffix: true\n *\n * Aliases: {@link PARAMS_KEY} `params.<key>`\n *\n * @example \"url.path.parameter.id='123'\"\n */\nexport const URL_PATH_PARAMETER_KEY = 'url.path.parameter.<key>';\n\n/**\n * Type for {@link URL_PATH_PARAMETER_KEY} url.path.parameter.<key>\n */\nexport type URL_PATH_PARAMETER_KEY_TYPE = string;\n\n// Path: model/attributes/url/url__port.json\n\n/**\n * Server port number. `url.port`\n *\n * Attribute Value Type: `number` {@link URL_PORT_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: Yes\n *\n * @example 1337\n */\nexport const URL_PORT = 'url.port';\n\n/**\n * Type for {@link URL_PORT} url.port\n */\nexport type URL_PORT_TYPE = number;\n\n// Path: model/attributes/url/url__query.json\n\n/**\n * The query string present in the URL. Note that this does not contain the leading ? character, while the `http.query` attribute does. `url.query`\n *\n * Attribute Value Type: `string` {@link URL_QUERY_TYPE}\n *\n * Contains PII: maybe - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"foo=bar&bar=baz\"\n */\nexport const URL_QUERY = 'url.query';\n\n/**\n * Type for {@link URL_QUERY} url.query\n */\nexport type URL_QUERY_TYPE = string;\n\n// Path: model/attributes/url/url__scheme.json\n\n/**\n * The URI scheme component identifying the used protocol. `url.scheme`\n *\n * Attribute Value Type: `string` {@link URL_SCHEME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_SCHEME} `http.scheme`\n *\n * @example \"https\"\n */\nexport const URL_SCHEME = 'url.scheme';\n\n/**\n * Type for {@link URL_SCHEME} url.scheme\n */\nexport type URL_SCHEME_TYPE = string;\n\n// Path: model/attributes/url/url__template.json\n\n/**\n * The low-cardinality template of an absolute path reference. `url.template`\n *\n * Attribute Value Type: `string` {@link URL_TEMPLATE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_ROUTE} `http.route`\n *\n * @example \"/users/:id\"\n */\nexport const URL_TEMPLATE = 'url.template';\n\n/**\n * Type for {@link URL_TEMPLATE} url.template\n */\nexport type URL_TEMPLATE_TYPE = string;\n\n// Path: model/attributes/url.json\n\n/**\n * The URL of the resource that was fetched. `url`\n *\n * Attribute Value Type: `string` {@link URL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * Aliases: {@link URL_FULL} `url.full`, {@link HTTP_URL} `http.url`\n *\n * @deprecated Use {@link URL_FULL} (url.full) instead\n * @example \"https://example.com/test?foo=bar#buzz\"\n */\nexport const URL = 'url';\n\n/**\n * Type for {@link URL} url\n */\nexport type URL_TYPE = string;\n\n// Path: model/attributes/user/user__email.json\n\n/**\n * User email address. `user.email`\n *\n * Attribute Value Type: `string` {@link USER_EMAIL_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"test@example.com\"\n */\nexport const USER_EMAIL = 'user.email';\n\n/**\n * Type for {@link USER_EMAIL} user.email\n */\nexport type USER_EMAIL_TYPE = string;\n\n// Path: model/attributes/user/user__full_name.json\n\n/**\n * User's full name. `user.full_name`\n *\n * Attribute Value Type: `string` {@link USER_FULL_NAME_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"John Smith\"\n */\nexport const USER_FULL_NAME = 'user.full_name';\n\n/**\n * Type for {@link USER_FULL_NAME} user.full_name\n */\nexport type USER_FULL_NAME_TYPE = string;\n\n// Path: model/attributes/user/user__geo__city.json\n\n/**\n * Human readable city name. `user.geo.city`\n *\n * Attribute Value Type: `string` {@link USER_GEO_CITY_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Toronto\"\n */\nexport const USER_GEO_CITY = 'user.geo.city';\n\n/**\n * Type for {@link USER_GEO_CITY} user.geo.city\n */\nexport type USER_GEO_CITY_TYPE = string;\n\n// Path: model/attributes/user/user__geo__country_code.json\n\n/**\n * Two-letter country code (ISO 3166-1 alpha-2). `user.geo.country_code`\n *\n * Attribute Value Type: `string` {@link USER_GEO_COUNTRY_CODE_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"CA\"\n */\nexport const USER_GEO_COUNTRY_CODE = 'user.geo.country_code';\n\n/**\n * Type for {@link USER_GEO_COUNTRY_CODE} user.geo.country_code\n */\nexport type USER_GEO_COUNTRY_CODE_TYPE = string;\n\n// Path: model/attributes/user/user__geo__region.json\n\n/**\n * Human readable region name or code. `user.geo.region`\n *\n * Attribute Value Type: `string` {@link USER_GEO_REGION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Canada\"\n */\nexport const USER_GEO_REGION = 'user.geo.region';\n\n/**\n * Type for {@link USER_GEO_REGION} user.geo.region\n */\nexport type USER_GEO_REGION_TYPE = string;\n\n// Path: model/attributes/user/user__geo__subdivision.json\n\n/**\n * Human readable subdivision name. `user.geo.subdivision`\n *\n * Attribute Value Type: `string` {@link USER_GEO_SUBDIVISION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"Ontario\"\n */\nexport const USER_GEO_SUBDIVISION = 'user.geo.subdivision';\n\n/**\n * Type for {@link USER_GEO_SUBDIVISION} user.geo.subdivision\n */\nexport type USER_GEO_SUBDIVISION_TYPE = string;\n\n// Path: model/attributes/user/user__hash.json\n\n/**\n * Unique user hash to correlate information for a user in anonymized form. `user.hash`\n *\n * Attribute Value Type: `string` {@link USER_HASH_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"8ae4c2993e0f4f3b8b2d1b1f3b5e8f4d\"\n */\nexport const USER_HASH = 'user.hash';\n\n/**\n * Type for {@link USER_HASH} user.hash\n */\nexport type USER_HASH_TYPE = string;\n\n// Path: model/attributes/user/user__id.json\n\n/**\n * Unique identifier of the user. `user.id`\n *\n * Attribute Value Type: `string` {@link USER_ID_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"S-1-5-21-202424912787-2692429404-2351956786-1000\"\n */\nexport const USER_ID = 'user.id';\n\n/**\n * Type for {@link USER_ID} user.id\n */\nexport type USER_ID_TYPE = string;\n\n// Path: model/attributes/user/user__ip_address.json\n\n/**\n * The IP address of the user. `user.ip_address`\n *\n * Attribute Value Type: `string` {@link USER_IP_ADDRESS_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"192.168.1.1\"\n */\nexport const USER_IP_ADDRESS = 'user.ip_address';\n\n/**\n * Type for {@link USER_IP_ADDRESS} user.ip_address\n */\nexport type USER_IP_ADDRESS_TYPE = string;\n\n// Path: model/attributes/user/user__name.json\n\n/**\n * Short name or login/username of the user. `user.name`\n *\n * Attribute Value Type: `string` {@link USER_NAME_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example \"j.smith\"\n */\nexport const USER_NAME = 'user.name';\n\n/**\n * Type for {@link USER_NAME} user.name\n */\nexport type USER_NAME_TYPE = string;\n\n// Path: model/attributes/user/user__roles.json\n\n/**\n * Array of user roles at the time of the event. `user.roles`\n *\n * Attribute Value Type: `Array<string>` {@link USER_ROLES_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: Yes\n *\n * @example [\"admin\",\"editor\"]\n */\nexport const USER_ROLES = 'user.roles';\n\n/**\n * Type for {@link USER_ROLES} user.roles\n */\nexport type USER_ROLES_TYPE = Array<string>;\n\n// Path: model/attributes/user_agent/user_agent__original.json\n\n/**\n * Value of the HTTP User-Agent header sent by the client. `user_agent.original`\n *\n * Attribute Value Type: `string` {@link USER_AGENT_ORIGINAL_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: Yes\n *\n * Aliases: {@link HTTP_USER_AGENT} `http.user_agent`\n *\n * @example \"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1\"\n */\nexport const USER_AGENT_ORIGINAL = 'user_agent.original';\n\n/**\n * Type for {@link USER_AGENT_ORIGINAL} user_agent.original\n */\nexport type USER_AGENT_ORIGINAL_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__branch.json\n\n/**\n * Git branch name for Vercel project `vercel.branch`\n *\n * Attribute Value Type: `string` {@link VERCEL_BRANCH_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"main\"\n */\nexport const VERCEL_BRANCH = 'vercel.branch';\n\n/**\n * Type for {@link VERCEL_BRANCH} vercel.branch\n */\nexport type VERCEL_BRANCH_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__build_id.json\n\n/**\n * Identifier for the Vercel build (only present on build logs) `vercel.build_id`\n *\n * Attribute Value Type: `string` {@link VERCEL_BUILD_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"bld_cotnkcr76\"\n */\nexport const VERCEL_BUILD_ID = 'vercel.build_id';\n\n/**\n * Type for {@link VERCEL_BUILD_ID} vercel.build_id\n */\nexport type VERCEL_BUILD_ID_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__deployment_id.json\n\n/**\n * Identifier for the Vercel deployment `vercel.deployment_id`\n *\n * Attribute Value Type: `string` {@link VERCEL_DEPLOYMENT_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"dpl_233NRGRjVZX1caZrXWtz5g1TAksD\"\n */\nexport const VERCEL_DEPLOYMENT_ID = 'vercel.deployment_id';\n\n/**\n * Type for {@link VERCEL_DEPLOYMENT_ID} vercel.deployment_id\n */\nexport type VERCEL_DEPLOYMENT_ID_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__destination.json\n\n/**\n * Origin of the external content in Vercel (only on external logs) `vercel.destination`\n *\n * Attribute Value Type: `string` {@link VERCEL_DESTINATION_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"https://vitals.vercel-insights.com/v1\"\n */\nexport const VERCEL_DESTINATION = 'vercel.destination';\n\n/**\n * Type for {@link VERCEL_DESTINATION} vercel.destination\n */\nexport type VERCEL_DESTINATION_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__edge_type.json\n\n/**\n * Type of edge runtime in Vercel `vercel.edge_type`\n *\n * Attribute Value Type: `string` {@link VERCEL_EDGE_TYPE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"edge-function\"\n */\nexport const VERCEL_EDGE_TYPE = 'vercel.edge_type';\n\n/**\n * Type for {@link VERCEL_EDGE_TYPE} vercel.edge_type\n */\nexport type VERCEL_EDGE_TYPE_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__entrypoint.json\n\n/**\n * Entrypoint for the request in Vercel `vercel.entrypoint`\n *\n * Attribute Value Type: `string` {@link VERCEL_ENTRYPOINT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"api/index.js\"\n */\nexport const VERCEL_ENTRYPOINT = 'vercel.entrypoint';\n\n/**\n * Type for {@link VERCEL_ENTRYPOINT} vercel.entrypoint\n */\nexport type VERCEL_ENTRYPOINT_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__execution_region.json\n\n/**\n * Region where the request is executed `vercel.execution_region`\n *\n * Attribute Value Type: `string` {@link VERCEL_EXECUTION_REGION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"sfo1\"\n */\nexport const VERCEL_EXECUTION_REGION = 'vercel.execution_region';\n\n/**\n * Type for {@link VERCEL_EXECUTION_REGION} vercel.execution_region\n */\nexport type VERCEL_EXECUTION_REGION_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__id.json\n\n/**\n * Unique identifier for the log entry in Vercel `vercel.id`\n *\n * Attribute Value Type: `string` {@link VERCEL_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"1573817187330377061717300000\"\n */\nexport const VERCEL_ID = 'vercel.id';\n\n/**\n * Type for {@link VERCEL_ID} vercel.id\n */\nexport type VERCEL_ID_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__ja3_digest.json\n\n/**\n * JA3 fingerprint digest of Vercel request `vercel.ja3_digest`\n *\n * Attribute Value Type: `string` {@link VERCEL_JA3_DIGEST_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"769,47-53-5-10-49161-49162-49171-49172-50-56-19-4,0-10-11,23-24-25,0\"\n */\nexport const VERCEL_JA3_DIGEST = 'vercel.ja3_digest';\n\n/**\n * Type for {@link VERCEL_JA3_DIGEST} vercel.ja3_digest\n */\nexport type VERCEL_JA3_DIGEST_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__ja4_digest.json\n\n/**\n * JA4 fingerprint digest `vercel.ja4_digest`\n *\n * Attribute Value Type: `string` {@link VERCEL_JA4_DIGEST_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"t13d1516h2_8daaf6152771_02713d6af862\"\n */\nexport const VERCEL_JA4_DIGEST = 'vercel.ja4_digest';\n\n/**\n * Type for {@link VERCEL_JA4_DIGEST} vercel.ja4_digest\n */\nexport type VERCEL_JA4_DIGEST_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__log_type.json\n\n/**\n * Vercel log output type `vercel.log_type`\n *\n * Attribute Value Type: `string` {@link VERCEL_LOG_TYPE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"stdout\"\n */\nexport const VERCEL_LOG_TYPE = 'vercel.log_type';\n\n/**\n * Type for {@link VERCEL_LOG_TYPE} vercel.log_type\n */\nexport type VERCEL_LOG_TYPE_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__project_id.json\n\n/**\n * Identifier for the Vercel project `vercel.project_id`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROJECT_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"gdufoJxB6b9b1fEqr1jUtFkyavUU\"\n */\nexport const VERCEL_PROJECT_ID = 'vercel.project_id';\n\n/**\n * Type for {@link VERCEL_PROJECT_ID} vercel.project_id\n */\nexport type VERCEL_PROJECT_ID_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__project_name.json\n\n/**\n * Name of the Vercel project `vercel.project_name`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROJECT_NAME_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"my-app\"\n */\nexport const VERCEL_PROJECT_NAME = 'vercel.project_name';\n\n/**\n * Type for {@link VERCEL_PROJECT_NAME} vercel.project_name\n */\nexport type VERCEL_PROJECT_NAME_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__cache_id.json\n\n/**\n * Original request ID when request is served from cache `vercel.proxy.cache_id`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_CACHE_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"pdx1::v8g4b-1744143786684-93dafbc0f70d\"\n */\nexport const VERCEL_PROXY_CACHE_ID = 'vercel.proxy.cache_id';\n\n/**\n * Type for {@link VERCEL_PROXY_CACHE_ID} vercel.proxy.cache_id\n */\nexport type VERCEL_PROXY_CACHE_ID_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__client_ip.json\n\n/**\n * Client IP address `vercel.proxy.client_ip`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_CLIENT_IP_TYPE}\n *\n * Contains PII: true\n *\n * Attribute defined in OTEL: No\n *\n * @example \"120.75.16.101\"\n */\nexport const VERCEL_PROXY_CLIENT_IP = 'vercel.proxy.client_ip';\n\n/**\n * Type for {@link VERCEL_PROXY_CLIENT_IP} vercel.proxy.client_ip\n */\nexport type VERCEL_PROXY_CLIENT_IP_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__host.json\n\n/**\n * Hostname of the request `vercel.proxy.host`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_HOST_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"test.vercel.app\"\n */\nexport const VERCEL_PROXY_HOST = 'vercel.proxy.host';\n\n/**\n * Type for {@link VERCEL_PROXY_HOST} vercel.proxy.host\n */\nexport type VERCEL_PROXY_HOST_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__lambda_region.json\n\n/**\n * Region where lambda function executed `vercel.proxy.lambda_region`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_LAMBDA_REGION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"sfo1\"\n */\nexport const VERCEL_PROXY_LAMBDA_REGION = 'vercel.proxy.lambda_region';\n\n/**\n * Type for {@link VERCEL_PROXY_LAMBDA_REGION} vercel.proxy.lambda_region\n */\nexport type VERCEL_PROXY_LAMBDA_REGION_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__method.json\n\n/**\n * HTTP method of the request `vercel.proxy.method`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_METHOD_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"GET\"\n */\nexport const VERCEL_PROXY_METHOD = 'vercel.proxy.method';\n\n/**\n * Type for {@link VERCEL_PROXY_METHOD} vercel.proxy.method\n */\nexport type VERCEL_PROXY_METHOD_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__path.json\n\n/**\n * Request path with query parameters `vercel.proxy.path`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_PATH_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"/dynamic/some-value.json?route=some-value\"\n */\nexport const VERCEL_PROXY_PATH = 'vercel.proxy.path';\n\n/**\n * Type for {@link VERCEL_PROXY_PATH} vercel.proxy.path\n */\nexport type VERCEL_PROXY_PATH_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__path_type.json\n\n/**\n * How the request was served based on its path and project configuration `vercel.proxy.path_type`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_PATH_TYPE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"func\"\n */\nexport const VERCEL_PROXY_PATH_TYPE = 'vercel.proxy.path_type';\n\n/**\n * Type for {@link VERCEL_PROXY_PATH_TYPE} vercel.proxy.path_type\n */\nexport type VERCEL_PROXY_PATH_TYPE_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__path_type_variant.json\n\n/**\n * Variant of the path type `vercel.proxy.path_type_variant`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_PATH_TYPE_VARIANT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"api\"\n */\nexport const VERCEL_PROXY_PATH_TYPE_VARIANT = 'vercel.proxy.path_type_variant';\n\n/**\n * Type for {@link VERCEL_PROXY_PATH_TYPE_VARIANT} vercel.proxy.path_type_variant\n */\nexport type VERCEL_PROXY_PATH_TYPE_VARIANT_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__referer.json\n\n/**\n * Referer of the request `vercel.proxy.referer`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_REFERER_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example \"*.vercel.app\"\n */\nexport const VERCEL_PROXY_REFERER = 'vercel.proxy.referer';\n\n/**\n * Type for {@link VERCEL_PROXY_REFERER} vercel.proxy.referer\n */\nexport type VERCEL_PROXY_REFERER_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__region.json\n\n/**\n * Region where the request is processed `vercel.proxy.region`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_REGION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"sfo1\"\n */\nexport const VERCEL_PROXY_REGION = 'vercel.proxy.region';\n\n/**\n * Type for {@link VERCEL_PROXY_REGION} vercel.proxy.region\n */\nexport type VERCEL_PROXY_REGION_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__response_byte_size.json\n\n/**\n * Size of the response in bytes `vercel.proxy.response_byte_size`\n *\n * Attribute Value Type: `number` {@link VERCEL_PROXY_RESPONSE_BYTE_SIZE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1024\n */\nexport const VERCEL_PROXY_RESPONSE_BYTE_SIZE = 'vercel.proxy.response_byte_size';\n\n/**\n * Type for {@link VERCEL_PROXY_RESPONSE_BYTE_SIZE} vercel.proxy.response_byte_size\n */\nexport type VERCEL_PROXY_RESPONSE_BYTE_SIZE_TYPE = number;\n\n// Path: model/attributes/vercel/vercel__proxy__scheme.json\n\n/**\n * Protocol of the request `vercel.proxy.scheme`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_SCHEME_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"https\"\n */\nexport const VERCEL_PROXY_SCHEME = 'vercel.proxy.scheme';\n\n/**\n * Type for {@link VERCEL_PROXY_SCHEME} vercel.proxy.scheme\n */\nexport type VERCEL_PROXY_SCHEME_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__status_code.json\n\n/**\n * HTTP status code of the proxy request `vercel.proxy.status_code`\n *\n * Attribute Value Type: `number` {@link VERCEL_PROXY_STATUS_CODE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 200\n */\nexport const VERCEL_PROXY_STATUS_CODE = 'vercel.proxy.status_code';\n\n/**\n * Type for {@link VERCEL_PROXY_STATUS_CODE} vercel.proxy.status_code\n */\nexport type VERCEL_PROXY_STATUS_CODE_TYPE = number;\n\n// Path: model/attributes/vercel/vercel__proxy__timestamp.json\n\n/**\n * Unix timestamp when the proxy request was made `vercel.proxy.timestamp`\n *\n * Attribute Value Type: `number` {@link VERCEL_PROXY_TIMESTAMP_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 1573817250172\n */\nexport const VERCEL_PROXY_TIMESTAMP = 'vercel.proxy.timestamp';\n\n/**\n * Type for {@link VERCEL_PROXY_TIMESTAMP} vercel.proxy.timestamp\n */\nexport type VERCEL_PROXY_TIMESTAMP_TYPE = number;\n\n// Path: model/attributes/vercel/vercel__proxy__user_agent.json\n\n/**\n * User agent strings of the request `vercel.proxy.user_agent`\n *\n * Attribute Value Type: `Array<string>` {@link VERCEL_PROXY_USER_AGENT_TYPE}\n *\n * Contains PII: maybe\n *\n * Attribute defined in OTEL: No\n *\n * @example [\"Mozilla/5.0...\"]\n */\nexport const VERCEL_PROXY_USER_AGENT = 'vercel.proxy.user_agent';\n\n/**\n * Type for {@link VERCEL_PROXY_USER_AGENT} vercel.proxy.user_agent\n */\nexport type VERCEL_PROXY_USER_AGENT_TYPE = Array<string>;\n\n// Path: model/attributes/vercel/vercel__proxy__vercel_cache.json\n\n/**\n * Cache status sent to the browser `vercel.proxy.vercel_cache`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_VERCEL_CACHE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"REVALIDATED\"\n */\nexport const VERCEL_PROXY_VERCEL_CACHE = 'vercel.proxy.vercel_cache';\n\n/**\n * Type for {@link VERCEL_PROXY_VERCEL_CACHE} vercel.proxy.vercel_cache\n */\nexport type VERCEL_PROXY_VERCEL_CACHE_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__vercel_id.json\n\n/**\n * Vercel-specific identifier `vercel.proxy.vercel_id`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_VERCEL_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"sfo1::abc123\"\n */\nexport const VERCEL_PROXY_VERCEL_ID = 'vercel.proxy.vercel_id';\n\n/**\n * Type for {@link VERCEL_PROXY_VERCEL_ID} vercel.proxy.vercel_id\n */\nexport type VERCEL_PROXY_VERCEL_ID_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__waf_action.json\n\n/**\n * Action taken by firewall rules `vercel.proxy.waf_action`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_WAF_ACTION_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"deny\"\n */\nexport const VERCEL_PROXY_WAF_ACTION = 'vercel.proxy.waf_action';\n\n/**\n * Type for {@link VERCEL_PROXY_WAF_ACTION} vercel.proxy.waf_action\n */\nexport type VERCEL_PROXY_WAF_ACTION_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__proxy__waf_rule_id.json\n\n/**\n * ID of the firewall rule that matched `vercel.proxy.waf_rule_id`\n *\n * Attribute Value Type: `string` {@link VERCEL_PROXY_WAF_RULE_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"rule_gAHz8jtSB1Gy\"\n */\nexport const VERCEL_PROXY_WAF_RULE_ID = 'vercel.proxy.waf_rule_id';\n\n/**\n * Type for {@link VERCEL_PROXY_WAF_RULE_ID} vercel.proxy.waf_rule_id\n */\nexport type VERCEL_PROXY_WAF_RULE_ID_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__request_id.json\n\n/**\n * Identifier of the Vercel request `vercel.request_id`\n *\n * Attribute Value Type: `string` {@link VERCEL_REQUEST_ID_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"643af4e3-975a-4cc7-9e7a-1eda11539d90\"\n */\nexport const VERCEL_REQUEST_ID = 'vercel.request_id';\n\n/**\n * Type for {@link VERCEL_REQUEST_ID} vercel.request_id\n */\nexport type VERCEL_REQUEST_ID_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__source.json\n\n/**\n * Origin of the Vercel log (build, edge, lambda, static, external, or firewall) `vercel.source`\n *\n * Attribute Value Type: `string` {@link VERCEL_SOURCE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example \"build\"\n */\nexport const VERCEL_SOURCE = 'vercel.source';\n\n/**\n * Type for {@link VERCEL_SOURCE} vercel.source\n */\nexport type VERCEL_SOURCE_TYPE = string;\n\n// Path: model/attributes/vercel/vercel__status_code.json\n\n/**\n * HTTP status code of the request (-1 means no response returned and the lambda crashed) `vercel.status_code`\n *\n * Attribute Value Type: `number` {@link VERCEL_STATUS_CODE_TYPE}\n *\n * Contains PII: false\n *\n * Attribute defined in OTEL: No\n *\n * @example 200\n */\nexport const VERCEL_STATUS_CODE = 'vercel.status_code';\n\n/**\n * Type for {@link VERCEL_STATUS_CODE} vercel.status_code\n */\nexport type VERCEL_STATUS_CODE_TYPE = number;\n\nexport type AttributeType =\n | 'string'\n | 'boolean'\n | 'integer'\n | 'double'\n | 'string[]'\n | 'boolean[]'\n | 'integer[]'\n | 'double[]';\n\nexport type IsPii = 'true' | 'false' | 'maybe';\n\nexport interface PiiInfo {\n /** Whether the attribute contains PII */\n isPii: IsPii;\n /** Reason why it has PII or not */\n reason?: string;\n}\n\nexport interface DeprecationInfo {\n /** What this attribute was replaced with */\n replacement?: string;\n /** Reason for deprecation */\n reason?: string;\n}\n\nexport interface AttributeMetadata {\n /** A description of the attribute */\n brief: string;\n /** The type of the attribute value */\n type: AttributeType;\n /** If an attribute can have PII */\n pii: PiiInfo;\n /** Whether the attribute is defined in OpenTelemetry Semantic Conventions */\n isInOtel: boolean;\n /** If an attribute has a dynamic suffix */\n hasDynamicSuffix?: boolean;\n /** An example value of the attribute */\n example?: AttributeValue;\n /** If an attribute was deprecated, and what it was replaced with */\n deprecation?: DeprecationInfo;\n /** If there are attributes that alias to this attribute */\n aliases?: AttributeName[];\n /** If an attribute is SDK specific, list the SDKs that use this attribute */\n sdks?: string[];\n}\n\nexport const ATTRIBUTE_TYPE: Record<string, AttributeType> = {\n [AI_CITATIONS]: 'string[]',\n [AI_COMPLETION_TOKENS_USED]: 'integer',\n [AI_DOCUMENTS]: 'string[]',\n [AI_FINISH_REASON]: 'string',\n [AI_FREQUENCY_PENALTY]: 'double',\n [AI_FUNCTION_CALL]: 'string',\n [AI_GENERATION_ID]: 'string',\n [AI_INPUT_MESSAGES]: 'string',\n [AI_IS_SEARCH_REQUIRED]: 'boolean',\n [AI_METADATA]: 'string',\n [AI_MODEL_PROVIDER]: 'string',\n [AI_MODEL_ID]: 'string',\n [AI_PIPELINE_NAME]: 'string',\n [AI_PREAMBLE]: 'string',\n [AI_PRESENCE_PENALTY]: 'double',\n [AI_PROMPT_TOKENS_USED]: 'integer',\n [AI_RAW_PROMPTING]: 'boolean',\n [AI_RESPONSE_FORMAT]: 'string',\n [AI_RESPONSES]: 'string[]',\n [AI_SEARCH_QUERIES]: 'string[]',\n [AI_SEARCH_RESULTS]: 'string[]',\n [AI_SEED]: 'string',\n [AI_STREAMING]: 'boolean',\n [AI_TAGS]: 'string',\n [AI_TEMPERATURE]: 'double',\n [AI_TEXTS]: 'string[]',\n [AI_TOOL_CALLS]: 'string[]',\n [AI_TOOLS]: 'string[]',\n [AI_TOP_K]: 'integer',\n [AI_TOP_P]: 'double',\n [AI_TOTAL_COST]: 'double',\n [AI_TOTAL_TOKENS_USED]: 'integer',\n [AI_WARNINGS]: 'string[]',\n [APP_START_TYPE]: 'string',\n [BLOCKED_MAIN_THREAD]: 'boolean',\n [BROWSER_NAME]: 'string',\n [BROWSER_REPORT_TYPE]: 'string',\n [BROWSER_SCRIPT_INVOKER]: 'string',\n [BROWSER_SCRIPT_INVOKER_TYPE]: 'string',\n [BROWSER_SCRIPT_SOURCE_CHAR_POSITION]: 'integer',\n [BROWSER_VERSION]: 'string',\n [CACHE_HIT]: 'boolean',\n [CACHE_ITEM_SIZE]: 'integer',\n [CACHE_KEY]: 'string[]',\n [CACHE_OPERATION]: 'string',\n [CACHE_TTL]: 'integer',\n [CHANNEL]: 'string',\n [CLIENT_ADDRESS]: 'string',\n [CLIENT_PORT]: 'integer',\n [CLOUDFLARE_D1_DURATION]: 'integer',\n [CLOUDFLARE_D1_ROWS_READ]: 'integer',\n [CLOUDFLARE_D1_ROWS_WRITTEN]: 'integer',\n [CODE_FILE_PATH]: 'string',\n [CODE_FILEPATH]: 'string',\n [CODE_FUNCTION]: 'string',\n [CODE_FUNCTION_NAME]: 'string',\n [CODE_LINE_NUMBER]: 'integer',\n [CODE_LINENO]: 'integer',\n [CODE_NAMESPACE]: 'string',\n [DB_COLLECTION_NAME]: 'string',\n [DB_NAME]: 'string',\n [DB_NAMESPACE]: 'string',\n [DB_OPERATION]: 'string',\n [DB_OPERATION_NAME]: 'string',\n [DB_QUERY_PARAMETER_KEY]: 'string',\n [DB_QUERY_SUMMARY]: 'string',\n [DB_QUERY_TEXT]: 'string',\n [DB_REDIS_CONNECTION]: 'string',\n [DB_REDIS_PARAMETERS]: 'string[]',\n [DB_SQL_BINDINGS]: 'string[]',\n [DB_STATEMENT]: 'string',\n [DB_SYSTEM]: 'string',\n [DB_SYSTEM_NAME]: 'string',\n [DB_USER]: 'string',\n [DEVICE_BRAND]: 'string',\n [DEVICE_FAMILY]: 'string',\n [DEVICE_MODEL]: 'string',\n [ENVIRONMENT]: 'string',\n [ERROR_TYPE]: 'string',\n [EVENT_ID]: 'integer',\n [EVENT_NAME]: 'string',\n [EXCEPTION_ESCAPED]: 'boolean',\n [EXCEPTION_MESSAGE]: 'string',\n [EXCEPTION_STACKTRACE]: 'string',\n [EXCEPTION_TYPE]: 'string',\n [FAAS_COLDSTART]: 'boolean',\n [FAAS_CRON]: 'string',\n [FAAS_TIME]: 'string',\n [FAAS_TRIGGER]: 'string',\n [FLAG_EVALUATION_KEY]: 'boolean',\n [FRAMES_DELAY]: 'integer',\n [FRAMES_FROZEN]: 'integer',\n [FRAMES_SLOW]: 'integer',\n [FRAMES_TOTAL]: 'integer',\n [FS_ERROR]: 'string',\n [GEN_AI_AGENT_NAME]: 'string',\n [GEN_AI_ASSISTANT_MESSAGE]: 'string',\n [GEN_AI_CHOICE]: 'string',\n [GEN_AI_COST_INPUT_TOKENS]: 'double',\n [GEN_AI_COST_OUTPUT_TOKENS]: 'double',\n [GEN_AI_COST_TOTAL_TOKENS]: 'double',\n [GEN_AI_OPERATION_NAME]: 'string',\n [GEN_AI_OPERATION_TYPE]: 'string',\n [GEN_AI_PIPELINE_NAME]: 'string',\n [GEN_AI_PROMPT]: 'string',\n [GEN_AI_REQUEST_AVAILABLE_TOOLS]: 'string',\n [GEN_AI_REQUEST_FREQUENCY_PENALTY]: 'double',\n [GEN_AI_REQUEST_MAX_TOKENS]: 'integer',\n [GEN_AI_REQUEST_MESSAGES]: 'string',\n [GEN_AI_REQUEST_MODEL]: 'string',\n [GEN_AI_REQUEST_PRESENCE_PENALTY]: 'double',\n [GEN_AI_REQUEST_SEED]: 'string',\n [GEN_AI_REQUEST_TEMPERATURE]: 'double',\n [GEN_AI_REQUEST_TOP_K]: 'integer',\n [GEN_AI_REQUEST_TOP_P]: 'double',\n [GEN_AI_RESPONSE_FINISH_REASONS]: 'string',\n [GEN_AI_RESPONSE_ID]: 'string',\n [GEN_AI_RESPONSE_MODEL]: 'string',\n [GEN_AI_RESPONSE_STREAMING]: 'boolean',\n [GEN_AI_RESPONSE_TEXT]: 'string',\n [GEN_AI_RESPONSE_TOKENS_PER_SECOND]: 'double',\n [GEN_AI_RESPONSE_TOOL_CALLS]: 'string',\n [GEN_AI_SYSTEM]: 'string',\n [GEN_AI_SYSTEM_MESSAGE]: 'string',\n [GEN_AI_TOOL_DESCRIPTION]: 'string',\n [GEN_AI_TOOL_INPUT]: 'string',\n [GEN_AI_TOOL_MESSAGE]: 'string',\n [GEN_AI_TOOL_NAME]: 'string',\n [GEN_AI_TOOL_OUTPUT]: 'string',\n [GEN_AI_TOOL_TYPE]: 'string',\n [GEN_AI_USAGE_COMPLETION_TOKENS]: 'integer',\n [GEN_AI_USAGE_INPUT_TOKENS]: 'integer',\n [GEN_AI_USAGE_INPUT_TOKENS_CACHED]: 'integer',\n [GEN_AI_USAGE_OUTPUT_TOKENS]: 'integer',\n [GEN_AI_USAGE_OUTPUT_TOKENS_REASONING]: 'integer',\n [GEN_AI_USAGE_PROMPT_TOKENS]: 'integer',\n [GEN_AI_USAGE_TOTAL_COST]: 'double',\n [GEN_AI_USAGE_TOTAL_TOKENS]: 'integer',\n [GEN_AI_USER_MESSAGE]: 'string',\n [GRAPHQL_OPERATION_NAME]: 'string',\n [GRAPHQL_OPERATION_TYPE]: 'string',\n [HTTP_CLIENT_IP]: 'string',\n [HTTP_DECODED_RESPONSE_CONTENT_LENGTH]: 'integer',\n [HTTP_FLAVOR]: 'string',\n [HTTP_FRAGMENT]: 'string',\n [HTTP_HOST]: 'string',\n [HTTP_METHOD]: 'string',\n [HTTP_QUERY]: 'string',\n [HTTP_REQUEST_CONNECT_START]: 'double',\n [HTTP_REQUEST_CONNECTION_END]: 'double',\n [HTTP_REQUEST_DOMAIN_LOOKUP_END]: 'double',\n [HTTP_REQUEST_DOMAIN_LOOKUP_START]: 'double',\n [HTTP_REQUEST_FETCH_START]: 'double',\n [HTTP_REQUEST_HEADER_KEY]: 'string[]',\n [HTTP_REQUEST_METHOD]: 'string',\n [HTTP_REQUEST_REDIRECT_END]: 'double',\n [HTTP_REQUEST_REDIRECT_START]: 'double',\n [HTTP_REQUEST_REQUEST_START]: 'double',\n [HTTP_REQUEST_RESEND_COUNT]: 'integer',\n [HTTP_REQUEST_RESPONSE_END]: 'double',\n [HTTP_REQUEST_RESPONSE_START]: 'double',\n [HTTP_REQUEST_SECURE_CONNECTION_START]: 'double',\n [HTTP_REQUEST_TIME_TO_FIRST_BYTE]: 'double',\n [HTTP_REQUEST_WORKER_START]: 'double',\n [HTTP_RESPONSE_BODY_SIZE]: 'integer',\n [HTTP_RESPONSE_HEADER_KEY]: 'string[]',\n [HTTP_RESPONSE_HEADER_CONTENT_LENGTH]: 'string',\n [HTTP_RESPONSE_SIZE]: 'integer',\n [HTTP_RESPONSE_STATUS_CODE]: 'integer',\n [HTTP_RESPONSE_CONTENT_LENGTH]: 'integer',\n [HTTP_RESPONSE_TRANSFER_SIZE]: 'integer',\n [HTTP_ROUTE]: 'string',\n [HTTP_SCHEME]: 'string',\n [HTTP_SERVER_NAME]: 'string',\n [HTTP_STATUS_CODE]: 'integer',\n [HTTP_TARGET]: 'string',\n [HTTP_URL]: 'string',\n [HTTP_USER_AGENT]: 'string',\n [ID]: 'string',\n [JVM_GC_ACTION]: 'string',\n [JVM_GC_NAME]: 'string',\n [JVM_MEMORY_POOL_NAME]: 'string',\n [JVM_MEMORY_TYPE]: 'string',\n [JVM_THREAD_DAEMON]: 'boolean',\n [JVM_THREAD_STATE]: 'string',\n [LCP_ELEMENT]: 'string',\n [LCP_ID]: 'string',\n [LCP_SIZE]: 'integer',\n [LCP_URL]: 'string',\n [LOGGER_NAME]: 'string',\n [MCP_PROMPT_RESULT]: 'string',\n [MCP_TOOL_RESULT_CONTENT]: 'string',\n [MDC_KEY]: 'string',\n [MESSAGING_DESTINATION_CONNECTION]: 'string',\n [MESSAGING_DESTINATION_NAME]: 'string',\n [MESSAGING_MESSAGE_BODY_SIZE]: 'integer',\n [MESSAGING_MESSAGE_ENVELOPE_SIZE]: 'integer',\n [MESSAGING_MESSAGE_ID]: 'string',\n [MESSAGING_MESSAGE_RECEIVE_LATENCY]: 'integer',\n [MESSAGING_MESSAGE_RETRY_COUNT]: 'integer',\n [MESSAGING_OPERATION_TYPE]: 'string',\n [MESSAGING_SYSTEM]: 'string',\n [METHOD]: 'string',\n [NAVIGATION_TYPE]: 'string',\n [NEL_ELAPSED_TIME]: 'integer',\n [NEL_PHASE]: 'string',\n [NEL_REFERRER]: 'string',\n [NEL_SAMPLING_FUNCTION]: 'double',\n [NEL_TYPE]: 'string',\n [NET_HOST_IP]: 'string',\n [NET_HOST_NAME]: 'string',\n [NET_HOST_PORT]: 'integer',\n [NET_PEER_IP]: 'string',\n [NET_PEER_NAME]: 'string',\n [NET_PEER_PORT]: 'integer',\n [NET_PROTOCOL_NAME]: 'string',\n [NET_PROTOCOL_VERSION]: 'string',\n [NET_SOCK_FAMILY]: 'string',\n [NET_SOCK_HOST_ADDR]: 'string',\n [NET_SOCK_HOST_PORT]: 'integer',\n [NET_SOCK_PEER_ADDR]: 'string',\n [NET_SOCK_PEER_NAME]: 'string',\n [NET_SOCK_PEER_PORT]: 'integer',\n [NET_TRANSPORT]: 'string',\n [NETWORK_LOCAL_ADDRESS]: 'string',\n [NETWORK_LOCAL_PORT]: 'integer',\n [NETWORK_PEER_ADDRESS]: 'string',\n [NETWORK_PEER_PORT]: 'integer',\n [NETWORK_PROTOCOL_NAME]: 'string',\n [NETWORK_PROTOCOL_VERSION]: 'string',\n [NETWORK_TRANSPORT]: 'string',\n [NETWORK_TYPE]: 'string',\n [OS_BUILD_ID]: 'string',\n [OS_DESCRIPTION]: 'string',\n [OS_NAME]: 'string',\n [OS_TYPE]: 'string',\n [OS_VERSION]: 'string',\n [OTEL_SCOPE_NAME]: 'string',\n [OTEL_SCOPE_VERSION]: 'string',\n [OTEL_STATUS_CODE]: 'string',\n [OTEL_STATUS_DESCRIPTION]: 'string',\n [PARAMS_KEY]: 'string',\n [PREVIOUS_ROUTE]: 'string',\n [PROCESS_EXECUTABLE_NAME]: 'string',\n [PROCESS_PID]: 'integer',\n [PROCESS_RUNTIME_DESCRIPTION]: 'string',\n [PROCESS_RUNTIME_NAME]: 'string',\n [PROCESS_RUNTIME_VERSION]: 'string',\n [PROFILE_ID]: 'string',\n [QUERY_KEY]: 'string',\n [RELEASE]: 'string',\n [REMIX_ACTION_FORM_DATA_KEY]: 'string',\n [REPLAY_ID]: 'string',\n [RESOURCE_RENDER_BLOCKING_STATUS]: 'string',\n [ROUTE]: 'string',\n [RPC_GRPC_STATUS_CODE]: 'integer',\n [RPC_SERVICE]: 'string',\n [SENTRY_INTERNAL_DSC_ENVIRONMENT]: 'string',\n [SENTRY_INTERNAL_DSC_ORG_ID]: 'string',\n [SENTRY_INTERNAL_DSC_PUBLIC_KEY]: 'string',\n [SENTRY_INTERNAL_DSC_RELEASE]: 'string',\n [SENTRY_INTERNAL_DSC_SAMPLE_RAND]: 'string',\n [SENTRY_INTERNAL_DSC_SAMPLE_RATE]: 'string',\n [SENTRY_INTERNAL_DSC_SAMPLED]: 'boolean',\n [SENTRY_INTERNAL_DSC_TRACE_ID]: 'string',\n [SENTRY_INTERNAL_DSC_TRANSACTION]: 'string',\n [SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS]: 'string',\n [SENTRY_INTERNAL_REPLAY_IS_BUFFERING]: 'boolean',\n [SENTRY_BROWSER_NAME]: 'string',\n [SENTRY_BROWSER_VERSION]: 'string',\n [SENTRY_CANCELLATION_REASON]: 'string',\n [SENTRY_CLIENT_SAMPLE_RATE]: 'double',\n [SENTRY_DESCRIPTION]: 'string',\n [SENTRY_DIST]: 'string',\n [SENTRY_ENVIRONMENT]: 'string',\n [SENTRY_EXCLUSIVE_TIME]: 'integer',\n [SENTRY_HTTP_PREFETCH]: 'boolean',\n [SENTRY_IDLE_SPAN_FINISH_REASON]: 'string',\n [SENTRY_MESSAGE_PARAMETER_KEY]: 'string',\n [SENTRY_MESSAGE_TEMPLATE]: 'string',\n [SENTRY_MODULE_KEY]: 'string',\n [SENTRY_NEXTJS_SSR_FUNCTION_ROUTE]: 'string',\n [SENTRY_NEXTJS_SSR_FUNCTION_TYPE]: 'string',\n [SENTRY_OBSERVED_TIMESTAMP_NANOS]: 'string',\n [SENTRY_OP]: 'string',\n [SENTRY_ORIGIN]: 'string',\n [SENTRY_PLATFORM]: 'string',\n [SENTRY_PROFILE_ID]: 'string',\n [SENTRY_RELEASE]: 'string',\n [SENTRY_REPLAY_ID]: 'string',\n [SENTRY_SDK_INTEGRATIONS]: 'string[]',\n [SENTRY_SDK_NAME]: 'string',\n [SENTRY_SDK_VERSION]: 'string',\n [SENTRY_SEGMENT_ID]: 'string',\n [SENTRY_SEGMENT_NAME]: 'string',\n [_SENTRY_SEGMENT_ID]: 'string',\n [SENTRY_SERVER_SAMPLE_RATE]: 'double',\n [SENTRY_SPAN_SOURCE]: 'string',\n [SENTRY_TRACE_PARENT_SPAN_ID]: 'string',\n [SENTRY_TRANSACTION]: 'string',\n [SERVER_ADDRESS]: 'string',\n [SERVER_PORT]: 'integer',\n [SERVICE_NAME]: 'string',\n [SERVICE_VERSION]: 'string',\n [THREAD_ID]: 'integer',\n [THREAD_NAME]: 'string',\n [TRANSACTION]: 'string',\n [TYPE]: 'string',\n [UI_COMPONENT_NAME]: 'string',\n [UI_CONTRIBUTES_TO_TTFD]: 'boolean',\n [UI_CONTRIBUTES_TO_TTID]: 'boolean',\n [URL_DOMAIN]: 'string',\n [URL_FRAGMENT]: 'string',\n [URL_FULL]: 'string',\n [URL_PATH]: 'string',\n [URL_PATH_PARAMETER_KEY]: 'string',\n [URL_PORT]: 'integer',\n [URL_QUERY]: 'string',\n [URL_SCHEME]: 'string',\n [URL_TEMPLATE]: 'string',\n [URL]: 'string',\n [USER_EMAIL]: 'string',\n [USER_FULL_NAME]: 'string',\n [USER_GEO_CITY]: 'string',\n [USER_GEO_COUNTRY_CODE]: 'string',\n [USER_GEO_REGION]: 'string',\n [USER_GEO_SUBDIVISION]: 'string',\n [USER_HASH]: 'string',\n [USER_ID]: 'string',\n [USER_IP_ADDRESS]: 'string',\n [USER_NAME]: 'string',\n [USER_ROLES]: 'string[]',\n [USER_AGENT_ORIGINAL]: 'string',\n [VERCEL_BRANCH]: 'string',\n [VERCEL_BUILD_ID]: 'string',\n [VERCEL_DEPLOYMENT_ID]: 'string',\n [VERCEL_DESTINATION]: 'string',\n [VERCEL_EDGE_TYPE]: 'string',\n [VERCEL_ENTRYPOINT]: 'string',\n [VERCEL_EXECUTION_REGION]: 'string',\n [VERCEL_ID]: 'string',\n [VERCEL_JA3_DIGEST]: 'string',\n [VERCEL_JA4_DIGEST]: 'string',\n [VERCEL_LOG_TYPE]: 'string',\n [VERCEL_PROJECT_ID]: 'string',\n [VERCEL_PROJECT_NAME]: 'string',\n [VERCEL_PROXY_CACHE_ID]: 'string',\n [VERCEL_PROXY_CLIENT_IP]: 'string',\n [VERCEL_PROXY_HOST]: 'string',\n [VERCEL_PROXY_LAMBDA_REGION]: 'string',\n [VERCEL_PROXY_METHOD]: 'string',\n [VERCEL_PROXY_PATH]: 'string',\n [VERCEL_PROXY_PATH_TYPE]: 'string',\n [VERCEL_PROXY_PATH_TYPE_VARIANT]: 'string',\n [VERCEL_PROXY_REFERER]: 'string',\n [VERCEL_PROXY_REGION]: 'string',\n [VERCEL_PROXY_RESPONSE_BYTE_SIZE]: 'integer',\n [VERCEL_PROXY_SCHEME]: 'string',\n [VERCEL_PROXY_STATUS_CODE]: 'integer',\n [VERCEL_PROXY_TIMESTAMP]: 'integer',\n [VERCEL_PROXY_USER_AGENT]: 'string[]',\n [VERCEL_PROXY_VERCEL_CACHE]: 'string',\n [VERCEL_PROXY_VERCEL_ID]: 'string',\n [VERCEL_PROXY_WAF_ACTION]: 'string',\n [VERCEL_PROXY_WAF_RULE_ID]: 'string',\n [VERCEL_REQUEST_ID]: 'string',\n [VERCEL_SOURCE]: 'string',\n [VERCEL_STATUS_CODE]: 'integer',\n};\n\nexport type AttributeName =\n | typeof AI_CITATIONS\n | typeof AI_COMPLETION_TOKENS_USED\n | typeof AI_DOCUMENTS\n | typeof AI_FINISH_REASON\n | typeof AI_FREQUENCY_PENALTY\n | typeof AI_FUNCTION_CALL\n | typeof AI_GENERATION_ID\n | typeof AI_INPUT_MESSAGES\n | typeof AI_IS_SEARCH_REQUIRED\n | typeof AI_METADATA\n | typeof AI_MODEL_PROVIDER\n | typeof AI_MODEL_ID\n | typeof AI_PIPELINE_NAME\n | typeof AI_PREAMBLE\n | typeof AI_PRESENCE_PENALTY\n | typeof AI_PROMPT_TOKENS_USED\n | typeof AI_RAW_PROMPTING\n | typeof AI_RESPONSE_FORMAT\n | typeof AI_RESPONSES\n | typeof AI_SEARCH_QUERIES\n | typeof AI_SEARCH_RESULTS\n | typeof AI_SEED\n | typeof AI_STREAMING\n | typeof AI_TAGS\n | typeof AI_TEMPERATURE\n | typeof AI_TEXTS\n | typeof AI_TOOL_CALLS\n | typeof AI_TOOLS\n | typeof AI_TOP_K\n | typeof AI_TOP_P\n | typeof AI_TOTAL_COST\n | typeof AI_TOTAL_TOKENS_USED\n | typeof AI_WARNINGS\n | typeof APP_START_TYPE\n | typeof BLOCKED_MAIN_THREAD\n | typeof BROWSER_NAME\n | typeof BROWSER_REPORT_TYPE\n | typeof BROWSER_SCRIPT_INVOKER\n | typeof BROWSER_SCRIPT_INVOKER_TYPE\n | typeof BROWSER_SCRIPT_SOURCE_CHAR_POSITION\n | typeof BROWSER_VERSION\n | typeof CACHE_HIT\n | typeof CACHE_ITEM_SIZE\n | typeof CACHE_KEY\n | typeof CACHE_OPERATION\n | typeof CACHE_TTL\n | typeof CHANNEL\n | typeof CLIENT_ADDRESS\n | typeof CLIENT_PORT\n | typeof CLOUDFLARE_D1_DURATION\n | typeof CLOUDFLARE_D1_ROWS_READ\n | typeof CLOUDFLARE_D1_ROWS_WRITTEN\n | typeof CODE_FILE_PATH\n | typeof CODE_FILEPATH\n | typeof CODE_FUNCTION\n | typeof CODE_FUNCTION_NAME\n | typeof CODE_LINE_NUMBER\n | typeof CODE_LINENO\n | typeof CODE_NAMESPACE\n | typeof DB_COLLECTION_NAME\n | typeof DB_NAME\n | typeof DB_NAMESPACE\n | typeof DB_OPERATION\n | typeof DB_OPERATION_NAME\n | typeof DB_QUERY_PARAMETER_KEY\n | typeof DB_QUERY_SUMMARY\n | typeof DB_QUERY_TEXT\n | typeof DB_REDIS_CONNECTION\n | typeof DB_REDIS_PARAMETERS\n | typeof DB_SQL_BINDINGS\n | typeof DB_STATEMENT\n | typeof DB_SYSTEM\n | typeof DB_SYSTEM_NAME\n | typeof DB_USER\n | typeof DEVICE_BRAND\n | typeof DEVICE_FAMILY\n | typeof DEVICE_MODEL\n | typeof ENVIRONMENT\n | typeof ERROR_TYPE\n | typeof EVENT_ID\n | typeof EVENT_NAME\n | typeof EXCEPTION_ESCAPED\n | typeof EXCEPTION_MESSAGE\n | typeof EXCEPTION_STACKTRACE\n | typeof EXCEPTION_TYPE\n | typeof FAAS_COLDSTART\n | typeof FAAS_CRON\n | typeof FAAS_TIME\n | typeof FAAS_TRIGGER\n | typeof FLAG_EVALUATION_KEY\n | typeof FRAMES_DELAY\n | typeof FRAMES_FROZEN\n | typeof FRAMES_SLOW\n | typeof FRAMES_TOTAL\n | typeof FS_ERROR\n | typeof GEN_AI_AGENT_NAME\n | typeof GEN_AI_ASSISTANT_MESSAGE\n | typeof GEN_AI_CHOICE\n | typeof GEN_AI_COST_INPUT_TOKENS\n | typeof GEN_AI_COST_OUTPUT_TOKENS\n | typeof GEN_AI_COST_TOTAL_TOKENS\n | typeof GEN_AI_OPERATION_NAME\n | typeof GEN_AI_OPERATION_TYPE\n | typeof GEN_AI_PIPELINE_NAME\n | typeof GEN_AI_PROMPT\n | typeof GEN_AI_REQUEST_AVAILABLE_TOOLS\n | typeof GEN_AI_REQUEST_FREQUENCY_PENALTY\n | typeof GEN_AI_REQUEST_MAX_TOKENS\n | typeof GEN_AI_REQUEST_MESSAGES\n | typeof GEN_AI_REQUEST_MODEL\n | typeof GEN_AI_REQUEST_PRESENCE_PENALTY\n | typeof GEN_AI_REQUEST_SEED\n | typeof GEN_AI_REQUEST_TEMPERATURE\n | typeof GEN_AI_REQUEST_TOP_K\n | typeof GEN_AI_REQUEST_TOP_P\n | typeof GEN_AI_RESPONSE_FINISH_REASONS\n | typeof GEN_AI_RESPONSE_ID\n | typeof GEN_AI_RESPONSE_MODEL\n | typeof GEN_AI_RESPONSE_STREAMING\n | typeof GEN_AI_RESPONSE_TEXT\n | typeof GEN_AI_RESPONSE_TOKENS_PER_SECOND\n | typeof GEN_AI_RESPONSE_TOOL_CALLS\n | typeof GEN_AI_SYSTEM\n | typeof GEN_AI_SYSTEM_MESSAGE\n | typeof GEN_AI_TOOL_DESCRIPTION\n | typeof GEN_AI_TOOL_INPUT\n | typeof GEN_AI_TOOL_MESSAGE\n | typeof GEN_AI_TOOL_NAME\n | typeof GEN_AI_TOOL_OUTPUT\n | typeof GEN_AI_TOOL_TYPE\n | typeof GEN_AI_USAGE_COMPLETION_TOKENS\n | typeof GEN_AI_USAGE_INPUT_TOKENS\n | typeof GEN_AI_USAGE_INPUT_TOKENS_CACHED\n | typeof GEN_AI_USAGE_OUTPUT_TOKENS\n | typeof GEN_AI_USAGE_OUTPUT_TOKENS_REASONING\n | typeof GEN_AI_USAGE_PROMPT_TOKENS\n | typeof GEN_AI_USAGE_TOTAL_COST\n | typeof GEN_AI_USAGE_TOTAL_TOKENS\n | typeof GEN_AI_USER_MESSAGE\n | typeof GRAPHQL_OPERATION_NAME\n | typeof GRAPHQL_OPERATION_TYPE\n | typeof HTTP_CLIENT_IP\n | typeof HTTP_DECODED_RESPONSE_CONTENT_LENGTH\n | typeof HTTP_FLAVOR\n | typeof HTTP_FRAGMENT\n | typeof HTTP_HOST\n | typeof HTTP_METHOD\n | typeof HTTP_QUERY\n | typeof HTTP_REQUEST_CONNECT_START\n | typeof HTTP_REQUEST_CONNECTION_END\n | typeof HTTP_REQUEST_DOMAIN_LOOKUP_END\n | typeof HTTP_REQUEST_DOMAIN_LOOKUP_START\n | typeof HTTP_REQUEST_FETCH_START\n | typeof HTTP_REQUEST_HEADER_KEY\n | typeof HTTP_REQUEST_METHOD\n | typeof HTTP_REQUEST_REDIRECT_END\n | typeof HTTP_REQUEST_REDIRECT_START\n | typeof HTTP_REQUEST_REQUEST_START\n | typeof HTTP_REQUEST_RESEND_COUNT\n | typeof HTTP_REQUEST_RESPONSE_END\n | typeof HTTP_REQUEST_RESPONSE_START\n | typeof HTTP_REQUEST_SECURE_CONNECTION_START\n | typeof HTTP_REQUEST_TIME_TO_FIRST_BYTE\n | typeof HTTP_REQUEST_WORKER_START\n | typeof HTTP_RESPONSE_BODY_SIZE\n | typeof HTTP_RESPONSE_HEADER_KEY\n | typeof HTTP_RESPONSE_HEADER_CONTENT_LENGTH\n | typeof HTTP_RESPONSE_SIZE\n | typeof HTTP_RESPONSE_STATUS_CODE\n | typeof HTTP_RESPONSE_CONTENT_LENGTH\n | typeof HTTP_RESPONSE_TRANSFER_SIZE\n | typeof HTTP_ROUTE\n | typeof HTTP_SCHEME\n | typeof HTTP_SERVER_NAME\n | typeof HTTP_STATUS_CODE\n | typeof HTTP_TARGET\n | typeof HTTP_URL\n | typeof HTTP_USER_AGENT\n | typeof ID\n | typeof JVM_GC_ACTION\n | typeof JVM_GC_NAME\n | typeof JVM_MEMORY_POOL_NAME\n | typeof JVM_MEMORY_TYPE\n | typeof JVM_THREAD_DAEMON\n | typeof JVM_THREAD_STATE\n | typeof LCP_ELEMENT\n | typeof LCP_ID\n | typeof LCP_SIZE\n | typeof LCP_URL\n | typeof LOGGER_NAME\n | typeof MCP_PROMPT_RESULT\n | typeof MCP_TOOL_RESULT_CONTENT\n | typeof MDC_KEY\n | typeof MESSAGING_DESTINATION_CONNECTION\n | typeof MESSAGING_DESTINATION_NAME\n | typeof MESSAGING_MESSAGE_BODY_SIZE\n | typeof MESSAGING_MESSAGE_ENVELOPE_SIZE\n | typeof MESSAGING_MESSAGE_ID\n | typeof MESSAGING_MESSAGE_RECEIVE_LATENCY\n | typeof MESSAGING_MESSAGE_RETRY_COUNT\n | typeof MESSAGING_OPERATION_TYPE\n | typeof MESSAGING_SYSTEM\n | typeof METHOD\n | typeof NAVIGATION_TYPE\n | typeof NEL_ELAPSED_TIME\n | typeof NEL_PHASE\n | typeof NEL_REFERRER\n | typeof NEL_SAMPLING_FUNCTION\n | typeof NEL_TYPE\n | typeof NET_HOST_IP\n | typeof NET_HOST_NAME\n | typeof NET_HOST_PORT\n | typeof NET_PEER_IP\n | typeof NET_PEER_NAME\n | typeof NET_PEER_PORT\n | typeof NET_PROTOCOL_NAME\n | typeof NET_PROTOCOL_VERSION\n | typeof NET_SOCK_FAMILY\n | typeof NET_SOCK_HOST_ADDR\n | typeof NET_SOCK_HOST_PORT\n | typeof NET_SOCK_PEER_ADDR\n | typeof NET_SOCK_PEER_NAME\n | typeof NET_SOCK_PEER_PORT\n | typeof NET_TRANSPORT\n | typeof NETWORK_LOCAL_ADDRESS\n | typeof NETWORK_LOCAL_PORT\n | typeof NETWORK_PEER_ADDRESS\n | typeof NETWORK_PEER_PORT\n | typeof NETWORK_PROTOCOL_NAME\n | typeof NETWORK_PROTOCOL_VERSION\n | typeof NETWORK_TRANSPORT\n | typeof NETWORK_TYPE\n | typeof OS_BUILD_ID\n | typeof OS_DESCRIPTION\n | typeof OS_NAME\n | typeof OS_TYPE\n | typeof OS_VERSION\n | typeof OTEL_SCOPE_NAME\n | typeof OTEL_SCOPE_VERSION\n | typeof OTEL_STATUS_CODE\n | typeof OTEL_STATUS_DESCRIPTION\n | typeof PARAMS_KEY\n | typeof PREVIOUS_ROUTE\n | typeof PROCESS_EXECUTABLE_NAME\n | typeof PROCESS_PID\n | typeof PROCESS_RUNTIME_DESCRIPTION\n | typeof PROCESS_RUNTIME_NAME\n | typeof PROCESS_RUNTIME_VERSION\n | typeof PROFILE_ID\n | typeof QUERY_KEY\n | typeof RELEASE\n | typeof REMIX_ACTION_FORM_DATA_KEY\n | typeof REPLAY_ID\n | typeof RESOURCE_RENDER_BLOCKING_STATUS\n | typeof ROUTE\n | typeof RPC_GRPC_STATUS_CODE\n | typeof RPC_SERVICE\n | typeof SENTRY_INTERNAL_DSC_ENVIRONMENT\n | typeof SENTRY_INTERNAL_DSC_ORG_ID\n | typeof SENTRY_INTERNAL_DSC_PUBLIC_KEY\n | typeof SENTRY_INTERNAL_DSC_RELEASE\n | typeof SENTRY_INTERNAL_DSC_SAMPLE_RAND\n | typeof SENTRY_INTERNAL_DSC_SAMPLE_RATE\n | typeof SENTRY_INTERNAL_DSC_SAMPLED\n | typeof SENTRY_INTERNAL_DSC_TRACE_ID\n | typeof SENTRY_INTERNAL_DSC_TRANSACTION\n | typeof SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS\n | typeof SENTRY_INTERNAL_REPLAY_IS_BUFFERING\n | typeof SENTRY_BROWSER_NAME\n | typeof SENTRY_BROWSER_VERSION\n | typeof SENTRY_CANCELLATION_REASON\n | typeof SENTRY_CLIENT_SAMPLE_RATE\n | typeof SENTRY_DESCRIPTION\n | typeof SENTRY_DIST\n | typeof SENTRY_ENVIRONMENT\n | typeof SENTRY_EXCLUSIVE_TIME\n | typeof SENTRY_HTTP_PREFETCH\n | typeof SENTRY_IDLE_SPAN_FINISH_REASON\n | typeof SENTRY_MESSAGE_PARAMETER_KEY\n | typeof SENTRY_MESSAGE_TEMPLATE\n | typeof SENTRY_MODULE_KEY\n | typeof SENTRY_NEXTJS_SSR_FUNCTION_ROUTE\n | typeof SENTRY_NEXTJS_SSR_FUNCTION_TYPE\n | typeof SENTRY_OBSERVED_TIMESTAMP_NANOS\n | typeof SENTRY_OP\n | typeof SENTRY_ORIGIN\n | typeof SENTRY_PLATFORM\n | typeof SENTRY_PROFILE_ID\n | typeof SENTRY_RELEASE\n | typeof SENTRY_REPLAY_ID\n | typeof SENTRY_SDK_INTEGRATIONS\n | typeof SENTRY_SDK_NAME\n | typeof SENTRY_SDK_VERSION\n | typeof SENTRY_SEGMENT_ID\n | typeof SENTRY_SEGMENT_NAME\n | typeof _SENTRY_SEGMENT_ID\n | typeof SENTRY_SERVER_SAMPLE_RATE\n | typeof SENTRY_SPAN_SOURCE\n | typeof SENTRY_TRACE_PARENT_SPAN_ID\n | typeof SENTRY_TRANSACTION\n | typeof SERVER_ADDRESS\n | typeof SERVER_PORT\n | typeof SERVICE_NAME\n | typeof SERVICE_VERSION\n | typeof THREAD_ID\n | typeof THREAD_NAME\n | typeof TRANSACTION\n | typeof TYPE\n | typeof UI_COMPONENT_NAME\n | typeof UI_CONTRIBUTES_TO_TTFD\n | typeof UI_CONTRIBUTES_TO_TTID\n | typeof URL_DOMAIN\n | typeof URL_FRAGMENT\n | typeof URL_FULL\n | typeof URL_PATH\n | typeof URL_PATH_PARAMETER_KEY\n | typeof URL_PORT\n | typeof URL_QUERY\n | typeof URL_SCHEME\n | typeof URL_TEMPLATE\n | typeof URL\n | typeof USER_EMAIL\n | typeof USER_FULL_NAME\n | typeof USER_GEO_CITY\n | typeof USER_GEO_COUNTRY_CODE\n | typeof USER_GEO_REGION\n | typeof USER_GEO_SUBDIVISION\n | typeof USER_HASH\n | typeof USER_ID\n | typeof USER_IP_ADDRESS\n | typeof USER_NAME\n | typeof USER_ROLES\n | typeof USER_AGENT_ORIGINAL\n | typeof VERCEL_BRANCH\n | typeof VERCEL_BUILD_ID\n | typeof VERCEL_DEPLOYMENT_ID\n | typeof VERCEL_DESTINATION\n | typeof VERCEL_EDGE_TYPE\n | typeof VERCEL_ENTRYPOINT\n | typeof VERCEL_EXECUTION_REGION\n | typeof VERCEL_ID\n | typeof VERCEL_JA3_DIGEST\n | typeof VERCEL_JA4_DIGEST\n | typeof VERCEL_LOG_TYPE\n | typeof VERCEL_PROJECT_ID\n | typeof VERCEL_PROJECT_NAME\n | typeof VERCEL_PROXY_CACHE_ID\n | typeof VERCEL_PROXY_CLIENT_IP\n | typeof VERCEL_PROXY_HOST\n | typeof VERCEL_PROXY_LAMBDA_REGION\n | typeof VERCEL_PROXY_METHOD\n | typeof VERCEL_PROXY_PATH\n | typeof VERCEL_PROXY_PATH_TYPE\n | typeof VERCEL_PROXY_PATH_TYPE_VARIANT\n | typeof VERCEL_PROXY_REFERER\n | typeof VERCEL_PROXY_REGION\n | typeof VERCEL_PROXY_RESPONSE_BYTE_SIZE\n | typeof VERCEL_PROXY_SCHEME\n | typeof VERCEL_PROXY_STATUS_CODE\n | typeof VERCEL_PROXY_TIMESTAMP\n | typeof VERCEL_PROXY_USER_AGENT\n | typeof VERCEL_PROXY_VERCEL_CACHE\n | typeof VERCEL_PROXY_VERCEL_ID\n | typeof VERCEL_PROXY_WAF_ACTION\n | typeof VERCEL_PROXY_WAF_RULE_ID\n | typeof VERCEL_REQUEST_ID\n | typeof VERCEL_SOURCE\n | typeof VERCEL_STATUS_CODE;\n\nexport const ATTRIBUTE_METADATA: Record<AttributeName, AttributeMetadata> = {\n [AI_CITATIONS]: {\n brief: 'References or sources cited by the AI model in its response.',\n type: 'string[]',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: ['Citation 1', 'Citation 2'],\n },\n [AI_COMPLETION_TOKENS_USED]: {\n brief: 'The number of tokens used to respond to the message.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 10,\n deprecation: {\n replacement: 'gen_ai.usage.output_tokens',\n },\n aliases: [GEN_AI_USAGE_OUTPUT_TOKENS, GEN_AI_USAGE_COMPLETION_TOKENS],\n sdks: ['python'],\n },\n [AI_DOCUMENTS]: {\n brief: 'Documents or content chunks used as context for the AI model.',\n type: 'string[]',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: ['document1.txt', 'document2.pdf'],\n },\n [AI_FINISH_REASON]: {\n brief: 'The reason why the model stopped generating.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'COMPLETE',\n deprecation: {\n replacement: 'gen_ai.response.finish_reason',\n },\n aliases: [GEN_AI_RESPONSE_FINISH_REASONS],\n },\n [AI_FREQUENCY_PENALTY]: {\n brief:\n 'Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 0.5,\n deprecation: {\n replacement: 'gen_ai.request.frequency_penalty',\n },\n aliases: [GEN_AI_REQUEST_FREQUENCY_PENALTY],\n },\n [AI_FUNCTION_CALL]: {\n brief:\n 'For an AI model call, the function that was called. This is deprecated for OpenAI, and replaced by tool_calls',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: 'function_name',\n deprecation: {\n replacement: 'gen_ai.tool.name',\n },\n aliases: [GEN_AI_TOOL_NAME],\n },\n [AI_GENERATION_ID]: {\n brief: 'Unique identifier for the completion.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'gen_123abc',\n deprecation: {\n replacement: 'gen_ai.response.id',\n },\n aliases: [GEN_AI_RESPONSE_ID],\n },\n [AI_INPUT_MESSAGES]: {\n brief: 'The input messages sent to the model',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '[{\"role\": \"user\", \"message\": \"hello\"}]',\n deprecation: {\n replacement: 'gen_ai.request.messages',\n },\n aliases: [GEN_AI_REQUEST_MESSAGES],\n sdks: ['python'],\n },\n [AI_IS_SEARCH_REQUIRED]: {\n brief: 'Boolean indicating if the model needs to perform a search.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: false,\n },\n [AI_METADATA]: {\n brief: 'Extra metadata passed to an AI pipeline step.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '{\"user_id\": 123, \"session_id\": \"abc123\"}',\n },\n [AI_MODEL_PROVIDER]: {\n brief: 'The provider of the model.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'openai',\n deprecation: {\n replacement: 'gen_ai.system',\n },\n aliases: [GEN_AI_SYSTEM],\n },\n [AI_MODEL_ID]: {\n brief: 'The vendor-specific ID of the model used.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'gpt-4',\n deprecation: {\n replacement: 'gen_ai.response.model',\n },\n aliases: [GEN_AI_RESPONSE_MODEL],\n sdks: ['python'],\n },\n [AI_PIPELINE_NAME]: {\n brief: 'The name of the AI pipeline.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'Autofix Pipeline',\n deprecation: {\n replacement: 'gen_ai.pipeline.name',\n },\n aliases: [GEN_AI_PIPELINE_NAME],\n },\n [AI_PREAMBLE]: {\n brief:\n \"For an AI model call, the preamble parameter. Preambles are a part of the prompt used to adjust the model's overall behavior and conversation style.\",\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: 'You are now a clown.',\n },\n [AI_PRESENCE_PENALTY]: {\n brief:\n 'Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 0.5,\n deprecation: {\n replacement: 'gen_ai.request.presence_penalty',\n },\n aliases: [GEN_AI_REQUEST_PRESENCE_PENALTY],\n },\n [AI_PROMPT_TOKENS_USED]: {\n brief: 'The number of tokens used to process just the prompt.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 20,\n deprecation: {\n replacement: 'gen_ai.usage.input_tokens',\n },\n aliases: [GEN_AI_USAGE_PROMPT_TOKENS, GEN_AI_USAGE_INPUT_TOKENS],\n sdks: ['python'],\n },\n [AI_RAW_PROMPTING]: {\n brief: 'When enabled, the user’s prompt will be sent to the model without any pre-processing.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: true,\n },\n [AI_RESPONSE_FORMAT]: {\n brief: 'For an AI model call, the format of the response',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'json_object',\n },\n [AI_RESPONSES]: {\n brief: 'The response messages sent back by the AI model.',\n type: 'string[]',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: ['hello', 'world'],\n deprecation: {\n replacement: 'gen_ai.response.text',\n },\n sdks: ['python'],\n },\n [AI_SEARCH_QUERIES]: {\n brief: 'Queries used to search for relevant context or documents.',\n type: 'string[]',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: ['climate change effects', 'renewable energy'],\n },\n [AI_SEARCH_RESULTS]: {\n brief: 'Results returned from search queries for context.',\n type: 'string[]',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: ['search_result_1, search_result_2'],\n },\n [AI_SEED]: {\n brief: 'The seed, ideally models given the same seed and same other parameters will produce the exact same output.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '1234567890',\n deprecation: {\n replacement: 'gen_ai.request.seed',\n },\n aliases: [GEN_AI_REQUEST_SEED],\n },\n [AI_STREAMING]: {\n brief: 'Whether the request was streamed back.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: true,\n deprecation: {\n replacement: 'gen_ai.response.streaming',\n },\n aliases: [GEN_AI_RESPONSE_STREAMING],\n sdks: ['python'],\n },\n [AI_TAGS]: {\n brief: 'Tags that describe an AI pipeline step.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '{\"executed_function\": \"add_integers\"}',\n },\n [AI_TEMPERATURE]: {\n brief:\n 'For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 0.1,\n deprecation: {\n replacement: 'gen_ai.request.temperature',\n },\n aliases: [GEN_AI_REQUEST_TEMPERATURE],\n },\n [AI_TEXTS]: {\n brief: 'Raw text inputs provided to the model.',\n type: 'string[]',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: ['Hello, how are you?', 'What is the capital of France?'],\n },\n [AI_TOOL_CALLS]: {\n brief: 'For an AI model call, the tool calls that were made.',\n type: 'string[]',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: ['tool_call_1', 'tool_call_2'],\n deprecation: {\n replacement: 'gen_ai.response.tool_calls',\n },\n },\n [AI_TOOLS]: {\n brief: 'For an AI model call, the functions that are available',\n type: 'string[]',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: ['function_1', 'function_2'],\n deprecation: {\n replacement: 'gen_ai.request.available_tools',\n },\n },\n [AI_TOP_K]: {\n brief:\n 'Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 35,\n deprecation: {\n replacement: 'gen_ai.request.top_k',\n },\n aliases: [GEN_AI_REQUEST_TOP_K],\n },\n [AI_TOP_P]: {\n brief:\n 'Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered).',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 0.7,\n deprecation: {\n replacement: 'gen_ai.request.top_p',\n },\n aliases: [GEN_AI_REQUEST_TOP_P],\n },\n [AI_TOTAL_COST]: {\n brief: 'The total cost for the tokens used.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 12.34,\n },\n [AI_TOTAL_TOKENS_USED]: {\n brief: 'The total number of tokens used to process the prompt.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 30,\n deprecation: {\n replacement: 'gen_ai.usage.total_tokens',\n },\n aliases: [GEN_AI_USAGE_TOTAL_TOKENS],\n sdks: ['python'],\n },\n [AI_WARNINGS]: {\n brief: 'Warning messages generated during model execution.',\n type: 'string[]',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: ['Token limit exceeded'],\n },\n [APP_START_TYPE]: {\n brief: 'Mobile app start variant. Either cold or warm.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'cold',\n },\n [BLOCKED_MAIN_THREAD]: {\n brief: 'Whether the main thread was blocked by the span.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: true,\n },\n [BROWSER_NAME]: {\n brief: 'The name of the browser.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'Chrome',\n aliases: [SENTRY_BROWSER_NAME],\n },\n [BROWSER_REPORT_TYPE]: {\n brief: 'A browser report sent via reporting API..',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'network-error',\n },\n [BROWSER_SCRIPT_INVOKER]: {\n brief: 'How a script was called in the browser.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'Window.requestAnimationFrame',\n sdks: ['browser'],\n },\n [BROWSER_SCRIPT_INVOKER_TYPE]: {\n brief: 'Browser script entry point type.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'event-listener',\n sdks: ['browser'],\n },\n [BROWSER_SCRIPT_SOURCE_CHAR_POSITION]: {\n brief: 'A number representing the script character position of the script.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 678,\n sdks: ['browser'],\n },\n [BROWSER_VERSION]: {\n brief: 'The version of the browser.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '120.0.6099.130',\n aliases: [SENTRY_BROWSER_VERSION],\n },\n [CACHE_HIT]: {\n brief: 'If the cache was hit during this span.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: true,\n sdks: ['php-laravel'],\n },\n [CACHE_ITEM_SIZE]: {\n brief: 'The size of the requested item in the cache. In bytes.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 58,\n },\n [CACHE_KEY]: {\n brief: 'The key of the cache accessed.',\n type: 'string[]',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: ['my-cache-key', 'my-other-cache-key'],\n sdks: ['php-laravel'],\n },\n [CACHE_OPERATION]: {\n brief: 'The operation being performed on the cache.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'get',\n sdks: ['php-laravel'],\n },\n [CACHE_TTL]: {\n brief: 'The ttl of the cache in seconds',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 120,\n sdks: ['php-laravel'],\n },\n [CHANNEL]: {\n brief: 'The channel name that is being used.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'mail',\n sdks: ['php-laravel'],\n },\n [CLIENT_ADDRESS]: {\n brief:\n 'Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: true,\n example: 'example.com',\n aliases: [HTTP_CLIENT_IP],\n },\n [CLIENT_PORT]: {\n brief: 'Client port number.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 5432,\n },\n [CLOUDFLARE_D1_DURATION]: {\n brief: 'The duration of a Cloudflare D1 operation.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 543,\n sdks: ['javascript-cloudflare'],\n },\n [CLOUDFLARE_D1_ROWS_READ]: {\n brief: 'The number of rows read in a Cloudflare D1 operation.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 12,\n sdks: ['javascript-cloudflare'],\n },\n [CLOUDFLARE_D1_ROWS_WRITTEN]: {\n brief: 'The number of rows written in a Cloudflare D1 operation.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 12,\n sdks: ['javascript-cloudflare'],\n },\n [CODE_FILE_PATH]: {\n brief:\n 'The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '/app/myapplication/http/handler/server.py',\n aliases: [CODE_FILEPATH],\n },\n [CODE_FILEPATH]: {\n brief:\n 'The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '/app/myapplication/http/handler/server.py',\n deprecation: {\n replacement: 'code.file.path',\n },\n aliases: [CODE_FILE_PATH],\n },\n [CODE_FUNCTION]: {\n brief: \"The method or function name, or equivalent (usually rightmost part of the code unit's name).\",\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'server_request',\n deprecation: {\n replacement: 'code.function.name',\n },\n aliases: [CODE_FUNCTION_NAME],\n },\n [CODE_FUNCTION_NAME]: {\n brief: \"The method or function name, or equivalent (usually rightmost part of the code unit's name).\",\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'server_request',\n aliases: [CODE_FUNCTION],\n },\n [CODE_LINE_NUMBER]: {\n brief:\n 'The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 42,\n aliases: [CODE_LINENO],\n },\n [CODE_LINENO]: {\n brief:\n 'The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 42,\n deprecation: {\n replacement: 'code.line.number',\n },\n aliases: [CODE_LINE_NUMBER],\n },\n [CODE_NAMESPACE]: {\n brief:\n \"The 'namespace' within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.\",\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'http.handler',\n deprecation: {\n replacement: 'code.function.name',\n reason: 'code.function.name should include the namespace.',\n },\n },\n [DB_COLLECTION_NAME]: {\n brief: 'The name of a collection (table, container) within the database.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'users',\n },\n [DB_NAME]: {\n brief: 'The name of the database being accessed.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'customers',\n deprecation: {\n replacement: 'db.namespace',\n },\n aliases: [DB_NAMESPACE],\n },\n [DB_NAMESPACE]: {\n brief: 'The name of the database being accessed.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'customers',\n aliases: [DB_NAME],\n },\n [DB_OPERATION]: {\n brief: 'The name of the operation being executed.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'SELECT',\n deprecation: {\n replacement: 'db.operation.name',\n },\n aliases: [DB_OPERATION_NAME],\n },\n [DB_OPERATION_NAME]: {\n brief: 'The name of the operation being executed.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'SELECT',\n aliases: [DB_OPERATION],\n },\n [DB_QUERY_PARAMETER_KEY]: {\n brief:\n 'A query parameter used in db.query.text, with <key> being the parameter name, and the attribute value being a string representation of the parameter value.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n hasDynamicSuffix: true,\n example: \"db.query.parameter.foo='123'\",\n },\n [DB_QUERY_SUMMARY]: {\n brief:\n 'A database query being executed. Should be paramaterized. The full version of the query is in `db.query.text`.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'SELECT * FROM users',\n },\n [DB_QUERY_TEXT]: {\n brief:\n 'The database query being executed. Should be the full query, not a parameterized version. The parameterized version is in `db.query.summary`.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'SELECT * FROM users',\n aliases: [DB_STATEMENT],\n },\n [DB_REDIS_CONNECTION]: {\n brief: 'The redis connection name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'my-redis-instance',\n sdks: ['php-laravel'],\n },\n [DB_REDIS_PARAMETERS]: {\n brief: 'The array of command parameters given to a redis command.',\n type: 'string[]',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: ['test', '*'],\n sdks: ['php-laravel'],\n },\n [DB_SQL_BINDINGS]: {\n brief: 'The array of query bindings.',\n type: 'string[]',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: ['1', 'foo'],\n deprecation: {\n replacement: 'db.query.parameter.<key>',\n reason:\n 'Instead of adding every binding in the db.sql.bindings attribute, add them as individual entires with db.query.parameter.<key>.',\n },\n sdks: ['php-laravel'],\n },\n [DB_STATEMENT]: {\n brief: 'The database statement being executed.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'SELECT * FROM users',\n deprecation: {\n replacement: 'db.query.text',\n },\n aliases: [DB_QUERY_TEXT],\n },\n [DB_SYSTEM]: {\n brief:\n 'An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'postgresql',\n deprecation: {\n replacement: 'db.system.name',\n },\n aliases: [DB_SYSTEM_NAME],\n },\n [DB_SYSTEM_NAME]: {\n brief:\n 'An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'postgresql',\n aliases: [DB_SYSTEM],\n },\n [DB_USER]: {\n brief: 'The database user.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: true,\n example: 'fancy_user',\n },\n [DEVICE_BRAND]: {\n brief: 'The brand of the device.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'Apple',\n },\n [DEVICE_FAMILY]: {\n brief: 'The family of the device.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'iPhone',\n },\n [DEVICE_MODEL]: {\n brief: 'The model of the device.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'iPhone 15 Pro Max',\n },\n [ENVIRONMENT]: {\n brief: 'The sentry environment.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'production',\n deprecation: {\n replacement: 'sentry.environment',\n },\n aliases: [SENTRY_ENVIRONMENT],\n },\n [ERROR_TYPE]: {\n brief: 'Describes a class of error the operation ended with.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'timeout',\n },\n [EVENT_ID]: {\n brief: 'The unique identifier for this event (log record)',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1234567890,\n },\n [EVENT_NAME]: {\n brief: 'The name that uniquely identifies this event (log record)',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'Process Payload',\n },\n [EXCEPTION_ESCAPED]: {\n brief:\n 'SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: true,\n },\n [EXCEPTION_MESSAGE]: {\n brief: 'The error message.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'ENOENT: no such file or directory',\n },\n [EXCEPTION_STACKTRACE]: {\n brief:\n 'A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example:\n 'Exception in thread \"main\" java.lang.RuntimeException: Test exception\\n at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\\n at com.example.GenerateTrace.methodA(GenerateTrace.java:9)\\n at com.example.GenerateTrace.main(GenerateTrace.java:5)',\n },\n [EXCEPTION_TYPE]: {\n brief:\n 'The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'OSError',\n },\n [FAAS_COLDSTART]: {\n brief: 'A boolean that is true if the serverless function is executed for the first time (aka cold-start).',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: true,\n },\n [FAAS_CRON]: {\n brief: 'A string containing the schedule period as Cron Expression.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '0/5 * * * ? *',\n },\n [FAAS_TIME]: {\n brief: 'A string containing the function invocation time in the ISO 8601 format expressed in UTC.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '2020-01-23T13:47:06Z',\n },\n [FAAS_TRIGGER]: {\n brief: 'Type of the trigger which caused this function invocation.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'timer',\n },\n [FLAG_EVALUATION_KEY]: {\n brief:\n 'An instance of a feature flag evaluation. The value of this attribute is the boolean representing the evaluation result. The <key> suffix is the name of the feature flag.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n hasDynamicSuffix: true,\n example: 'flag.evaluation.is_new_ui=true',\n },\n [FRAMES_DELAY]: {\n brief:\n 'The sum of all delayed frame durations in seconds during the lifetime of the span. For more information see [frames delay](https://develop.sentry.dev/sdk/performance/frames-delay/).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 5,\n },\n [FRAMES_FROZEN]: {\n brief: 'The number of frozen frames rendered during the lifetime of the span.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 3,\n },\n [FRAMES_SLOW]: {\n brief: 'The number of slow frames rendered during the lifetime of the span.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1,\n },\n [FRAMES_TOTAL]: {\n brief: 'The number of total frames rendered during the lifetime of the span.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 60,\n },\n [FS_ERROR]: {\n brief: 'The error message of a file system error.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'ENOENT: no such file or directory',\n deprecation: {\n replacement: 'error.type',\n reason: 'This attribute is not part of the OpenTelemetry specification and error.type fits much better.',\n },\n sdks: ['javascript-node'],\n },\n [GEN_AI_AGENT_NAME]: {\n brief: 'The name of the agent being used.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'ResearchAssistant',\n },\n [GEN_AI_ASSISTANT_MESSAGE]: {\n brief: 'The assistant message passed to the model.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: 'get_weather tool call',\n },\n [GEN_AI_CHOICE]: {\n brief: \"The model's response message.\",\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: 'The weather in Paris is rainy and overcast, with temperatures around 57°F',\n },\n [GEN_AI_COST_INPUT_TOKENS]: {\n brief: 'The cost of tokens used to process the AI input (prompt) in USD (without cached input tokens).',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 123.45,\n },\n [GEN_AI_COST_OUTPUT_TOKENS]: {\n brief: 'The cost of tokens used for creating the AI output in USD (without reasoning tokens).',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 123.45,\n },\n [GEN_AI_COST_TOTAL_TOKENS]: {\n brief: 'The total cost for the tokens used.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 12.34,\n },\n [GEN_AI_OPERATION_NAME]: {\n brief: 'The name of the operation being performed.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'chat',\n },\n [GEN_AI_OPERATION_TYPE]: {\n brief:\n \"The type of AI operation. Must be one of 'agent', 'ai_client', 'tool', 'handoff', 'guardrail'. Makes querying for spans in the UI easier.\",\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'tool',\n },\n [GEN_AI_PIPELINE_NAME]: {\n brief: 'Name of the AI pipeline or chain being executed.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'Autofix Pipeline',\n aliases: [AI_PIPELINE_NAME],\n },\n [GEN_AI_PROMPT]: {\n brief: 'The input messages sent to the model',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '[{\"role\": \"user\", \"message\": \"hello\"}]',\n deprecation: {\n reason: 'Deprecated from OTEL, use gen_ai.input.messages with the new format instead.',\n },\n },\n [GEN_AI_REQUEST_AVAILABLE_TOOLS]: {\n brief: 'The available tools for the model. It has to be a stringified version of an array of objects.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example:\n '[{\"name\": \"get_weather\", \"description\": \"Get the weather for a given location\"}, {\"name\": \"get_news\", \"description\": \"Get the news for a given topic\"}]',\n },\n [GEN_AI_REQUEST_FREQUENCY_PENALTY]: {\n brief:\n 'Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 0.5,\n aliases: [AI_FREQUENCY_PENALTY],\n },\n [GEN_AI_REQUEST_MAX_TOKENS]: {\n brief: 'The maximum number of tokens to generate in the response.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 2048,\n },\n [GEN_AI_REQUEST_MESSAGES]: {\n brief:\n 'The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `\"user\"`, `\"assistant\"`, `\"tool\"`, or `\"system\"`. For messages of the role `\"tool\"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: \"text\", text:\"...\"}`.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example:\n '[{\"role\": \"system\", \"content\": \"Generate a random number.\"}, {\"role\": \"user\", \"content\": [{\"text\": \"Generate a random number between 0 and 10.\", \"type\": \"text\"}]}, {\"role\": \"tool\", \"content\": {\"toolCallId\": \"1\", \"toolName\": \"Weather\", \"output\": \"rainy\"}}]',\n aliases: [AI_INPUT_MESSAGES],\n },\n [GEN_AI_REQUEST_MODEL]: {\n brief: 'The model identifier being used for the request.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'gpt-4-turbo-preview',\n },\n [GEN_AI_REQUEST_PRESENCE_PENALTY]: {\n brief:\n 'Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 0.5,\n aliases: [AI_PRESENCE_PENALTY],\n },\n [GEN_AI_REQUEST_SEED]: {\n brief: 'The seed, ideally models given the same seed and same other parameters will produce the exact same output.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '1234567890',\n aliases: [AI_SEED],\n },\n [GEN_AI_REQUEST_TEMPERATURE]: {\n brief:\n 'For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 0.1,\n aliases: [AI_TEMPERATURE],\n },\n [GEN_AI_REQUEST_TOP_K]: {\n brief:\n 'Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 35,\n aliases: [AI_TOP_K],\n },\n [GEN_AI_REQUEST_TOP_P]: {\n brief:\n 'Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered).',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 0.7,\n aliases: [AI_TOP_P],\n },\n [GEN_AI_RESPONSE_FINISH_REASONS]: {\n brief: 'The reason why the model stopped generating.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'COMPLETE',\n aliases: [AI_FINISH_REASON],\n },\n [GEN_AI_RESPONSE_ID]: {\n brief: 'Unique identifier for the completion.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'gen_123abc',\n aliases: [AI_GENERATION_ID],\n },\n [GEN_AI_RESPONSE_MODEL]: {\n brief: 'The vendor-specific ID of the model used.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'gpt-4',\n aliases: [AI_MODEL_ID],\n },\n [GEN_AI_RESPONSE_STREAMING]: {\n brief: \"Whether or not the AI model call's response was streamed back asynchronously\",\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: true,\n aliases: [AI_STREAMING],\n },\n [GEN_AI_RESPONSE_TEXT]: {\n brief:\n \"The model's response text messages. It has to be a stringified version of an array of response text messages.\",\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example:\n '[\"The weather in Paris is rainy and overcast, with temperatures around 57°F\", \"The weather in London is sunny and warm, with temperatures around 65°F\"]',\n },\n [GEN_AI_RESPONSE_TOKENS_PER_SECOND]: {\n brief: 'The total output tokens per seconds throughput',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 12345.67,\n },\n [GEN_AI_RESPONSE_TOOL_CALLS]: {\n brief: \"The tool calls in the model's response. It has to be a stringified version of an array of objects.\",\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '[{\"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]',\n },\n [GEN_AI_SYSTEM]: {\n brief: 'The provider of the model.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'openai',\n aliases: [AI_MODEL_PROVIDER],\n },\n [GEN_AI_SYSTEM_MESSAGE]: {\n brief: 'The system instructions passed to the model.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: 'You are a helpful assistant',\n },\n [GEN_AI_TOOL_DESCRIPTION]: {\n brief: 'The description of the tool being used.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'Searches the web for current information about a topic',\n },\n [GEN_AI_TOOL_INPUT]: {\n brief: 'The input of the tool being used. It has to be a stringified version of the input to the tool.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '{\"location\": \"Paris\"}',\n },\n [GEN_AI_TOOL_MESSAGE]: {\n brief: 'The response from a tool or function call passed to the model.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: 'rainy, 57°F',\n },\n [GEN_AI_TOOL_NAME]: {\n brief: 'Name of the tool utilized by the agent.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'Flights',\n aliases: [AI_FUNCTION_CALL],\n },\n [GEN_AI_TOOL_OUTPUT]: {\n brief: 'The output of the tool being used. It has to be a stringified version of the output of the tool.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'rainy, 57°F',\n },\n [GEN_AI_TOOL_TYPE]: {\n brief: 'The type of tool being used.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'function',\n },\n [GEN_AI_USAGE_COMPLETION_TOKENS]: {\n brief: 'The number of tokens used in the GenAI response (completion).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 10,\n deprecation: {\n replacement: 'gen_ai.usage.output_tokens',\n },\n aliases: [AI_COMPLETION_TOKENS_USED, GEN_AI_USAGE_OUTPUT_TOKENS],\n },\n [GEN_AI_USAGE_INPUT_TOKENS]: {\n brief: 'The number of tokens used to process the AI input (prompt) without cached input tokens.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 10,\n aliases: [AI_PROMPT_TOKENS_USED, GEN_AI_USAGE_PROMPT_TOKENS],\n },\n [GEN_AI_USAGE_INPUT_TOKENS_CACHED]: {\n brief: 'The number of cached tokens used to process the AI input (prompt).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 50,\n },\n [GEN_AI_USAGE_OUTPUT_TOKENS]: {\n brief: 'The number of tokens used for creating the AI output (without reasoning tokens).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 10,\n aliases: [AI_COMPLETION_TOKENS_USED, GEN_AI_USAGE_COMPLETION_TOKENS],\n },\n [GEN_AI_USAGE_OUTPUT_TOKENS_REASONING]: {\n brief: 'The number of tokens used for reasoning to create the AI output.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 75,\n },\n [GEN_AI_USAGE_PROMPT_TOKENS]: {\n brief: 'The number of tokens used in the GenAI input (prompt).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 20,\n deprecation: {\n replacement: 'gen_ai.usage.input_tokens',\n },\n aliases: [AI_PROMPT_TOKENS_USED, GEN_AI_USAGE_INPUT_TOKENS],\n },\n [GEN_AI_USAGE_TOTAL_COST]: {\n brief: 'The total cost for the tokens used.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 12.34,\n deprecation: {\n replacement: 'gen_ai.cost.total_tokens',\n },\n },\n [GEN_AI_USAGE_TOTAL_TOKENS]: {\n brief: 'The total number of tokens used to process the prompt. (input tokens plus output todkens)',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 20,\n aliases: [AI_TOTAL_TOKENS_USED],\n },\n [GEN_AI_USER_MESSAGE]: {\n brief: 'The user message passed to the model.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: \"What's the weather in Paris?\",\n },\n [GRAPHQL_OPERATION_NAME]: {\n brief: 'The name of the operation being executed.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'findBookById',\n },\n [GRAPHQL_OPERATION_TYPE]: {\n brief: 'The type of the operation being executed.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'query',\n },\n [HTTP_CLIENT_IP]: {\n brief:\n 'Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: true,\n example: 'example.com',\n deprecation: {\n replacement: 'client.address',\n },\n aliases: [CLIENT_ADDRESS],\n },\n [HTTP_DECODED_RESPONSE_CONTENT_LENGTH]: {\n brief: 'The decoded body size of the response (in bytes).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 456,\n sdks: ['javascript-browser'],\n },\n [HTTP_FLAVOR]: {\n brief: 'The actual version of the protocol used for network communication.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '1.1',\n deprecation: {\n replacement: 'network.protocol.version',\n },\n aliases: [NETWORK_PROTOCOL_VERSION, NET_PROTOCOL_VERSION],\n },\n [HTTP_FRAGMENT]: {\n brief:\n 'The fragments present in the URI. Note that this contains the leading # character, while the `url.fragment` attribute does not.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '#details',\n },\n [HTTP_HOST]: {\n brief: 'The domain name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'example.com',\n deprecation: {\n replacement: 'server.address',\n reason: 'Deprecated, use one of `server.address` or `client.address`, depending on the usage',\n },\n aliases: [SERVER_ADDRESS, CLIENT_ADDRESS, HTTP_SERVER_NAME, NET_HOST_NAME],\n },\n [HTTP_METHOD]: {\n brief: 'The HTTP method used.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'GET',\n deprecation: {\n replacement: 'http.request.method',\n },\n aliases: [HTTP_REQUEST_METHOD],\n },\n [HTTP_QUERY]: {\n brief:\n 'The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n reason:\n 'Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.',\n },\n isInOtel: false,\n example: '?foo=bar&bar=baz',\n },\n [HTTP_REQUEST_CONNECT_START]: {\n brief:\n 'The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829555.111,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_CONNECTION_END]: {\n brief:\n 'The UNIX timestamp representing the time immediately after the browser finishes establishing the connection to the server to retrieve the resource. The timestamp value includes the time interval to establish the transport connection, as well as other time intervals such as TLS handshake and SOCKS authentication.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829555.15,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_DOMAIN_LOOKUP_END]: {\n brief:\n 'The UNIX timestamp representing the time immediately after the browser finishes the domain-name lookup for the resource.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829555.201,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_DOMAIN_LOOKUP_START]: {\n brief:\n 'The UNIX timestamp representing the time immediately before the browser starts the domain name lookup for the resource.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829555.322,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_FETCH_START]: {\n brief: 'The UNIX timestamp representing the time immediately before the browser starts to fetch the resource.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829555.389,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_HEADER_KEY]: {\n brief:\n 'HTTP request headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values.',\n type: 'string[]',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n hasDynamicSuffix: true,\n example: \"http.request.header.custom-header=['foo', 'bar']\",\n },\n [HTTP_REQUEST_METHOD]: {\n brief: 'The HTTP method used.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'GET',\n aliases: [METHOD, HTTP_METHOD],\n },\n [HTTP_REQUEST_REDIRECT_END]: {\n brief:\n 'The UNIX timestamp representing the timestamp immediately after receiving the last byte of the response of the last redirect',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829558.502,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_REDIRECT_START]: {\n brief: 'The UNIX timestamp representing the start time of the fetch which that initiates the redirect.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829555.495,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_REQUEST_START]: {\n brief:\n 'The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829555.51,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_RESEND_COUNT]: {\n brief: 'The ordinal number of request resending attempt (for any reason, including redirects).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 2,\n },\n [HTTP_REQUEST_RESPONSE_END]: {\n brief:\n 'The UNIX timestamp representing the time immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829555.89,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_RESPONSE_START]: {\n brief:\n 'The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829555.7,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_SECURE_CONNECTION_START]: {\n brief:\n 'The UNIX timestamp representing the time immediately before the browser starts the handshake process to secure the current connection. If a secure connection is not used, the property returns zero.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829555.73,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_TIME_TO_FIRST_BYTE]: {\n brief:\n \"The time in seconds from the browser's timeorigin to when the first byte of the request's response was received. See https://web.dev/articles/ttfb#measure-resource-requests\",\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1.032,\n sdks: ['javascript-browser'],\n },\n [HTTP_REQUEST_WORKER_START]: {\n brief:\n 'The UNIX timestamp representing the timestamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732829553.68,\n sdks: ['javascript-browser'],\n },\n [HTTP_RESPONSE_BODY_SIZE]: {\n brief: 'The encoded body size of the response (in bytes).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 123,\n aliases: [HTTP_RESPONSE_CONTENT_LENGTH, HTTP_RESPONSE_HEADER_CONTENT_LENGTH],\n },\n [HTTP_RESPONSE_HEADER_KEY]: {\n brief:\n 'HTTP response headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values.',\n type: 'string[]',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n hasDynamicSuffix: true,\n example: \"http.response.header.custom-header=['foo', 'bar']\",\n },\n [HTTP_RESPONSE_HEADER_CONTENT_LENGTH]: {\n brief: 'The size of the message body sent to the recipient (in bytes)',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: \"http.response.header.custom-header=['foo', 'bar']\",\n aliases: [HTTP_RESPONSE_CONTENT_LENGTH, HTTP_RESPONSE_BODY_SIZE],\n },\n [HTTP_RESPONSE_SIZE]: {\n brief: 'The transfer size of the response (in bytes).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 456,\n aliases: [HTTP_RESPONSE_TRANSFER_SIZE],\n },\n [HTTP_RESPONSE_STATUS_CODE]: {\n brief: 'The status code of the HTTP response.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 404,\n aliases: [HTTP_STATUS_CODE],\n },\n [HTTP_RESPONSE_CONTENT_LENGTH]: {\n brief: 'The encoded body size of the response (in bytes).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 123,\n deprecation: {\n replacement: 'http.response.body.size',\n },\n aliases: [HTTP_RESPONSE_BODY_SIZE, HTTP_RESPONSE_HEADER_CONTENT_LENGTH],\n },\n [HTTP_RESPONSE_TRANSFER_SIZE]: {\n brief: 'The transfer size of the response (in bytes).',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 456,\n deprecation: {\n replacement: 'http.response.size',\n },\n aliases: [HTTP_RESPONSE_SIZE],\n },\n [HTTP_ROUTE]: {\n brief: 'The matched route, that is, the path template in the format used by the respective server framework.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '/users/:id',\n aliases: [URL_TEMPLATE],\n },\n [HTTP_SCHEME]: {\n brief: 'The URI scheme component identifying the used protocol.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'https',\n deprecation: {\n replacement: 'url.scheme',\n },\n aliases: [URL_SCHEME],\n },\n [HTTP_SERVER_NAME]: {\n brief: 'The server domain name',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'example.com',\n deprecation: {\n replacement: 'server.address',\n },\n aliases: [SERVER_ADDRESS, NET_HOST_NAME, HTTP_HOST],\n },\n [HTTP_STATUS_CODE]: {\n brief: 'The status code of the HTTP response.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 404,\n deprecation: {\n replacement: 'http.response.status_code',\n },\n aliases: [HTTP_RESPONSE_STATUS_CODE],\n },\n [HTTP_TARGET]: {\n brief: 'The pathname and query string of the URL.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '/test?foo=bar#buzz',\n deprecation: {\n replacement: 'url.path',\n reason: 'This attribute is being deprecated in favor of url.path and url.query',\n },\n },\n [HTTP_URL]: {\n brief: 'The URL of the resource that was fetched.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'https://example.com/test?foo=bar#buzz',\n deprecation: {\n replacement: 'url.full',\n },\n aliases: [URL_FULL, URL],\n },\n [HTTP_USER_AGENT]: {\n brief: 'Value of the HTTP User-Agent header sent by the client.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example:\n 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1',\n deprecation: {\n replacement: 'user_agent.original',\n },\n aliases: [USER_AGENT_ORIGINAL],\n },\n [ID]: {\n brief: 'A unique identifier for the span.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'f47ac10b58cc4372a5670e02b2c3d479',\n sdks: ['php-laravel'],\n },\n [JVM_GC_ACTION]: {\n brief: 'Name of the garbage collector action.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'end of minor GC',\n },\n [JVM_GC_NAME]: {\n brief: 'Name of the garbage collector.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'G1 Young Generation',\n },\n [JVM_MEMORY_POOL_NAME]: {\n brief: 'Name of the memory pool.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'G1 Old Gen',\n },\n [JVM_MEMORY_TYPE]: {\n brief: 'Name of the memory pool.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'G1 Old Gen',\n },\n [JVM_THREAD_DAEMON]: {\n brief: 'Whether the thread is daemon or not.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: true,\n },\n [JVM_THREAD_STATE]: {\n brief: 'State of the thread.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'blocked',\n },\n [LCP_ELEMENT]: {\n brief: 'The dom element responsible for the largest contentful paint.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'img',\n },\n [LCP_ID]: {\n brief: 'The id of the dom element responsible for the largest contentful paint.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '#hero',\n },\n [LCP_SIZE]: {\n brief: 'The size of the largest contentful paint element.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1234,\n },\n [LCP_URL]: {\n brief: 'The url of the dom element responsible for the largest contentful paint.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'https://example.com',\n },\n [LOGGER_NAME]: {\n brief: 'The name of the logger that generated this event.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'myLogger',\n },\n [MCP_PROMPT_RESULT]: {\n brief: 'The content of the prompt result.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'An example prompt result!',\n },\n [MCP_TOOL_RESULT_CONTENT]: {\n brief: 'The content of the tool result.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '{\"output\": \"rainy\", \"toolCallId\": \"1\"}',\n },\n [MDC_KEY]: {\n brief:\n \"Attributes from the Mapped Diagnostic Context (MDC) present at the moment the log record was created. The MDC is supported by all the most popular logging solutions in the Java ecosystem, and it's usually implemented as a thread-local map that stores context for e.g. a specific request.\",\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n hasDynamicSuffix: true,\n example: \"mdc.some_key='some_value'\",\n sdks: ['java', 'java.logback', 'java.jul', 'java.log4j2'],\n },\n [MESSAGING_DESTINATION_CONNECTION]: {\n brief: 'The message destination connection.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'BestTopic',\n sdks: ['php-laravel'],\n },\n [MESSAGING_DESTINATION_NAME]: {\n brief: 'The message destination name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'BestTopic',\n sdks: ['php-laravel'],\n },\n [MESSAGING_MESSAGE_BODY_SIZE]: {\n brief: 'The size of the message body in bytes.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 839,\n sdks: ['php-laravel'],\n },\n [MESSAGING_MESSAGE_ENVELOPE_SIZE]: {\n brief: 'The size of the message body and metadata in bytes.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 1045,\n sdks: ['php-laravel'],\n },\n [MESSAGING_MESSAGE_ID]: {\n brief: 'A value used by the messaging system as an identifier for the message, represented as a string.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'f47ac10b58cc4372a5670e02b2c3d479',\n sdks: ['php-laravel'],\n },\n [MESSAGING_MESSAGE_RECEIVE_LATENCY]: {\n brief: 'The latency between when the message was published and received.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1732847252,\n sdks: ['php-laravel'],\n },\n [MESSAGING_MESSAGE_RETRY_COUNT]: {\n brief: 'The amount of attempts to send the message.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 2,\n sdks: ['php-laravel'],\n },\n [MESSAGING_OPERATION_TYPE]: {\n brief: 'A string identifying the type of the messaging operation',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'create',\n },\n [MESSAGING_SYSTEM]: {\n brief: 'The messaging system as identified by the client instrumentation.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'activemq',\n sdks: ['php-laravel'],\n },\n [METHOD]: {\n brief: 'The HTTP method used.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'GET',\n deprecation: {\n replacement: 'http.request.method',\n },\n aliases: [HTTP_REQUEST_METHOD],\n sdks: ['javascript-browser', 'javascript-node'],\n },\n [NAVIGATION_TYPE]: {\n brief: 'The type of navigation done by a client-side router.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'router.push',\n },\n [NEL_ELAPSED_TIME]: {\n brief:\n 'The elapsed number of milliseconds between the start of the resource fetch and when it was completed or aborted by the user agent.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 100,\n },\n [NEL_PHASE]: {\n brief: 'If request failed, the phase of its network error. If request succeeded, \"application\".',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'application',\n },\n [NEL_REFERRER]: {\n brief: \"request's referrer, as determined by the referrer policy associated with its client.\",\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'https://example.com/foo?bar=baz',\n },\n [NEL_SAMPLING_FUNCTION]: {\n brief: 'The sampling function used to determine if the request should be sampled.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 0.5,\n },\n [NEL_TYPE]: {\n brief: 'If request failed, the type of its network error. If request succeeded, \"ok\".',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'dns.unreachable',\n },\n [NET_HOST_IP]: {\n brief: 'Local address of the network connection - IP address or Unix domain socket name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '192.168.0.1',\n deprecation: {\n replacement: 'network.local.address',\n },\n aliases: [NETWORK_LOCAL_ADDRESS, NET_SOCK_HOST_ADDR],\n },\n [NET_HOST_NAME]: {\n brief:\n 'Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'example.com',\n deprecation: {\n replacement: 'server.address',\n },\n aliases: [SERVER_ADDRESS, HTTP_SERVER_NAME, HTTP_HOST],\n },\n [NET_HOST_PORT]: {\n brief: 'Server port number.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 1337,\n deprecation: {\n replacement: 'server.port',\n },\n aliases: [SERVER_PORT],\n },\n [NET_PEER_IP]: {\n brief: 'Peer address of the network connection - IP address or Unix domain socket name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '192.168.0.1',\n deprecation: {\n replacement: 'network.peer.address',\n },\n aliases: [NETWORK_PEER_ADDRESS, NET_SOCK_PEER_ADDR],\n },\n [NET_PEER_NAME]: {\n brief:\n 'Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'example.com',\n deprecation: {\n replacement: 'server.address',\n reason: 'Deprecated, use server.address on client spans and client.address on server spans.',\n },\n },\n [NET_PEER_PORT]: {\n brief: 'Peer port number.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 1337,\n deprecation: {\n replacement: 'server.port',\n reason: 'Deprecated, use server.port on client spans and client.port on server spans.',\n },\n },\n [NET_PROTOCOL_NAME]: {\n brief: 'OSI application layer or non-OSI equivalent.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'http',\n deprecation: {\n replacement: 'network.protocol.name',\n },\n aliases: [NETWORK_PROTOCOL_NAME],\n },\n [NET_PROTOCOL_VERSION]: {\n brief: 'The actual version of the protocol used for network communication.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '1.1',\n deprecation: {\n replacement: 'network.protocol.version',\n },\n aliases: [NETWORK_PROTOCOL_VERSION, HTTP_FLAVOR],\n },\n [NET_SOCK_FAMILY]: {\n brief: 'OSI transport and network layer',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'inet',\n deprecation: {\n replacement: 'network.transport',\n reason: 'Deprecated, use network.transport and network.type.',\n },\n },\n [NET_SOCK_HOST_ADDR]: {\n brief: 'Local address of the network connection mapping to Unix domain socket name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '/var/my.sock',\n deprecation: {\n replacement: 'network.local.address',\n },\n aliases: [NETWORK_LOCAL_ADDRESS, NET_HOST_IP],\n },\n [NET_SOCK_HOST_PORT]: {\n brief: 'Local port number of the network connection.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 8080,\n deprecation: {\n replacement: 'network.local.port',\n },\n aliases: [NETWORK_LOCAL_PORT],\n },\n [NET_SOCK_PEER_ADDR]: {\n brief: 'Peer address of the network connection - IP address',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '192.168.0.1',\n deprecation: {\n replacement: 'network.peer.address',\n },\n aliases: [NETWORK_PEER_ADDRESS, NET_PEER_IP],\n },\n [NET_SOCK_PEER_NAME]: {\n brief: 'Peer address of the network connection - Unix domain socket name',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '/var/my.sock',\n deprecation: {\n reason: 'Deprecated from OTEL, no replacement at this time',\n },\n },\n [NET_SOCK_PEER_PORT]: {\n brief: 'Peer port number of the network connection.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 8080,\n deprecation: {\n replacement: 'network.peer.port',\n },\n },\n [NET_TRANSPORT]: {\n brief: 'OSI transport layer or inter-process communication method.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'tcp',\n deprecation: {\n replacement: 'network.transport',\n },\n aliases: [NETWORK_TRANSPORT],\n },\n [NETWORK_LOCAL_ADDRESS]: {\n brief: 'Local address of the network connection - IP address or Unix domain socket name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '10.1.2.80',\n aliases: [NET_HOST_IP, NET_SOCK_HOST_ADDR],\n },\n [NETWORK_LOCAL_PORT]: {\n brief: 'Local port number of the network connection.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 65400,\n aliases: [NET_SOCK_HOST_PORT],\n },\n [NETWORK_PEER_ADDRESS]: {\n brief: 'Peer address of the network connection - IP address or Unix domain socket name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '10.1.2.80',\n aliases: [NET_PEER_IP, NET_SOCK_PEER_ADDR],\n },\n [NETWORK_PEER_PORT]: {\n brief: 'Peer port number of the network connection.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 65400,\n },\n [NETWORK_PROTOCOL_NAME]: {\n brief: 'OSI application layer or non-OSI equivalent.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'http',\n aliases: [NET_PROTOCOL_NAME],\n },\n [NETWORK_PROTOCOL_VERSION]: {\n brief: 'The actual version of the protocol used for network communication.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '1.1',\n aliases: [HTTP_FLAVOR, NET_PROTOCOL_VERSION],\n },\n [NETWORK_TRANSPORT]: {\n brief: 'OSI transport layer or inter-process communication method.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'tcp',\n aliases: [NET_TRANSPORT],\n },\n [NETWORK_TYPE]: {\n brief: 'OSI network layer or non-OSI equivalent.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'ipv4',\n },\n [OS_BUILD_ID]: {\n brief: 'The build ID of the operating system.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '1234567890',\n },\n [OS_DESCRIPTION]: {\n brief:\n 'Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'Ubuntu 18.04.1 LTS',\n },\n [OS_NAME]: {\n brief: 'Human readable operating system name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'Ubuntu',\n },\n [OS_TYPE]: {\n brief: 'The operating system type.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'linux',\n },\n [OS_VERSION]: {\n brief: 'The version of the operating system.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '18.04.2',\n },\n [OTEL_SCOPE_NAME]: {\n brief: 'The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'io.opentelemetry.contrib.mongodb',\n },\n [OTEL_SCOPE_VERSION]: {\n brief: 'The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '2.4.5',\n },\n [OTEL_STATUS_CODE]: {\n brief: 'Name of the code, either “OK” or “ERROR”. MUST NOT be set if the status code is UNSET.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'OK',\n },\n [OTEL_STATUS_DESCRIPTION]: {\n brief: 'Description of the Status if it has a value, otherwise not set.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'resource not found',\n },\n [PARAMS_KEY]: {\n brief:\n 'Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n hasDynamicSuffix: true,\n example: \"params.id='123'\",\n aliases: [URL_PATH_PARAMETER_KEY],\n },\n [PREVIOUS_ROUTE]: {\n brief: 'Also used by mobile SDKs to indicate the previous route in the application.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'HomeScreen',\n sdks: ['javascript-reactnative'],\n },\n [PROCESS_EXECUTABLE_NAME]: {\n brief: 'The name of the executable that started the process.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'getsentry',\n },\n [PROCESS_PID]: {\n brief: 'The process ID of the running process.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 12345,\n },\n [PROCESS_RUNTIME_DESCRIPTION]: {\n brief:\n 'An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. Equivalent to `raw_description` in the Sentry runtime context.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'Eclipse OpenJ9 VM openj9-0.21.0',\n },\n [PROCESS_RUNTIME_NAME]: {\n brief: 'The name of the runtime. Equivalent to `name` in the Sentry runtime context.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'node',\n },\n [PROCESS_RUNTIME_VERSION]: {\n brief:\n 'The version of the runtime of this process, as returned by the runtime without modification. Equivalent to `version` in the Sentry runtime context.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '18.04.2',\n },\n [PROFILE_ID]: {\n brief: 'The id of the sentry profile.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '123e4567e89b12d3a456426614174000',\n deprecation: {\n replacement: 'sentry.profile_id',\n },\n aliases: [SENTRY_PROFILE_ID],\n },\n [QUERY_KEY]: {\n brief: 'An item in a query string. Usually added by client-side routing frameworks like vue-router.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n hasDynamicSuffix: true,\n example: \"query.id='123'\",\n deprecation: {\n replacement: 'url.query',\n reason: 'Instead of sending items individually in query.<key>, they should be sent all together with url.query.',\n },\n },\n [RELEASE]: {\n brief: 'The sentry release.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'production',\n deprecation: {\n replacement: 'sentry.release',\n },\n aliases: [SENTRY_RELEASE],\n },\n [REMIX_ACTION_FORM_DATA_KEY]: {\n brief: 'Remix form data, <key> being the form data key, the value being the form data value.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n hasDynamicSuffix: true,\n example: \"http.response.header.text='test'\",\n sdks: ['javascript-remix'],\n },\n [REPLAY_ID]: {\n brief: 'The id of the sentry replay.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '123e4567e89b12d3a456426614174000',\n deprecation: {\n replacement: 'sentry.replay_id',\n },\n aliases: [SENTRY_REPLAY_ID],\n },\n [RESOURCE_RENDER_BLOCKING_STATUS]: {\n brief: 'The render blocking status of the resource.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'non-blocking',\n sdks: ['javascript-browser'],\n },\n [ROUTE]: {\n brief:\n 'The matched route, that is, the path template in the format used by the respective server framework. Also used by mobile SDKs to indicate the current route in the application.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'App\\\\Controller::indexAction',\n deprecation: {\n replacement: 'http.route',\n },\n aliases: [HTTP_ROUTE],\n sdks: ['php-laravel', 'javascript-reactnative'],\n },\n [RPC_GRPC_STATUS_CODE]: {\n brief: 'The numeric status code of the gRPC request.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 2,\n },\n [RPC_SERVICE]: {\n brief: 'The full (logical) name of the service being called, including its package name, if applicable.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'myService.BestService',\n },\n [SENTRY_INTERNAL_DSC_ENVIRONMENT]: {\n brief: 'The environment from the dynamic sampling context.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'prod',\n },\n [SENTRY_INTERNAL_DSC_ORG_ID]: {\n brief: 'The organization ID from the dynamic sampling context.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '1',\n },\n [SENTRY_INTERNAL_DSC_PUBLIC_KEY]: {\n brief: 'The public key from the dynamic sampling context.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'c51734c603c4430eb57cb0a5728a479d',\n },\n [SENTRY_INTERNAL_DSC_RELEASE]: {\n brief: 'The release identifier from the dynamic sampling context.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'frontend@e8211be71b214afab5b85de4b4c54be3714952bb',\n },\n [SENTRY_INTERNAL_DSC_SAMPLE_RAND]: {\n brief: 'The random sampling value from the dynamic sampling context.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '0.8286147972820134',\n },\n [SENTRY_INTERNAL_DSC_SAMPLE_RATE]: {\n brief: 'The sample rate from the dynamic sampling context.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '1.0',\n },\n [SENTRY_INTERNAL_DSC_SAMPLED]: {\n brief: 'Whether the event was sampled according to the dynamic sampling context.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: true,\n },\n [SENTRY_INTERNAL_DSC_TRACE_ID]: {\n brief: 'The trace ID from the dynamic sampling context.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '047372980460430cbc78d9779df33a46',\n },\n [SENTRY_INTERNAL_DSC_TRANSACTION]: {\n brief: 'The transaction name from the dynamic sampling context.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '/issues/errors-outages/',\n },\n [SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS]: {\n brief: 'The timestamp at which an envelope was received by Relay, in nanoseconds.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '1544712660300000000',\n aliases: [SENTRY_OBSERVED_TIMESTAMP_NANOS],\n },\n [SENTRY_INTERNAL_REPLAY_IS_BUFFERING]: {\n brief:\n 'A sentinel attribute on log events indicating whether the current Session Replay is being buffered (onErrorSampleRate).',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: true,\n },\n [SENTRY_BROWSER_NAME]: {\n brief: 'The name of the browser.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'Chrome',\n deprecation: {\n replacement: 'browser.name',\n },\n aliases: [BROWSER_NAME],\n },\n [SENTRY_BROWSER_VERSION]: {\n brief: 'The version of the browser.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '120.0.6099.130',\n deprecation: {\n replacement: 'browser.version',\n },\n aliases: [BROWSER_VERSION],\n },\n [SENTRY_CANCELLATION_REASON]: {\n brief: 'The reason why a span ended early.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'document.hidden',\n },\n [SENTRY_CLIENT_SAMPLE_RATE]: {\n brief: 'Rate at which a span was sampled in the SDK.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 0.5,\n },\n [SENTRY_DESCRIPTION]: {\n brief: 'The human-readable description of a span.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'index view query',\n },\n [SENTRY_DIST]: {\n brief: 'The sentry dist.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '1.0',\n },\n [SENTRY_ENVIRONMENT]: {\n brief: 'The sentry environment.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'production',\n aliases: [ENVIRONMENT],\n },\n [SENTRY_EXCLUSIVE_TIME]: {\n brief: 'The exclusive time duration of the span.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1234,\n },\n [SENTRY_HTTP_PREFETCH]: {\n brief: 'If an http request was a prefetch request.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: true,\n },\n [SENTRY_IDLE_SPAN_FINISH_REASON]: {\n brief: 'The reason why an idle span ended early.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'idleTimeout',\n },\n [SENTRY_MESSAGE_PARAMETER_KEY]: {\n brief:\n \"A parameter used in the message template. <key> can either be the number that represent the parameter's position in the template string (sentry.message.parameter.0, sentry.message.parameter.1, etc) or the parameter's name (sentry.message.parameter.item_id, sentry.message.parameter.user_id, etc)\",\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: \"sentry.message.parameter.0='123'\",\n },\n [SENTRY_MESSAGE_TEMPLATE]: {\n brief: 'The parameterized template string.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'Hello, {name}!',\n },\n [SENTRY_MODULE_KEY]: {\n brief: 'A module that was loaded in the process. The key is the name of the module.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n hasDynamicSuffix: true,\n example: \"sentry.module.brianium/paratest='v7.7.0'\",\n },\n [SENTRY_NEXTJS_SSR_FUNCTION_ROUTE]: {\n brief:\n 'A parameterized route for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions when the file location of the function is known.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '/posts/[id]/layout',\n sdks: ['javascript'],\n },\n [SENTRY_NEXTJS_SSR_FUNCTION_TYPE]: {\n brief:\n 'A descriptor for a for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'generateMetadata',\n sdks: ['javascript'],\n },\n [SENTRY_OBSERVED_TIMESTAMP_NANOS]: {\n brief: 'The timestamp at which an envelope was received by Relay, in nanoseconds.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '1544712660300000000',\n deprecation: {\n replacement: 'sentry._internal.observed_timestamp_nanos',\n },\n aliases: [SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS],\n },\n [SENTRY_OP]: {\n brief: 'The operation of a span.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'http.client',\n },\n [SENTRY_ORIGIN]: {\n brief: 'The origin of the instrumentation (e.g. span, log, etc.)',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'auto.http.otel.fastify',\n },\n [SENTRY_PLATFORM]: {\n brief: 'The sdk platform that generated the event.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'php',\n },\n [SENTRY_PROFILE_ID]: {\n brief: 'The id of the sentry profile.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '123e4567e89b12d3a456426614174000',\n aliases: [PROFILE_ID],\n },\n [SENTRY_RELEASE]: {\n brief: 'The sentry release.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '7.0.0',\n aliases: [SERVICE_VERSION, RELEASE],\n },\n [SENTRY_REPLAY_ID]: {\n brief: 'The id of the sentry replay.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '123e4567e89b12d3a456426614174000',\n aliases: [REPLAY_ID],\n },\n [SENTRY_SDK_INTEGRATIONS]: {\n brief:\n 'A list of names identifying enabled integrations. The list shouldhave all enabled integrations, including default integrations. Defaultintegrations are included because different SDK releases may contain differentdefault integrations.',\n type: 'string[]',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: ['InboundFilters', 'FunctionToString', 'BrowserApiErrors', 'Breadcrumbs'],\n },\n [SENTRY_SDK_NAME]: {\n brief: 'The sentry sdk name.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '@sentry/react',\n },\n [SENTRY_SDK_VERSION]: {\n brief: 'The sentry sdk version.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '7.0.0',\n },\n [SENTRY_SEGMENT_ID]: {\n brief: 'The segment ID of a span',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '051581bf3cb55c13',\n aliases: [_SENTRY_SEGMENT_ID],\n },\n [SENTRY_SEGMENT_NAME]: {\n brief: 'The segment name of a span',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'GET /user',\n },\n [_SENTRY_SEGMENT_ID]: {\n brief: 'The segment ID of a span',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '051581bf3cb55c13',\n deprecation: {\n replacement: 'sentry.segment.id',\n },\n aliases: [SENTRY_SEGMENT_ID],\n },\n [SENTRY_SERVER_SAMPLE_RATE]: {\n brief: 'Rate at which a span was sampled in Relay.',\n type: 'double',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 0.5,\n },\n [SENTRY_SPAN_SOURCE]: {\n brief: 'The source of a span, also referred to as transaction source.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'route',\n },\n [SENTRY_TRACE_PARENT_SPAN_ID]: {\n brief:\n 'The span id of the span that was active when the log was collected. This should not be set if there was no active span.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'b0e6f15b45c36b12',\n },\n [SENTRY_TRANSACTION]: {\n brief: 'The sentry transaction (segment name).',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'GET /',\n aliases: [TRANSACTION],\n },\n [SERVER_ADDRESS]: {\n brief:\n 'Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'example.com',\n aliases: [HTTP_SERVER_NAME, NET_HOST_NAME, HTTP_HOST],\n },\n [SERVER_PORT]: {\n brief: 'Server port number.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 1337,\n aliases: [NET_HOST_PORT],\n },\n [SERVICE_NAME]: {\n brief: 'Logical name of the service.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'omegastar',\n },\n [SERVICE_VERSION]: {\n brief: 'The version string of the service API or implementation. The format is not defined by these conventions.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '5.0.0',\n aliases: [SENTRY_RELEASE],\n },\n [THREAD_ID]: {\n brief: 'Current “managed” thread ID.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 56,\n },\n [THREAD_NAME]: {\n brief: 'Current thread name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'main',\n },\n [TRANSACTION]: {\n brief: 'The sentry transaction (segment name).',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'GET /',\n deprecation: {\n replacement: 'sentry.transaction',\n },\n aliases: [SENTRY_TRANSACTION],\n },\n [TYPE]: {\n brief: 'More granular type of the operation happening.',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'fetch',\n sdks: ['javascript-browser', 'javascript-node'],\n },\n [UI_COMPONENT_NAME]: {\n brief: 'The name of the associated component.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'HomeButton',\n },\n [UI_CONTRIBUTES_TO_TTFD]: {\n brief: 'Whether the span execution contributed to the TTFD (time to fully drawn) metric.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: true,\n },\n [UI_CONTRIBUTES_TO_TTID]: {\n brief: 'Whether the span execution contributed to the TTID (time to initial display) metric.',\n type: 'boolean',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: true,\n },\n [URL_DOMAIN]: {\n brief:\n 'Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'example.com',\n },\n [URL_FRAGMENT]: {\n brief:\n 'The fragments present in the URI. Note that this does not contain the leading # character, while the `http.fragment` attribute does.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'details',\n },\n [URL_FULL]: {\n brief: 'The URL of the resource that was fetched.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'https://example.com/test?foo=bar#buzz',\n aliases: [HTTP_URL, URL],\n },\n [URL_PATH]: {\n brief: 'The URI path component.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '/foo',\n },\n [URL_PATH_PARAMETER_KEY]: {\n brief:\n 'Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n hasDynamicSuffix: true,\n example: \"url.path.parameter.id='123'\",\n aliases: [PARAMS_KEY],\n },\n [URL_PORT]: {\n brief: 'Server port number.',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: true,\n example: 1337,\n },\n [URL_QUERY]: {\n brief:\n 'The query string present in the URL. Note that this does not contain the leading ? character, while the `http.query` attribute does.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n reason:\n 'Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.',\n },\n isInOtel: true,\n example: 'foo=bar&bar=baz',\n },\n [URL_SCHEME]: {\n brief: 'The URI scheme component identifying the used protocol.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: 'https',\n aliases: [HTTP_SCHEME],\n },\n [URL_TEMPLATE]: {\n brief: 'The low-cardinality template of an absolute path reference.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example: '/users/:id',\n aliases: [HTTP_ROUTE],\n },\n [URL]: {\n brief: 'The URL of the resource that was fetched.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'https://example.com/test?foo=bar#buzz',\n deprecation: {\n replacement: 'url.full',\n },\n aliases: [URL_FULL, HTTP_URL],\n sdks: ['javascript-browser', 'javascript-node'],\n },\n [USER_EMAIL]: {\n brief: 'User email address.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: true,\n example: 'test@example.com',\n },\n [USER_FULL_NAME]: {\n brief: \"User's full name.\",\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: true,\n example: 'John Smith',\n },\n [USER_GEO_CITY]: {\n brief: 'Human readable city name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'Toronto',\n },\n [USER_GEO_COUNTRY_CODE]: {\n brief: 'Two-letter country code (ISO 3166-1 alpha-2).',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'CA',\n },\n [USER_GEO_REGION]: {\n brief: 'Human readable region name or code.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'Canada',\n },\n [USER_GEO_SUBDIVISION]: {\n brief: 'Human readable subdivision name.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'Ontario',\n },\n [USER_HASH]: {\n brief: 'Unique user hash to correlate information for a user in anonymized form.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: true,\n example: '8ae4c2993e0f4f3b8b2d1b1f3b5e8f4d',\n },\n [USER_ID]: {\n brief: 'Unique identifier of the user.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: true,\n example: 'S-1-5-21-202424912787-2692429404-2351956786-1000',\n },\n [USER_IP_ADDRESS]: {\n brief: 'The IP address of the user.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: '192.168.1.1',\n },\n [USER_NAME]: {\n brief: 'Short name or login/username of the user.',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: true,\n example: 'j.smith',\n },\n [USER_ROLES]: {\n brief: 'Array of user roles at the time of the event.',\n type: 'string[]',\n pii: {\n isPii: 'true',\n },\n isInOtel: true,\n example: ['admin', 'editor'],\n },\n [USER_AGENT_ORIGINAL]: {\n brief: 'Value of the HTTP User-Agent header sent by the client.',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: true,\n example:\n 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1',\n aliases: [HTTP_USER_AGENT],\n },\n [VERCEL_BRANCH]: {\n brief: 'Git branch name for Vercel project',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'main',\n },\n [VERCEL_BUILD_ID]: {\n brief: 'Identifier for the Vercel build (only present on build logs)',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'bld_cotnkcr76',\n },\n [VERCEL_DEPLOYMENT_ID]: {\n brief: 'Identifier for the Vercel deployment',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'dpl_233NRGRjVZX1caZrXWtz5g1TAksD',\n },\n [VERCEL_DESTINATION]: {\n brief: 'Origin of the external content in Vercel (only on external logs)',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'https://vitals.vercel-insights.com/v1',\n },\n [VERCEL_EDGE_TYPE]: {\n brief: 'Type of edge runtime in Vercel',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'edge-function',\n },\n [VERCEL_ENTRYPOINT]: {\n brief: 'Entrypoint for the request in Vercel',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'api/index.js',\n },\n [VERCEL_EXECUTION_REGION]: {\n brief: 'Region where the request is executed',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'sfo1',\n },\n [VERCEL_ID]: {\n brief: 'Unique identifier for the log entry in Vercel',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '1573817187330377061717300000',\n },\n [VERCEL_JA3_DIGEST]: {\n brief: 'JA3 fingerprint digest of Vercel request',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '769,47-53-5-10-49161-49162-49171-49172-50-56-19-4,0-10-11,23-24-25,0',\n },\n [VERCEL_JA4_DIGEST]: {\n brief: 'JA4 fingerprint digest',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 't13d1516h2_8daaf6152771_02713d6af862',\n },\n [VERCEL_LOG_TYPE]: {\n brief: 'Vercel log output type',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'stdout',\n },\n [VERCEL_PROJECT_ID]: {\n brief: 'Identifier for the Vercel project',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'gdufoJxB6b9b1fEqr1jUtFkyavUU',\n },\n [VERCEL_PROJECT_NAME]: {\n brief: 'Name of the Vercel project',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'my-app',\n },\n [VERCEL_PROXY_CACHE_ID]: {\n brief: 'Original request ID when request is served from cache',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'pdx1::v8g4b-1744143786684-93dafbc0f70d',\n },\n [VERCEL_PROXY_CLIENT_IP]: {\n brief: 'Client IP address',\n type: 'string',\n pii: {\n isPii: 'true',\n },\n isInOtel: false,\n example: '120.75.16.101',\n },\n [VERCEL_PROXY_HOST]: {\n brief: 'Hostname of the request',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'test.vercel.app',\n },\n [VERCEL_PROXY_LAMBDA_REGION]: {\n brief: 'Region where lambda function executed',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'sfo1',\n },\n [VERCEL_PROXY_METHOD]: {\n brief: 'HTTP method of the request',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'GET',\n },\n [VERCEL_PROXY_PATH]: {\n brief: 'Request path with query parameters',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '/dynamic/some-value.json?route=some-value',\n },\n [VERCEL_PROXY_PATH_TYPE]: {\n brief: 'How the request was served based on its path and project configuration',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'func',\n },\n [VERCEL_PROXY_PATH_TYPE_VARIANT]: {\n brief: 'Variant of the path type',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: 'api',\n },\n [VERCEL_PROXY_REFERER]: {\n brief: 'Referer of the request',\n type: 'string',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: '*.vercel.app',\n },\n [VERCEL_PROXY_REGION]: {\n brief: 'Region where the request is processed',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'sfo1',\n },\n [VERCEL_PROXY_RESPONSE_BYTE_SIZE]: {\n brief: 'Size of the response in bytes',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1024,\n },\n [VERCEL_PROXY_SCHEME]: {\n brief: 'Protocol of the request',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'https',\n },\n [VERCEL_PROXY_STATUS_CODE]: {\n brief: 'HTTP status code of the proxy request',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 200,\n },\n [VERCEL_PROXY_TIMESTAMP]: {\n brief: 'Unix timestamp when the proxy request was made',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 1573817250172,\n },\n [VERCEL_PROXY_USER_AGENT]: {\n brief: 'User agent strings of the request',\n type: 'string[]',\n pii: {\n isPii: 'maybe',\n },\n isInOtel: false,\n example: ['Mozilla/5.0...'],\n },\n [VERCEL_PROXY_VERCEL_CACHE]: {\n brief: 'Cache status sent to the browser',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'REVALIDATED',\n },\n [VERCEL_PROXY_VERCEL_ID]: {\n brief: 'Vercel-specific identifier',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'sfo1::abc123',\n },\n [VERCEL_PROXY_WAF_ACTION]: {\n brief: 'Action taken by firewall rules',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'deny',\n },\n [VERCEL_PROXY_WAF_RULE_ID]: {\n brief: 'ID of the firewall rule that matched',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'rule_gAHz8jtSB1Gy',\n },\n [VERCEL_REQUEST_ID]: {\n brief: 'Identifier of the Vercel request',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: '643af4e3-975a-4cc7-9e7a-1eda11539d90',\n },\n [VERCEL_SOURCE]: {\n brief: 'Origin of the Vercel log (build, edge, lambda, static, external, or firewall)',\n type: 'string',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 'build',\n },\n [VERCEL_STATUS_CODE]: {\n brief: 'HTTP status code of the request (-1 means no response returned and the lambda crashed)',\n type: 'integer',\n pii: {\n isPii: 'false',\n },\n isInOtel: false,\n example: 200,\n },\n};\n\nexport type AttributeValue = string | number | boolean | Array<string> | Array<number> | Array<boolean>;\n\nexport type Attributes = {\n [AI_CITATIONS]?: AI_CITATIONS_TYPE;\n [AI_COMPLETION_TOKENS_USED]?: AI_COMPLETION_TOKENS_USED_TYPE;\n [AI_DOCUMENTS]?: AI_DOCUMENTS_TYPE;\n [AI_FINISH_REASON]?: AI_FINISH_REASON_TYPE;\n [AI_FREQUENCY_PENALTY]?: AI_FREQUENCY_PENALTY_TYPE;\n [AI_FUNCTION_CALL]?: AI_FUNCTION_CALL_TYPE;\n [AI_GENERATION_ID]?: AI_GENERATION_ID_TYPE;\n [AI_INPUT_MESSAGES]?: AI_INPUT_MESSAGES_TYPE;\n [AI_IS_SEARCH_REQUIRED]?: AI_IS_SEARCH_REQUIRED_TYPE;\n [AI_METADATA]?: AI_METADATA_TYPE;\n [AI_MODEL_PROVIDER]?: AI_MODEL_PROVIDER_TYPE;\n [AI_MODEL_ID]?: AI_MODEL_ID_TYPE;\n [AI_PIPELINE_NAME]?: AI_PIPELINE_NAME_TYPE;\n [AI_PREAMBLE]?: AI_PREAMBLE_TYPE;\n [AI_PRESENCE_PENALTY]?: AI_PRESENCE_PENALTY_TYPE;\n [AI_PROMPT_TOKENS_USED]?: AI_PROMPT_TOKENS_USED_TYPE;\n [AI_RAW_PROMPTING]?: AI_RAW_PROMPTING_TYPE;\n [AI_RESPONSE_FORMAT]?: AI_RESPONSE_FORMAT_TYPE;\n [AI_RESPONSES]?: AI_RESPONSES_TYPE;\n [AI_SEARCH_QUERIES]?: AI_SEARCH_QUERIES_TYPE;\n [AI_SEARCH_RESULTS]?: AI_SEARCH_RESULTS_TYPE;\n [AI_SEED]?: AI_SEED_TYPE;\n [AI_STREAMING]?: AI_STREAMING_TYPE;\n [AI_TAGS]?: AI_TAGS_TYPE;\n [AI_TEMPERATURE]?: AI_TEMPERATURE_TYPE;\n [AI_TEXTS]?: AI_TEXTS_TYPE;\n [AI_TOOL_CALLS]?: AI_TOOL_CALLS_TYPE;\n [AI_TOOLS]?: AI_TOOLS_TYPE;\n [AI_TOP_K]?: AI_TOP_K_TYPE;\n [AI_TOP_P]?: AI_TOP_P_TYPE;\n [AI_TOTAL_COST]?: AI_TOTAL_COST_TYPE;\n [AI_TOTAL_TOKENS_USED]?: AI_TOTAL_TOKENS_USED_TYPE;\n [AI_WARNINGS]?: AI_WARNINGS_TYPE;\n [APP_START_TYPE]?: APP_START_TYPE_TYPE;\n [BLOCKED_MAIN_THREAD]?: BLOCKED_MAIN_THREAD_TYPE;\n [BROWSER_NAME]?: BROWSER_NAME_TYPE;\n [BROWSER_REPORT_TYPE]?: BROWSER_REPORT_TYPE_TYPE;\n [BROWSER_SCRIPT_INVOKER]?: BROWSER_SCRIPT_INVOKER_TYPE;\n [BROWSER_SCRIPT_INVOKER_TYPE]?: BROWSER_SCRIPT_INVOKER_TYPE_TYPE;\n [BROWSER_SCRIPT_SOURCE_CHAR_POSITION]?: BROWSER_SCRIPT_SOURCE_CHAR_POSITION_TYPE;\n [BROWSER_VERSION]?: BROWSER_VERSION_TYPE;\n [CACHE_HIT]?: CACHE_HIT_TYPE;\n [CACHE_ITEM_SIZE]?: CACHE_ITEM_SIZE_TYPE;\n [CACHE_KEY]?: CACHE_KEY_TYPE;\n [CACHE_OPERATION]?: CACHE_OPERATION_TYPE;\n [CACHE_TTL]?: CACHE_TTL_TYPE;\n [CHANNEL]?: CHANNEL_TYPE;\n [CLIENT_ADDRESS]?: CLIENT_ADDRESS_TYPE;\n [CLIENT_PORT]?: CLIENT_PORT_TYPE;\n [CLOUDFLARE_D1_DURATION]?: CLOUDFLARE_D1_DURATION_TYPE;\n [CLOUDFLARE_D1_ROWS_READ]?: CLOUDFLARE_D1_ROWS_READ_TYPE;\n [CLOUDFLARE_D1_ROWS_WRITTEN]?: CLOUDFLARE_D1_ROWS_WRITTEN_TYPE;\n [CODE_FILE_PATH]?: CODE_FILE_PATH_TYPE;\n [CODE_FILEPATH]?: CODE_FILEPATH_TYPE;\n [CODE_FUNCTION]?: CODE_FUNCTION_TYPE;\n [CODE_FUNCTION_NAME]?: CODE_FUNCTION_NAME_TYPE;\n [CODE_LINE_NUMBER]?: CODE_LINE_NUMBER_TYPE;\n [CODE_LINENO]?: CODE_LINENO_TYPE;\n [CODE_NAMESPACE]?: CODE_NAMESPACE_TYPE;\n [DB_COLLECTION_NAME]?: DB_COLLECTION_NAME_TYPE;\n [DB_NAME]?: DB_NAME_TYPE;\n [DB_NAMESPACE]?: DB_NAMESPACE_TYPE;\n [DB_OPERATION]?: DB_OPERATION_TYPE;\n [DB_OPERATION_NAME]?: DB_OPERATION_NAME_TYPE;\n [DB_QUERY_PARAMETER_KEY]?: DB_QUERY_PARAMETER_KEY_TYPE;\n [DB_QUERY_SUMMARY]?: DB_QUERY_SUMMARY_TYPE;\n [DB_QUERY_TEXT]?: DB_QUERY_TEXT_TYPE;\n [DB_REDIS_CONNECTION]?: DB_REDIS_CONNECTION_TYPE;\n [DB_REDIS_PARAMETERS]?: DB_REDIS_PARAMETERS_TYPE;\n [DB_SQL_BINDINGS]?: DB_SQL_BINDINGS_TYPE;\n [DB_STATEMENT]?: DB_STATEMENT_TYPE;\n [DB_SYSTEM]?: DB_SYSTEM_TYPE;\n [DB_SYSTEM_NAME]?: DB_SYSTEM_NAME_TYPE;\n [DB_USER]?: DB_USER_TYPE;\n [DEVICE_BRAND]?: DEVICE_BRAND_TYPE;\n [DEVICE_FAMILY]?: DEVICE_FAMILY_TYPE;\n [DEVICE_MODEL]?: DEVICE_MODEL_TYPE;\n [ENVIRONMENT]?: ENVIRONMENT_TYPE;\n [ERROR_TYPE]?: ERROR_TYPE_TYPE;\n [EVENT_ID]?: EVENT_ID_TYPE;\n [EVENT_NAME]?: EVENT_NAME_TYPE;\n [EXCEPTION_ESCAPED]?: EXCEPTION_ESCAPED_TYPE;\n [EXCEPTION_MESSAGE]?: EXCEPTION_MESSAGE_TYPE;\n [EXCEPTION_STACKTRACE]?: EXCEPTION_STACKTRACE_TYPE;\n [EXCEPTION_TYPE]?: EXCEPTION_TYPE_TYPE;\n [FAAS_COLDSTART]?: FAAS_COLDSTART_TYPE;\n [FAAS_CRON]?: FAAS_CRON_TYPE;\n [FAAS_TIME]?: FAAS_TIME_TYPE;\n [FAAS_TRIGGER]?: FAAS_TRIGGER_TYPE;\n [FLAG_EVALUATION_KEY]?: FLAG_EVALUATION_KEY_TYPE;\n [FRAMES_DELAY]?: FRAMES_DELAY_TYPE;\n [FRAMES_FROZEN]?: FRAMES_FROZEN_TYPE;\n [FRAMES_SLOW]?: FRAMES_SLOW_TYPE;\n [FRAMES_TOTAL]?: FRAMES_TOTAL_TYPE;\n [FS_ERROR]?: FS_ERROR_TYPE;\n [GEN_AI_AGENT_NAME]?: GEN_AI_AGENT_NAME_TYPE;\n [GEN_AI_ASSISTANT_MESSAGE]?: GEN_AI_ASSISTANT_MESSAGE_TYPE;\n [GEN_AI_CHOICE]?: GEN_AI_CHOICE_TYPE;\n [GEN_AI_COST_INPUT_TOKENS]?: GEN_AI_COST_INPUT_TOKENS_TYPE;\n [GEN_AI_COST_OUTPUT_TOKENS]?: GEN_AI_COST_OUTPUT_TOKENS_TYPE;\n [GEN_AI_COST_TOTAL_TOKENS]?: GEN_AI_COST_TOTAL_TOKENS_TYPE;\n [GEN_AI_OPERATION_NAME]?: GEN_AI_OPERATION_NAME_TYPE;\n [GEN_AI_OPERATION_TYPE]?: GEN_AI_OPERATION_TYPE_TYPE;\n [GEN_AI_PIPELINE_NAME]?: GEN_AI_PIPELINE_NAME_TYPE;\n [GEN_AI_PROMPT]?: GEN_AI_PROMPT_TYPE;\n [GEN_AI_REQUEST_AVAILABLE_TOOLS]?: GEN_AI_REQUEST_AVAILABLE_TOOLS_TYPE;\n [GEN_AI_REQUEST_FREQUENCY_PENALTY]?: GEN_AI_REQUEST_FREQUENCY_PENALTY_TYPE;\n [GEN_AI_REQUEST_MAX_TOKENS]?: GEN_AI_REQUEST_MAX_TOKENS_TYPE;\n [GEN_AI_REQUEST_MESSAGES]?: GEN_AI_REQUEST_MESSAGES_TYPE;\n [GEN_AI_REQUEST_MODEL]?: GEN_AI_REQUEST_MODEL_TYPE;\n [GEN_AI_REQUEST_PRESENCE_PENALTY]?: GEN_AI_REQUEST_PRESENCE_PENALTY_TYPE;\n [GEN_AI_REQUEST_SEED]?: GEN_AI_REQUEST_SEED_TYPE;\n [GEN_AI_REQUEST_TEMPERATURE]?: GEN_AI_REQUEST_TEMPERATURE_TYPE;\n [GEN_AI_REQUEST_TOP_K]?: GEN_AI_REQUEST_TOP_K_TYPE;\n [GEN_AI_REQUEST_TOP_P]?: GEN_AI_REQUEST_TOP_P_TYPE;\n [GEN_AI_RESPONSE_FINISH_REASONS]?: GEN_AI_RESPONSE_FINISH_REASONS_TYPE;\n [GEN_AI_RESPONSE_ID]?: GEN_AI_RESPONSE_ID_TYPE;\n [GEN_AI_RESPONSE_MODEL]?: GEN_AI_RESPONSE_MODEL_TYPE;\n [GEN_AI_RESPONSE_STREAMING]?: GEN_AI_RESPONSE_STREAMING_TYPE;\n [GEN_AI_RESPONSE_TEXT]?: GEN_AI_RESPONSE_TEXT_TYPE;\n [GEN_AI_RESPONSE_TOKENS_PER_SECOND]?: GEN_AI_RESPONSE_TOKENS_PER_SECOND_TYPE;\n [GEN_AI_RESPONSE_TOOL_CALLS]?: GEN_AI_RESPONSE_TOOL_CALLS_TYPE;\n [GEN_AI_SYSTEM]?: GEN_AI_SYSTEM_TYPE;\n [GEN_AI_SYSTEM_MESSAGE]?: GEN_AI_SYSTEM_MESSAGE_TYPE;\n [GEN_AI_TOOL_DESCRIPTION]?: GEN_AI_TOOL_DESCRIPTION_TYPE;\n [GEN_AI_TOOL_INPUT]?: GEN_AI_TOOL_INPUT_TYPE;\n [GEN_AI_TOOL_MESSAGE]?: GEN_AI_TOOL_MESSAGE_TYPE;\n [GEN_AI_TOOL_NAME]?: GEN_AI_TOOL_NAME_TYPE;\n [GEN_AI_TOOL_OUTPUT]?: GEN_AI_TOOL_OUTPUT_TYPE;\n [GEN_AI_TOOL_TYPE]?: GEN_AI_TOOL_TYPE_TYPE;\n [GEN_AI_USAGE_COMPLETION_TOKENS]?: GEN_AI_USAGE_COMPLETION_TOKENS_TYPE;\n [GEN_AI_USAGE_INPUT_TOKENS]?: GEN_AI_USAGE_INPUT_TOKENS_TYPE;\n [GEN_AI_USAGE_INPUT_TOKENS_CACHED]?: GEN_AI_USAGE_INPUT_TOKENS_CACHED_TYPE;\n [GEN_AI_USAGE_OUTPUT_TOKENS]?: GEN_AI_USAGE_OUTPUT_TOKENS_TYPE;\n [GEN_AI_USAGE_OUTPUT_TOKENS_REASONING]?: GEN_AI_USAGE_OUTPUT_TOKENS_REASONING_TYPE;\n [GEN_AI_USAGE_PROMPT_TOKENS]?: GEN_AI_USAGE_PROMPT_TOKENS_TYPE;\n [GEN_AI_USAGE_TOTAL_COST]?: GEN_AI_USAGE_TOTAL_COST_TYPE;\n [GEN_AI_USAGE_TOTAL_TOKENS]?: GEN_AI_USAGE_TOTAL_TOKENS_TYPE;\n [GEN_AI_USER_MESSAGE]?: GEN_AI_USER_MESSAGE_TYPE;\n [GRAPHQL_OPERATION_NAME]?: GRAPHQL_OPERATION_NAME_TYPE;\n [GRAPHQL_OPERATION_TYPE]?: GRAPHQL_OPERATION_TYPE_TYPE;\n [HTTP_CLIENT_IP]?: HTTP_CLIENT_IP_TYPE;\n [HTTP_DECODED_RESPONSE_CONTENT_LENGTH]?: HTTP_DECODED_RESPONSE_CONTENT_LENGTH_TYPE;\n [HTTP_FLAVOR]?: HTTP_FLAVOR_TYPE;\n [HTTP_FRAGMENT]?: HTTP_FRAGMENT_TYPE;\n [HTTP_HOST]?: HTTP_HOST_TYPE;\n [HTTP_METHOD]?: HTTP_METHOD_TYPE;\n [HTTP_QUERY]?: HTTP_QUERY_TYPE;\n [HTTP_REQUEST_CONNECT_START]?: HTTP_REQUEST_CONNECT_START_TYPE;\n [HTTP_REQUEST_CONNECTION_END]?: HTTP_REQUEST_CONNECTION_END_TYPE;\n [HTTP_REQUEST_DOMAIN_LOOKUP_END]?: HTTP_REQUEST_DOMAIN_LOOKUP_END_TYPE;\n [HTTP_REQUEST_DOMAIN_LOOKUP_START]?: HTTP_REQUEST_DOMAIN_LOOKUP_START_TYPE;\n [HTTP_REQUEST_FETCH_START]?: HTTP_REQUEST_FETCH_START_TYPE;\n [HTTP_REQUEST_HEADER_KEY]?: HTTP_REQUEST_HEADER_KEY_TYPE;\n [HTTP_REQUEST_METHOD]?: HTTP_REQUEST_METHOD_TYPE;\n [HTTP_REQUEST_REDIRECT_END]?: HTTP_REQUEST_REDIRECT_END_TYPE;\n [HTTP_REQUEST_REDIRECT_START]?: HTTP_REQUEST_REDIRECT_START_TYPE;\n [HTTP_REQUEST_REQUEST_START]?: HTTP_REQUEST_REQUEST_START_TYPE;\n [HTTP_REQUEST_RESEND_COUNT]?: HTTP_REQUEST_RESEND_COUNT_TYPE;\n [HTTP_REQUEST_RESPONSE_END]?: HTTP_REQUEST_RESPONSE_END_TYPE;\n [HTTP_REQUEST_RESPONSE_START]?: HTTP_REQUEST_RESPONSE_START_TYPE;\n [HTTP_REQUEST_SECURE_CONNECTION_START]?: HTTP_REQUEST_SECURE_CONNECTION_START_TYPE;\n [HTTP_REQUEST_TIME_TO_FIRST_BYTE]?: HTTP_REQUEST_TIME_TO_FIRST_BYTE_TYPE;\n [HTTP_REQUEST_WORKER_START]?: HTTP_REQUEST_WORKER_START_TYPE;\n [HTTP_RESPONSE_BODY_SIZE]?: HTTP_RESPONSE_BODY_SIZE_TYPE;\n [HTTP_RESPONSE_HEADER_KEY]?: HTTP_RESPONSE_HEADER_KEY_TYPE;\n [HTTP_RESPONSE_HEADER_CONTENT_LENGTH]?: HTTP_RESPONSE_HEADER_CONTENT_LENGTH_TYPE;\n [HTTP_RESPONSE_SIZE]?: HTTP_RESPONSE_SIZE_TYPE;\n [HTTP_RESPONSE_STATUS_CODE]?: HTTP_RESPONSE_STATUS_CODE_TYPE;\n [HTTP_RESPONSE_CONTENT_LENGTH]?: HTTP_RESPONSE_CONTENT_LENGTH_TYPE;\n [HTTP_RESPONSE_TRANSFER_SIZE]?: HTTP_RESPONSE_TRANSFER_SIZE_TYPE;\n [HTTP_ROUTE]?: HTTP_ROUTE_TYPE;\n [HTTP_SCHEME]?: HTTP_SCHEME_TYPE;\n [HTTP_SERVER_NAME]?: HTTP_SERVER_NAME_TYPE;\n [HTTP_STATUS_CODE]?: HTTP_STATUS_CODE_TYPE;\n [HTTP_TARGET]?: HTTP_TARGET_TYPE;\n [HTTP_URL]?: HTTP_URL_TYPE;\n [HTTP_USER_AGENT]?: HTTP_USER_AGENT_TYPE;\n [ID]?: ID_TYPE;\n [JVM_GC_ACTION]?: JVM_GC_ACTION_TYPE;\n [JVM_GC_NAME]?: JVM_GC_NAME_TYPE;\n [JVM_MEMORY_POOL_NAME]?: JVM_MEMORY_POOL_NAME_TYPE;\n [JVM_MEMORY_TYPE]?: JVM_MEMORY_TYPE_TYPE;\n [JVM_THREAD_DAEMON]?: JVM_THREAD_DAEMON_TYPE;\n [JVM_THREAD_STATE]?: JVM_THREAD_STATE_TYPE;\n [LCP_ELEMENT]?: LCP_ELEMENT_TYPE;\n [LCP_ID]?: LCP_ID_TYPE;\n [LCP_SIZE]?: LCP_SIZE_TYPE;\n [LCP_URL]?: LCP_URL_TYPE;\n [LOGGER_NAME]?: LOGGER_NAME_TYPE;\n [MCP_PROMPT_RESULT]?: MCP_PROMPT_RESULT_TYPE;\n [MCP_TOOL_RESULT_CONTENT]?: MCP_TOOL_RESULT_CONTENT_TYPE;\n [MDC_KEY]?: MDC_KEY_TYPE;\n [MESSAGING_DESTINATION_CONNECTION]?: MESSAGING_DESTINATION_CONNECTION_TYPE;\n [MESSAGING_DESTINATION_NAME]?: MESSAGING_DESTINATION_NAME_TYPE;\n [MESSAGING_MESSAGE_BODY_SIZE]?: MESSAGING_MESSAGE_BODY_SIZE_TYPE;\n [MESSAGING_MESSAGE_ENVELOPE_SIZE]?: MESSAGING_MESSAGE_ENVELOPE_SIZE_TYPE;\n [MESSAGING_MESSAGE_ID]?: MESSAGING_MESSAGE_ID_TYPE;\n [MESSAGING_MESSAGE_RECEIVE_LATENCY]?: MESSAGING_MESSAGE_RECEIVE_LATENCY_TYPE;\n [MESSAGING_MESSAGE_RETRY_COUNT]?: MESSAGING_MESSAGE_RETRY_COUNT_TYPE;\n [MESSAGING_OPERATION_TYPE]?: MESSAGING_OPERATION_TYPE_TYPE;\n [MESSAGING_SYSTEM]?: MESSAGING_SYSTEM_TYPE;\n [METHOD]?: METHOD_TYPE;\n [NAVIGATION_TYPE]?: NAVIGATION_TYPE_TYPE;\n [NEL_ELAPSED_TIME]?: NEL_ELAPSED_TIME_TYPE;\n [NEL_PHASE]?: NEL_PHASE_TYPE;\n [NEL_REFERRER]?: NEL_REFERRER_TYPE;\n [NEL_SAMPLING_FUNCTION]?: NEL_SAMPLING_FUNCTION_TYPE;\n [NEL_TYPE]?: NEL_TYPE_TYPE;\n [NET_HOST_IP]?: NET_HOST_IP_TYPE;\n [NET_HOST_NAME]?: NET_HOST_NAME_TYPE;\n [NET_HOST_PORT]?: NET_HOST_PORT_TYPE;\n [NET_PEER_IP]?: NET_PEER_IP_TYPE;\n [NET_PEER_NAME]?: NET_PEER_NAME_TYPE;\n [NET_PEER_PORT]?: NET_PEER_PORT_TYPE;\n [NET_PROTOCOL_NAME]?: NET_PROTOCOL_NAME_TYPE;\n [NET_PROTOCOL_VERSION]?: NET_PROTOCOL_VERSION_TYPE;\n [NET_SOCK_FAMILY]?: NET_SOCK_FAMILY_TYPE;\n [NET_SOCK_HOST_ADDR]?: NET_SOCK_HOST_ADDR_TYPE;\n [NET_SOCK_HOST_PORT]?: NET_SOCK_HOST_PORT_TYPE;\n [NET_SOCK_PEER_ADDR]?: NET_SOCK_PEER_ADDR_TYPE;\n [NET_SOCK_PEER_NAME]?: NET_SOCK_PEER_NAME_TYPE;\n [NET_SOCK_PEER_PORT]?: NET_SOCK_PEER_PORT_TYPE;\n [NET_TRANSPORT]?: NET_TRANSPORT_TYPE;\n [NETWORK_LOCAL_ADDRESS]?: NETWORK_LOCAL_ADDRESS_TYPE;\n [NETWORK_LOCAL_PORT]?: NETWORK_LOCAL_PORT_TYPE;\n [NETWORK_PEER_ADDRESS]?: NETWORK_PEER_ADDRESS_TYPE;\n [NETWORK_PEER_PORT]?: NETWORK_PEER_PORT_TYPE;\n [NETWORK_PROTOCOL_NAME]?: NETWORK_PROTOCOL_NAME_TYPE;\n [NETWORK_PROTOCOL_VERSION]?: NETWORK_PROTOCOL_VERSION_TYPE;\n [NETWORK_TRANSPORT]?: NETWORK_TRANSPORT_TYPE;\n [NETWORK_TYPE]?: NETWORK_TYPE_TYPE;\n [OS_BUILD_ID]?: OS_BUILD_ID_TYPE;\n [OS_DESCRIPTION]?: OS_DESCRIPTION_TYPE;\n [OS_NAME]?: OS_NAME_TYPE;\n [OS_TYPE]?: OS_TYPE_TYPE;\n [OS_VERSION]?: OS_VERSION_TYPE;\n [OTEL_SCOPE_NAME]?: OTEL_SCOPE_NAME_TYPE;\n [OTEL_SCOPE_VERSION]?: OTEL_SCOPE_VERSION_TYPE;\n [OTEL_STATUS_CODE]?: OTEL_STATUS_CODE_TYPE;\n [OTEL_STATUS_DESCRIPTION]?: OTEL_STATUS_DESCRIPTION_TYPE;\n [PARAMS_KEY]?: PARAMS_KEY_TYPE;\n [PREVIOUS_ROUTE]?: PREVIOUS_ROUTE_TYPE;\n [PROCESS_EXECUTABLE_NAME]?: PROCESS_EXECUTABLE_NAME_TYPE;\n [PROCESS_PID]?: PROCESS_PID_TYPE;\n [PROCESS_RUNTIME_DESCRIPTION]?: PROCESS_RUNTIME_DESCRIPTION_TYPE;\n [PROCESS_RUNTIME_NAME]?: PROCESS_RUNTIME_NAME_TYPE;\n [PROCESS_RUNTIME_VERSION]?: PROCESS_RUNTIME_VERSION_TYPE;\n [PROFILE_ID]?: PROFILE_ID_TYPE;\n [QUERY_KEY]?: QUERY_KEY_TYPE;\n [RELEASE]?: RELEASE_TYPE;\n [REMIX_ACTION_FORM_DATA_KEY]?: REMIX_ACTION_FORM_DATA_KEY_TYPE;\n [REPLAY_ID]?: REPLAY_ID_TYPE;\n [RESOURCE_RENDER_BLOCKING_STATUS]?: RESOURCE_RENDER_BLOCKING_STATUS_TYPE;\n [ROUTE]?: ROUTE_TYPE;\n [RPC_GRPC_STATUS_CODE]?: RPC_GRPC_STATUS_CODE_TYPE;\n [RPC_SERVICE]?: RPC_SERVICE_TYPE;\n [SENTRY_INTERNAL_DSC_ENVIRONMENT]?: SENTRY_INTERNAL_DSC_ENVIRONMENT_TYPE;\n [SENTRY_INTERNAL_DSC_ORG_ID]?: SENTRY_INTERNAL_DSC_ORG_ID_TYPE;\n [SENTRY_INTERNAL_DSC_PUBLIC_KEY]?: SENTRY_INTERNAL_DSC_PUBLIC_KEY_TYPE;\n [SENTRY_INTERNAL_DSC_RELEASE]?: SENTRY_INTERNAL_DSC_RELEASE_TYPE;\n [SENTRY_INTERNAL_DSC_SAMPLE_RAND]?: SENTRY_INTERNAL_DSC_SAMPLE_RAND_TYPE;\n [SENTRY_INTERNAL_DSC_SAMPLE_RATE]?: SENTRY_INTERNAL_DSC_SAMPLE_RATE_TYPE;\n [SENTRY_INTERNAL_DSC_SAMPLED]?: SENTRY_INTERNAL_DSC_SAMPLED_TYPE;\n [SENTRY_INTERNAL_DSC_TRACE_ID]?: SENTRY_INTERNAL_DSC_TRACE_ID_TYPE;\n [SENTRY_INTERNAL_DSC_TRANSACTION]?: SENTRY_INTERNAL_DSC_TRANSACTION_TYPE;\n [SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS]?: SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS_TYPE;\n [SENTRY_INTERNAL_REPLAY_IS_BUFFERING]?: SENTRY_INTERNAL_REPLAY_IS_BUFFERING_TYPE;\n [SENTRY_BROWSER_NAME]?: SENTRY_BROWSER_NAME_TYPE;\n [SENTRY_BROWSER_VERSION]?: SENTRY_BROWSER_VERSION_TYPE;\n [SENTRY_CANCELLATION_REASON]?: SENTRY_CANCELLATION_REASON_TYPE;\n [SENTRY_CLIENT_SAMPLE_RATE]?: SENTRY_CLIENT_SAMPLE_RATE_TYPE;\n [SENTRY_DESCRIPTION]?: SENTRY_DESCRIPTION_TYPE;\n [SENTRY_DIST]?: SENTRY_DIST_TYPE;\n [SENTRY_ENVIRONMENT]?: SENTRY_ENVIRONMENT_TYPE;\n [SENTRY_EXCLUSIVE_TIME]?: SENTRY_EXCLUSIVE_TIME_TYPE;\n [SENTRY_HTTP_PREFETCH]?: SENTRY_HTTP_PREFETCH_TYPE;\n [SENTRY_IDLE_SPAN_FINISH_REASON]?: SENTRY_IDLE_SPAN_FINISH_REASON_TYPE;\n [SENTRY_MESSAGE_PARAMETER_KEY]?: SENTRY_MESSAGE_PARAMETER_KEY_TYPE;\n [SENTRY_MESSAGE_TEMPLATE]?: SENTRY_MESSAGE_TEMPLATE_TYPE;\n [SENTRY_MODULE_KEY]?: SENTRY_MODULE_KEY_TYPE;\n [SENTRY_NEXTJS_SSR_FUNCTION_ROUTE]?: SENTRY_NEXTJS_SSR_FUNCTION_ROUTE_TYPE;\n [SENTRY_NEXTJS_SSR_FUNCTION_TYPE]?: SENTRY_NEXTJS_SSR_FUNCTION_TYPE_TYPE;\n [SENTRY_OBSERVED_TIMESTAMP_NANOS]?: SENTRY_OBSERVED_TIMESTAMP_NANOS_TYPE;\n [SENTRY_OP]?: SENTRY_OP_TYPE;\n [SENTRY_ORIGIN]?: SENTRY_ORIGIN_TYPE;\n [SENTRY_PLATFORM]?: SENTRY_PLATFORM_TYPE;\n [SENTRY_PROFILE_ID]?: SENTRY_PROFILE_ID_TYPE;\n [SENTRY_RELEASE]?: SENTRY_RELEASE_TYPE;\n [SENTRY_REPLAY_ID]?: SENTRY_REPLAY_ID_TYPE;\n [SENTRY_SDK_INTEGRATIONS]?: SENTRY_SDK_INTEGRATIONS_TYPE;\n [SENTRY_SDK_NAME]?: SENTRY_SDK_NAME_TYPE;\n [SENTRY_SDK_VERSION]?: SENTRY_SDK_VERSION_TYPE;\n [SENTRY_SEGMENT_ID]?: SENTRY_SEGMENT_ID_TYPE;\n [SENTRY_SEGMENT_NAME]?: SENTRY_SEGMENT_NAME_TYPE;\n [_SENTRY_SEGMENT_ID]?: _SENTRY_SEGMENT_ID_TYPE;\n [SENTRY_SERVER_SAMPLE_RATE]?: SENTRY_SERVER_SAMPLE_RATE_TYPE;\n [SENTRY_SPAN_SOURCE]?: SENTRY_SPAN_SOURCE_TYPE;\n [SENTRY_TRACE_PARENT_SPAN_ID]?: SENTRY_TRACE_PARENT_SPAN_ID_TYPE;\n [SENTRY_TRANSACTION]?: SENTRY_TRANSACTION_TYPE;\n [SERVER_ADDRESS]?: SERVER_ADDRESS_TYPE;\n [SERVER_PORT]?: SERVER_PORT_TYPE;\n [SERVICE_NAME]?: SERVICE_NAME_TYPE;\n [SERVICE_VERSION]?: SERVICE_VERSION_TYPE;\n [THREAD_ID]?: THREAD_ID_TYPE;\n [THREAD_NAME]?: THREAD_NAME_TYPE;\n [TRANSACTION]?: TRANSACTION_TYPE;\n [TYPE]?: TYPE_TYPE;\n [UI_COMPONENT_NAME]?: UI_COMPONENT_NAME_TYPE;\n [UI_CONTRIBUTES_TO_TTFD]?: UI_CONTRIBUTES_TO_TTFD_TYPE;\n [UI_CONTRIBUTES_TO_TTID]?: UI_CONTRIBUTES_TO_TTID_TYPE;\n [URL_DOMAIN]?: URL_DOMAIN_TYPE;\n [URL_FRAGMENT]?: URL_FRAGMENT_TYPE;\n [URL_FULL]?: URL_FULL_TYPE;\n [URL_PATH]?: URL_PATH_TYPE;\n [URL_PATH_PARAMETER_KEY]?: URL_PATH_PARAMETER_KEY_TYPE;\n [URL_PORT]?: URL_PORT_TYPE;\n [URL_QUERY]?: URL_QUERY_TYPE;\n [URL_SCHEME]?: URL_SCHEME_TYPE;\n [URL_TEMPLATE]?: URL_TEMPLATE_TYPE;\n [URL]?: URL_TYPE;\n [USER_EMAIL]?: USER_EMAIL_TYPE;\n [USER_FULL_NAME]?: USER_FULL_NAME_TYPE;\n [USER_GEO_CITY]?: USER_GEO_CITY_TYPE;\n [USER_GEO_COUNTRY_CODE]?: USER_GEO_COUNTRY_CODE_TYPE;\n [USER_GEO_REGION]?: USER_GEO_REGION_TYPE;\n [USER_GEO_SUBDIVISION]?: USER_GEO_SUBDIVISION_TYPE;\n [USER_HASH]?: USER_HASH_TYPE;\n [USER_ID]?: USER_ID_TYPE;\n [USER_IP_ADDRESS]?: USER_IP_ADDRESS_TYPE;\n [USER_NAME]?: USER_NAME_TYPE;\n [USER_ROLES]?: USER_ROLES_TYPE;\n [USER_AGENT_ORIGINAL]?: USER_AGENT_ORIGINAL_TYPE;\n [VERCEL_BRANCH]?: VERCEL_BRANCH_TYPE;\n [VERCEL_BUILD_ID]?: VERCEL_BUILD_ID_TYPE;\n [VERCEL_DEPLOYMENT_ID]?: VERCEL_DEPLOYMENT_ID_TYPE;\n [VERCEL_DESTINATION]?: VERCEL_DESTINATION_TYPE;\n [VERCEL_EDGE_TYPE]?: VERCEL_EDGE_TYPE_TYPE;\n [VERCEL_ENTRYPOINT]?: VERCEL_ENTRYPOINT_TYPE;\n [VERCEL_EXECUTION_REGION]?: VERCEL_EXECUTION_REGION_TYPE;\n [VERCEL_ID]?: VERCEL_ID_TYPE;\n [VERCEL_JA3_DIGEST]?: VERCEL_JA3_DIGEST_TYPE;\n [VERCEL_JA4_DIGEST]?: VERCEL_JA4_DIGEST_TYPE;\n [VERCEL_LOG_TYPE]?: VERCEL_LOG_TYPE_TYPE;\n [VERCEL_PROJECT_ID]?: VERCEL_PROJECT_ID_TYPE;\n [VERCEL_PROJECT_NAME]?: VERCEL_PROJECT_NAME_TYPE;\n [VERCEL_PROXY_CACHE_ID]?: VERCEL_PROXY_CACHE_ID_TYPE;\n [VERCEL_PROXY_CLIENT_IP]?: VERCEL_PROXY_CLIENT_IP_TYPE;\n [VERCEL_PROXY_HOST]?: VERCEL_PROXY_HOST_TYPE;\n [VERCEL_PROXY_LAMBDA_REGION]?: VERCEL_PROXY_LAMBDA_REGION_TYPE;\n [VERCEL_PROXY_METHOD]?: VERCEL_PROXY_METHOD_TYPE;\n [VERCEL_PROXY_PATH]?: VERCEL_PROXY_PATH_TYPE;\n [VERCEL_PROXY_PATH_TYPE]?: VERCEL_PROXY_PATH_TYPE_TYPE;\n [VERCEL_PROXY_PATH_TYPE_VARIANT]?: VERCEL_PROXY_PATH_TYPE_VARIANT_TYPE;\n [VERCEL_PROXY_REFERER]?: VERCEL_PROXY_REFERER_TYPE;\n [VERCEL_PROXY_REGION]?: VERCEL_PROXY_REGION_TYPE;\n [VERCEL_PROXY_RESPONSE_BYTE_SIZE]?: VERCEL_PROXY_RESPONSE_BYTE_SIZE_TYPE;\n [VERCEL_PROXY_SCHEME]?: VERCEL_PROXY_SCHEME_TYPE;\n [VERCEL_PROXY_STATUS_CODE]?: VERCEL_PROXY_STATUS_CODE_TYPE;\n [VERCEL_PROXY_TIMESTAMP]?: VERCEL_PROXY_TIMESTAMP_TYPE;\n [VERCEL_PROXY_USER_AGENT]?: VERCEL_PROXY_USER_AGENT_TYPE;\n [VERCEL_PROXY_VERCEL_CACHE]?: VERCEL_PROXY_VERCEL_CACHE_TYPE;\n [VERCEL_PROXY_VERCEL_ID]?: VERCEL_PROXY_VERCEL_ID_TYPE;\n [VERCEL_PROXY_WAF_ACTION]?: VERCEL_PROXY_WAF_ACTION_TYPE;\n [VERCEL_PROXY_WAF_RULE_ID]?: VERCEL_PROXY_WAF_RULE_ID_TYPE;\n [VERCEL_REQUEST_ID]?: VERCEL_REQUEST_ID_TYPE;\n [VERCEL_SOURCE]?: VERCEL_SOURCE_TYPE;\n [VERCEL_STATUS_CODE]?: VERCEL_STATUS_CODE_TYPE;\n} & Record<string, AttributeValue | undefined>;\n"],"names":["AI_CITATIONS","AI_COMPLETION_TOKENS_USED","AI_DOCUMENTS","AI_FINISH_REASON","AI_FREQUENCY_PENALTY","AI_FUNCTION_CALL","AI_GENERATION_ID","AI_INPUT_MESSAGES","AI_IS_SEARCH_REQUIRED","AI_METADATA","AI_MODEL_PROVIDER","AI_MODEL_ID","AI_PIPELINE_NAME","AI_PREAMBLE","AI_PRESENCE_PENALTY","AI_PROMPT_TOKENS_USED","AI_RAW_PROMPTING","AI_RESPONSE_FORMAT","AI_RESPONSES","AI_SEARCH_QUERIES","AI_SEARCH_RESULTS","AI_SEED","AI_STREAMING","AI_TAGS","AI_TEMPERATURE","AI_TEXTS","AI_TOOL_CALLS","AI_TOOLS","AI_TOP_K","AI_TOP_P","AI_TOTAL_COST","AI_TOTAL_TOKENS_USED","AI_WARNINGS","APP_START_TYPE","BLOCKED_MAIN_THREAD","BROWSER_NAME","BROWSER_REPORT_TYPE","BROWSER_SCRIPT_INVOKER","BROWSER_SCRIPT_INVOKER_TYPE","BROWSER_SCRIPT_SOURCE_CHAR_POSITION","BROWSER_VERSION","CACHE_HIT","CACHE_ITEM_SIZE","CACHE_KEY","CACHE_OPERATION","CACHE_TTL","CHANNEL","CLIENT_ADDRESS","CLIENT_PORT","CLOUDFLARE_D1_DURATION","CLOUDFLARE_D1_ROWS_READ","CLOUDFLARE_D1_ROWS_WRITTEN","CODE_FILE_PATH","CODE_FILEPATH","CODE_FUNCTION","CODE_FUNCTION_NAME","CODE_LINE_NUMBER","CODE_LINENO","CODE_NAMESPACE","DB_COLLECTION_NAME","DB_NAME","DB_NAMESPACE","DB_OPERATION","DB_OPERATION_NAME","DB_QUERY_PARAMETER_KEY","DB_QUERY_SUMMARY","DB_QUERY_TEXT","DB_REDIS_CONNECTION","DB_REDIS_PARAMETERS","DB_SQL_BINDINGS","DB_STATEMENT","DB_SYSTEM","DB_SYSTEM_NAME","DB_USER","DEVICE_BRAND","DEVICE_FAMILY","DEVICE_MODEL","ENVIRONMENT","ERROR_TYPE","EVENT_ID","EVENT_NAME","EXCEPTION_ESCAPED","EXCEPTION_MESSAGE","EXCEPTION_STACKTRACE","EXCEPTION_TYPE","FAAS_COLDSTART","FAAS_CRON","FAAS_TIME","FAAS_TRIGGER","FLAG_EVALUATION_KEY","FRAMES_DELAY","FRAMES_FROZEN","FRAMES_SLOW","FRAMES_TOTAL","FS_ERROR","GEN_AI_AGENT_NAME","GEN_AI_ASSISTANT_MESSAGE","GEN_AI_CHOICE","GEN_AI_COST_INPUT_TOKENS","GEN_AI_COST_OUTPUT_TOKENS","GEN_AI_COST_TOTAL_TOKENS","GEN_AI_OPERATION_NAME","GEN_AI_OPERATION_TYPE","GEN_AI_PIPELINE_NAME","GEN_AI_PROMPT","GEN_AI_REQUEST_AVAILABLE_TOOLS","GEN_AI_REQUEST_FREQUENCY_PENALTY","GEN_AI_REQUEST_MAX_TOKENS","GEN_AI_REQUEST_MESSAGES","GEN_AI_REQUEST_MODEL","GEN_AI_REQUEST_PRESENCE_PENALTY","GEN_AI_REQUEST_SEED","GEN_AI_REQUEST_TEMPERATURE","GEN_AI_REQUEST_TOP_K","GEN_AI_REQUEST_TOP_P","GEN_AI_RESPONSE_FINISH_REASONS","GEN_AI_RESPONSE_ID","GEN_AI_RESPONSE_MODEL","GEN_AI_RESPONSE_STREAMING","GEN_AI_RESPONSE_TEXT","GEN_AI_RESPONSE_TOKENS_PER_SECOND","GEN_AI_RESPONSE_TOOL_CALLS","GEN_AI_SYSTEM","GEN_AI_SYSTEM_MESSAGE","GEN_AI_TOOL_DESCRIPTION","GEN_AI_TOOL_INPUT","GEN_AI_TOOL_MESSAGE","GEN_AI_TOOL_NAME","GEN_AI_TOOL_OUTPUT","GEN_AI_TOOL_TYPE","GEN_AI_USAGE_COMPLETION_TOKENS","GEN_AI_USAGE_INPUT_TOKENS","GEN_AI_USAGE_INPUT_TOKENS_CACHED","GEN_AI_USAGE_OUTPUT_TOKENS","GEN_AI_USAGE_OUTPUT_TOKENS_REASONING","GEN_AI_USAGE_PROMPT_TOKENS","GEN_AI_USAGE_TOTAL_COST","GEN_AI_USAGE_TOTAL_TOKENS","GEN_AI_USER_MESSAGE","GRAPHQL_OPERATION_NAME","GRAPHQL_OPERATION_TYPE","HTTP_CLIENT_IP","HTTP_DECODED_RESPONSE_CONTENT_LENGTH","HTTP_FLAVOR","HTTP_FRAGMENT","HTTP_HOST","HTTP_METHOD","HTTP_QUERY","HTTP_REQUEST_CONNECT_START","HTTP_REQUEST_CONNECTION_END","HTTP_REQUEST_DOMAIN_LOOKUP_END","HTTP_REQUEST_DOMAIN_LOOKUP_START","HTTP_REQUEST_FETCH_START","HTTP_REQUEST_HEADER_KEY","HTTP_REQUEST_METHOD","HTTP_REQUEST_REDIRECT_END","HTTP_REQUEST_REDIRECT_START","HTTP_REQUEST_REQUEST_START","HTTP_REQUEST_RESEND_COUNT","HTTP_REQUEST_RESPONSE_END","HTTP_REQUEST_RESPONSE_START","HTTP_REQUEST_SECURE_CONNECTION_START","HTTP_REQUEST_TIME_TO_FIRST_BYTE","HTTP_REQUEST_WORKER_START","HTTP_RESPONSE_BODY_SIZE","HTTP_RESPONSE_HEADER_KEY","HTTP_RESPONSE_HEADER_CONTENT_LENGTH","HTTP_RESPONSE_SIZE","HTTP_RESPONSE_STATUS_CODE","HTTP_RESPONSE_CONTENT_LENGTH","HTTP_RESPONSE_TRANSFER_SIZE","HTTP_ROUTE","HTTP_SCHEME","HTTP_SERVER_NAME","HTTP_STATUS_CODE","HTTP_TARGET","HTTP_URL","HTTP_USER_AGENT","ID","JVM_GC_ACTION","JVM_GC_NAME","JVM_MEMORY_POOL_NAME","JVM_MEMORY_TYPE","JVM_THREAD_DAEMON","JVM_THREAD_STATE","LCP_ELEMENT","LCP_ID","LCP_SIZE","LCP_URL","LOGGER_NAME","MCP_PROMPT_RESULT","MCP_TOOL_RESULT_CONTENT","MDC_KEY","MESSAGING_DESTINATION_CONNECTION","MESSAGING_DESTINATION_NAME","MESSAGING_MESSAGE_BODY_SIZE","MESSAGING_MESSAGE_ENVELOPE_SIZE","MESSAGING_MESSAGE_ID","MESSAGING_MESSAGE_RECEIVE_LATENCY","MESSAGING_MESSAGE_RETRY_COUNT","MESSAGING_OPERATION_TYPE","MESSAGING_SYSTEM","METHOD","NAVIGATION_TYPE","NEL_ELAPSED_TIME","NEL_PHASE","NEL_REFERRER","NEL_SAMPLING_FUNCTION","NEL_TYPE","NET_HOST_IP","NET_HOST_NAME","NET_HOST_PORT","NET_PEER_IP","NET_PEER_NAME","NET_PEER_PORT","NET_PROTOCOL_NAME","NET_PROTOCOL_VERSION","NET_SOCK_FAMILY","NET_SOCK_HOST_ADDR","NET_SOCK_HOST_PORT","NET_SOCK_PEER_ADDR","NET_SOCK_PEER_NAME","NET_SOCK_PEER_PORT","NET_TRANSPORT","NETWORK_LOCAL_ADDRESS","NETWORK_LOCAL_PORT","NETWORK_PEER_ADDRESS","NETWORK_PEER_PORT","NETWORK_PROTOCOL_NAME","NETWORK_PROTOCOL_VERSION","NETWORK_TRANSPORT","NETWORK_TYPE","OS_BUILD_ID","OS_DESCRIPTION","OS_NAME","OS_TYPE","OS_VERSION","OTEL_SCOPE_NAME","OTEL_SCOPE_VERSION","OTEL_STATUS_CODE","OTEL_STATUS_DESCRIPTION","PARAMS_KEY","PREVIOUS_ROUTE","PROCESS_EXECUTABLE_NAME","PROCESS_PID","PROCESS_RUNTIME_DESCRIPTION","PROCESS_RUNTIME_NAME","PROCESS_RUNTIME_VERSION","PROFILE_ID","QUERY_KEY","RELEASE","REMIX_ACTION_FORM_DATA_KEY","REPLAY_ID","RESOURCE_RENDER_BLOCKING_STATUS","ROUTE","RPC_GRPC_STATUS_CODE","RPC_SERVICE","SENTRY_INTERNAL_DSC_ENVIRONMENT","SENTRY_INTERNAL_DSC_ORG_ID","SENTRY_INTERNAL_DSC_PUBLIC_KEY","SENTRY_INTERNAL_DSC_RELEASE","SENTRY_INTERNAL_DSC_SAMPLE_RAND","SENTRY_INTERNAL_DSC_SAMPLE_RATE","SENTRY_INTERNAL_DSC_SAMPLED","SENTRY_INTERNAL_DSC_TRACE_ID","SENTRY_INTERNAL_DSC_TRANSACTION","SENTRY_INTERNAL_OBSERVED_TIMESTAMP_NANOS","SENTRY_INTERNAL_REPLAY_IS_BUFFERING","SENTRY_BROWSER_NAME","SENTRY_BROWSER_VERSION","SENTRY_CANCELLATION_REASON","SENTRY_CLIENT_SAMPLE_RATE","SENTRY_DESCRIPTION","SENTRY_DIST","SENTRY_ENVIRONMENT","SENTRY_EXCLUSIVE_TIME","SENTRY_HTTP_PREFETCH","SENTRY_IDLE_SPAN_FINISH_REASON","SENTRY_MESSAGE_PARAMETER_KEY","SENTRY_MESSAGE_TEMPLATE","SENTRY_MODULE_KEY","SENTRY_NEXTJS_SSR_FUNCTION_ROUTE","SENTRY_NEXTJS_SSR_FUNCTION_TYPE","SENTRY_OBSERVED_TIMESTAMP_NANOS","SENTRY_OP","SENTRY_ORIGIN","SENTRY_PLATFORM","SENTRY_PROFILE_ID","SENTRY_RELEASE","SENTRY_REPLAY_ID","SENTRY_SDK_INTEGRATIONS","SENTRY_SDK_NAME","SENTRY_SDK_VERSION","SENTRY_SEGMENT_ID","SENTRY_SEGMENT_NAME","_SENTRY_SEGMENT_ID","SENTRY_SERVER_SAMPLE_RATE","SENTRY_SPAN_SOURCE","SENTRY_TRACE_PARENT_SPAN_ID","SENTRY_TRANSACTION","SERVER_ADDRESS","SERVER_PORT","SERVICE_NAME","SERVICE_VERSION","THREAD_ID","THREAD_NAME","TRANSACTION","TYPE","UI_COMPONENT_NAME","UI_CONTRIBUTES_TO_TTFD","UI_CONTRIBUTES_TO_TTID","URL_DOMAIN","URL_FRAGMENT","URL_FULL","URL_PATH","URL_PATH_PARAMETER_KEY","URL_PORT","URL_QUERY","URL_SCHEME","URL_TEMPLATE","URL","USER_EMAIL","USER_FULL_NAME","USER_GEO_CITY","USER_GEO_COUNTRY_CODE","USER_GEO_REGION","USER_GEO_SUBDIVISION","USER_HASH","USER_ID","USER_IP_ADDRESS","USER_NAME","USER_ROLES","USER_AGENT_ORIGINAL","VERCEL_BRANCH","VERCEL_BUILD_ID","VERCEL_DEPLOYMENT_ID","VERCEL_DESTINATION","VERCEL_EDGE_TYPE","VERCEL_ENTRYPOINT","VERCEL_EXECUTION_REGION","VERCEL_ID","VERCEL_JA3_DIGEST","VERCEL_JA4_DIGEST","VERCEL_LOG_TYPE","VERCEL_PROJECT_ID","VERCEL_PROJECT_NAME","VERCEL_PROXY_CACHE_ID","VERCEL_PROXY_CLIENT_IP","VERCEL_PROXY_HOST","VERCEL_PROXY_LAMBDA_REGION","VERCEL_PROXY_METHOD","VERCEL_PROXY_PATH","VERCEL_PROXY_PATH_TYPE","VERCEL_PROXY_PATH_TYPE_VARIANT","VERCEL_PROXY_REFERER","VERCEL_PROXY_REGION","VERCEL_PROXY_RESPONSE_BYTE_SIZE","VERCEL_PROXY_SCHEME","VERCEL_PROXY_STATUS_CODE","VERCEL_PROXY_TIMESTAMP","VERCEL_PROXY_USER_AGENT","VERCEL_PROXY_VERCEL_CACHE","VERCEL_PROXY_VERCEL_ID","VERCEL_PROXY_WAF_ACTION","VERCEL_PROXY_WAF_RULE_ID","VERCEL_REQUEST_ID","VERCEL_SOURCE","VERCEL_STATUS_CODE","ATTRIBUTE_TYPE","ATTRIBUTE_METADATA"],"mappings":"AAeO,MAAMA,GAAe,eAuBfC,EAA4B,4BAoB5BC,GAAe,eAuBfC,EAAmB,mBAuBnBC,EAAuB,uBAuBvBC,EAAmB,mBAuBnBC,EAAmB,mBAuBnBC,EAAoB,oBAoBpBC,GAAwB,wBAoBxBC,GAAc,cAuBdC,EAAoB,oBAuBpBC,EAAc,cAuBdC,EAAmB,mBAoBnBC,GAAc,cAuBdC,EAAsB,sBAuBtBC,EAAwB,wBAoBxBC,GAAmB,mBAoBnBC,GAAqB,qBAqBrBC,GAAe,eAoBfC,GAAoB,oBAoBpBC,GAAoB,oBAuBpBC,EAAU,UAuBVC,EAAe,eAoBfC,GAAU,UAuBVC,EAAiB,iBAoBjBC,GAAW,WAqBXC,GAAgB,gBAqBhBC,GAAW,WAuBXC,EAAW,WAuBXC,EAAW,WAoBXC,GAAgB,gBAuBhBC,EAAuB,uBAoBvBC,GAAc,cAoBdC,GAAiB,iBAoBjBC,GAAsB,sBAsBtBC,EAAe,eAoBfC,GAAsB,sBAoBtBC,GAAyB,yBAoBzBC,GAA8B,8BAoB9BC,GAAsC,sCAsBtCC,EAAkB,kBAoBlBC,GAAY,YAoBZC,GAAkB,kBAoBlBC,GAAY,YAoBZC,GAAkB,kBAoBlBC,GAAY,YAoBZC,GAAU,UAsBVC,EAAiB,iBAoBjBC,GAAc,cAoBdC,GAAyB,yBAoBzBC,GAA0B,0BAoB1BC,GAA6B,6BAsB7BC,EAAiB,iBAuBjBC,EAAgB,gBAuBhBC,EAAgB,gBAsBhBC,EAAqB,qBAsBrBC,EAAmB,mBAuBnBC,EAAc,cAqBdC,GAAiB,iBAoBjBC,GAAqB,qBAuBrBC,EAAU,UAsBVC,EAAe,eAuBfC,GAAe,eAsBfC,GAAoB,oBAsBpBC,GAAyB,2BAoBzBC,GAAmB,mBAsBnBC,GAAgB,gBAoBhBC,GAAsB,sBAoBtBC,GAAsB,sBAqBtBC,GAAkB,kBAuBlBC,GAAe,eAuBfC,GAAY,YAsBZC,GAAiB,iBAoBjBC,GAAU,UAoBVC,GAAe,eAoBfC,GAAgB,gBAoBhBC,GAAe,eAuBfC,GAAc,cAoBdC,GAAa,aAoBbC,GAAW,WAoBXC,GAAa,aAoBbC,GAAoB,oBAoBpBC,GAAoB,oBAoBpBC,GAAuB,uBAoBvBC,GAAiB,iBAoBjBC,GAAiB,iBAoBjBC,GAAY,YAoBZC,GAAY,YAoBZC,GAAe,eAsBfC,GAAsB,wBAoBtBC,GAAe,eAoBfC,GAAgB,gBAoBhBC,GAAc,cAoBdC,GAAe,eAqBfC,GAAW,WAoBXC,GAAoB,oBAoBpBC,GAA2B,2BAoB3BC,GAAgB,gBAoBhBC,GAA2B,2BAoB3BC,GAA4B,4BAoB5BC,GAA2B,2BAoB3BC,GAAwB,wBAoBxBC,GAAwB,wBAsBxBC,GAAuB,uBAqBvBC,GAAgB,gBAoBhBC,GAAiC,iCAsBjCC,GAAmC,mCAoBnCC,GAA4B,4BAsB5BC,GAA0B,0BAoB1BC,GAAuB,uBAsBvBC,GAAkC,kCAsBlCC,GAAsB,sBAsBtBC,GAA6B,6BAsB7BC,GAAuB,uBAsBvBC,GAAuB,uBAsBvBC,GAAiC,iCAsBjCC,GAAqB,qBAsBrBC,GAAwB,wBAsBxBC,GAA4B,4BAoB5BC,GAAuB,uBAoBvBC,GAAoC,oCAoBpCC,GAA6B,6BAsB7BC,GAAgB,gBAoBhBC,GAAwB,wBAoBxBC,GAA0B,0BAoB1BC,GAAoB,oBAoBpBC,GAAsB,sBAsBtBC,GAAmB,mBAoBnBC,GAAqB,qBAoBrBC,GAAmB,mBAuBnBC,EAAiC,iCAsBjCC,EAA4B,4BAoB5BC,GAAmC,mCAsBnCC,EAA6B,6BAoB7BC,GAAuC,uCAuBvCC,EAA6B,6BAqB7BC,GAA0B,0BAsB1BC,GAA4B,4BAoB5BC,GAAsB,sBAoBtBC,GAAyB,yBAoBzBC,GAAyB,yBAuBzBC,GAAiB,iBAoBjBC,GAAuC,uCAuBvCC,EAAc,cAoBdC,GAAgB,gBAuBhBC,EAAY,YAuBZC,GAAc,cAoBdC,GAAa,aAoBbC,GAA6B,6BAoB7BC,GAA8B,8BAoB9BC,GAAiC,iCAoBjCC,GAAmC,mCAoBnCC,GAA2B,2BAsB3BC,GAA0B,4BAsB1BC,EAAsB,sBAoBtBC,GAA4B,4BAoB5BC,GAA8B,8BAoB9BC,GAA6B,6BAoB7BC,GAA4B,4BAoB5BC,GAA4B,4BAoB5BC,GAA8B,8BAoB9BC,GAAuC,uCAoBvCC,GAAkC,kCAoBlCC,GAA4B,4BAsB5BC,EAA0B,0BAsB1BC,GAA2B,6BAsB3BC,EAAsC,sCAsBtCC,GAAqB,qBAsBrBC,GAA4B,4BAuB5BC,EAA+B,+BAuB/BC,GAA8B,8BAsB9BC,EAAa,aAuBbC,GAAc,cAuBdC,EAAmB,mBAuBnBC,GAAmB,mBAqBnBC,GAAc,cAuBdC,EAAW,WAuBXC,GAAkB,kBAoBlBC,GAAK,KAoBLC,GAAgB,gBAoBhBC,GAAc,cAoBdC,GAAuB,uBAoBvBC,GAAkB,kBAoBlBC,GAAoB,oBAoBpBC,GAAmB,mBAoBnBC,GAAc,cAoBdC,GAAS,SAoBTC,GAAW,WAoBXC,GAAU,UAoBVC,GAAc,cAoBdC,GAAoB,oBAoBpBC,GAA0B,0BAsB1BC,GAAU,YAoBVC,GAAmC,mCAoBnCC,GAA6B,6BAoB7BC,GAA8B,8BAoB9BC,GAAkC,kCAoBlCC,GAAuB,uBAoBvBC,GAAoC,oCAoBpCC,GAAgC,gCAoBhCC,GAA2B,2BAoB3BC,GAAmB,mBAuBnBC,GAAS,SAoBTC,GAAkB,kBAoBlBC,GAAmB,mBAoBnBC,GAAY,YAoBZC,GAAe,eAoBfC,GAAwB,wBAoBxBC,GAAW,WAuBXC,EAAc,cAuBdC,EAAgB,gBAuBhBC,GAAgB,gBAuBhBC,EAAc,cAqBdC,GAAgB,gBAqBhBC,GAAgB,gBAuBhBC,GAAoB,oBAuBpBC,EAAuB,uBAqBvBC,GAAkB,kBAuBlBC,EAAqB,qBAuBrBC,GAAqB,qBAuBrBC,EAAqB,qBAqBrBC,GAAqB,qBAqBrBC,GAAqB,qBAuBrBC,GAAgB,gBAsBhBC,EAAwB,wBAsBxBC,GAAqB,qBAsBrBC,EAAuB,uBAoBvBC,GAAoB,oBAsBpBC,GAAwB,wBAsBxBC,EAA2B,2BAsB3BC,GAAoB,oBAoBpBC,GAAe,eAoBfC,GAAc,cAoBdC,GAAiB,iBAoBjBC,GAAU,UAoBVC,GAAU,UAoBVC,GAAa,aAoBbC,GAAkB,kBAoBlBC,GAAqB,qBAoBrBC,GAAmB,mBAoBnBC,GAA0B,0BAwB1BC,GAAa,eAoBbC,GAAiB,iBAoBjBC,GAA0B,0BAoB1BC,GAAc,cAoBdC,GAA8B,8BAoB9BC,GAAuB,uBAoBvBC,GAA0B,0BAuB1BC,GAAa,aAuBbC,GAAY,cAuBZC,GAAU,UAsBVC,GAA6B,+BAuB7BC,GAAY,YAoBZC,GAAkC,kCAuBlCC,GAAQ,QAoBRC,GAAuB,uBAoBvBC,GAAc,cAoBdC,GAAkC,mCAoBlCC,GAA6B,8BAoB7BC,GAAiC,kCAoBjCC,GAA8B,+BAoB9BC,GAAkC,mCAoBlCC,GAAkC,mCAoBlCC,GAA8B,+BAoB9BC,GAA+B,gCAoB/BC,GAAkC,mCAsBlCC,GAA2C,4CAoB3CC,GAAsC,uCAuBtCC,GAAsB,sBAuBtBC,GAAyB,yBAoBzBC,GAA6B,6BAoB7BC,GAA4B,4BAoB5BC,GAAqB,qBAoBrBC,GAAc,cAsBdC,GAAqB,qBAoBrBC,GAAwB,wBAoBxBC,GAAuB,uBAoBvBC,GAAiC,iCAoBjCC,GAA+B,iCAoB/BC,GAA0B,0BAsB1BC,GAAoB,sBAoBpBC,GAAmC,mCAoBnCC,GAAkC,kCAuBlCC,GAAkC,kCAoBlCC,GAAY,YAoBZC,GAAgB,gBAoBhBC,GAAkB,kBAsBlBC,GAAoB,oBAsBpBC,EAAiB,iBAsBjBC,GAAmB,mBAoBnBC,GAA0B,0BAoB1BC,GAAkB,kBAoBlBC,GAAqB,qBAsBrBC,GAAoB,oBAoBpBC,GAAsB,sBAuBtBC,GAAqB,oBAoBrBC,GAA4B,4BAoB5BC,GAAqB,qBAoBrBC,GAA8B,8BAsB9BC,GAAqB,qBAsBrBC,EAAiB,iBAsBjBC,GAAc,cAoBdC,GAAe,eAsBfC,GAAkB,kBAoBlBC,GAAY,YAoBZC,GAAc,cAuBdC,GAAc,cAoBdC,GAAO,OAoBPC,GAAoB,oBAoBpBC,GAAyB,yBAoBzBC,GAAyB,yBAoBzBC,GAAa,aAoBbC,GAAe,eAsBfC,EAAW,WAoBXC,GAAW,WAwBXC,GAAyB,2BAoBzBC,GAAW,WAoBXC,GAAY,YAsBZC,GAAa,aAsBbC,GAAe,eAuBfC,EAAM,MAoBNC,GAAa,aAoBbC,GAAiB,iBAoBjBC,GAAgB,gBAoBhBC,GAAwB,wBAoBxBC,GAAkB,kBAoBlBC,GAAuB,uBAoBvBC,GAAY,YAoBZC,GAAU,UAoBVC,GAAkB,kBAoBlBC,GAAY,YAoBZC,GAAa,aAsBbC,GAAsB,sBAoBtBC,GAAgB,gBAoBhBC,GAAkB,kBAoBlBC,GAAuB,uBAoBvBC,GAAqB,qBAoBrBC,GAAmB,mBAoBnBC,GAAoB,oBAoBpBC,GAA0B,0BAoB1BC,GAAY,YAoBZC,GAAoB,oBAoBpBC,GAAoB,oBAoBpBC,GAAkB,kBAoBlBC,GAAoB,oBAoBpBC,GAAsB,sBAoBtBC,GAAwB,wBAoBxBC,GAAyB,yBAoBzBC,GAAoB,oBAoBpBC,GAA6B,6BAoB7BC,GAAsB,sBAoBtBC,GAAoB,oBAoBpBC,GAAyB,yBAoBzBC,GAAiC,iCAoBjCC,GAAuB,uBAoBvBC,GAAsB,sBAoBtBC,GAAkC,kCAoBlCC,GAAsB,sBAoBtBC,GAA2B,2BAoB3BC,GAAyB,yBAoBzBC,GAA0B,0BAoB1BC,GAA4B,4BAoB5BC,GAAyB,yBAoBzBC,GAA0B,0BAoB1BC,GAA2B,2BAoB3BC,GAAoB,oBAoBpBC,GAAgB,gBAoBhBC,GAAqB,qBAsDrBC,GAAgD,CAC3D,CAAChX,EAAY,EAAG,WAChB,CAACC,CAAyB,EAAG,UAC7B,CAACC,EAAY,EAAG,WAChB,CAACC,CAAgB,EAAG,SACpB,CAACC,CAAoB,EAAG,SACxB,CAACC,CAAgB,EAAG,SACpB,CAACC,CAAgB,EAAG,SACpB,CAACC,CAAiB,EAAG,SACrB,CAACC,EAAqB,EAAG,UACzB,CAACC,EAAW,EAAG,SACf,CAACC,CAAiB,EAAG,SACrB,CAACC,CAAW,EAAG,SACf,CAACC,CAAgB,EAAG,SACpB,CAACC,EAAW,EAAG,SACf,CAACC,CAAmB,EAAG,SACvB,CAACC,CAAqB,EAAG,UACzB,CAACC,EAAgB,EAAG,UACpB,CAACC,EAAkB,EAAG,SACtB,CAACC,EAAY,EAAG,WAChB,CAACC,EAAiB,EAAG,WACrB,CAACC,EAAiB,EAAG,WACrB,CAACC,CAAO,EAAG,SACX,CAACC,CAAY,EAAG,UAChB,CAACC,EAAO,EAAG,SACX,CAACC,CAAc,EAAG,SAClB,CAACC,EAAQ,EAAG,WACZ,CAACC,EAAa,EAAG,WACjB,CAACC,EAAQ,EAAG,WACZ,CAACC,CAAQ,EAAG,UACZ,CAACC,CAAQ,EAAG,SACZ,CAACC,EAAa,EAAG,SACjB,CAACC,CAAoB,EAAG,UACxB,CAACC,EAAW,EAAG,WACf,CAACC,EAAc,EAAG,SAClB,CAACC,EAAmB,EAAG,UACvB,CAACC,CAAY,EAAG,SAChB,CAACC,EAAmB,EAAG,SACvB,CAACC,EAAsB,EAAG,SAC1B,CAACC,EAA2B,EAAG,SAC/B,CAACC,EAAmC,EAAG,UACvC,CAACC,CAAe,EAAG,SACnB,CAACC,EAAS,EAAG,UACb,CAACC,EAAe,EAAG,UACnB,CAACC,EAAS,EAAG,WACb,CAACC,EAAe,EAAG,SACnB,CAACC,EAAS,EAAG,UACb,CAACC,EAAO,EAAG,SACX,CAACC,CAAc,EAAG,SAClB,CAACC,EAAW,EAAG,UACf,CAACC,EAAsB,EAAG,UAC1B,CAACC,EAAuB,EAAG,UAC3B,CAACC,EAA0B,EAAG,UAC9B,CAACC,CAAc,EAAG,SAClB,CAACC,CAAa,EAAG,SACjB,CAACC,CAAa,EAAG,SACjB,CAACC,CAAkB,EAAG,SACtB,CAACC,CAAgB,EAAG,UACpB,CAACC,CAAW,EAAG,UACf,CAACC,EAAc,EAAG,SAClB,CAACC,EAAkB,EAAG,SACtB,CAACC,CAAO,EAAG,SACX,CAACC,CAAY,EAAG,SAChB,CAACC,EAAY,EAAG,SAChB,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAsB,EAAG,SAC1B,CAACC,EAAgB,EAAG,SACpB,CAACC,EAAa,EAAG,SACjB,CAACC,EAAmB,EAAG,SACvB,CAACC,EAAmB,EAAG,WACvB,CAACC,EAAe,EAAG,WACnB,CAACC,EAAY,EAAG,SAChB,CAACC,EAAS,EAAG,SACb,CAACC,EAAc,EAAG,SAClB,CAACC,EAAO,EAAG,SACX,CAACC,EAAY,EAAG,SAChB,CAACC,EAAa,EAAG,SACjB,CAACC,EAAY,EAAG,SAChB,CAACC,EAAW,EAAG,SACf,CAACC,EAAU,EAAG,SACd,CAACC,EAAQ,EAAG,UACZ,CAACC,EAAU,EAAG,SACd,CAACC,EAAiB,EAAG,UACrB,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAoB,EAAG,SACxB,CAACC,EAAc,EAAG,SAClB,CAACC,EAAc,EAAG,UAClB,CAACC,EAAS,EAAG,SACb,CAACC,EAAS,EAAG,SACb,CAACC,EAAY,EAAG,SAChB,CAACC,EAAmB,EAAG,UACvB,CAACC,EAAY,EAAG,UAChB,CAACC,EAAa,EAAG,UACjB,CAACC,EAAW,EAAG,UACf,CAACC,EAAY,EAAG,UAChB,CAACC,EAAQ,EAAG,SACZ,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAwB,EAAG,SAC5B,CAACC,EAAa,EAAG,SACjB,CAACC,EAAwB,EAAG,SAC5B,CAACC,EAAyB,EAAG,SAC7B,CAACC,EAAwB,EAAG,SAC5B,CAACC,EAAqB,EAAG,SACzB,CAACC,EAAqB,EAAG,SACzB,CAACC,EAAoB,EAAG,SACxB,CAACC,EAAa,EAAG,SACjB,CAACC,EAA8B,EAAG,SAClC,CAACC,EAAgC,EAAG,SACpC,CAACC,EAAyB,EAAG,UAC7B,CAACC,EAAuB,EAAG,SAC3B,CAACC,EAAoB,EAAG,SACxB,CAACC,EAA+B,EAAG,SACnC,CAACC,EAAmB,EAAG,SACvB,CAACC,EAA0B,EAAG,SAC9B,CAACC,EAAoB,EAAG,UACxB,CAACC,EAAoB,EAAG,SACxB,CAACC,EAA8B,EAAG,SAClC,CAACC,EAAkB,EAAG,SACtB,CAACC,EAAqB,EAAG,SACzB,CAACC,EAAyB,EAAG,UAC7B,CAACC,EAAoB,EAAG,SACxB,CAACC,EAAiC,EAAG,SACrC,CAACC,EAA0B,EAAG,SAC9B,CAACC,EAAa,EAAG,SACjB,CAACC,EAAqB,EAAG,SACzB,CAACC,EAAuB,EAAG,SAC3B,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAmB,EAAG,SACvB,CAACC,EAAgB,EAAG,SACpB,CAACC,EAAkB,EAAG,SACtB,CAACC,EAAgB,EAAG,SACpB,CAACC,CAA8B,EAAG,UAClC,CAACC,CAAyB,EAAG,UAC7B,CAACC,EAAgC,EAAG,UACpC,CAACC,CAA0B,EAAG,UAC9B,CAACC,EAAoC,EAAG,UACxC,CAACC,CAA0B,EAAG,UAC9B,CAACC,EAAuB,EAAG,SAC3B,CAACC,EAAyB,EAAG,UAC7B,CAACC,EAAmB,EAAG,SACvB,CAACC,EAAsB,EAAG,SAC1B,CAACC,EAAsB,EAAG,SAC1B,CAACC,EAAc,EAAG,SAClB,CAACC,EAAoC,EAAG,UACxC,CAACC,CAAW,EAAG,SACf,CAACC,EAAa,EAAG,SACjB,CAACC,CAAS,EAAG,SACb,CAACC,EAAW,EAAG,SACf,CAACC,EAAU,EAAG,SACd,CAACC,EAA0B,EAAG,SAC9B,CAACC,EAA2B,EAAG,SAC/B,CAACC,EAA8B,EAAG,SAClC,CAACC,EAAgC,EAAG,SACpC,CAACC,EAAwB,EAAG,SAC5B,CAACC,EAAuB,EAAG,WAC3B,CAACC,CAAmB,EAAG,SACvB,CAACC,EAAyB,EAAG,SAC7B,CAACC,EAA2B,EAAG,SAC/B,CAACC,EAA0B,EAAG,SAC9B,CAACC,EAAyB,EAAG,UAC7B,CAACC,EAAyB,EAAG,SAC7B,CAACC,EAA2B,EAAG,SAC/B,CAACC,EAAoC,EAAG,SACxC,CAACC,EAA+B,EAAG,SACnC,CAACC,EAAyB,EAAG,SAC7B,CAACC,CAAuB,EAAG,UAC3B,CAACC,EAAwB,EAAG,WAC5B,CAACC,CAAmC,EAAG,SACvC,CAACC,EAAkB,EAAG,UACtB,CAACC,EAAyB,EAAG,UAC7B,CAACC,CAA4B,EAAG,UAChC,CAACC,EAA2B,EAAG,UAC/B,CAACC,CAAU,EAAG,SACd,CAACC,EAAW,EAAG,SACf,CAACC,CAAgB,EAAG,SACpB,CAACC,EAAgB,EAAG,UACpB,CAACC,EAAW,EAAG,SACf,CAACC,CAAQ,EAAG,SACZ,CAACC,EAAe,EAAG,SACnB,CAACC,EAAE,EAAG,SACN,CAACC,EAAa,EAAG,SACjB,CAACC,EAAW,EAAG,SACf,CAACC,EAAoB,EAAG,SACxB,CAACC,EAAe,EAAG,SACnB,CAACC,EAAiB,EAAG,UACrB,CAACC,EAAgB,EAAG,SACpB,CAACC,EAAW,EAAG,SACf,CAACC,EAAM,EAAG,SACV,CAACC,EAAQ,EAAG,UACZ,CAACC,EAAO,EAAG,SACX,CAACC,EAAW,EAAG,SACf,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAuB,EAAG,SAC3B,CAACC,EAAO,EAAG,SACX,CAACC,EAAgC,EAAG,SACpC,CAACC,EAA0B,EAAG,SAC9B,CAACC,EAA2B,EAAG,UAC/B,CAACC,EAA+B,EAAG,UACnC,CAACC,EAAoB,EAAG,SACxB,CAACC,EAAiC,EAAG,UACrC,CAACC,EAA6B,EAAG,UACjC,CAACC,EAAwB,EAAG,SAC5B,CAACC,EAAgB,EAAG,SACpB,CAACC,EAAM,EAAG,SACV,CAACC,EAAe,EAAG,SACnB,CAACC,EAAgB,EAAG,UACpB,CAACC,EAAS,EAAG,SACb,CAACC,EAAY,EAAG,SAChB,CAACC,EAAqB,EAAG,SACzB,CAACC,EAAQ,EAAG,SACZ,CAACC,CAAW,EAAG,SACf,CAACC,CAAa,EAAG,SACjB,CAACC,EAAa,EAAG,UACjB,CAACC,CAAW,EAAG,SACf,CAACC,EAAa,EAAG,SACjB,CAACC,EAAa,EAAG,UACjB,CAACC,EAAiB,EAAG,SACrB,CAACC,CAAoB,EAAG,SACxB,CAACC,EAAe,EAAG,SACnB,CAACC,CAAkB,EAAG,SACtB,CAACC,EAAkB,EAAG,UACtB,CAACC,CAAkB,EAAG,SACtB,CAACC,EAAkB,EAAG,SACtB,CAACC,EAAkB,EAAG,UACtB,CAACC,EAAa,EAAG,SACjB,CAACC,CAAqB,EAAG,SACzB,CAACC,EAAkB,EAAG,UACtB,CAACC,CAAoB,EAAG,SACxB,CAACC,EAAiB,EAAG,UACrB,CAACC,EAAqB,EAAG,SACzB,CAACC,CAAwB,EAAG,SAC5B,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAY,EAAG,SAChB,CAACC,EAAW,EAAG,SACf,CAACC,EAAc,EAAG,SAClB,CAACC,EAAO,EAAG,SACX,CAACC,EAAO,EAAG,SACX,CAACC,EAAU,EAAG,SACd,CAACC,EAAe,EAAG,SACnB,CAACC,EAAkB,EAAG,SACtB,CAACC,EAAgB,EAAG,SACpB,CAACC,EAAuB,EAAG,SAC3B,CAACC,EAAU,EAAG,SACd,CAACC,EAAc,EAAG,SAClB,CAACC,EAAuB,EAAG,SAC3B,CAACC,EAAW,EAAG,UACf,CAACC,EAA2B,EAAG,SAC/B,CAACC,EAAoB,EAAG,SACxB,CAACC,EAAuB,EAAG,SAC3B,CAACC,EAAU,EAAG,SACd,CAACC,EAAS,EAAG,SACb,CAACC,EAAO,EAAG,SACX,CAACC,EAA0B,EAAG,SAC9B,CAACC,EAAS,EAAG,SACb,CAACC,EAA+B,EAAG,SACnC,CAACC,EAAK,EAAG,SACT,CAACC,EAAoB,EAAG,UACxB,CAACC,EAAW,EAAG,SACf,CAACC,EAA+B,EAAG,SACnC,CAACC,EAA0B,EAAG,SAC9B,CAACC,EAA8B,EAAG,SAClC,CAACC,EAA2B,EAAG,SAC/B,CAACC,EAA+B,EAAG,SACnC,CAACC,EAA+B,EAAG,SACnC,CAACC,EAA2B,EAAG,UAC/B,CAACC,EAA4B,EAAG,SAChC,CAACC,EAA+B,EAAG,SACnC,CAACC,EAAwC,EAAG,SAC5C,CAACC,EAAmC,EAAG,UACvC,CAACC,EAAmB,EAAG,SACvB,CAACC,EAAsB,EAAG,SAC1B,CAACC,EAA0B,EAAG,SAC9B,CAACC,EAAyB,EAAG,SAC7B,CAACC,EAAkB,EAAG,SACtB,CAACC,EAAW,EAAG,SACf,CAACC,EAAkB,EAAG,SACtB,CAACC,EAAqB,EAAG,UACzB,CAACC,EAAoB,EAAG,UACxB,CAACC,EAA8B,EAAG,SAClC,CAACC,EAA4B,EAAG,SAChC,CAACC,EAAuB,EAAG,SAC3B,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAgC,EAAG,SACpC,CAACC,EAA+B,EAAG,SACnC,CAACC,EAA+B,EAAG,SACnC,CAACC,EAAS,EAAG,SACb,CAACC,EAAa,EAAG,SACjB,CAACC,EAAe,EAAG,SACnB,CAACC,EAAiB,EAAG,SACrB,CAACC,CAAc,EAAG,SAClB,CAACC,EAAgB,EAAG,SACpB,CAACC,EAAuB,EAAG,WAC3B,CAACC,EAAe,EAAG,SACnB,CAACC,EAAkB,EAAG,SACtB,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAmB,EAAG,SACvB,CAACC,EAAkB,EAAG,SACtB,CAACC,EAAyB,EAAG,SAC7B,CAACC,EAAkB,EAAG,SACtB,CAACC,EAA2B,EAAG,SAC/B,CAACC,EAAkB,EAAG,SACtB,CAACC,CAAc,EAAG,SAClB,CAACC,EAAW,EAAG,UACf,CAACC,EAAY,EAAG,SAChB,CAACC,EAAe,EAAG,SACnB,CAACC,EAAS,EAAG,UACb,CAACC,EAAW,EAAG,SACf,CAACC,EAAW,EAAG,SACf,CAACC,EAAI,EAAG,SACR,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAsB,EAAG,UAC1B,CAACC,EAAsB,EAAG,UAC1B,CAACC,EAAU,EAAG,SACd,CAACC,EAAY,EAAG,SAChB,CAACC,CAAQ,EAAG,SACZ,CAACC,EAAQ,EAAG,SACZ,CAACC,EAAsB,EAAG,SAC1B,CAACC,EAAQ,EAAG,UACZ,CAACC,EAAS,EAAG,SACb,CAACC,EAAU,EAAG,SACd,CAACC,EAAY,EAAG,SAChB,CAACC,CAAG,EAAG,SACP,CAACC,EAAU,EAAG,SACd,CAACC,EAAc,EAAG,SAClB,CAACC,EAAa,EAAG,SACjB,CAACC,EAAqB,EAAG,SACzB,CAACC,EAAe,EAAG,SACnB,CAACC,EAAoB,EAAG,SACxB,CAACC,EAAS,EAAG,SACb,CAACC,EAAO,EAAG,SACX,CAACC,EAAe,EAAG,SACnB,CAACC,EAAS,EAAG,SACb,CAACC,EAAU,EAAG,WACd,CAACC,EAAmB,EAAG,SACvB,CAACC,EAAa,EAAG,SACjB,CAACC,EAAe,EAAG,SACnB,CAACC,EAAoB,EAAG,SACxB,CAACC,EAAkB,EAAG,SACtB,CAACC,EAAgB,EAAG,SACpB,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAuB,EAAG,SAC3B,CAACC,EAAS,EAAG,SACb,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAe,EAAG,SACnB,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAmB,EAAG,SACvB,CAACC,EAAqB,EAAG,SACzB,CAACC,EAAsB,EAAG,SAC1B,CAACC,EAAiB,EAAG,SACrB,CAACC,EAA0B,EAAG,SAC9B,CAACC,EAAmB,EAAG,SACvB,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAsB,EAAG,SAC1B,CAACC,EAA8B,EAAG,SAClC,CAACC,EAAoB,EAAG,SACxB,CAACC,EAAmB,EAAG,SACvB,CAACC,EAA+B,EAAG,UACnC,CAACC,EAAmB,EAAG,SACvB,CAACC,EAAwB,EAAG,UAC5B,CAACC,EAAsB,EAAG,UAC1B,CAACC,EAAuB,EAAG,WAC3B,CAACC,EAAyB,EAAG,SAC7B,CAACC,EAAsB,EAAG,SAC1B,CAACC,EAAuB,EAAG,SAC3B,CAACC,EAAwB,EAAG,SAC5B,CAACC,EAAiB,EAAG,SACrB,CAACC,EAAa,EAAG,SACjB,CAACC,EAAkB,EAAG,SACxB,EAoXaE,GAA+D,CAC1E,CAACjX,EAAY,EAAG,CACd,MAAO,+DACP,KAAM,WACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,CAAC,aAAc,YAAY,CACtC,EACA,CAACC,CAAyB,EAAG,CAC3B,MAAO,uDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,4BACf,EACA,QAAS,CAACoI,EAA4BH,CAA8B,EACpE,KAAM,CAAC,QAAQ,CACjB,EACA,CAAChI,EAAY,EAAG,CACd,MAAO,gEACP,KAAM,WACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,CAAC,gBAAiB,eAAe,CAC5C,EACA,CAACC,CAAgB,EAAG,CAClB,MAAO,+CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,WACT,YAAa,CACX,YAAa,+BACf,EACA,QAAS,CAACgH,EAA8B,CAC1C,EACA,CAAC/G,CAAoB,EAAG,CACtB,MACE,wOACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,kCACf,EACA,QAAS,CAACsG,EAAgC,CAC5C,EACA,CAACrG,CAAgB,EAAG,CAClB,MACE,gHACF,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,gBACT,YAAa,CACX,YAAa,kBACf,EACA,QAAS,CAAC0H,EAAgB,CAC5B,EACA,CAACzH,CAAgB,EAAG,CAClB,MAAO,wCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,YAAa,CACX,YAAa,oBACf,EACA,QAAS,CAAC8G,EAAkB,CAC9B,EACA,CAAC7G,CAAiB,EAAG,CACnB,MAAO,uCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,yCACT,YAAa,CACX,YAAa,yBACf,EACA,QAAS,CAACqG,EAAuB,EACjC,KAAM,CAAC,QAAQ,CACjB,EACA,CAACpG,EAAqB,EAAG,CACvB,MAAO,6DACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,gDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,0CACX,EACA,CAACC,CAAiB,EAAG,CACnB,MAAO,6BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACT,YAAa,CACX,YAAa,eACf,EACA,QAAS,CAACgH,EAAa,CACzB,EACA,CAAC/G,CAAW,EAAG,CACb,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACT,YAAa,CACX,YAAa,uBACf,EACA,QAAS,CAAC0G,EAAqB,EAC/B,KAAM,CAAC,QAAQ,CACjB,EACA,CAACzG,CAAgB,EAAG,CAClB,MAAO,+BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mBACT,YAAa,CACX,YAAa,sBACf,EACA,QAAS,CAAC2F,EAAoB,CAChC,EACA,CAAC1F,EAAW,EAAG,CACb,MACE,uJACF,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,sBACX,EACA,CAACC,CAAmB,EAAG,CACrB,MACE,gNACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,iCACf,EACA,QAAS,CAACgG,EAA+B,CAC3C,EACA,CAAC/F,CAAqB,EAAG,CACvB,MAAO,wDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,2BACf,EACA,QAAS,CAACwH,EAA4BJ,CAAyB,EAC/D,KAAM,CAAC,QAAQ,CACjB,EACA,CAACnH,EAAgB,EAAG,CAClB,MAAO,6FACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,mDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACX,EACA,CAACC,EAAY,EAAG,CACd,MAAO,mDACP,KAAM,WACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CAAC,QAAS,OAAO,EAC1B,YAAa,CACX,YAAa,sBACf,EACA,KAAM,CAAC,QAAQ,CACjB,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,4DACP,KAAM,WACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,CAAC,yBAA0B,kBAAkB,CACxD,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,oDACP,KAAM,WACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,CAAC,kCAAkC,CAC9C,EACA,CAACC,CAAO,EAAG,CACT,MAAO,6GACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,YAAa,CACX,YAAa,qBACf,EACA,QAAS,CAAC0F,EAAmB,CAC/B,EACA,CAACzF,CAAY,EAAG,CACd,MAAO,yCACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,2BACf,EACA,QAAS,CAACgG,EAAyB,EACnC,KAAM,CAAC,QAAQ,CACjB,EACA,CAAC/F,EAAO,EAAG,CACT,MAAO,0CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,uCACX,EACA,CAACC,CAAc,EAAG,CAChB,MACE,gHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,4BACf,EACA,QAAS,CAACwF,EAA0B,CACtC,EACA,CAACvF,EAAQ,EAAG,CACV,MAAO,yCACP,KAAM,WACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,CAAC,sBAAuB,gCAAgC,CACnE,EACA,CAACC,EAAa,EAAG,CACf,MAAO,uDACP,KAAM,WACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,CAAC,cAAe,aAAa,EACtC,YAAa,CACX,YAAa,4BACf,CACF,EACA,CAACC,EAAQ,EAAG,CACV,MAAO,yDACP,KAAM,WACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CAAC,aAAc,YAAY,EACpC,YAAa,CACX,YAAa,gCACf,CACF,EACA,CAACC,CAAQ,EAAG,CACV,MACE,uKACF,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,sBACf,EACA,QAAS,CAACqF,EAAoB,CAChC,EACA,CAACpF,CAAQ,EAAG,CACV,MACE,6NACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,sBACf,EACA,QAAS,CAACqF,EAAoB,CAChC,EACA,CAACpF,EAAa,EAAG,CACf,MAAO,sCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACX,EACA,CAACC,CAAoB,EAAG,CACtB,MAAO,yDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,2BACf,EACA,QAAS,CAAC0G,EAAyB,EACnC,KAAM,CAAC,QAAQ,CACjB,EACA,CAACzG,EAAW,EAAG,CACb,MAAO,qDACP,KAAM,WACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,CAAC,sBAAsB,CAClC,EACA,CAACC,EAAc,EAAG,CAChB,MAAO,iDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAmB,EAAG,CACrB,MAAO,mDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,CAAY,EAAG,CACd,MAAO,2BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACT,QAAS,CAACyO,EAAmB,CAC/B,EACA,CAACxO,EAAmB,EAAG,CACrB,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,eACX,EACA,CAACC,EAAsB,EAAG,CACxB,MAAO,0CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,+BACT,KAAM,CAAC,SAAS,CAClB,EACA,CAACC,EAA2B,EAAG,CAC7B,MAAO,mCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACT,KAAM,CAAC,SAAS,CAClB,EACA,CAACC,EAAmC,EAAG,CACrC,MAAO,qEACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACT,KAAM,CAAC,SAAS,CAClB,EACA,CAACC,CAAe,EAAG,CACjB,MAAO,8BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACT,QAAS,CAACqO,EAAsB,CAClC,EACA,CAACpO,EAAS,EAAG,CACX,MAAO,yCACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,yDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAS,EAAG,CACX,MAAO,iCACP,KAAM,WACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CAAC,eAAgB,oBAAoB,EAC9C,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,8CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAS,EAAG,CACX,MAAO,kCACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAO,EAAG,CACT,MAAO,uCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,CAAc,EAAG,CAChB,MACE,0HACF,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,cACT,QAAS,CAAC8F,EAAc,CAC1B,EACA,CAAC7F,EAAW,EAAG,CACb,MAAO,sBACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACX,EACA,CAACC,EAAsB,EAAG,CACxB,MAAO,6CACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACT,KAAM,CAAC,uBAAuB,CAChC,EACA,CAACC,EAAuB,EAAG,CACzB,MAAO,wDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,KAAM,CAAC,uBAAuB,CAChC,EACA,CAACC,EAA0B,EAAG,CAC5B,MAAO,2DACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,KAAM,CAAC,uBAAuB,CAChC,EACA,CAACC,CAAc,EAAG,CAChB,MACE,sHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,4CACT,QAAS,CAACC,CAAa,CACzB,EACA,CAACA,CAAa,EAAG,CACf,MACE,sHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,4CACT,YAAa,CACX,YAAa,gBACf,EACA,QAAS,CAACD,CAAc,CAC1B,EACA,CAACE,CAAa,EAAG,CACf,MAAO,+FACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACT,YAAa,CACX,YAAa,oBACf,EACA,QAAS,CAACC,CAAkB,CAC9B,EACA,CAACA,CAAkB,EAAG,CACpB,MAAO,+FACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACT,QAAS,CAACD,CAAa,CACzB,EACA,CAACE,CAAgB,EAAG,CAClB,MACE,gIACF,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,QAAS,CAACC,CAAW,CACvB,EACA,CAACA,CAAW,EAAG,CACb,MACE,gIACF,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,kBACf,EACA,QAAS,CAACD,CAAgB,CAC5B,EACA,CAACE,EAAc,EAAG,CAChB,MACE,2MACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,eACT,YAAa,CACX,YAAa,qBACb,OAAQ,kDACV,CACF,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,mEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACX,EACA,CAACC,CAAO,EAAG,CACT,MAAO,2CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,YACT,YAAa,CACX,YAAa,cACf,EACA,QAAS,CAACC,CAAY,CACxB,EACA,CAACA,CAAY,EAAG,CACd,MAAO,2CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,YACT,QAAS,CAACD,CAAO,CACnB,EACA,CAACE,EAAY,EAAG,CACd,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACT,YAAa,CACX,YAAa,mBACf,EACA,QAAS,CAACC,EAAiB,CAC7B,EACA,CAACA,EAAiB,EAAG,CACnB,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACT,QAAS,CAACD,EAAY,CACxB,EACA,CAACE,EAAsB,EAAG,CACxB,MACE,8JACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,iBAAkB,GAClB,QAAS,8BACX,EACA,CAACC,EAAgB,EAAG,CAClB,MACE,iHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,qBACX,EACA,CAACC,EAAa,EAAG,CACf,MACE,gJACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,sBACT,QAAS,CAACI,EAAY,CACxB,EACA,CAACH,EAAmB,EAAG,CACrB,MAAO,6BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,oBACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAmB,EAAG,CACrB,MAAO,4DACP,KAAM,WACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CAAC,OAAQ,GAAG,EACrB,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,+BACP,KAAM,WACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CAAC,IAAK,KAAK,EACpB,YAAa,CACX,YAAa,2BACb,OACE,iIACJ,EACA,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAY,EAAG,CACd,MAAO,yCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,sBACT,YAAa,CACX,YAAa,eACf,EACA,QAAS,CAACJ,EAAa,CACzB,EACA,CAACK,EAAS,EAAG,CACX,MACE,6RACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,YAAa,CACX,YAAa,gBACf,EACA,QAAS,CAACC,EAAc,CAC1B,EACA,CAACA,EAAc,EAAG,CAChB,MACE,6RACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,QAAS,CAACD,EAAS,CACrB,EACA,CAACE,EAAO,EAAG,CACT,MAAO,qBACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,YACX,EACA,CAACC,EAAY,EAAG,CACd,MAAO,2BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACX,EACA,CAACC,EAAa,EAAG,CACf,MAAO,4BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACX,EACA,CAACC,EAAY,EAAG,CACd,MAAO,2BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mBACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,0BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,YAAa,CACX,YAAa,oBACf,EACA,QAAS,CAACqM,EAAkB,CAC9B,EACA,CAACpM,EAAU,EAAG,CACZ,MAAO,uDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACX,EACA,CAACC,EAAQ,EAAG,CACV,MAAO,oDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,UACX,EACA,CAACC,EAAU,EAAG,CACZ,MAAO,4DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACX,EACA,CAACC,EAAiB,EAAG,CACnB,MACE,8IACF,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,qBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mCACX,EACA,CAACC,EAAoB,EAAG,CACtB,MACE,+JACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QACE;AAAA;AAAA;AAAA,yDACJ,EACA,CAACC,EAAc,EAAG,CAChB,MACE,sLACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACX,EACA,CAACC,EAAc,EAAG,CAChB,MAAO,qGACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAS,EAAG,CACX,MAAO,8DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,eACX,EACA,CAACC,EAAS,EAAG,CACX,MAAO,4FACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,sBACX,EACA,CAACC,EAAY,EAAG,CACd,MAAO,6DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACX,EACA,CAACC,EAAmB,EAAG,CACrB,MACE,6KACF,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,iBAAkB,GAClB,QAAS,gCACX,EACA,CAACC,EAAY,EAAG,CACd,MACE,wLACF,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CACX,EACA,CAACC,EAAa,EAAG,CACf,MAAO,wEACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,sEACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CACX,EACA,CAACC,EAAY,EAAG,CACd,MAAO,uEACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAQ,EAAG,CACV,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,oCACT,YAAa,CACX,YAAa,aACb,OAAQ,gGACV,EACA,KAAM,CAAC,iBAAiB,CAC1B,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,oCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mBACX,EACA,CAACC,EAAwB,EAAG,CAC1B,MAAO,6CACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,uBACX,EACA,CAACC,EAAa,EAAG,CACf,MAAO,gCACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,8EACX,EACA,CAACC,EAAwB,EAAG,CAC1B,MAAO,iGACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAyB,EAAG,CAC3B,MAAO,wFACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAwB,EAAG,CAC1B,MAAO,sCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACX,EACA,CAACC,EAAqB,EAAG,CACvB,MAAO,6CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAqB,EAAG,CACvB,MACE,4IACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAoB,EAAG,CACtB,MAAO,mDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mBACT,QAAS,CAAC3F,CAAgB,CAC5B,EACA,CAAC4F,EAAa,EAAG,CACf,MAAO,uCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,yCACT,YAAa,CACX,OAAQ,8EACV,CACF,EACA,CAACC,EAA8B,EAAG,CAChC,MAAO,gGACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QACE,yJACJ,EACA,CAACC,EAAgC,EAAG,CAClC,MACE,wOACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,QAAS,CAACtG,CAAoB,CAChC,EACA,CAACuG,EAAyB,EAAG,CAC3B,MAAO,4DACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACX,EACA,CAACC,EAAuB,EAAG,CACzB,MACE,obACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QACE,kQACF,QAAS,CAACrG,CAAiB,CAC7B,EACA,CAACsG,EAAoB,EAAG,CACtB,MAAO,mDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,qBACX,EACA,CAACC,EAA+B,EAAG,CACjC,MACE,gNACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,QAAS,CAAChG,CAAmB,CAC/B,EACA,CAACiG,EAAmB,EAAG,CACrB,MAAO,6GACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,QAAS,CAAC1F,CAAO,CACnB,EACA,CAAC2F,EAA0B,EAAG,CAC5B,MACE,gHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,QAAS,CAACxF,CAAc,CAC1B,EACA,CAACyF,EAAoB,EAAG,CACtB,MACE,uKACF,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,QAAS,CAACrF,CAAQ,CACpB,EACA,CAACsF,EAAoB,EAAG,CACtB,MACE,6NACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,QAAS,CAACrF,CAAQ,CACpB,EACA,CAACsF,EAA8B,EAAG,CAChC,MAAO,+CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,WACT,QAAS,CAAChH,CAAgB,CAC5B,EACA,CAACiH,EAAkB,EAAG,CACpB,MAAO,wCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,QAAS,CAAC9G,CAAgB,CAC5B,EACA,CAAC+G,EAAqB,EAAG,CACvB,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACT,QAAS,CAAC1G,CAAW,CACvB,EACA,CAAC2G,EAAyB,EAAG,CAC3B,MAAO,+EACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,QAAS,CAAChG,CAAY,CACxB,EACA,CAACiG,EAAoB,EAAG,CACtB,MACE,gHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QACE,+JACJ,EACA,CAACC,EAAiC,EAAG,CACnC,MAAO,iDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACX,EACA,CAACC,EAA0B,EAAG,CAC5B,MAAO,qGACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,+DACX,EACA,CAACC,EAAa,EAAG,CACf,MAAO,6BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACT,QAAS,CAAChH,CAAiB,CAC7B,EACA,CAACiH,EAAqB,EAAG,CACvB,MAAO,+CACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,6BACX,EACA,CAACC,EAAuB,EAAG,CACzB,MAAO,0CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,wDACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,iGACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,uBACX,EACA,CAACC,EAAmB,EAAG,CACrB,MAAO,iEACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,gBACX,EACA,CAACC,EAAgB,EAAG,CAClB,MAAO,0CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,UACT,QAAS,CAAC1H,CAAgB,CAC5B,EACA,CAAC2H,EAAkB,EAAG,CACpB,MAAO,mGACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,gBACX,EACA,CAACC,EAAgB,EAAG,CAClB,MAAO,+BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,UACX,EACA,CAACC,CAA8B,EAAG,CAChC,MAAO,gEACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,4BACf,EACA,QAAS,CAACjI,EAA2BoI,CAA0B,CACjE,EACA,CAACF,CAAyB,EAAG,CAC3B,MAAO,0FACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,QAAS,CAACpH,EAAuBwH,CAA0B,CAC7D,EACA,CAACH,EAAgC,EAAG,CAClC,MAAO,qEACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,CAA0B,EAAG,CAC5B,MAAO,mFACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,QAAS,CAACpI,EAA2BiI,CAA8B,CACrE,EACA,CAACI,EAAoC,EAAG,CACtC,MAAO,mEACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,CAA0B,EAAG,CAC5B,MAAO,yDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,YAAa,CACX,YAAa,2BACf,EACA,QAAS,CAACxH,EAAuBoH,CAAyB,CAC5D,EACA,CAACK,EAAuB,EAAG,CACzB,MAAO,sCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,YAAa,CACX,YAAa,0BACf,CACF,EACA,CAACC,EAAyB,EAAG,CAC3B,MAAO,4FACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACT,QAAS,CAAC1G,CAAoB,CAChC,EACA,CAAC2G,EAAmB,EAAG,CACrB,MAAO,wCACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,8BACX,EACA,CAACC,EAAsB,EAAG,CACxB,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACX,EACA,CAACC,EAAsB,EAAG,CACxB,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACX,EACA,CAACC,EAAc,EAAG,CAChB,MACE,0HACF,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,cACT,YAAa,CACX,YAAa,gBACf,EACA,QAAS,CAAC9F,CAAc,CAC1B,EACA,CAAC+F,EAAoC,EAAG,CACtC,MAAO,oDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,CAAW,EAAG,CACb,MAAO,qEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,YAAa,CACX,YAAa,0BACf,EACA,QAAS,CAACsF,EAA0Bb,CAAoB,CAC1D,EACA,CAACxE,EAAa,EAAG,CACf,MACE,kIACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,UACX,EACA,CAACC,CAAS,EAAG,CACX,MAAO,mBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACT,YAAa,CACX,YAAa,iBACb,OAAQ,qFACV,EACA,QAAS,CAAC2J,EAAgB7P,EAAgB8H,EAAkBqC,CAAa,CAC3E,EACA,CAAChE,EAAW,EAAG,CACb,MAAO,wBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,YAAa,CACX,YAAa,qBACf,EACA,QAAS,CAACQ,CAAmB,CAC/B,EACA,CAACP,EAAU,EAAG,CACZ,MACE,kIACF,KAAM,SACN,IAAK,CACH,MAAO,QACP,OACE,6IACJ,EACA,SAAU,GACV,QAAS,kBACX,EACA,CAACC,EAA0B,EAAG,CAC5B,MACE,wJACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAA2B,EAAG,CAC7B,MACE,4TACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,gBACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAA8B,EAAG,CAChC,MACE,2HACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAAgC,EAAG,CAClC,MACE,0HACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAAwB,EAAG,CAC1B,MAAO,wGACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAAuB,EAAG,CACzB,MACE,oHACF,KAAM,WACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,iBAAkB,GAClB,QAAS,kDACX,EACA,CAACC,CAAmB,EAAG,CACrB,MAAO,wBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,QAAS,CAACgD,GAAQxD,EAAW,CAC/B,EACA,CAACS,EAAyB,EAAG,CAC3B,MACE,+HACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAA2B,EAAG,CAC7B,MAAO,iGACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAA0B,EAAG,CAC5B,MACE,sRACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,gBACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAAyB,EAAG,CAC3B,MAAO,yFACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CACX,EACA,CAACC,EAAyB,EAAG,CAC3B,MACE,iMACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,gBACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAA2B,EAAG,CAC7B,MACE,sRACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,eACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAAoC,EAAG,CACtC,MACE,wMACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,gBACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAA+B,EAAG,CACjC,MACE,+KACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAAyB,EAAG,CAC3B,MACE,oOACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,gBACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,CAAuB,EAAG,CACzB,MAAO,oDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACT,QAAS,CAACK,EAA8BH,CAAmC,CAC7E,EACA,CAACD,EAAwB,EAAG,CAC1B,MACE,qHACF,KAAM,WACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,iBAAkB,GAClB,QAAS,mDACX,EACA,CAACC,CAAmC,EAAG,CACrC,MAAO,gEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,oDACT,QAAS,CAACG,EAA8BL,CAAuB,CACjE,EACA,CAACG,EAAkB,EAAG,CACpB,MAAO,gDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACT,QAAS,CAACG,EAA2B,CACvC,EACA,CAACF,EAAyB,EAAG,CAC3B,MAAO,wCACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACT,QAAS,CAACM,EAAgB,CAC5B,EACA,CAACL,CAA4B,EAAG,CAC9B,MAAO,oDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACT,YAAa,CACX,YAAa,yBACf,EACA,QAAS,CAACL,EAAyBE,CAAmC,CACxE,EACA,CAACI,EAA2B,EAAG,CAC7B,MAAO,gDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACT,YAAa,CACX,YAAa,oBACf,EACA,QAAS,CAACH,EAAkB,CAC9B,EACA,CAACI,CAAU,EAAG,CACZ,MAAO,uGACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,QAAS,CAACoJ,EAAY,CACxB,EACA,CAACnJ,EAAW,EAAG,CACb,MAAO,0DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACT,YAAa,CACX,YAAa,YACf,EACA,QAAS,CAACkJ,EAAU,CACtB,EACA,CAACjJ,CAAgB,EAAG,CAClB,MAAO,yBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACT,YAAa,CACX,YAAa,gBACf,EACA,QAAS,CAAC+H,EAAgB1F,EAAejE,CAAS,CACpD,EACA,CAAC6B,EAAgB,EAAG,CAClB,MAAO,wCACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACT,YAAa,CACX,YAAa,2BACf,EACA,QAAS,CAACN,EAAyB,CACrC,EACA,CAACO,EAAW,EAAG,CACb,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,qBACT,YAAa,CACX,YAAa,WACb,OAAQ,uEACV,CACF,EACA,CAACC,CAAQ,EAAG,CACV,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,wCACT,YAAa,CACX,YAAa,UACf,EACA,QAAS,CAACyI,EAAUO,CAAG,CACzB,EACA,CAAC/I,EAAe,EAAG,CACjB,MAAO,0DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QACE,8IACF,YAAa,CACX,YAAa,qBACf,EACA,QAAS,CAAC2J,EAAmB,CAC/B,EACA,CAAC1J,EAAE,EAAG,CACJ,MAAO,oCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mCACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAa,EAAG,CACf,MAAO,wCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,iCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,qBACX,EACA,CAACC,EAAoB,EAAG,CACtB,MAAO,2BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,YACX,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,2BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,YACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,uCACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAgB,EAAG,CAClB,MAAO,uBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,gEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACX,EACA,CAACC,EAAM,EAAG,CACR,MAAO,0EACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACX,EACA,CAACC,EAAQ,EAAG,CACV,MAAO,oDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACX,EACA,CAACC,EAAO,EAAG,CACT,MAAO,2EACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,qBACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,oDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,UACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,oCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,2BACX,EACA,CAACC,EAAuB,EAAG,CACzB,MAAO,kCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,wCACX,EACA,CAACC,EAAO,EAAG,CACT,MACE,kSACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,iBAAkB,GAClB,QAAS,4BACT,KAAM,CAAC,OAAQ,eAAgB,WAAY,aAAa,CAC1D,EACA,CAACC,EAAgC,EAAG,CAClC,MAAO,sCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,YACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAA0B,EAAG,CAC5B,MAAO,gCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,YACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAA2B,EAAG,CAC7B,MAAO,yCACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAA+B,EAAG,CACjC,MAAO,sDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAoB,EAAG,CACtB,MAAO,kGACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mCACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAiC,EAAG,CACnC,MAAO,mEACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,WACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAA6B,EAAG,CAC/B,MAAO,8CACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAwB,EAAG,CAC1B,MAAO,2DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACX,EACA,CAACC,EAAgB,EAAG,CAClB,MAAO,oEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,WACT,KAAM,CAAC,aAAa,CACtB,EACA,CAACC,EAAM,EAAG,CACR,MAAO,wBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,YAAa,CACX,YAAa,qBACf,EACA,QAAS,CAAChD,CAAmB,EAC7B,KAAM,CAAC,qBAAsB,iBAAiB,CAChD,EACA,CAACiD,EAAe,EAAG,CACjB,MAAO,uDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACX,EACA,CAACC,EAAgB,EAAG,CAClB,MACE,qIACF,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACX,EACA,CAACC,EAAS,EAAG,CACX,MAAO,0FACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACX,EACA,CAACC,EAAY,EAAG,CACd,MAAO,uFACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iCACX,EACA,CAACC,EAAqB,EAAG,CACvB,MAAO,4EACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAQ,EAAG,CACV,MAAO,gFACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACX,EACA,CAACC,CAAW,EAAG,CACb,MAAO,mFACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACT,YAAa,CACX,YAAa,uBACf,EACA,QAAS,CAACe,EAAuBN,CAAkB,CACrD,EACA,CAACR,CAAa,EAAG,CACf,MACE,gHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACT,YAAa,CACX,YAAa,gBACf,EACA,QAAS,CAAC0F,EAAgB/H,EAAkB5B,CAAS,CACvD,EACA,CAACkE,EAAa,EAAG,CACf,MAAO,sBACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACT,YAAa,CACX,YAAa,aACf,EACA,QAAS,CAAC0F,EAAW,CACvB,EACA,CAACzF,CAAW,EAAG,CACb,MAAO,kFACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACT,YAAa,CACX,YAAa,sBACf,EACA,QAAS,CAACc,EAAsBN,CAAkB,CACpD,EACA,CAACP,EAAa,EAAG,CACf,MACE,gHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACT,YAAa,CACX,YAAa,iBACb,OAAQ,oFACV,CACF,EACA,CAACC,EAAa,EAAG,CACf,MAAO,oBACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACT,YAAa,CACX,YAAa,cACb,OAAQ,8EACV,CACF,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,+CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACT,YAAa,CACX,YAAa,uBACf,EACA,QAAS,CAACa,EAAqB,CACjC,EACA,CAACZ,CAAoB,EAAG,CACtB,MAAO,qEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,YAAa,CACX,YAAa,0BACf,EACA,QAAS,CAACa,EAA0BtF,CAAW,CACjD,EACA,CAAC0E,EAAe,EAAG,CACjB,MAAO,kCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACT,YAAa,CACX,YAAa,oBACb,OAAQ,qDACV,CACF,EACA,CAACC,CAAkB,EAAG,CACpB,MAAO,8EACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,eACT,YAAa,CACX,YAAa,uBACf,EACA,QAAS,CAACM,EAAuBf,CAAW,CAC9C,EACA,CAACU,EAAkB,EAAG,CACpB,MAAO,+CACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACT,YAAa,CACX,YAAa,oBACf,EACA,QAAS,CAACM,EAAkB,CAC9B,EACA,CAACL,CAAkB,EAAG,CACpB,MAAO,sDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACT,YAAa,CACX,YAAa,sBACf,EACA,QAAS,CAACM,EAAsBd,CAAW,CAC7C,EACA,CAACS,EAAkB,EAAG,CACpB,MAAO,mEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,eACT,YAAa,CACX,OAAQ,mDACV,CACF,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,8CACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACT,YAAa,CACX,YAAa,mBACf,CACF,EACA,CAACC,EAAa,EAAG,CACf,MAAO,6DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,YAAa,CACX,YAAa,mBACf,EACA,QAAS,CAACO,EAAiB,CAC7B,EACA,CAACN,CAAqB,EAAG,CACvB,MAAO,mFACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,YACT,QAAS,CAACf,EAAaS,CAAkB,CAC3C,EACA,CAACO,EAAkB,EAAG,CACpB,MAAO,+CACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,QAAS,CAACN,EAAkB,CAC9B,EACA,CAACO,CAAoB,EAAG,CACtB,MAAO,kFACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,YACT,QAAS,CAACd,EAAaQ,CAAkB,CAC3C,EACA,CAACO,EAAiB,EAAG,CACnB,MAAO,8CACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACX,EACA,CAACC,EAAqB,EAAG,CACvB,MAAO,+CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACT,QAAS,CAACb,EAAiB,CAC7B,EACA,CAACc,CAAwB,EAAG,CAC1B,MAAO,qEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,QAAS,CAACtF,EAAayE,CAAoB,CAC7C,EACA,CAACc,EAAiB,EAAG,CACnB,MAAO,6DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACT,QAAS,CAACP,EAAa,CACzB,EACA,CAACQ,EAAY,EAAG,CACd,MAAO,2CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,wCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,YACX,EACA,CAACC,EAAc,EAAG,CAChB,MACE,2HACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,oBACX,EACA,CAACC,EAAO,EAAG,CACT,MAAO,wCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACX,EACA,CAACC,EAAO,EAAG,CACT,MAAO,6BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACX,EACA,CAACC,EAAU,EAAG,CACZ,MAAO,uCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACX,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,+EACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,kCACX,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,qFACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACX,EACA,CAACC,EAAgB,EAAG,CAClB,MAAO,6GACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACX,EACA,CAACC,EAAuB,EAAG,CACzB,MAAO,kEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,oBACX,EACA,CAACC,EAAU,EAAG,CACZ,MACE,iHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,iBAAkB,GAClB,QAAS,kBACT,QAAS,CAAC0E,EAAsB,CAClC,EACA,CAACzE,EAAc,EAAG,CAChB,MAAO,8EACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,KAAM,CAAC,wBAAwB,CACjC,EACA,CAACC,EAAuB,EAAG,CACzB,MAAO,uDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,WACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,yCACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACX,EACA,CAACC,EAA2B,EAAG,CAC7B,MACE,qMACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iCACX,EACA,CAACC,EAAoB,EAAG,CACtB,MAAO,+EACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAuB,EAAG,CACzB,MACE,sJACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACX,EACA,CAACC,EAAU,EAAG,CACZ,MAAO,gCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mCACT,YAAa,CACX,YAAa,mBACf,EACA,QAAS,CAACuC,EAAiB,CAC7B,EACA,CAACtC,EAAS,EAAG,CACX,MAAO,8FACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,iBAAkB,GAClB,QAAS,iBACT,YAAa,CACX,YAAa,YACb,OAAQ,wGACV,CACF,EACA,CAACC,EAAO,EAAG,CACT,MAAO,sBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,YAAa,CACX,YAAa,gBACf,EACA,QAAS,CAACsC,CAAc,CAC1B,EACA,CAACrC,EAA0B,EAAG,CAC5B,MAAO,uFACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,iBAAkB,GAClB,QAAS,mCACT,KAAM,CAAC,kBAAkB,CAC3B,EACA,CAACC,EAAS,EAAG,CACX,MAAO,+BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mCACT,YAAa,CACX,YAAa,kBACf,EACA,QAAS,CAACqC,EAAgB,CAC5B,EACA,CAACpC,EAA+B,EAAG,CACjC,MAAO,8CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,eACT,KAAM,CAAC,oBAAoB,CAC7B,EACA,CAACC,EAAK,EAAG,CACP,MACE,kLACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,+BACT,YAAa,CACX,YAAa,YACf,EACA,QAAS,CAACnF,CAAU,EACpB,KAAM,CAAC,cAAe,wBAAwB,CAChD,EACA,CAACoF,EAAoB,EAAG,CACtB,MAAO,+CACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,kGACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,uBACX,EACA,CAACC,EAA+B,EAAG,CACjC,MAAO,qDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAA0B,EAAG,CAC5B,MAAO,yDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACX,EACA,CAACC,EAA8B,EAAG,CAChC,MAAO,oDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,kCACX,EACA,CAACC,EAA2B,EAAG,CAC7B,MAAO,4DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mDACX,EACA,CAACC,EAA+B,EAAG,CACjC,MAAO,+DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,oBACX,EACA,CAACC,EAA+B,EAAG,CACjC,MAAO,qDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACX,EACA,CAACC,EAA2B,EAAG,CAC7B,MAAO,2EACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAA4B,EAAG,CAC9B,MAAO,kDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,kCACX,EACA,CAACC,EAA+B,EAAG,CACjC,MAAO,0DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,yBACX,EACA,CAACC,EAAwC,EAAG,CAC1C,MAAO,4EACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,sBACT,QAAS,CAACiB,EAA+B,CAC3C,EACA,CAAChB,EAAmC,EAAG,CACrC,MACE,0HACF,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAmB,EAAG,CACrB,MAAO,2BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACT,YAAa,CACX,YAAa,cACf,EACA,QAAS,CAACzO,CAAY,CACxB,EACA,CAAC0O,EAAsB,EAAG,CACxB,MAAO,8BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACT,YAAa,CACX,YAAa,iBACf,EACA,QAAS,CAACrO,CAAe,CAC3B,EACA,CAACsO,EAA0B,EAAG,CAC5B,MAAO,qCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACX,EACA,CAACC,EAAyB,EAAG,CAC3B,MAAO,+CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,kBACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,mBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACX,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,0BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,QAAS,CAACrM,EAAW,CACvB,EACA,CAACsM,EAAqB,EAAG,CACvB,MAAO,2CACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACX,EACA,CAACC,EAAoB,EAAG,CACtB,MAAO,6CACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAA8B,EAAG,CAChC,MAAO,2CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACX,EACA,CAACC,EAA4B,EAAG,CAC9B,MACE,0SACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,kCACX,EACA,CAACC,EAAuB,EAAG,CACzB,MAAO,qCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,gBACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,8EACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,iBAAkB,GAClB,QAAS,0CACX,EACA,CAACC,EAAgC,EAAG,CAClC,MACE,mMACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,qBACT,KAAM,CAAC,YAAY,CACrB,EACA,CAACC,EAA+B,EAAG,CACjC,MACE,gJACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mBACT,KAAM,CAAC,YAAY,CACrB,EACA,CAACC,EAA+B,EAAG,CACjC,MAAO,4EACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,sBACT,YAAa,CACX,YAAa,2CACf,EACA,QAAS,CAACjB,EAAwC,CACpD,EACA,CAACkB,EAAS,EAAG,CACX,MAAO,2BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACX,EACA,CAACC,EAAa,EAAG,CACf,MAAO,2DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,wBACX,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,6CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,gCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mCACT,QAAS,CAACvC,EAAU,CACtB,EACA,CAACwC,CAAc,EAAG,CAChB,MAAO,sBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACT,QAAS,CAACe,GAAiBrD,EAAO,CACpC,EACA,CAACuC,EAAgB,EAAG,CAClB,MAAO,+BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mCACT,QAAS,CAACrC,EAAS,CACrB,EACA,CAACsC,EAAuB,EAAG,CACzB,MACE,6OACF,KAAM,WACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CAAC,iBAAkB,mBAAoB,mBAAoB,aAAa,CACnF,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,uBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,eACX,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,0BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,2BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mBACT,QAAS,CAACE,EAAkB,CAC9B,EACA,CAACD,EAAmB,EAAG,CACrB,MAAO,6BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,WACX,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,2BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mBACT,YAAa,CACX,YAAa,mBACf,EACA,QAAS,CAACF,EAAiB,CAC7B,EACA,CAACG,EAAyB,EAAG,CAC3B,MAAO,6CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,gEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACX,EACA,CAACC,EAA2B,EAAG,CAC7B,MACE,0HACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,kBACX,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,yCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACT,QAAS,CAACO,EAAW,CACvB,EACA,CAACN,CAAc,EAAG,CAChB,MACE,gHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACT,QAAS,CAAC/H,EAAkBqC,EAAejE,CAAS,CACtD,EACA,CAAC4J,EAAW,EAAG,CACb,MAAO,sBACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACT,QAAS,CAAC1F,EAAa,CACzB,EACA,CAAC2F,EAAY,EAAG,CACd,MAAO,+BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,WACX,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,2GACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACT,QAAS,CAACf,CAAc,CAC1B,EACA,CAACgB,EAAS,EAAG,CACX,MAAO,yCACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,uBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAW,EAAG,CACb,MAAO,yCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACT,YAAa,CACX,YAAa,oBACf,EACA,QAAS,CAACP,EAAkB,CAC9B,EACA,CAACQ,EAAI,EAAG,CACN,MAAO,iDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACT,KAAM,CAAC,qBAAsB,iBAAiB,CAChD,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,wCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,YACX,EACA,CAACC,EAAsB,EAAG,CACxB,MAAO,mFACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAsB,EAAG,CACxB,MAAO,uFACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,EACX,EACA,CAACC,EAAU,EAAG,CACZ,MACE,gHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACX,EACA,CAACC,EAAY,EAAG,CACd,MACE,uIACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACX,EACA,CAACC,CAAQ,EAAG,CACV,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,wCACT,QAAS,CAACzI,EAAUgJ,CAAG,CACzB,EACA,CAACN,EAAQ,EAAG,CACV,MAAO,0BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAsB,EAAG,CACxB,MACE,iHACF,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,iBAAkB,GAClB,QAAS,8BACT,QAAS,CAAC1E,EAAU,CACtB,EACA,CAAC2E,EAAQ,EAAG,CACV,MAAO,sBACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACX,EACA,CAACC,EAAS,EAAG,CACX,MACE,uIACF,KAAM,SACN,IAAK,CACH,MAAO,QACP,OACE,6IACJ,EACA,SAAU,GACV,QAAS,iBACX,EACA,CAACC,EAAU,EAAG,CACZ,MAAO,0DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACT,QAAS,CAAClJ,EAAW,CACvB,EACA,CAACmJ,EAAY,EAAG,CACd,MAAO,8DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACT,QAAS,CAACpJ,CAAU,CACtB,EACA,CAACqJ,CAAG,EAAG,CACL,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,wCACT,YAAa,CACX,YAAa,UACf,EACA,QAAS,CAACP,EAAUzI,CAAQ,EAC5B,KAAM,CAAC,qBAAsB,iBAAiB,CAChD,EACA,CAACiJ,EAAU,EAAG,CACZ,MAAO,sBACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,kBACX,EACA,CAACC,EAAc,EAAG,CAChB,MAAO,oBACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,YACX,EACA,CAACC,EAAa,EAAG,CACf,MAAO,4BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACX,EACA,CAACC,EAAqB,EAAG,CACvB,MAAO,gDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACX,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,sCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACX,EACA,CAACC,EAAoB,EAAG,CACtB,MAAO,mCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,SACX,EACA,CAACC,EAAS,EAAG,CACX,MAAO,2EACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,kCACX,EACA,CAACC,EAAO,EAAG,CACT,MAAO,iCACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,kDACX,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,8BACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,aACX,EACA,CAACC,EAAS,EAAG,CACX,MAAO,4CACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,SACX,EACA,CAACC,EAAU,EAAG,CACZ,MAAO,gDACP,KAAM,WACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,CAAC,QAAS,QAAQ,CAC7B,EACA,CAACC,EAAmB,EAAG,CACrB,MAAO,0DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QACE,8IACF,QAAS,CAAC3J,EAAe,CAC3B,EACA,CAAC4J,EAAa,EAAG,CACf,MAAO,qCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,+DACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,eACX,EACA,CAACC,EAAoB,EAAG,CACtB,MAAO,uCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,kCACX,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,mEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,uCACX,EACA,CAACC,EAAgB,EAAG,CAClB,MAAO,iCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,eACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,uCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACX,EACA,CAACC,EAAuB,EAAG,CACzB,MAAO,uCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAS,EAAG,CACX,MAAO,gDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,8BACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,2CACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,sEACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,yBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,sCACX,EACA,CAACC,EAAe,EAAG,CACjB,MAAO,yBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,oCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,8BACX,EACA,CAACC,EAAmB,EAAG,CACrB,MAAO,6BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,QACX,EACA,CAACC,EAAqB,EAAG,CACvB,MAAO,wDACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,wCACX,EACA,CAACC,EAAsB,EAAG,CACxB,MAAO,oBACP,KAAM,SACN,IAAK,CACH,MAAO,MACT,EACA,SAAU,GACV,QAAS,eACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,0BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,iBACX,EACA,CAACC,EAA0B,EAAG,CAC5B,MAAO,wCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAmB,EAAG,CACrB,MAAO,6BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,qCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,2CACX,EACA,CAACC,EAAsB,EAAG,CACxB,MAAO,yEACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAA8B,EAAG,CAChC,MAAO,2BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,KACX,EACA,CAACC,EAAoB,EAAG,CACtB,MAAO,yBACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACX,EACA,CAACC,EAAmB,EAAG,CACrB,MAAO,wCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAA+B,EAAG,CACjC,MAAO,gCACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,IACX,EACA,CAACC,EAAmB,EAAG,CACrB,MAAO,0BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACX,EACA,CAACC,EAAwB,EAAG,CAC1B,MAAO,wCACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACX,EACA,CAACC,EAAsB,EAAG,CACxB,MAAO,iDACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACX,EACA,CAACC,EAAuB,EAAG,CACzB,MAAO,oCACP,KAAM,WACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,CAAC,gBAAgB,CAC5B,EACA,CAACC,EAAyB,EAAG,CAC3B,MAAO,mCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,aACX,EACA,CAACC,EAAsB,EAAG,CACxB,MAAO,6BACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,cACX,EACA,CAACC,EAAuB,EAAG,CACzB,MAAO,iCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,MACX,EACA,CAACC,EAAwB,EAAG,CAC1B,MAAO,uCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,mBACX,EACA,CAACC,EAAiB,EAAG,CACnB,MAAO,mCACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,sCACX,EACA,CAACC,EAAa,EAAG,CACf,MAAO,gFACP,KAAM,SACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,OACX,EACA,CAACC,EAAkB,EAAG,CACpB,MAAO,yFACP,KAAM,UACN,IAAK,CACH,MAAO,OACT,EACA,SAAU,GACV,QAAS,GACX,CACF"}
|