openlayer 0.4.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +6 -6
  3. package/index.d.mts +5 -0
  4. package/index.d.ts +5 -0
  5. package/index.d.ts.map +1 -1
  6. package/index.js +2 -0
  7. package/index.js.map +1 -1
  8. package/index.mjs +2 -0
  9. package/index.mjs.map +1 -1
  10. package/lib/core/openai-monitor.d.ts +3 -0
  11. package/lib/core/openai-monitor.d.ts.map +1 -1
  12. package/lib/core/openai-monitor.js +7 -1
  13. package/lib/core/openai-monitor.js.map +1 -1
  14. package/lib/core/openai-monitor.mjs +4 -1
  15. package/lib/core/openai-monitor.mjs.map +1 -1
  16. package/lib/integrations/langchainCallback.d.ts +33 -0
  17. package/lib/integrations/langchainCallback.d.ts.map +1 -0
  18. package/lib/integrations/langchainCallback.js +114 -0
  19. package/lib/integrations/langchainCallback.js.map +1 -0
  20. package/lib/integrations/langchainCallback.mjs +110 -0
  21. package/lib/integrations/langchainCallback.mjs.map +1 -0
  22. package/lib/integrations/openAiTracer.d.ts +3 -0
  23. package/lib/integrations/openAiTracer.d.ts.map +1 -0
  24. package/lib/integrations/openAiTracer.js +125 -0
  25. package/lib/integrations/openAiTracer.js.map +1 -0
  26. package/lib/integrations/openAiTracer.mjs +121 -0
  27. package/lib/integrations/openAiTracer.mjs.map +1 -0
  28. package/lib/tracing/enums.d.ts +5 -0
  29. package/lib/tracing/enums.d.ts.map +1 -0
  30. package/lib/tracing/enums.js +9 -0
  31. package/lib/tracing/enums.js.map +1 -0
  32. package/lib/tracing/enums.mjs +6 -0
  33. package/lib/tracing/enums.mjs.map +1 -0
  34. package/lib/tracing/steps.d.ts +57 -0
  35. package/lib/tracing/steps.d.ts.map +1 -0
  36. package/lib/tracing/steps.js +84 -0
  37. package/lib/tracing/steps.js.map +1 -0
  38. package/lib/tracing/steps.mjs +78 -0
  39. package/lib/tracing/steps.mjs.map +1 -0
  40. package/lib/tracing/tracer.d.ts +18 -0
  41. package/lib/tracing/tracer.d.ts.map +1 -0
  42. package/lib/tracing/tracer.js +155 -0
  43. package/lib/tracing/tracer.js.map +1 -0
  44. package/lib/tracing/tracer.mjs +148 -0
  45. package/lib/tracing/tracer.mjs.map +1 -0
  46. package/lib/tracing/traces.d.ts +9 -0
  47. package/lib/tracing/traces.d.ts.map +1 -0
  48. package/lib/tracing/traces.js +17 -0
  49. package/lib/tracing/traces.js.map +1 -0
  50. package/lib/tracing/traces.mjs +13 -0
  51. package/lib/tracing/traces.mjs.map +1 -0
  52. package/package.json +2 -1
  53. package/resources/index.d.ts +2 -1
  54. package/resources/index.d.ts.map +1 -1
  55. package/resources/index.js +3 -1
  56. package/resources/index.js.map +1 -1
  57. package/resources/index.mjs +2 -1
  58. package/resources/index.mjs.map +1 -1
  59. package/resources/inference-pipelines/data.d.ts +1 -1
  60. package/resources/inference-pipelines/data.js +1 -1
  61. package/resources/inference-pipelines/data.mjs +1 -1
  62. package/resources/inference-pipelines/index.d.ts +1 -1
  63. package/resources/inference-pipelines/index.d.ts.map +1 -1
  64. package/resources/inference-pipelines/index.js.map +1 -1
  65. package/resources/inference-pipelines/index.mjs +1 -1
  66. package/resources/inference-pipelines/index.mjs.map +1 -1
  67. package/resources/inference-pipelines/inference-pipelines.d.ts +161 -0
  68. package/resources/inference-pipelines/inference-pipelines.d.ts.map +1 -1
  69. package/resources/inference-pipelines/inference-pipelines.js +22 -0
  70. package/resources/inference-pipelines/inference-pipelines.js.map +1 -1
  71. package/resources/inference-pipelines/inference-pipelines.mjs +22 -0
  72. package/resources/inference-pipelines/inference-pipelines.mjs.map +1 -1
  73. package/resources/storage/index.d.ts +3 -0
  74. package/resources/storage/index.d.ts.map +1 -0
  75. package/resources/storage/index.js +9 -0
  76. package/resources/storage/index.js.map +1 -0
  77. package/resources/storage/index.mjs +4 -0
  78. package/resources/storage/index.mjs.map +1 -0
  79. package/resources/storage/presigned-url.d.ts +34 -0
  80. package/resources/storage/presigned-url.d.ts.map +1 -0
  81. package/resources/storage/presigned-url.js +18 -0
  82. package/resources/storage/presigned-url.js.map +1 -0
  83. package/resources/storage/presigned-url.mjs +14 -0
  84. package/resources/storage/presigned-url.mjs.map +1 -0
  85. package/resources/storage/storage.d.ts +11 -0
  86. package/resources/storage/storage.d.ts.map +1 -0
  87. package/resources/storage/storage.js +40 -0
  88. package/resources/storage/storage.js.map +1 -0
  89. package/resources/storage/storage.mjs +13 -0
  90. package/resources/storage/storage.mjs.map +1 -0
  91. package/src/index.ts +6 -0
  92. package/src/lib/core/openai-monitor.ts +7 -1
  93. package/src/lib/index.d.ts +1 -0
  94. package/src/lib/integrations/langchainCallback.ts +141 -0
  95. package/src/lib/integrations/openAiTracer.ts +137 -0
  96. package/src/lib/tracing/enums.ts +4 -0
  97. package/src/lib/tracing/index.d.ts +1 -0
  98. package/src/lib/tracing/steps.ts +118 -0
  99. package/src/lib/tracing/tracer.ts +204 -0
  100. package/src/lib/tracing/traces.ts +19 -0
  101. package/src/resources/index.ts +7 -1
  102. package/src/resources/inference-pipelines/data.ts +1 -1
  103. package/src/resources/inference-pipelines/index.ts +6 -1
  104. package/src/resources/inference-pipelines/inference-pipelines.ts +227 -0
  105. package/src/resources/storage/index.ts +4 -0
  106. package/src/resources/storage/presigned-url.ts +47 -0
  107. package/src/resources/storage/storage.ts +14 -0
  108. package/src/version.ts +1 -1
  109. package/version.d.ts +1 -1
  110. package/version.js +1 -1
  111. package/version.mjs +1 -1
  112. package/src/lib/.keep +0 -4
@@ -0,0 +1,78 @@
1
+ import { v4 as uuidv4 } from 'uuid';
2
+ import { StepType } from "./enums.mjs";
3
+ export class Step {
4
+ constructor(name, inputs = null, output = null, metadata = {}) {
5
+ this.stepType = null;
6
+ this.endTime = null;
7
+ this.groundTruth = null;
8
+ this.latency = null;
9
+ this.steps = [];
10
+ this.name = name;
11
+ this.id = uuidv4();
12
+ this.inputs = inputs;
13
+ this.output = output;
14
+ this.metadata = metadata;
15
+ this.startTime = Date.now();
16
+ }
17
+ addNestedStep(nestedStep) {
18
+ this.steps.push(nestedStep);
19
+ }
20
+ log(data) {
21
+ Object.keys(data).forEach((key) => {
22
+ if (key in this) {
23
+ // @ts-ignore
24
+ this[key] = data[key];
25
+ }
26
+ });
27
+ }
28
+ toJSON() {
29
+ return {
30
+ name: this.name,
31
+ id: this.id,
32
+ type: this.stepType,
33
+ inputs: this.inputs,
34
+ output: this.output,
35
+ groundTruth: this.groundTruth,
36
+ metadata: this.metadata,
37
+ steps: this.steps.map((nestedStep) => nestedStep.toJSON()),
38
+ latency: this.latency,
39
+ startTime: this.startTime,
40
+ endTime: this.endTime,
41
+ };
42
+ }
43
+ }
44
+ export class UserCallStep extends Step {
45
+ constructor(name, inputs = null, output = null, metadata = {}) {
46
+ super(name, inputs, output, metadata);
47
+ this.stepType = StepType.USER_CALL;
48
+ }
49
+ }
50
+ export class ChatCompletionStep extends Step {
51
+ constructor(name, inputs = null, output = null, metadata = {}) {
52
+ super(name, inputs, output, metadata);
53
+ this.provider = null;
54
+ this.promptTokens = null;
55
+ this.completionTokens = null;
56
+ this.tokens = null;
57
+ this.cost = null;
58
+ this.model = null;
59
+ this.modelParameters = null;
60
+ this.rawOutput = null;
61
+ this.stepType = StepType.CHAT_COMPLETION;
62
+ }
63
+ toJSON() {
64
+ const stepData = super.toJSON();
65
+ return {
66
+ ...stepData,
67
+ provider: this.provider,
68
+ promptTokens: this.promptTokens,
69
+ completionTokens: this.completionTokens,
70
+ tokens: this.tokens,
71
+ cost: this.cost,
72
+ model: this.model,
73
+ modelParameters: this.modelParameters,
74
+ rawOutput: this.rawOutput,
75
+ };
76
+ }
77
+ }
78
+ //# sourceMappingURL=steps.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steps.mjs","sourceRoot":"","sources":["../../src/lib/tracing/steps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { StepType } from "./enums.js";
2
+ declare function trace(fn: Function, stepType?: StepType, stepName?: string): Function;
3
+ export declare function addChatCompletionStepToTrace({ name, inputs, output, latency, tokens, promptTokens, completionTokens, model, modelParameters, rawOutput, metadata, provider, }: {
4
+ name: string;
5
+ inputs: any;
6
+ output: any;
7
+ latency: number;
8
+ tokens?: number | null;
9
+ promptTokens?: number | null;
10
+ completionTokens?: number | null;
11
+ model?: string | null;
12
+ modelParameters?: Record<string, any> | null;
13
+ rawOutput?: string | null;
14
+ metadata?: Record<string, any>;
15
+ provider?: string;
16
+ }): void;
17
+ export default trace;
18
+ //# sourceMappingURL=tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA6GnC,iBAAS,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAE,QAA6B,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAkBjG;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAa,EACb,YAAmB,EACnB,gBAAuB,EACvB,KAAY,EACZ,eAAsB,EACtB,SAAgB,EAChB,QAAa,EACb,QAAmB,GACpB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,QAgBA;AA4BD,eAAe,KAAK,CAAC"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ // tracing/tracer.ts
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.addChatCompletionStepToTrace = void 0;
8
+ const traces_1 = require("./traces.js");
9
+ const steps_1 = require("./steps.js");
10
+ const enums_1 = require("./enums.js");
11
+ const index_1 = __importDefault(require("../../index.js"));
12
+ let currentTrace = null;
13
+ const publish = process.env['OPENLAYER_DISABLE_PUBLISH'] != 'true';
14
+ let client = null;
15
+ if (publish) {
16
+ console.debug('Publishing is enabled');
17
+ client = new index_1.default();
18
+ }
19
+ function getCurrentTrace() {
20
+ return currentTrace;
21
+ }
22
+ function setCurrentTrace(trace) {
23
+ currentTrace = trace;
24
+ }
25
+ // Function to create a new step
26
+ const stepStack = [];
27
+ function createStep(name, stepType = enums_1.StepType.USER_CALL, inputs, output, metadata = null) {
28
+ metadata = metadata || {};
29
+ let newStep;
30
+ if (stepType === enums_1.StepType.CHAT_COMPLETION) {
31
+ newStep = new steps_1.ChatCompletionStep(name, inputs, output, metadata);
32
+ }
33
+ else {
34
+ newStep = new steps_1.UserCallStep(name, inputs, output, metadata);
35
+ }
36
+ newStep.startTime = performance.now();
37
+ const parentStep = getCurrentStep();
38
+ const isRootStep = parentStep === null;
39
+ if (isRootStep) {
40
+ console.debug('Starting a new trace...');
41
+ console.debug(`Adding step ${name} as the root step`);
42
+ const currentTrace = new traces_1.Trace();
43
+ setCurrentTrace(currentTrace);
44
+ currentTrace.addStep(newStep);
45
+ }
46
+ else {
47
+ console.debug(`Adding step ${name} as a nested step to ${parentStep.name}`);
48
+ currentTrace = getCurrentTrace();
49
+ parentStep.addNestedStep(newStep);
50
+ }
51
+ stepStack.push(newStep);
52
+ const endStep = () => {
53
+ newStep.endTime = performance.now();
54
+ newStep.latency = newStep.endTime - newStep.startTime;
55
+ stepStack.pop(); // Remove the current step from the stack
56
+ if (isRootStep) {
57
+ console.debug('Ending the trace...');
58
+ const traceData = getCurrentTrace();
59
+ // Post process trace and get the input variable names
60
+ const { traceData: processedTraceData, inputVariableNames } = postProcessTrace(traceData);
61
+ if (publish && process.env['OPENLAYER_INFERENCE_PIPELINE_ID']) {
62
+ client.inferencePipelines.data.stream(process.env['OPENLAYER_INFERENCE_PIPELINE_ID'], {
63
+ config: {
64
+ outputColumnName: 'output',
65
+ inputVariableNames: inputVariableNames,
66
+ groundTruthColumnName: 'groundTruth',
67
+ latencyColumnName: 'latency',
68
+ costColumnName: 'cost',
69
+ timestampColumnName: 'inferenceTimestamp',
70
+ inferenceIdColumnName: 'inferenceId',
71
+ numOfTokenColumnName: 'tokens',
72
+ },
73
+ rows: [processedTraceData],
74
+ });
75
+ }
76
+ // Reset the entire trace state
77
+ setCurrentTrace(null);
78
+ stepStack.length = 0; // Clear the step stack
79
+ }
80
+ else {
81
+ console.debug(`Ending step ${name}`);
82
+ }
83
+ };
84
+ return [newStep, endStep];
85
+ }
86
+ function getCurrentStep() {
87
+ const currentStep = stepStack.length > 0 ? stepStack[stepStack.length - 1] : null;
88
+ return currentStep;
89
+ }
90
+ function getParamNames(func) {
91
+ const STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;
92
+ const ARGUMENT_NAMES = /([^\s,]+)/g;
93
+ const fnStr = func.toString().replace(STRIP_COMMENTS, '');
94
+ const result = fnStr.slice(fnStr.indexOf('(') + 1, fnStr.indexOf(')')).match(ARGUMENT_NAMES);
95
+ return result || [];
96
+ }
97
+ // Higher-order function to trace synchronous or asynchronous functions
98
+ function trace(fn, stepType = enums_1.StepType.USER_CALL, stepName) {
99
+ return async function (...args) {
100
+ const name = stepName || fn.name;
101
+ const paramNames = getParamNames(fn);
102
+ const inputs = Object.fromEntries(paramNames.map((name, index) => [name, args[index]]));
103
+ const [step, endStep] = createStep(name, stepType, args);
104
+ try {
105
+ const result = await fn(...args);
106
+ step.log({ inputs, output: result });
107
+ return result;
108
+ }
109
+ catch (error) {
110
+ step.log({ inputs, metadata: { error: error.message } });
111
+ throw error;
112
+ }
113
+ finally {
114
+ endStep();
115
+ }
116
+ };
117
+ }
118
+ function addChatCompletionStepToTrace({ name, inputs, output, latency, tokens = null, promptTokens = null, completionTokens = null, model = null, modelParameters = null, rawOutput = null, metadata = {}, provider = 'OpenAI', }) {
119
+ const [step, endStep] = createStep(name, enums_1.StepType.CHAT_COMPLETION, inputs, output, metadata);
120
+ if (step instanceof steps_1.ChatCompletionStep) {
121
+ step.provider = provider;
122
+ step.promptTokens = promptTokens;
123
+ step.completionTokens = completionTokens;
124
+ step.tokens = tokens;
125
+ step.model = model;
126
+ step.modelParameters = modelParameters;
127
+ step.rawOutput = rawOutput;
128
+ step.latency = latency;
129
+ }
130
+ step.log({ inputs, output, metadata });
131
+ endStep();
132
+ }
133
+ exports.addChatCompletionStepToTrace = addChatCompletionStepToTrace;
134
+ function postProcessTrace(traceObj) {
135
+ const rootStep = traceObj.steps[0];
136
+ const input_variables = rootStep.inputs;
137
+ const inputVariableNames = input_variables ? Object.keys(input_variables) : [];
138
+ const processed_steps = traceObj.toJSON();
139
+ const traceData = {
140
+ inferenceTimestamp: Date.now(),
141
+ inferenceId: rootStep.id.toString(),
142
+ output: rootStep.output,
143
+ groundTruth: rootStep.groundTruth,
144
+ latency: rootStep.latency,
145
+ cost: 0,
146
+ tokens: 0,
147
+ steps: processed_steps,
148
+ };
149
+ if (input_variables) {
150
+ Object.assign(traceData, input_variables);
151
+ }
152
+ return { traceData, inputVariableNames };
153
+ }
154
+ exports.default = trace;
155
+ //# sourceMappingURL=tracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ // tracing/tracer.ts
2
+ import { Trace } from "./traces.mjs";
3
+ import { UserCallStep, ChatCompletionStep } from "./steps.mjs";
4
+ import { StepType } from "./enums.mjs";
5
+ import Openlayer from "../../index.mjs";
6
+ let currentTrace = null;
7
+ const publish = process.env['OPENLAYER_DISABLE_PUBLISH'] != 'true';
8
+ let client = null;
9
+ if (publish) {
10
+ console.debug('Publishing is enabled');
11
+ client = new Openlayer();
12
+ }
13
+ function getCurrentTrace() {
14
+ return currentTrace;
15
+ }
16
+ function setCurrentTrace(trace) {
17
+ currentTrace = trace;
18
+ }
19
+ // Function to create a new step
20
+ const stepStack = [];
21
+ function createStep(name, stepType = StepType.USER_CALL, inputs, output, metadata = null) {
22
+ metadata = metadata || {};
23
+ let newStep;
24
+ if (stepType === StepType.CHAT_COMPLETION) {
25
+ newStep = new ChatCompletionStep(name, inputs, output, metadata);
26
+ }
27
+ else {
28
+ newStep = new UserCallStep(name, inputs, output, metadata);
29
+ }
30
+ newStep.startTime = performance.now();
31
+ const parentStep = getCurrentStep();
32
+ const isRootStep = parentStep === null;
33
+ if (isRootStep) {
34
+ console.debug('Starting a new trace...');
35
+ console.debug(`Adding step ${name} as the root step`);
36
+ const currentTrace = new Trace();
37
+ setCurrentTrace(currentTrace);
38
+ currentTrace.addStep(newStep);
39
+ }
40
+ else {
41
+ console.debug(`Adding step ${name} as a nested step to ${parentStep.name}`);
42
+ currentTrace = getCurrentTrace();
43
+ parentStep.addNestedStep(newStep);
44
+ }
45
+ stepStack.push(newStep);
46
+ const endStep = () => {
47
+ newStep.endTime = performance.now();
48
+ newStep.latency = newStep.endTime - newStep.startTime;
49
+ stepStack.pop(); // Remove the current step from the stack
50
+ if (isRootStep) {
51
+ console.debug('Ending the trace...');
52
+ const traceData = getCurrentTrace();
53
+ // Post process trace and get the input variable names
54
+ const { traceData: processedTraceData, inputVariableNames } = postProcessTrace(traceData);
55
+ if (publish && process.env['OPENLAYER_INFERENCE_PIPELINE_ID']) {
56
+ client.inferencePipelines.data.stream(process.env['OPENLAYER_INFERENCE_PIPELINE_ID'], {
57
+ config: {
58
+ outputColumnName: 'output',
59
+ inputVariableNames: inputVariableNames,
60
+ groundTruthColumnName: 'groundTruth',
61
+ latencyColumnName: 'latency',
62
+ costColumnName: 'cost',
63
+ timestampColumnName: 'inferenceTimestamp',
64
+ inferenceIdColumnName: 'inferenceId',
65
+ numOfTokenColumnName: 'tokens',
66
+ },
67
+ rows: [processedTraceData],
68
+ });
69
+ }
70
+ // Reset the entire trace state
71
+ setCurrentTrace(null);
72
+ stepStack.length = 0; // Clear the step stack
73
+ }
74
+ else {
75
+ console.debug(`Ending step ${name}`);
76
+ }
77
+ };
78
+ return [newStep, endStep];
79
+ }
80
+ function getCurrentStep() {
81
+ const currentStep = stepStack.length > 0 ? stepStack[stepStack.length - 1] : null;
82
+ return currentStep;
83
+ }
84
+ function getParamNames(func) {
85
+ const STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;
86
+ const ARGUMENT_NAMES = /([^\s,]+)/g;
87
+ const fnStr = func.toString().replace(STRIP_COMMENTS, '');
88
+ const result = fnStr.slice(fnStr.indexOf('(') + 1, fnStr.indexOf(')')).match(ARGUMENT_NAMES);
89
+ return result || [];
90
+ }
91
+ // Higher-order function to trace synchronous or asynchronous functions
92
+ function trace(fn, stepType = StepType.USER_CALL, stepName) {
93
+ return async function (...args) {
94
+ const name = stepName || fn.name;
95
+ const paramNames = getParamNames(fn);
96
+ const inputs = Object.fromEntries(paramNames.map((name, index) => [name, args[index]]));
97
+ const [step, endStep] = createStep(name, stepType, args);
98
+ try {
99
+ const result = await fn(...args);
100
+ step.log({ inputs, output: result });
101
+ return result;
102
+ }
103
+ catch (error) {
104
+ step.log({ inputs, metadata: { error: error.message } });
105
+ throw error;
106
+ }
107
+ finally {
108
+ endStep();
109
+ }
110
+ };
111
+ }
112
+ export function addChatCompletionStepToTrace({ name, inputs, output, latency, tokens = null, promptTokens = null, completionTokens = null, model = null, modelParameters = null, rawOutput = null, metadata = {}, provider = 'OpenAI', }) {
113
+ const [step, endStep] = createStep(name, StepType.CHAT_COMPLETION, inputs, output, metadata);
114
+ if (step instanceof ChatCompletionStep) {
115
+ step.provider = provider;
116
+ step.promptTokens = promptTokens;
117
+ step.completionTokens = completionTokens;
118
+ step.tokens = tokens;
119
+ step.model = model;
120
+ step.modelParameters = modelParameters;
121
+ step.rawOutput = rawOutput;
122
+ step.latency = latency;
123
+ }
124
+ step.log({ inputs, output, metadata });
125
+ endStep();
126
+ }
127
+ function postProcessTrace(traceObj) {
128
+ const rootStep = traceObj.steps[0];
129
+ const input_variables = rootStep.inputs;
130
+ const inputVariableNames = input_variables ? Object.keys(input_variables) : [];
131
+ const processed_steps = traceObj.toJSON();
132
+ const traceData = {
133
+ inferenceTimestamp: Date.now(),
134
+ inferenceId: rootStep.id.toString(),
135
+ output: rootStep.output,
136
+ groundTruth: rootStep.groundTruth,
137
+ latency: rootStep.latency,
138
+ cost: 0,
139
+ tokens: 0,
140
+ steps: processed_steps,
141
+ };
142
+ if (input_variables) {
143
+ Object.assign(traceData, input_variables);
144
+ }
145
+ return { traceData, inputVariableNames };
146
+ }
147
+ export default trace;
148
+ //# sourceMappingURL=tracer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.mjs","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Step } from "./steps.js";
2
+ export declare class Trace {
3
+ steps: Step[];
4
+ private currentStep;
5
+ constructor();
6
+ addStep(step: Step): void;
7
+ toJSON(): Array<Record<string, any>>;
8
+ }
9
+ //# sourceMappingURL=traces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traces.d.ts","sourceRoot":"","sources":["../../src/lib/tracing/traces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,qBAAa,KAAK;IACT,KAAK,EAAE,IAAI,EAAE,CAAC;IACrB,OAAO,CAAC,WAAW,CAAc;;IAO1B,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIzB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAG5C"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Trace = void 0;
4
+ class Trace {
5
+ constructor() {
6
+ this.steps = [];
7
+ this.currentStep = null;
8
+ }
9
+ addStep(step) {
10
+ this.steps.push(step);
11
+ }
12
+ toJSON() {
13
+ return this.steps.map((step) => step.toJSON());
14
+ }
15
+ }
16
+ exports.Trace = Trace;
17
+ //# sourceMappingURL=traces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traces.js","sourceRoot":"","sources":["../../src/lib/tracing/traces.ts"],"names":[],"mappings":";;;AAEA,MAAa,KAAK;IAIhB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEM,OAAO,CAAC,IAAU;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AAhBD,sBAgBC"}
@@ -0,0 +1,13 @@
1
+ export class Trace {
2
+ constructor() {
3
+ this.steps = [];
4
+ this.currentStep = null;
5
+ }
6
+ addStep(step) {
7
+ this.steps.push(step);
8
+ }
9
+ toJSON() {
10
+ return this.steps.map((step) => step.toJSON());
11
+ }
12
+ }
13
+ //# sourceMappingURL=traces.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traces.mjs","sourceRoot":"","sources":["../../src/lib/tracing/traces.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,KAAK;IAIhB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEM,OAAO,CAAC,IAAU;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openlayer",
3
- "version": "0.4.0",
3
+ "version": "0.7.0",
4
4
  "description": "The official TypeScript library for the Openlayer API",
5
5
  "author": "Openlayer <support@openlayer.com>",
6
6
  "types": "./index.d.ts",
@@ -22,6 +22,7 @@
22
22
  "fix": "eslint --fix --ext ts,js ."
23
23
  },
24
24
  "dependencies": {
25
+ "@langchain/core": "^0.3.3",
25
26
  "@types/node": "^18.11.18",
26
27
  "@types/node-fetch": "^2.6.4",
27
28
  "abort-controller": "^3.0.0",
@@ -1,4 +1,5 @@
1
1
  export { Commits } from "./commits/commits.js";
2
- export { InferencePipelines } from "./inference-pipelines/inference-pipelines.js";
2
+ export { InferencePipelineRetrieveResponse, InferencePipelineUpdateResponse, InferencePipelineUpdateParams, InferencePipelines, } from "./inference-pipelines/inference-pipelines.js";
3
3
  export { ProjectCreateResponse, ProjectListResponse, ProjectCreateParams, ProjectListParams, Projects, } from "./projects/projects.js";
4
+ export { Storage } from "./storage/storage.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,GACT,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,EAC7B,kBAAkB,GACnB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Projects = exports.InferencePipelines = exports.Commits = void 0;
4
+ exports.Storage = exports.Projects = exports.InferencePipelines = exports.Commits = void 0;
5
5
  var commits_1 = require("./commits/commits.js");
6
6
  Object.defineProperty(exports, "Commits", { enumerable: true, get: function () { return commits_1.Commits; } });
7
7
  var inference_pipelines_1 = require("./inference-pipelines/inference-pipelines.js");
8
8
  Object.defineProperty(exports, "InferencePipelines", { enumerable: true, get: function () { return inference_pipelines_1.InferencePipelines; } });
9
9
  var projects_1 = require("./projects/projects.js");
10
10
  Object.defineProperty(exports, "Projects", { enumerable: true, get: function () { return projects_1.Projects; } });
11
+ var storage_1 = require("./storage/storage.js");
12
+ Object.defineProperty(exports, "Storage", { enumerable: true, get: function () { return storage_1.Storage; } });
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,gDAA4C;AAAnC,kGAAA,OAAO,OAAA;AAChB,oFAA+E;AAAtE,yHAAA,kBAAkB,OAAA;AAC3B,mDAM6B;AAD3B,oGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,gDAA4C;AAAnC,kGAAA,OAAO,OAAA;AAChB,oFAKmD;AADjD,yHAAA,kBAAkB,OAAA;AAEpB,mDAM6B;AAD3B,oGAAA,QAAQ,OAAA;AAEV,gDAA4C;AAAnC,kGAAA,OAAO,OAAA"}
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
  export { Commits } from "./commits/commits.mjs";
3
- export { InferencePipelines } from "./inference-pipelines/inference-pipelines.mjs";
3
+ export { InferencePipelines, } from "./inference-pipelines/inference-pipelines.mjs";
4
4
  export { Projects, } from "./projects/projects.mjs";
5
+ export { Storage } from "./storage/storage.mjs";
5
6
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,OAAO,EAAE;OACX,EAAE,kBAAkB,EAAE;OACtB,EAKL,QAAQ,GACT"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,OAAO,EAAE;OACX,EAIL,kBAAkB,GACnB;OACM,EAKL,QAAQ,GACT;OACM,EAAE,OAAO,EAAE"}
@@ -3,7 +3,7 @@ import * as Core from "../../core.js";
3
3
  import * as DataAPI from "./data.js";
4
4
  export declare class Data extends APIResource {
5
5
  /**
6
- * Create an inference data point in an inference pipeline.
6
+ * Publish an inference data point to an inference pipeline.
7
7
  */
8
8
  stream(inferencePipelineId: string, body: DataStreamParams, options?: Core.RequestOptions): Core.APIPromise<DataStreamResponse>;
9
9
  }
@@ -5,7 +5,7 @@ exports.Data = void 0;
5
5
  const resource_1 = require("../../resource.js");
6
6
  class Data extends resource_1.APIResource {
7
7
  /**
8
- * Create an inference data point in an inference pipeline.
8
+ * Publish an inference data point to an inference pipeline.
9
9
  */
10
10
  stream(inferencePipelineId, body, options) {
11
11
  return this._client.post(`/inference-pipelines/${inferencePipelineId}/data-stream`, { body, ...options });
@@ -2,7 +2,7 @@
2
2
  import { APIResource } from "../../resource.mjs";
3
3
  export class Data extends APIResource {
4
4
  /**
5
- * Create an inference data point in an inference pipeline.
5
+ * Publish an inference data point to an inference pipeline.
6
6
  */
7
7
  stream(inferencePipelineId, body, options) {
8
8
  return this._client.post(`/inference-pipelines/${inferencePipelineId}/data-stream`, { body, ...options });
@@ -1,5 +1,5 @@
1
1
  export { DataStreamResponse, DataStreamParams, Data } from "./data.js";
2
- export { InferencePipelines } from "./inference-pipelines.js";
2
+ export { InferencePipelineRetrieveResponse, InferencePipelineUpdateResponse, InferencePipelineUpdateParams, InferencePipelines, } from "./inference-pipelines.js";
3
3
  export { RowUpdateResponse, RowUpdateParams, Rows } from "./rows.js";
4
4
  export { TestResultListResponse, TestResultListParams, TestResults } from "./test-results.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/inference-pipelines/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/inference-pipelines/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,EAC7B,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/inference-pipelines/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kCAAoE;AAArB,4FAAA,IAAI,OAAA;AACnD,gEAA2D;AAAlD,yHAAA,kBAAkB,OAAA;AAC3B,kCAAkE;AAArB,4FAAA,IAAI,OAAA;AACjD,kDAA2F;AAApC,2GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/inference-pipelines/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kCAAoE;AAArB,4FAAA,IAAI,OAAA;AACnD,gEAK+B;AAD7B,yHAAA,kBAAkB,OAAA;AAEpB,kCAAkE;AAArB,4FAAA,IAAI,OAAA;AACjD,kDAA2F;AAApC,2GAAA,WAAW,OAAA"}
@@ -1,6 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
  export { Data } from "./data.mjs";
3
- export { InferencePipelines } from "./inference-pipelines.mjs";
3
+ export { InferencePipelines, } from "./inference-pipelines.mjs";
4
4
  export { Rows } from "./rows.mjs";
5
5
  export { TestResults } from "./test-results.mjs";
6
6
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/resources/inference-pipelines/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAwC,IAAI,EAAE;OAC9C,EAAE,kBAAkB,EAAE;OACtB,EAAsC,IAAI,EAAE;OAC5C,EAAgD,WAAW,EAAE"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/resources/inference-pipelines/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAwC,IAAI,EAAE;OAC9C,EAIL,kBAAkB,GACnB;OACM,EAAsC,IAAI,EAAE;OAC5C,EAAgD,WAAW,EAAE"}