export declare const GenAiOperationName: { readonly CHAT: "chat"; readonly INVOKE_AGENT: "invoke_agent"; readonly EXECUTE_TOOL: "execute_tool"; readonly EMBEDDINGS: "embeddings"; /** Extension-specific: standalone markdown content event */ readonly CONTENT_EVENT: "content_event"; /** Extension-specific: hook command execution */ readonly EXECUTE_HOOK: "execute_hook"; }; export declare const GenAiProviderName: { readonly GITHUB: "github"; readonly OPENAI: "openai"; readonly ANTHROPIC: "anthropic"; readonly AZURE_AI_OPENAI: "azure.ai.openai"; readonly GEMINI: "gemini"; }; export declare const GenAiTokenType: { readonly INPUT: "input"; readonly OUTPUT: "output"; }; export declare const GenAiToolType: { readonly FUNCTION: "function"; readonly EXTENSION: "extension"; }; /** * OTel GenAI semantic convention attribute keys. * @see https://github.com/open-telemetry/semantic-conventions/blob/main/docs/gen-ai/gen-ai-spans.md */ export declare const GenAiAttr: { readonly OPERATION_NAME: "gen_ai.operation.name"; readonly PROVIDER_NAME: "gen_ai.provider.name"; readonly REQUEST_MODEL: "gen_ai.request.model"; readonly REQUEST_TEMPERATURE: "gen_ai.request.temperature"; readonly REQUEST_MAX_TOKENS: "gen_ai.request.max_tokens"; readonly REQUEST_TOP_P: "gen_ai.request.top_p"; readonly REQUEST_FREQUENCY_PENALTY: "gen_ai.request.frequency_penalty"; readonly REQUEST_PRESENCE_PENALTY: "gen_ai.request.presence_penalty"; readonly REQUEST_SEED: "gen_ai.request.seed"; readonly REQUEST_STOP_SEQUENCES: "gen_ai.request.stop_sequences"; /** Whether the request used streaming mode (recommended on streaming chat spans). */ readonly REQUEST_STREAM: "gen_ai.request.stream"; readonly RESPONSE_MODEL: "gen_ai.response.model"; readonly RESPONSE_ID: "gen_ai.response.id"; readonly RESPONSE_FINISH_REASONS: "gen_ai.response.finish_reasons"; /** Time to first streaming chunk, in seconds (recommended on streaming chat spans). */ readonly RESPONSE_TIME_TO_FIRST_CHUNK: "gen_ai.response.time_to_first_chunk"; readonly USAGE_INPUT_TOKENS: "gen_ai.usage.input_tokens"; readonly USAGE_OUTPUT_TOKENS: "gen_ai.usage.output_tokens"; readonly USAGE_CACHE_READ_INPUT_TOKENS: "gen_ai.usage.cache_read.input_tokens"; readonly USAGE_CACHE_CREATION_INPUT_TOKENS: "gen_ai.usage.cache_creation.input_tokens"; /** Legacy: reasoning/thinking token count. Prefer `USAGE_REASONING_OUTPUT_TOKENS`; this key is kept for backwards compatibility. */ readonly USAGE_REASONING_TOKENS: "gen_ai.usage.reasoning_tokens"; /** Reasoning/thinking output token count (semantic-convention-aligned). Dual-emitted alongside `USAGE_REASONING_TOKENS`. */ readonly USAGE_REASONING_OUTPUT_TOKENS: "gen_ai.usage.reasoning.output_tokens"; readonly CONVERSATION_ID: "gen_ai.conversation.id"; readonly OUTPUT_TYPE: "gen_ai.output.type"; readonly TOKEN_TYPE: "gen_ai.token.type"; readonly AGENT_NAME: "gen_ai.agent.name"; readonly AGENT_ID: "gen_ai.agent.id"; readonly AGENT_VERSION: "gen_ai.agent.version"; readonly AGENT_DESCRIPTION: "gen_ai.agent.description"; readonly TOOL_NAME: "gen_ai.tool.name"; readonly TOOL_TYPE: "gen_ai.tool.type"; readonly TOOL_CALL_ID: "gen_ai.tool.call.id"; readonly TOOL_DESCRIPTION: "gen_ai.tool.description"; readonly TOOL_CALL_ARGUMENTS: "gen_ai.tool.call.arguments"; readonly TOOL_CALL_RESULT: "gen_ai.tool.call.result"; readonly INPUT_MESSAGES: "gen_ai.input.messages"; readonly OUTPUT_MESSAGES: "gen_ai.output.messages"; readonly SYSTEM_INSTRUCTIONS: "gen_ai.system_instructions"; readonly TOOL_DEFINITIONS: "gen_ai.tool.definitions"; }; /** * Extension-specific attribute keys (custom namespace). */ export declare const CopilotChatAttr: { readonly LOCATION: "copilot_chat.location"; readonly INTENT: "copilot_chat.intent"; readonly TURN_INDEX: "copilot_chat.turn.index"; readonly TURN_COUNT: "copilot_chat.turn_count"; readonly TOOL_CALL_ROUND: "copilot_chat.tool_call_round"; readonly API_TYPE: "copilot_chat.api_type"; readonly FETCHER: "copilot_chat.fetcher"; readonly DEBUG_NAME: "copilot_chat.debug_name"; readonly ENDPOINT_TYPE: "copilot_chat.endpoint_type"; readonly MAX_PROMPT_TOKENS: "copilot_chat.request.max_prompt_tokens"; readonly TIME_TO_FIRST_TOKEN: "copilot_chat.time_to_first_token"; readonly SESSION_ID: "copilot_chat.session_id"; readonly SERVER_REQUEST_ID: "copilot_chat.server_request_id"; readonly CANCELED: "copilot_chat.canceled"; /** Extended thinking/reasoning content (content-gated) */ readonly REASONING_CONTENT: "copilot_chat.reasoning_content"; /** User's actual typed message text, extracted from prompt context */ readonly USER_REQUEST: "copilot_chat.user_request"; /** Cache-relevant request options as a JSON blob (tool_choice, reasoning_effort, thinking, response_format, etc.). Used by Cache Explorer. */ readonly REQUEST_OPTIONS: "copilot_chat.request.options"; /** Request-shape metadata as a JSON blob (e.g. Responses API previous-response continuation and input item types). Used by Cache Explorer. */ readonly REQUEST_SHAPE: "copilot_chat.request.shape"; /** Resolved context section (code snippets, file contents, etc.) */ readonly PROMPT_CONTEXT: "copilot_chat.prompt_context"; /** Custom instructions section */ readonly PROMPT_INSTRUCTIONS: "copilot_chat.prompt_instructions"; /** VS Code chat session ID from CapturingToken — the definitive session identifier */ readonly CHAT_SESSION_ID: "copilot_chat.chat_session_id"; /** Parent chat session ID for linking child sessions (e.g., title, categorization) to their parent */ readonly PARENT_CHAT_SESSION_ID: "copilot_chat.parent_chat_session_id"; /** Debug log label for child sessions (e.g., 'title', 'categorization', 'runSubagent') */ readonly DEBUG_LOG_LABEL: "copilot_chat.debug_log_label"; /** Markdown content for standalone content events */ readonly MARKDOWN_CONTENT: "copilot_chat.markdown_content"; /** Edit source: inline_chat, chat_editing, chat_editing_hunk, apply_patch, replace_string, code_mapper */ readonly EDIT_SOURCE: "copilot_chat.edit.source"; /** Edit outcome: accepted, rejected, saved, unknown */ readonly EDIT_OUTCOME: "copilot_chat.edit.outcome"; /** Language identifier of the document */ readonly LANGUAGE_ID: "copilot_chat.language_id"; /** Time delay in milliseconds between acceptance and measurement */ readonly TIME_DELAY_MS: "copilot_chat.time_delay_ms"; /** Whether additional unactioned edits remain */ readonly HAS_REMAINING_EDITS: "copilot_chat.has_remaining_edits"; /** Git branch name (HEAD) */ readonly REPO_HEAD_BRANCH_NAME: "copilot_chat.repo.head_branch_name"; /** Git commit hash (HEAD) */ readonly REPO_HEAD_COMMIT_HASH: "copilot_chat.repo.head_commit_hash"; /** Normalized remote fetch URL */ readonly REPO_REMOTE_URL: "copilot_chat.repo.remote_url"; /** File path relative to the repository root */ readonly FILE_RELATIVE_PATH: "copilot_chat.file.relative_path"; /** Hook type / event name (e.g. PreToolUse, PostToolUse, Stop) */ readonly HOOK_TYPE: "copilot_chat.hook_type"; /** Serialized hook command input (truncated; emitters may or may not gate on captureContent — used by the Agent Debug Log panel) */ readonly HOOK_INPUT: "copilot_chat.hook_input"; /** Serialized hook command output (truncated; emitters may or may not gate on captureContent — used by the Agent Debug Log panel) */ readonly HOOK_OUTPUT: "copilot_chat.hook_output"; /** Hook result kind: 'success', 'error', or 'non_blocking_error' */ readonly HOOK_RESULT_KIND: "copilot_chat.hook_result_kind"; /** Custom chat mode name (when a custom mode is active) */ readonly MODE_NAME: "copilot_chat.mode_name"; /** Per-request cost from copilot_usage.total_nano_aiu */ readonly COPILOT_USAGE_NANO_AIU: "copilot_chat.copilot_usage_nano_aiu"; }; export type EditSource = 'inline_chat' | 'chat_editing' | 'chat_editing_hunk' | 'apply_patch' | 'replace_string' | 'code_mapper'; export type EditOutcome = 'accepted' | 'rejected' | 'saved' | 'unknown'; /** * Standard OTel attributes used alongside GenAI attributes. */ export declare const StdAttr: { readonly ERROR_TYPE: "error.type"; readonly SERVER_ADDRESS: "server.address"; readonly SERVER_PORT: "server.port"; }; /** * Attribute keys emitted by the Copilot CLI SDK's native OTel instrumentation * (read by the bridge processor and the debug panel; the extension itself does * not produce these). */ export declare const CopilotCliSdkAttr: { readonly HOOK_TYPE: "github.copilot.hook.type"; readonly HOOK_INVOCATION_ID: "github.copilot.hook.invocation_id"; }; /** * Canonical `github.copilot.*` attribute namespace for Copilot Chat. These * attributes are dual-emitted alongside the legacy `copilot_chat.*` keys; new * dashboards should prefer this namespace. */ export declare const GitHubCopilotAttr: { /** Agent type classifier: `builtin` | `plugin` | `custom`. */ readonly AGENT_TYPE: "github.copilot.agent.type"; /** Git remote URL (normalized). Dual of `copilot_chat.repo.remote_url`. */ readonly GIT_REPOSITORY: "github.copilot.git.repository"; /** Git HEAD branch. Dual of `copilot_chat.repo.head_branch_name`. */ readonly GIT_BRANCH: "github.copilot.git.branch"; /** Git HEAD commit. Dual of `copilot_chat.repo.head_commit_hash`. */ readonly GIT_COMMIT_SHA: "github.copilot.git.commit_sha"; /** GitHub `owner` segment derived from the remote URL (gated like the URL itself). */ readonly GITHUB_ORG: "github.copilot.github.org"; /** Hook decision result (`block` | `approve` | `non_blocking_error` | `pass`). */ readonly HOOK_DECISION: "github.copilot.hook.decision"; /** Hook duration in seconds (float). */ readonly HOOK_DURATION_SECONDS: "github.copilot.hook.duration"; /** JSON-encoded array of tool names a hook applies to (plural). */ readonly HOOK_TOOL_NAMES: "github.copilot.hook.tool_names"; /** SHA-256 hex of an MCP server name (always emitted). */ readonly MCP_SERVER_NAME_HASH: "github.copilot.mcp.server.name_hash"; /** Raw MCP server name (gated on captureContent). */ readonly MCP_SERVER_NAME: "github.copilot.mcp.server.name"; /** Shell command (truncated to 256 chars; gated on captureContent). */ readonly TOOL_PARAM_COMMAND: "github.copilot.tool.parameters.command"; /** File path argument (gated on captureContent). */ readonly TOOL_PARAM_FILE_PATH: "github.copilot.tool.parameters.file_path"; /** Edit operation kind (`create`, `update`, `str_replace`, `insert`). */ readonly TOOL_PARAM_EDIT_TYPE: "github.copilot.tool.parameters.edit_type"; /** Skill identifier for the invoked tool. */ readonly TOOL_PARAM_SKILL_NAME: "github.copilot.tool.parameters.skill_name"; /** SHA-256 hex of the MCP server name for an MCP tool call (always emitted). */ readonly TOOL_PARAM_MCP_SERVER_NAME_HASH: "github.copilot.tool.parameters.mcp_server_name_hash"; /** Raw MCP server name for an MCP tool call (gated). */ readonly TOOL_PARAM_MCP_SERVER_NAME: "github.copilot.tool.parameters.mcp_server_name"; /** MCP tool name (the part after the `mcp__` prefix). */ readonly TOOL_PARAM_MCP_TOOL_NAME: "github.copilot.tool.parameters.mcp_tool_name"; }; export type AgentType = 'builtin' | 'plugin' | 'custom'; export type HookDecision = 'block' | 'approve' | 'non_blocking_error' | 'pass'; export type EditOperationType = 'create' | 'update' | 'str_replace' | 'insert'; /** Max length for the `tool.parameters.command` attribute. */ export declare const TOOL_PARAM_COMMAND_MAX_LEN = 256; /** Tool names treated as shell-command tools for parameter extraction. */ export declare const SHELL_TOOL_NAMES: ReadonlySet; /** * Tool names treated as file tools for parameter extraction. Covers VS Code's * `ToolName` enum values (snake_case, see `extension/tools/common/toolNames.ts`) * and the camelCase / Claude-style variants seen on external surfaces. */ export declare const FILE_TOOL_NAMES: ReadonlySet; //# sourceMappingURL=genAiAttributes.d.ts.map