// GENERATED by `harn dump-protocol-artifacts` - do not edit by hand.
// Source: Harn adapter schemas and Rust wire vocabulary.

//! Dependency-free Rust bindings for Harn's host/integrator protocol surface.
//!
//! Mirrors the TypeScript, Swift, Python, and Go artifacts generated
//! alongside this module. Every value is the literal JSON wire string Harn
//! emits, so downstream Rust hosts can route and match on these constants
//! instead of hand-maintaining a parallel method list. Adding a wire value
//! is additive and minor-version compatible.
#![allow(dead_code)]

/// Harn release that generated this binding.
pub const HARN_PROTOCOL_ARTIFACT_VERSION: &str = "0.8.104";

/// Upstream ACP schema version Harn tracks.
pub const ACP_SCHEMA_COMPATIBILITY: &str = "agentclientprotocol/agent-client-protocol schema v0.12.2";

/// JSON-RPC method for `_harn/agentEvent` extension notifications.
pub const HARN_AGENT_EVENT_METHOD: &str = "_harn/agentEvent";

/// JSON-RPC method for Harn's provider catalog extension.
pub const HARN_PROVIDER_CATALOG_METHOD: &str = "_harn/providerCatalog";

pub const ACP_AGENT_METHOD_INITIALIZE: &str = "initialize";
pub const ACP_AGENT_METHOD_SESSION_INJECT: &str = "session/inject";
pub const ACP_AGENT_METHOD_SESSION_NEW: &str = "session/new";
pub const ACP_AGENT_METHOD_SESSION_LOAD: &str = "session/load";
pub const ACP_AGENT_METHOD_SESSION_REPLACE_INJECT: &str = "session/replace_inject";
pub const ACP_AGENT_METHOD_SESSION_RESUME: &str = "session/resume";
pub const ACP_AGENT_METHOD_SESSION_PROMPT: &str = "session/prompt";
pub const ACP_AGENT_METHOD_SESSION_REVOKE_INJECT: &str = "session/revoke_inject";
pub const ACP_AGENT_METHOD_SESSION_TRUNCATE: &str = "session/truncate";
pub const ACP_AGENT_METHOD_SESSION_ROLLBACK: &str = "session/rollback";
pub const ACP_AGENT_METHOD_SESSION_REDO: &str = "session/redo";
pub const ACP_AGENT_METHOD_SESSION_REMIND: &str = "session/remind";
pub const ACP_AGENT_METHOD_SESSION_PENDING_INJECTIONS: &str = "session/pending_injections";
pub const ACP_AGENT_METHOD_SESSION_REVOKE_REMINDER: &str = "session/revoke_reminder";
pub const ACP_AGENT_METHOD_SESSION_CANCEL_TOOL_CALL: &str = "session/cancel_tool_call";
pub const ACP_AGENT_METHOD_SESSION_CLOSE: &str = "session/close";
pub const ACP_AGENT_METHOD_SESSION_STOP: &str = "session/stop";

/// Stable host-facing ACP agent methods (matches the TypeScript/Swift/Python/Go bindings).
pub const ACP_AGENT_METHODS: &[&str] = &[
    "initialize",
    "session/inject",
    "session/new",
    "session/load",
    "session/replace_inject",
    "session/resume",
    "session/prompt",
    "session/revoke_inject",
    "session/truncate",
    "session/rollback",
    "session/redo",
    "session/remind",
    "session/pending_injections",
    "session/revoke_reminder",
    "session/cancel_tool_call",
    "session/close",
    "session/stop",
];

pub const ACP_DISPATCHED_METHOD_INITIALIZE: &str = "initialize";
pub const ACP_DISPATCHED_METHOD_AUTHENTICATE: &str = "authenticate";
pub const ACP_DISPATCHED_METHOD_HARN_PROVIDERCATALOG: &str = "_harn/providerCatalog";
pub const ACP_DISPATCHED_METHOD_SESSION_NEW: &str = "session/new";
pub const ACP_DISPATCHED_METHOD_SESSION_LOAD: &str = "session/load";
pub const ACP_DISPATCHED_METHOD_SESSION_RESUME: &str = "session/resume";
pub const ACP_DISPATCHED_METHOD_SESSION_FORK: &str = "session/fork";
pub const ACP_DISPATCHED_METHOD_SESSION_TRUNCATE: &str = "session/truncate";
pub const ACP_DISPATCHED_METHOD_SESSION_ROLLBACK: &str = "session/rollback";
pub const ACP_DISPATCHED_METHOD_SESSION_REDO: &str = "session/redo";
pub const ACP_DISPATCHED_METHOD_SESSION_SET_MODE: &str = "session/set_mode";
pub const ACP_DISPATCHED_METHOD_SESSION_SET_CONFIG_OPTION: &str = "session/set_config_option";
pub const ACP_DISPATCHED_METHOD_SESSION_FS_MODE: &str = "session/fs_mode";
pub const ACP_DISPATCHED_METHOD_SESSION_FS_COMMIT_STAGED: &str = "session/fs_commit_staged";
pub const ACP_DISPATCHED_METHOD_SESSION_FS_DISCARD_STAGED: &str = "session/fs_discard_staged";
pub const ACP_DISPATCHED_METHOD_SESSION_RESTORE_TOOL_CALL: &str = "session/restore_tool_call";
pub const ACP_DISPATCHED_METHOD_SESSION_PROMPT: &str = "session/prompt";
pub const ACP_DISPATCHED_METHOD_SESSION_CANCEL: &str = "session/cancel";
pub const ACP_DISPATCHED_METHOD_SESSION_CANCEL_TOOL_CALL: &str = "session/cancel_tool_call";
pub const ACP_DISPATCHED_METHOD_SESSION_CLOSE: &str = "session/close";
pub const ACP_DISPATCHED_METHOD_SESSION_STOP: &str = "session/stop";
pub const ACP_DISPATCHED_METHOD_SESSION_INJECT: &str = "session/inject";
pub const ACP_DISPATCHED_METHOD_SESSION_REVOKE_INJECT: &str = "session/revoke_inject";
pub const ACP_DISPATCHED_METHOD_SESSION_REPLACE_INJECT: &str = "session/replace_inject";
pub const ACP_DISPATCHED_METHOD_SESSION_REMIND: &str = "session/remind";
pub const ACP_DISPATCHED_METHOD_SESSION_PENDING_INJECTIONS: &str = "session/pending_injections";
pub const ACP_DISPATCHED_METHOD_SESSION_REVOKE_REMINDER: &str = "session/revoke_reminder";
pub const ACP_DISPATCHED_METHOD_SESSION_LIST: &str = "session/list";
pub const ACP_DISPATCHED_METHOD_HARN_SESSION_WORKSPACE_ROOTS: &str = "harn.session_workspace_roots";
pub const ACP_DISPATCHED_METHOD_HARN_SESSION_ADD_ROOT: &str = "harn.session_add_root";
pub const ACP_DISPATCHED_METHOD_HARN_SESSION_REANCHOR: &str = "harn.session_reanchor";
pub const ACP_DISPATCHED_METHOD_HARN_SESSION_ROLLBACK: &str = "harn.session_rollback";
pub const ACP_DISPATCHED_METHOD_HARN_SESSION_REDO: &str = "harn.session_redo";
pub const ACP_DISPATCHED_METHOD_AGENT_RESUME: &str = "agent/resume";
pub const ACP_DISPATCHED_METHOD_HARN_HITL_RESPOND: &str = "harn.hitl.respond";
pub const ACP_DISPATCHED_METHOD_WORKFLOW_SIGNAL: &str = "workflow/signal";
pub const ACP_DISPATCHED_METHOD_HARN_WORKFLOW_SIGNAL: &str = "harn.workflow.signal";
pub const ACP_DISPATCHED_METHOD_WORKFLOW_QUERY: &str = "workflow/query";
pub const ACP_DISPATCHED_METHOD_HARN_WORKFLOW_QUERY: &str = "harn.workflow.query";
pub const ACP_DISPATCHED_METHOD_WORKFLOW_UPDATE: &str = "workflow/update";
pub const ACP_DISPATCHED_METHOD_HARN_WORKFLOW_UPDATE: &str = "harn.workflow.update";
pub const ACP_DISPATCHED_METHOD_WORKFLOW_PAUSE: &str = "workflow/pause";
pub const ACP_DISPATCHED_METHOD_HARN_WORKFLOW_PAUSE: &str = "harn.workflow.pause";
pub const ACP_DISPATCHED_METHOD_WORKFLOW_RESUME: &str = "workflow/resume";
pub const ACP_DISPATCHED_METHOD_HARN_WORKFLOW_RESUME: &str = "harn.workflow.resume";
pub const ACP_DISPATCHED_METHOD_MCP_CATALOG: &str = "mcp/catalog";
pub const ACP_DISPATCHED_METHOD_HARN_MCP_CATALOG: &str = "harn.mcp.catalog";
pub const ACP_DISPATCHED_METHOD_MCP_AUTHORIZE: &str = "mcp/authorize";
pub const ACP_DISPATCHED_METHOD_HARN_MCP_AUTHORIZE: &str = "harn.mcp.authorize";
pub const ACP_DISPATCHED_METHOD_MCP_OAUTH_CALLBACK: &str = "mcp/oauth_callback";
pub const ACP_DISPATCHED_METHOD_HARN_MCP_OAUTH_CALLBACK: &str = "harn.mcp.oauth_callback";
pub const ACP_DISPATCHED_METHOD_MCP_IMPORT_TOKEN: &str = "mcp/import_token";
pub const ACP_DISPATCHED_METHOD_HARN_MCP_IMPORT_TOKEN: &str = "harn.mcp.import_token";

/// Every JSON-RPC method the ACP adapter actually dispatches, including the workspace-management, workflow-control, and HITL methods the stable bindings do not yet expose as typed enums. Reconciled against the `match` arms in `harn-serve`'s ACP adapter.
pub const ACP_DISPATCHED_METHODS: &[&str] = &[
    "initialize",
    "authenticate",
    "_harn/providerCatalog",
    "session/new",
    "session/load",
    "session/resume",
    "session/fork",
    "session/truncate",
    "session/rollback",
    "session/redo",
    "session/set_mode",
    "session/set_config_option",
    "session/fs_mode",
    "session/fs_commit_staged",
    "session/fs_discard_staged",
    "session/restore_tool_call",
    "session/prompt",
    "session/cancel",
    "session/cancel_tool_call",
    "session/close",
    "session/stop",
    "session/inject",
    "session/revoke_inject",
    "session/replace_inject",
    "session/remind",
    "session/pending_injections",
    "session/revoke_reminder",
    "session/list",
    "harn.session_workspace_roots",
    "harn.session_add_root",
    "harn.session_reanchor",
    "harn.session_rollback",
    "harn.session_redo",
    "agent/resume",
    "harn.hitl.respond",
    "workflow/signal",
    "harn.workflow.signal",
    "workflow/query",
    "harn.workflow.query",
    "workflow/update",
    "harn.workflow.update",
    "workflow/pause",
    "harn.workflow.pause",
    "workflow/resume",
    "harn.workflow.resume",
    "mcp/catalog",
    "harn.mcp.catalog",
    "mcp/authorize",
    "harn.mcp.authorize",
    "mcp/oauth_callback",
    "harn.mcp.oauth_callback",
    "mcp/import_token",
    "harn.mcp.import_token",
];

pub const ACP_CLIENT_METHOD_FS_READ_TEXT_FILE: &str = "fs/read_text_file";
pub const ACP_CLIENT_METHOD_FS_WRITE_TEXT_FILE: &str = "fs/write_text_file";
pub const ACP_CLIENT_METHOD_TERMINAL_CREATE: &str = "terminal/create";
pub const ACP_CLIENT_METHOD_TERMINAL_KILL: &str = "terminal/kill";
pub const ACP_CLIENT_METHOD_SESSION_REQUEST_PERMISSION: &str = "session/request_permission";

/// ACP client methods the agent calls back into the host for.
pub const ACP_CLIENT_METHODS: &[&str] = &[
    "fs/read_text_file",
    "fs/write_text_file",
    "terminal/create",
    "terminal/kill",
    "session/request_permission",
];

pub const ACP_AGENT_NOTIFICATION_SESSION_MESSAGE: &str = "session/message";
pub const ACP_AGENT_NOTIFICATION_SESSION_UPDATE: &str = "session/update";
pub const ACP_AGENT_NOTIFICATION_TERMINAL_OUTPUT: &str = "terminal/output";

/// ACP notifications the agent emits to the host.
pub const ACP_AGENT_NOTIFICATIONS: &[&str] = &[
    "session/message",
    "session/update",
    "terminal/output",
];

pub const ACP_SESSION_UPDATE_USER_MESSAGE: &str = "user_message";
pub const ACP_SESSION_UPDATE_USER_MESSAGE_CHUNK: &str = "user_message_chunk";
pub const ACP_SESSION_UPDATE_AGENT_MESSAGE_CHUNK: &str = "agent_message_chunk";
pub const ACP_SESSION_UPDATE_AGENT_THOUGHT_CHUNK: &str = "agent_thought_chunk";
pub const ACP_SESSION_UPDATE_TOOL_CALL: &str = "tool_call";
pub const ACP_SESSION_UPDATE_TOOL_CALL_UPDATE: &str = "tool_call_update";
pub const ACP_SESSION_UPDATE_PLAN: &str = "plan";
pub const ACP_SESSION_UPDATE_AVAILABLE_COMMANDS_UPDATE: &str = "available_commands_update";
pub const ACP_SESSION_UPDATE_CURRENT_MODE_UPDATE: &str = "current_mode_update";
pub const ACP_SESSION_UPDATE_CONFIG_OPTION_UPDATE: &str = "config_option_update";
pub const ACP_SESSION_UPDATE_SESSION_INFO_UPDATE: &str = "session_info_update";
pub const ACP_SESSION_UPDATE_SESSION_REDO: &str = "session_redo";
pub const ACP_SESSION_UPDATE_SESSION_ROLLBACK: &str = "session_rollback";
pub const ACP_SESSION_UPDATE_SESSION_TRUNCATED: &str = "session_truncated";
pub const ACP_SESSION_UPDATE_ARTIFACT: &str = "artifact";
pub const ACP_SESSION_UPDATE_FS_WATCH: &str = "fs_watch";
pub const ACP_SESSION_UPDATE_HANDOFF: &str = "handoff";
pub const ACP_SESSION_UPDATE_HITL_REQUEST: &str = "hitl_request";
pub const ACP_SESSION_UPDATE_HITL_RESOLVED: &str = "hitl_resolved";
pub const ACP_SESSION_UPDATE_LOG: &str = "log";
pub const ACP_SESSION_UPDATE_PROGRESS: &str = "progress";
pub const ACP_SESSION_UPDATE_REMINDER_EMITTED: &str = "reminder_emitted";
pub const ACP_SESSION_UPDATE_SKILL_ACTIVATED: &str = "skill_activated";
pub const ACP_SESSION_UPDATE_SKILL_DEACTIVATED: &str = "skill_deactivated";
pub const ACP_SESSION_UPDATE_SKILL_NARROW: &str = "skill_narrow";
pub const ACP_SESSION_UPDATE_SKILL_SCOPE_TOOLS: &str = "skill_scope_tools";
pub const ACP_SESSION_UPDATE_TOOL_SEARCH_QUERY: &str = "tool_search_query";
pub const ACP_SESSION_UPDATE_TOOL_SEARCH_RESULT: &str = "tool_search_result";
pub const ACP_SESSION_UPDATE_TRANSCRIPT_COMPACTED: &str = "transcript_compacted";
pub const ACP_SESSION_UPDATE_TRANSCRIPT_PROJECTED: &str = "transcript_projected";
pub const ACP_SESSION_UPDATE_WORKER_UPDATE: &str = "worker_update";

/// Every `session/update` discriminator Harn emits (canonical ACP variants plus Harn extensions), the union the Swift binding exposes as `acpSessionUpdateExtensions` merged with the base ACP set.
pub const ACP_SESSION_UPDATES: &[&str] = &[
    "user_message",
    "user_message_chunk",
    "agent_message_chunk",
    "agent_thought_chunk",
    "tool_call",
    "tool_call_update",
    "plan",
    "available_commands_update",
    "current_mode_update",
    "config_option_update",
    "session_info_update",
    "session_redo",
    "session_rollback",
    "session_truncated",
    "artifact",
    "fs_watch",
    "handoff",
    "hitl_request",
    "hitl_resolved",
    "log",
    "progress",
    "reminder_emitted",
    "skill_activated",
    "skill_deactivated",
    "skill_narrow",
    "skill_scope_tools",
    "tool_search_query",
    "tool_search_result",
    "transcript_compacted",
    "transcript_projected",
    "worker_update",
];

pub const HARN_ACP_SESSION_UPDATE_EXTENSION_ARTIFACT: &str = "artifact";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_AVAILABLE_COMMANDS_UPDATE: &str = "available_commands_update";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_FS_WATCH: &str = "fs_watch";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_HANDOFF: &str = "handoff";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_HITL_REQUEST: &str = "hitl_request";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_HITL_RESOLVED: &str = "hitl_resolved";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_LOG: &str = "log";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_PROGRESS: &str = "progress";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_REMINDER_EMITTED: &str = "reminder_emitted";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_SKILL_ACTIVATED: &str = "skill_activated";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_SKILL_DEACTIVATED: &str = "skill_deactivated";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_SKILL_NARROW: &str = "skill_narrow";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_SKILL_SCOPE_TOOLS: &str = "skill_scope_tools";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_TOOL_SEARCH_QUERY: &str = "tool_search_query";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_TOOL_SEARCH_RESULT: &str = "tool_search_result";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_TRANSCRIPT_COMPACTED: &str = "transcript_compacted";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_TRANSCRIPT_PROJECTED: &str = "transcript_projected";
pub const HARN_ACP_SESSION_UPDATE_EXTENSION_WORKER_UPDATE: &str = "worker_update";

/// Harn-specific `session/update` discriminators beyond the canonical ACP set (the values Swift publishes as `acpSessionUpdateExtensions`).
pub const HARN_ACP_SESSION_UPDATE_EXTENSIONS: &[&str] = &[
    "artifact",
    "available_commands_update",
    "fs_watch",
    "handoff",
    "hitl_request",
    "hitl_resolved",
    "log",
    "progress",
    "reminder_emitted",
    "skill_activated",
    "skill_deactivated",
    "skill_narrow",
    "skill_scope_tools",
    "tool_search_query",
    "tool_search_result",
    "transcript_compacted",
    "transcript_projected",
    "worker_update",
];

pub const HARN_AGENT_EVENT_KIND_BUDGET_CIRCUIT_BREAKER: &str = "budget_circuit_breaker";
pub const HARN_AGENT_EVENT_KIND_BUDGET_EXHAUSTED: &str = "budget_exhausted";
pub const HARN_AGENT_EVENT_KIND_COMPOSITION_CHILD_CALL: &str = "composition_child_call";
pub const HARN_AGENT_EVENT_KIND_COMPOSITION_CHILD_RESULT: &str = "composition_child_result";
pub const HARN_AGENT_EVENT_KIND_COMPOSITION_ERROR: &str = "composition_error";
pub const HARN_AGENT_EVENT_KIND_COMPOSITION_FINISH: &str = "composition_finish";
pub const HARN_AGENT_EVENT_KIND_COMPOSITION_START: &str = "composition_start";
pub const HARN_AGENT_EVENT_KIND_COMPASS_ROUTING_DECISION: &str = "compass_routing_decision";
pub const HARN_AGENT_EVENT_KIND_CONTROL_OUTCOME: &str = "control_outcome";
pub const HARN_AGENT_EVENT_KIND_DAEMON_WATCHDOG_TRIPPED: &str = "daemon_watchdog_tripped";
pub const HARN_AGENT_EVENT_KIND_FEEDBACK_INJECTED: &str = "feedback_injected";
pub const HARN_AGENT_EVENT_KIND_ITERATION_END: &str = "iteration_end";
pub const HARN_AGENT_EVENT_KIND_ITERATION_START: &str = "iteration_start";
pub const HARN_AGENT_EVENT_KIND_JUDGE_DECISION: &str = "judge_decision";
pub const HARN_AGENT_EVENT_KIND_LOOP_CONTROL_DECISION: &str = "loop_control_decision";
pub const HARN_AGENT_EVENT_KIND_LOOP_STUCK: &str = "loop_stuck";
pub const HARN_AGENT_EVENT_KIND_MCP_AUTH_REQUIRED: &str = "mcp_auth_required";
pub const HARN_AGENT_EVENT_KIND_MCP_CATALOG_CHANGED: &str = "mcp_catalog_changed";
pub const HARN_AGENT_EVENT_KIND_MCP_NOTIFICATION: &str = "mcp_notification";
pub const HARN_AGENT_EVENT_KIND_PROGRESS_REPORTED: &str = "progress_reported";
pub const HARN_AGENT_EVENT_KIND_SCOPE_CLASSIFIER_VERDICT: &str = "scope_classifier_verdict";
pub const HARN_AGENT_EVENT_KIND_SESSION_CLOSED: &str = "session_closed";
pub const HARN_AGENT_EVENT_KIND_STRUCTURAL_VALIDATOR_DECISION: &str = "structural_validator_decision";
pub const HARN_AGENT_EVENT_KIND_STEP_JUDGE_DECISION: &str = "step_judge_decision";
pub const HARN_AGENT_EVENT_KIND_TOOL_CALL_AUDIT: &str = "tool_call_audit";
pub const HARN_AGENT_EVENT_KIND_TOOL_FORMAT_OVERRIDE: &str = "tool_format_override";
pub const HARN_AGENT_EVENT_KIND_TYPED_CHECKPOINT: &str = "typed_checkpoint";

/// Pipeline-loop milestone kinds emitted via `_harn/agentEvent`.
pub const HARN_AGENT_EVENT_KINDS: &[&str] = &[
    "budget_circuit_breaker",
    "budget_exhausted",
    "composition_child_call",
    "composition_child_result",
    "composition_error",
    "composition_finish",
    "composition_start",
    "compass_routing_decision",
    "control_outcome",
    "daemon_watchdog_tripped",
    "feedback_injected",
    "iteration_end",
    "iteration_start",
    "judge_decision",
    "loop_control_decision",
    "loop_stuck",
    "mcp_auth_required",
    "mcp_catalog_changed",
    "mcp_notification",
    "progress_reported",
    "scope_classifier_verdict",
    "session_closed",
    "structural_validator_decision",
    "step_judge_decision",
    "tool_call_audit",
    "tool_format_override",
    "typed_checkpoint",
];

pub const HARN_CONTENT_EXTENSION_FIELD_VISIBLE_DELTA: &str = "visible_delta";
pub const HARN_CONTENT_EXTENSION_FIELD_VISIBLE_TEXT: &str = "visible_text";

/// `_meta.harn` content-block extension keys (`visible_text` / `visible_delta`) Harn attaches to streamed content.
pub const HARN_CONTENT_EXTENSION_FIELDS: &[&str] = &[
    "visible_delta",
    "visible_text",
];

pub const HARN_TOOL_LIFECYCLE_EXTENSION_FIELD_AUDIT: &str = "audit";
pub const HARN_TOOL_LIFECYCLE_EXTENSION_FIELD_DURATIONMS: &str = "durationMs";
pub const HARN_TOOL_LIFECYCLE_EXTENSION_FIELD_ERROR: &str = "error";
pub const HARN_TOOL_LIFECYCLE_EXTENSION_FIELD_ERRORCATEGORY: &str = "errorCategory";
pub const HARN_TOOL_LIFECYCLE_EXTENSION_FIELD_EXECUTIONDURATIONMS: &str = "executionDurationMs";
pub const HARN_TOOL_LIFECYCLE_EXTENSION_FIELD_EXECUTOR: &str = "executor";
pub const HARN_TOOL_LIFECYCLE_EXTENSION_FIELD_PARSING: &str = "parsing";
pub const HARN_TOOL_LIFECYCLE_EXTENSION_FIELD_RAWINPUTPARTIAL: &str = "rawInputPartial";

/// `_meta.harn` tool-lifecycle extension keys on tool_call / tool_call_update notifications.
pub const HARN_TOOL_LIFECYCLE_EXTENSION_FIELDS: &[&str] = &[
    "audit",
    "durationMs",
    "error",
    "errorCategory",
    "executionDurationMs",
    "executor",
    "parsing",
    "rawInputPartial",
];

