@axonflow/sdk 3.4.0 → 3.6.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 +4 -4
- package/dist/cjs/client.d.ts +59 -1
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +138 -0
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +6 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/media.d.ts +112 -0
- package/dist/cjs/types/media.d.ts.map +1 -0
- package/dist/cjs/types/media.js +9 -0
- package/dist/cjs/types/media.js.map +1 -0
- package/dist/cjs/types/policies.d.ts +8 -1
- package/dist/cjs/types/policies.d.ts.map +1 -1
- package/dist/cjs/types/policies.js +8 -0
- package/dist/cjs/types/policies.js.map +1 -1
- package/dist/cjs/types/proxy.d.ts +5 -0
- package/dist/cjs/types/proxy.d.ts.map +1 -1
- package/dist/cjs/types/workflows.d.ts +6 -0
- package/dist/cjs/types/workflows.d.ts.map +1 -1
- package/dist/cjs/types/workflows.js.map +1 -1
- package/dist/esm/client.d.ts +59 -1
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +138 -0
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/media.d.ts +112 -0
- package/dist/esm/types/media.d.ts.map +1 -0
- package/dist/esm/types/media.js +8 -0
- package/dist/esm/types/media.js.map +1 -0
- package/dist/esm/types/policies.d.ts +8 -1
- package/dist/esm/types/policies.d.ts.map +1 -1
- package/dist/esm/types/policies.js +7 -1
- package/dist/esm/types/policies.js.map +1 -1
- package/dist/esm/types/proxy.d.ts +5 -0
- package/dist/esm/types/proxy.d.ts.map +1 -1
- package/dist/esm/types/workflows.d.ts +6 -0
- package/dist/esm/types/workflows.d.ts.map +1 -1
- package/dist/esm/types/workflows.js.map +1 -1
- package/package.json +2 -2
package/dist/esm/client.js
CHANGED
|
@@ -434,6 +434,14 @@ export class AxonFlow {
|
|
|
434
434
|
request_type: options.requestType,
|
|
435
435
|
context: options.context || {},
|
|
436
436
|
};
|
|
437
|
+
if (options.media && options.media.length > 0) {
|
|
438
|
+
agentRequest.media = options.media.map(m => ({
|
|
439
|
+
source: m.source,
|
|
440
|
+
base64_data: m.base64Data,
|
|
441
|
+
url: m.url,
|
|
442
|
+
mime_type: m.mimeType,
|
|
443
|
+
}));
|
|
444
|
+
}
|
|
437
445
|
const url = `${this.config.endpoint}/api/request`;
|
|
438
446
|
const headers = {
|
|
439
447
|
'Content-Type': 'application/json',
|
|
@@ -533,6 +541,31 @@ export class AxonFlow {
|
|
|
533
541
|
action: data.budget_info.action,
|
|
534
542
|
};
|
|
535
543
|
}
|
|
544
|
+
// Parse media analysis if present
|
|
545
|
+
if (data.media_analysis) {
|
|
546
|
+
result.mediaAnalysis = {
|
|
547
|
+
results: (data.media_analysis.results ?? []).map((r) => ({
|
|
548
|
+
mediaIndex: r.media_index ?? 0,
|
|
549
|
+
sha256Hash: r.sha256_hash ?? '',
|
|
550
|
+
hasFaces: r.has_faces ?? false,
|
|
551
|
+
faceCount: r.face_count ?? 0,
|
|
552
|
+
hasBiometricData: r.has_biometric_data ?? false,
|
|
553
|
+
nsfwScore: r.nsfw_score ?? 0,
|
|
554
|
+
violenceScore: r.violence_score ?? 0,
|
|
555
|
+
contentSafe: r.content_safe !== undefined ? r.content_safe : true,
|
|
556
|
+
documentType: r.document_type,
|
|
557
|
+
isSensitiveDocument: r.is_sensitive_document ?? false,
|
|
558
|
+
hasPII: r.has_pii ?? false,
|
|
559
|
+
piiTypes: r.pii_types,
|
|
560
|
+
hasExtractedText: r.has_extracted_text ?? false,
|
|
561
|
+
extractedTextLength: r.extracted_text_length ?? 0,
|
|
562
|
+
estimatedCostUsd: r.estimated_cost_usd ?? 0,
|
|
563
|
+
warnings: r.warnings,
|
|
564
|
+
})),
|
|
565
|
+
totalCostUsd: data.media_analysis.total_cost_usd ?? 0,
|
|
566
|
+
analysisTimeMs: data.media_analysis.analysis_time_ms ?? 0,
|
|
567
|
+
};
|
|
568
|
+
}
|
|
536
569
|
if (this.config.debug) {
|
|
537
570
|
debugLog('Proxy Mode: proxyLLMCall result', {
|
|
538
571
|
success: result.success,
|
|
@@ -4541,6 +4574,111 @@ export class AxonFlow {
|
|
|
4541
4574
|
const response = await this.orchestratorRequest('GET', '/api/v1/hitl/stats');
|
|
4542
4575
|
return response.data;
|
|
4543
4576
|
}
|
|
4577
|
+
// ============================================================================
|
|
4578
|
+
// Media Governance Config Methods (Issue #1222)
|
|
4579
|
+
// ============================================================================
|
|
4580
|
+
/**
|
|
4581
|
+
* Get the current media governance configuration for the authenticated tenant.
|
|
4582
|
+
*
|
|
4583
|
+
* Returns whether media analysis is enabled, which analyzers are allowed,
|
|
4584
|
+
* and when the config was last updated.
|
|
4585
|
+
*
|
|
4586
|
+
* @returns Media governance configuration for the tenant
|
|
4587
|
+
*
|
|
4588
|
+
* @example
|
|
4589
|
+
* ```typescript
|
|
4590
|
+
* const config = await client.getMediaGovernanceConfig();
|
|
4591
|
+
* console.log(`Media governance enabled: ${config.enabled}`);
|
|
4592
|
+
* if (config.allowedAnalyzers) {
|
|
4593
|
+
* console.log(`Allowed analyzers: ${config.allowedAnalyzers.join(', ')}`);
|
|
4594
|
+
* }
|
|
4595
|
+
* ```
|
|
4596
|
+
*/
|
|
4597
|
+
async getMediaGovernanceConfig() {
|
|
4598
|
+
if (this.config.debug) {
|
|
4599
|
+
debugLog('Getting media governance config');
|
|
4600
|
+
}
|
|
4601
|
+
const data = await this.orchestratorRequest('GET', '/api/v1/media-governance/config');
|
|
4602
|
+
// Transform snake_case response to camelCase
|
|
4603
|
+
return {
|
|
4604
|
+
tenantId: data.tenant_id,
|
|
4605
|
+
enabled: data.enabled,
|
|
4606
|
+
allowedAnalyzers: data.allowed_analyzers,
|
|
4607
|
+
updatedAt: data.updated_at,
|
|
4608
|
+
updatedBy: data.updated_by,
|
|
4609
|
+
};
|
|
4610
|
+
}
|
|
4611
|
+
/**
|
|
4612
|
+
* Update the media governance configuration for the authenticated tenant.
|
|
4613
|
+
*
|
|
4614
|
+
* Use this to enable/disable media analysis or restrict which analyzers
|
|
4615
|
+
* are available for the tenant.
|
|
4616
|
+
*
|
|
4617
|
+
* @param request - Fields to update
|
|
4618
|
+
* @returns Updated media governance configuration
|
|
4619
|
+
*
|
|
4620
|
+
* @example
|
|
4621
|
+
* ```typescript
|
|
4622
|
+
* // Disable media governance
|
|
4623
|
+
* const updated = await client.updateMediaGovernanceConfig({ enabled: false });
|
|
4624
|
+
*
|
|
4625
|
+
* // Enable with specific analyzers only
|
|
4626
|
+
* const config = await client.updateMediaGovernanceConfig({
|
|
4627
|
+
* enabled: true,
|
|
4628
|
+
* allowedAnalyzers: ['nsfw', 'pii']
|
|
4629
|
+
* });
|
|
4630
|
+
* ```
|
|
4631
|
+
*/
|
|
4632
|
+
async updateMediaGovernanceConfig(request) {
|
|
4633
|
+
if (this.config.debug) {
|
|
4634
|
+
debugLog('Updating media governance config', { request });
|
|
4635
|
+
}
|
|
4636
|
+
// Convert camelCase to snake_case for API compatibility
|
|
4637
|
+
const requestBody = {};
|
|
4638
|
+
if (request.enabled !== undefined)
|
|
4639
|
+
requestBody.enabled = request.enabled;
|
|
4640
|
+
if (request.allowedAnalyzers !== undefined)
|
|
4641
|
+
requestBody.allowed_analyzers = request.allowedAnalyzers;
|
|
4642
|
+
const data = await this.orchestratorRequest('PUT', '/api/v1/media-governance/config', requestBody);
|
|
4643
|
+
// Transform snake_case response to camelCase
|
|
4644
|
+
return {
|
|
4645
|
+
tenantId: data.tenant_id,
|
|
4646
|
+
enabled: data.enabled,
|
|
4647
|
+
allowedAnalyzers: data.allowed_analyzers,
|
|
4648
|
+
updatedAt: data.updated_at,
|
|
4649
|
+
updatedBy: data.updated_by,
|
|
4650
|
+
};
|
|
4651
|
+
}
|
|
4652
|
+
/**
|
|
4653
|
+
* Get the platform-level media governance status.
|
|
4654
|
+
*
|
|
4655
|
+
* Reports whether media governance is available on this platform instance,
|
|
4656
|
+
* the default enablement state, whether per-tenant control is supported,
|
|
4657
|
+
* and the required license tier.
|
|
4658
|
+
*
|
|
4659
|
+
* @returns Media governance platform status
|
|
4660
|
+
*
|
|
4661
|
+
* @example
|
|
4662
|
+
* ```typescript
|
|
4663
|
+
* const status = await client.getMediaGovernanceStatus();
|
|
4664
|
+
* console.log(`Available: ${status.available}`);
|
|
4665
|
+
* console.log(`Tier: ${status.tier}`);
|
|
4666
|
+
* console.log(`Per-tenant control: ${status.perTenantControl}`);
|
|
4667
|
+
* ```
|
|
4668
|
+
*/
|
|
4669
|
+
async getMediaGovernanceStatus() {
|
|
4670
|
+
if (this.config.debug) {
|
|
4671
|
+
debugLog('Getting media governance status');
|
|
4672
|
+
}
|
|
4673
|
+
const data = await this.orchestratorRequest('GET', '/api/v1/media-governance/status');
|
|
4674
|
+
// Transform snake_case response to camelCase
|
|
4675
|
+
return {
|
|
4676
|
+
available: data.available,
|
|
4677
|
+
enabledByDefault: data.enabled_by_default,
|
|
4678
|
+
perTenantControl: data.per_tenant_control,
|
|
4679
|
+
tier: data.tier,
|
|
4680
|
+
};
|
|
4681
|
+
}
|
|
4544
4682
|
/**
|
|
4545
4683
|
* Stream real-time execution status updates via Server-Sent Events (SSE).
|
|
4546
4684
|
*
|