@llumiverse/drivers 0.15.0 → 0.17.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 (159) hide show
  1. package/README.md +3 -3
  2. package/lib/cjs/adobe/firefly.js +119 -0
  3. package/lib/cjs/adobe/firefly.js.map +1 -0
  4. package/lib/cjs/bedrock/converse.js +177 -0
  5. package/lib/cjs/bedrock/converse.js.map +1 -0
  6. package/lib/cjs/bedrock/index.js +338 -234
  7. package/lib/cjs/bedrock/index.js.map +1 -1
  8. package/lib/cjs/bedrock/nova-image-payload.js +207 -0
  9. package/lib/cjs/bedrock/nova-image-payload.js.map +1 -0
  10. package/lib/cjs/groq/index.js +34 -9
  11. package/lib/cjs/groq/index.js.map +1 -1
  12. package/lib/cjs/huggingface_ie.js +28 -12
  13. package/lib/cjs/huggingface_ie.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/mistral/index.js +32 -13
  17. package/lib/cjs/mistral/index.js.map +1 -1
  18. package/lib/cjs/mistral/types.js.map +1 -1
  19. package/lib/cjs/openai/index.js +164 -29
  20. package/lib/cjs/openai/index.js.map +1 -1
  21. package/lib/cjs/replicate.js +19 -34
  22. package/lib/cjs/replicate.js.map +1 -1
  23. package/lib/cjs/test/TestValidationErrorCompletionStream.js.map +1 -1
  24. package/lib/cjs/test/index.js.map +1 -1
  25. package/lib/cjs/togetherai/index.js +40 -10
  26. package/lib/cjs/togetherai/index.js.map +1 -1
  27. package/lib/cjs/vertexai/embeddings/embeddings-image.js +26 -0
  28. package/lib/cjs/vertexai/embeddings/embeddings-image.js.map +1 -0
  29. package/lib/cjs/vertexai/embeddings/embeddings-text.js +1 -1
  30. package/lib/cjs/vertexai/embeddings/embeddings-text.js.map +1 -1
  31. package/lib/cjs/vertexai/index.js +134 -35
  32. package/lib/cjs/vertexai/index.js.map +1 -1
  33. package/lib/cjs/vertexai/models/claude.js +252 -0
  34. package/lib/cjs/vertexai/models/claude.js.map +1 -0
  35. package/lib/cjs/vertexai/models/gemini.js +172 -25
  36. package/lib/cjs/vertexai/models/gemini.js.map +1 -1
  37. package/lib/cjs/vertexai/models/imagen.js +317 -0
  38. package/lib/cjs/vertexai/models/imagen.js.map +1 -0
  39. package/lib/cjs/vertexai/models.js +12 -64
  40. package/lib/cjs/vertexai/models.js.map +1 -1
  41. package/lib/cjs/watsonx/index.js +47 -10
  42. package/lib/cjs/watsonx/index.js.map +1 -1
  43. package/lib/cjs/xai/index.js +71 -0
  44. package/lib/cjs/xai/index.js.map +1 -0
  45. package/lib/esm/adobe/firefly.js +115 -0
  46. package/lib/esm/adobe/firefly.js.map +1 -0
  47. package/lib/esm/bedrock/converse.js +171 -0
  48. package/lib/esm/bedrock/converse.js.map +1 -0
  49. package/lib/esm/bedrock/index.js +339 -232
  50. package/lib/esm/bedrock/index.js.map +1 -1
  51. package/lib/esm/bedrock/nova-image-payload.js +203 -0
  52. package/lib/esm/bedrock/nova-image-payload.js.map +1 -0
  53. package/lib/esm/groq/index.js +34 -9
  54. package/lib/esm/groq/index.js.map +1 -1
  55. package/lib/esm/huggingface_ie.js +29 -13
  56. package/lib/esm/huggingface_ie.js.map +1 -1
  57. package/lib/esm/index.js +1 -0
  58. package/lib/esm/index.js.map +1 -1
  59. package/lib/esm/mistral/index.js +32 -13
  60. package/lib/esm/mistral/index.js.map +1 -1
  61. package/lib/esm/mistral/types.js.map +1 -1
  62. package/lib/esm/openai/index.js +165 -30
  63. package/lib/esm/openai/index.js.map +1 -1
  64. package/lib/esm/replicate.js +19 -34
  65. package/lib/esm/replicate.js.map +1 -1
  66. package/lib/esm/test/TestValidationErrorCompletionStream.js.map +1 -1
  67. package/lib/esm/test/index.js.map +1 -1
  68. package/lib/esm/togetherai/index.js +40 -10
  69. package/lib/esm/togetherai/index.js.map +1 -1
  70. package/lib/esm/vertexai/embeddings/embeddings-image.js +23 -0
  71. package/lib/esm/vertexai/embeddings/embeddings-image.js.map +1 -0
  72. package/lib/esm/vertexai/embeddings/embeddings-text.js +1 -1
  73. package/lib/esm/vertexai/embeddings/embeddings-text.js.map +1 -1
  74. package/lib/esm/vertexai/index.js +135 -37
  75. package/lib/esm/vertexai/index.js.map +1 -1
  76. package/lib/esm/vertexai/models/claude.js +247 -0
  77. package/lib/esm/vertexai/models/claude.js.map +1 -0
  78. package/lib/esm/vertexai/models/gemini.js +173 -26
  79. package/lib/esm/vertexai/models/gemini.js.map +1 -1
  80. package/lib/esm/vertexai/models/imagen.js +310 -0
  81. package/lib/esm/vertexai/models/imagen.js.map +1 -0
  82. package/lib/esm/vertexai/models.js +12 -61
  83. package/lib/esm/vertexai/models.js.map +1 -1
  84. package/lib/esm/watsonx/index.js +47 -10
  85. package/lib/esm/watsonx/index.js.map +1 -1
  86. package/lib/esm/xai/index.js +64 -0
  87. package/lib/esm/xai/index.js.map +1 -0
  88. package/lib/types/adobe/firefly.d.ts +30 -0
  89. package/lib/types/adobe/firefly.d.ts.map +1 -0
  90. package/lib/types/bedrock/converse.d.ts +8 -0
  91. package/lib/types/bedrock/converse.d.ts.map +1 -0
  92. package/lib/types/bedrock/index.d.ts +27 -12
  93. package/lib/types/bedrock/index.d.ts.map +1 -1
  94. package/lib/types/bedrock/nova-image-payload.d.ts +74 -0
  95. package/lib/types/bedrock/nova-image-payload.d.ts.map +1 -0
  96. package/lib/types/bedrock/payloads.d.ts +9 -65
  97. package/lib/types/bedrock/payloads.d.ts.map +1 -1
  98. package/lib/types/groq/index.d.ts +3 -3
  99. package/lib/types/groq/index.d.ts.map +1 -1
  100. package/lib/types/huggingface_ie.d.ts +5 -7
  101. package/lib/types/huggingface_ie.d.ts.map +1 -1
  102. package/lib/types/index.d.ts +1 -0
  103. package/lib/types/index.d.ts.map +1 -1
  104. package/lib/types/mistral/index.d.ts +4 -4
  105. package/lib/types/mistral/index.d.ts.map +1 -1
  106. package/lib/types/mistral/types.d.ts +1 -0
  107. package/lib/types/mistral/types.d.ts.map +1 -1
  108. package/lib/types/openai/index.d.ts +5 -4
  109. package/lib/types/openai/index.d.ts.map +1 -1
  110. package/lib/types/replicate.d.ts +4 -9
  111. package/lib/types/replicate.d.ts.map +1 -1
  112. package/lib/types/test/index.d.ts +2 -2
  113. package/lib/types/test/index.d.ts.map +1 -1
  114. package/lib/types/togetherai/index.d.ts +4 -4
  115. package/lib/types/togetherai/index.d.ts.map +1 -1
  116. package/lib/types/vertexai/embeddings/embeddings-image.d.ts +11 -0
  117. package/lib/types/vertexai/embeddings/embeddings-image.d.ts.map +1 -0
  118. package/lib/types/vertexai/index.d.ts +21 -8
  119. package/lib/types/vertexai/index.d.ts.map +1 -1
  120. package/lib/types/vertexai/models/claude.d.ts +20 -0
  121. package/lib/types/vertexai/models/claude.d.ts.map +1 -0
  122. package/lib/types/vertexai/models/gemini.d.ts +4 -4
  123. package/lib/types/vertexai/models/gemini.d.ts.map +1 -1
  124. package/lib/types/vertexai/models/imagen.d.ts +75 -0
  125. package/lib/types/vertexai/models/imagen.d.ts.map +1 -0
  126. package/lib/types/vertexai/models.d.ts +3 -6
  127. package/lib/types/vertexai/models.d.ts.map +1 -1
  128. package/lib/types/watsonx/index.d.ts +3 -3
  129. package/lib/types/watsonx/index.d.ts.map +1 -1
  130. package/lib/types/watsonx/interfaces.d.ts +4 -0
  131. package/lib/types/watsonx/interfaces.d.ts.map +1 -1
  132. package/lib/types/xai/index.d.ts +19 -0
  133. package/lib/types/xai/index.d.ts.map +1 -0
  134. package/package.json +25 -26
  135. package/src/adobe/firefly.ts +207 -0
  136. package/src/bedrock/converse.ts +194 -0
  137. package/src/bedrock/index.ts +359 -240
  138. package/src/bedrock/nova-image-payload.ts +309 -0
  139. package/src/bedrock/payloads.ts +12 -66
  140. package/src/groq/index.ts +35 -12
  141. package/src/huggingface_ie.ts +34 -13
  142. package/src/index.ts +1 -0
  143. package/src/mistral/index.ts +35 -13
  144. package/src/mistral/types.ts +2 -1
  145. package/src/openai/index.ts +186 -35
  146. package/src/replicate.ts +24 -35
  147. package/src/test/TestValidationErrorCompletionStream.ts +2 -2
  148. package/src/test/index.ts +3 -2
  149. package/src/togetherai/index.ts +44 -12
  150. package/src/vertexai/embeddings/embeddings-image.ts +50 -0
  151. package/src/vertexai/embeddings/embeddings-text.ts +1 -1
  152. package/src/vertexai/index.ts +186 -46
  153. package/src/vertexai/models/claude.ts +281 -0
  154. package/src/vertexai/models/gemini.ts +186 -29
  155. package/src/vertexai/models/imagen.ts +401 -0
  156. package/src/vertexai/models.ts +16 -78
  157. package/src/watsonx/index.ts +50 -12
  158. package/src/watsonx/interfaces.ts +4 -0
  159. package/src/xai/index.ts +110 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imagen.js","sourceRoot":"","sources":["../../../../src/vertexai/models/imagen.ts"],"names":[],"mappings":"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"}
@@ -1,72 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BuiltinModels = void 0;
4
- exports.getModelName = getModelName;
5
3
  exports.getModelDefinition = getModelDefinition;
6
- exports.getAIModels = getAIModels;
7
- const core_1 = require("@llumiverse/core");
4
+ const index_js_1 = require("./index.js");
8
5
  const gemini_js_1 = require("./models/gemini.js");
9
- function getModelName(model) {
10
- const i = model.lastIndexOf('@');
11
- return i > -1 ? model.substring(0, i) : model;
12
- }
6
+ const claude_js_1 = require("./models/claude.js");
13
7
  function getModelDefinition(model) {
14
- const modelName = getModelName(model);
15
- const def = Models[modelName];
16
- if (!def) {
17
- throw new Error(`Unknown model ${model}`);
8
+ const splits = model.split("/");
9
+ const publisher = splits[1];
10
+ const modelName = (0, index_js_1.trimModelName)(splits[splits.length - 1]);
11
+ if (publisher?.includes("anthropic")) {
12
+ return new claude_js_1.ClaudeModelDefinition(modelName);
18
13
  }
19
- return def;
20
- }
21
- function getAIModels() {
22
- return Object.values(Models).map(m => m.model);
14
+ else if (publisher?.includes("google")) {
15
+ return new gemini_js_1.GeminiModelDefinition(modelName);
16
+ }
17
+ //Fallback, assume it is Gemini.
18
+ return new gemini_js_1.GeminiModelDefinition(modelName);
23
19
  }
24
- // Builtin models. VertexAI doesn't provide an API to list models. so we have to hardcode them here.
25
- exports.BuiltinModels = [
26
- {
27
- id: "gemini-1.5-flash",
28
- name: "Gemini Pro 1.5 Flash",
29
- provider: "vertexai",
30
- owner: "google",
31
- type: core_1.ModelType.MultiModal,
32
- can_stream: true,
33
- is_multimodal: true
34
- },
35
- {
36
- id: "gemini-1.5-pro",
37
- name: "Gemini Pro 1.5 Pro",
38
- provider: "vertexai",
39
- owner: "google",
40
- type: core_1.ModelType.MultiModal,
41
- can_stream: true,
42
- is_multimodal: true
43
- },
44
- {
45
- id: "gemini-1.0-pro",
46
- name: "Gemini Pro 1.0",
47
- provider: "vertexai",
48
- owner: "google",
49
- type: core_1.ModelType.Text,
50
- can_stream: true,
51
- },
52
- {
53
- id: "tablextembedding-gecko",
54
- name: "Gecko Text Embeddings",
55
- provider: "vertexai",
56
- owner: "google",
57
- type: core_1.ModelType.Embedding,
58
- },
59
- {
60
- id: "textembedding-gecko-multilingual",
61
- name: "Gecko Multilingual Text Embeddings",
62
- provider: "vertexai",
63
- owner: "google",
64
- type: core_1.ModelType.Embedding,
65
- },
66
- ];
67
- const Models = {
68
- "gemini-1.5-flash": new gemini_js_1.GeminiModelDefinition("gemini-1.5-flash"),
69
- "gemini-1.5-pro": new gemini_js_1.GeminiModelDefinition("gemini-1.5-pro"),
70
- "gemini-1.0-pro": new gemini_js_1.GeminiModelDefinition(),
71
- };
72
20
  //# sourceMappingURL=models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/vertexai/models.ts"],"names":[],"mappings":";;;AAeA,oCAGC;AAED,gDAOC;AAED,kCAEC;AA/BD,2CAAkH;AAElH,kDAA2D;AAa3D,SAAgB,YAAY,CAAC,KAAa;IACtC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClD,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAa;IAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAgB,WAAW;IACvB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,oGAAoG;AACvF,QAAA,aAAa,GAAsB;IAC5C;QACI,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,gBAAS,CAAC,UAAU;QAC1B,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KAEtB;IACD;QACI,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,gBAAS,CAAC,UAAU;QAC1B,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KAEtB;IACD;QACI,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,gBAAS,CAAC,IAAI;QACpB,UAAU,EAAE,IAAI;KACnB;IACD;QACI,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,gBAAS,CAAC,SAAS;KAC5B;IACD;QACI,EAAE,EAAE,kCAAkC;QACtC,IAAI,EAAE,oCAAoC;QAC1C,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,gBAAS,CAAC,SAAS;KAC5B;CAIJ,CAAA;AAID,MAAM,MAAM,GAAoC;IAC5C,kBAAkB,EAAE,IAAI,iCAAqB,CAAC,kBAAkB,CAAC;IACjE,gBAAgB,EAAE,IAAI,iCAAqB,CAAC,gBAAgB,CAAC;IAC7D,gBAAgB,EAAE,IAAI,iCAAqB,EAAE;CAChD,CAAA"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/vertexai/models.ts"],"names":[],"mappings":";;AAaA,gDAaC;AAzBD,yCAA2D;AAC3D,kDAA2D;AAC3D,kDAA2D;AAU3D,SAAgB,kBAAkB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3D,IAAI,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,iCAAqB,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,iCAAqB,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,gCAAgC;IAChC,OAAO,IAAI,iCAAqB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC"}
@@ -21,13 +21,20 @@ class WatsonxDriver extends core_1.AbstractDriver {
21
21
  this.endpoint_url = options.endpointUrl;
22
22
  this.fetchClient = new api_fetch_client_1.FetchClient(this.endpoint_url).withAuthCallback(async () => this.getAuthToken().then(token => `Bearer ${token}`));
23
23
  }
24
- async requestCompletion(prompt, options) {
24
+ async requestTextCompletion(prompt, options) {
25
+ if (options.model_options?._option_id !== "text-fallback") {
26
+ this.logger.warn("Invalid model options", { options: options.model_options });
27
+ }
28
+ options.model_options = options.model_options;
25
29
  const payload = {
26
30
  model_id: options.model,
27
31
  input: prompt + "\n",
28
32
  parameters: {
29
- max_new_tokens: options.max_tokens,
30
- //time_limit: options.time_limit,
33
+ max_new_tokens: options.model_options.max_tokens,
34
+ temperature: options.model_options.temperature,
35
+ top_k: options.model_options.top_k,
36
+ top_p: options.model_options.top_p,
37
+ stop_sequences: options.model_options.stop_sequence,
31
38
  },
32
39
  project_id: this.projectId,
33
40
  };
@@ -40,17 +47,24 @@ class WatsonxDriver extends core_1.AbstractDriver {
40
47
  result: result.generated_token_count,
41
48
  total: result.input_token_count + result.generated_token_count,
42
49
  },
43
- finish_reason: result.stop_reason,
50
+ finish_reason: watsonFinishReason(result.stop_reason),
44
51
  original_response: options.include_original_response ? res : undefined,
45
52
  };
46
53
  }
47
- async requestCompletionStream(prompt, options) {
54
+ async requestTextCompletionStream(prompt, options) {
55
+ if (options.model_options?._option_id !== "text-fallback") {
56
+ this.logger.warn("Invalid model options", { options: options.model_options });
57
+ }
58
+ options.model_options = options.model_options;
48
59
  const payload = {
49
60
  model_id: options.model,
50
61
  input: prompt + "\n",
51
62
  parameters: {
52
- max_new_tokens: options.max_tokens,
53
- //time_limit: options.time_limit,
63
+ max_new_tokens: options.model_options.max_tokens,
64
+ temperature: options.model_options.temperature,
65
+ top_k: options.model_options.top_k,
66
+ top_p: options.model_options.top_p,
67
+ stop_sequences: options.model_options.stop_sequence,
54
68
  },
55
69
  project_id: this.projectId,
56
70
  };
@@ -60,7 +74,15 @@ class WatsonxDriver extends core_1.AbstractDriver {
60
74
  });
61
75
  return (0, async_1.transformSSEStream)(stream, (data) => {
62
76
  const json = JSON.parse(data);
63
- return json.results[0]?.generated_text ?? '';
77
+ return {
78
+ result: json.results[0]?.generated_text ?? '',
79
+ finish_reason: watsonFinishReason(json.results[0]?.stop_reason),
80
+ token_usage: {
81
+ prompt: json.results[0].input_token_count,
82
+ result: json.results[0].generated_token_count,
83
+ total: json.results[0].input_token_count + json.results[0].generated_token_count,
84
+ },
85
+ };
64
86
  });
65
87
  }
66
88
  async listModels() {
@@ -100,13 +122,19 @@ class WatsonxDriver extends core_1.AbstractDriver {
100
122
  return this.listModels()
101
123
  .then(() => true)
102
124
  .catch((err) => {
103
- this.logger.warn("Failed to connect to WatsonX", err);
125
+ this.logger.warn("Failed to connect to WatsonX", { error: err });
104
126
  return false;
105
127
  });
106
128
  }
107
129
  async generateEmbeddings(options) {
130
+ if (options.image) {
131
+ throw new Error("Image embeddings not supported by Watsonx");
132
+ }
133
+ if (!options.text) {
134
+ throw new Error("No text provided");
135
+ }
108
136
  const payload = {
109
- inputs: [options.content],
137
+ inputs: [options.text],
110
138
  model_id: options.model ?? 'ibm/slate-125m-english-rtrvr',
111
139
  project_id: this.projectId
112
140
  };
@@ -118,6 +146,15 @@ class WatsonxDriver extends core_1.AbstractDriver {
118
146
  }
119
147
  }
120
148
  exports.WatsonxDriver = WatsonxDriver;
149
+ function watsonFinishReason(reason) {
150
+ if (!reason)
151
+ return undefined;
152
+ switch (reason) {
153
+ case 'eos_token': return "stop";
154
+ case 'max_tokens': return "length";
155
+ default: return reason;
156
+ }
157
+ }
121
158
  /*interface ListModelsParams extends ModelSearchPayload {
122
159
  limit?: number;
123
160
  }*/
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/watsonx/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/watsonx/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
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.xAIDriver = void 0;
7
+ const formatters_1 = require("@llumiverse/core/formatters");
8
+ const api_fetch_client_1 = require("api-fetch-client");
9
+ const openai_1 = __importDefault(require("openai"));
10
+ const index_js_1 = require("../openai/index.js");
11
+ class xAIDriver extends index_js_1.BaseOpenAIDriver {
12
+ service;
13
+ provider;
14
+ xai_service;
15
+ DEFAULT_ENDPOINT = "https://api.x.ai/v1";
16
+ constructor(opts) {
17
+ super(opts);
18
+ if (!opts.apiKey) {
19
+ throw new Error("apiKey is required");
20
+ }
21
+ this.service = new openai_1.default({
22
+ apiKey: opts.apiKey,
23
+ baseURL: opts.endpoint ?? this.DEFAULT_ENDPOINT,
24
+ });
25
+ this.xai_service = new api_fetch_client_1.FetchClient(opts.endpoint ?? this.DEFAULT_ENDPOINT).withAuthCallback(async () => `Bearer ${opts.apiKey}`);
26
+ this.provider = "xai";
27
+ this.formatPrompt = this._formatPrompt;
28
+ }
29
+ async _formatPrompt(segments, opts) {
30
+ const options = {
31
+ multimodal: opts.model.includes("vision"),
32
+ schema: opts.result_schema,
33
+ useToolForFormatting: false,
34
+ };
35
+ const p = await (0, formatters_1.formatOpenAILikeMultimodalPrompt)(segments, { ...options, ...opts });
36
+ return p;
37
+ }
38
+ extractDataFromResponse(_options, result) {
39
+ return {
40
+ result: result.choices[0].message.content,
41
+ finish_reason: result.choices[0].finish_reason,
42
+ token_usage: {
43
+ prompt: result.usage?.prompt_tokens,
44
+ result: result.usage?.completion_tokens,
45
+ total: result.usage?.total_tokens,
46
+ }
47
+ };
48
+ }
49
+ async listModels() {
50
+ const [lm, em] = await Promise.all([
51
+ this.xai_service.get("/language-models"),
52
+ this.xai_service.get("/embedding-models")
53
+ ]);
54
+ em.models.forEach(m => {
55
+ m.output_modalities.push("vectors");
56
+ });
57
+ const models = [...lm.models, ...em.models].map(model => {
58
+ return {
59
+ id: model.id,
60
+ provider: this.provider,
61
+ name: model.object,
62
+ description: model.object,
63
+ is_multimodal: model.input_modalities.length > 1,
64
+ tags: [...model.input_modalities.map(m => `ì:${m}`), ...model.output_modalities.map(m => `ì:${m}`)],
65
+ };
66
+ });
67
+ return models;
68
+ }
69
+ }
70
+ exports.xAIDriver = xAIDriver;
71
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/xai/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import { AbstractDriver } from "@llumiverse/core";
2
+ export class FireflyDriver extends AbstractDriver {
3
+ static PROVIDER = "firefly";
4
+ provider = FireflyDriver.PROVIDER;
5
+ endpoint;
6
+ constructor(options) {
7
+ super(options);
8
+ if (!options.apiKey) {
9
+ throw new Error("No API key provided for Firefly driver");
10
+ }
11
+ this.endpoint = options.endpoint || "https://firefly-api.adobe.io/v3";
12
+ }
13
+ async requestTextCompletion(_prompt, _options) {
14
+ throw new Error("Text completion not supported by Firefly");
15
+ }
16
+ async requestTextCompletionStream(_prompt, _options) {
17
+ throw new Error("Text completion streaming not supported by Firefly");
18
+ }
19
+ async requestImageGeneration(segments, options) {
20
+ this.logger.debug(`[${this.provider}] Generating image with model ${options.model}`);
21
+ const prompt = segments.map(s => s.content).join("\n\n");
22
+ try {
23
+ const payload = {
24
+ prompt: prompt,
25
+ };
26
+ const response = await fetch(`${this.endpoint}/images/generate`, {
27
+ method: 'POST',
28
+ headers: {
29
+ 'Content-Type': 'application/json',
30
+ 'x-api-key': this.options.apiKey,
31
+ },
32
+ body: JSON.stringify(payload)
33
+ });
34
+ if (!response.ok) {
35
+ const error = await response.json();
36
+ throw new Error(`Firefly API error: ${error.message || response.statusText}`);
37
+ }
38
+ const result = await response.json();
39
+ if (result.promptHasDeniedWords || result.promptHasBlockedArtists) {
40
+ return {
41
+ result: {},
42
+ error: {
43
+ message: "Prompt contains denied words or blocked artists",
44
+ code: "content_policy_violation"
45
+ }
46
+ };
47
+ }
48
+ return {
49
+ result: {
50
+ images: result.outputs.map(output => output.image.url)
51
+ }
52
+ };
53
+ }
54
+ catch (error) {
55
+ this.logger.error("[Firefly] Image generation failed", { error });
56
+ return {
57
+ result: {},
58
+ error: {
59
+ message: error.message,
60
+ code: error.code || 'GENERATION_FAILED'
61
+ }
62
+ };
63
+ }
64
+ }
65
+ mapSize(size) {
66
+ // Default to 1024x1024 if no size specified
67
+ if (!size)
68
+ return { width: 1024, height: 1024 };
69
+ const [width, height] = size.split('x').map(Number);
70
+ return { width, height };
71
+ }
72
+ async listModels(_params) {
73
+ return [
74
+ {
75
+ id: "firefly-v3-text-to-image",
76
+ name: "Firefly v3 Text to Image",
77
+ provider: this.provider,
78
+ description: "Adobe Firefly v3 text to image generation model",
79
+ tags: ["image-generation"]
80
+ },
81
+ {
82
+ id: "firefly-v3-image-to-image",
83
+ name: "Firefly v3 Image to Image",
84
+ provider: this.provider,
85
+ description: "Adobe Firefly v3 image to image generation model",
86
+ tags: ["image-generation"]
87
+ },
88
+ {
89
+ id: "firefly-v3-inpainting",
90
+ name: "Firefly v3 Inpainting",
91
+ provider: this.provider,
92
+ description: "Adobe Firefly v3 inpainting model",
93
+ tags: ["image-generation"]
94
+ }
95
+ ];
96
+ }
97
+ async validateConnection() {
98
+ try {
99
+ const response = await fetch(`${this.endpoint}/auth/validate`, {
100
+ headers: {
101
+ 'x-api-key': this.options.apiKey
102
+ }
103
+ });
104
+ return response.ok;
105
+ }
106
+ catch (error) {
107
+ this.logger.error("[Firefly] Connection validation failed", { error });
108
+ return false;
109
+ }
110
+ }
111
+ async generateEmbeddings(_options) {
112
+ throw new Error("Embeddings not supported by Firefly");
113
+ }
114
+ }
115
+ //# sourceMappingURL=firefly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firefly.js","sourceRoot":"","sources":["../../../src/adobe/firefly.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ import { PromptRole } from "@llumiverse/core";
2
+ import { ConversationRole, } from "@aws-sdk/client-bedrock-runtime";
3
+ function getJSONSafetyNotice(schema) {
4
+ return "The answer must be a JSON object using the following JSON Schema:\n" + JSON.stringify(schema, undefined, 2);
5
+ }
6
+ function roleConversion(role) {
7
+ return role === PromptRole.assistant ? ConversationRole.ASSISTANT : ConversationRole.USER;
8
+ }
9
+ function mimeToImageType(mime) {
10
+ if (mime.startsWith("image/")) {
11
+ return mime.split("/")[1];
12
+ }
13
+ return "png";
14
+ }
15
+ function mimeToDocType(mime) {
16
+ if (mime.startsWith("application/") || mime.startsWith("text/")) {
17
+ return mime.split("/")[1];
18
+ }
19
+ return "txt";
20
+ }
21
+ function mimeToVideoType(mime) {
22
+ if (mime.startsWith("video/")) {
23
+ return mime.split("/")[1];
24
+ }
25
+ return "mp4";
26
+ }
27
+ async function readStreamAsString(stream) {
28
+ const out = [];
29
+ for await (const chunk of stream) {
30
+ out.push(Buffer.from(chunk));
31
+ }
32
+ return Buffer.concat(out).toString();
33
+ }
34
+ async function readStreamAsUint8Array(stream) {
35
+ const out = [];
36
+ for await (const chunk of stream) {
37
+ out.push(Buffer.from(chunk));
38
+ }
39
+ return Buffer.concat(out);
40
+ }
41
+ export function converseConcatMessages(messages) {
42
+ if (!messages)
43
+ return [];
44
+ //Concatenate messages of the same role. Required to have alternative user and assistant roles
45
+ for (let i = 0; i < messages.length - 1; i++) {
46
+ if (messages[i].role === messages[i + 1].role) {
47
+ messages[i].content = messages[i].content?.concat(...(messages[i + 1].content || []));
48
+ messages.splice(i + 1, 1);
49
+ i--;
50
+ }
51
+ }
52
+ return messages;
53
+ }
54
+ export function converseSystemToMessages(system) {
55
+ return {
56
+ content: [{ text: system.map(system => system.text).join('\n').trim() }],
57
+ role: ConversationRole.USER
58
+ };
59
+ }
60
+ export function converseRemoveJSONprefill(messages) {
61
+ //Remove the "```json" stop message
62
+ if (messages && messages.length > 0) {
63
+ if (messages[messages.length - 1].content?.[0].text === "```json") {
64
+ messages.pop();
65
+ }
66
+ }
67
+ return messages ?? [];
68
+ }
69
+ export async function fortmatConversePrompt(segments, schema) {
70
+ //Non-const for concat
71
+ let system = [];
72
+ const safety = [];
73
+ let messages = [];
74
+ for (const segment of segments) {
75
+ const parts = [];
76
+ //File segments
77
+ if (segment.files)
78
+ for (const f of segment.files) {
79
+ const source = await f.getStream();
80
+ let content;
81
+ //Image file - "png" | "jpeg" | "gif" | "webp"
82
+ if (f.mime_type && f.mime_type.startsWith("image")) {
83
+ content = [
84
+ {
85
+ image: {
86
+ format: mimeToImageType(f.mime_type),
87
+ source: { bytes: await readStreamAsUint8Array(source) },
88
+ },
89
+ },
90
+ ];
91
+ //Document file - "pdf | csv | doc | docx | xls | xlsx | html | txt | md"
92
+ }
93
+ else if (f.mime_type && (f.mime_type.startsWith("text") || f.mime_type?.startsWith("application"))) {
94
+ content = [
95
+ { text: f.name },
96
+ {
97
+ document: {
98
+ format: mimeToDocType(f.mime_type),
99
+ name: f.name,
100
+ source: { bytes: await readStreamAsUint8Array(source) },
101
+ },
102
+ },
103
+ ];
104
+ //Video file - "mov | mkv | mp4 | webm | flv | mpeg | mpg | wmv | three_gp"
105
+ }
106
+ else if (f.mime_type && f.mime_type.startsWith("video")) {
107
+ content = [
108
+ {
109
+ video: {
110
+ format: mimeToVideoType(f.mime_type),
111
+ source: { bytes: await readStreamAsUint8Array(source) },
112
+ },
113
+ },
114
+ ];
115
+ //Fallback, send string
116
+ }
117
+ else {
118
+ content = [{ text: await readStreamAsString(source) }];
119
+ }
120
+ parts.push({
121
+ content: content,
122
+ role: roleConversion(segment.role),
123
+ });
124
+ }
125
+ //Text segments
126
+ if (segment.content) {
127
+ parts.push({
128
+ content: [{ text: segment.content }],
129
+ role: roleConversion(segment.role),
130
+ });
131
+ }
132
+ if (segment.role === PromptRole.system) {
133
+ system.push({ text: segment.content });
134
+ }
135
+ else if (segment.role === PromptRole.safety) {
136
+ safety.push({ text: segment.content });
137
+ }
138
+ else if (segment.role !== PromptRole.negative && segment.role !== PromptRole.mask) {
139
+ //User or Assistant
140
+ messages = messages.concat(parts);
141
+ }
142
+ }
143
+ //Conversations must start with a user message
144
+ //Use the system messages if none are provided
145
+ if (messages.length === 0) {
146
+ const systemMessage = converseSystemToMessages(system);
147
+ if (systemMessage?.content && systemMessage.content[0].text) {
148
+ messages.push(systemMessage);
149
+ }
150
+ else {
151
+ throw new Error("Prompt must contain at least one message");
152
+ }
153
+ system = [];
154
+ }
155
+ if (schema) {
156
+ safety.push({ text: "IMPORTANT: " + getJSONSafetyNotice(schema) });
157
+ system = system.concat(safety);
158
+ //prefill the json
159
+ messages.push({
160
+ content: [{ text: "```json" }],
161
+ role: ConversationRole.ASSISTANT,
162
+ });
163
+ }
164
+ messages = converseConcatMessages(messages);
165
+ return {
166
+ modelId: undefined, //required property, but allowed to be undefined
167
+ messages: messages,
168
+ system: system,
169
+ };
170
+ }
171
+ //# sourceMappingURL=converse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converse.js","sourceRoot":"","sources":["../../../src/bedrock/converse.ts"],"names":[],"mappings":"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"}