@ayurak/sdk 1.1.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +322 -4
- package/dist/index.d.mts +295 -1
- package/dist/index.d.ts +295 -1
- package/dist/index.js +253 -2
- package/dist/index.mjs +247 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -277,8 +277,16 @@ console.log(`Monthly cost: $${cost.total_monthly_cost}`);
|
|
|
277
277
|
// Get component cost
|
|
278
278
|
const componentCost = await client.economics.getComponentCost(componentId);
|
|
279
279
|
|
|
280
|
-
// Get economic intelligence
|
|
280
|
+
// Get economic intelligence (includes Strategic Cost Optimization)
|
|
281
281
|
const intel = await client.economics.getEconomicIntelligence();
|
|
282
|
+
// Returns: { status: 'success', provider: 'aws', pricing: {...},
|
|
283
|
+
// strategic_optimization: { current: {...}, previous: {...} } }
|
|
284
|
+
|
|
285
|
+
// Refresh Strategic Cost Optimization recommendations (AI-powered)
|
|
286
|
+
// Moves current recommendations to "previous" and generates new ones
|
|
287
|
+
const refresh = await client.economics.refreshRecommendations();
|
|
288
|
+
// Returns: { status: 'success', message: 'Recommendations refreshed',
|
|
289
|
+
// current: {...}, previous: {...} }
|
|
282
290
|
|
|
283
291
|
// Get market intelligence
|
|
284
292
|
const market = await client.economics.getMarketIntelligence();
|
|
@@ -315,6 +323,292 @@ const paths = await client.redTeam.generateAttackPaths(diagramId, {
|
|
|
315
323
|
const requirements = await client.redTeam.getSecurityRequirements(diagramId);
|
|
316
324
|
```
|
|
317
325
|
|
|
326
|
+
### Severity Assignment (AI-powered)
|
|
327
|
+
|
|
328
|
+
```typescript
|
|
329
|
+
// Estimate AI cost for severity assignment
|
|
330
|
+
const estimate = await client.compliance.estimateSeverityCost({
|
|
331
|
+
scanId: scanId,
|
|
332
|
+
accountId: accountId
|
|
333
|
+
});
|
|
334
|
+
// Returns: { estimated_tokens: 15000, estimated_cost_usd: 0.45, violations_count: 150 }
|
|
335
|
+
|
|
336
|
+
// Assign severity using AI (automatically analyzes all violations)
|
|
337
|
+
const result = await client.compliance.assignSeverityAI({
|
|
338
|
+
scanId: scanId,
|
|
339
|
+
accountId: accountId,
|
|
340
|
+
model: 'claude-3-sonnet', // or 'gpt-4', 'gemini-pro'
|
|
341
|
+
batchSize: 50
|
|
342
|
+
});
|
|
343
|
+
// Returns: { status: 'completed', processed: 150, updated: 142, errors: 0 }
|
|
344
|
+
|
|
345
|
+
// Manually assign severity to violations
|
|
346
|
+
const manualResult = await client.compliance.assignSeverityManual({
|
|
347
|
+
violationIds: ['v-123', 'v-456'],
|
|
348
|
+
severity: 'high' // critical, high, medium, low, info
|
|
349
|
+
});
|
|
350
|
+
// Returns: { updated: 2, violations: [...] }
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
### Scanner Rules
|
|
354
|
+
|
|
355
|
+
```typescript
|
|
356
|
+
// List scanner rules
|
|
357
|
+
const rules = await client.compliance.listScannerRules({
|
|
358
|
+
severity: 'critical',
|
|
359
|
+
provider: 'aws'
|
|
360
|
+
});
|
|
361
|
+
// Returns: [{ id: '...', name: 'S3 Public Access', severity: 'critical' }, ...]
|
|
362
|
+
|
|
363
|
+
// Get scanner rule statistics
|
|
364
|
+
const stats = await client.compliance.getScannerStatistics();
|
|
365
|
+
// Returns: { total_rules: 500, by_severity: {...}, by_provider: {...} }
|
|
366
|
+
|
|
367
|
+
// Sync rules from cloud providers
|
|
368
|
+
const syncResult = await client.compliance.syncScannerRules({
|
|
369
|
+
providers: ['aws', 'azure', 'gcp']
|
|
370
|
+
});
|
|
371
|
+
// Returns: { synced: 150, new: 25, updated: 10 }
|
|
372
|
+
|
|
373
|
+
// Create custom scanner rule
|
|
374
|
+
const rule = await client.compliance.createScannerRule({
|
|
375
|
+
name: 'Custom S3 Encryption Check',
|
|
376
|
+
description: 'Ensure all S3 buckets have encryption enabled',
|
|
377
|
+
severity: 'high',
|
|
378
|
+
provider: 'aws',
|
|
379
|
+
resourceType: 's3_bucket',
|
|
380
|
+
condition: {
|
|
381
|
+
field: 'encryption.enabled',
|
|
382
|
+
operator: 'equals',
|
|
383
|
+
value: true
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
### Dynamic Cloud Scanning
|
|
389
|
+
|
|
390
|
+
```typescript
|
|
391
|
+
// Execute dynamic scan on cloud account
|
|
392
|
+
const scan = await client.compliance.executeDynamicScan({
|
|
393
|
+
accountId: accountId,
|
|
394
|
+
scanType: 'full', // full, quick, targeted
|
|
395
|
+
resources: ['ec2', 's3', 'iam'],
|
|
396
|
+
standards: ['CIS-AWS', 'SOC2']
|
|
397
|
+
});
|
|
398
|
+
// Returns: { scan_id: '...', status: 'running', estimated_duration: 300 }
|
|
399
|
+
|
|
400
|
+
// Execute unified scan with flexible scope
|
|
401
|
+
const unifiedScan = await client.compliance.executeUnifiedScan({
|
|
402
|
+
scope: 'account', // account, standard, diagram
|
|
403
|
+
scopeId: accountId,
|
|
404
|
+
includeRemediation: true
|
|
405
|
+
});
|
|
406
|
+
// Returns: { scan_id: '...', status: 'queued' }
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
### Remediation Execution
|
|
410
|
+
|
|
411
|
+
```typescript
|
|
412
|
+
// Preview remediation before execution
|
|
413
|
+
const preview = await client.compliance.previewRemediation({
|
|
414
|
+
policyId: policyId,
|
|
415
|
+
accountId: accountId
|
|
416
|
+
});
|
|
417
|
+
// Returns: { actions: [...], risk_level: 'low', affected_resources: 5 }
|
|
418
|
+
|
|
419
|
+
// Execute remediation
|
|
420
|
+
const result = await client.compliance.executeRemediation({
|
|
421
|
+
policyId: policyId,
|
|
422
|
+
accountId: accountId,
|
|
423
|
+
dryRun: false,
|
|
424
|
+
autoApprove: true
|
|
425
|
+
});
|
|
426
|
+
// Returns: { status: 'completed', resources_fixed: 5, rollback_available: true }
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### AI Agents & Self-Healing
|
|
430
|
+
|
|
431
|
+
```typescript
|
|
432
|
+
// Get AI agent status
|
|
433
|
+
const status = await client.aiAgents.getStatus();
|
|
434
|
+
// Returns: { active: true, agents: [...], capabilities: [...] }
|
|
435
|
+
|
|
436
|
+
// Run specialist agent analysis
|
|
437
|
+
const analysis = await client.aiAgents.runSpecialist({
|
|
438
|
+
agentType: 'security', // security, compliance, cost, architecture
|
|
439
|
+
diagramId: diagramId
|
|
440
|
+
});
|
|
441
|
+
|
|
442
|
+
// Self-healing operations
|
|
443
|
+
const healingStatus = await client.aiAgents.getSelfHealingStatus();
|
|
444
|
+
// Returns: { enabled: true, recent_actions: [...], autonomy_level: 'supervised' }
|
|
445
|
+
|
|
446
|
+
// Get autonomy stats
|
|
447
|
+
const autonomyStats = await client.aiAgents.getAutonomyStats();
|
|
448
|
+
// Returns: { total_remediations: 150, auto_approved: 120, manual_review: 30 }
|
|
449
|
+
|
|
450
|
+
// Trigger remediation
|
|
451
|
+
const remediation = await client.aiAgents.triggerRemediation({
|
|
452
|
+
findingId: findingId,
|
|
453
|
+
autoApprove: false
|
|
454
|
+
});
|
|
455
|
+
|
|
456
|
+
// Approve/reject remediation action
|
|
457
|
+
await client.aiAgents.approveRemediation(remediationId);
|
|
458
|
+
await client.aiAgents.rejectRemediation(remediationId, 'Risk too high');
|
|
459
|
+
|
|
460
|
+
// Rollback remediation
|
|
461
|
+
await client.aiAgents.rollbackRemediation(remediationId);
|
|
462
|
+
|
|
463
|
+
// Emergency stop all autonomous actions
|
|
464
|
+
await client.aiAgents.emergencyStop();
|
|
465
|
+
|
|
466
|
+
// Resume autonomous operations
|
|
467
|
+
await client.aiAgents.resumeOperations();
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
### Security Co-Pilot
|
|
471
|
+
|
|
472
|
+
```typescript
|
|
473
|
+
// Get security co-pilot status
|
|
474
|
+
const status = await client.securityCopilot.getStatus();
|
|
475
|
+
// Returns: { enabled: true, mode: 'supervised', active_threats: 5 }
|
|
476
|
+
|
|
477
|
+
// Get pending actions awaiting approval
|
|
478
|
+
const actions = await client.securityCopilot.getPendingActions();
|
|
479
|
+
// Returns: [{ id: '...', type: 'patch', resource: '...', risk: 'low' }, ...]
|
|
480
|
+
|
|
481
|
+
// Get action history
|
|
482
|
+
const history = await client.securityCopilot.getActionHistory({ limit: 50 });
|
|
483
|
+
|
|
484
|
+
// Get active threats
|
|
485
|
+
const threats = await client.securityCopilot.getActiveThreats();
|
|
486
|
+
|
|
487
|
+
// Approve/reject action
|
|
488
|
+
await client.securityCopilot.approveAction(actionId);
|
|
489
|
+
await client.securityCopilot.rejectAction(actionId);
|
|
490
|
+
|
|
491
|
+
// Rollback action
|
|
492
|
+
await client.securityCopilot.rollbackAction(actionId);
|
|
493
|
+
|
|
494
|
+
// Trigger security scan
|
|
495
|
+
const scan = await client.securityCopilot.triggerScan({ scope: 'full' });
|
|
496
|
+
|
|
497
|
+
// Update settings
|
|
498
|
+
await client.securityCopilot.updateSettings({
|
|
499
|
+
autoRemediation: true,
|
|
500
|
+
maxRiskLevel: 'medium'
|
|
501
|
+
});
|
|
502
|
+
|
|
503
|
+
// Toggle co-pilot on/off
|
|
504
|
+
await client.securityCopilot.toggle(true);
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
### Presets Import
|
|
508
|
+
|
|
509
|
+
```typescript
|
|
510
|
+
// Import compliance presets
|
|
511
|
+
const presets = await client.compliance.importPresets({
|
|
512
|
+
provider: 'aws', // aws, azure, gcp, all
|
|
513
|
+
categories: ['security', 'cost', 'operations']
|
|
514
|
+
});
|
|
515
|
+
// Returns: { imported: 50, standards: [...], rules: [...] }
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
### Strategic Remediation Plan (AI-powered)
|
|
519
|
+
|
|
520
|
+
```typescript
|
|
521
|
+
// Generate strategic remediation plan for a severity level
|
|
522
|
+
// Uses AI to analyze all violations and create a comprehensive plan
|
|
523
|
+
const plan = await client.compliance.generateStrategicPlan({
|
|
524
|
+
scanId: scanId,
|
|
525
|
+
accountId: accountId,
|
|
526
|
+
severity: 'critical' // critical, high, medium, low
|
|
527
|
+
});
|
|
528
|
+
// Returns: {
|
|
529
|
+
// id: 'uuid',
|
|
530
|
+
// severity: 'critical',
|
|
531
|
+
// status: 'generated',
|
|
532
|
+
// overview: 'Strategic overview of all critical violations...',
|
|
533
|
+
// rootCauses: [{ cause: '...', theme: '...', impact: '...' }],
|
|
534
|
+
// groupedViolations: [{ policy: '...', violations: [...] }],
|
|
535
|
+
// highImpactActions: [{ action: '...', impactScore: 95 }],
|
|
536
|
+
// remediationPhases: [{ phase: 1, duration: '1 week', actions: [...] }],
|
|
537
|
+
// successMetrics: [{ metric: '...', target: '...' }],
|
|
538
|
+
// estimatedTotalEffort: '2-3 weeks',
|
|
539
|
+
// costSavingsFinops: { monthly: 5000, annual: 60000 },
|
|
540
|
+
// costSavingsRisk: { riskReduction: '85%', avoidedIncidents: 12 }
|
|
541
|
+
// }
|
|
542
|
+
|
|
543
|
+
// Get existing strategic plan
|
|
544
|
+
const existing = await client.compliance.getStrategicPlan(planId);
|
|
545
|
+
|
|
546
|
+
// List strategic plans for an account
|
|
547
|
+
const plans = await client.compliance.listStrategicPlans({
|
|
548
|
+
accountId: accountId,
|
|
549
|
+
severity: 'critical'
|
|
550
|
+
});
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
### Mitigation Plan (AI-powered)
|
|
554
|
+
|
|
555
|
+
```typescript
|
|
556
|
+
// Get existing mitigation plan for a diagram
|
|
557
|
+
const plan = await client.threatModeling.getMitigationPlan(diagramId);
|
|
558
|
+
if (plan) {
|
|
559
|
+
console.log(`Overview: ${plan.plan.overview}`);
|
|
560
|
+
console.log(`Recommendations: ${plan.plan.recommendations.length}`);
|
|
561
|
+
plan.plan.recommendations.forEach(rec => {
|
|
562
|
+
console.log(` [${rec.rank}] ${rec.title} - ${rec.priority}`);
|
|
563
|
+
});
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
// Generate new mitigation plan (AI-powered, uses chunked processing)
|
|
567
|
+
const newPlan = await client.threatModeling.generateMitigationPlan(diagramId, {
|
|
568
|
+
forceRegenerate: true // Force regenerate even if cached
|
|
569
|
+
});
|
|
570
|
+
// Returns comprehensive plan with:
|
|
571
|
+
// - overview: Strategic summary of all threats
|
|
572
|
+
// - recommendations: Ranked list with code snippets
|
|
573
|
+
// - rootCauses: Identified patterns across threats
|
|
574
|
+
// - remediationPhases: Phased approach with timelines
|
|
575
|
+
// - successMetrics: Measurable criteria
|
|
576
|
+
// - metadata: AI provider, generation time, etc.
|
|
577
|
+
|
|
578
|
+
console.log(`Generated in ${newPlan.plan.metadata.generationTimeMs}ms`);
|
|
579
|
+
console.log(`Threats analyzed: ${newPlan.plan.metadata.threatCount}`);
|
|
580
|
+
|
|
581
|
+
// Access recommendations with code snippets
|
|
582
|
+
newPlan.plan.recommendations.forEach(rec => {
|
|
583
|
+
console.log(`[${rec.priority}] ${rec.title}`);
|
|
584
|
+
console.log(` Impact: ${rec.impact}`);
|
|
585
|
+
console.log(` Effort: ${rec.effort}`);
|
|
586
|
+
console.log(` Affected threats: ${rec.affectedThreats?.join(', ')}`);
|
|
587
|
+
if (rec.codeSnippet) {
|
|
588
|
+
console.log(` Code (${rec.codeLanguage}):`);
|
|
589
|
+
console.log(` ${rec.codeSnippet}`);
|
|
590
|
+
}
|
|
591
|
+
});
|
|
592
|
+
|
|
593
|
+
// View root causes (patterns identified across multiple threats)
|
|
594
|
+
newPlan.plan.rootCauses.forEach(cause => {
|
|
595
|
+
console.log(`Root cause: ${cause.cause}`);
|
|
596
|
+
console.log(` Theme: ${cause.theme}, Impact: ${cause.impact}`);
|
|
597
|
+
});
|
|
598
|
+
|
|
599
|
+
// View phased remediation plan
|
|
600
|
+
newPlan.plan.remediationPhases.forEach(phase => {
|
|
601
|
+
console.log(`Phase: ${phase.phase} (${phase.duration})`);
|
|
602
|
+
console.log(` Actions: ${phase.actions.join(', ')}`);
|
|
603
|
+
console.log(` Threats resolved: ${phase.threatsResolved}`);
|
|
604
|
+
});
|
|
605
|
+
|
|
606
|
+
// Update plan with manual edits
|
|
607
|
+
const updatedPlan = { ...newPlan.plan };
|
|
608
|
+
updatedPlan.recommendations[0].priority = 'immediate';
|
|
609
|
+
await client.threatModeling.updateMitigationPlan(diagramId, updatedPlan);
|
|
610
|
+
```
|
|
611
|
+
|
|
318
612
|
## Error Handling
|
|
319
613
|
|
|
320
614
|
```typescript
|
|
@@ -443,11 +737,35 @@ input?.addEventListener('change', async (e) => {
|
|
|
443
737
|
PROJECT_ID: ${{ vars.PROJECT_ID }}
|
|
444
738
|
```
|
|
445
739
|
|
|
740
|
+
## Changelog
|
|
741
|
+
|
|
742
|
+
### v1.5.0
|
|
743
|
+
- **Added**: Strategic Remediation Plan API (`client.compliance.generateStrategicPlan`, `getStrategicPlan`, `listStrategicPlans`) - AI-powered strategic planning for compliance violations with cost savings analysis
|
|
744
|
+
- **Added**: Economic Intelligence Refresh (`client.economics.refreshRecommendations`) - Refresh AI-powered cost optimization recommendations
|
|
745
|
+
- **Added**: Severity Assignment API (`client.compliance.estimateSeverityCost`, `assignSeverityAI`, `assignSeverityManual`)
|
|
746
|
+
- **Added**: Scanner Rules API (`client.compliance.listScannerRules`, `getScannerStatistics`, `syncScannerRules`, `createScannerRule`)
|
|
747
|
+
- **Added**: Dynamic Cloud Scanning (`client.compliance.executeDynamicScan`, `executeUnifiedScan`)
|
|
748
|
+
- **Added**: Remediation Execution (`client.compliance.previewRemediation`, `executeRemediation`)
|
|
749
|
+
- **Added**: AI Agents & Self-Healing module (`client.aiAgents`) with autonomous remediation
|
|
750
|
+
- **Added**: Security Co-Pilot module (`client.securityCopilot`) for supervised security operations
|
|
751
|
+
- **Added**: Presets Import (`client.compliance.importPresets`)
|
|
752
|
+
- **Added**: Mitigation Plan API (`client.threatModeling.getMitigationPlan`, `generateMitigationPlan`, `updateMitigationPlan`) - AI-powered strategic remediation planning with chunked processing
|
|
753
|
+
|
|
754
|
+
### v1.4.0
|
|
755
|
+
- **Fixed**: Base URL corrected from `api.aribot.aristiun.com` to `api.aribot.ayurak.com`
|
|
756
|
+
- **Added**: AI module (`client.ai`) - usage, quota, models, configure, analyze, queue status
|
|
757
|
+
- **Added**: SBOM module (`client.sbom`) - document management, upload, vulnerability scanning
|
|
758
|
+
- **Added**: Dashboard module (`client.dashboard`) - overview, recent activity, risk summary
|
|
759
|
+
- **Added**: FinOps module (`client.finops`) - cost optimization, recommendations, cost breakdown
|
|
760
|
+
- **Added**: Marketplace module (`client.marketplace`) - templates, categories, featured items
|
|
761
|
+
- **Added**: API Keys module (`client.apiKeys`) - list, create, revoke API keys
|
|
762
|
+
- **Added**: Framework-specific compliance scoring support
|
|
763
|
+
|
|
446
764
|
## Support
|
|
447
765
|
|
|
448
|
-
- Documentation: https://
|
|
449
|
-
- API Reference: https://
|
|
450
|
-
- Issues: https://github.com/
|
|
766
|
+
- Documentation: https://developer.ayurak.com/docs/js-sdk
|
|
767
|
+
- API Reference: https://developer.ayurak.com/api
|
|
768
|
+
- Issues: https://github.com/ayurak/aribot-js/issues
|
|
451
769
|
|
|
452
770
|
## License
|
|
453
771
|
|
package/dist/index.d.mts
CHANGED
|
@@ -640,6 +640,288 @@ declare class EconomicsAPI {
|
|
|
640
640
|
}>;
|
|
641
641
|
}
|
|
642
642
|
|
|
643
|
+
interface AIUsage {
|
|
644
|
+
total_requests: number;
|
|
645
|
+
tokens_used: number;
|
|
646
|
+
cost: number;
|
|
647
|
+
period: string;
|
|
648
|
+
[key: string]: unknown;
|
|
649
|
+
}
|
|
650
|
+
interface AIQuota {
|
|
651
|
+
requests_limit: number;
|
|
652
|
+
requests_used: number;
|
|
653
|
+
tokens_limit: number;
|
|
654
|
+
tokens_used: number;
|
|
655
|
+
reset_at: string;
|
|
656
|
+
[key: string]: unknown;
|
|
657
|
+
}
|
|
658
|
+
interface AIModel {
|
|
659
|
+
id: string;
|
|
660
|
+
name: string;
|
|
661
|
+
provider: string;
|
|
662
|
+
capabilities: string[];
|
|
663
|
+
[key: string]: unknown;
|
|
664
|
+
}
|
|
665
|
+
interface AIAnalysisResult {
|
|
666
|
+
analysis_id: string;
|
|
667
|
+
status: string;
|
|
668
|
+
results: unknown;
|
|
669
|
+
[key: string]: unknown;
|
|
670
|
+
}
|
|
671
|
+
interface AIQueueStatus {
|
|
672
|
+
pending: number;
|
|
673
|
+
processing: number;
|
|
674
|
+
completed: number;
|
|
675
|
+
failed: number;
|
|
676
|
+
[key: string]: unknown;
|
|
677
|
+
}
|
|
678
|
+
/**
|
|
679
|
+
* AI usage, quota, and analysis operations
|
|
680
|
+
*/
|
|
681
|
+
declare class AIAPI {
|
|
682
|
+
private http;
|
|
683
|
+
constructor(http: HttpClient);
|
|
684
|
+
/**
|
|
685
|
+
* Get AI usage statistics
|
|
686
|
+
*/
|
|
687
|
+
getUsage(period?: string): Promise<AIUsage>;
|
|
688
|
+
/**
|
|
689
|
+
* Get AI quota information
|
|
690
|
+
*/
|
|
691
|
+
getQuota(): Promise<AIQuota>;
|
|
692
|
+
/**
|
|
693
|
+
* List available AI models
|
|
694
|
+
*/
|
|
695
|
+
listModels(): Promise<AIModel[]>;
|
|
696
|
+
/**
|
|
697
|
+
* Configure AI settings
|
|
698
|
+
*/
|
|
699
|
+
configure(config: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
700
|
+
/**
|
|
701
|
+
* Run AI analysis
|
|
702
|
+
*/
|
|
703
|
+
analyze(options: {
|
|
704
|
+
target: string;
|
|
705
|
+
type?: string;
|
|
706
|
+
model?: string;
|
|
707
|
+
[key: string]: unknown;
|
|
708
|
+
}): Promise<AIAnalysisResult>;
|
|
709
|
+
/**
|
|
710
|
+
* Get AI processing queue status
|
|
711
|
+
*/
|
|
712
|
+
getQueueStatus(): Promise<AIQueueStatus>;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
interface SBOMDocument {
|
|
716
|
+
id: string;
|
|
717
|
+
name: string;
|
|
718
|
+
format: string;
|
|
719
|
+
status: string;
|
|
720
|
+
created_at: string;
|
|
721
|
+
components_count: number;
|
|
722
|
+
vulnerabilities_count: number;
|
|
723
|
+
[key: string]: unknown;
|
|
724
|
+
}
|
|
725
|
+
interface SBOMVulnerability {
|
|
726
|
+
id: string;
|
|
727
|
+
cve_id: string;
|
|
728
|
+
severity: string;
|
|
729
|
+
description: string;
|
|
730
|
+
affected_component: string;
|
|
731
|
+
fix_available: boolean;
|
|
732
|
+
[key: string]: unknown;
|
|
733
|
+
}
|
|
734
|
+
/**
|
|
735
|
+
* SBOM document management and vulnerability scanning
|
|
736
|
+
*/
|
|
737
|
+
declare class SBOMAPI {
|
|
738
|
+
private http;
|
|
739
|
+
constructor(http: HttpClient);
|
|
740
|
+
/**
|
|
741
|
+
* List SBOM documents
|
|
742
|
+
*/
|
|
743
|
+
list(params?: Record<string, string | number | boolean>): Promise<SBOMDocument[]>;
|
|
744
|
+
/**
|
|
745
|
+
* Get SBOM document details
|
|
746
|
+
*/
|
|
747
|
+
get(documentId: string): Promise<SBOMDocument>;
|
|
748
|
+
/**
|
|
749
|
+
* Upload an SBOM document
|
|
750
|
+
*/
|
|
751
|
+
upload(file: File | Blob, options?: {
|
|
752
|
+
name?: string;
|
|
753
|
+
format?: string;
|
|
754
|
+
}): Promise<SBOMDocument>;
|
|
755
|
+
/**
|
|
756
|
+
* Get vulnerabilities for an SBOM document
|
|
757
|
+
*/
|
|
758
|
+
getVulnerabilities(documentId: string, params?: Record<string, string | number | boolean>): Promise<SBOMVulnerability[]>;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
interface DashboardOverview {
|
|
762
|
+
total_diagrams: number;
|
|
763
|
+
total_threats: number;
|
|
764
|
+
compliance_score: number;
|
|
765
|
+
risk_score: number;
|
|
766
|
+
[key: string]: unknown;
|
|
767
|
+
}
|
|
768
|
+
interface RecentActivity {
|
|
769
|
+
id: string;
|
|
770
|
+
type: string;
|
|
771
|
+
description: string;
|
|
772
|
+
timestamp: string;
|
|
773
|
+
[key: string]: unknown;
|
|
774
|
+
}
|
|
775
|
+
interface RiskSummary {
|
|
776
|
+
overall_risk: string;
|
|
777
|
+
critical: number;
|
|
778
|
+
high: number;
|
|
779
|
+
medium: number;
|
|
780
|
+
low: number;
|
|
781
|
+
trend: string;
|
|
782
|
+
[key: string]: unknown;
|
|
783
|
+
}
|
|
784
|
+
/**
|
|
785
|
+
* Dashboard overview, activity, and risk summary
|
|
786
|
+
*/
|
|
787
|
+
declare class DashboardAPI {
|
|
788
|
+
private http;
|
|
789
|
+
constructor(http: HttpClient);
|
|
790
|
+
/**
|
|
791
|
+
* Get dashboard overview metrics
|
|
792
|
+
*/
|
|
793
|
+
getOverview(): Promise<DashboardOverview>;
|
|
794
|
+
/**
|
|
795
|
+
* Get recent activity
|
|
796
|
+
*/
|
|
797
|
+
getRecentActivity(params?: Record<string, string | number | boolean>): Promise<RecentActivity[]>;
|
|
798
|
+
/**
|
|
799
|
+
* Get risk summary
|
|
800
|
+
*/
|
|
801
|
+
getRiskSummary(): Promise<RiskSummary>;
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
interface FinOpsRecommendation {
|
|
805
|
+
id: string;
|
|
806
|
+
type: string;
|
|
807
|
+
description: string;
|
|
808
|
+
estimated_savings: number;
|
|
809
|
+
priority: string;
|
|
810
|
+
[key: string]: unknown;
|
|
811
|
+
}
|
|
812
|
+
interface FinOpsCosts {
|
|
813
|
+
total: number;
|
|
814
|
+
by_service: Record<string, number>;
|
|
815
|
+
by_provider: Record<string, number>;
|
|
816
|
+
period: string;
|
|
817
|
+
[key: string]: unknown;
|
|
818
|
+
}
|
|
819
|
+
interface FinOpsOptimization {
|
|
820
|
+
id: string;
|
|
821
|
+
status: string;
|
|
822
|
+
savings_achieved: number;
|
|
823
|
+
details: string;
|
|
824
|
+
[key: string]: unknown;
|
|
825
|
+
}
|
|
826
|
+
/**
|
|
827
|
+
* FinOps cost optimization and recommendations
|
|
828
|
+
*/
|
|
829
|
+
declare class FinOpsAPI {
|
|
830
|
+
private http;
|
|
831
|
+
constructor(http: HttpClient);
|
|
832
|
+
/**
|
|
833
|
+
* Get cost optimization recommendations
|
|
834
|
+
*/
|
|
835
|
+
getRecommendations(params?: Record<string, string | number | boolean>): Promise<FinOpsRecommendation[]>;
|
|
836
|
+
/**
|
|
837
|
+
* Get cost breakdown
|
|
838
|
+
*/
|
|
839
|
+
getCosts(params?: Record<string, string | number | boolean>): Promise<FinOpsCosts>;
|
|
840
|
+
/**
|
|
841
|
+
* Get optimization details
|
|
842
|
+
*/
|
|
843
|
+
getOptimization(params?: Record<string, string | number | boolean>): Promise<FinOpsOptimization[]>;
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
interface MarketplaceTemplate {
|
|
847
|
+
id: string;
|
|
848
|
+
name: string;
|
|
849
|
+
description: string;
|
|
850
|
+
category: string;
|
|
851
|
+
author: string;
|
|
852
|
+
downloads: number;
|
|
853
|
+
rating: number;
|
|
854
|
+
[key: string]: unknown;
|
|
855
|
+
}
|
|
856
|
+
interface MarketplaceCategory {
|
|
857
|
+
id: string;
|
|
858
|
+
name: string;
|
|
859
|
+
description: string;
|
|
860
|
+
templates_count: number;
|
|
861
|
+
[key: string]: unknown;
|
|
862
|
+
}
|
|
863
|
+
/**
|
|
864
|
+
* Marketplace templates, categories, and featured items
|
|
865
|
+
*/
|
|
866
|
+
declare class MarketplaceAPI {
|
|
867
|
+
private http;
|
|
868
|
+
constructor(http: HttpClient);
|
|
869
|
+
/**
|
|
870
|
+
* List marketplace templates
|
|
871
|
+
*/
|
|
872
|
+
listTemplates(params?: Record<string, string | number | boolean>): Promise<MarketplaceTemplate[]>;
|
|
873
|
+
/**
|
|
874
|
+
* List marketplace categories
|
|
875
|
+
*/
|
|
876
|
+
listCategories(): Promise<MarketplaceCategory[]>;
|
|
877
|
+
/**
|
|
878
|
+
* Get featured templates
|
|
879
|
+
*/
|
|
880
|
+
getFeatured(): Promise<MarketplaceTemplate[]>;
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
interface APIKey {
|
|
884
|
+
id: string;
|
|
885
|
+
name: string;
|
|
886
|
+
prefix: string;
|
|
887
|
+
created_at: string;
|
|
888
|
+
last_used_at: string | null;
|
|
889
|
+
expires_at: string | null;
|
|
890
|
+
is_active: boolean;
|
|
891
|
+
[key: string]: unknown;
|
|
892
|
+
}
|
|
893
|
+
interface APIKeyCreateResult {
|
|
894
|
+
id: string;
|
|
895
|
+
name: string;
|
|
896
|
+
key: string;
|
|
897
|
+
prefix: string;
|
|
898
|
+
created_at: string;
|
|
899
|
+
[key: string]: unknown;
|
|
900
|
+
}
|
|
901
|
+
/**
|
|
902
|
+
* API key management operations
|
|
903
|
+
*/
|
|
904
|
+
declare class APIKeysAPI {
|
|
905
|
+
private http;
|
|
906
|
+
constructor(http: HttpClient);
|
|
907
|
+
/**
|
|
908
|
+
* List API keys
|
|
909
|
+
*/
|
|
910
|
+
list(params?: Record<string, string | number | boolean>): Promise<APIKey[]>;
|
|
911
|
+
/**
|
|
912
|
+
* Create a new API key
|
|
913
|
+
*/
|
|
914
|
+
create(options: {
|
|
915
|
+
name: string;
|
|
916
|
+
expires_in_days?: number;
|
|
917
|
+
scopes?: string[];
|
|
918
|
+
}): Promise<APIKeyCreateResult>;
|
|
919
|
+
/**
|
|
920
|
+
* Revoke an API key
|
|
921
|
+
*/
|
|
922
|
+
revoke(keyId: string): Promise<Record<string, unknown>>;
|
|
923
|
+
}
|
|
924
|
+
|
|
643
925
|
interface AribotOptions {
|
|
644
926
|
baseUrl?: string;
|
|
645
927
|
timeout?: number;
|
|
@@ -690,6 +972,18 @@ declare class Aribot {
|
|
|
690
972
|
digitalTwin: DigitalTwinAPI;
|
|
691
973
|
/** Economics and cost analysis */
|
|
692
974
|
economics: EconomicsAPI;
|
|
975
|
+
/** AI usage and analysis */
|
|
976
|
+
ai: AIAPI;
|
|
977
|
+
/** SBOM document management */
|
|
978
|
+
sbom: SBOMAPI;
|
|
979
|
+
/** Dashboard overview and metrics */
|
|
980
|
+
dashboard: DashboardAPI;
|
|
981
|
+
/** FinOps cost optimization */
|
|
982
|
+
finops: FinOpsAPI;
|
|
983
|
+
/** Marketplace templates */
|
|
984
|
+
marketplace: MarketplaceAPI;
|
|
985
|
+
/** API key management */
|
|
986
|
+
apiKeys: APIKeysAPI;
|
|
693
987
|
/**
|
|
694
988
|
* Create Aribot client
|
|
695
989
|
*
|
|
@@ -759,4 +1053,4 @@ declare class ServerError extends AribotError {
|
|
|
759
1053
|
constructor(message: string, statusCode?: number, response?: Record<string, unknown>);
|
|
760
1054
|
}
|
|
761
1055
|
|
|
762
|
-
export { type AnalyzeDiagramOptions, Aribot, AribotError, type AribotOptions, AuthenticationError, type CloudAccount, type CloudFinding, type CloudProvider, type CloudResource, type CloudScan, type CloudScanOptions, CloudSecurityAPI, ComplianceAPI, type ComplianceGap, type ComplianceResult, type ScanOptions$1 as ComplianceScanOptions, type ComplianceStandard, type Component, type ComponentCloudMapping, type ComponentCost, type Control, type CreateProjectOptions, type Diagram, type DiagramComponentStatus, type DiagramCostAnalysis, DigitalTwinAPI, EconomicsAPI, type EconomicsDashboard, type Finding, type GatesConfig, type GetFindingsOptions, type ListDiagramsOptions, type ListScansOptions, type MarketIntelligence, NotFoundError, PipelineAPI, type PipelineScan, type ScanOptions as PipelineScanOptions, type Project, RateLimitError, RedTeamAPI, type RedTeamMethodology, type RedTeamSimulation, ServerError, type Threat, type ThreatIntelligence, ThreatModelingAPI, ValidationError };
|
|
1056
|
+
export { AIAPI, type AIAnalysisResult, type AIModel, type AIQueueStatus, type AIQuota, type AIUsage, type APIKey, type APIKeyCreateResult, APIKeysAPI, type AnalyzeDiagramOptions, Aribot, AribotError, type AribotOptions, AuthenticationError, type CloudAccount, type CloudFinding, type CloudProvider, type CloudResource, type CloudScan, type CloudScanOptions, CloudSecurityAPI, ComplianceAPI, type ComplianceGap, type ComplianceResult, type ScanOptions$1 as ComplianceScanOptions, type ComplianceStandard, type Component, type ComponentCloudMapping, type ComponentCost, type Control, type CreateProjectOptions, DashboardAPI, type DashboardOverview, type Diagram, type DiagramComponentStatus, type DiagramCostAnalysis, DigitalTwinAPI, EconomicsAPI, type EconomicsDashboard, FinOpsAPI, type FinOpsCosts, type FinOpsOptimization, type FinOpsRecommendation, type Finding, type GatesConfig, type GetFindingsOptions, type ListDiagramsOptions, type ListScansOptions, type MarketIntelligence, MarketplaceAPI, type MarketplaceCategory, type MarketplaceTemplate, NotFoundError, PipelineAPI, type PipelineScan, type ScanOptions as PipelineScanOptions, type Project, RateLimitError, type RecentActivity, RedTeamAPI, type RedTeamMethodology, type RedTeamSimulation, type RiskSummary, SBOMAPI, type SBOMDocument, type SBOMVulnerability, ServerError, type Threat, type ThreatIntelligence, ThreatModelingAPI, ValidationError };
|