import type { AiInvocationStatus as _memoflow_v1_AiInvocationStatus, AiInvocationStatus__Output as _memoflow_v1_AiInvocationStatus__Output } from '../../memoflow/v1/AiInvocationStatus.js'; import type { AiOperation as _memoflow_v1_AiOperation, AiOperation__Output as _memoflow_v1_AiOperation__Output } from '../../memoflow/v1/AiOperation.js'; import type { AiFinishReason as _memoflow_v1_AiFinishReason, AiFinishReason__Output as _memoflow_v1_AiFinishReason__Output } from '../../memoflow/v1/AiFinishReason.js'; import type { AiNormalizedUsage as _memoflow_v1_AiNormalizedUsage, AiNormalizedUsage__Output as _memoflow_v1_AiNormalizedUsage__Output } from '../../memoflow/v1/AiNormalizedUsage.js'; import type { AiPriceSnapshot as _memoflow_v1_AiPriceSnapshot, AiPriceSnapshot__Output as _memoflow_v1_AiPriceSnapshot__Output } from '../../memoflow/v1/AiPriceSnapshot.js'; import type { AiRetryAndRateLimit as _memoflow_v1_AiRetryAndRateLimit, AiRetryAndRateLimit__Output as _memoflow_v1_AiRetryAndRateLimit__Output } from '../../memoflow/v1/AiRetryAndRateLimit.js'; import type { AiProviderExtension as _memoflow_v1_AiProviderExtension, AiProviderExtension__Output as _memoflow_v1_AiProviderExtension__Output } from '../../memoflow/v1/AiProviderExtension.js'; import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../google/protobuf/Timestamp.js'; import type { Long } from '@grpc/proto-loader'; export interface AiInvocationRecord { 'schema_version'?: (number); 'invocation_id'?: (string); 'idempotency_key'?: (string); 'status'?: (_memoflow_v1_AiInvocationStatus); 'provider_family'?: (string); 'model_identifier'?: (string); 'model_revision'?: (string); 'operation'?: (_memoflow_v1_AiOperation); 'prompt_template_id'?: (string); 'prompt_template_version'?: (string); 'prompt_schema_version'?: (number); 'prompt_sha256'?: (string); 'prompt_ref'?: (string); 'parameters_schema_version'?: (number); 'parameters_sha256'?: (string); 'parameters_ref'?: (string); 'response_schema_version'?: (number); 'response_sha256'?: (string); 'response_ref'?: (string); 'finish_reason'?: (_memoflow_v1_AiFinishReason); 'usage'?: (_memoflow_v1_AiNormalizedUsage | null); 'price'?: (_memoflow_v1_AiPriceSnapshot | null); 'latency_ms'?: (number | string | Long); 'retry'?: (_memoflow_v1_AiRetryAndRateLimit | null); 'tool_definitions_version'?: (string); 'tool_definitions_sha256'?: (string); 'provider_extension'?: (_memoflow_v1_AiProviderExtension | null); 'started_at'?: (_google_protobuf_Timestamp | null); 'completed_at'?: (_google_protobuf_Timestamp | null); '_response_schema_version'?: "response_schema_version"; '_latency_ms'?: "latency_ms"; } export interface AiInvocationRecord__Output { 'schema_version': (number); 'invocation_id': (string); 'idempotency_key': (string); 'status': (_memoflow_v1_AiInvocationStatus__Output); 'provider_family': (string); 'model_identifier': (string); 'model_revision': (string); 'operation': (_memoflow_v1_AiOperation__Output); 'prompt_template_id': (string); 'prompt_template_version': (string); 'prompt_schema_version': (number); 'prompt_sha256': (string); 'prompt_ref': (string); 'parameters_schema_version': (number); 'parameters_sha256': (string); 'parameters_ref': (string); 'response_schema_version'?: (number); 'response_sha256': (string); 'response_ref': (string); 'finish_reason': (_memoflow_v1_AiFinishReason__Output); 'usage': (_memoflow_v1_AiNormalizedUsage__Output | null); 'price': (_memoflow_v1_AiPriceSnapshot__Output | null); 'latency_ms'?: (string); 'retry': (_memoflow_v1_AiRetryAndRateLimit__Output | null); 'tool_definitions_version': (string); 'tool_definitions_sha256': (string); 'provider_extension': (_memoflow_v1_AiProviderExtension__Output | null); 'started_at': (_google_protobuf_Timestamp__Output | null); 'completed_at': (_google_protobuf_Timestamp__Output | null); '_response_schema_version'?: "response_schema_version"; '_latency_ms'?: "latency_ms"; }