leap360 1.3.0 → 1.4.1
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 +246 -70
- package/dist/cli.js.map +1 -1
- package/dist/sdk.d.ts +70 -29
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +204 -93
- 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.1');
|
|
18
18
|
// ─── Command: setup ────────────────────────────────────────────────────────
|
|
19
19
|
program
|
|
20
20
|
.command('setup')
|
|
@@ -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,6 +109,9 @@ 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`);
|
|
@@ -86,95 +122,212 @@ program
|
|
|
86
122
|
}
|
|
87
123
|
catch { /* exists */ }
|
|
88
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';
|
|
89
137
|
const readme = `# Leap360 AI Governance — Integration Guide
|
|
90
138
|
|
|
91
139
|
Your project is connected to Leap360. Every AI call is now traced, governed,
|
|
92
|
-
and monitored in real time
|
|
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
|
|
93
191
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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\` |
|
|
98
198
|
|
|
99
199
|
---
|
|
100
200
|
|
|
101
|
-
##
|
|
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.
|
|
102
206
|
|
|
103
207
|
\`\`\`typescript
|
|
104
|
-
import {
|
|
105
|
-
import OpenAI from 'openai';
|
|
208
|
+
import { Leap360Client } from 'leap360';
|
|
106
209
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
apiKey: process.env.LEAP360_API_KEY,
|
|
210
|
+
const leap = new Leap360Client({
|
|
211
|
+
apiKey: ${envVarRef},
|
|
110
212
|
projectId: '${projectId}',
|
|
111
|
-
serviceName: '${serviceName}',
|
|
112
213
|
});
|
|
113
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';
|
|
114
243
|
const openai = new OpenAI();
|
|
115
244
|
|
|
116
|
-
const
|
|
245
|
+
const openaiResult = await leap.traceCall({
|
|
246
|
+
agentName: '${serviceName}',
|
|
247
|
+
provider: 'openai',
|
|
117
248
|
model: 'gpt-4o',
|
|
118
|
-
|
|
249
|
+
fn: () => openai.chat.completions.create({
|
|
250
|
+
model: 'gpt-4o',
|
|
251
|
+
messages: [{ role: 'user', content: 'Hello!' }],
|
|
252
|
+
}),
|
|
119
253
|
});
|
|
120
254
|
|
|
121
|
-
//
|
|
122
|
-
|
|
123
|
-
|
|
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
|
+
});
|
|
124
269
|
\`\`\`
|
|
125
270
|
|
|
126
271
|
---
|
|
127
272
|
|
|
128
|
-
|
|
273
|
+
### ⚡ Method 2: autoInit() — Zero-code for OpenAI & @google/generative-ai only
|
|
129
274
|
|
|
130
|
-
\`\`\`
|
|
131
|
-
from leap360
|
|
132
|
-
from openai import OpenAI
|
|
133
|
-
|
|
134
|
-
# Initialise — wraps the OpenAI client
|
|
135
|
-
leap = Leap360(
|
|
136
|
-
api_key="${apiKey.substring(0, 20)}...",
|
|
137
|
-
project_id="${projectId}",
|
|
138
|
-
service_name="${serviceName}",
|
|
139
|
-
)
|
|
140
|
-
|
|
141
|
-
client = leap.wrap_openai(OpenAI())
|
|
275
|
+
\`\`\`typescript
|
|
276
|
+
import { Leap360 } from 'leap360';
|
|
142
277
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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}
|
|
147
285
|
|
|
148
|
-
|
|
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: [...] });
|
|
149
290
|
\`\`\`
|
|
150
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
|
+
|
|
151
301
|
---
|
|
152
302
|
|
|
153
|
-
|
|
303
|
+
### ⚡ Method 3: wrapGoogleGenAI() — For the new @google/genai SDK
|
|
154
304
|
|
|
155
305
|
\`\`\`typescript
|
|
156
306
|
import { Leap360 } from 'leap360';
|
|
307
|
+
import { GoogleGenAI } from '@google/genai';
|
|
157
308
|
|
|
158
309
|
const leap = new Leap360({
|
|
159
|
-
apiKey:
|
|
310
|
+
apiKey: ${envVarRef},
|
|
160
311
|
projectId: '${projectId}',
|
|
312
|
+
serviceName: '${serviceName}',
|
|
161
313
|
});
|
|
162
314
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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!',
|
|
168
321
|
});
|
|
169
322
|
\`\`\`
|
|
170
323
|
|
|
171
324
|
---
|
|
172
325
|
|
|
173
|
-
##
|
|
326
|
+
## 🛑 Kill Switch (Emergency Stop)
|
|
174
327
|
|
|
175
|
-
Via dashboard
|
|
328
|
+
**Via dashboard:** Settings → Danger Zone → Suspend All Agents
|
|
176
329
|
|
|
177
|
-
|
|
330
|
+
**Suspend via API:**
|
|
178
331
|
\`\`\`bash
|
|
179
332
|
curl -X POST https://b0vyk178b7.execute-api.us-east-1.amazonaws.com/v1/projects/${projectId}/status \\
|
|
180
333
|
-H "x-api-key: ${apiKey}" \\
|
|
@@ -182,7 +335,7 @@ curl -X POST https://b0vyk178b7.execute-api.us-east-1.amazonaws.com/v1/projects/
|
|
|
182
335
|
-d '{"status":"SUSPENDED"}'
|
|
183
336
|
\`\`\`
|
|
184
337
|
|
|
185
|
-
Resume
|
|
338
|
+
**Resume:**
|
|
186
339
|
\`\`\`bash
|
|
187
340
|
curl -X POST https://b0vyk178b7.execute-api.us-east-1.amazonaws.com/v1/projects/${projectId}/status \\
|
|
188
341
|
-H "x-api-key: ${apiKey}" \\
|
|
@@ -192,41 +345,64 @@ curl -X POST https://b0vyk178b7.execute-api.us-east-1.amazonaws.com/v1/projects/
|
|
|
192
345
|
|
|
193
346
|
---
|
|
194
347
|
|
|
195
|
-
##
|
|
348
|
+
## 🎯 Policy Enforcement
|
|
196
349
|
|
|
197
350
|
Create a policy on the dashboard (Policies & Rules page), then every agent
|
|
198
351
|
response is evaluated by the LLM Judge. Actions:
|
|
199
352
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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\` |
|
|
203
358
|
|
|
204
359
|
---
|
|
205
360
|
|
|
206
361
|
Generated by \`npx leap360 setup\` on ${new Date().toISOString().split('T')[0]}
|
|
207
362
|
`;
|
|
208
363
|
// sample-node.ts
|
|
209
|
-
const sampleNode =
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
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({
|
|
213
373
|
apiKey: process.env.LEAP360_API_KEY!,
|
|
214
374
|
projectId: '${projectId}',
|
|
215
|
-
serviceName: '${serviceName}',
|
|
216
375
|
});
|
|
217
376
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
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/
|
|
230
406
|
`;
|
|
231
407
|
// sample-python.py
|
|
232
408
|
const samplePython = `from leap360 import Leap360
|
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,4FAA4F,CAAC,CAAC;IAE1G,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,KAAa,EAAmB,EAAE;QACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YACzE,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,0CAA0C,CAAC,IAAI,SAAS,CAAC;QAC7F,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,+CAA+C,CAAC,IAAI,YAAY,CAAC;QAEvG,0CAA0C;QAC1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzF,eAAe,CAAC;YACd,MAAM;YACN,MAAM;YACN,SAAS;YACT,WAAW;SACZ,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAEjD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,
|
|
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,19 +119,33 @@ 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
|
/**
|
|
107
|
-
* Polls the Cloud API periodically to check if the project
|
|
108
|
-
* suspended by the Kill Switch.
|
|
134
|
+
* Polls the Cloud API periodically to check if the project OR this specific
|
|
135
|
+
* agent/service has been suspended by the Kill Switch.
|
|
136
|
+
* This blocks LLM calls BEFORE they happen (pre-flight check).
|
|
109
137
|
*/
|
|
110
138
|
private startPollingStatus;
|
|
111
139
|
/**
|
|
112
140
|
* Patches common AI library prototypes to ensure all instances
|
|
113
141
|
* are automatically traced without manual wrapping.
|
|
114
142
|
* Supports both CommonJS (require) and ESM environments.
|
|
143
|
+
*
|
|
144
|
+
* Supported by autoInit:
|
|
145
|
+
* ✅ openai
|
|
146
|
+
* ✅ @google/generative-ai
|
|
147
|
+
* ❌ @google/genai (new SDK) — use wrapGoogleGenAI() instead
|
|
148
|
+
* ❌ @anthropic-ai/sdk — use traceCall() instead
|
|
115
149
|
*/
|
|
116
150
|
private patchGlobalPrototypes;
|
|
117
151
|
private wrapOpenAIPrototype;
|
|
@@ -146,16 +180,23 @@ export declare class Leap360 {
|
|
|
146
180
|
*/
|
|
147
181
|
wrapGemini<GeminiClient>(client: GeminiClient): GeminiClient;
|
|
148
182
|
/**
|
|
149
|
-
* Wraps the new
|
|
150
|
-
* `models.
|
|
183
|
+
* Wraps the new `@google/genai` GoogleGenAI client so every
|
|
184
|
+
* `models.generateContent` / `models.generateContentStream` call is traced.
|
|
185
|
+
*
|
|
186
|
+
* Use this when you are on the NEW @google/genai package (not @google/generative-ai).
|
|
151
187
|
*
|
|
152
188
|
* @example
|
|
153
|
-
* import
|
|
154
|
-
* const
|
|
155
|
-
* const
|
|
156
|
-
*
|
|
157
|
-
*
|
|
189
|
+
* import { GoogleGenAI } from '@google/genai';
|
|
190
|
+
* const leap = new Leap360({ apiKey, projectId, serviceName });
|
|
191
|
+
* const ai = leap.wrapGoogleGenAI(new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY }));
|
|
192
|
+
*
|
|
193
|
+
* const response = await ai.models.generateContent({
|
|
194
|
+
* model: 'gemini-2.0-flash',
|
|
195
|
+
* contents: 'Explain AI governance.',
|
|
158
196
|
* });
|
|
197
|
+
*
|
|
198
|
+
* ⚠️ The new SDK uses camelCase (generateContent), not snake_case (generate_content).
|
|
199
|
+
* Both variants are supported by this wrapper.
|
|
159
200
|
*/
|
|
160
201
|
wrapGoogleGenAI<GenAIClient>(client: GenAIClient): GenAIClient;
|
|
161
202
|
/**
|
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,63 +139,109 @@ 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
|
/**
|
|
132
|
-
* Polls the Cloud API periodically to check if the project
|
|
133
|
-
* suspended by the Kill Switch.
|
|
161
|
+
* Polls the Cloud API periodically to check if the project OR this specific
|
|
162
|
+
* agent/service has been suspended by the Kill Switch.
|
|
163
|
+
* This blocks LLM calls BEFORE they happen (pre-flight check).
|
|
134
164
|
*/
|
|
135
165
|
startPollingStatus() {
|
|
136
|
-
|
|
166
|
+
const poll = async () => {
|
|
137
167
|
try {
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
168
|
+
const base = this.config.baseUrl.replace(/\/$/, '');
|
|
169
|
+
// 1. Check global project kill switch
|
|
170
|
+
const projectUrl = `${base}/v1/projects/${this.config.projectId}/status`;
|
|
171
|
+
const projectRes = await fetch(projectUrl, { headers: { 'x-api-key': this.config.apiKey } });
|
|
172
|
+
if (projectRes.ok) {
|
|
173
|
+
const data = await projectRes.json();
|
|
174
|
+
const wasHalted = Leap360.isHalted;
|
|
143
175
|
Leap360.isHalted = data.status === 'SUSPENDED';
|
|
144
|
-
if (Leap360.isHalted && !
|
|
145
|
-
console.error('[Leap360] 🛡️
|
|
176
|
+
if (Leap360.isHalted && !wasHalted) {
|
|
177
|
+
console.error('[Leap360] 🛡️ CRITICAL: PROJECT SUSPENDED. All AI calls are blocked.');
|
|
146
178
|
}
|
|
147
|
-
else if (!Leap360.isHalted &&
|
|
179
|
+
else if (!Leap360.isHalted && wasHalted) {
|
|
148
180
|
console.log('[Leap360] 🟢 Project resumed. Agents are back online.');
|
|
149
181
|
}
|
|
150
182
|
}
|
|
183
|
+
// 2. Check per-agent / per-service kill switch
|
|
184
|
+
// The agent name is serviceName (set by autoInit) or a custom agentName
|
|
185
|
+
const agentId = encodeURIComponent(this.config.serviceName);
|
|
186
|
+
const agentUrl = `${base}/v1/agents/${agentId}/status`;
|
|
187
|
+
const agentRes = await fetch(agentUrl, { headers: { 'x-api-key': this.config.apiKey } });
|
|
188
|
+
if (agentRes.ok) {
|
|
189
|
+
const agentData = await agentRes.json();
|
|
190
|
+
const wasHalted = Leap360.isHalted;
|
|
191
|
+
const agentSuspended = agentData.status === 'SUSPENDED';
|
|
192
|
+
if (agentSuspended && !wasHalted) {
|
|
193
|
+
Leap360.isHalted = true;
|
|
194
|
+
console.error(`[Leap360] 🛡️ AGENT SUSPENDED: "${this.config.serviceName}" has been halted. AI calls are blocked.`);
|
|
195
|
+
}
|
|
196
|
+
else if (!agentSuspended && wasHalted && agentData.status === 'ACTIVE') {
|
|
197
|
+
// Only resume if the project is also not suspended
|
|
198
|
+
Leap360.isHalted = false;
|
|
199
|
+
console.log(`[Leap360] 🟢 Agent "${this.config.serviceName}" resumed.`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
151
202
|
}
|
|
152
203
|
catch (err) {
|
|
153
|
-
console.warn(`[Leap360]
|
|
204
|
+
console.warn(`[Leap360] Status poller error: ${err.message}`);
|
|
154
205
|
}
|
|
155
|
-
}
|
|
206
|
+
};
|
|
207
|
+
poll(); // immediate first check
|
|
208
|
+
setInterval(poll, 15_000); // Check every 15 seconds (was 30s)
|
|
156
209
|
}
|
|
157
210
|
/**
|
|
158
211
|
* Patches common AI library prototypes to ensure all instances
|
|
159
212
|
* are automatically traced without manual wrapping.
|
|
160
213
|
* Supports both CommonJS (require) and ESM environments.
|
|
214
|
+
*
|
|
215
|
+
* Supported by autoInit:
|
|
216
|
+
* ✅ openai
|
|
217
|
+
* ✅ @google/generative-ai
|
|
218
|
+
* ❌ @google/genai (new SDK) — use wrapGoogleGenAI() instead
|
|
219
|
+
* ❌ @anthropic-ai/sdk — use traceCall() instead
|
|
161
220
|
*/
|
|
162
221
|
patchGlobalPrototypes() {
|
|
222
|
+
let patchedCount = 0;
|
|
163
223
|
// --- Strategy 1: Direct prototype patch if class is on globalThis ---
|
|
164
224
|
const tryPatchFromGlobal = () => {
|
|
165
225
|
const OpenAI = globalThis.OpenAI;
|
|
166
|
-
if (OpenAI?.prototype)
|
|
226
|
+
if (OpenAI?.prototype) {
|
|
167
227
|
this.wrapOpenAIPrototype(OpenAI);
|
|
228
|
+
patchedCount++;
|
|
229
|
+
}
|
|
168
230
|
const GAI = globalThis.GoogleGenerativeAI;
|
|
169
|
-
if (GAI?.prototype)
|
|
231
|
+
if (GAI?.prototype) {
|
|
170
232
|
this.wrapGooglePrototype(GAI);
|
|
233
|
+
patchedCount++;
|
|
234
|
+
}
|
|
171
235
|
};
|
|
172
236
|
tryPatchFromGlobal();
|
|
173
237
|
// --- Strategy 2: Dynamic import (ESM) — patch after module loads ---
|
|
174
238
|
// Wrap @google/generative-ai via dynamic import
|
|
175
239
|
import('@google/generative-ai').then((mod) => {
|
|
176
240
|
const GAI = mod.GoogleGenerativeAI;
|
|
177
|
-
if (GAI?.prototype)
|
|
241
|
+
if (GAI?.prototype) {
|
|
178
242
|
this.wrapGooglePrototype(GAI);
|
|
243
|
+
patchedCount++;
|
|
244
|
+
}
|
|
179
245
|
}).catch(() => { });
|
|
180
246
|
// Wrap openai via dynamic import (optional peer dep - ignore TS errors)
|
|
181
247
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
@@ -184,11 +250,22 @@ export class Leap360 {
|
|
|
184
250
|
// Use Function to avoid TypeScript resolving the module at compile time
|
|
185
251
|
const mod = await (new Function("s", "return import(s)"))('openai');
|
|
186
252
|
const OpenAI = mod.default || mod.OpenAI;
|
|
187
|
-
if (OpenAI?.prototype)
|
|
253
|
+
if (OpenAI?.prototype) {
|
|
188
254
|
this.wrapOpenAIPrototype(OpenAI);
|
|
255
|
+
patchedCount++;
|
|
256
|
+
}
|
|
189
257
|
}
|
|
190
258
|
catch { /* openai not installed */ }
|
|
191
259
|
})();
|
|
260
|
+
// Warn after a short delay if nothing was patched — helps catch silent failures
|
|
261
|
+
setTimeout(() => {
|
|
262
|
+
if (patchedCount === 0) {
|
|
263
|
+
console.warn('[Leap360] ⚠️ autoInit() did not detect a supported LLM SDK (openai or @google/generative-ai).\n' +
|
|
264
|
+
' If you are using @google/genai (new SDK): use leap.wrapGoogleGenAI(client) instead.\n' +
|
|
265
|
+
' If you are using Anthropic, Mistral, or another LLM: use leap.traceCall() instead.\n' +
|
|
266
|
+
' See: https://leap360.ai/docs/sdk-compatibility');
|
|
267
|
+
}
|
|
268
|
+
}, 3000);
|
|
192
269
|
}
|
|
193
270
|
wrapOpenAIPrototype(OpenAIClass) {
|
|
194
271
|
const self = this;
|
|
@@ -359,7 +436,9 @@ export class Leap360 {
|
|
|
359
436
|
const traceBody = buildTraceBody({
|
|
360
437
|
projectId: this.config.projectId,
|
|
361
438
|
serviceName: this.config.serviceName,
|
|
362
|
-
|
|
439
|
+
// Use explicit agentName from createAgent context, or fall back to serviceName
|
|
440
|
+
// so per-agent suspend works for autoInit users who never call createAgent
|
|
441
|
+
agentName: runCtx?.agentName ?? this.config.serviceName,
|
|
363
442
|
runId: runCtx?.runId,
|
|
364
443
|
provider,
|
|
365
444
|
model,
|
|
@@ -401,7 +480,8 @@ export class Leap360 {
|
|
|
401
480
|
const traceBody = buildTraceBody({
|
|
402
481
|
projectId: this.config.projectId,
|
|
403
482
|
serviceName: this.config.serviceName,
|
|
404
|
-
|
|
483
|
+
// Use explicit agentName from createAgent context, or fall back to serviceName
|
|
484
|
+
agentName: runCtx?.agentName ?? this.config.serviceName,
|
|
405
485
|
runId: runCtx?.runId,
|
|
406
486
|
provider,
|
|
407
487
|
model,
|
|
@@ -431,6 +511,12 @@ export class Leap360 {
|
|
|
431
511
|
violation
|
|
432
512
|
};
|
|
433
513
|
}
|
|
514
|
+
// Check for per-agent halt
|
|
515
|
+
if (res && res.code === 'AGENT_HALT') {
|
|
516
|
+
const serverMessage = res.message || 'Agent is suspended';
|
|
517
|
+
console.error(`[Leap360] 🛡️ AGENT SUSPENDED: ${serverMessage}`);
|
|
518
|
+
return { blocked: true, message: serverMessage };
|
|
519
|
+
}
|
|
434
520
|
return { blocked: false };
|
|
435
521
|
}
|
|
436
522
|
catch (e) {
|
|
@@ -613,31 +699,55 @@ export class Leap360 {
|
|
|
613
699
|
};
|
|
614
700
|
return client;
|
|
615
701
|
}
|
|
616
|
-
// ── Google GenAI (new
|
|
702
|
+
// ── Google GenAI (new SDK: @google/genai) auto-wrap ──────────────────────
|
|
617
703
|
/**
|
|
618
|
-
* Wraps the new
|
|
619
|
-
* `models.
|
|
704
|
+
* Wraps the new `@google/genai` GoogleGenAI client so every
|
|
705
|
+
* `models.generateContent` / `models.generateContentStream` call is traced.
|
|
706
|
+
*
|
|
707
|
+
* Use this when you are on the NEW @google/genai package (not @google/generative-ai).
|
|
620
708
|
*
|
|
621
709
|
* @example
|
|
622
|
-
* import
|
|
623
|
-
* const
|
|
624
|
-
* const
|
|
625
|
-
*
|
|
626
|
-
*
|
|
710
|
+
* import { GoogleGenAI } from '@google/genai';
|
|
711
|
+
* const leap = new Leap360({ apiKey, projectId, serviceName });
|
|
712
|
+
* const ai = leap.wrapGoogleGenAI(new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY }));
|
|
713
|
+
*
|
|
714
|
+
* const response = await ai.models.generateContent({
|
|
715
|
+
* model: 'gemini-2.0-flash',
|
|
716
|
+
* contents: 'Explain AI governance.',
|
|
627
717
|
* });
|
|
718
|
+
*
|
|
719
|
+
* ⚠️ The new SDK uses camelCase (generateContent), not snake_case (generate_content).
|
|
720
|
+
* Both variants are supported by this wrapper.
|
|
628
721
|
*/
|
|
629
722
|
wrapGoogleGenAI(client) {
|
|
630
723
|
const self = this;
|
|
631
724
|
const c = client;
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
725
|
+
if (!c.models || typeof c.models !== 'object') {
|
|
726
|
+
console.warn('[Leap360] wrapGoogleGenAI: client.models is undefined. Ensure you are passing a GoogleGenAI instance.');
|
|
727
|
+
return client;
|
|
728
|
+
}
|
|
729
|
+
// Support both camelCase (new @google/genai) and snake_case (older variants)
|
|
730
|
+
const generateFnName = typeof c.models.generateContent === 'function' ? 'generateContent' :
|
|
731
|
+
typeof c.models.generate_content === 'function' ? 'generate_content' :
|
|
732
|
+
null;
|
|
733
|
+
const streamFnName = typeof c.models.generateContentStream === 'function' ? 'generateContentStream' :
|
|
734
|
+
typeof c.models.generate_content_stream === 'function' ? 'generate_content_stream' :
|
|
735
|
+
null;
|
|
736
|
+
if (!generateFnName) {
|
|
737
|
+
console.warn('[Leap360] wrapGoogleGenAI: could not find generateContent or generate_content on client.models.\n' +
|
|
738
|
+
' Ensure you are passing a GoogleGenAI instance from @google/genai.\n' +
|
|
739
|
+
' Falling back to untraced client.');
|
|
740
|
+
return client;
|
|
741
|
+
}
|
|
742
|
+
// Wrap generateContent / generate_content
|
|
743
|
+
const originalGenerate = c.models[generateFnName].bind(c.models);
|
|
744
|
+
c.models[generateFnName] = async (params) => {
|
|
635
745
|
if (Leap360.isHalted) {
|
|
636
746
|
throw new Error('[Leap360] 🛡️ GOVERNANCE_HALT: Project is SUSPENDED. AI calls are blocked.');
|
|
637
747
|
}
|
|
638
748
|
const startTime = Date.now();
|
|
639
749
|
const runCtx = getRunContextStorage().getStore();
|
|
640
|
-
const modelName = (params?.model ?? 'gemini
|
|
750
|
+
const modelName = (params?.model ?? 'gemini');
|
|
641
751
|
let response = null;
|
|
642
752
|
let error = null;
|
|
643
753
|
try {
|
|
@@ -649,58 +759,59 @@ export class Leap360 {
|
|
|
649
759
|
}
|
|
650
760
|
// Synchronous trace with policy blocking check
|
|
651
761
|
try {
|
|
652
|
-
const blockResult = await self.sendTraceAndCheckBlock('google', { contents: params.contents }, response,
|
|
762
|
+
const blockResult = await self.sendTraceAndCheckBlock('google', { contents: params.contents ?? params.prompt ?? params }, response, error, startTime, runCtx, modelName);
|
|
653
763
|
if (blockResult?.blocked) {
|
|
654
764
|
throw new Error(`[Leap360] 🛡️ POLICY_BLOCKED: ${blockResult.message}`);
|
|
655
765
|
}
|
|
656
766
|
}
|
|
657
767
|
catch (traceErr) {
|
|
658
|
-
if (traceErr.message?.includes('POLICY_BLOCKED'))
|
|
768
|
+
if (traceErr.message?.includes('POLICY_BLOCKED'))
|
|
659
769
|
throw traceErr;
|
|
660
|
-
}
|
|
661
770
|
console.warn('[Leap360] Trace failed:', traceErr.message);
|
|
662
771
|
}
|
|
663
772
|
return response;
|
|
664
773
|
};
|
|
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
|
-
|
|
774
|
+
// Wrap generateContentStream / generate_content_stream if present
|
|
775
|
+
if (streamFnName) {
|
|
776
|
+
const originalStream = c.models[streamFnName].bind(c.models);
|
|
777
|
+
c.models[streamFnName] = async (params) => {
|
|
778
|
+
if (Leap360.isHalted) {
|
|
779
|
+
throw new Error('[Leap360] 🛡️ GOVERNANCE_HALT: Project is SUSPENDED. AI calls are blocked.');
|
|
780
|
+
}
|
|
781
|
+
const startTime = Date.now();
|
|
782
|
+
const runCtx = getRunContextStorage().getStore();
|
|
783
|
+
const modelName = (params?.model ?? 'gemini');
|
|
784
|
+
let error = null;
|
|
785
|
+
let result = null;
|
|
786
|
+
try {
|
|
787
|
+
result = await originalStream(params);
|
|
788
|
+
}
|
|
789
|
+
catch (err) {
|
|
790
|
+
error = err;
|
|
791
|
+
throw err;
|
|
792
|
+
}
|
|
793
|
+
finally {
|
|
794
|
+
const latencyMs = Date.now() - startTime;
|
|
795
|
+
const traceBody = buildTraceBody({
|
|
796
|
+
projectId: self.config.projectId,
|
|
797
|
+
serviceName: self.config.serviceName,
|
|
798
|
+
agentName: runCtx?.agentName ?? self.config.serviceName,
|
|
799
|
+
runId: runCtx?.runId,
|
|
800
|
+
provider: 'google',
|
|
801
|
+
model: modelName,
|
|
802
|
+
request: { contents: params.contents ?? params.prompt ?? params },
|
|
803
|
+
response: null,
|
|
804
|
+
latencyMs,
|
|
805
|
+
usage: { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 },
|
|
806
|
+
timestamp: new Date(startTime).toISOString(),
|
|
807
|
+
error: error ? (error instanceof Error ? error.message : String(error)) : null,
|
|
808
|
+
});
|
|
809
|
+
postTrace(self.config.baseUrl, self.config.apiKey, traceBody, false)
|
|
810
|
+
.catch(e => console.error('[Leap360]', e));
|
|
811
|
+
}
|
|
812
|
+
return result;
|
|
813
|
+
};
|
|
814
|
+
}
|
|
704
815
|
return client;
|
|
705
816
|
}
|
|
706
817
|
// ── 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.1",
|
|
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",
|