leap360 1.2.3 → 1.4.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/dist/cli.js +361 -5
- package/dist/cli.js.map +1 -1
- package/dist/sdk.d.ts +67 -27
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +167 -80
- package/dist/sdk.js.map +1 -1
- package/package.json +10 -6
package/dist/cli.js
CHANGED
|
@@ -14,7 +14,7 @@ const program = new Command();
|
|
|
14
14
|
program
|
|
15
15
|
.name('leap360')
|
|
16
16
|
.description('Leap360 AI Governance SDK CLI')
|
|
17
|
-
.version('1.
|
|
17
|
+
.version('1.4.0');
|
|
18
18
|
// ─── Command: setup ────────────────────────────────────────────────────────
|
|
19
19
|
program
|
|
20
20
|
.command('setup')
|
|
@@ -22,7 +22,7 @@ program
|
|
|
22
22
|
.action(async () => {
|
|
23
23
|
console.log('\n🔐 Leap360 Setup\n');
|
|
24
24
|
console.log(' Welcome! Let\'s configure your API key.\n');
|
|
25
|
-
console.log(' Get your API key from:
|
|
25
|
+
console.log(' Get your API key from: \x1b[1m\x1b[34mhttps://leap360.ai/dashboard/\x1b[0m → Settings\n');
|
|
26
26
|
const rl = readline.createInterface({
|
|
27
27
|
input: process.stdin,
|
|
28
28
|
output: process.stdout
|
|
@@ -58,14 +58,47 @@ program
|
|
|
58
58
|
if (fs.existsSync(envPath)) {
|
|
59
59
|
envContent = fs.readFileSync(envPath, 'utf8');
|
|
60
60
|
}
|
|
61
|
-
//
|
|
61
|
+
// ── Auto-detect bundler/framework to write the correct env var prefix ──
|
|
62
|
+
// Vite requires VITE_, Next.js requires NEXT_PUBLIC_, CRA requires REACT_APP_
|
|
63
|
+
let browserPrefix = '';
|
|
64
|
+
let bundlerName = 'Node.js / backend';
|
|
65
|
+
const cwd = process.cwd();
|
|
66
|
+
const packageJsonPath = path.join(cwd, 'package.json');
|
|
67
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
68
|
+
try {
|
|
69
|
+
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
70
|
+
const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
71
|
+
if (allDeps['vite'] || allDeps['@vitejs/plugin-react']) {
|
|
72
|
+
browserPrefix = 'VITE_';
|
|
73
|
+
bundlerName = 'Vite';
|
|
74
|
+
}
|
|
75
|
+
else if (allDeps['next']) {
|
|
76
|
+
browserPrefix = 'NEXT_PUBLIC_';
|
|
77
|
+
bundlerName = 'Next.js';
|
|
78
|
+
}
|
|
79
|
+
else if (allDeps['react-scripts']) {
|
|
80
|
+
browserPrefix = 'REACT_APP_';
|
|
81
|
+
bundlerName = 'Create React App';
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch { /* ignore parse errors */ }
|
|
85
|
+
}
|
|
86
|
+
// Always write the plain LEAP360_ vars (for server-side / Node use)
|
|
62
87
|
const leapVars = [
|
|
63
88
|
`LEAP360_API_KEY=${apiKey}`,
|
|
64
89
|
`LEAP360_PROJECT_ID=${projectId}`,
|
|
65
90
|
`LEAP360_SERVICE_NAME=${serviceName}`,
|
|
66
91
|
`LEAP360_USER_ID=${userId}`,
|
|
67
92
|
];
|
|
68
|
-
|
|
93
|
+
// If a browser bundler was detected, also write the prefixed vars
|
|
94
|
+
const browserVars = browserPrefix ? [
|
|
95
|
+
`${browserPrefix}LEAP360_API_KEY=${apiKey}`,
|
|
96
|
+
`${browserPrefix}LEAP360_PROJECT_ID=${projectId}`,
|
|
97
|
+
`${browserPrefix}LEAP360_SERVICE_NAME=${serviceName}`,
|
|
98
|
+
`${browserPrefix}LEAP360_USER_ID=${userId}`,
|
|
99
|
+
] : [];
|
|
100
|
+
const allVars = [...leapVars, ...browserVars];
|
|
101
|
+
for (const v of allVars) {
|
|
69
102
|
const key = v.split('=')[0];
|
|
70
103
|
if (envContent.includes(key + '=')) {
|
|
71
104
|
envContent = envContent.replace(new RegExp(`${key}=.*`, 'g'), v);
|
|
@@ -76,10 +109,333 @@ program
|
|
|
76
109
|
}
|
|
77
110
|
// Note: Customers should provide their own GEMINI_API_KEY via their environment
|
|
78
111
|
fs.writeFileSync(envPath, envContent.trim() + '\n');
|
|
112
|
+
if (browserPrefix) {
|
|
113
|
+
console.log(`\n \x1b[36m📦 Detected ${bundlerName} — also wrote ${browserPrefix}LEAP360_* vars for browser bundle\x1b[0m`);
|
|
114
|
+
}
|
|
79
115
|
console.log('\n✅ Configuration saved!\n');
|
|
80
116
|
console.log(` → ~/.leap360/config.json (SDK config)`);
|
|
81
117
|
console.log(` → ${envPath} (environment variables)\n`);
|
|
82
|
-
|
|
118
|
+
// ── Generate .leap360/ folder with integration guides ──────────────
|
|
119
|
+
const guideDir = path.join(process.cwd(), '.leap360');
|
|
120
|
+
try {
|
|
121
|
+
fs.mkdirSync(guideDir, { recursive: true });
|
|
122
|
+
}
|
|
123
|
+
catch { /* exists */ }
|
|
124
|
+
// README.md — main guide
|
|
125
|
+
const envVarNote = browserPrefix
|
|
126
|
+
? `# Browser bundle (${bundlerName}) — use these in your frontend code\n${browserPrefix}LEAP360_API_KEY=${apiKey}\n${browserPrefix}LEAP360_PROJECT_ID=${projectId}\n${browserPrefix}LEAP360_SERVICE_NAME=${serviceName}\n\n# Server-side / Node — use these in backend/functions\nLEAP360_API_KEY=${apiKey}\nLEAP360_PROJECT_ID=${projectId}\nLEAP360_SERVICE_NAME=${serviceName}`
|
|
127
|
+
: `LEAP360_API_KEY=${apiKey}\nLEAP360_PROJECT_ID=${projectId}\nLEAP360_SERVICE_NAME=${serviceName}`;
|
|
128
|
+
const envVarRef = browserPrefix
|
|
129
|
+
? `import.meta.env.${browserPrefix}LEAP360_API_KEY`
|
|
130
|
+
: 'process.env.LEAP360_API_KEY';
|
|
131
|
+
const envVarProjectRef = browserPrefix
|
|
132
|
+
? `import.meta.env.${browserPrefix}LEAP360_PROJECT_ID`
|
|
133
|
+
: 'process.env.LEAP360_PROJECT_ID';
|
|
134
|
+
const envVarServiceRef = browserPrefix
|
|
135
|
+
? `import.meta.env.${browserPrefix}LEAP360_SERVICE_NAME`
|
|
136
|
+
: 'process.env.LEAP360_SERVICE_NAME';
|
|
137
|
+
const readme = `# Leap360 AI Governance — Integration Guide
|
|
138
|
+
|
|
139
|
+
Your project is connected to Leap360. Every AI call is now traced, governed,
|
|
140
|
+
and monitored in real time — **across all LLM providers and models**.
|
|
141
|
+
|
|
142
|
+
**Dashboard:** https://leap360.ai/dashboard/
|
|
143
|
+
**API Key:** ${apiKey.substring(0, 20)}...
|
|
144
|
+
**Project:** ${projectId}
|
|
145
|
+
**Service:** ${serviceName}
|
|
146
|
+
**Bundler:** ${bundlerName}
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## 🚀 Quick Start: Add Leap360 to Your App in 30 Seconds
|
|
151
|
+
|
|
152
|
+
### Copy this prompt and send it to your AI assistant (GitHub Copilot, Claude, ChatGPT, etc.)
|
|
153
|
+
|
|
154
|
+
\`\`\`
|
|
155
|
+
I need to integrate Leap360 AI Governance into my application.
|
|
156
|
+
Leap360 traces, governs, and monitors all AI calls in real time
|
|
157
|
+
across any LLM provider (OpenAI, Anthropic, Google Gemini, Mistral, etc.).
|
|
158
|
+
|
|
159
|
+
Steps:
|
|
160
|
+
1. The SDK is already installed: npm install leap360
|
|
161
|
+
2. The env vars are already in .env.
|
|
162
|
+
3. Wrap every LLM call with Leap360Client.traceCall() — this works with ANY provider.
|
|
163
|
+
|
|
164
|
+
Example pattern:
|
|
165
|
+
import { Leap360Client } from 'leap360';
|
|
166
|
+
const leap = new Leap360Client({
|
|
167
|
+
apiKey: ${envVarRef},
|
|
168
|
+
projectId: ${envVarProjectRef},
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
// Wrap your existing LLM call:
|
|
172
|
+
const result = await leap.traceCall({
|
|
173
|
+
agentName: '${serviceName}',
|
|
174
|
+
provider: 'google', // or 'openai', 'anthropic', 'mistral', etc.
|
|
175
|
+
model: 'gemini-2.0-flash',
|
|
176
|
+
fn: () => yourExistingLLMCall(),
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
Please find all LLM API calls in the codebase and wrap them with leap.traceCall().
|
|
180
|
+
\`\`\`
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 🔐 Environment Variables
|
|
185
|
+
|
|
186
|
+
\`\`\`env
|
|
187
|
+
${envVarNote}
|
|
188
|
+
\`\`\`
|
|
189
|
+
|
|
190
|
+
### Bundler prefix reference
|
|
191
|
+
|
|
192
|
+
| Bundler | Correct prefix | Example |
|
|
193
|
+
|---------|---------------|---------|
|
|
194
|
+
| **Vite** | \`VITE_\` | \`VITE_LEAP360_API_KEY\` |
|
|
195
|
+
| **Next.js** | \`NEXT_PUBLIC_\` | \`NEXT_PUBLIC_LEAP360_API_KEY\` |
|
|
196
|
+
| **Create React App** | \`REACT_APP_\` | \`REACT_APP_LEAP360_API_KEY\` |
|
|
197
|
+
| **Node / backend** | *(none)* | \`LEAP360_API_KEY\` |
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 📚 Integration Examples
|
|
202
|
+
|
|
203
|
+
### ✅ Method 1: traceCall() — Works with ANY LLM (Recommended)
|
|
204
|
+
|
|
205
|
+
This is the **universal method** that works with every LLM SDK without exceptions.
|
|
206
|
+
|
|
207
|
+
\`\`\`typescript
|
|
208
|
+
import { Leap360Client } from 'leap360';
|
|
209
|
+
|
|
210
|
+
const leap = new Leap360Client({
|
|
211
|
+
apiKey: ${envVarRef},
|
|
212
|
+
projectId: '${projectId}',
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
// \u2500\u2500 Google Gemini (@google/genai \u2014 new SDK) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
216
|
+
import { GoogleGenAI } from '@google/genai';
|
|
217
|
+
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
|
|
218
|
+
|
|
219
|
+
const geminiResult = await leap.traceCall({
|
|
220
|
+
agentName: '${serviceName}',
|
|
221
|
+
provider: 'google',
|
|
222
|
+
model: 'gemini-2.0-flash',
|
|
223
|
+
fn: () => ai.models.generateContent({
|
|
224
|
+
model: 'gemini-2.0-flash',
|
|
225
|
+
contents: 'Hello!',
|
|
226
|
+
}),
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
// \u2500\u2500 Google Gemini (@google/generative-ai \u2014 older SDK) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
230
|
+
import { GoogleGenerativeAI } from '@google/generative-ai';
|
|
231
|
+
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY!);
|
|
232
|
+
const model = genAI.getGenerativeModel({ model: 'gemini-2.0-flash' });
|
|
233
|
+
|
|
234
|
+
const geminiResult2 = await leap.traceCall({
|
|
235
|
+
agentName: '${serviceName}',
|
|
236
|
+
provider: 'google',
|
|
237
|
+
model: 'gemini-2.0-flash',
|
|
238
|
+
fn: () => model.generateContent('Hello!'),
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
// \u2500\u2500 OpenAI \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
242
|
+
import OpenAI from 'openai';
|
|
243
|
+
const openai = new OpenAI();
|
|
244
|
+
|
|
245
|
+
const openaiResult = await leap.traceCall({
|
|
246
|
+
agentName: '${serviceName}',
|
|
247
|
+
provider: 'openai',
|
|
248
|
+
model: 'gpt-4o',
|
|
249
|
+
fn: () => openai.chat.completions.create({
|
|
250
|
+
model: 'gpt-4o',
|
|
251
|
+
messages: [{ role: 'user', content: 'Hello!' }],
|
|
252
|
+
}),
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
// \u2500\u2500 Anthropic Claude \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
256
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
257
|
+
const anthropic = new Anthropic();
|
|
258
|
+
|
|
259
|
+
const claudeResult = await leap.traceCall({
|
|
260
|
+
agentName: '${serviceName}',
|
|
261
|
+
provider: 'anthropic',
|
|
262
|
+
model: 'claude-3-5-sonnet-20241022',
|
|
263
|
+
fn: () => anthropic.messages.create({
|
|
264
|
+
model: 'claude-3-5-sonnet-20241022',
|
|
265
|
+
max_tokens: 1024,
|
|
266
|
+
messages: [{ role: 'user', content: 'Hello!' }],
|
|
267
|
+
}),
|
|
268
|
+
});
|
|
269
|
+
\`\`\`
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
### ⚡ Method 2: autoInit() — Zero-code for OpenAI & @google/generative-ai only
|
|
274
|
+
|
|
275
|
+
\`\`\`typescript
|
|
276
|
+
import { Leap360 } from 'leap360';
|
|
277
|
+
|
|
278
|
+
// Initialize ONCE at app entry point (main.tsx / index.ts)
|
|
279
|
+
Leap360.autoInit({
|
|
280
|
+
apiKey: ${envVarRef},
|
|
281
|
+
projectId: '${projectId}',
|
|
282
|
+
serviceName: '${serviceName}',
|
|
283
|
+
});
|
|
284
|
+
// ✅ Console: [Leap360] Tracing active \u2014 project: ${projectId}, service: ${serviceName}
|
|
285
|
+
|
|
286
|
+
// Now use your LLM client normally \u2014 calls are auto-traced:
|
|
287
|
+
import OpenAI from 'openai';
|
|
288
|
+
const openai = new OpenAI();
|
|
289
|
+
const res = await openai.chat.completions.create({ model: 'gpt-4o', messages: [...] });
|
|
290
|
+
\`\`\`
|
|
291
|
+
|
|
292
|
+
> **Compatibility:**
|
|
293
|
+
> | SDK | autoInit() | traceCall() |
|
|
294
|
+
> |-----|-----------|-------------|
|
|
295
|
+
> | \`openai\` | ✅ Auto | ✅ Manual |
|
|
296
|
+
> | \`@google/generative-ai\` | ✅ Auto | ✅ Manual |
|
|
297
|
+
> | \`@google/genai\` (new) | ❌ Use wrapGoogleGenAI() | ✅ Manual |
|
|
298
|
+
> | \`@anthropic-ai/sdk\` | ❌ Not supported | ✅ Manual |
|
|
299
|
+
> | Any other LLM | ❌ Not supported | ✅ Manual |
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
### ⚡ Method 3: wrapGoogleGenAI() — For the new @google/genai SDK
|
|
304
|
+
|
|
305
|
+
\`\`\`typescript
|
|
306
|
+
import { Leap360 } from 'leap360';
|
|
307
|
+
import { GoogleGenAI } from '@google/genai';
|
|
308
|
+
|
|
309
|
+
const leap = new Leap360({
|
|
310
|
+
apiKey: ${envVarRef},
|
|
311
|
+
projectId: '${projectId}',
|
|
312
|
+
serviceName: '${serviceName}',
|
|
313
|
+
});
|
|
314
|
+
|
|
315
|
+
// Wrap the client once \u2014 all calls auto-traced
|
|
316
|
+
const ai = leap.wrapGoogleGenAI(new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY }));
|
|
317
|
+
|
|
318
|
+
const response = await ai.models.generateContent({
|
|
319
|
+
model: 'gemini-2.0-flash',
|
|
320
|
+
contents: 'Hello!',
|
|
321
|
+
});
|
|
322
|
+
\`\`\`
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## 🛑 Kill Switch (Emergency Stop)
|
|
327
|
+
|
|
328
|
+
**Via dashboard:** Settings → Danger Zone → Suspend All Agents
|
|
329
|
+
|
|
330
|
+
**Suspend via API:**
|
|
331
|
+
\`\`\`bash
|
|
332
|
+
curl -X POST https://b0vyk178b7.execute-api.us-east-1.amazonaws.com/v1/projects/${projectId}/status \\
|
|
333
|
+
-H "x-api-key: ${apiKey}" \\
|
|
334
|
+
-H "Content-Type: application/json" \\
|
|
335
|
+
-d '{"status":"SUSPENDED"}'
|
|
336
|
+
\`\`\`
|
|
337
|
+
|
|
338
|
+
**Resume:**
|
|
339
|
+
\`\`\`bash
|
|
340
|
+
curl -X POST https://b0vyk178b7.execute-api.us-east-1.amazonaws.com/v1/projects/${projectId}/status \\
|
|
341
|
+
-H "x-api-key: ${apiKey}" \\
|
|
342
|
+
-H "Content-Type: application/json" \\
|
|
343
|
+
-d '{"status":"ACTIVE"}'
|
|
344
|
+
\`\`\`
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## 🎯 Policy Enforcement
|
|
349
|
+
|
|
350
|
+
Create a policy on the dashboard (Policies & Rules page), then every agent
|
|
351
|
+
response is evaluated by the LLM Judge. Actions:
|
|
352
|
+
|
|
353
|
+
| Action | Behavior |
|
|
354
|
+
|--------|----------|
|
|
355
|
+
| **warn** | Logs the violation, allows response through |
|
|
356
|
+
| **ask_admin** | Flags for human review in Approval Queue |
|
|
357
|
+
| **block** | Hard-rejects response \u2014 SDK throws \`POLICY_VIOLATION_BLOCKED\` |
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
Generated by \`npx leap360 setup\` on ${new Date().toISOString().split('T')[0]}
|
|
362
|
+
`;
|
|
363
|
+
// sample-node.ts
|
|
364
|
+
const sampleNode = `/**
|
|
365
|
+
* Leap360 sample — Node.js / TypeScript
|
|
366
|
+
*
|
|
367
|
+
* traceCall() is the RECOMMENDED method — works with ANY LLM provider.
|
|
368
|
+
* No SDK compatibility issues. No silent failures.
|
|
369
|
+
*/
|
|
370
|
+
import { Leap360Client } from 'leap360';
|
|
371
|
+
|
|
372
|
+
const leap = new Leap360Client({
|
|
373
|
+
apiKey: process.env.LEAP360_API_KEY!,
|
|
374
|
+
projectId: '${projectId}',
|
|
375
|
+
});
|
|
376
|
+
|
|
377
|
+
// ── Example 1: Google Gemini (new @google/genai SDK) ───────────────────────
|
|
378
|
+
import { GoogleGenAI } from '@google/genai';
|
|
379
|
+
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY! });
|
|
380
|
+
|
|
381
|
+
const geminiResult = await leap.traceCall({
|
|
382
|
+
agentName: '${serviceName}',
|
|
383
|
+
provider: 'google',
|
|
384
|
+
model: 'gemini-2.0-flash',
|
|
385
|
+
fn: () => ai.models.generateContent({
|
|
386
|
+
model: 'gemini-2.0-flash',
|
|
387
|
+
contents: 'What is the capital of France?',
|
|
388
|
+
}),
|
|
389
|
+
});
|
|
390
|
+
console.log(geminiResult);
|
|
391
|
+
|
|
392
|
+
// ── Example 2: OpenAI ──────────────────────────────────────────────────────
|
|
393
|
+
// import OpenAI from 'openai';
|
|
394
|
+
// const openai = new OpenAI();
|
|
395
|
+
// const openaiResult = await leap.traceCall({
|
|
396
|
+
// agentName: '${serviceName}',
|
|
397
|
+
// provider: 'openai',
|
|
398
|
+
// model: 'gpt-4o',
|
|
399
|
+
// fn: () => openai.chat.completions.create({
|
|
400
|
+
// model: 'gpt-4o',
|
|
401
|
+
// messages: [{ role: 'user', content: 'What is the capital of France?' }],
|
|
402
|
+
// }),
|
|
403
|
+
// });
|
|
404
|
+
|
|
405
|
+
// Check your dashboard: https://leap360.ai/dashboard/
|
|
406
|
+
`;
|
|
407
|
+
// sample-python.py
|
|
408
|
+
const samplePython = `from leap360 import Leap360
|
|
409
|
+
from openai import OpenAI
|
|
410
|
+
import os
|
|
411
|
+
|
|
412
|
+
leap = Leap360(
|
|
413
|
+
api_key=os.environ["LEAP360_API_KEY"],
|
|
414
|
+
project_id="${projectId}",
|
|
415
|
+
service_name="${serviceName}",
|
|
416
|
+
)
|
|
417
|
+
|
|
418
|
+
client = leap.wrap_openai(OpenAI())
|
|
419
|
+
|
|
420
|
+
response = client.chat.completions.create(
|
|
421
|
+
model="gpt-4o",
|
|
422
|
+
messages=[{"role": "user", "content": "What is the capital of France?"}],
|
|
423
|
+
)
|
|
424
|
+
|
|
425
|
+
print(response.choices[0].message.content)
|
|
426
|
+
# Check your dashboard: https://leap360.ai/dashboard/
|
|
427
|
+
`;
|
|
428
|
+
try {
|
|
429
|
+
fs.writeFileSync(path.join(guideDir, 'README.md'), readme.trim() + '\n');
|
|
430
|
+
fs.writeFileSync(path.join(guideDir, 'sample-node.ts'), sampleNode.trim() + '\n');
|
|
431
|
+
fs.writeFileSync(path.join(guideDir, 'sample-python.py'), samplePython.trim() + '\n');
|
|
432
|
+
console.log(` → .leap360/README.md (integration guide)`);
|
|
433
|
+
console.log(` → .leap360/sample-node.ts (Node.js / TypeScript sample)`);
|
|
434
|
+
console.log(` → .leap360/sample-python.py (Python sample)\n`);
|
|
435
|
+
}
|
|
436
|
+
catch { /* ignore write errors */ }
|
|
437
|
+
console.log(' \x1b[36mSetup complete! Open your dashboard:\x1b[0m');
|
|
438
|
+
console.log(' \x1b[1m\x1b[34m https://leap360.ai/dashboard/\x1b[0m\n');
|
|
83
439
|
}
|
|
84
440
|
catch (err) {
|
|
85
441
|
console.error('\n❌ Setup failed:', err.message);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,+BAA+B,CAAC;KAC5C,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,8EAA8E;AAC9E,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk.d.ts
CHANGED
|
@@ -1,30 +1,50 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* leap360 —
|
|
2
|
+
* leap360 — Universal AI Governance SDK
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* ─────────────────────────────────────────────────────────────────────────
|
|
5
|
+
* ✅ RECOMMENDED: Manual trace — works with ANY LLM, ANY SDK, ANY language
|
|
6
|
+
* ─────────────────────────────────────────────────────────────────────────
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* import { Leap360Client } from 'leap360';
|
|
9
9
|
*
|
|
10
|
-
* leap
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* const agent = leap.createAgent({ name: 'Support Bot' });
|
|
14
|
-
* await agent.run(async (client) => {
|
|
15
|
-
* await client.chat.completions.create({ ... });
|
|
10
|
+
* const leap = new Leap360Client({
|
|
11
|
+
* apiKey: process.env.LEAP360_API_KEY,
|
|
12
|
+
* projectId: 'my-project',
|
|
16
13
|
* });
|
|
17
14
|
*
|
|
18
|
-
*
|
|
19
|
-
* import { Leap360Client } from 'leap360-sdk';
|
|
20
|
-
* const leap = new Leap360Client(); // reads from ~/.leap360/config.json
|
|
21
|
-
*
|
|
15
|
+
* // Works with OpenAI, Gemini, Anthropic, Mistral, or any LLM:
|
|
22
16
|
* const result = await leap.traceCall({
|
|
23
|
-
* agentName: '
|
|
24
|
-
* provider: 'openai',
|
|
25
|
-
* model: '
|
|
26
|
-
* fn: () =>
|
|
17
|
+
* agentName: 'my-agent',
|
|
18
|
+
* provider: 'google', // or 'openai', 'anthropic', 'mistral', etc.
|
|
19
|
+
* model: 'gemini-2.0-flash',
|
|
20
|
+
* fn: () => model.generateContent('Hello!'),
|
|
27
21
|
* });
|
|
22
|
+
*
|
|
23
|
+
* ─────────────────────────────────────────────────────────────────────────
|
|
24
|
+
* ⚡ AUTO-WRAP: Zero-code tracing for supported SDKs
|
|
25
|
+
* ─────────────────────────────────────────────────────────────────────────
|
|
26
|
+
*
|
|
27
|
+
* SDK Compatibility Matrix:
|
|
28
|
+
* ┌─────────────────────────────┬────────────────────────────┬────────────┐
|
|
29
|
+
* │ Your LLM SDK │ Method │ Status │
|
|
30
|
+
* ├─────────────────────────────┼────────────────────────────┼────────────┤
|
|
31
|
+
* │ openai │ Leap360.autoInit() │ ✅ Auto │
|
|
32
|
+
* │ @google/generative-ai │ Leap360.autoInit() │ ✅ Auto │
|
|
33
|
+
* │ @google/genai (new SDK) │ leap.wrapGoogleGenAI() │ ✅ Wrap │
|
|
34
|
+
* │ @anthropic-ai/sdk │ leap.traceCall() │ ⚠️ Manual │
|
|
35
|
+
* │ mistralai │ leap.traceCall() │ ⚠️ Manual │
|
|
36
|
+
* │ Any other LLM │ leap.traceCall() │ ✅ Manual │
|
|
37
|
+
* └─────────────────────────────┴────────────────────────────┴────────────┘
|
|
38
|
+
*
|
|
39
|
+
* Auto-wrap example (OpenAI or @google/generative-ai):
|
|
40
|
+
* Leap360.autoInit({ apiKey, projectId, serviceName });
|
|
41
|
+
* const openai = new OpenAI(); // ← all calls auto-traced
|
|
42
|
+
*
|
|
43
|
+
* Wrap example (@google/genai new SDK):
|
|
44
|
+
* import { GoogleGenAI } from '@google/genai';
|
|
45
|
+
* const leap = new Leap360({ apiKey, projectId, serviceName });
|
|
46
|
+
* const ai = leap.wrapGoogleGenAI(new GoogleGenAI({ apiKey: GEMINI_KEY }));
|
|
47
|
+
* await ai.models.generateContent({ model: 'gemini-2.0-flash', contents: 'Hello!' });
|
|
28
48
|
*/
|
|
29
49
|
export interface TracePayload {
|
|
30
50
|
/** Display name of your agent */
|
|
@@ -99,8 +119,15 @@ export declare class Leap360 {
|
|
|
99
119
|
static isHalted: boolean;
|
|
100
120
|
constructor(config: Leap360Config);
|
|
101
121
|
/**
|
|
102
|
-
* Initializes Leap360 globally. All subsequent OpenAI or
|
|
122
|
+
* Initializes Leap360 globally. All subsequent OpenAI or @google/generative-ai
|
|
103
123
|
* clients created will be automatically traced.
|
|
124
|
+
*
|
|
125
|
+
* ⚠️ Compatibility note:
|
|
126
|
+
* - openai SDK → ✅ auto-traced
|
|
127
|
+
* - @google/generative-ai → ✅ auto-traced
|
|
128
|
+
* - @google/genai (new SDK) → use leap.wrapGoogleGenAI(client) instead
|
|
129
|
+
* - @anthropic-ai/sdk → use leap.traceCall() instead
|
|
130
|
+
* - Any other LLM → use leap.traceCall() instead
|
|
104
131
|
*/
|
|
105
132
|
static autoInit(config: Leap360Config): Leap360;
|
|
106
133
|
/**
|
|
@@ -112,6 +139,12 @@ export declare class Leap360 {
|
|
|
112
139
|
* Patches common AI library prototypes to ensure all instances
|
|
113
140
|
* are automatically traced without manual wrapping.
|
|
114
141
|
* Supports both CommonJS (require) and ESM environments.
|
|
142
|
+
*
|
|
143
|
+
* Supported by autoInit:
|
|
144
|
+
* ✅ openai
|
|
145
|
+
* ✅ @google/generative-ai
|
|
146
|
+
* ❌ @google/genai (new SDK) — use wrapGoogleGenAI() instead
|
|
147
|
+
* ❌ @anthropic-ai/sdk — use traceCall() instead
|
|
115
148
|
*/
|
|
116
149
|
private patchGlobalPrototypes;
|
|
117
150
|
private wrapOpenAIPrototype;
|
|
@@ -146,16 +179,23 @@ export declare class Leap360 {
|
|
|
146
179
|
*/
|
|
147
180
|
wrapGemini<GeminiClient>(client: GeminiClient): GeminiClient;
|
|
148
181
|
/**
|
|
149
|
-
* Wraps the new
|
|
150
|
-
* `models.
|
|
182
|
+
* Wraps the new `@google/genai` GoogleGenAI client so every
|
|
183
|
+
* `models.generateContent` / `models.generateContentStream` call is traced.
|
|
184
|
+
*
|
|
185
|
+
* Use this when you are on the NEW @google/genai package (not @google/generative-ai).
|
|
151
186
|
*
|
|
152
187
|
* @example
|
|
153
|
-
* import
|
|
154
|
-
* const
|
|
155
|
-
* const
|
|
156
|
-
*
|
|
157
|
-
*
|
|
188
|
+
* import { GoogleGenAI } from '@google/genai';
|
|
189
|
+
* const leap = new Leap360({ apiKey, projectId, serviceName });
|
|
190
|
+
* const ai = leap.wrapGoogleGenAI(new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY }));
|
|
191
|
+
*
|
|
192
|
+
* const response = await ai.models.generateContent({
|
|
193
|
+
* model: 'gemini-2.0-flash',
|
|
194
|
+
* contents: 'Explain AI governance.',
|
|
158
195
|
* });
|
|
196
|
+
*
|
|
197
|
+
* ⚠️ The new SDK uses camelCase (generateContent), not snake_case (generate_content).
|
|
198
|
+
* Both variants are supported by this wrapper.
|
|
159
199
|
*/
|
|
160
200
|
wrapGoogleGenAI<GenAIClient>(client: GenAIClient): GenAIClient;
|
|
161
201
|
/**
|
package/dist/sdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk.js
CHANGED
|
@@ -1,30 +1,50 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* leap360 —
|
|
2
|
+
* leap360 — Universal AI Governance SDK
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* ─────────────────────────────────────────────────────────────────────────
|
|
5
|
+
* ✅ RECOMMENDED: Manual trace — works with ANY LLM, ANY SDK, ANY language
|
|
6
|
+
* ─────────────────────────────────────────────────────────────────────────
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* import { Leap360Client } from 'leap360';
|
|
9
9
|
*
|
|
10
|
-
* leap
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* const agent = leap.createAgent({ name: 'Support Bot' });
|
|
14
|
-
* await agent.run(async (client) => {
|
|
15
|
-
* await client.chat.completions.create({ ... });
|
|
10
|
+
* const leap = new Leap360Client({
|
|
11
|
+
* apiKey: process.env.LEAP360_API_KEY,
|
|
12
|
+
* projectId: 'my-project',
|
|
16
13
|
* });
|
|
17
14
|
*
|
|
18
|
-
*
|
|
19
|
-
* import { Leap360Client } from 'leap360-sdk';
|
|
20
|
-
* const leap = new Leap360Client(); // reads from ~/.leap360/config.json
|
|
21
|
-
*
|
|
15
|
+
* // Works with OpenAI, Gemini, Anthropic, Mistral, or any LLM:
|
|
22
16
|
* const result = await leap.traceCall({
|
|
23
|
-
* agentName: '
|
|
24
|
-
* provider: 'openai',
|
|
25
|
-
* model: '
|
|
26
|
-
* fn: () =>
|
|
17
|
+
* agentName: 'my-agent',
|
|
18
|
+
* provider: 'google', // or 'openai', 'anthropic', 'mistral', etc.
|
|
19
|
+
* model: 'gemini-2.0-flash',
|
|
20
|
+
* fn: () => model.generateContent('Hello!'),
|
|
27
21
|
* });
|
|
22
|
+
*
|
|
23
|
+
* ─────────────────────────────────────────────────────────────────────────
|
|
24
|
+
* ⚡ AUTO-WRAP: Zero-code tracing for supported SDKs
|
|
25
|
+
* ─────────────────────────────────────────────────────────────────────────
|
|
26
|
+
*
|
|
27
|
+
* SDK Compatibility Matrix:
|
|
28
|
+
* ┌─────────────────────────────┬────────────────────────────┬────────────┐
|
|
29
|
+
* │ Your LLM SDK │ Method │ Status │
|
|
30
|
+
* ├─────────────────────────────┼────────────────────────────┼────────────┤
|
|
31
|
+
* │ openai │ Leap360.autoInit() │ ✅ Auto │
|
|
32
|
+
* │ @google/generative-ai │ Leap360.autoInit() │ ✅ Auto │
|
|
33
|
+
* │ @google/genai (new SDK) │ leap.wrapGoogleGenAI() │ ✅ Wrap │
|
|
34
|
+
* │ @anthropic-ai/sdk │ leap.traceCall() │ ⚠️ Manual │
|
|
35
|
+
* │ mistralai │ leap.traceCall() │ ⚠️ Manual │
|
|
36
|
+
* │ Any other LLM │ leap.traceCall() │ ✅ Manual │
|
|
37
|
+
* └─────────────────────────────┴────────────────────────────┴────────────┘
|
|
38
|
+
*
|
|
39
|
+
* Auto-wrap example (OpenAI or @google/generative-ai):
|
|
40
|
+
* Leap360.autoInit({ apiKey, projectId, serviceName });
|
|
41
|
+
* const openai = new OpenAI(); // ← all calls auto-traced
|
|
42
|
+
*
|
|
43
|
+
* Wrap example (@google/genai new SDK):
|
|
44
|
+
* import { GoogleGenAI } from '@google/genai';
|
|
45
|
+
* const leap = new Leap360({ apiKey, projectId, serviceName });
|
|
46
|
+
* const ai = leap.wrapGoogleGenAI(new GoogleGenAI({ apiKey: GEMINI_KEY }));
|
|
47
|
+
* await ai.models.generateContent({ model: 'gemini-2.0-flash', contents: 'Hello!' });
|
|
28
48
|
*/
|
|
29
49
|
// Universal imports/fallbacks
|
|
30
50
|
import { loadCredentials } from './auth.js';
|
|
@@ -119,13 +139,22 @@ export class Leap360 {
|
|
|
119
139
|
Leap360.instance = this;
|
|
120
140
|
}
|
|
121
141
|
/**
|
|
122
|
-
* Initializes Leap360 globally. All subsequent OpenAI or
|
|
142
|
+
* Initializes Leap360 globally. All subsequent OpenAI or @google/generative-ai
|
|
123
143
|
* clients created will be automatically traced.
|
|
144
|
+
*
|
|
145
|
+
* ⚠️ Compatibility note:
|
|
146
|
+
* - openai SDK → ✅ auto-traced
|
|
147
|
+
* - @google/generative-ai → ✅ auto-traced
|
|
148
|
+
* - @google/genai (new SDK) → use leap.wrapGoogleGenAI(client) instead
|
|
149
|
+
* - @anthropic-ai/sdk → use leap.traceCall() instead
|
|
150
|
+
* - Any other LLM → use leap.traceCall() instead
|
|
124
151
|
*/
|
|
125
152
|
static autoInit(config) {
|
|
126
153
|
const inst = new Leap360(config);
|
|
127
154
|
inst.patchGlobalPrototypes();
|
|
128
155
|
inst.startPollingStatus();
|
|
156
|
+
// Startup confirmation — so developers know tracing is active
|
|
157
|
+
console.log(`[Leap360] ✅ Tracing active — project: ${config.projectId}, service: ${config.serviceName}`);
|
|
129
158
|
return inst;
|
|
130
159
|
}
|
|
131
160
|
/**
|
|
@@ -158,24 +187,37 @@ export class Leap360 {
|
|
|
158
187
|
* Patches common AI library prototypes to ensure all instances
|
|
159
188
|
* are automatically traced without manual wrapping.
|
|
160
189
|
* Supports both CommonJS (require) and ESM environments.
|
|
190
|
+
*
|
|
191
|
+
* Supported by autoInit:
|
|
192
|
+
* ✅ openai
|
|
193
|
+
* ✅ @google/generative-ai
|
|
194
|
+
* ❌ @google/genai (new SDK) — use wrapGoogleGenAI() instead
|
|
195
|
+
* ❌ @anthropic-ai/sdk — use traceCall() instead
|
|
161
196
|
*/
|
|
162
197
|
patchGlobalPrototypes() {
|
|
198
|
+
let patchedCount = 0;
|
|
163
199
|
// --- Strategy 1: Direct prototype patch if class is on globalThis ---
|
|
164
200
|
const tryPatchFromGlobal = () => {
|
|
165
201
|
const OpenAI = globalThis.OpenAI;
|
|
166
|
-
if (OpenAI?.prototype)
|
|
202
|
+
if (OpenAI?.prototype) {
|
|
167
203
|
this.wrapOpenAIPrototype(OpenAI);
|
|
204
|
+
patchedCount++;
|
|
205
|
+
}
|
|
168
206
|
const GAI = globalThis.GoogleGenerativeAI;
|
|
169
|
-
if (GAI?.prototype)
|
|
207
|
+
if (GAI?.prototype) {
|
|
170
208
|
this.wrapGooglePrototype(GAI);
|
|
209
|
+
patchedCount++;
|
|
210
|
+
}
|
|
171
211
|
};
|
|
172
212
|
tryPatchFromGlobal();
|
|
173
213
|
// --- Strategy 2: Dynamic import (ESM) — patch after module loads ---
|
|
174
214
|
// Wrap @google/generative-ai via dynamic import
|
|
175
215
|
import('@google/generative-ai').then((mod) => {
|
|
176
216
|
const GAI = mod.GoogleGenerativeAI;
|
|
177
|
-
if (GAI?.prototype)
|
|
217
|
+
if (GAI?.prototype) {
|
|
178
218
|
this.wrapGooglePrototype(GAI);
|
|
219
|
+
patchedCount++;
|
|
220
|
+
}
|
|
179
221
|
}).catch(() => { });
|
|
180
222
|
// Wrap openai via dynamic import (optional peer dep - ignore TS errors)
|
|
181
223
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
@@ -184,11 +226,22 @@ export class Leap360 {
|
|
|
184
226
|
// Use Function to avoid TypeScript resolving the module at compile time
|
|
185
227
|
const mod = await (new Function("s", "return import(s)"))('openai');
|
|
186
228
|
const OpenAI = mod.default || mod.OpenAI;
|
|
187
|
-
if (OpenAI?.prototype)
|
|
229
|
+
if (OpenAI?.prototype) {
|
|
188
230
|
this.wrapOpenAIPrototype(OpenAI);
|
|
231
|
+
patchedCount++;
|
|
232
|
+
}
|
|
189
233
|
}
|
|
190
234
|
catch { /* openai not installed */ }
|
|
191
235
|
})();
|
|
236
|
+
// Warn after a short delay if nothing was patched — helps catch silent failures
|
|
237
|
+
setTimeout(() => {
|
|
238
|
+
if (patchedCount === 0) {
|
|
239
|
+
console.warn('[Leap360] ⚠️ autoInit() did not detect a supported LLM SDK (openai or @google/generative-ai).\n' +
|
|
240
|
+
' If you are using @google/genai (new SDK): use leap.wrapGoogleGenAI(client) instead.\n' +
|
|
241
|
+
' If you are using Anthropic, Mistral, or another LLM: use leap.traceCall() instead.\n' +
|
|
242
|
+
' See: https://leap360.ai/docs/sdk-compatibility');
|
|
243
|
+
}
|
|
244
|
+
}, 3000);
|
|
192
245
|
}
|
|
193
246
|
wrapOpenAIPrototype(OpenAIClass) {
|
|
194
247
|
const self = this;
|
|
@@ -359,7 +412,9 @@ export class Leap360 {
|
|
|
359
412
|
const traceBody = buildTraceBody({
|
|
360
413
|
projectId: this.config.projectId,
|
|
361
414
|
serviceName: this.config.serviceName,
|
|
362
|
-
|
|
415
|
+
// Use explicit agentName from createAgent context, or fall back to serviceName
|
|
416
|
+
// so per-agent suspend works for autoInit users who never call createAgent
|
|
417
|
+
agentName: runCtx?.agentName ?? this.config.serviceName,
|
|
363
418
|
runId: runCtx?.runId,
|
|
364
419
|
provider,
|
|
365
420
|
model,
|
|
@@ -401,7 +456,8 @@ export class Leap360 {
|
|
|
401
456
|
const traceBody = buildTraceBody({
|
|
402
457
|
projectId: this.config.projectId,
|
|
403
458
|
serviceName: this.config.serviceName,
|
|
404
|
-
|
|
459
|
+
// Use explicit agentName from createAgent context, or fall back to serviceName
|
|
460
|
+
agentName: runCtx?.agentName ?? this.config.serviceName,
|
|
405
461
|
runId: runCtx?.runId,
|
|
406
462
|
provider,
|
|
407
463
|
model,
|
|
@@ -431,6 +487,12 @@ export class Leap360 {
|
|
|
431
487
|
violation
|
|
432
488
|
};
|
|
433
489
|
}
|
|
490
|
+
// Check for per-agent halt
|
|
491
|
+
if (res && res.code === 'AGENT_HALT') {
|
|
492
|
+
const serverMessage = res.message || 'Agent is suspended';
|
|
493
|
+
console.error(`[Leap360] 🛡️ AGENT SUSPENDED: ${serverMessage}`);
|
|
494
|
+
return { blocked: true, message: serverMessage };
|
|
495
|
+
}
|
|
434
496
|
return { blocked: false };
|
|
435
497
|
}
|
|
436
498
|
catch (e) {
|
|
@@ -613,31 +675,55 @@ export class Leap360 {
|
|
|
613
675
|
};
|
|
614
676
|
return client;
|
|
615
677
|
}
|
|
616
|
-
// ── Google GenAI (new
|
|
678
|
+
// ── Google GenAI (new SDK: @google/genai) auto-wrap ──────────────────────
|
|
617
679
|
/**
|
|
618
|
-
* Wraps the new
|
|
619
|
-
* `models.
|
|
680
|
+
* Wraps the new `@google/genai` GoogleGenAI client so every
|
|
681
|
+
* `models.generateContent` / `models.generateContentStream` call is traced.
|
|
682
|
+
*
|
|
683
|
+
* Use this when you are on the NEW @google/genai package (not @google/generative-ai).
|
|
620
684
|
*
|
|
621
685
|
* @example
|
|
622
|
-
* import
|
|
623
|
-
* const
|
|
624
|
-
* const
|
|
625
|
-
*
|
|
626
|
-
*
|
|
686
|
+
* import { GoogleGenAI } from '@google/genai';
|
|
687
|
+
* const leap = new Leap360({ apiKey, projectId, serviceName });
|
|
688
|
+
* const ai = leap.wrapGoogleGenAI(new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY }));
|
|
689
|
+
*
|
|
690
|
+
* const response = await ai.models.generateContent({
|
|
691
|
+
* model: 'gemini-2.0-flash',
|
|
692
|
+
* contents: 'Explain AI governance.',
|
|
627
693
|
* });
|
|
694
|
+
*
|
|
695
|
+
* ⚠️ The new SDK uses camelCase (generateContent), not snake_case (generate_content).
|
|
696
|
+
* Both variants are supported by this wrapper.
|
|
628
697
|
*/
|
|
629
698
|
wrapGoogleGenAI(client) {
|
|
630
699
|
const self = this;
|
|
631
700
|
const c = client;
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
701
|
+
if (!c.models || typeof c.models !== 'object') {
|
|
702
|
+
console.warn('[Leap360] wrapGoogleGenAI: client.models is undefined. Ensure you are passing a GoogleGenAI instance.');
|
|
703
|
+
return client;
|
|
704
|
+
}
|
|
705
|
+
// Support both camelCase (new @google/genai) and snake_case (older variants)
|
|
706
|
+
const generateFnName = typeof c.models.generateContent === 'function' ? 'generateContent' :
|
|
707
|
+
typeof c.models.generate_content === 'function' ? 'generate_content' :
|
|
708
|
+
null;
|
|
709
|
+
const streamFnName = typeof c.models.generateContentStream === 'function' ? 'generateContentStream' :
|
|
710
|
+
typeof c.models.generate_content_stream === 'function' ? 'generate_content_stream' :
|
|
711
|
+
null;
|
|
712
|
+
if (!generateFnName) {
|
|
713
|
+
console.warn('[Leap360] wrapGoogleGenAI: could not find generateContent or generate_content on client.models.\n' +
|
|
714
|
+
' Ensure you are passing a GoogleGenAI instance from @google/genai.\n' +
|
|
715
|
+
' Falling back to untraced client.');
|
|
716
|
+
return client;
|
|
717
|
+
}
|
|
718
|
+
// Wrap generateContent / generate_content
|
|
719
|
+
const originalGenerate = c.models[generateFnName].bind(c.models);
|
|
720
|
+
c.models[generateFnName] = async (params) => {
|
|
635
721
|
if (Leap360.isHalted) {
|
|
636
722
|
throw new Error('[Leap360] 🛡️ GOVERNANCE_HALT: Project is SUSPENDED. AI calls are blocked.');
|
|
637
723
|
}
|
|
638
724
|
const startTime = Date.now();
|
|
639
725
|
const runCtx = getRunContextStorage().getStore();
|
|
640
|
-
const modelName = (params?.model ?? 'gemini
|
|
726
|
+
const modelName = (params?.model ?? 'gemini');
|
|
641
727
|
let response = null;
|
|
642
728
|
let error = null;
|
|
643
729
|
try {
|
|
@@ -649,58 +735,59 @@ export class Leap360 {
|
|
|
649
735
|
}
|
|
650
736
|
// Synchronous trace with policy blocking check
|
|
651
737
|
try {
|
|
652
|
-
const blockResult = await self.sendTraceAndCheckBlock('google', { contents: params.contents }, response,
|
|
738
|
+
const blockResult = await self.sendTraceAndCheckBlock('google', { contents: params.contents ?? params.prompt ?? params }, response, error, startTime, runCtx, modelName);
|
|
653
739
|
if (blockResult?.blocked) {
|
|
654
740
|
throw new Error(`[Leap360] 🛡️ POLICY_BLOCKED: ${blockResult.message}`);
|
|
655
741
|
}
|
|
656
742
|
}
|
|
657
743
|
catch (traceErr) {
|
|
658
|
-
if (traceErr.message?.includes('POLICY_BLOCKED'))
|
|
744
|
+
if (traceErr.message?.includes('POLICY_BLOCKED'))
|
|
659
745
|
throw traceErr;
|
|
660
|
-
}
|
|
661
746
|
console.warn('[Leap360] Trace failed:', traceErr.message);
|
|
662
747
|
}
|
|
663
748
|
return response;
|
|
664
749
|
};
|
|
665
|
-
// Wrap generate_content_stream
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
.
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
750
|
+
// Wrap generateContentStream / generate_content_stream if present
|
|
751
|
+
if (streamFnName) {
|
|
752
|
+
const originalStream = c.models[streamFnName].bind(c.models);
|
|
753
|
+
c.models[streamFnName] = async (params) => {
|
|
754
|
+
if (Leap360.isHalted) {
|
|
755
|
+
throw new Error('[Leap360] 🛡️ GOVERNANCE_HALT: Project is SUSPENDED. AI calls are blocked.');
|
|
756
|
+
}
|
|
757
|
+
const startTime = Date.now();
|
|
758
|
+
const runCtx = getRunContextStorage().getStore();
|
|
759
|
+
const modelName = (params?.model ?? 'gemini');
|
|
760
|
+
let error = null;
|
|
761
|
+
let result = null;
|
|
762
|
+
try {
|
|
763
|
+
result = await originalStream(params);
|
|
764
|
+
}
|
|
765
|
+
catch (err) {
|
|
766
|
+
error = err;
|
|
767
|
+
throw err;
|
|
768
|
+
}
|
|
769
|
+
finally {
|
|
770
|
+
const latencyMs = Date.now() - startTime;
|
|
771
|
+
const traceBody = buildTraceBody({
|
|
772
|
+
projectId: self.config.projectId,
|
|
773
|
+
serviceName: self.config.serviceName,
|
|
774
|
+
agentName: runCtx?.agentName ?? self.config.serviceName,
|
|
775
|
+
runId: runCtx?.runId,
|
|
776
|
+
provider: 'google',
|
|
777
|
+
model: modelName,
|
|
778
|
+
request: { contents: params.contents ?? params.prompt ?? params },
|
|
779
|
+
response: null,
|
|
780
|
+
latencyMs,
|
|
781
|
+
usage: { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 },
|
|
782
|
+
timestamp: new Date(startTime).toISOString(),
|
|
783
|
+
error: error ? (error instanceof Error ? error.message : String(error)) : null,
|
|
784
|
+
});
|
|
785
|
+
postTrace(self.config.baseUrl, self.config.apiKey, traceBody, false)
|
|
786
|
+
.catch(e => console.error('[Leap360]', e));
|
|
787
|
+
}
|
|
788
|
+
return result;
|
|
789
|
+
};
|
|
790
|
+
}
|
|
704
791
|
return client;
|
|
705
792
|
}
|
|
706
793
|
// ── createAgent ─────────────────────────────────────────────────────────
|
package/dist/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "leap360",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Leap360 AI Governance SDK —
|
|
3
|
+
"version": "1.4.0",
|
|
4
|
+
"description": "Leap360 AI Governance SDK — trace, govern, and monitor AI agents across OpenAI, Gemini, Anthropic, Mistral, and any LLM",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -29,15 +29,19 @@
|
|
|
29
29
|
"agents",
|
|
30
30
|
"observability",
|
|
31
31
|
"openai",
|
|
32
|
-
"gemini
|
|
32
|
+
"gemini",
|
|
33
|
+
"anthropic",
|
|
34
|
+
"mistral",
|
|
35
|
+
"google-genai",
|
|
36
|
+
"ai-safety",
|
|
37
|
+
"kill-switch",
|
|
38
|
+
"policy-enforcement",
|
|
33
39
|
"leap360"
|
|
34
40
|
],
|
|
35
41
|
"author": "Leap360",
|
|
36
42
|
"license": "Apache-2.0",
|
|
37
43
|
"dependencies": {
|
|
38
|
-
"
|
|
39
|
-
"commander": "^12.0.0",
|
|
40
|
-
"open": "^10.0.0"
|
|
44
|
+
"commander": "^12.0.0"
|
|
41
45
|
},
|
|
42
46
|
"devDependencies": {
|
|
43
47
|
"@types/node": "^20.0.0",
|