veto-leash 1.1.0 → 1.1.2
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/dist/compiler/llm.d.ts.map +1 -1
- package/dist/compiler/llm.js +43 -20
- package/dist/compiler/llm.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/compiler/llm.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/compiler/llm.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAkI1C,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,CA8DjB"}
|
package/dist/compiler/llm.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// src/compiler/llm.ts
|
|
2
2
|
import { GoogleGenAI, Type } from '@google/genai';
|
|
3
3
|
import { SYSTEM_PROMPT } from './prompt.js';
|
|
4
|
+
import { COLORS } from '../ui/colors.js';
|
|
4
5
|
// Native JSON schema - GUARANTEES valid output from Gemini
|
|
5
6
|
// Using Type enum for proper schema typing
|
|
6
7
|
const POLICY_SCHEMA = {
|
|
@@ -131,26 +132,48 @@ export async function compileWithLLM(restriction, suggestedAction) {
|
|
|
131
132
|
The user has indicated the action should be: "${suggestedAction}"
|
|
132
133
|
|
|
133
134
|
Restriction: "${restriction}"`;
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
135
|
+
const MAX_RETRIES = 4;
|
|
136
|
+
const INITIAL_DELAY = 4000;
|
|
137
|
+
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
138
|
+
try {
|
|
139
|
+
const response = await client.models.generateContent({
|
|
140
|
+
model: 'gemini-2.0-flash',
|
|
141
|
+
contents: prompt,
|
|
142
|
+
config: {
|
|
143
|
+
temperature: 0,
|
|
144
|
+
maxOutputTokens: 512,
|
|
145
|
+
responseMimeType: 'application/json',
|
|
146
|
+
responseSchema: POLICY_SCHEMA,
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
const text = response.text;
|
|
150
|
+
if (!text) {
|
|
151
|
+
throw new Error('Empty response from Gemini');
|
|
152
|
+
}
|
|
153
|
+
const parsed = JSON.parse(text);
|
|
154
|
+
// Override action with suggested action if not present
|
|
155
|
+
if (!parsed.action) {
|
|
156
|
+
parsed.action = suggestedAction;
|
|
157
|
+
}
|
|
158
|
+
return parsed;
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
if (attempt === MAX_RETRIES)
|
|
162
|
+
throw error;
|
|
163
|
+
// Check for 429 Resource Exhausted or 503 Service Unavailable
|
|
164
|
+
const isRateLimit = error.status === 429 ||
|
|
165
|
+
error.message?.includes('429') ||
|
|
166
|
+
error.message?.includes('RESOURCE_EXHAUSTED');
|
|
167
|
+
const isServerOverload = error.status === 503 || error.message?.includes('503');
|
|
168
|
+
if (!isRateLimit && !isServerOverload)
|
|
169
|
+
throw error;
|
|
170
|
+
// Calculate delay with jitter: delay * 2^attempt + random(0-1000ms)
|
|
171
|
+
const delay = INITIAL_DELAY * Math.pow(2, attempt) + Math.random() * 1000;
|
|
172
|
+
const seconds = Math.round(delay / 1000);
|
|
173
|
+
console.log(`\n${COLORS.warning}Rate limit exceeded. Retrying in ${seconds}s...${COLORS.reset} (Attempt ${attempt + 1}/${MAX_RETRIES})`);
|
|
174
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
175
|
+
}
|
|
153
176
|
}
|
|
154
|
-
|
|
177
|
+
throw new Error('Max retries exceeded');
|
|
155
178
|
}
|
|
156
179
|
//# sourceMappingURL=llm.js.map
|
package/dist/compiler/llm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/compiler/llm.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/compiler/llm.ts"],"names":[],"mappings":"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"}
|