@llumiverse/core 0.15.0 → 0.16.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 (113) hide show
  1. package/README.md +3 -3
  2. package/lib/cjs/CompletionStream.js +31 -10
  3. package/lib/cjs/CompletionStream.js.map +1 -1
  4. package/lib/cjs/Driver.js +19 -21
  5. package/lib/cjs/Driver.js.map +1 -1
  6. package/lib/cjs/async.js +3 -2
  7. package/lib/cjs/async.js.map +1 -1
  8. package/lib/cjs/formatters/index.js +1 -3
  9. package/lib/cjs/formatters/index.js.map +1 -1
  10. package/lib/cjs/formatters/{claude.js → nova.js} +33 -37
  11. package/lib/cjs/formatters/nova.js.map +1 -0
  12. package/lib/cjs/formatters/openai.js +36 -6
  13. package/lib/cjs/formatters/openai.js.map +1 -1
  14. package/lib/cjs/index.js +1 -0
  15. package/lib/cjs/index.js.map +1 -1
  16. package/lib/cjs/options/bedrock.js +343 -0
  17. package/lib/cjs/options/bedrock.js.map +1 -0
  18. package/lib/cjs/options/groq.js +37 -0
  19. package/lib/cjs/options/groq.js.map +1 -0
  20. package/lib/cjs/options/openai.js +123 -0
  21. package/lib/cjs/options/openai.js.map +1 -0
  22. package/lib/cjs/options/vertexai.js +257 -0
  23. package/lib/cjs/options/vertexai.js.map +1 -0
  24. package/lib/cjs/options.js +54 -0
  25. package/lib/cjs/options.js.map +1 -0
  26. package/lib/cjs/types.js +34 -1
  27. package/lib/cjs/types.js.map +1 -1
  28. package/lib/esm/CompletionStream.js +31 -10
  29. package/lib/esm/CompletionStream.js.map +1 -1
  30. package/lib/esm/Driver.js +20 -22
  31. package/lib/esm/Driver.js.map +1 -1
  32. package/lib/esm/async.js +3 -2
  33. package/lib/esm/async.js.map +1 -1
  34. package/lib/esm/formatters/index.js +1 -3
  35. package/lib/esm/formatters/index.js.map +1 -1
  36. package/lib/esm/formatters/{claude.js → nova.js} +32 -36
  37. package/lib/esm/formatters/nova.js.map +1 -0
  38. package/lib/esm/formatters/openai.js +36 -6
  39. package/lib/esm/formatters/openai.js.map +1 -1
  40. package/lib/esm/index.js +1 -0
  41. package/lib/esm/index.js.map +1 -1
  42. package/lib/esm/options/bedrock.js +340 -0
  43. package/lib/esm/options/bedrock.js.map +1 -0
  44. package/lib/esm/options/groq.js +34 -0
  45. package/lib/esm/options/groq.js.map +1 -0
  46. package/lib/esm/options/openai.js +120 -0
  47. package/lib/esm/options/openai.js.map +1 -0
  48. package/lib/esm/options/vertexai.js +253 -0
  49. package/lib/esm/options/vertexai.js.map +1 -0
  50. package/lib/esm/options.js +50 -0
  51. package/lib/esm/options.js.map +1 -0
  52. package/lib/esm/types.js +33 -0
  53. package/lib/esm/types.js.map +1 -1
  54. package/lib/types/CompletionStream.d.ts +1 -1
  55. package/lib/types/CompletionStream.d.ts.map +1 -1
  56. package/lib/types/Driver.d.ts +5 -4
  57. package/lib/types/Driver.d.ts.map +1 -1
  58. package/lib/types/async.d.ts +3 -2
  59. package/lib/types/async.d.ts.map +1 -1
  60. package/lib/types/formatters/generic.d.ts.map +1 -1
  61. package/lib/types/formatters/index.d.ts +1 -3
  62. package/lib/types/formatters/index.d.ts.map +1 -1
  63. package/lib/types/formatters/nova.d.ts +40 -0
  64. package/lib/types/formatters/nova.d.ts.map +1 -0
  65. package/lib/types/formatters/openai.d.ts +13 -1
  66. package/lib/types/formatters/openai.d.ts.map +1 -1
  67. package/lib/types/index.d.ts +1 -0
  68. package/lib/types/index.d.ts.map +1 -1
  69. package/lib/types/options/bedrock.d.ts +32 -0
  70. package/lib/types/options/bedrock.d.ts.map +1 -0
  71. package/lib/types/options/groq.d.ts +12 -0
  72. package/lib/types/options/groq.d.ts.map +1 -0
  73. package/lib/types/options/openai.d.ts +21 -0
  74. package/lib/types/options/openai.d.ts.map +1 -0
  75. package/lib/types/options/vertexai.d.ts +52 -0
  76. package/lib/types/options/vertexai.d.ts.map +1 -0
  77. package/lib/types/options.d.ts +14 -0
  78. package/lib/types/options.d.ts.map +1 -0
  79. package/lib/types/types.d.ts +133 -49
  80. package/lib/types/types.d.ts.map +1 -1
  81. package/package.json +6 -6
  82. package/src/CompletionStream.ts +31 -11
  83. package/src/Driver.ts +29 -25
  84. package/src/async.ts +7 -5
  85. package/src/formatters/index.ts +1 -3
  86. package/src/formatters/nova.ts +141 -0
  87. package/src/formatters/openai.ts +52 -12
  88. package/src/index.ts +2 -1
  89. package/src/options/bedrock.ts +388 -0
  90. package/src/options/groq.ts +47 -0
  91. package/src/options/openai.ts +148 -0
  92. package/src/options/vertexai.ts +312 -0
  93. package/src/options.ts +62 -0
  94. package/src/types.ts +167 -52
  95. package/lib/cjs/formatters/claude.js.map +0 -1
  96. package/lib/cjs/formatters/llama2.js +0 -48
  97. package/lib/cjs/formatters/llama2.js.map +0 -1
  98. package/lib/cjs/formatters/llama3.js +0 -42
  99. package/lib/cjs/formatters/llama3.js.map +0 -1
  100. package/lib/esm/formatters/claude.js.map +0 -1
  101. package/lib/esm/formatters/llama2.js +0 -45
  102. package/lib/esm/formatters/llama2.js.map +0 -1
  103. package/lib/esm/formatters/llama3.js +0 -39
  104. package/lib/esm/formatters/llama3.js.map +0 -1
  105. package/lib/types/formatters/claude.d.ts +0 -25
  106. package/lib/types/formatters/claude.d.ts.map +0 -1
  107. package/lib/types/formatters/llama2.d.ts +0 -4
  108. package/lib/types/formatters/llama2.d.ts.map +0 -1
  109. package/lib/types/formatters/llama3.d.ts +0 -7
  110. package/lib/types/formatters/llama3.d.ts.map +0 -1
  111. package/src/formatters/claude.ts +0 -131
  112. package/src/formatters/llama2.ts +0 -58
  113. package/src/formatters/llama3.ts +0 -55
@@ -0,0 +1,120 @@
1
+ import { OptionType, SharedOptions } from "../types.js";
2
+ import { textOptionsFallback } from "../options.js";
3
+ export function getOpenAiOptions(model, _option) {
4
+ const visionOptions = isVisionModel(model) ? [
5
+ {
6
+ name: "image_detail", type: OptionType.enum, enum: { "Low": "low", "High": "high", "Auto": "auto" },
7
+ default: "auto", description: "Controls how the model processes an input image."
8
+ },
9
+ ] : [];
10
+ if (model.includes("o1") || model.includes("o3")) {
11
+ //Is thinking text model
12
+ let max_tokens_limit = 4096;
13
+ if (model.includes("o1")) {
14
+ if (model.includes("preview")) {
15
+ max_tokens_limit = 32768;
16
+ }
17
+ else if (model.includes("mini")) {
18
+ max_tokens_limit = 65536;
19
+ }
20
+ else {
21
+ max_tokens_limit = 100000;
22
+ }
23
+ }
24
+ else if (model.includes("o3")) {
25
+ max_tokens_limit = 100000;
26
+ }
27
+ const commonOptions = [
28
+ {
29
+ name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,
30
+ integer: true, description: "The maximum number of tokens to generate",
31
+ },
32
+ {
33
+ name: SharedOptions.stop_sequence, type: OptionType.string_list, value: [],
34
+ description: "The stop sequence of the generated image",
35
+ },
36
+ ];
37
+ const reasoningOptions = model.includes("o3") || isO1Full(model) ? [
38
+ {
39
+ name: "reasoning_effort", type: OptionType.enum, enum: { "Low": "low", "Medium": "medium", "High": "high" },
40
+ default: "medium", description: "How much effort the model should put into reasoning, lower values result in faster responses and less tokens used."
41
+ },
42
+ ] : [];
43
+ return {
44
+ _option_id: "openai-thinking",
45
+ options: [
46
+ ...commonOptions,
47
+ ...reasoningOptions,
48
+ ...visionOptions,
49
+ ],
50
+ };
51
+ }
52
+ else {
53
+ let max_tokens_limit = 4096;
54
+ if (model.includes("gpt-4o")) {
55
+ max_tokens_limit = 16384;
56
+ if (model.includes("gpt-4o-2024-05-13") || model.includes("realtime")) {
57
+ max_tokens_limit = 4096;
58
+ }
59
+ }
60
+ else if (model.includes("gpt-4")) {
61
+ if (model.includes("turbo")) {
62
+ max_tokens_limit = 4096;
63
+ }
64
+ else {
65
+ max_tokens_limit = 8192;
66
+ }
67
+ }
68
+ else if (model.includes("gpt-3-5")) {
69
+ max_tokens_limit = 4096;
70
+ }
71
+ //Is non-thinking text model
72
+ const commonOptions = [
73
+ {
74
+ name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,
75
+ integer: true, step: 200, description: "The maximum number of tokens to generate",
76
+ },
77
+ {
78
+ name: "temperature", type: OptionType.numeric, min: 0.0, max: 2.0, default: 0.7,
79
+ integer: false, step: 0.1, description: "A higher temperature biases toward less likely tokens, making the model more creative"
80
+ },
81
+ {
82
+ name: "top_p", type: OptionType.numeric, min: 0, max: 1,
83
+ integer: false, step: 0.1, description: "Limits token sampling to the cumulative probability of the top p tokens"
84
+ },
85
+ {
86
+ name: "presence_penalty", type: OptionType.numeric, min: -2.0, max: 2.0,
87
+ integer: false, step: 0.1, description: "Penalise tokens if they appear at least once in the text"
88
+ },
89
+ {
90
+ name: "frequency_penalty", type: OptionType.numeric, min: -2.0, max: 2.0,
91
+ integer: false, step: 0.1, description: "Penalise tokens based on their frequency in the text"
92
+ },
93
+ {
94
+ name: SharedOptions.stop_sequence, type: OptionType.string_list, value: [],
95
+ description: "The generation will halt if one of the stop sequences is output",
96
+ }
97
+ ];
98
+ return {
99
+ _option_id: "openai-text",
100
+ options: [
101
+ ...commonOptions,
102
+ ...visionOptions,
103
+ ],
104
+ };
105
+ }
106
+ return textOptionsFallback;
107
+ }
108
+ function isO1Full(model) {
109
+ if (model.includes("o1")) {
110
+ if (model.includes("mini") || model.includes("preview")) {
111
+ return false;
112
+ }
113
+ return true;
114
+ }
115
+ return false;
116
+ }
117
+ function isVisionModel(model) {
118
+ return model.includes("gpt-4o") || isO1Full(model) || model.includes("gpt-4-turbo");
119
+ }
120
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/options/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,253 @@
1
+ import { OptionType, SharedOptions } from "../types.js";
2
+ import { textOptionsFallback } from "../options.js";
3
+ export var ImagenTaskType;
4
+ (function (ImagenTaskType) {
5
+ ImagenTaskType["TEXT_IMAGE"] = "TEXT_IMAGE";
6
+ ImagenTaskType["EDIT_MODE_INPAINT_REMOVAL"] = "EDIT_MODE_INPAINT_REMOVAL";
7
+ ImagenTaskType["EDIT_MODE_INPAINT_INSERTION"] = "EDIT_MODE_INPAINT_INSERTION";
8
+ ImagenTaskType["EDIT_MODE_BGSWAP"] = "EDIT_MODE_BGSWAP";
9
+ ImagenTaskType["EDIT_MODE_OUTPAINT"] = "EDIT_MODE_OUTPAINT";
10
+ ImagenTaskType["CUSTOMIZATION_SUBJECT"] = "CUSTOMIZATION_SUBJECT";
11
+ ImagenTaskType["CUSTOMIZATION_STYLE"] = "CUSTOMIZATION_STYLE";
12
+ ImagenTaskType["CUSTOMIZATION_CONTROLLED"] = "CUSTOMIZATION_CONTROLLED";
13
+ ImagenTaskType["CUSTOMIZATION_INSTRUCT"] = "CUSTOMIZATION_INSTRUCT";
14
+ })(ImagenTaskType || (ImagenTaskType = {}));
15
+ export var ImagenMaskMode;
16
+ (function (ImagenMaskMode) {
17
+ ImagenMaskMode["MASK_MODE_USER_PROVIDED"] = "MASK_MODE_USER_PROVIDED";
18
+ ImagenMaskMode["MASK_MODE_BACKGROUND"] = "MASK_MODE_BACKGROUND";
19
+ ImagenMaskMode["MASK_MODE_FOREGROUND"] = "MASK_MODE_FOREGROUND";
20
+ ImagenMaskMode["MASK_MODE_SEMANTIC"] = "MASK_MODE_SEMANTIC";
21
+ })(ImagenMaskMode || (ImagenMaskMode = {}));
22
+ export function getVertexAiOptions(model, option) {
23
+ if (model.includes("imagen-3.0")) {
24
+ const commonOptions = [
25
+ {
26
+ name: SharedOptions.number_of_images, type: OptionType.numeric, min: 1, max: 4, default: 1,
27
+ integer: true, description: "Number of Images to generate",
28
+ },
29
+ {
30
+ name: SharedOptions.seed, type: OptionType.numeric, min: 0, max: 4294967295, default: 12,
31
+ integer: true, description: "The seed of the generated image"
32
+ },
33
+ {
34
+ name: "person_generation", type: OptionType.enum, enum: { "Disallow the inclusion of people or faces in images": "dont_allow", "Allow generation of adults only": "allow_adult", "Allow generation of people of all ages": "allow_all" },
35
+ default: "allow_adult", description: "The safety setting for allowing the generation of people in the image"
36
+ },
37
+ {
38
+ name: "safety_setting", type: OptionType.enum, enum: { "Block very few problematic prompts and responses": "block_none", "Block only few problematic prompts and responses": "block_only_high", "Block some problematic prompts and responses": "block_medium_and_above", "Strictest filtering": "block_low_and_above" },
39
+ default: "block_medium_and_above", description: "The overall safety setting"
40
+ },
41
+ ];
42
+ const outputOptions = [
43
+ {
44
+ name: "image_file_type", type: OptionType.enum, enum: { "JPEG": "image/jpeg", "PNG": "image/png" },
45
+ default: "image/png", description: "The file type of the generated image",
46
+ refresh: true,
47
+ },
48
+ ];
49
+ const jpegQuality = {
50
+ name: "jpeg_compression_quality", type: OptionType.numeric, min: 0, max: 100, default: 75,
51
+ integer: true, description: "The compression quality of the JPEG image",
52
+ };
53
+ if (option?.image_file_type === "image/jpeg") {
54
+ outputOptions.push(jpegQuality);
55
+ }
56
+ if (model.includes("generate")) {
57
+ //Generate models
58
+ const modeOptions = [
59
+ {
60
+ name: "aspect_ratio", type: OptionType.enum, enum: { "1:1": "1:1", "4:3": "4:3", "3:4": "3:4", "16:9": "16:9", "9:16": "9:16" },
61
+ default: "1:1", description: "The aspect ratio of the generated image"
62
+ },
63
+ {
64
+ name: "add_watermark", type: OptionType.boolean, default: false, description: "Add an invisible watermark to the generated image, useful for detection of AI images"
65
+ },
66
+ ];
67
+ const enhanceOptions = !model.includes("generate-001") ? [
68
+ {
69
+ name: "enhance_prompt", type: OptionType.boolean, default: true, description: "VertexAI automatically rewrites the prompt to better reflect the prompt's intent."
70
+ },
71
+ ] : [];
72
+ return {
73
+ _option_id: "vertexai-imagen",
74
+ options: [
75
+ ...commonOptions,
76
+ ...modeOptions,
77
+ ...outputOptions,
78
+ ...enhanceOptions,
79
+ ]
80
+ };
81
+ }
82
+ if (model.includes("capability")) {
83
+ //Edit models
84
+ let guidanceScaleDefault = 75;
85
+ if (option?.edit_mode === ImagenTaskType.EDIT_MODE_INPAINT_INSERTION) {
86
+ guidanceScaleDefault = 60;
87
+ }
88
+ const modeOptions = [
89
+ {
90
+ name: "edit_mode", type: OptionType.enum,
91
+ enum: {
92
+ "EDIT_MODE_INPAINT_REMOVAL": "EDIT_MODE_INPAINT_REMOVAL",
93
+ "EDIT_MODE_INPAINT_INSERTION": "EDIT_MODE_INPAINT_INSERTION",
94
+ "EDIT_MODE_BGSWAP": "EDIT_MODE_BGSWAP",
95
+ "EDIT_MODE_OUTPAINT": "EDIT_MODE_OUTPAINT",
96
+ "CUSTOMIZATION_SUBJECT": "CUSTOMIZATION_SUBJECT",
97
+ "CUSTOMIZATION_STYLE": "CUSTOMIZATION_STYLE",
98
+ "CUSTOMIZATION_CONTROLLED": "CUSTOMIZATION_CONTROLLED",
99
+ "CUSTOMIZATION_INSTRUCT": "CUSTOMIZATION_INSTRUCT",
100
+ },
101
+ description: "The editing mode. CUSTOMIZATION options use few-shot learning to generate images based on a few examples."
102
+ },
103
+ {
104
+ name: "guidance_scale", type: OptionType.numeric, min: 0, max: 500, default: guidanceScaleDefault,
105
+ integer: true, description: "How closely the generation follows the prompt"
106
+ }
107
+ ];
108
+ const maskOptions = (option?.edit_mode?.includes("EDIT")) ? [
109
+ {
110
+ name: "mask_mode", type: OptionType.enum,
111
+ enum: {
112
+ "MASK_MODE_USER_PROVIDED": "MASK_MODE_USER_PROVIDED",
113
+ "MASK_MODE_BACKGROUND": "MASK_MODE_BACKGROUND",
114
+ "MASK_MODE_FOREGROUND": "MASK_MODE_FOREGROUND",
115
+ "MASK_MODE_SEMANTIC": "MASK_MODE_SEMANTIC",
116
+ },
117
+ default: "MASK_MODE_USER_PROVIDED",
118
+ description: "How should the mask for the generation be provided"
119
+ },
120
+ {
121
+ name: "mask_dilation", type: OptionType.numeric, min: 0, max: 1,
122
+ integer: true, description: "The mask dilation, grows the mask by a percetage of image width to compensate for imprecise masks."
123
+ },
124
+ ] : [];
125
+ const maskClassOptions = (option?.mask_mode === ImagenMaskMode.MASK_MODE_SEMANTIC) ? [
126
+ {
127
+ name: "mask_class", type: OptionType.string_list, default: [],
128
+ description: "Input Class IDs. Create a mask based on image class, based on https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api-customization#segment-ids"
129
+ }
130
+ ] : [];
131
+ const editOptions = option?.edit_mode?.includes("EDIT") ? [
132
+ {
133
+ name: "edit_steps", type: OptionType.numeric, default: 75,
134
+ integer: true, description: "The number of steps for the base image generation, more steps means more time and better quality"
135
+ },
136
+ ] : [];
137
+ const customizationOptions = option?.edit_mode === ImagenTaskType.CUSTOMIZATION_CONTROLLED
138
+ || option?.edit_mode === ImagenTaskType.CUSTOMIZATION_SUBJECT ? [
139
+ {
140
+ name: "controlType", type: OptionType.enum, enum: { "Face Mesh": "CONTROL_TYPE_FACE_MESH", "Canny": "CONTROL_TYPE_CANNY", "Scribble": "CONTROL_TYPE_SCRIBBLE" },
141
+ default: "CONTROL_TYPE_CANNY", description: "Method used to generate the control image"
142
+ },
143
+ {
144
+ name: "controlImageComputation", type: OptionType.boolean, default: true, description: "Should the control image be computed from the input image, or is it provided"
145
+ }
146
+ ] : [];
147
+ return {
148
+ _option_id: "vertexai-imagen",
149
+ options: [
150
+ ...modeOptions,
151
+ ...commonOptions,
152
+ ...maskOptions,
153
+ ...maskClassOptions,
154
+ ...editOptions,
155
+ ...customizationOptions,
156
+ ...outputOptions,
157
+ ]
158
+ };
159
+ }
160
+ }
161
+ else if (model.includes("gemini")) {
162
+ const max_tokens_limit = getGeminiMaxTokensLimit(model);
163
+ const excludeOptions = ["max_tokens", "presence_penalty"];
164
+ let commonOptions = textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
165
+ if (model.includes("1.5")) {
166
+ commonOptions = commonOptions.filter((option) => option.name !== "frequency_penalty");
167
+ }
168
+ const max_tokens = [{
169
+ name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,
170
+ integer: true, step: 200, description: "The maximum number of tokens to generate"
171
+ }];
172
+ return {
173
+ _option_id: "vertexai-gemini",
174
+ options: [
175
+ ...max_tokens,
176
+ ...commonOptions,
177
+ ]
178
+ };
179
+ }
180
+ else if (model.includes("claude")) {
181
+ const max_tokens_limit = getClaudeMaxTokensLimit(model, option);
182
+ const excludeOptions = ["max_tokens", "presence_penalty", "frequency_penalty"];
183
+ let commonOptions = textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
184
+ const max_tokens = [{
185
+ name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,
186
+ integer: true, step: 200, description: "The maximum number of tokens to generate"
187
+ }];
188
+ if (model.includes("3-7")) {
189
+ const claudeModeOptions = [
190
+ {
191
+ name: "thinking_mode",
192
+ type: OptionType.boolean,
193
+ default: false,
194
+ description: "If true, use the extended reasoning mode"
195
+ },
196
+ ];
197
+ const claudeThinkingOptions = option?.thinking_mode ? [
198
+ {
199
+ name: "thinking_budget_tokens",
200
+ type: OptionType.numeric,
201
+ min: 1024,
202
+ default: 4000,
203
+ integer: true,
204
+ step: 100,
205
+ description: "The target number of tokens to use for reasoning, not a hard limit."
206
+ },
207
+ ] : [];
208
+ return {
209
+ _option_id: "vertexai-claude",
210
+ options: [
211
+ ...max_tokens,
212
+ ...commonOptions,
213
+ ...claudeModeOptions,
214
+ ...claudeThinkingOptions,
215
+ ]
216
+ };
217
+ }
218
+ return {
219
+ _option_id: "vertexai-claude",
220
+ options: [
221
+ ...max_tokens,
222
+ ...commonOptions,
223
+ ]
224
+ };
225
+ }
226
+ return textOptionsFallback;
227
+ }
228
+ function getGeminiMaxTokensLimit(model) {
229
+ if (model.includes("thinking")) {
230
+ return 65536;
231
+ }
232
+ if (model.includes("ultra") || model.includes("vision")) {
233
+ return 2048;
234
+ }
235
+ return 8192;
236
+ }
237
+ function getClaudeMaxTokensLimit(model, option) {
238
+ if (model.includes("3-7")) {
239
+ if (option && option?.thinking_mode) {
240
+ return 128000;
241
+ }
242
+ else {
243
+ return 8192;
244
+ }
245
+ }
246
+ else if (model.includes("3-5")) {
247
+ return 8192;
248
+ }
249
+ else {
250
+ return 4096;
251
+ }
252
+ }
253
+ //# sourceMappingURL=vertexai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertexai.js","sourceRoot":"","sources":["../../../src/options/vertexai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { OptionType, SharedOptions } from "./types.js";
2
+ import { getBedrockOptions } from "./options/bedrock.js";
3
+ import { getVertexAiOptions } from "./options/vertexai.js";
4
+ import { getOpenAiOptions } from "./options/openai.js";
5
+ import { getGroqOptions } from "./options/groq.js";
6
+ export const textOptionsFallback = {
7
+ _option_id: "text-fallback",
8
+ options: [
9
+ {
10
+ name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1,
11
+ integer: true, step: 200, description: "The maximum number of tokens to generate"
12
+ },
13
+ {
14
+ name: SharedOptions.temperature, type: OptionType.numeric, min: 0.0, default: 0.7,
15
+ integer: false, step: 0.1, description: "A higher temperature biases toward less likely tokens, making the model more creative"
16
+ },
17
+ {
18
+ name: SharedOptions.top_p, type: OptionType.numeric, min: 0, max: 1,
19
+ integer: false, step: 0.1, description: "Limits token sampling to the cumulative probability of the top p tokens"
20
+ },
21
+ {
22
+ name: SharedOptions.top_k, type: OptionType.numeric, min: 1,
23
+ integer: true, step: 1, description: "Limits token sampling to the top k tokens"
24
+ },
25
+ {
26
+ name: SharedOptions.presence_penalty, type: OptionType.numeric, min: -2.0, max: 2.0,
27
+ integer: false, step: 0.1, description: "Penalise tokens if they appear at least once in the text"
28
+ },
29
+ {
30
+ name: SharedOptions.frequency_penalty, type: OptionType.numeric, min: -2.0, max: 2.0,
31
+ integer: false, step: 0.1, description: "Penalise tokens based on their frequency in the text"
32
+ },
33
+ { name: SharedOptions.stop_sequence, type: OptionType.string_list, value: [], description: "The generation will halt if one of the stop sequences is output" },
34
+ ]
35
+ };
36
+ export function getOptions(provider, model, options) {
37
+ switch (provider) {
38
+ case "bedrock":
39
+ return getBedrockOptions(model ?? "", options);
40
+ case "vertexai":
41
+ return getVertexAiOptions(model ?? "", options);
42
+ case "openai":
43
+ return getOpenAiOptions(model ?? "", options);
44
+ case "groq":
45
+ return getGroqOptions(model ?? "", options);
46
+ default:
47
+ return textOptionsFallback;
48
+ }
49
+ }
50
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAanD,MAAM,CAAC,MAAM,mBAAmB,GAAqB;IACjD,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE;QACL;YACI,IAAI,EAAE,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YAChE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,0CAA0C;SACpF;QACD;YACI,IAAI,EAAE,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;YACjF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,uFAAuF;SAClI;QACD;YACI,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YACnE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,yEAAyE;SACpH;QACD;YACI,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YAC3D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,2CAA2C;SACnF;QACD;YACI,IAAI,EAAE,aAAa,CAAC,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;YACnF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,0DAA0D;SACrG;QACD;YACI,IAAI,EAAE,aAAa,CAAC,iBAAiB,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;YACpF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,sDAAsD;SACjG;QACD,EAAE,IAAI,EAAE,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,iEAAiE,EAAE;KACjK;CACJ,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,QAAiB,EAAE,KAAc,EAAE,OAAsB;IAChF,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,SAAS;YACV,OAAO,iBAAiB,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACnD,KAAK,UAAU;YACX,OAAO,kBAAkB,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,KAAK,QAAQ;YACT,OAAO,gBAAgB,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAClD,KAAK,MAAM;YACP,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAChD;YACI,OAAO,mBAAmB,CAAC;IACnC,CAAC;AACL,CAAC"}
package/lib/esm/types.js CHANGED
@@ -1,3 +1,25 @@
1
+ //Common names to share between different models
2
+ export var SharedOptions;
3
+ (function (SharedOptions) {
4
+ //Text
5
+ SharedOptions["max_tokens"] = "max_tokens";
6
+ SharedOptions["temperature"] = "temperature";
7
+ SharedOptions["top_p"] = "top_p";
8
+ SharedOptions["top_k"] = "top_k";
9
+ SharedOptions["presence_penalty"] = "presence_penalty";
10
+ SharedOptions["frequency_penalty"] = "frequency_penalty";
11
+ SharedOptions["stop_sequence"] = "stop_sequence";
12
+ //Image
13
+ SharedOptions["seed"] = "seed";
14
+ SharedOptions["number_of_images"] = "number_of_images";
15
+ })(SharedOptions || (SharedOptions = {}));
16
+ export var OptionType;
17
+ (function (OptionType) {
18
+ OptionType["numeric"] = "numeric";
19
+ OptionType["enum"] = "enum";
20
+ OptionType["boolean"] = "boolean";
21
+ OptionType["string_list"] = "string_list";
22
+ })(OptionType || (OptionType = {}));
1
23
  // ============== Prompts ===============
2
24
  export var PromptRole;
3
25
  (function (PromptRole) {
@@ -5,7 +27,18 @@ export var PromptRole;
5
27
  PromptRole["system"] = "system";
6
28
  PromptRole["user"] = "user";
7
29
  PromptRole["assistant"] = "assistant";
30
+ PromptRole["negative"] = "negative";
31
+ PromptRole["mask"] = "mask";
32
+ /**
33
+ * Used to send the response of a tool
34
+ */
35
+ PromptRole["tool"] = "tool";
8
36
  })(PromptRole || (PromptRole = {}));
37
+ export var Modalities;
38
+ (function (Modalities) {
39
+ Modalities["text"] = "text";
40
+ Modalities["image"] = "image";
41
+ })(Modalities || (Modalities = {}));
9
42
  export var AIModelStatus;
10
43
  (function (AIModelStatus) {
11
44
  AIModelStatus["Available"] = "available";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAmJA,yCAAyC;AACzC,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,qCAAuB,CAAA;AAC3B,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAgCD,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;AACvB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAiBD,MAAM,CAAN,IAAY,SAkBX;AAlBD,WAAY,SAAS;IACjB,sCAAyB,CAAA;IACzB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,mDAAsC,CAAA;IACtC,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,oCAAuB,CAAA;IACvB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,gCAAmB,CAAA;AACvB,CAAC,EAlBW,SAAS,KAAT,SAAS,QAkBpB;AA2BD,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;IACvB,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;AAC3B,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AA6KA,gDAAgD;AAChD,MAAM,CAAN,IAAY,aAaX;AAbD,WAAY,aAAa;IACrB,MAAM;IACN,0CAAyB,CAAA;IACzB,4CAA2B,CAAA;IAC3B,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,sDAAqC,CAAA;IACrC,wDAAuC,CAAA;IACvC,gDAA+B,CAAA;IAE/B,OAAO;IACP,8BAAa,CAAA;IACb,sDAAqC,CAAA;AACzC,CAAC,EAbW,aAAa,KAAb,aAAa,QAaxB;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,iCAAmB,CAAA;IACnB,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,yCAA2B,CAAA;AAC/B,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAqDD,yCAAyC;AACzC,MAAM,CAAN,IAAY,UAWX;AAXD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;IACrB,2BAAa,CAAA;IACb;;OAEG;IACH,2BAAa,CAAA;AACjB,CAAC,EAXW,UAAU,KAAV,UAAU,QAWrB;AAkBD,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,6BAAe,CAAA;AACnB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAoBD,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;AACvB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAiBD,MAAM,CAAN,IAAY,SAkBX;AAlBD,WAAY,SAAS;IACjB,sCAAyB,CAAA;IACzB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,mDAAsC,CAAA;IACtC,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,oCAAuB,CAAA;IACvB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,gCAAmB,CAAA;AACvB,CAAC,EAlBW,SAAS,KAAT,SAAS,QAkBpB;AA2BD,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;IACvB,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;AAC3B,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B"}
@@ -7,7 +7,7 @@ export declare class DefaultCompletionStream<PromptT = any> implements Completio
7
7
  chunks: string[];
8
8
  completion: ExecutionResponse<PromptT> | undefined;
9
9
  constructor(driver: AbstractDriver<DriverOptions, PromptT>, prompt: PromptT, options: ExecutionOptions);
10
- [Symbol.asyncIterator](): AsyncGenerator<string, void, unknown>;
10
+ [Symbol.asyncIterator](): AsyncGenerator<any, void, unknown>;
11
11
  }
12
12
  export declare class FallbackCompletionStream<PromptT = any> implements CompletionStream<PromptT> {
13
13
  driver: AbstractDriver<DriverOptions, PromptT>;
@@ -1 +1 @@
1
- {"version":3,"file":"CompletionStream.d.ts","sourceRoot":"","sources":["../../src/CompletionStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAElG,qBAAa,uBAAuB,CAAC,OAAO,GAAG,GAAG,CAAE,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAKjE,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC;IACtD,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,gBAAgB;IALpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAEhC,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,EACtD,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,gBAAgB;IAI7B,CAAC,MAAM,CAAC,aAAa,CAAC;CAyChC;AAED,qBAAa,wBAAwB,CAAC,OAAO,GAAG,GAAG,CAAE,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAIlE,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC;IACtD,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,gBAAgB;IAJpC,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAEhC,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,EACtD,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,gBAAgB;IAG7B,CAAC,MAAM,CAAC,aAAa,CAAC;CAYhC"}
1
+ {"version":3,"file":"CompletionStream.d.ts","sourceRoot":"","sources":["../../src/CompletionStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAuB,MAAM,YAAY,CAAC;AAEvH,qBAAa,uBAAuB,CAAC,OAAO,GAAG,GAAG,CAAE,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAKjE,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC;IACtD,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,gBAAgB;IALpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAEhC,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,EACtD,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,gBAAgB;IAI7B,CAAC,MAAM,CAAC,aAAa,CAAC;CA6DhC;AAED,qBAAa,wBAAwB,CAAC,OAAO,GAAG,GAAG,CAAE,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAIlE,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC;IACtD,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,gBAAgB;IAJpC,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAEhC,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,EACtD,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,gBAAgB;IAG7B,CAAC,MAAM,CAAC,aAAa,CAAC;CAYhC"}
@@ -3,7 +3,7 @@
3
3
  * Base abstract class is then implemented by each environment
4
4
  * (eg: OpenAI, HuggingFace, etc.)
5
5
  */
6
- import { AIModel, Completion, CompletionStream, DataSource, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, ExecutionResponse, Logger, ModelSearchPayload, PromptOptions, PromptSegment, TrainingJob, TrainingOptions, TrainingPromptOptions } from "./types.js";
6
+ import { AIModel, Completion, CompletionChunk, CompletionStream, DataSource, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, ExecutionResponse, ImageGeneration, Logger, ModelSearchPayload, PromptOptions, PromptSegment, TrainingJob, TrainingOptions, TrainingPromptOptions } from "./types.js";
7
7
  export declare function createLogger(logger: Logger | "console" | undefined): Logger;
8
8
  export interface Driver<PromptT = unknown> {
9
9
  /**
@@ -13,7 +13,7 @@ export interface Driver<PromptT = unknown> {
13
13
  * @param model the model to train
14
14
  */
15
15
  createTrainingPrompt(options: TrainingPromptOptions): Promise<string>;
16
- createPrompt(segments: PromptSegment[], opts: PromptOptions): Promise<PromptT>;
16
+ createPrompt(segments: PromptSegment[], opts: ExecutionOptions): Promise<PromptT>;
17
17
  execute(segments: PromptSegment[], options: ExecutionOptions): Promise<ExecutionResponse<PromptT>>;
18
18
  stream(segments: PromptSegment[], options: ExecutionOptions): Promise<CompletionStream<PromptT>>;
19
19
  startTraining(dataset: DataSource, options: TrainingOptions): Promise<TrainingJob>;
@@ -64,8 +64,9 @@ export declare abstract class AbstractDriver<OptionsT extends DriverOptions = Dr
64
64
  * @returns
65
65
  */
66
66
  listTrainableModels(): Promise<AIModel[]>;
67
- abstract requestCompletion(prompt: PromptT, options: ExecutionOptions): Promise<Completion>;
68
- abstract requestCompletionStream(prompt: PromptT, options: ExecutionOptions): Promise<AsyncIterable<string>>;
67
+ abstract requestTextCompletion(prompt: PromptT, options: ExecutionOptions): Promise<Completion>;
68
+ abstract requestTextCompletionStream(prompt: PromptT, options: ExecutionOptions): Promise<AsyncIterable<CompletionChunk>>;
69
+ requestImageGeneration(_prompt: PromptT, _options: ExecutionOptions): Promise<Completion<ImageGeneration>>;
69
70
  abstract listModels(params?: ModelSearchPayload): Promise<AIModel[]>;
70
71
  abstract validateConnection(): Promise<boolean>;
71
72
  abstract generateEmbeddings(options: EmbeddingsOptions): Promise<EmbeddingsResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"Driver.d.ts","sourceRoot":"","sources":["../../src/Driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Driver.d.ts","sourceRoot":"","sources":["../../src/Driver.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import type { ServerSentEvent } from "api-fetch-client";
2
+ import { CompletionChunk } from "./types.js";
2
3
  export declare function asyncMap<T, R>(asyncIterable: AsyncIterable<T>, callback: (value: T, index: number) => R): AsyncGenerator<Awaited<R>, void, unknown>;
3
4
  export declare function oneAsyncIterator<T>(value: T): AsyncIterable<T>;
4
5
  /**
5
- * Given a ReadableStream of server seent events, tran
6
+ * Given a ReadableStream of server sent events, tran
6
7
  */
7
- export declare function transformSSEStream(stream: ReadableStream<ServerSentEvent>, transform: (data: string) => string): ReadableStream<string> & AsyncIterable<string>;
8
+ export declare function transformSSEStream(stream: ReadableStream<ServerSentEvent>, transform: (data: string) => CompletionChunk): ReadableStream<CompletionChunk> & AsyncIterable<CompletionChunk>;
8
9
  export declare class EventStream<T, ReturnT = any> implements AsyncIterable<T> {
9
10
  private queue;
10
11
  private pending?;
@@ -1 +1 @@
1
- {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../src/async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,wBAAuB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,6CAI9G;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAM9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAc/J;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,GAAG,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAElE,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,OAAO,CAAC,CAGd;IACF,OAAO,CAAC,IAAI,CAAS;IAGrB,IAAI,CAAC,KAAK,EAAE,CAAC;IAYb;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO;IAQrB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CA0BlE;AAID;;;;IAII;AACJ,wBAAuB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAC9C,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,EACnC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACvC,YAAY,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACpC,aAAa,CAAC,CAAC,CAAC,CAOlB"}
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../src/async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAuB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,6CAI9G;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAM9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC,CAe1L;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,GAAG,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAElE,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,OAAO,CAAC,CAGd;IACF,OAAO,CAAC,IAAI,CAAS;IAGrB,IAAI,CAAC,KAAK,EAAE,CAAC;IAYb;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO;IAQrB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CA0BlE;AAID;;;;IAII;AACJ,wBAAuB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAC9C,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,EACnC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACvC,YAAY,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACpC,aAAa,CAAC,CAAC,CAAC,CAOlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../src/formatters/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAGxD,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,GAAE,MAMjD,cAC+C,aAAa,EAAE,WAAW,WAAW,KAAG,MAAM,CA2C7F;AAED,QAAA,MAAM,gBAAgB,aA7C0B,aAAa,EAAE,WAAW,WAAW,KAAG,MA6CpC,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../src/formatters/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAGxD,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,GAAE,MAMjD,IACqC,UAAU,aAAa,EAAE,EAAE,SAAS,WAAW,KAAG,MAAM,CA2C7F;AAED,QAAA,MAAM,gBAAgB,aA7C0B,aAAa,EAAE,WAAW,WAAW,KAAG,MA6CpC,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import { JSONSchema4 } from "json-schema";
2
2
  import { PromptSegment } from "../types.js";
3
3
  export type PromptFormatter<T = any> = (messages: PromptSegment[], schema?: JSONSchema4) => T;
4
- export * from "./claude.js";
5
4
  export * from "./commons.js";
6
5
  export * from "./generic.js";
7
- export * from "./llama2.js";
8
- export * from "./llama3.js";
9
6
  export * from "./openai.js";
7
+ export * from "./nova.js";
10
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,CAAC,CAAC;AAE9F,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,CAAC,CAAC;AAE9F,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}