@axonflow/sdk 2.1.0 → 2.3.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 +39 -36
- package/dist/cjs/client.d.ts +75 -2
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +196 -77
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/errors.d.ts +93 -6
- package/dist/cjs/errors.d.ts.map +1 -1
- package/dist/cjs/errors.js +126 -12
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +7 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/code-governance.d.ts +2 -0
- package/dist/cjs/types/code-governance.d.ts.map +1 -1
- package/dist/cjs/types/config.d.ts +15 -7
- package/dist/cjs/types/config.d.ts.map +1 -1
- package/dist/cjs/types/connector.d.ts +28 -0
- package/dist/cjs/types/connector.d.ts.map +1 -1
- package/dist/cjs/types/proxy.d.ts +2 -2
- package/dist/cjs/types/proxy.d.ts.map +1 -1
- package/dist/esm/client.d.ts +75 -2
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +197 -78
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/errors.d.ts +93 -6
- package/dist/esm/errors.d.ts.map +1 -1
- package/dist/esm/errors.js +121 -11
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/code-governance.d.ts +2 -0
- package/dist/esm/types/code-governance.d.ts.map +1 -1
- package/dist/esm/types/config.d.ts +15 -7
- package/dist/esm/types/config.d.ts.map +1 -1
- package/dist/esm/types/connector.d.ts +28 -0
- package/dist/esm/types/connector.d.ts.map +1 -1
- package/dist/esm/types/proxy.d.ts +2 -2
- package/dist/esm/types/proxy.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -26,7 +26,8 @@ import OpenAI from 'openai';
|
|
|
26
26
|
// Initialize clients
|
|
27
27
|
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
|
|
28
28
|
const axonflow = new AxonFlow({
|
|
29
|
-
|
|
29
|
+
clientId: process.env.AXONFLOW_CLIENT_ID,
|
|
30
|
+
clientSecret: process.env.AXONFLOW_CLIENT_SECRET,
|
|
30
31
|
endpoint: process.env.AXONFLOW_ENDPOINT || 'http://localhost:8080'
|
|
31
32
|
});
|
|
32
33
|
|
|
@@ -75,7 +76,8 @@ For simpler integrations, Proxy Mode handles policy checking and auditing in a s
|
|
|
75
76
|
import { AxonFlow } from '@axonflow/sdk';
|
|
76
77
|
|
|
77
78
|
const axonflow = new AxonFlow({
|
|
78
|
-
|
|
79
|
+
clientId: process.env.AXONFLOW_CLIENT_ID,
|
|
80
|
+
clientSecret: process.env.AXONFLOW_CLIENT_SECRET,
|
|
79
81
|
endpoint: 'http://localhost:8080'
|
|
80
82
|
});
|
|
81
83
|
|
|
@@ -163,15 +165,6 @@ docker-compose up
|
|
|
163
165
|
- ✅ Same API as production
|
|
164
166
|
- ✅ Automatically detects localhost and skips authentication
|
|
165
167
|
|
|
166
|
-
### Legacy API Key Auth (Deprecated)
|
|
167
|
-
|
|
168
|
-
> **⚠️ Deprecated**: `apiKey` authentication is deprecated. Please migrate to license-based authentication using `licenseKey`.
|
|
169
|
-
|
|
170
|
-
```typescript
|
|
171
|
-
// Legacy method (still supported for backward compatibility)
|
|
172
|
-
const axonflow = new AxonFlow({ apiKey: process.env.AXONFLOW_API_KEY });
|
|
173
|
-
```
|
|
174
|
-
|
|
175
168
|
## Proxy Mode (executeQuery)
|
|
176
169
|
|
|
177
170
|
Proxy Mode routes all requests through AxonFlow's `/api/request` endpoint, providing a simpler integration pattern with automatic policy enforcement:
|
|
@@ -182,7 +175,8 @@ Proxy Mode routes all requests through AxonFlow's `/api/request` endpoint, provi
|
|
|
182
175
|
import { AxonFlow, PolicyViolationError } from '@axonflow/sdk';
|
|
183
176
|
|
|
184
177
|
const axonflow = new AxonFlow({
|
|
185
|
-
|
|
178
|
+
clientId: process.env.AXONFLOW_CLIENT_ID,
|
|
179
|
+
clientSecret: process.env.AXONFLOW_CLIENT_SECRET
|
|
186
180
|
});
|
|
187
181
|
|
|
188
182
|
// Execute a chat query with policy enforcement
|
|
@@ -298,7 +292,8 @@ import { AxonFlow } from '@axonflow/sdk';
|
|
|
298
292
|
import { useState } from 'react';
|
|
299
293
|
|
|
300
294
|
const axonflow = new AxonFlow({
|
|
301
|
-
|
|
295
|
+
clientId: process.env.REACT_APP_AXONFLOW_CLIENT_ID,
|
|
296
|
+
clientSecret: process.env.REACT_APP_AXONFLOW_CLIENT_SECRET,
|
|
302
297
|
endpoint: process.env.REACT_APP_AXONFLOW_ENDPOINT || 'http://localhost:8080'
|
|
303
298
|
});
|
|
304
299
|
|
|
@@ -341,7 +336,8 @@ import OpenAI from 'openai';
|
|
|
341
336
|
|
|
342
337
|
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
|
|
343
338
|
const axonflow = new AxonFlow({
|
|
344
|
-
|
|
339
|
+
clientId: process.env.AXONFLOW_CLIENT_ID,
|
|
340
|
+
clientSecret: process.env.AXONFLOW_CLIENT_SECRET,
|
|
345
341
|
endpoint: process.env.AXONFLOW_ENDPOINT || 'http://localhost:8080'
|
|
346
342
|
});
|
|
347
343
|
|
|
@@ -396,12 +392,14 @@ export default async function handler(req, res) {
|
|
|
396
392
|
|
|
397
393
|
```typescript
|
|
398
394
|
const axonflow = new AxonFlow({
|
|
399
|
-
|
|
395
|
+
// Authentication (OAuth2 client credentials)
|
|
396
|
+
clientId: 'your-client-id', // Required for cloud/enterprise
|
|
397
|
+
clientSecret: 'your-client-secret', // Required for cloud/enterprise
|
|
400
398
|
|
|
401
399
|
// Optional settings
|
|
402
400
|
mode: 'production', // or 'sandbox' for testing
|
|
403
401
|
endpoint: 'https://staging-eu.getaxonflow.com', // Default public endpoint
|
|
404
|
-
tenant: 'your-tenant-id', // For multi-tenant setups
|
|
402
|
+
tenant: 'your-tenant-id', // For multi-tenant setups
|
|
405
403
|
debug: true, // Enable debug logging
|
|
406
404
|
|
|
407
405
|
// Retry configuration
|
|
@@ -425,9 +423,9 @@ For customers running within AWS VPC, use the private endpoint for sub-10ms late
|
|
|
425
423
|
|
|
426
424
|
```typescript
|
|
427
425
|
const axonflow = new AxonFlow({
|
|
428
|
-
|
|
426
|
+
clientId: process.env.AXONFLOW_CLIENT_ID,
|
|
427
|
+
clientSecret: process.env.AXONFLOW_CLIENT_SECRET,
|
|
429
428
|
endpoint: 'https://vpc-private-endpoint.getaxonflow.com:8443', // VPC private endpoint
|
|
430
|
-
tenant: 'your-client-id',
|
|
431
429
|
mode: 'production'
|
|
432
430
|
});
|
|
433
431
|
```
|
|
@@ -442,7 +440,7 @@ const axonflow = new AxonFlow({
|
|
|
442
440
|
|
|
443
441
|
```typescript
|
|
444
442
|
// Use sandbox mode for testing without affecting production
|
|
445
|
-
const axonflow = AxonFlow.sandbox('demo-
|
|
443
|
+
const axonflow = AxonFlow.sandbox('demo-client', 'demo-secret');
|
|
446
444
|
|
|
447
445
|
// Test with PII detection (will be blocked)
|
|
448
446
|
try {
|
|
@@ -498,10 +496,11 @@ try {
|
|
|
498
496
|
|
|
499
497
|
## Production Best Practices
|
|
500
498
|
|
|
501
|
-
1. **Environment Variables**: Never hardcode
|
|
499
|
+
1. **Environment Variables**: Never hardcode credentials
|
|
502
500
|
```typescript
|
|
503
501
|
const axonflow = new AxonFlow({
|
|
504
|
-
|
|
502
|
+
clientId: process.env.AXONFLOW_CLIENT_ID,
|
|
503
|
+
clientSecret: process.env.AXONFLOW_CLIENT_SECRET
|
|
505
504
|
});
|
|
506
505
|
```
|
|
507
506
|
|
|
@@ -514,7 +513,8 @@ try {
|
|
|
514
513
|
3. **Tenant Isolation**: Use tenant IDs for multi-tenant apps
|
|
515
514
|
```typescript
|
|
516
515
|
const axonflow = new AxonFlow({
|
|
517
|
-
|
|
516
|
+
clientId: process.env.AXONFLOW_CLIENT_ID,
|
|
517
|
+
clientSecret: process.env.AXONFLOW_CLIENT_SECRET,
|
|
518
518
|
tenant: getCurrentTenantId()
|
|
519
519
|
});
|
|
520
520
|
```
|
|
@@ -738,9 +738,10 @@ if (status.status === 'running') {
|
|
|
738
738
|
import { AxonFlow } from '@axonflow/sdk';
|
|
739
739
|
|
|
740
740
|
async function planTrip() {
|
|
741
|
-
// Initialize client with
|
|
741
|
+
// Initialize client with OAuth2 credentials
|
|
742
742
|
const axonflow = new AxonFlow({
|
|
743
|
-
|
|
743
|
+
clientId: process.env.AXONFLOW_CLIENT_ID,
|
|
744
|
+
clientSecret: process.env.AXONFLOW_CLIENT_SECRET,
|
|
744
745
|
debug: true
|
|
745
746
|
});
|
|
746
747
|
|
|
@@ -770,33 +771,35 @@ planTrip().catch(console.error);
|
|
|
770
771
|
|
|
771
772
|
## Migration Guide
|
|
772
773
|
|
|
773
|
-
### Migrating
|
|
774
|
+
### Migrating to OAuth2 Client Credentials
|
|
774
775
|
|
|
775
|
-
If you're
|
|
776
|
+
If you're using older authentication methods (`apiKey` or `licenseKey`), migrate to OAuth2 client credentials:
|
|
776
777
|
|
|
777
|
-
**Before:**
|
|
778
|
+
**Before (v2.x):**
|
|
778
779
|
```typescript
|
|
779
780
|
const axonflow = new AxonFlow({
|
|
780
781
|
apiKey: process.env.AXONFLOW_API_KEY
|
|
781
782
|
});
|
|
783
|
+
// or
|
|
784
|
+
const axonflow = new AxonFlow({
|
|
785
|
+
licenseKey: process.env.AXONFLOW_LICENSE_KEY
|
|
786
|
+
});
|
|
782
787
|
```
|
|
783
788
|
|
|
784
|
-
**After:**
|
|
789
|
+
**After (v3.x):**
|
|
785
790
|
```typescript
|
|
786
791
|
const axonflow = new AxonFlow({
|
|
787
|
-
|
|
792
|
+
clientId: process.env.AXONFLOW_CLIENT_ID,
|
|
793
|
+
clientSecret: process.env.AXONFLOW_CLIENT_SECRET
|
|
788
794
|
});
|
|
789
795
|
```
|
|
790
796
|
|
|
791
|
-
**How to get
|
|
797
|
+
**How to get credentials:**
|
|
792
798
|
1. Contact AxonFlow support at [dev@getaxonflow.com](mailto:dev@getaxonflow.com)
|
|
793
|
-
2.
|
|
794
|
-
3. Store
|
|
799
|
+
2. Credentials are provided as part of your AxonFlow subscription
|
|
800
|
+
3. Store credentials securely in environment variables or secrets management systems
|
|
795
801
|
|
|
796
|
-
**
|
|
797
|
-
- The SDK maintains full backward compatibility with `apiKey`
|
|
798
|
-
- No breaking changes - existing code continues to work
|
|
799
|
-
- You can migrate at your own pace
|
|
802
|
+
**Self-hosted users:** No credentials required for localhost endpoints.
|
|
800
803
|
|
|
801
804
|
## License
|
|
802
805
|
|
package/dist/cjs/client.d.ts
CHANGED
|
@@ -7,6 +7,15 @@ export declare class AxonFlow {
|
|
|
7
7
|
private interceptors;
|
|
8
8
|
private sessionCookie;
|
|
9
9
|
constructor(config: AxonFlowConfig);
|
|
10
|
+
/**
|
|
11
|
+
* Get authentication headers based on configured credentials.
|
|
12
|
+
*
|
|
13
|
+
* Uses OAuth2-style Basic auth: Authorization: Basic base64(clientId:clientSecret)
|
|
14
|
+
* Also adds X-Tenant-ID header from clientId for tenant context.
|
|
15
|
+
*
|
|
16
|
+
* @returns Headers object with authentication headers
|
|
17
|
+
*/
|
|
18
|
+
private getAuthHeaders;
|
|
10
19
|
/**
|
|
11
20
|
* Main method to protect AI calls with governance
|
|
12
21
|
* @param aiCall The AI call to protect
|
|
@@ -73,7 +82,7 @@ export declare class AxonFlow {
|
|
|
73
82
|
/**
|
|
74
83
|
* Create a sandbox client for testing
|
|
75
84
|
*/
|
|
76
|
-
static sandbox(
|
|
85
|
+
static sandbox(clientId?: string, clientSecret?: string): AxonFlow;
|
|
77
86
|
/**
|
|
78
87
|
* Check if AxonFlow Agent is healthy and available.
|
|
79
88
|
*
|
|
@@ -152,6 +161,49 @@ export declare class AxonFlow {
|
|
|
152
161
|
* Execute a query against an installed MCP connector
|
|
153
162
|
*/
|
|
154
163
|
queryConnector(connectorName: string, query: string, params?: any): Promise<ConnectorResponse>;
|
|
164
|
+
/**
|
|
165
|
+
* Execute a query directly against the MCP connector endpoint.
|
|
166
|
+
*
|
|
167
|
+
* This method calls the agent's /mcp/resources/query endpoint which provides:
|
|
168
|
+
* - Request-phase policy evaluation (SQLi blocking, PII blocking)
|
|
169
|
+
* - Response-phase policy evaluation (PII redaction)
|
|
170
|
+
* - PolicyInfo metadata in responses
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```typescript
|
|
174
|
+
* const response = await axonflow.mcpQuery({
|
|
175
|
+
* connector: 'postgres',
|
|
176
|
+
* statement: 'SELECT * FROM customers LIMIT 10',
|
|
177
|
+
* });
|
|
178
|
+
*
|
|
179
|
+
* if (response.redacted) {
|
|
180
|
+
* console.log('Fields redacted:', response.redacted_fields);
|
|
181
|
+
* }
|
|
182
|
+
* console.log('Policies evaluated:', response.policy_info?.policies_evaluated);
|
|
183
|
+
* ```
|
|
184
|
+
*
|
|
185
|
+
* @param options - Query options including connector name and SQL statement
|
|
186
|
+
* @returns ConnectorResponse with data, redaction info, and policy_info
|
|
187
|
+
* @throws ConnectorError if the request is blocked by policy or fails
|
|
188
|
+
*/
|
|
189
|
+
mcpQuery(options: {
|
|
190
|
+
connector: string;
|
|
191
|
+
statement: string;
|
|
192
|
+
options?: Record<string, any>;
|
|
193
|
+
}): Promise<ConnectorResponse>;
|
|
194
|
+
/**
|
|
195
|
+
* Execute a statement against an MCP connector (alias for mcpQuery).
|
|
196
|
+
*
|
|
197
|
+
* Same as mcpQuery but follows the naming convention of other execute* methods.
|
|
198
|
+
*
|
|
199
|
+
* @param options - Query options including connector name and SQL statement
|
|
200
|
+
* @returns ConnectorResponse with data, redaction info, and policy_info
|
|
201
|
+
*/
|
|
202
|
+
mcpExecute(options: {
|
|
203
|
+
connector: string;
|
|
204
|
+
statement: string;
|
|
205
|
+
options?: Record<string, any>;
|
|
206
|
+
}): Promise<ConnectorResponse>;
|
|
155
207
|
/**
|
|
156
208
|
* Generate a multi-agent execution plan from a natural language query
|
|
157
209
|
* @param query - Natural language query describing the task
|
|
@@ -295,7 +347,9 @@ export declare class AxonFlow {
|
|
|
295
347
|
*/
|
|
296
348
|
private parseAuditLogEntry;
|
|
297
349
|
/**
|
|
298
|
-
* Build authentication headers for API requests
|
|
350
|
+
* Build authentication headers for API requests.
|
|
351
|
+
* Includes Content-Type and X-Org-ID for policy APIs.
|
|
352
|
+
* Uses getAuthHeaders() for authentication credentials.
|
|
299
353
|
*/
|
|
300
354
|
private buildAuthHeaders;
|
|
301
355
|
/**
|
|
@@ -732,6 +786,25 @@ export declare class AxonFlow {
|
|
|
732
786
|
* ```
|
|
733
787
|
*/
|
|
734
788
|
getPR(prId: string): Promise<PRRecord>;
|
|
789
|
+
/**
|
|
790
|
+
* Close a PR without merging and optionally delete the branch.
|
|
791
|
+
* Useful for cleaning up test PRs created by examples.
|
|
792
|
+
*
|
|
793
|
+
* @param prId - PR record ID
|
|
794
|
+
* @param deleteBranch - Whether to delete the associated branch (default: true)
|
|
795
|
+
* @returns Closed PR record
|
|
796
|
+
*
|
|
797
|
+
* @example
|
|
798
|
+
* ```typescript
|
|
799
|
+
* // Close PR and delete branch
|
|
800
|
+
* const pr = await axonflow.closePR('pr_123');
|
|
801
|
+
* console.log(`PR #${pr.prNumber} closed`);
|
|
802
|
+
*
|
|
803
|
+
* // Close PR but keep branch
|
|
804
|
+
* const pr = await axonflow.closePR('pr_123', false);
|
|
805
|
+
* ```
|
|
806
|
+
*/
|
|
807
|
+
closePR(prId: string, deleteBranch?: boolean): Promise<PRRecord>;
|
|
735
808
|
/**
|
|
736
809
|
* Sync PR status with the Git provider.
|
|
737
810
|
* This updates the local record with the current state from GitHub/GitLab/Bitbucket.
|
package/dist/cjs/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAId,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EAEjB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EAEZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EAExB,eAAe,EACf,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,cAAc,EAEd,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EAEtB,MAAM,EACN,eAAe,EACf,YAAY,EAEZ,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,cAAc,EAGd,oBAAoB,EAEpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|