@llumiverse/core 0.23.0 → 0.24.0-dev.20260203.164053Z

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 (80) hide show
  1. package/README.md +141 -218
  2. package/package.json +3 -3
  3. package/src/CompletionStream.ts +70 -1
  4. package/src/Driver.ts +20 -0
  5. package/src/conversation-utils.ts +497 -0
  6. package/src/index.ts +1 -0
  7. package/src/stream.ts +1 -0
  8. package/lib/cjs/CompletionStream.js +0 -179
  9. package/lib/cjs/CompletionStream.js.map +0 -1
  10. package/lib/cjs/Driver.js +0 -180
  11. package/lib/cjs/Driver.js.map +0 -1
  12. package/lib/cjs/async.js +0 -131
  13. package/lib/cjs/async.js.map +0 -1
  14. package/lib/cjs/formatters/commons.js +0 -7
  15. package/lib/cjs/formatters/commons.js.map +0 -1
  16. package/lib/cjs/formatters/generic.js +0 -59
  17. package/lib/cjs/formatters/generic.js.map +0 -1
  18. package/lib/cjs/formatters/index.js +0 -20
  19. package/lib/cjs/formatters/index.js.map +0 -1
  20. package/lib/cjs/formatters/nova.js +0 -99
  21. package/lib/cjs/formatters/nova.js.map +0 -1
  22. package/lib/cjs/index.js +0 -21
  23. package/lib/cjs/index.js.map +0 -1
  24. package/lib/cjs/json.js +0 -29
  25. package/lib/cjs/json.js.map +0 -1
  26. package/lib/cjs/package.json +0 -3
  27. package/lib/cjs/resolver.js +0 -45
  28. package/lib/cjs/resolver.js.map +0 -1
  29. package/lib/cjs/stream.js +0 -30
  30. package/lib/cjs/stream.js.map +0 -1
  31. package/lib/cjs/validation.js +0 -96
  32. package/lib/cjs/validation.js.map +0 -1
  33. package/lib/esm/CompletionStream.js +0 -174
  34. package/lib/esm/CompletionStream.js.map +0 -1
  35. package/lib/esm/Driver.js +0 -175
  36. package/lib/esm/Driver.js.map +0 -1
  37. package/lib/esm/async.js +0 -123
  38. package/lib/esm/async.js.map +0 -1
  39. package/lib/esm/formatters/commons.js +0 -4
  40. package/lib/esm/formatters/commons.js.map +0 -1
  41. package/lib/esm/formatters/generic.js +0 -55
  42. package/lib/esm/formatters/generic.js.map +0 -1
  43. package/lib/esm/formatters/index.js +0 -4
  44. package/lib/esm/formatters/index.js.map +0 -1
  45. package/lib/esm/formatters/nova.js +0 -96
  46. package/lib/esm/formatters/nova.js.map +0 -1
  47. package/lib/esm/index.js +0 -5
  48. package/lib/esm/index.js.map +0 -1
  49. package/lib/esm/json.js +0 -25
  50. package/lib/esm/json.js.map +0 -1
  51. package/lib/esm/resolver.js +0 -42
  52. package/lib/esm/resolver.js.map +0 -1
  53. package/lib/esm/stream.js +0 -25
  54. package/lib/esm/stream.js.map +0 -1
  55. package/lib/esm/validation.js +0 -88
  56. package/lib/esm/validation.js.map +0 -1
  57. package/lib/types/CompletionStream.d.ts +0 -20
  58. package/lib/types/CompletionStream.d.ts.map +0 -1
  59. package/lib/types/Driver.d.ts +0 -75
  60. package/lib/types/Driver.d.ts.map +0 -1
  61. package/lib/types/async.d.ts +0 -27
  62. package/lib/types/async.d.ts.map +0 -1
  63. package/lib/types/formatters/commons.d.ts +0 -3
  64. package/lib/types/formatters/commons.d.ts.map +0 -1
  65. package/lib/types/formatters/generic.d.ts +0 -13
  66. package/lib/types/formatters/generic.d.ts.map +0 -1
  67. package/lib/types/formatters/index.d.ts +0 -4
  68. package/lib/types/formatters/index.d.ts.map +0 -1
  69. package/lib/types/formatters/nova.d.ts +0 -40
  70. package/lib/types/formatters/nova.d.ts.map +0 -1
  71. package/lib/types/index.d.ts +0 -5
  72. package/lib/types/index.d.ts.map +0 -1
  73. package/lib/types/json.d.ts +0 -4
  74. package/lib/types/json.d.ts.map +0 -1
  75. package/lib/types/resolver.d.ts +0 -2
  76. package/lib/types/resolver.d.ts.map +0 -1
  77. package/lib/types/stream.d.ts +0 -4
  78. package/lib/types/stream.d.ts.map +0 -1
  79. package/lib/types/validation.d.ts +0 -7
  80. package/lib/types/validation.d.ts.map +0 -1
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveField = resolveField;
4
- /**
5
- * Get the property named by "name" of the given object
6
- * If an array is indexed using a string key then a map is done and an array with the content of the properties with that name are returned
7
- * Ex: docs.text => will return an array of text properties of the docs array
8
- * @param object the object
9
- * @param name the name of the property.
10
- * @returns the property value
11
- */
12
- function _prop(object, name) {
13
- if (object === undefined) {
14
- return undefined;
15
- }
16
- if (Array.isArray(object)) {
17
- const index = +name;
18
- if (isNaN(index)) {
19
- // map array to property
20
- return object.map(item => item[name]);
21
- }
22
- else {
23
- return object[index];
24
- }
25
- }
26
- else {
27
- return object[name];
28
- }
29
- }
30
- function resolveField(object, path) {
31
- let p = object;
32
- if (!p)
33
- return p;
34
- if (!path.length)
35
- return p;
36
- const last = path.length - 1;
37
- for (let i = 0; i < last; i++) {
38
- p = _prop(p, path[i]);
39
- if (!p) {
40
- return undefined;
41
- }
42
- }
43
- return _prop(p, path[last]);
44
- }
45
- //# sourceMappingURL=resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/resolver.ts"],"names":[],"mappings":";;AA0BA,oCAYC;AAtCD;;;;;;;GAOG;AACH,SAAS,KAAK,CAAC,MAAW,EAAE,IAAY;IACpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC;QACpB,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACf,wBAAwB;YACxB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;AAEL,CAAC;AAED,SAAgB,YAAY,CAAC,MAAW,EAAE,IAAc;IACpD,IAAI,CAAC,GAAG,MAAa,CAAC;IACtB,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC"}
package/lib/cjs/stream.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readStreamAsBase64 = readStreamAsBase64;
4
- exports.readStreamAsString = readStreamAsString;
5
- exports.readStreamAsUint8Array = readStreamAsUint8Array;
6
- async function readStreamAsBase64(stream) {
7
- const uint8Array = await readStreamAsUint8Array(stream);
8
- return Buffer.from(uint8Array).toString('base64');
9
- }
10
- async function readStreamAsString(stream) {
11
- const uint8Array = await readStreamAsUint8Array(stream);
12
- return Buffer.from(uint8Array).toString();
13
- }
14
- async function readStreamAsUint8Array(stream) {
15
- const chunks = [];
16
- let totalLength = 0;
17
- for await (const chunk of stream) {
18
- const uint8Chunk = chunk instanceof Uint8Array ? chunk : new Uint8Array(chunk);
19
- chunks.push(uint8Chunk);
20
- totalLength += uint8Chunk.length;
21
- }
22
- const combined = new Uint8Array(totalLength);
23
- let offset = 0;
24
- for (const chunk of chunks) {
25
- combined.set(chunk, offset);
26
- offset += chunk.length;
27
- }
28
- return combined;
29
- }
30
- //# sourceMappingURL=stream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":";;AACA,gDAGC;AAED,gDAGC;AAED,wDAkBC;AA5BM,KAAK,UAAU,kBAAkB,CAAC,MAAsB;IAC3D,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,MAAsB;IAC3D,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC9C,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,MAAsB;IAC/D,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC"}
@@ -1,96 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ValidationError = void 0;
7
- exports.validateResult = validateResult;
8
- const ajv_1 = require("ajv");
9
- const ajv_formats_1 = __importDefault(require("ajv-formats"));
10
- const json_js_1 = require("./json.js");
11
- const resolver_js_1 = require("./resolver.js");
12
- const ajv = new ajv_1.Ajv({
13
- coerceTypes: 'array',
14
- allowDate: true,
15
- strict: false,
16
- useDefaults: true,
17
- removeAdditional: "failing"
18
- });
19
- //use ts ignore to avoid error with ESM and ajv-formats
20
- // @ts-ignore This expression is not callable
21
- (0, ajv_formats_1.default)(ajv);
22
- class ValidationError extends Error {
23
- code;
24
- constructor(code, message) {
25
- super(message);
26
- this.code = code;
27
- this.name = 'ValidationError';
28
- }
29
- }
30
- exports.ValidationError = ValidationError;
31
- function parseCompletionAsJson(data) {
32
- let lastError;
33
- for (const part of data) {
34
- if (part.type === "text") {
35
- const text = part.value.trim();
36
- try {
37
- return (0, json_js_1.extractAndParseJSON)(text);
38
- }
39
- catch (error) {
40
- lastError = new ValidationError("json_error", error.message);
41
- }
42
- }
43
- }
44
- if (!lastError) {
45
- lastError = new ValidationError("json_error", "No JSON compatible response found in completion result");
46
- }
47
- throw lastError;
48
- }
49
- function validateResult(data, schema) {
50
- let json;
51
- if (Array.isArray(data)) {
52
- const jsonResults = data.filter(r => r.type === "json");
53
- if (jsonResults.length > 0) {
54
- json = jsonResults[0].value;
55
- }
56
- else {
57
- try {
58
- json = parseCompletionAsJson(data);
59
- }
60
- catch (error) {
61
- throw new ValidationError("json_error", error.message);
62
- }
63
- }
64
- }
65
- else {
66
- throw new Error("Data to validate must be an array");
67
- }
68
- const validate = ajv.compile(schema);
69
- const valid = validate(json);
70
- if (!valid && validate.errors) {
71
- let errors = [];
72
- for (const e of validate.errors) {
73
- const path = e.instancePath.split("/").slice(1);
74
- const value = (0, resolver_js_1.resolveField)(json, path);
75
- const schemaPath = e.schemaPath.split("/").slice(1);
76
- const schemaFieldFormat = (0, resolver_js_1.resolveField)(schema, schemaPath);
77
- const schemaField = (0, resolver_js_1.resolveField)(schema, schemaPath.slice(0, -3));
78
- //ignore date if empty or null
79
- if (!value
80
- && ["date", "date-time"].includes(schemaFieldFormat)
81
- && !schemaField?.required?.includes(path[path.length - 1])) {
82
- continue;
83
- }
84
- else {
85
- errors.push(e);
86
- }
87
- }
88
- //console.log("Errors", errors)
89
- if (errors.length > 0) {
90
- const errorsMessage = errors.map(e => `${e.instancePath}: ${e.message}\n${JSON.stringify(e.params)}`).join(",\n\n");
91
- throw new ValidationError("validation_error", errorsMessage);
92
- }
93
- }
94
- return [{ type: "json", value: json }];
95
- }
96
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
@@ -1,174 +0,0 @@
1
- export class DefaultCompletionStream {
2
- driver;
3
- prompt;
4
- options;
5
- chunks; // Counter for number of chunks instead of storing strings
6
- completion;
7
- constructor(driver, prompt, options) {
8
- this.driver = driver;
9
- this.prompt = prompt;
10
- this.options = options;
11
- this.chunks = 0;
12
- }
13
- async *[Symbol.asyncIterator]() {
14
- // reset state
15
- this.completion = undefined;
16
- this.chunks = 0;
17
- const accumulatedResults = []; // Accumulate CompletionResult[] from chunks
18
- this.driver.logger.debug(`[${this.driver.provider}] Streaming Execution of ${this.options.model} with prompt`);
19
- const start = Date.now();
20
- let finish_reason = undefined;
21
- let promptTokens = 0;
22
- let resultTokens = undefined;
23
- try {
24
- const stream = await this.driver.requestTextCompletionStream(this.prompt, this.options);
25
- for await (const chunk of stream) {
26
- if (chunk) {
27
- if (typeof chunk === 'string') {
28
- this.chunks++;
29
- yield chunk;
30
- }
31
- else {
32
- if (chunk.finish_reason) { //Do not replace non-null values with null values
33
- finish_reason = chunk.finish_reason; //Used to skip empty finish_reason chunks coming after "stop" or "length"
34
- }
35
- if (chunk.token_usage) {
36
- //Tokens returned include prior parts of stream,
37
- //so overwrite rather than accumulate
38
- //Math.max used as some models report final token count at beginning of stream
39
- promptTokens = Math.max(promptTokens, chunk.token_usage.prompt ?? 0);
40
- resultTokens = Math.max(resultTokens ?? 0, chunk.token_usage.result ?? 0);
41
- }
42
- if (Array.isArray(chunk.result) && chunk.result.length > 0) {
43
- // Process each result in the chunk, combining consecutive text/JSON
44
- for (const result of chunk.result) {
45
- // Check if we can combine with the last accumulated result
46
- const lastResult = accumulatedResults[accumulatedResults.length - 1];
47
- if (lastResult &&
48
- ((lastResult.type === 'text' && result.type === 'text') ||
49
- (lastResult.type === 'json' && result.type === 'json'))) {
50
- // Combine consecutive text or JSON results
51
- if (result.type === 'text') {
52
- lastResult.value += result.value;
53
- }
54
- else if (result.type === 'json') {
55
- // For JSON, combine the parsed objects directly
56
- try {
57
- const lastParsed = lastResult.value;
58
- const currentParsed = result.value;
59
- if (lastParsed !== null && typeof lastParsed === 'object' &&
60
- currentParsed !== null && typeof currentParsed === 'object') {
61
- const combined = { ...lastParsed, ...currentParsed };
62
- lastResult.value = combined;
63
- }
64
- else {
65
- // If not objects, convert to string and concatenate
66
- const lastStr = typeof lastParsed === 'string' ? lastParsed : JSON.stringify(lastParsed);
67
- const currentStr = typeof currentParsed === 'string' ? currentParsed : JSON.stringify(currentParsed);
68
- lastResult.value = lastStr + currentStr;
69
- }
70
- }
71
- catch {
72
- // If anything fails, just concatenate string representations
73
- lastResult.value = String(lastResult.value) + String(result.value);
74
- }
75
- }
76
- }
77
- else {
78
- // Add as new result
79
- accumulatedResults.push(result);
80
- }
81
- }
82
- // Convert CompletionResult[] to string for streaming
83
- // Only yield if we have results to show
84
- const resultText = chunk.result.map(r => {
85
- switch (r.type) {
86
- case 'text':
87
- return r.value;
88
- case 'json':
89
- return JSON.stringify(r.value);
90
- case 'image':
91
- // Show truncated image placeholder for streaming
92
- const truncatedValue = typeof r.value === 'string' ? r.value.slice(0, 10) : String(r.value).slice(0, 10);
93
- return `\n[Image: ${truncatedValue}...]\n`;
94
- default:
95
- return String(r.value || '');
96
- }
97
- }).join('');
98
- if (resultText) {
99
- this.chunks++;
100
- yield resultText;
101
- }
102
- }
103
- }
104
- }
105
- }
106
- }
107
- catch (error) {
108
- error.prompt = this.prompt;
109
- throw error;
110
- }
111
- // Return undefined for the ExecutionTokenUsage object if there is nothing to fill it with.
112
- // Allows for checking for truthy-ness on token_usage, rather than it's internals. For testing and downstream usage.
113
- const tokens = resultTokens ?
114
- { prompt: promptTokens, result: resultTokens, total: resultTokens + promptTokens, } : undefined;
115
- this.completion = {
116
- result: accumulatedResults, // Return the accumulated CompletionResult[] instead of text
117
- prompt: this.prompt,
118
- execution_time: Date.now() - start,
119
- token_usage: tokens,
120
- finish_reason: finish_reason,
121
- chunks: this.chunks,
122
- };
123
- try {
124
- if (this.completion) {
125
- this.driver.validateResult(this.completion, this.options);
126
- }
127
- }
128
- catch (error) {
129
- error.prompt = this.prompt;
130
- throw error;
131
- }
132
- }
133
- }
134
- export class FallbackCompletionStream {
135
- driver;
136
- prompt;
137
- options;
138
- completion;
139
- constructor(driver, prompt, options) {
140
- this.driver = driver;
141
- this.prompt = prompt;
142
- this.options = options;
143
- }
144
- async *[Symbol.asyncIterator]() {
145
- // reset state
146
- this.completion = undefined;
147
- this.driver.logger.debug(`[${this.driver.provider}] Streaming is not supported, falling back to blocking execution`);
148
- try {
149
- const completion = await this.driver._execute(this.prompt, this.options);
150
- // For fallback streaming, yield the text content but keep the original completion
151
- const content = completion.result.map(r => {
152
- switch (r.type) {
153
- case 'text':
154
- return r.value;
155
- case 'json':
156
- return JSON.stringify(r.value);
157
- case 'image':
158
- // Show truncated image placeholder for streaming
159
- const truncatedValue = typeof r.value === 'string' ? r.value.slice(0, 10) : String(r.value).slice(0, 10);
160
- return `[Image: ${truncatedValue}...]`;
161
- default:
162
- return String(r.value || '');
163
- }
164
- }).join('');
165
- yield content;
166
- this.completion = completion; // Return the original completion with untouched CompletionResult[]
167
- }
168
- catch (error) {
169
- error.prompt = this.prompt;
170
- throw error;
171
- }
172
- }
173
- }
174
- //# sourceMappingURL=CompletionStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompletionStream.js","sourceRoot":"","sources":["../../src/CompletionStream.ts"],"names":[],"mappings":"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"}
package/lib/esm/Driver.js DELETED
@@ -1,175 +0,0 @@
1
- /**
2
- * Classes to handle the execution of an interaction in an execution environment.
3
- * Base abstract class is then implemented by each environment
4
- * (eg: OpenAI, HuggingFace, etc.)
5
- */
6
- import { DefaultCompletionStream, FallbackCompletionStream } from "./CompletionStream.js";
7
- import { formatTextPrompt } from "./formatters/index.js";
8
- import { Modalities } from "@llumiverse/common";
9
- import { validateResult } from "./validation.js";
10
- // Helper to create logger methods that support both message-only and object-first signatures
11
- function createConsoleLoggerMethod(consoleMethod) {
12
- return ((objOrMsg, msgOrNever, ...args) => {
13
- if (typeof objOrMsg === 'string') {
14
- // Message-only: logger.info("message", ...args)
15
- consoleMethod(objOrMsg, msgOrNever, ...args);
16
- }
17
- else if (msgOrNever !== undefined) {
18
- // Object-first: logger.info({ obj }, "message", ...args)
19
- consoleMethod(msgOrNever, objOrMsg, ...args);
20
- }
21
- else {
22
- // Object-only: logger.info({ obj })
23
- consoleMethod(objOrMsg, ...args);
24
- }
25
- });
26
- }
27
- const ConsoleLogger = {
28
- debug: createConsoleLoggerMethod(console.debug.bind(console)),
29
- info: createConsoleLoggerMethod(console.info.bind(console)),
30
- warn: createConsoleLoggerMethod(console.warn.bind(console)),
31
- error: createConsoleLoggerMethod(console.error.bind(console)),
32
- };
33
- const noop = () => void 0;
34
- const NoopLogger = {
35
- debug: noop,
36
- info: noop,
37
- warn: noop,
38
- error: noop,
39
- };
40
- export function createLogger(logger) {
41
- if (logger === "console") {
42
- return ConsoleLogger;
43
- }
44
- else if (logger) {
45
- return logger;
46
- }
47
- else {
48
- return NoopLogger;
49
- }
50
- }
51
- /**
52
- * To be implemented by each driver
53
- */
54
- export class AbstractDriver {
55
- options;
56
- logger;
57
- constructor(opts) {
58
- this.options = opts;
59
- this.logger = createLogger(opts.logger);
60
- }
61
- async createTrainingPrompt(options) {
62
- const prompt = await this.createPrompt(options.segments, { result_schema: options.schema, model: options.model });
63
- return JSON.stringify({
64
- prompt,
65
- completion: typeof options.completion === 'string' ? options.completion : JSON.stringify(options.completion)
66
- });
67
- }
68
- startTraining(_dataset, _options) {
69
- throw new Error("Method not implemented.");
70
- }
71
- cancelTraining(_jobId) {
72
- throw new Error("Method not implemented.");
73
- }
74
- getTrainingJob(_jobId) {
75
- throw new Error("Method not implemented.");
76
- }
77
- validateResult(result, options) {
78
- if (!result.tool_use && !result.error && options.result_schema) {
79
- try {
80
- result.result = validateResult(result.result, options.result_schema);
81
- }
82
- catch (error) {
83
- const errorMessage = `[${this.provider}] [${options.model}] ${error.code ? '[' + error.code + '] ' : ''}Result validation error: ${error.message}`;
84
- this.logger.error({ err: error, data: result.result }, errorMessage);
85
- result.error = {
86
- code: error.code || error.name,
87
- message: error.message,
88
- data: result.result,
89
- };
90
- }
91
- }
92
- }
93
- async execute(segments, options) {
94
- const prompt = await this.createPrompt(segments, options);
95
- return this._execute(prompt, options).catch((error) => {
96
- error.prompt = prompt;
97
- throw error;
98
- });
99
- }
100
- async _execute(prompt, options) {
101
- try {
102
- const start = Date.now();
103
- let result;
104
- if (this.isImageModel(options.model)) {
105
- this.logger.debug(`[${this.provider}] Executing prompt on ${options.model}, image pathway.`);
106
- result = await this.requestImageGeneration(prompt, options);
107
- }
108
- else {
109
- this.logger.debug(`[${this.provider}] Executing prompt on ${options.model}, text pathway.`);
110
- result = await this.requestTextCompletion(prompt, options);
111
- this.validateResult(result, options);
112
- }
113
- const execution_time = Date.now() - start;
114
- return { ...result, prompt, execution_time };
115
- }
116
- catch (error) {
117
- error.prompt = prompt;
118
- throw error;
119
- }
120
- }
121
- isImageModel(_model) {
122
- return false;
123
- }
124
- // by default no stream is supported. we block and we return all at once
125
- async stream(segments, options) {
126
- const prompt = await this.createPrompt(segments, options);
127
- const canStream = await this.canStream(options);
128
- if (options.output_modality === Modalities.text && canStream) {
129
- return new DefaultCompletionStream(this, prompt, options);
130
- }
131
- else if (this.isImageModel(options.model)) {
132
- return new FallbackCompletionStream(this, prompt, options);
133
- }
134
- else {
135
- return new FallbackCompletionStream(this, prompt, options);
136
- }
137
- }
138
- /**
139
- * Override this method to provide a custom prompt formatter
140
- * @param segments
141
- * @param options
142
- * @returns
143
- */
144
- async formatPrompt(segments, opts) {
145
- return formatTextPrompt(segments, opts.result_schema);
146
- }
147
- async createPrompt(segments, opts) {
148
- return await (opts.format ? opts.format(segments, opts.result_schema) : this.formatPrompt(segments, opts));
149
- }
150
- /**
151
- * Must be overridden if the implementation cannot stream.
152
- * Some implementation may be able to stream for certain models but not for others.
153
- * You must overwrite and return false if the current model doesn't support streaming.
154
- * The default implementation returns true, so it is assumed that the streaming can be done.
155
- * If this method returns false then the streaming execution will fallback on a blocking execution streaming the entire response as a single event.
156
- * @param options the execution options containing the target model name.
157
- * @returns true if the execution can be streamed false otherwise.
158
- */
159
- canStream(_options) {
160
- return Promise.resolve(true);
161
- }
162
- /**
163
- * Get a list of models that can be trained.
164
- * The default is to return an empty array
165
- * @returns
166
- */
167
- async listTrainableModels() {
168
- return [];
169
- }
170
- async requestImageGeneration(_prompt, _options) {
171
- throw new Error("Image generation not implemented.");
172
- //Cannot be made abstract, as abstract methods are required in the derived class
173
- }
174
- }
175
- //# sourceMappingURL=Driver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Driver.js","sourceRoot":"","sources":["../../src/Driver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAYH,UAAU,EAOb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,6FAA6F;AAC7F,SAAS,yBAAyB,CAAC,aAA2C;IAC1E,OAAO,CAAC,CAAC,QAAa,EAAE,UAAgB,EAAE,GAAG,IAAmC,EAAE,EAAE;QAChF,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,gDAAgD;YAChD,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,yDAAyD;YACzD,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,oCAAoC;YACpC,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,CAAmB,CAAC;AACzB,CAAC;AAED,MAAM,aAAa,GAAW;IAC1B,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,EAAE,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,EAAE,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;CAChE,CAAA;AAED,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1B,MAAM,UAAU,GAAW;IACvB,KAAK,EAAE,IAAuB;IAC9B,IAAI,EAAE,IAAsB;IAC5B,IAAI,EAAE,IAAsB;IAC5B,KAAK,EAAE,IAAuB;CACjC,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,MAAsC;IAC/D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,aAAa,CAAC;IACzB,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IAClB,CAAC;SAAM,CAAC;QACJ,OAAO,UAAU,CAAC;IACtB,CAAC;AACL,CAAC;AAwCD;;GAEG;AACH,MAAM,OAAgB,cAAc;IAChC,OAAO,CAAW;IAClB,MAAM,CAAS;IAIf,YAAY,IAAc;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAA8B;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QACjH,OAAO,IAAI,CAAC,SAAS,CAAC;YAClB,MAAM;YACN,UAAU,EAAE,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;SAC/G,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,QAAoB,EAAE,QAAyB;QACzD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc,CAAC,MAAc;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc,CAAC,MAAc;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc,CAAC,MAAkB,EAAE,OAAyB;QACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7D,IAAI,CAAC;gBACD,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,QAAQ,MAAM,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;gBACrE,MAAM,CAAC,KAAK,GAAG;oBACX,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;oBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAA;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAyB,EAAE,OAAyB;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;YACtD,KAAa,CAAC,MAAM,GAAG,MAAM,CAAC;YAC/B,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAe,EAAE,OAAyB;QACrD,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC;YAEX,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,IAAI,CAAC,QAAQ,yBAAyB,OAAO,CAAC,KAAK,kBAAkB,CAAC,CAAC;gBAC/E,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,IAAI,CAAC,QAAQ,yBAAyB,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAC;gBAC9E,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC3D,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAC1C,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACZ,KAAa,CAAC,MAAM,GAAG,MAAM,CAAC;YAC/B,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAES,YAAY,CAAC,MAAc;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,MAAM,CAAC,QAAyB,EAAE,OAAyB;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,eAAe,KAAK,UAAU,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;YAC3D,OAAO,IAAI,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,YAAY,CAAC,QAAyB,EAAE,IAAmB;QACvE,OAAO,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAY,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,QAAyB,EAAE,IAAmB;QACpE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED;;;;;;;;OAQG;IACO,SAAS,CAAC,QAA0B;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB;QACrB,OAAO,EAAE,CAAC;IACd,CAAC;IAMD,KAAK,CAAC,sBAAsB,CAAC,OAAgB,EAAE,QAA0B;QACrE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACrD,gFAAgF;IACpF,CAAC;CAWJ"}