run_trees.d.ts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import { Attachments, BaseRun, KVMap, RunCreate } from "./schemas.js";
  2. import { Client } from "./client.js";
  3. export declare function convertToDottedOrderFormat(epoch: number, runId: string, executionOrder?: number): string;
  4. export interface RunTreeConfig {
  5. name: string;
  6. run_type?: string;
  7. id?: string;
  8. project_name?: string;
  9. parent_run?: RunTree;
  10. parent_run_id?: string;
  11. child_runs?: RunTree[];
  12. start_time?: number;
  13. end_time?: number;
  14. extra?: KVMap;
  15. metadata?: KVMap;
  16. tags?: string[];
  17. error?: string;
  18. serialized?: object;
  19. inputs?: KVMap;
  20. outputs?: KVMap;
  21. reference_example_id?: string;
  22. client?: Client;
  23. tracingEnabled?: boolean;
  24. on_end?: (runTree: RunTree) => void;
  25. execution_order?: number;
  26. child_execution_order?: number;
  27. trace_id?: string;
  28. dotted_order?: string;
  29. attachments?: Attachments;
  30. }
  31. export interface RunnableConfigLike {
  32. /**
  33. * Tags for this call and any sub-calls (eg. a Chain calling an LLM).
  34. * You can use these to filter calls.
  35. */
  36. tags?: string[];
  37. /**
  38. * Metadata for this call and any sub-calls (eg. a Chain calling an LLM).
  39. * Keys should be strings, values should be JSON-serializable.
  40. */
  41. metadata?: Record<string, unknown>;
  42. /**
  43. * Callbacks for this call and any sub-calls (eg. a Chain calling an LLM).
  44. * Tags are passed to all callbacks, metadata is passed to handle*Start callbacks.
  45. */
  46. callbacks?: any;
  47. }
  48. interface HeadersLike {
  49. get(name: string): string | null;
  50. set(name: string, value: string): void;
  51. }
  52. export declare class RunTree implements BaseRun {
  53. private static sharedClient;
  54. id: string;
  55. name: RunTreeConfig["name"];
  56. run_type: string;
  57. project_name: string;
  58. parent_run?: RunTree;
  59. child_runs: RunTree[];
  60. start_time: number;
  61. end_time?: number;
  62. extra: KVMap;
  63. tags?: string[];
  64. error?: string;
  65. serialized: object;
  66. inputs: KVMap;
  67. outputs?: KVMap;
  68. reference_example_id?: string;
  69. client: Client;
  70. events?: KVMap[] | undefined;
  71. trace_id: string;
  72. dotted_order: string;
  73. tracingEnabled?: boolean;
  74. execution_order: number;
  75. child_execution_order: number;
  76. /**
  77. * Attachments associated with the run.
  78. * Each entry is a tuple of [mime_type, bytes]
  79. */
  80. attachments?: Attachments;
  81. constructor(originalConfig: RunTreeConfig | RunTree);
  82. private static getDefaultConfig;
  83. private static getSharedClient;
  84. createChild(config: RunTreeConfig): RunTree;
  85. end(outputs?: KVMap, error?: string, endTime?: number, metadata?: KVMap): Promise<void>;
  86. private _convertToCreate;
  87. postRun(excludeChildRuns?: boolean): Promise<void>;
  88. patchRun(): Promise<void>;
  89. toJSON(): RunCreate;
  90. /**
  91. * Add an event to the run tree.
  92. * @param event - A single event or string to add
  93. */
  94. addEvent(event: RunEvent | string): void;
  95. static fromRunnableConfig(parentConfig: RunnableConfigLike, props: RunTreeConfig): RunTree;
  96. static fromDottedOrder(dottedOrder: string): RunTree | undefined;
  97. static fromHeaders(headers: Record<string, string | string[]> | HeadersLike, inheritArgs?: RunTreeConfig): RunTree | undefined;
  98. toHeaders(headers?: HeadersLike): {
  99. "langsmith-trace": string;
  100. baggage: string;
  101. };
  102. }
  103. export declare function isRunTree(x?: unknown): x is RunTree;
  104. export interface RunEvent {
  105. name?: string;
  106. time?: string;
  107. message?: string;
  108. kwargs?: Record<string, unknown>;
  109. [key: string]: unknown;
  110. }
  111. export declare function isRunnableConfigLike(x?: unknown): x is RunnableConfigLike;
  112. export {};