@llumiverse/drivers 0.23.0 → 0.24.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.
- package/README.md +141 -218
- package/lib/cjs/azure/azure_foundry.js +46 -2
- package/lib/cjs/azure/azure_foundry.js.map +1 -1
- package/lib/cjs/bedrock/index.js +140 -15
- package/lib/cjs/bedrock/index.js.map +1 -1
- package/lib/cjs/groq/index.js +115 -85
- package/lib/cjs/groq/index.js.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/openai/index.js +310 -114
- package/lib/cjs/openai/index.js.map +1 -1
- package/lib/cjs/openai/openai_compatible.js +62 -0
- package/lib/cjs/openai/openai_compatible.js.map +1 -0
- package/lib/cjs/openai/openai_format.js +32 -39
- package/lib/cjs/openai/openai_format.js.map +1 -1
- package/lib/cjs/vertexai/index.js +147 -0
- package/lib/cjs/vertexai/index.js.map +1 -1
- package/lib/cjs/vertexai/models/claude.js +88 -2
- package/lib/cjs/vertexai/models/claude.js.map +1 -1
- package/lib/cjs/vertexai/models/gemini.js +59 -20
- package/lib/cjs/vertexai/models/gemini.js.map +1 -1
- package/lib/cjs/xai/index.js +10 -16
- package/lib/cjs/xai/index.js.map +1 -1
- package/lib/esm/azure/azure_foundry.js +46 -2
- package/lib/esm/azure/azure_foundry.js.map +1 -1
- package/lib/esm/bedrock/index.js +141 -16
- package/lib/esm/bedrock/index.js.map +1 -1
- package/lib/esm/groq/index.js +115 -85
- package/lib/esm/groq/index.js.map +1 -1
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/openai/index.js +311 -115
- package/lib/esm/openai/index.js.map +1 -1
- package/lib/esm/openai/openai_compatible.js +55 -0
- package/lib/esm/openai/openai_compatible.js.map +1 -0
- package/lib/esm/openai/openai_format.js +32 -39
- package/lib/esm/openai/openai_format.js.map +1 -1
- package/lib/esm/vertexai/index.js +148 -1
- package/lib/esm/vertexai/index.js.map +1 -1
- package/lib/esm/vertexai/models/claude.js +87 -2
- package/lib/esm/vertexai/models/claude.js.map +1 -1
- package/lib/esm/vertexai/models/gemini.js +60 -21
- package/lib/esm/vertexai/models/gemini.js.map +1 -1
- package/lib/esm/xai/index.js +10 -16
- package/lib/esm/xai/index.js.map +1 -1
- package/lib/types/azure/azure_foundry.d.ts +7 -5
- package/lib/types/azure/azure_foundry.d.ts.map +1 -1
- package/lib/types/bedrock/index.d.ts +5 -0
- package/lib/types/bedrock/index.d.ts.map +1 -1
- package/lib/types/groq/index.d.ts.map +1 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/openai/index.d.ts +13 -7
- package/lib/types/openai/index.d.ts.map +1 -1
- package/lib/types/openai/openai_compatible.d.ts +26 -0
- package/lib/types/openai/openai_compatible.d.ts.map +1 -0
- package/lib/types/openai/openai_format.d.ts +4 -2
- package/lib/types/openai/openai_format.d.ts.map +1 -1
- package/lib/types/vertexai/index.d.ts +11 -0
- package/lib/types/vertexai/index.d.ts.map +1 -1
- package/lib/types/vertexai/models/claude.d.ts +8 -0
- package/lib/types/vertexai/models/claude.d.ts.map +1 -1
- package/lib/types/vertexai/models/gemini.d.ts +1 -1
- package/lib/types/vertexai/models/gemini.d.ts.map +1 -1
- package/lib/types/xai/index.d.ts +2 -3
- package/lib/types/xai/index.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/azure/azure_foundry.ts +56 -7
- package/src/bedrock/index.ts +188 -24
- package/src/groq/index.ts +120 -94
- package/src/index.ts +1 -0
- package/src/openai/index.ts +363 -136
- package/src/openai/openai_compatible.ts +74 -0
- package/src/openai/openai_format.ts +44 -54
- package/src/vertexai/index.ts +186 -0
- package/src/vertexai/models/claude.ts +97 -2
- package/src/vertexai/models/gemini.ts +78 -27
- package/src/xai/index.ts +10 -17
package/README.md
CHANGED
|
@@ -1,300 +1,223 @@
|
|
|
1
|
-
# Llumiverse - Universal LLM
|
|
1
|
+
# Llumiverse - The Universal, Lightweight LLM Driver
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
[](https://badge.fury.io/js/%40llumiverse%2Fcore)
|
|
5
5
|
[](https://www.apache.org/licenses/LICENSE-2.0)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**Llumiverse** is the unified connectivity layer for the Large Language Model ecosystem. It provides a robust, modular, and strongly-typed interface for interacting with almost any AI provider in Node.js, Bun, and TypeScript environments.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
> **Think of it as the "JDBC" or "ODBC" for LLMs.**
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
It solely focuses on **abstracting the connection and execution protocol**, letting you switch providers with zero code changes. It does **not** enforce prompt templating, rigid chain structures, or "magic" orchestration logic. You build the application; we handle the plumbing.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
| --- | :-: | :-: | :-: | :-: | :-: |
|
|
15
|
-
| AWS Bedrock | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
16
|
-
| Azure OpenAI | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
17
|
-
| Google Vertex AI | ✅ | ✅ | ✅ | ✅ | By Request |
|
|
18
|
-
| Groq | ✅ | ✅ | ✅ | N/A | N/A |
|
|
19
|
-
| HuggingFace Inference Endpoints | ✅ | ✅ | N/A | N/A | N/A |
|
|
20
|
-
| IBM WatsonX | ✅ | ✅ | ✅ | N/A | By Request |
|
|
21
|
-
| Mistral AI | ✅ | ✅ | ✅ | N/A | By Request |
|
|
22
|
-
| OpenAI | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
23
|
-
| Replicate | ✅ | ✅ | ✅ | N/A | ✅ |
|
|
24
|
-
| Together AI| ✅ | ✅ | ✅ | N/A | By Request |
|
|
13
|
+
### Why Llumiverse?
|
|
25
14
|
|
|
26
|
-
|
|
15
|
+
* **🚫 No Vendor Lock-in:** Switch from OpenAI to Vertex AI to Bedrock in minutes.
|
|
16
|
+
* **🧩 Modular & Lightweight:** Install only what you need. Zero bloat.
|
|
17
|
+
* **🛡️ Type-Safe:** First-class TypeScript support with normalized interfaces for completion, streaming, and tool use.
|
|
18
|
+
* **⚡ Universal Support:** Works in Node.js, serverless functions, and Bun.
|
|
27
19
|
|
|
20
|
+
---
|
|
28
21
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
* node v22+, or bun 1.0+
|
|
22
|
+
### Supported Platforms
|
|
32
23
|
|
|
33
|
-
|
|
24
|
+
| Provider | Completion | Chat | Streaming | Multimodal | Tool Calling | Embeddings |
|
|
25
|
+
| :--- | :-: | :-: | :-: | :-: | :-: | :-: |
|
|
26
|
+
| **AWS Bedrock** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
27
|
+
| **Azure Foundry** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
28
|
+
| **Azure OpenAI** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
29
|
+
| **Google Vertex AI** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
30
|
+
| **Groq** | ✅ | ✅ | ✅ | N/A | ✅ | N/A |
|
|
31
|
+
| **HuggingFace** | ✅ | ✅ | ✅ | N/A | N/A | N/A |
|
|
32
|
+
| **IBM WatsonX** | ✅ | ✅ | ✅ | N/A | N/A | ✅ |
|
|
33
|
+
| **Mistral AI** | ✅ | ✅ | ✅ | N/A | ✅ | ✅ |
|
|
34
|
+
| **OpenAI** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
35
|
+
| **OpenAI Compatible** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
36
|
+
| **Replicate** | ✅ | ✅ | ✅ | N/A | N/A | N/A |
|
|
37
|
+
| **Together AI** | ✅ | ✅ | ✅ | N/A | N/A | N/A |
|
|
38
|
+
| **xAI (Grok)** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
34
39
|
|
|
35
|
-
|
|
40
|
+
---
|
|
36
41
|
|
|
37
|
-
|
|
38
|
-
npm install @llumiverse/core @llumiverse/drivers
|
|
39
|
-
```
|
|
42
|
+
### Llumiverse vs. The Rest
|
|
40
43
|
|
|
41
|
-
|
|
44
|
+
**Vs. LangChain / LlamaIndex:**
|
|
45
|
+
These are **application frameworks** that provide high-level abstractions for chains, memory, and RAG. Llumiverse is a **driver** library. It operates at a lower level.
|
|
46
|
+
* *Use Llumiverse if:* You want full control over your prompt logic, you want to build your own custom framework, or you simply need a clean, unified way to call an API without the weight of a massive dependency tree.
|
|
47
|
+
* *Use LangChain if:* You want pre-built "chains" and are okay with higher complexity and abstraction overhead.
|
|
42
48
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
3. If you want to develop a new llumiverse driver for an unsupported LLM provider you only need to install `@llumiverse/core`
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
npm install @llumiverse/core
|
|
51
|
-
```
|
|
49
|
+
**Vs. Vercel AI SDK:**
|
|
50
|
+
Vercel's SDK is fantastic for frontend/full-stack React/Next.js applications.
|
|
51
|
+
* *Use Llumiverse if:* You are building backend services, background workers, CLI tools, or generic Node.js applications where frontend-specific hooks aren't relevant. Llumiverse is environment-agnostic.
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
---
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
## Requirements
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
* Node.js 22+
|
|
58
|
+
* Bun 1.0+ (experimental support)
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
import { OpenAIDriver } from "@llumiverse/drivers";
|
|
60
|
+
## Installation
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
});
|
|
62
|
+
**For most use cases (recommended):**
|
|
63
|
+
```bash
|
|
64
|
+
npm install @llumiverse/core @llumiverse/drivers
|
|
66
65
|
```
|
|
67
66
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
In this example, we will instantiate the Bedrock driver using credentials from the Shared Credentials File (i.e. ~/.aws/credentials).
|
|
71
|
-
Learn more on how to [setup AWS credentials in node](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html).
|
|
67
|
+
* `@llumiverse/core`: The interfaces, types, and base abstractions.
|
|
68
|
+
* `@llumiverse/drivers`: The concrete implementations for all supported providers.
|
|
72
69
|
|
|
73
|
-
|
|
74
|
-
import { BedrockDriver } from "@llumiverse/drivers";
|
|
70
|
+
## Quick Start
|
|
75
71
|
|
|
76
|
-
|
|
77
|
-
region: 'us-west-2'
|
|
78
|
-
});
|
|
79
|
-
```
|
|
72
|
+
### 1. Initialize a Driver
|
|
80
73
|
|
|
81
|
-
|
|
74
|
+
Each driver takes normalized options but may require specific credentials (API keys, regions, project IDs).
|
|
82
75
|
|
|
83
|
-
|
|
76
|
+
```typescript
|
|
77
|
+
// OpenAI
|
|
78
|
+
import { OpenAIDriver } from "@llumiverse/drivers";
|
|
79
|
+
const driver = new OpenAIDriver({ apiKey: process.env.OPENAI_API_KEY });
|
|
84
80
|
|
|
85
|
-
|
|
81
|
+
// Google Vertex AI
|
|
86
82
|
import { VertexAIDriver } from "@llumiverse/drivers";
|
|
87
83
|
const driver = new VertexAIDriver({
|
|
88
|
-
project:
|
|
84
|
+
project: process.env.GOOGLE_PROJECT_ID,
|
|
89
85
|
region: 'us-central1'
|
|
90
86
|
});
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Replicate driver
|
|
94
|
-
|
|
95
|
-
```javascript
|
|
96
|
-
import { ReplicateDriver } from "@llumiverse/drivers";
|
|
97
|
-
|
|
98
|
-
const driver = new ReplicateDriver({
|
|
99
|
-
apiKey: "YOUR_REPLICATE_API_KEY"
|
|
100
|
-
});
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### TogetherAI driver
|
|
104
|
-
|
|
105
|
-
```javascript
|
|
106
|
-
import { TogetherAIDriver } from "@llumiverse/drivers";
|
|
107
|
-
|
|
108
|
-
const driver = new TogetherAIDriver({
|
|
109
|
-
apiKey: "YOUR_TOGETHER_AI_API_KEY"
|
|
110
|
-
});
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### HuggingFace driver
|
|
114
|
-
|
|
115
|
-
```javascript
|
|
116
|
-
import { HuggingFaceIEDriver } from "@llumiverse/drivers";
|
|
117
|
-
|
|
118
|
-
const driver = new HuggingFaceIEDriver({
|
|
119
|
-
apiKey: "YOUR_HUGGINGFACE_API_KEY",
|
|
120
|
-
endpoint_url: "YOUR_HUGGINGFACE_ENDPOINT",
|
|
121
|
-
});
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### Listing available models
|
|
125
|
-
|
|
126
|
-
Once you instantiated a driver you can list the available models. Some drivers accept an argument for the `listModel` method to search for matching models. Some drivers like for example `replicate` are listing a preselected set of models. To list other models you need to perform a search by giving a text query as an argument.
|
|
127
|
-
|
|
128
|
-
In the following example, we are assuming that we have already instantiated a driver, which is available as the `driver` variable.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
```javascript
|
|
132
|
-
import { AIModel } from "@llumiverse/core";
|
|
133
|
-
|
|
134
|
-
// instantiate the desired driver
|
|
135
|
-
const driver = createDriverInstance();
|
|
136
87
|
|
|
137
|
-
//
|
|
138
|
-
|
|
88
|
+
// AWS Bedrock (uses local AWS credentials automatically)
|
|
89
|
+
import { BedrockDriver } from "@llumiverse/drivers";
|
|
90
|
+
const driver = new BedrockDriver({ region: 'us-west-2' });
|
|
139
91
|
|
|
140
|
-
|
|
141
|
-
for (const model of models) {
|
|
142
|
-
console.log(`${model.name} [${model.id}]`);
|
|
143
|
-
}
|
|
92
|
+
// ... and many more!
|
|
144
93
|
```
|
|
145
94
|
|
|
146
|
-
### Execute a
|
|
147
|
-
|
|
148
|
-
To execute a prompt we need to create a prompt in the LLumiverse format and pass it to the driver `execute` method.
|
|
149
|
-
|
|
150
|
-
The prompt format is very similar to the OpenAI prompt format. It is an array of messages with a `content` and a `role` property. The roles can be any of `"user" | "system" | "assistant" | "safety"`.
|
|
151
|
-
|
|
152
|
-
The `safety` role is similar to `system` but has a greater precedence over the other messages. Thus, it will override any `user` or `system` message that is saying something contrary to the `safety` message.
|
|
153
|
-
|
|
154
|
-
In order to execute a prompt we also need to specify a target model, given a model ID which is known by the target LLM. We may also specify execution options like `temperature`, `max_tokens` etc.
|
|
155
|
-
|
|
156
|
-
In the following example, we are again assuming that we have already instantiated a driver, which is available as the `driver` variable.
|
|
157
|
-
|
|
158
|
-
Also, we are assuming the model ID we want to target is available as the `model` variable. To get a list of the existing models (and their IDs) you can list the model as we shown in the previous example
|
|
159
|
-
|
|
160
|
-
Here is an example of model IDs depending on the driver type:
|
|
161
|
-
* OpenAI: `gpt-3.5-turbo`
|
|
162
|
-
* Bedrock: `arn:aws:bedrock:us-west-2::foundation-model/cohere.command-text-v14`
|
|
163
|
-
* VertexAI: `text-bison`
|
|
164
|
-
* Replicate: `meta/llama-2-70b-chat:02e509c789964a7ea8736978a43525956ef40397be9033abf9fd2badfe68c9e3`
|
|
165
|
-
* TogetherAI: `mistralai/Mistral-7B-instruct-v0.1`
|
|
166
|
-
* HuggingFace: `aws-mistral-7b-instruct-v0-1-015`
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
```javascript
|
|
170
|
-
import { PromptRole, PromptSegment } from "@llumiverse/core";
|
|
95
|
+
### 2. Execute a Prompt (Standard)
|
|
171
96
|
|
|
97
|
+
The execution API is normalized. You send a `PromptSegment[]` and get a `Completion` object, regardless of the provider.
|
|
172
98
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
const model = "the-model-id"; // change with your desired model ID
|
|
99
|
+
```typescript
|
|
100
|
+
import { PromptRole } from "@llumiverse/core";
|
|
176
101
|
|
|
177
|
-
//
|
|
178
|
-
const prompt
|
|
102
|
+
// 1. Create a generic prompt
|
|
103
|
+
const prompt = [
|
|
104
|
+
{
|
|
105
|
+
role: PromptRole.system,
|
|
106
|
+
content: "You are a helpful coding assistant."
|
|
107
|
+
},
|
|
179
108
|
{
|
|
180
109
|
role: PromptRole.user,
|
|
181
|
-
content:
|
|
110
|
+
content: "Write a hello world in Python."
|
|
182
111
|
}
|
|
183
|
-
]
|
|
112
|
+
];
|
|
184
113
|
|
|
185
|
-
//
|
|
186
|
-
console.log(`\n# Executing prompt on ${model} model: ${prompt}`);
|
|
114
|
+
// 2. Execute against ANY driver
|
|
187
115
|
const response = await driver.execute(prompt, {
|
|
188
|
-
model,
|
|
189
|
-
temperature: 0.
|
|
116
|
+
model: "gpt-4o", // or "gemini-1.5-pro", "anthropic.claude-3-sonnet-20240229-v1:0", etc.
|
|
117
|
+
temperature: 0.7,
|
|
190
118
|
max_tokens: 1024
|
|
191
119
|
});
|
|
192
120
|
|
|
193
|
-
console.log(
|
|
194
|
-
console.log('# Response took', response.execution_time, 'ms')
|
|
195
|
-
console.log('# Token usage:', response.token_usage);
|
|
121
|
+
console.log(response.result[0].value);
|
|
196
122
|
```
|
|
197
123
|
|
|
124
|
+
### 3. Stream a Response
|
|
198
125
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
In this example, we will execute a prompt and will stream the result to display it on the console as it is returned by the target LLM platform.
|
|
202
|
-
|
|
203
|
-
**Note** that some models don't support streaming. In that case, the driver will simulate a streaming using a single chunk of text corresponding to the entire response.
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
```javascript
|
|
207
|
-
import { PromptRole, PromptSegment } from "@llumiverse/core";
|
|
208
|
-
|
|
209
|
-
// instantiate the desired driver
|
|
210
|
-
const driver = createDriverInstance();
|
|
211
|
-
const model = "the-model-id"; // change with your desired model ID
|
|
212
|
-
|
|
213
|
-
// create the prompt.
|
|
214
|
-
const prompt: PromptSegment[] = [
|
|
215
|
-
{
|
|
216
|
-
role: PromptRole.user,
|
|
217
|
-
content: 'Please, write a short story about winter in Paris, in no more than 512 characters.'
|
|
218
|
-
}
|
|
219
|
-
]
|
|
126
|
+
Streaming is standardized into an `AsyncIterable`.
|
|
220
127
|
|
|
221
|
-
|
|
222
|
-
console.log(`\n# Executing prompt on model ${model} in streaming mode: ${prompt}`);
|
|
128
|
+
```typescript
|
|
223
129
|
const stream = await driver.stream(prompt, {
|
|
224
|
-
model,
|
|
225
|
-
temperature: 0.
|
|
226
|
-
max_tokens: 1024
|
|
130
|
+
model: "gpt-4o",
|
|
131
|
+
temperature: 0.7
|
|
227
132
|
});
|
|
228
133
|
|
|
229
|
-
// print the streaming response as it comes
|
|
230
134
|
for await (const chunk of stream) {
|
|
231
135
|
process.stdout.write(chunk);
|
|
232
136
|
}
|
|
233
137
|
|
|
234
|
-
//
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
console.log('\n# LLM response:', streamingResponse.result)
|
|
238
|
-
console.log('# Response took', streamingResponse.execution_time, 'ms')
|
|
239
|
-
console.log('# Token usage:', streamingResponse.token_usage);
|
|
138
|
+
// Access the full assembled response afterwards if needed
|
|
139
|
+
console.log("\nFull response:", stream.completion.result[0].value);
|
|
240
140
|
```
|
|
241
141
|
|
|
242
|
-
### Generate
|
|
243
|
-
|
|
244
|
-
LLumiverse drivers expose a method to generate vector embeddings for a given text.
|
|
245
|
-
Drivers supporting embeddings as of v0.10.0 are `bedrock`, `openai`, `vertexai`.
|
|
246
|
-
If embeddings are not yet supported the generateEmbeddings method will throws an error.
|
|
142
|
+
### 4. Generate Embeddings
|
|
247
143
|
|
|
248
|
-
|
|
144
|
+
Embeddings are normalized to a simple `{ values: number[] }` structure.
|
|
249
145
|
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
const driver = new VertexAIDriver({
|
|
254
|
-
project: 'your-project-id',
|
|
255
|
-
region: 'us-central1' // your zone
|
|
146
|
+
```typescript
|
|
147
|
+
const embedding = await driver.generateEmbeddings({
|
|
148
|
+
content: "Llumiverse is awesome."
|
|
256
149
|
});
|
|
257
150
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
// print the vector
|
|
261
|
-
console.log('Embeddings: ', v.values);
|
|
151
|
+
console.log(embedding.values); // [0.012, -0.34, ...]
|
|
262
152
|
```
|
|
263
153
|
|
|
264
|
-
|
|
265
|
-
Depending on the driver, the result may contain additional properties.
|
|
154
|
+
## Advanced Features
|
|
266
155
|
|
|
267
|
-
|
|
156
|
+
### Tool Calling (Function Calling)
|
|
268
157
|
|
|
269
|
-
|
|
158
|
+
Llumiverse normalizes tool definitions across providers (OpenAI, Bedrock, Vertex, etc.), allowing you to define tools once and use them anywhere.
|
|
270
159
|
|
|
271
|
-
```
|
|
272
|
-
import {
|
|
160
|
+
```typescript
|
|
161
|
+
import { ToolDefinition } from "@llumiverse/core";
|
|
273
162
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
163
|
+
// 1. Define the tool
|
|
164
|
+
const getWeatherTool: ToolDefinition = {
|
|
165
|
+
name: "get_weather",
|
|
166
|
+
description: "Get the current weather in a given location",
|
|
167
|
+
input_schema: {
|
|
168
|
+
type: "object",
|
|
169
|
+
properties: {
|
|
170
|
+
location: { type: "string" },
|
|
171
|
+
unit: { type: "string", enum: ["celsius", "fahrenheit"] }
|
|
172
|
+
},
|
|
173
|
+
required: ["location"]
|
|
174
|
+
}
|
|
175
|
+
};
|
|
278
176
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
model: "
|
|
282
|
-
|
|
177
|
+
// 2. Execute with tools
|
|
178
|
+
const response = await driver.execute(prompt, {
|
|
179
|
+
model: "gpt-4o",
|
|
180
|
+
tools: [getWeatherTool]
|
|
283
181
|
});
|
|
284
182
|
|
|
285
|
-
//
|
|
286
|
-
|
|
183
|
+
// 3. Handle the tool use
|
|
184
|
+
if (response.tool_use) {
|
|
185
|
+
for (const tool of response.tool_use) {
|
|
186
|
+
console.log(`Executing ${tool.tool_name} with args:`, tool.tool_input);
|
|
187
|
+
// ... call your actual function ...
|
|
188
|
+
}
|
|
189
|
+
}
|
|
287
190
|
```
|
|
288
191
|
|
|
289
|
-
|
|
192
|
+
### Structured Outputs (JSON Schemas)
|
|
290
193
|
|
|
194
|
+
Enforce a specific JSON structure for the response. Llumiverse handles the schema conversion for the underlying provider (e.g., using `response_format` for OpenAI or equivalent techniques for others).
|
|
291
195
|
|
|
292
|
-
|
|
196
|
+
```typescript
|
|
197
|
+
const schema = {
|
|
198
|
+
type: "object",
|
|
199
|
+
properties: {
|
|
200
|
+
sentiment: { type: "string", enum: ["positive", "neutral", "negative"] },
|
|
201
|
+
confidence: { type: "number" }
|
|
202
|
+
},
|
|
203
|
+
required: ["sentiment", "confidence"]
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
const response = await driver.execute(prompt, {
|
|
207
|
+
model: "gpt-4o",
|
|
208
|
+
result_schema: schema
|
|
209
|
+
});
|
|
293
210
|
|
|
294
|
-
|
|
295
|
-
|
|
211
|
+
// The result is automatically parsed
|
|
212
|
+
const data = response.result[0].value;
|
|
213
|
+
console.log(data.sentiment); // "positive"
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Contributing
|
|
296
217
|
|
|
218
|
+
We welcome contributions! Whether it's a new driver, a bug fix, or a docs improvement.
|
|
219
|
+
Please see [CONTRIBUTING.md](https://github.com/vertesia/llumiverse/blob/main/CONTRIBUTING.md) for details.
|
|
297
220
|
|
|
298
221
|
## License
|
|
299
222
|
|
|
300
|
-
|
|
223
|
+
Apache 2.0
|
|
@@ -79,10 +79,12 @@ class AzureFoundryDriver extends core_1.AbstractDriver {
|
|
|
79
79
|
}
|
|
80
80
|
else {
|
|
81
81
|
// Use the chat completions client from the inference operations
|
|
82
|
+
// Convert ResponseInputItem[] to ChatRequestMessage[] for non-OpenAI inference
|
|
83
|
+
const messages = convertToInferenceMessages(prompt);
|
|
82
84
|
const chatClient = this.service.inference.chatCompletions({ apiVersion: this.INFERENCE_API_VERSION });
|
|
83
85
|
response = await chatClient.post({
|
|
84
86
|
body: {
|
|
85
|
-
messages
|
|
87
|
+
messages,
|
|
86
88
|
max_tokens: model_options?.max_tokens,
|
|
87
89
|
model: deploymentName,
|
|
88
90
|
stream: true,
|
|
@@ -112,10 +114,12 @@ class AzureFoundryDriver extends core_1.AbstractDriver {
|
|
|
112
114
|
return stream;
|
|
113
115
|
}
|
|
114
116
|
else {
|
|
117
|
+
// Convert ResponseInputItem[] to ChatRequestMessage[] for non-OpenAI inference
|
|
118
|
+
const messages = convertToInferenceMessages(prompt);
|
|
115
119
|
const chatClient = this.service.inference.chatCompletions({ apiVersion: this.INFERENCE_API_VERSION });
|
|
116
120
|
const response = await chatClient.post({
|
|
117
121
|
body: {
|
|
118
|
-
messages
|
|
122
|
+
messages,
|
|
119
123
|
max_tokens: model_options?.max_tokens,
|
|
120
124
|
model: deploymentName,
|
|
121
125
|
stream: true,
|
|
@@ -385,4 +389,44 @@ function parseAzureFoundryModelId(compositeId) {
|
|
|
385
389
|
function isCompositeModelId(modelId) {
|
|
386
390
|
return modelId.includes('::');
|
|
387
391
|
}
|
|
392
|
+
/**
|
|
393
|
+
* Convert ResponseInputItem[] to ChatRequestMessage[] for Azure AI Inference API
|
|
394
|
+
*/
|
|
395
|
+
function convertToInferenceMessages(items) {
|
|
396
|
+
const messages = [];
|
|
397
|
+
for (const item of items) {
|
|
398
|
+
// Handle EasyInputMessage (has role and content)
|
|
399
|
+
if ('role' in item && 'content' in item) {
|
|
400
|
+
const msg = item;
|
|
401
|
+
let content;
|
|
402
|
+
if (typeof msg.content === 'string') {
|
|
403
|
+
content = msg.content;
|
|
404
|
+
}
|
|
405
|
+
else if (Array.isArray(msg.content)) {
|
|
406
|
+
// Extract text from content array
|
|
407
|
+
content = msg.content
|
|
408
|
+
.filter((part) => part.type === 'input_text')
|
|
409
|
+
.map(part => part.text)
|
|
410
|
+
.join('\n');
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
content = '';
|
|
414
|
+
}
|
|
415
|
+
messages.push({
|
|
416
|
+
role: msg.role,
|
|
417
|
+
content
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
// Handle function_call_output
|
|
421
|
+
else if ('type' in item && item.type === 'function_call_output') {
|
|
422
|
+
const output = item;
|
|
423
|
+
messages.push({
|
|
424
|
+
role: 'tool',
|
|
425
|
+
content: typeof output.output === 'string' ? output.output : JSON.stringify(output.output),
|
|
426
|
+
tool_call_id: output.call_id,
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
return messages;
|
|
431
|
+
}
|
|
388
432
|
//# sourceMappingURL=azure_foundry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure_foundry.js","sourceRoot":"","sources":["../../../src/azure/azure_foundry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"azure_foundry.js","sourceRoot":"","sources":["../../../src/azure/azure_foundry.ts"],"names":[],"mappings":";;;AA8bA,4DAcC;AAED,gDAEC;AAhdD,8CAAkG;AAClG,2CAA6N;AAC7N,oDAAuF;AACvF,2DAAwD;AAOxD,+DAA8D;AAC9D,8CAAwE;AACxE,iEAA8E;AAyB9E,MAAa,kBAAmB,SAAQ,qBAA8D;IAClG,OAAO,CAAkB;IAChB,QAAQ,GAAG,gBAAS,CAAC,aAAa,CAAC;IAE5C,kBAAkB,GAAG,oBAAoB,CAAC;IAC1C,qBAAqB,GAAG,oBAAoB,CAAC;IAE7C,YAAY,IAA+B;QACvC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,YAAY,GAAG,mDAAgC,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC7B,yDAAyD;gBACzD,IAAI,CAAC,oBAAoB,GAAG,IAAI,iCAAsB,EAAE,CAAC;YAC7D,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,+CAA+C,CAAC,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QAED,8EAA8E;QAC9E,IAAI,CAAC,OAAO,GAAG,IAAI,6BAAe,CAC9B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,oBAAoB,CAC5B,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;YAC1C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sEAAsE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9G,CAAC;IACL,CAAC;IAED;;OAEG;IACH,uBAAuB;QACnB,MAAM,KAAK,GAAG,+BAA+B,CAAC;QAC9C,MAAM,oBAAoB,GAAG,IAAA,iCAAsB,EAAC,IAAI,iCAAsB,EAAE,EAAE,KAAK,CAAC,CAAC;QACzF,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAa;QAClC,MAAM,EAAE,cAAc,EAAE,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAE3D,IAAI,UAAU,GAAG,SAAS,CAAC;QAC3B,sCAAsC;QACtC,IAAI,CAAC;YACD,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,cAAc,QAAQ,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,EAAE,8BAA8B,cAAc,aAAa,CAAC,CAAC;QACtG,CAAC;QAED,OAAQ,UAA8B,CAAC,cAAc,IAAI,QAAQ,CAAC;IACtE,CAAC;IAES,SAAS,CAAC,QAA0B;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAA2B,EAAE,OAAyB;QAC9E,MAAM,EAAE,cAAc,EAAE,GAAG,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAoB,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE9D,IAAI,QAAQ,CAAC;QACb,IAAI,QAAQ,EAAE,CAAC;YACX,gDAAgD;YAChD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACtG,MAAM,SAAS,GAAG,IAAI,mCAAiB,CAAC,WAAW,CAAC,CAAC;YACrD,oCAAoC;YACpC,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;YAC9D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAChF,OAAO,QAAQ,CAAC;QAEpB,CAAC;aAAM,CAAC;YACJ,gEAAgE;YAChE,+EAA+E;YAC/E,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACtG,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;gBAC7B,IAAI,EAAE;oBACF,QAAQ;oBACR,UAAU,EAAE,aAAa,EAAE,UAAU;oBACrC,KAAK,EAAE,cAAc;oBACrB,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,aAAa,EAAE,WAAW;oBACvC,KAAK,EAAE,aAAa,EAAE,KAAK;oBAC3B,iBAAiB,EAAE,aAAa,EAAE,iBAAiB;oBACnD,gBAAgB,EAAE,aAAa,EAAE,gBAAgB;oBACjD,IAAI,EAAE,aAAa,EAAE,aAAa;iBACrC;aACJ,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,iDAAiD,CAAC,CAAC;gBACnF,MAAM,IAAI,KAAK,CAAC,8CAA8C,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACvG,CAAC;YAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAA6B,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,MAA2B,EAAE,OAAyB;QACpF,MAAM,EAAE,cAAc,EAAE,GAAG,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAoB,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE9D,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACtG,MAAM,SAAS,GAAG,IAAI,mCAAiB,CAAC,WAAW,CAAC,CAAC;YACrD,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,2BAA2B,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACpF,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,+EAA+E;YAC/E,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACtG,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE;oBACF,QAAQ;oBACR,UAAU,EAAE,aAAa,EAAE,UAAU;oBACrC,KAAK,EAAE,cAAc;oBACrB,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,aAAa,EAAE,WAAW;oBACvC,KAAK,EAAE,aAAa,EAAE,KAAK;oBAC3B,iBAAiB,EAAE,aAAa,EAAE,iBAAiB;oBACnD,gBAAgB,EAAE,aAAa,EAAE,gBAAgB;oBACjD,IAAI,EAAE,aAAa,EAAE,aAAa;iBACrC;aACJ,CAAC,CAAC,YAAY,EAAE,CAAC;YAElB,oEAAoE;YACpE,+DAA+D;YAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAA4B,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC5B,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,8DAA8D,QAAQ,CAAC,MAAM,OAAO,CAAC,CAAC;YAC1G,CAAC;YAED,MAAM,SAAS,GAAG,IAAA,0BAAe,EAAC,MAAM,CAAC,CAAC;YAE1C,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,CAAC,qBAAqB,CAAC,SAAc;QAC/C,IAAI,CAAC;YACD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAM;gBACV,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;wBAC9E,SAAS;oBACb,CAAC;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,SAAS;oBACb,CAAC;oBACD,MAAM,KAAK,GAA0B;wBACjC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE;wBACnC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC;wBAC7D,WAAW,EAAE;4BACT,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa;4BACjC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB;4BACrC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY;yBAClC;qBACJ,CAAC;oBAEF,MAAM,KAAK,CAAC;gBAChB,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,qDAAqD,CAAC,CAAC;oBACxF,SAAS;gBACb,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,kCAAkC,CAAC,CAAC;YACjE,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAGO,uBAAuB,CAAC,MAA6B;QACzD,MAAM,SAAS,GAAG;YACd,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa;YACnC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,iBAAiB;YACvC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY;SACpC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,wCAAwC,CAAC,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;QAE7C,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,uCAAuC,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,UAAU,GAAe;YAC3B,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC;SAChE,CAAC;QAEF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAA6B,EAAE,EAAE,CAAC,CAAC;gBACpE,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI;gBAC9B,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;aAClF,CAAC,CAAC,CAAC;QACR,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,mBAAmB,CAAC,MAAiC;QACzD,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,iDAAiD;QACjD,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC;YAC3B,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC/B,KAAK,YAAY,CAAC,CAAC,OAAO,UAAU,CAAC;YACrC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB;QACpB,IAAI,CAAC;YACD,qDAAqD;YACrD,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5D,IAAI,cAAc,GAAG,KAAK,CAAC;YAE3B,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;gBACjD,cAAc,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC/F,MAAM,CAAC,mDAAmD;YAC9D,CAAC;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,6CAA6C,CAAC,CAAC;YAC5E,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAA0B;QAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;QAClH,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,OAA0B;QACnD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,GAAG,wBAAwB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAEzE,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACD,0DAA0D;YAC1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACvG,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE;oBACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;oBAClE,KAAK,EAAE,cAAc;iBACxB;aACJ,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,sCAAsC,CAAC,CAAC;YACrE,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,IAAA,2BAAY,EAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QAC9H,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;QACtD,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,CAAC;QAED,OAAO;YACH,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;SAC7B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAA0B;QACpD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,GAAG,wBAAwB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAEzE,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACD,0DAA0D;YAC1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACvG,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE;oBACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;oBACrE,KAAK,EAAE,cAAc;iBACxB;aACJ,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,uCAAuC,CAAC,CAAC;YACtE,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,IAAI,IAAA,2BAAY,EAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QAC/H,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;QACtD,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,CAAC;QACD,OAAO;YACH,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;SAC7B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,MAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAClC,oDAAoD;YACpD,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC;QAC5C,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAwC;QACtD,IAAI,mBAAmB,CAAC;QACxB,IAAI,CAAC;YACD,uDAAuD;YACvD,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,6BAA6B,CAAC,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,KAAK,MAAM,UAAU,IAAI,IAAI,EAAE,CAAC;gBAC5B,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QAED,IAAI,gBAAgB,GAAsB,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE;YACrF,OAAO,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE,CAAC;YACT,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5C,mDAAmD;YACnD,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAExD,MAAM,eAAe,GAAG,IAAA,2BAAoB,EAAC,KAAK,CAAC,SAAS,EAAE,gBAAS,CAAC,aAAa,CAAC,CAAC;YACvF,OAAO;gBACH,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,YAAY,EAAE;gBACzD,OAAO,EAAE,KAAK,CAAC,YAAY;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,KAAK,CAAC,cAAc;gBAC3B,gBAAgB,EAAE,IAAA,6BAAsB,EAAC,eAAe,CAAC,KAAK,CAAC;gBAC/D,iBAAiB,EAAE,IAAA,6BAAsB,EAAC,eAAe,CAAC,MAAM,CAAC;gBACjE,YAAY,EAAE,eAAe,CAAC,YAAY;aACnB,CAAC;QAChC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhE,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAtZD,gDAsZC;AAED,6CAA6C;AAC7C,SAAgB,wBAAwB,CAAC,WAAmB;IACxD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACH,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;YACxB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;SACtB,CAAC;IACN,CAAC;IAED,2EAA2E;IAC3E,OAAO;QACH,cAAc,EAAE,WAAW;QAC3B,SAAS,EAAE,WAAW;KACzB,CAAC;AACN,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,KAA0B;IAC1D,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,iDAAiD;QACjD,IAAI,MAAM,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,IAAwB,CAAC;YACrC,IAAI,OAAe,CAAC;YACpB,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC1B,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,kCAAkC;gBAClC,OAAO,GAAG,GAAG,CAAC,OAAO;qBAChB,MAAM,CAAC,CAAC,IAAI,EAA8C,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;qBACxF,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;qBACtB,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,EAAE,CAAC;YACjB,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,CAAC,IAAuC;gBACjD,OAAO;aACV,CAAC,CAAC;QACP,CAAC;QACD,8BAA8B;aACzB,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,IAA6D,CAAC;YAC7E,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC1F,YAAY,EAAE,MAAM,CAAC,OAAO;aACT,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC"}
|