nervepay 1.4.3 → 1.4.6
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/bin/nervepay-cli.js +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +195 -9
- package/dist/index.js.map +1 -1
- package/dist/tools/analytics.d.ts +21 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +91 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/vault.d.ts +9 -2
- package/dist/tools/vault.d.ts.map +1 -1
- package/dist/tools/vault.js +31 -2
- package/dist/tools/vault.js.map +1 -1
- package/openclaw.plugin.json +6 -2
- package/package.json +1 -1
package/bin/nervepay-cli.js
CHANGED
|
@@ -923,9 +923,8 @@ program
|
|
|
923
923
|
return;
|
|
924
924
|
}
|
|
925
925
|
|
|
926
|
-
result.secrets.forEach((
|
|
927
|
-
log(bold(`${i + 1}. ${
|
|
928
|
-
field(' Updated', new Date(s.updated_at).toLocaleDateString());
|
|
926
|
+
result.secrets.forEach((secretName, i) => {
|
|
927
|
+
log(bold(`${i + 1}. ${secretName}`));
|
|
929
928
|
});
|
|
930
929
|
console.log();
|
|
931
930
|
} catch (error) {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,QAqzBxC"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import * as identity from './tools/identity.js';
|
|
|
7
7
|
import * as gateway from './tools/gateway.js';
|
|
8
8
|
import * as vault from './tools/vault.js';
|
|
9
9
|
import * as orchestration from './tools/orchestration.js';
|
|
10
|
+
import * as analytics from './tools/analytics.js';
|
|
10
11
|
import { runSetup } from './setup.js';
|
|
11
12
|
export default function register(api) {
|
|
12
13
|
// Get plugin config from OpenClaw
|
|
@@ -209,7 +210,7 @@ export default function register(api) {
|
|
|
209
210
|
// =========================================================================
|
|
210
211
|
api.registerTool({
|
|
211
212
|
name: 'nervepay_list_secrets',
|
|
212
|
-
description: 'List all secrets
|
|
213
|
+
description: 'List all available secrets stored in the vault. Use this when the user asks "what secrets do I have?" or "list my API keys". Returns only secret names, not values.',
|
|
213
214
|
parameters: { type: 'object', properties: {} },
|
|
214
215
|
handler: async () => {
|
|
215
216
|
return await vault.listSecrets(client);
|
|
@@ -217,14 +218,14 @@ export default function register(api) {
|
|
|
217
218
|
});
|
|
218
219
|
api.registerTool({
|
|
219
220
|
name: 'nervepay_get_secret',
|
|
220
|
-
description: 'Get
|
|
221
|
+
description: 'Get a secret value from the vault. Use this when the user asks for an API key, token, or password by name (e.g., "get my OPENAI_API_KEY" or "use my GitHub token"). Returns the decrypted secret value.',
|
|
221
222
|
parameters: {
|
|
222
223
|
type: 'object',
|
|
223
224
|
required: ['secret_name'],
|
|
224
225
|
properties: {
|
|
225
226
|
secret_name: {
|
|
226
227
|
type: 'string',
|
|
227
|
-
description: '
|
|
228
|
+
description: 'The name of the secret to retrieve (e.g., "OPENAI_API_KEY", "GITHUB_TOKEN")',
|
|
228
229
|
},
|
|
229
230
|
},
|
|
230
231
|
},
|
|
@@ -234,7 +235,7 @@ export default function register(api) {
|
|
|
234
235
|
});
|
|
235
236
|
api.registerTool({
|
|
236
237
|
name: 'nervepay_get_secrets',
|
|
237
|
-
description: 'Get multiple
|
|
238
|
+
description: 'Get multiple secret values at once from the vault. Use this when you need several secrets for a task (e.g., "get my OpenAI and Anthropic API keys"). More efficient than calling nervepay_get_secret multiple times.',
|
|
238
239
|
parameters: {
|
|
239
240
|
type: 'object',
|
|
240
241
|
required: ['secret_names'],
|
|
@@ -242,7 +243,7 @@ export default function register(api) {
|
|
|
242
243
|
secret_names: {
|
|
243
244
|
type: 'array',
|
|
244
245
|
items: { type: 'string' },
|
|
245
|
-
description: 'Array of secret names',
|
|
246
|
+
description: 'Array of secret names to retrieve (e.g., ["OPENAI_API_KEY", "ANTHROPIC_API_KEY"])',
|
|
246
247
|
},
|
|
247
248
|
},
|
|
248
249
|
},
|
|
@@ -342,6 +343,175 @@ export default function register(api) {
|
|
|
342
343
|
},
|
|
343
344
|
});
|
|
344
345
|
}
|
|
346
|
+
const secretCache = new Map();
|
|
347
|
+
const CACHE_TTL = 30000; // 30 seconds (not 5 minutes - security first)
|
|
348
|
+
/**
|
|
349
|
+
* Get secret with short-lived cache
|
|
350
|
+
* Each secret cached individually, not bulk loaded
|
|
351
|
+
*/
|
|
352
|
+
async function getCachedSecret(secretName) {
|
|
353
|
+
const now = Date.now();
|
|
354
|
+
const cached = secretCache.get(secretName);
|
|
355
|
+
if (cached && cached.expiresAt > now) {
|
|
356
|
+
return cached.value;
|
|
357
|
+
}
|
|
358
|
+
try {
|
|
359
|
+
const { secret } = await vault.getSecret(client, secretName);
|
|
360
|
+
secretCache.set(secretName, {
|
|
361
|
+
value: secret.value,
|
|
362
|
+
expiresAt: now + CACHE_TTL,
|
|
363
|
+
});
|
|
364
|
+
return secret.value;
|
|
365
|
+
}
|
|
366
|
+
catch {
|
|
367
|
+
return null;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Create isolated environment for tool execution
|
|
372
|
+
* Only includes secrets the tool explicitly declares
|
|
373
|
+
*/
|
|
374
|
+
async function createToolEnv(toolName, toolConfig) {
|
|
375
|
+
const env = {};
|
|
376
|
+
// Get secret requirements from tool config/manifest
|
|
377
|
+
// OpenClaw tools can declare: { secretsRequired: ['OPENAI_API_KEY', 'ANTHROPIC_API_KEY'] }
|
|
378
|
+
const requiredSecrets = toolConfig?.secretsRequired || [];
|
|
379
|
+
for (const secretName of requiredSecrets) {
|
|
380
|
+
const value = await getCachedSecret(secretName);
|
|
381
|
+
if (value) {
|
|
382
|
+
env[secretName] = value;
|
|
383
|
+
// Also add UPPER_CASE version if different
|
|
384
|
+
const upperName = secretName.toUpperCase().replace(/[^A-Z0-9]/g, '_');
|
|
385
|
+
if (upperName !== secretName) {
|
|
386
|
+
env[upperName] = value;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
else {
|
|
390
|
+
console.warn(`Tool "${toolName}" requires secret "${secretName}" but it's not found in vault`);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
return env;
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Common env vars that most tools expect (auto-injected)
|
|
397
|
+
* Only these are checked automatically - all others must be declared
|
|
398
|
+
*/
|
|
399
|
+
const COMMON_SECRET_NAMES = [
|
|
400
|
+
'OPENAI_API_KEY',
|
|
401
|
+
'ANTHROPIC_API_KEY',
|
|
402
|
+
'GOOGLE_API_KEY',
|
|
403
|
+
'GITHUB_TOKEN',
|
|
404
|
+
'SLACK_TOKEN',
|
|
405
|
+
'DISCORD_TOKEN',
|
|
406
|
+
];
|
|
407
|
+
/**
|
|
408
|
+
* Auto-discover common secrets without explicit declaration
|
|
409
|
+
*/
|
|
410
|
+
async function loadCommonSecrets() {
|
|
411
|
+
const env = {};
|
|
412
|
+
for (const secretName of COMMON_SECRET_NAMES) {
|
|
413
|
+
const value = await getCachedSecret(secretName);
|
|
414
|
+
if (value) {
|
|
415
|
+
env[secretName] = value;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return env;
|
|
419
|
+
}
|
|
420
|
+
// Hook: Before tool execution - inject secrets securely
|
|
421
|
+
// Only enabled if agent identity is configured (has credentials)
|
|
422
|
+
if (config.agentDid && config.privateKey) {
|
|
423
|
+
// Check if API supports registerHook (may need to use api.on instead)
|
|
424
|
+
if (typeof api.registerHook === 'function') {
|
|
425
|
+
api.registerHook('tool:before', async (ctx) => {
|
|
426
|
+
try {
|
|
427
|
+
// Create isolated env for this tool execution
|
|
428
|
+
const toolEnv = await createToolEnv(ctx.toolName, ctx.toolConfig);
|
|
429
|
+
// Also load common secrets (API keys everyone needs)
|
|
430
|
+
const commonEnv = await loadCommonSecrets();
|
|
431
|
+
// Merge environments (tool-specific takes precedence)
|
|
432
|
+
const isolatedEnv = { ...commonEnv, ...toolEnv };
|
|
433
|
+
// SECURITY: Don't modify global process.env
|
|
434
|
+
// Instead, pass env via execution context
|
|
435
|
+
ctx.env = isolatedEnv;
|
|
436
|
+
// For tools that can't access ctx.env, create temporary env scope
|
|
437
|
+
// This requires OpenClaw API support for scoped env injection
|
|
438
|
+
// @ts-ignore - API may not have type definitions
|
|
439
|
+
if (api.toolExecutionSupportsEnv) {
|
|
440
|
+
ctx.options = { ...ctx.options, env: isolatedEnv };
|
|
441
|
+
}
|
|
442
|
+
else {
|
|
443
|
+
// Fallback: Temporarily modify process.env, restore after
|
|
444
|
+
ctx._originalEnv = { ...process.env };
|
|
445
|
+
Object.assign(process.env, isolatedEnv);
|
|
446
|
+
}
|
|
447
|
+
// Track tool call start (for duration calculation)
|
|
448
|
+
ctx._toolStartTime = Date.now();
|
|
449
|
+
// Audit: Log secret access
|
|
450
|
+
if (config.enableAnalytics && Object.keys(toolEnv).length > 0) {
|
|
451
|
+
await analytics.trackVaultAccess(client, Object.keys(toolEnv), ctx.toolName);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
catch (err) {
|
|
455
|
+
console.error('Failed to inject env vars:', err);
|
|
456
|
+
}
|
|
457
|
+
});
|
|
458
|
+
// Hook: After tool execution - cleanup and track
|
|
459
|
+
api.registerHook('tool:after', async (ctx) => {
|
|
460
|
+
try {
|
|
461
|
+
// SECURITY: Restore original env if we modified it
|
|
462
|
+
if (ctx._originalEnv) {
|
|
463
|
+
// Remove injected secrets
|
|
464
|
+
Object.keys(ctx.env || {}).forEach(key => {
|
|
465
|
+
if (!(key in ctx._originalEnv)) {
|
|
466
|
+
delete process.env[key];
|
|
467
|
+
}
|
|
468
|
+
});
|
|
469
|
+
// Restore original values
|
|
470
|
+
Object.assign(process.env, ctx._originalEnv);
|
|
471
|
+
}
|
|
472
|
+
// Clear sensitive data from context
|
|
473
|
+
delete ctx.env;
|
|
474
|
+
delete ctx._originalEnv;
|
|
475
|
+
// Track analytics
|
|
476
|
+
if (config.enableAnalytics) {
|
|
477
|
+
const duration = ctx._toolStartTime ? Date.now() - ctx._toolStartTime : 0;
|
|
478
|
+
const success = !ctx.error;
|
|
479
|
+
await analytics.trackToolCall(client, ctx.toolName, duration, success, ctx.error?.message);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
catch (err) {
|
|
483
|
+
console.error('Cleanup failed:', err);
|
|
484
|
+
}
|
|
485
|
+
});
|
|
486
|
+
// Hook: Chat message - track analytics
|
|
487
|
+
if (config.enableAnalytics) {
|
|
488
|
+
api.registerHook('message:received', async (ctx) => {
|
|
489
|
+
try {
|
|
490
|
+
const isCommand = ctx.message?.text?.startsWith('/') || false;
|
|
491
|
+
const messageLength = ctx.message?.text?.length || 0;
|
|
492
|
+
const channel = ctx.channel || 'unknown';
|
|
493
|
+
await analytics.trackChatMessage(client, channel, messageLength, isCommand);
|
|
494
|
+
}
|
|
495
|
+
catch (err) {
|
|
496
|
+
console.error('Analytics tracking failed:', err);
|
|
497
|
+
}
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
// Periodic cache cleanup to prevent memory leaks
|
|
501
|
+
setInterval(() => {
|
|
502
|
+
const now = Date.now();
|
|
503
|
+
for (const [key, entry] of secretCache.entries()) {
|
|
504
|
+
if (entry.expiresAt < now) {
|
|
505
|
+
secretCache.delete(key);
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
}, 60000); // Clean up every minute
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
console.warn('OpenClaw hook API not available - env injection and analytics tracking disabled');
|
|
512
|
+
console.warn('To enable, ensure OpenClaw version supports api.registerHook()');
|
|
513
|
+
}
|
|
514
|
+
}
|
|
345
515
|
// =========================================================================
|
|
346
516
|
// GATEWAY RPC METHODS
|
|
347
517
|
// =========================================================================
|
|
@@ -482,7 +652,7 @@ export default function register(api) {
|
|
|
482
652
|
output(result, opts, (secrets) => {
|
|
483
653
|
if (!secrets?.length)
|
|
484
654
|
return 'No secrets stored.';
|
|
485
|
-
return secrets.map((
|
|
655
|
+
return secrets.map((secretName, i) => `${i + 1}. ${secretName}`).join('\n');
|
|
486
656
|
});
|
|
487
657
|
}
|
|
488
658
|
catch (error) {
|
|
@@ -524,18 +694,34 @@ export default function register(api) {
|
|
|
524
694
|
identityInfo = '\n⚠️ Identity configured but authentication failed';
|
|
525
695
|
}
|
|
526
696
|
}
|
|
697
|
+
let secretsInfo = '';
|
|
698
|
+
if (hasIdentity) {
|
|
699
|
+
try {
|
|
700
|
+
const secretsList = await vault.listSecrets(client);
|
|
701
|
+
const secretCount = secretsList.secrets?.length || 0;
|
|
702
|
+
secretsInfo = `\nVault: ${secretCount} secret${secretCount !== 1 ? 's' : ''} stored`;
|
|
703
|
+
}
|
|
704
|
+
catch {
|
|
705
|
+
secretsInfo = '\nVault: Available';
|
|
706
|
+
}
|
|
707
|
+
}
|
|
527
708
|
return {
|
|
528
709
|
text: `🔐 NervePay Plugin Status
|
|
529
710
|
|
|
530
|
-
Identity: ${hasIdentity ? 'Configured' : 'Not configured'}${identityInfo}
|
|
711
|
+
Identity: ${hasIdentity ? 'Configured' : 'Not configured'}${identityInfo}${secretsInfo}
|
|
531
712
|
|
|
532
713
|
API: ${config.apiUrl || 'https://api.nervepay.xyz'}
|
|
533
714
|
Orchestration: ${config.enableOrchestration ? 'Enabled' : 'Disabled'}
|
|
534
715
|
|
|
535
|
-
${hasIdentity ? 'Use nervepay_* tools for identity, vault, and gateway management
|
|
716
|
+
${hasIdentity ? 'Use nervepay_* tools for identity, vault, and gateway management.\nVault Tools: nervepay_list_secrets, nervepay_get_secret, nervepay_get_secrets' : 'Register identity with nervepay_register_identity tool.'}`,
|
|
536
717
|
};
|
|
537
718
|
},
|
|
538
719
|
});
|
|
539
|
-
|
|
720
|
+
if (config.agentDid && config.privateKey) {
|
|
721
|
+
console.log('✅ NervePay plugin loaded - Agent identity configured, vault available');
|
|
722
|
+
}
|
|
723
|
+
else {
|
|
724
|
+
console.log('✅ NervePay plugin loaded - Run "nervepay setup" to configure identity and vault');
|
|
725
|
+
}
|
|
540
726
|
}
|
|
541
727
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics tracking tools - Track events for reputation and insights
|
|
3
|
+
*/
|
|
4
|
+
import type { NervePayClient } from '../utils/client.js';
|
|
5
|
+
/**
|
|
6
|
+
* Track tool execution
|
|
7
|
+
*/
|
|
8
|
+
export declare function trackToolCall(client: NervePayClient, toolName: string, durationMs: number, success: boolean, errorMessage?: string): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Track chat message
|
|
11
|
+
*/
|
|
12
|
+
export declare function trackChatMessage(client: NervePayClient, channel: string, messageLength: number, isCommand: boolean): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Track integration event
|
|
15
|
+
*/
|
|
16
|
+
export declare function trackIntegration(client: NervePayClient, integrationName: string, eventType: 'connected' | 'disconnected' | 'error', errorMessage?: string): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Track vault secret access
|
|
19
|
+
*/
|
|
20
|
+
export declare function trackVaultAccess(client: NervePayClient, secretNames: string[], toolName: string): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,WAAW,GAAG,cAAc,GAAG,OAAO,EACjD,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics tracking tools - Track events for reputation and insights
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Track tool execution
|
|
6
|
+
*/
|
|
7
|
+
export async function trackToolCall(client, toolName, durationMs, success, errorMessage) {
|
|
8
|
+
try {
|
|
9
|
+
await client.post('/v1/analytics/track', {
|
|
10
|
+
event_name: success ? 'tool.success' : 'tool.failed',
|
|
11
|
+
properties: {
|
|
12
|
+
tool_name: toolName,
|
|
13
|
+
tool_duration_ms: durationMs,
|
|
14
|
+
},
|
|
15
|
+
context: {
|
|
16
|
+
duration_ms: durationMs,
|
|
17
|
+
error_message: errorMessage,
|
|
18
|
+
},
|
|
19
|
+
status: success ? 'success' : 'failed',
|
|
20
|
+
}, true);
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
// Silent fail - don't break tool execution if analytics fails
|
|
24
|
+
console.error('Analytics tracking failed:', err);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Track chat message
|
|
29
|
+
*/
|
|
30
|
+
export async function trackChatMessage(client, channel, messageLength, isCommand) {
|
|
31
|
+
try {
|
|
32
|
+
await client.post('/v1/analytics/track', {
|
|
33
|
+
event_name: isCommand ? 'chat.command_executed' : 'chat.message_sent',
|
|
34
|
+
properties: {
|
|
35
|
+
channel,
|
|
36
|
+
message_length: messageLength,
|
|
37
|
+
},
|
|
38
|
+
context: {},
|
|
39
|
+
status: 'success',
|
|
40
|
+
}, true);
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
console.error('Analytics tracking failed:', err);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Track integration event
|
|
48
|
+
*/
|
|
49
|
+
export async function trackIntegration(client, integrationName, eventType, errorMessage) {
|
|
50
|
+
const eventNameMap = {
|
|
51
|
+
connected: 'integration.connected',
|
|
52
|
+
disconnected: 'integration.disconnected',
|
|
53
|
+
error: 'integration.error',
|
|
54
|
+
};
|
|
55
|
+
try {
|
|
56
|
+
await client.post('/v1/analytics/track', {
|
|
57
|
+
event_name: eventNameMap[eventType],
|
|
58
|
+
properties: {
|
|
59
|
+
integration: integrationName,
|
|
60
|
+
},
|
|
61
|
+
context: {
|
|
62
|
+
error_message: errorMessage,
|
|
63
|
+
},
|
|
64
|
+
status: eventType === 'error' ? 'failed' : 'success',
|
|
65
|
+
}, true);
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
console.error('Analytics tracking failed:', err);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Track vault secret access
|
|
73
|
+
*/
|
|
74
|
+
export async function trackVaultAccess(client, secretNames, toolName) {
|
|
75
|
+
try {
|
|
76
|
+
await client.post('/v1/analytics/track', {
|
|
77
|
+
event_name: 'vault.secret_accessed',
|
|
78
|
+
properties: {
|
|
79
|
+
secret_count: secretNames.length,
|
|
80
|
+
secret_names: secretNames.join(','),
|
|
81
|
+
tool_name: toolName,
|
|
82
|
+
},
|
|
83
|
+
context: {},
|
|
84
|
+
status: 'success',
|
|
85
|
+
}, true);
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
console.error('Analytics tracking failed:', err);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/vault.d.ts
CHANGED
|
@@ -13,10 +13,12 @@ export interface SecretWithValue extends Secret {
|
|
|
13
13
|
value: string;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
* List all secrets (
|
|
16
|
+
* List all secrets (agent endpoint returns only secret names as strings)
|
|
17
|
+
* Note: The agent endpoint /v1/vault/secrets returns { secrets: string[] }
|
|
18
|
+
* not { secrets: Secret[] } due to security - agents only see names, not metadata
|
|
17
19
|
*/
|
|
18
20
|
export declare function listSecrets(client: NervePayClient): Promise<{
|
|
19
|
-
secrets:
|
|
21
|
+
secrets: string[];
|
|
20
22
|
}>;
|
|
21
23
|
/**
|
|
22
24
|
* Get secret value by name
|
|
@@ -36,4 +38,9 @@ export declare function getSecretOrDefault(client: NervePayClient, secretName: s
|
|
|
36
38
|
* Helper: Check if secret exists
|
|
37
39
|
*/
|
|
38
40
|
export declare function hasSecret(client: NervePayClient, secretName: string): Promise<boolean>;
|
|
41
|
+
/**
|
|
42
|
+
* Load all secrets as environment variables
|
|
43
|
+
* Returns an object suitable for process.env or tool config
|
|
44
|
+
*/
|
|
45
|
+
export declare function loadSecretsAsEnv(client: NervePayClient): Promise<Record<string, string>>;
|
|
39
46
|
//# sourceMappingURL=vault.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/tools/vault.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC7C,KAAK,EAAE,MAAM,CAAC;CACf;AAED
|
|
1
|
+
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/tools/vault.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC7C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAEhC;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC,CAEtC;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAcjC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAsBjC"}
|
package/dist/tools/vault.js
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
* Vault tools - Secure secrets management
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* List all secrets (
|
|
5
|
+
* List all secrets (agent endpoint returns only secret names as strings)
|
|
6
|
+
* Note: The agent endpoint /v1/vault/secrets returns { secrets: string[] }
|
|
7
|
+
* not { secrets: Secret[] } due to security - agents only see names, not metadata
|
|
6
8
|
*/
|
|
7
9
|
export async function listSecrets(client) {
|
|
8
10
|
return client.get('/v1/vault/secrets', true);
|
|
@@ -48,10 +50,37 @@ export async function getSecretOrDefault(client, secretName, defaultValue) {
|
|
|
48
50
|
export async function hasSecret(client, secretName) {
|
|
49
51
|
try {
|
|
50
52
|
const { secrets } = await listSecrets(client);
|
|
51
|
-
return secrets.
|
|
53
|
+
return secrets.includes(secretName);
|
|
52
54
|
}
|
|
53
55
|
catch {
|
|
54
56
|
return false;
|
|
55
57
|
}
|
|
56
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Load all secrets as environment variables
|
|
61
|
+
* Returns an object suitable for process.env or tool config
|
|
62
|
+
*/
|
|
63
|
+
export async function loadSecretsAsEnv(client) {
|
|
64
|
+
try {
|
|
65
|
+
const { secrets } = await listSecrets(client);
|
|
66
|
+
const env = {};
|
|
67
|
+
for (const secretName of secrets) {
|
|
68
|
+
try {
|
|
69
|
+
const { secret: secretData } = await getSecret(client, secretName);
|
|
70
|
+
// Convert name to UPPER_CASE for standard env var format
|
|
71
|
+
const envKey = secretName.toUpperCase().replace(/[^A-Z0-9]/g, '_');
|
|
72
|
+
env[envKey] = secretData.value;
|
|
73
|
+
env[secretName] = secretData.value; // Also keep original name
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
console.warn(`Failed to load secret "${secretName}":`, err);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return env;
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
console.error('Failed to load secrets as env:', err);
|
|
83
|
+
return {};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
57
86
|
//# sourceMappingURL=vault.js.map
|
package/dist/tools/vault.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/tools/vault.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH
|
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/tools/vault.ts"],"names":[],"mappings":"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"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
},
|
|
48
48
|
"enableAnalytics": {
|
|
49
49
|
"type": "boolean",
|
|
50
|
-
"description": "Enable analytics tracking",
|
|
51
|
-
"default":
|
|
50
|
+
"description": "Enable analytics tracking for chat, tool usage, and integration events",
|
|
51
|
+
"default": true
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"required": []
|
|
@@ -83,6 +83,10 @@
|
|
|
83
83
|
"enableOrchestration": {
|
|
84
84
|
"label": "Enable Orchestration",
|
|
85
85
|
"description": "Allows spawning sub-agents and managing tasks"
|
|
86
|
+
},
|
|
87
|
+
"enableAnalytics": {
|
|
88
|
+
"label": "Enable Analytics",
|
|
89
|
+
"description": "Track chat, tool usage, and integration events for reputation and insights"
|
|
86
90
|
}
|
|
87
91
|
}
|
|
88
92
|
}
|