export interface TracerSession { tenant_id: string; id: string; start_time: number; end_time?: number; description?: string; name?: string; /** Extra metadata for the project. */ extra?: KVMap; reference_dataset_id?: string; } export interface TracerSessionResult extends TracerSession { run_count?: number; latency_p50?: number; latency_p99?: number; total_tokens?: number; prompt_tokens?: number; completion_tokens?: number; last_run_start_time?: number; feedback_stats?: Record; run_facets?: KVMap[]; } export type KVMap = Record; export type RunType = "llm" | "chain" | "tool" | "retriever" | "embedding" | "prompt" | "parser"; export type ScoreType = number | boolean | null; export type ValueType = number | boolean | string | object | null; export type DataType = "kv" | "llm" | "chat"; export interface BaseExample { dataset_id: string; inputs: KVMap; outputs?: KVMap; metadata?: KVMap; source_run_id?: string; } /** * A run can represent either a trace (root run) * or a child run (~span). */ export interface BaseRun { /** Optionally, a unique identifier for the run. */ id?: string; /** A human-readable name for the run. */ name: string; /** The epoch time at which the run started, if available. */ start_time?: number; /** Specifies the type of run (tool, chain, llm, etc.). */ run_type: string; /** The epoch time at which the run ended, if applicable. */ end_time?: number; /** Any additional metadata or settings for the run. */ extra?: KVMap; /** Error message, captured if the run faces any issues. */ error?: string; /** Serialized state of the run for potential future use. */ serialized?: object; /** Events like 'start', 'end' linked to the run. */ events?: KVMap[]; /** Inputs that were used to initiate the run. */ inputs: KVMap; /** Outputs produced by the run, if any. */ outputs?: KVMap; /** ID of an example that might be related to this run. */ reference_example_id?: string; /** ID of a parent run, if this run is part of a larger operation. */ parent_run_id?: string; /** Tags for further categorizing or annotating the run. */ tags?: string[]; /** Unique ID assigned to every run within this nested trace. **/ trace_id?: string; /** * The dotted order for the run. * * This is a string composed of {time}{run-uuid}.* so that a trace can be * sorted in the order it was executed. * * Example: * - Parent: 20230914T223155647Z1b64098b-4ab7-43f6-afee-992304f198d8 * - Children: * - 20230914T223155647Z1b64098b-4ab7-43f6-afee-992304f198d8.20230914T223155649Z809ed3a2-0172-4f4d-8a02-a64e9b7a0f8a * - 20230915T223155647Z1b64098b-4ab7-43f6-afee-992304f198d8.20230914T223155650Zc8d9f4c5-6c5a-4b2d-9b1c-3d9d7a7c5c7c */ dotted_order?: string; } type S3URL = { ROOT: { /** A pre-signed URL */ presigned_url: string; /** The S3 path to the object in storage */ s3_url: string; }; }; /** * Describes properties of a run when loaded from the database. * Extends the BaseRun interface. */ export interface Run extends BaseRun { /** A unique identifier for the run, mandatory when loaded from DB. */ id: string; /** The ID of the project that owns this run. */ session_id?: string; /** IDs of any child runs spawned by this run. */ child_run_ids?: string[]; /** Child runs, loaded explicitly via a heavier query. */ child_runs?: Run[]; /** Stats capturing feedback for this run. */ feedback_stats?: KVMap; /** The URL path where this run is accessible within the app. */ app_path?: string; /** The manifest ID that correlates with this run. */ manifest_id?: string; /** The current status of the run, such as 'success'. */ status?: string; /** Number of tokens used in the prompt. */ prompt_tokens?: number; /** Number of tokens generated in the completion. */ completion_tokens?: number; /** Total token count, combining prompt and completion. */ total_tokens?: number; /** Time when the first token was processed. */ first_token_time?: number; /** IDs of parent runs, if multiple exist. */ parent_run_ids?: string[]; /** Whether the run is included in a dataset. */ in_dataset?: boolean; /** The output S3 URLs */ outputs_s3_urls?: S3URL; /** The input S3 URLs */ inputs_s3_urls?: S3URL; } export interface RunCreate extends BaseRun { revision_id?: string; child_runs?: this[]; session_name?: string; } export interface RunUpdate { id?: string; end_time?: number; extra?: KVMap; tags?: string[]; error?: string; inputs?: KVMap; outputs?: KVMap; parent_run_id?: string; reference_example_id?: string; events?: KVMap[]; session_id?: string; /** Unique ID assigned to every run within this nested trace. **/ trace_id?: string; /** * The dotted order for the run. * * This is a string composed of {time}{run-uuid}.* so that a trace can be * sorted in the order it was executed. * * Example: * - Parent: 20230914T223155647Z1b64098b-4ab7-43f6-afee-992304f198d8 * - Children: * - 20230914T223155647Z1b64098b-4ab7-43f6-afee-992304f198d8.20230914T223155649Z809ed3a2-0172-4f4d-8a02-a64e9b7a0f8a * - 20230915T223155647Z1b64098b-4ab7-43f6-afee-992304f198d8.20230914T223155650Zc8d9f4c5-6c5a-4b2d-9b1c-3d9d7a7c5c7c */ dotted_order?: string; } export interface ExampleCreate extends BaseExample { id?: string; created_at?: string; split?: string | string[]; } export interface Example extends BaseExample { id: string; created_at: string; modified_at: string; source_run_id?: string; runs: Run[]; } export interface ExampleUpdate { dataset_id?: string; inputs?: KVMap; outputs?: KVMap; metadata?: KVMap; split?: string | string[]; } export interface ExampleUpdateWithId extends ExampleUpdate { id: string; } export interface ExampleSearch extends BaseExample { id: string; } export interface BaseDataset { name: string; description: string; tenant_id: string; data_type?: DataType; inputs_schema_definition?: KVMap; outputs_schema_definition?: KVMap; } export interface Dataset extends BaseDataset { id: string; created_at: string; modified_at: string; example_count?: number; session_count?: number; last_session_start_time?: number; } export interface DatasetShareSchema { dataset_id: string; share_token: string; url: string; } export interface FeedbackSourceBase { type: string; metadata?: KVMap; } export interface APIFeedbackSource extends FeedbackSourceBase { type: "api"; } export interface ModelFeedbackSource extends FeedbackSourceBase { type: "model"; } export interface FeedbackBase { created_at: string; modified_at: string; run_id: string; key: string; score: ScoreType; value: ValueType; comment: string | null; correction: string | object | null; feedback_source: APIFeedbackSource | ModelFeedbackSource | KVMap | null; } export interface FeedbackCreate extends FeedbackBase { id: string; } export interface Feedback extends FeedbackBase { id: string; } export interface LangChainBaseMessage { _getType: () => string; content: string; additional_kwargs?: KVMap; } export interface FeedbackIngestToken { id: string; url: string; expires_at: string; } export interface TimeDelta { days?: number; hours?: number; minutes?: number; } export interface FeedbackCategory { value: number; label?: string | null; } /** * Represents the configuration for feedback. * This determines how the LangSmith service interprets feedback * values of the associated key. */ export interface FeedbackConfig { /** * The type of feedback. * - "continuous": Feedback with a continuous numeric. * - "categorical": Feedback with a categorical value (classes) * - "freeform": Feedback with a freeform text value (notes). */ type: "continuous" | "categorical" | "freeform"; /** * The minimum value for continuous feedback. */ min?: number | null; /** * The maximum value for continuous feedback. */ max?: number | null; /** * The categories for categorical feedback. * Each category can be a string or an object with additional properties. * * If feedback is categorical, this defines the valid categories the server will accept. * Not applicable to continuous or freeform feedback types. */ categories?: FeedbackCategory[] | null; } export interface DatasetDiffInfo { examples_modified: string[]; examples_added: string[]; examples_removed: string[]; } export interface ComparisonEvaluationResult { key: string; scores: Record; source_run_id?: string; } export interface ComparativeExperiment { id: string; name: string; description: string; tenant_id: string; created_at: string; modified_at: string; reference_dataset_id: string; extra?: Record; experiments_info?: Array>; feedback_stats?: Record; } /** * Represents the expected output schema returned by traceable * or by run tree output for LangSmith to correctly display * documents in the UI */ export type RetrieverOutput = Array<{ page_content: string; type: "Document"; metadata?: KVMap; }>; export interface InvocationParamsSchema { ls_provider?: string; ls_model_name?: string; ls_model_type: "chat" | "llm"; ls_temperature?: number; ls_max_tokens?: number; ls_stop?: string[]; } export interface PromptCommit { owner: string; repo: string; commit_hash: string; manifest: Record; examples: Array>; } export interface Prompt { repo_handle: string; description?: string; readme?: string; id: string; tenant_id: string; created_at: string; updated_at: string; is_public: boolean; is_archived: boolean; tags: string[]; original_repo_id?: string; upstream_repo_id?: string; owner?: string; full_name: string; num_likes: number; num_downloads: number; num_views: number; liked_by_auth_user: boolean; last_commit_hash?: string; num_commits: number; original_repo_full_name?: string; upstream_repo_full_name?: string; } export interface ListPromptsResponse { repos: Prompt[]; total: number; } export interface ListCommitsResponse { commits: PromptCommit[]; total: number; } export type PromptSortField = "num_downloads" | "num_views" | "updated_at" | "num_likes"; export interface LikePromptResponse { likes: number; } export interface LangSmithSettings { id: string; display_name: string; created_at: string; tenant_handle?: string; } export interface AnnotationQueue { /** The unique identifier of the annotation queue. */ id: string; /** The name of the annotation queue. */ name: string; /** An optional description of the annotation queue. */ description?: string; /** The timestamp when the annotation queue was created. */ created_at: string; /** The timestamp when the annotation queue was last updated. */ updated_at: string; /** The ID of the tenant associated with the annotation queue. */ tenant_id: string; } export interface RunWithAnnotationQueueInfo extends BaseRun { /** The last time this run was reviewed. */ last_reviewed_time?: string; /** The time this run was added to the queue. */ added_at?: string; } export {};