@axonflow/sdk 1.0.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/LICENSE +21 -0
- package/README.md +386 -0
- package/dist/cjs/client.d.ts +60 -0
- package/dist/cjs/client.d.ts.map +1 -0
- package/dist/cjs/client.js +364 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/index.d.ts +22 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +29 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interceptors/anthropic.d.ts +16 -0
- package/dist/cjs/interceptors/anthropic.d.ts.map +1 -0
- package/dist/cjs/interceptors/anthropic.js +74 -0
- package/dist/cjs/interceptors/anthropic.js.map +1 -0
- package/dist/cjs/interceptors/base.d.ts +23 -0
- package/dist/cjs/interceptors/base.d.ts.map +1 -0
- package/dist/cjs/interceptors/base.js +10 -0
- package/dist/cjs/interceptors/base.js.map +1 -0
- package/dist/cjs/interceptors/openai.d.ts +16 -0
- package/dist/cjs/interceptors/openai.d.ts.map +1 -0
- package/dist/cjs/interceptors/openai.js +73 -0
- package/dist/cjs/interceptors/openai.js.map +1 -0
- package/dist/cjs/types/config.d.ts +62 -0
- package/dist/cjs/types/config.d.ts.map +1 -0
- package/dist/cjs/types/config.js +3 -0
- package/dist/cjs/types/config.js.map +1 -0
- package/dist/cjs/types/connector.d.ts +31 -0
- package/dist/cjs/types/connector.d.ts.map +1 -0
- package/dist/cjs/types/connector.js +6 -0
- package/dist/cjs/types/connector.js.map +1 -0
- package/dist/cjs/types/index.d.ts +7 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +23 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/planning.d.ts +29 -0
- package/dist/cjs/types/planning.d.ts.map +1 -0
- package/dist/cjs/types/planning.js +6 -0
- package/dist/cjs/types/planning.js.map +1 -0
- package/dist/cjs/types/policy.d.ts +48 -0
- package/dist/cjs/types/policy.d.ts.map +1 -0
- package/dist/cjs/types/policy.js +3 -0
- package/dist/cjs/types/policy.js.map +1 -0
- package/dist/cjs/types/request.d.ts +56 -0
- package/dist/cjs/types/request.d.ts.map +1 -0
- package/dist/cjs/types/request.js +3 -0
- package/dist/cjs/types/request.js.map +1 -0
- package/dist/cjs/types/response.d.ts +82 -0
- package/dist/cjs/types/response.d.ts.map +1 -0
- package/dist/cjs/types/response.js +3 -0
- package/dist/cjs/types/response.js.map +1 -0
- package/dist/cjs/utils/helpers.d.ts +25 -0
- package/dist/cjs/utils/helpers.d.ts.map +1 -0
- package/dist/cjs/utils/helpers.js +54 -0
- package/dist/cjs/utils/helpers.js.map +1 -0
- package/dist/esm/client.d.ts +60 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/client.js +360 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/index.d.ts +22 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +23 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interceptors/anthropic.d.ts +16 -0
- package/dist/esm/interceptors/anthropic.d.ts.map +1 -0
- package/dist/esm/interceptors/anthropic.js +69 -0
- package/dist/esm/interceptors/anthropic.js.map +1 -0
- package/dist/esm/interceptors/base.d.ts +23 -0
- package/dist/esm/interceptors/base.d.ts.map +1 -0
- package/dist/esm/interceptors/base.js +6 -0
- package/dist/esm/interceptors/base.js.map +1 -0
- package/dist/esm/interceptors/openai.d.ts +16 -0
- package/dist/esm/interceptors/openai.d.ts.map +1 -0
- package/dist/esm/interceptors/openai.js +68 -0
- package/dist/esm/interceptors/openai.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/types/config.d.ts +62 -0
- package/dist/esm/types/config.d.ts.map +1 -0
- package/dist/esm/types/config.js +2 -0
- package/dist/esm/types/config.js.map +1 -0
- package/dist/esm/types/connector.d.ts +31 -0
- package/dist/esm/types/connector.d.ts.map +1 -0
- package/dist/esm/types/connector.js +5 -0
- package/dist/esm/types/connector.js.map +1 -0
- package/dist/esm/types/index.d.ts +7 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +7 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/planning.d.ts +29 -0
- package/dist/esm/types/planning.d.ts.map +1 -0
- package/dist/esm/types/planning.js +5 -0
- package/dist/esm/types/planning.js.map +1 -0
- package/dist/esm/types/policy.d.ts +48 -0
- package/dist/esm/types/policy.d.ts.map +1 -0
- package/dist/esm/types/policy.js +2 -0
- package/dist/esm/types/policy.js.map +1 -0
- package/dist/esm/types/request.d.ts +56 -0
- package/dist/esm/types/request.d.ts.map +1 -0
- package/dist/esm/types/request.js +2 -0
- package/dist/esm/types/request.js.map +1 -0
- package/dist/esm/types/response.d.ts +82 -0
- package/dist/esm/types/response.d.ts.map +1 -0
- package/dist/esm/types/response.js +2 -0
- package/dist/esm/types/response.js.map +1 -0
- package/dist/esm/utils/helpers.d.ts +25 -0
- package/dist/esm/utils/helpers.d.ts.map +1 -0
- package/dist/esm/utils/helpers.js +46 -0
- package/dist/esm/utils/helpers.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/interceptors/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGzC;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IACpD,SAAS,CAAC,MAAW;QACnB,0CAA0C;QAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC7B,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACvC,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC3C,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,MAAW;QACxB,yCAAyC;QACzC,0EAA0E;QAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAErC,sBAAsB;QACtB,IAAI,KAAK,GAAG,SAAS,CAAC;QACtB,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC;aAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,KAAK,GAAG,eAAe,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,KAAK;YACL,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE;YACV,4DAA4D;aAC7D;SACF,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,MAAW,EAAE,aAAkB;QACtD,0DAA0D;QAC1D,uDAAuD;QACvD,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,WAAW;QACT,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAiB,EAAE,QAAa;IAC/D,8CAA8C;IAC9C,OAAO,IAAI,KAAK,CAAC,YAAY,EAAE;QAC7B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAErD,0CAA0C;YAC1C,IAAI,OAAO,QAAQ,KAAK,UAAU;gBAC9B,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAEzF,OAAO,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;oBAC9B,iCAAiC;oBACjC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC;YACJ,CAAC;YAED,oDAAoD;YACpD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration options for the AxonFlow SDK
|
|
3
|
+
*/
|
|
4
|
+
export interface AxonFlowConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Your AxonFlow API key
|
|
7
|
+
*/
|
|
8
|
+
apiKey: string;
|
|
9
|
+
/**
|
|
10
|
+
* AxonFlow API endpoint (optional)
|
|
11
|
+
* Default: https://api.axonflow.com
|
|
12
|
+
*/
|
|
13
|
+
endpoint?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Deployment mode
|
|
16
|
+
* - sandbox: For testing with non-production data
|
|
17
|
+
* - production: For production use
|
|
18
|
+
* Default: production
|
|
19
|
+
*/
|
|
20
|
+
mode?: 'sandbox' | 'production';
|
|
21
|
+
/**
|
|
22
|
+
* Tenant identifier for multi-tenant deployments
|
|
23
|
+
*/
|
|
24
|
+
tenant?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Enable debug logging
|
|
27
|
+
* Default: false
|
|
28
|
+
*/
|
|
29
|
+
debug?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Request timeout in milliseconds
|
|
32
|
+
* Default: 30000 (30 seconds)
|
|
33
|
+
*/
|
|
34
|
+
timeout?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Retry configuration
|
|
37
|
+
*/
|
|
38
|
+
retry?: {
|
|
39
|
+
enabled: boolean;
|
|
40
|
+
maxAttempts?: number;
|
|
41
|
+
delay?: number;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Cache configuration for policy decisions
|
|
45
|
+
*/
|
|
46
|
+
cache?: {
|
|
47
|
+
enabled: boolean;
|
|
48
|
+
ttl?: number;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export interface RetryConfig {
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
maxAttempts: number;
|
|
54
|
+
delay: number;
|
|
55
|
+
backoff: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface CacheConfig {
|
|
58
|
+
enabled: boolean;
|
|
59
|
+
ttl: number;
|
|
60
|
+
maxSize: number;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IAEhC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Connector types for AxonFlow SDK
|
|
3
|
+
*/
|
|
4
|
+
export interface ConnectorMetadata {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
type: string;
|
|
8
|
+
version: string;
|
|
9
|
+
description: string;
|
|
10
|
+
category: string;
|
|
11
|
+
icon: string;
|
|
12
|
+
tags: string[];
|
|
13
|
+
capabilities: string[];
|
|
14
|
+
configSchema: Record<string, any>;
|
|
15
|
+
installed: boolean;
|
|
16
|
+
healthy?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface ConnectorInstallRequest {
|
|
19
|
+
connector_id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
tenant_id: string;
|
|
22
|
+
options: Record<string, any>;
|
|
23
|
+
credentials: Record<string, string>;
|
|
24
|
+
}
|
|
25
|
+
export interface ConnectorResponse {
|
|
26
|
+
success: boolean;
|
|
27
|
+
data: any;
|
|
28
|
+
error?: string;
|
|
29
|
+
meta?: Record<string, any>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=connector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/types/connector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/types/connector.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Agent Planning (MAP) types for AxonFlow SDK
|
|
3
|
+
*/
|
|
4
|
+
export interface PlanStep {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
type: string;
|
|
8
|
+
description: string;
|
|
9
|
+
dependsOn: string[];
|
|
10
|
+
agent: string;
|
|
11
|
+
parameters: Record<string, any>;
|
|
12
|
+
}
|
|
13
|
+
export interface PlanResponse {
|
|
14
|
+
planId: string;
|
|
15
|
+
steps: PlanStep[];
|
|
16
|
+
domain: string;
|
|
17
|
+
complexity: number;
|
|
18
|
+
parallel: boolean;
|
|
19
|
+
metadata: Record<string, any>;
|
|
20
|
+
}
|
|
21
|
+
export interface PlanExecutionResponse {
|
|
22
|
+
planId: string;
|
|
23
|
+
status: 'running' | 'completed' | 'failed';
|
|
24
|
+
result?: string;
|
|
25
|
+
stepResults?: Record<string, any>;
|
|
26
|
+
error?: string;
|
|
27
|
+
duration?: string;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=planning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../../../src/types/planning.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../src/types/planning.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Policy-related types
|
|
3
|
+
*/
|
|
4
|
+
export interface Policy {
|
|
5
|
+
/**
|
|
6
|
+
* Policy ID
|
|
7
|
+
*/
|
|
8
|
+
id: string;
|
|
9
|
+
/**
|
|
10
|
+
* Policy name
|
|
11
|
+
*/
|
|
12
|
+
name: string;
|
|
13
|
+
/**
|
|
14
|
+
* Policy type
|
|
15
|
+
*/
|
|
16
|
+
type: 'static' | 'dynamic';
|
|
17
|
+
/**
|
|
18
|
+
* Is the policy enabled?
|
|
19
|
+
*/
|
|
20
|
+
enabled: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Policy rules
|
|
23
|
+
*/
|
|
24
|
+
rules: PolicyRule[];
|
|
25
|
+
/**
|
|
26
|
+
* Priority (lower numbers = higher priority)
|
|
27
|
+
*/
|
|
28
|
+
priority: number;
|
|
29
|
+
}
|
|
30
|
+
export interface PolicyRule {
|
|
31
|
+
/**
|
|
32
|
+
* Rule condition
|
|
33
|
+
*/
|
|
34
|
+
condition: {
|
|
35
|
+
field: string;
|
|
36
|
+
operator: 'equals' | 'contains' | 'regex' | 'greater' | 'less';
|
|
37
|
+
value: any;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Action to take if condition matches
|
|
41
|
+
*/
|
|
42
|
+
action: 'allow' | 'deny' | 'redact' | 'modify' | 'log';
|
|
43
|
+
/**
|
|
44
|
+
* Optional message
|
|
45
|
+
*/
|
|
46
|
+
message?: string;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/types/policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;QAC/D,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC;IAEF;;OAEG;IACH,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAEvD;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/types/policy.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request types for AI calls
|
|
3
|
+
*/
|
|
4
|
+
export interface AIRequest {
|
|
5
|
+
/**
|
|
6
|
+
* The AI provider (openai, anthropic, etc.)
|
|
7
|
+
*/
|
|
8
|
+
provider: string;
|
|
9
|
+
/**
|
|
10
|
+
* The model being used
|
|
11
|
+
*/
|
|
12
|
+
model: string;
|
|
13
|
+
/**
|
|
14
|
+
* The prompt or messages
|
|
15
|
+
*/
|
|
16
|
+
prompt: string | any[];
|
|
17
|
+
/**
|
|
18
|
+
* Request parameters (temperature, max_tokens, etc.)
|
|
19
|
+
*/
|
|
20
|
+
parameters?: Record<string, any>;
|
|
21
|
+
/**
|
|
22
|
+
* User context for policy evaluation
|
|
23
|
+
*/
|
|
24
|
+
context?: {
|
|
25
|
+
userId?: string;
|
|
26
|
+
sessionId?: string;
|
|
27
|
+
metadata?: Record<string, any>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Original request for passthrough
|
|
31
|
+
*/
|
|
32
|
+
originalRequest?: any;
|
|
33
|
+
}
|
|
34
|
+
export interface GovernanceRequest {
|
|
35
|
+
/**
|
|
36
|
+
* Unique request ID
|
|
37
|
+
*/
|
|
38
|
+
requestId: string;
|
|
39
|
+
/**
|
|
40
|
+
* Timestamp
|
|
41
|
+
*/
|
|
42
|
+
timestamp: number;
|
|
43
|
+
/**
|
|
44
|
+
* The AI request to govern
|
|
45
|
+
*/
|
|
46
|
+
aiRequest: AIRequest;
|
|
47
|
+
/**
|
|
48
|
+
* Governance mode
|
|
49
|
+
*/
|
|
50
|
+
mode: 'sandbox' | 'production';
|
|
51
|
+
/**
|
|
52
|
+
* Tenant identifier
|
|
53
|
+
*/
|
|
54
|
+
tenant?: string;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/types/request.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,CAAC;IAEF;;OAEG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC;IAE/B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/types/request.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Response types from AxonFlow governance
|
|
3
|
+
*/
|
|
4
|
+
export interface GovernanceResponse {
|
|
5
|
+
/**
|
|
6
|
+
* Request ID for tracking
|
|
7
|
+
*/
|
|
8
|
+
requestId: string;
|
|
9
|
+
/**
|
|
10
|
+
* Whether the request is allowed
|
|
11
|
+
*/
|
|
12
|
+
allowed: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Modified request (if any modifications were made)
|
|
15
|
+
*/
|
|
16
|
+
modifiedRequest?: any;
|
|
17
|
+
/**
|
|
18
|
+
* Applied policies
|
|
19
|
+
*/
|
|
20
|
+
policies: PolicyDecision[];
|
|
21
|
+
/**
|
|
22
|
+
* Audit information
|
|
23
|
+
*/
|
|
24
|
+
audit: {
|
|
25
|
+
timestamp: number;
|
|
26
|
+
duration: number;
|
|
27
|
+
tenant?: string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Any violations detected
|
|
31
|
+
*/
|
|
32
|
+
violations?: Violation[];
|
|
33
|
+
/**
|
|
34
|
+
* The AI response (after governance)
|
|
35
|
+
*/
|
|
36
|
+
aiResponse?: any;
|
|
37
|
+
}
|
|
38
|
+
export interface PolicyDecision {
|
|
39
|
+
/**
|
|
40
|
+
* Policy ID
|
|
41
|
+
*/
|
|
42
|
+
id: string;
|
|
43
|
+
/**
|
|
44
|
+
* Policy name
|
|
45
|
+
*/
|
|
46
|
+
name: string;
|
|
47
|
+
/**
|
|
48
|
+
* Decision (allow, deny, modify)
|
|
49
|
+
*/
|
|
50
|
+
decision: 'allow' | 'deny' | 'modify';
|
|
51
|
+
/**
|
|
52
|
+
* Reason for the decision
|
|
53
|
+
*/
|
|
54
|
+
reason?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Modifications applied
|
|
57
|
+
*/
|
|
58
|
+
modifications?: any[];
|
|
59
|
+
}
|
|
60
|
+
export interface Violation {
|
|
61
|
+
/**
|
|
62
|
+
* Type of violation
|
|
63
|
+
*/
|
|
64
|
+
type: 'pii' | 'security' | 'cost' | 'rate_limit' | 'content' | 'other';
|
|
65
|
+
/**
|
|
66
|
+
* Severity
|
|
67
|
+
*/
|
|
68
|
+
severity: 'low' | 'medium' | 'high' | 'critical';
|
|
69
|
+
/**
|
|
70
|
+
* Description
|
|
71
|
+
*/
|
|
72
|
+
description: string;
|
|
73
|
+
/**
|
|
74
|
+
* Policy that was violated
|
|
75
|
+
*/
|
|
76
|
+
policy: string;
|
|
77
|
+
/**
|
|
78
|
+
* Action taken
|
|
79
|
+
*/
|
|
80
|
+
action: 'blocked' | 'redacted' | 'logged' | 'allowed';
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/types/response.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,cAAc,EAAE,CAAC;IAE3B;;OAEG;IACH,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IAEzB;;OAEG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAEtC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAEvE;;OAEG;IACH,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAEjD;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;CACvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/types/response.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a unique request ID
|
|
3
|
+
*/
|
|
4
|
+
export declare function generateRequestId(): string;
|
|
5
|
+
/**
|
|
6
|
+
* Debug logging helper
|
|
7
|
+
*/
|
|
8
|
+
export declare function debugLog(message: string, data?: any): void;
|
|
9
|
+
/**
|
|
10
|
+
* Sleep helper for retry logic
|
|
11
|
+
*/
|
|
12
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Check if running in browser vs Node.js
|
|
15
|
+
*/
|
|
16
|
+
export declare function isBrowser(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Check if running in Node.js
|
|
19
|
+
*/
|
|
20
|
+
export declare function isNode(): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Safe JSON stringify that handles circular references
|
|
23
|
+
*/
|
|
24
|
+
export declare function safeStringify(obj: any): string;
|
|
25
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAEhC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAW9C"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a unique request ID
|
|
3
|
+
*/
|
|
4
|
+
export function generateRequestId() {
|
|
5
|
+
return `req_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Debug logging helper
|
|
9
|
+
*/
|
|
10
|
+
export function debugLog(message, data) {
|
|
11
|
+
console.log(`[AxonFlow] ${message}`, data ? JSON.stringify(data, null, 2) : '');
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Sleep helper for retry logic
|
|
15
|
+
*/
|
|
16
|
+
export function sleep(ms) {
|
|
17
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Check if running in browser vs Node.js
|
|
21
|
+
*/
|
|
22
|
+
export function isBrowser() {
|
|
23
|
+
return typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if running in Node.js
|
|
27
|
+
*/
|
|
28
|
+
export function isNode() {
|
|
29
|
+
return typeof process !== 'undefined' && process.versions !== undefined && process.versions.node !== undefined;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Safe JSON stringify that handles circular references
|
|
33
|
+
*/
|
|
34
|
+
export function safeStringify(obj) {
|
|
35
|
+
const seen = new WeakSet();
|
|
36
|
+
return JSON.stringify(obj, (key, value) => {
|
|
37
|
+
if (typeof value === 'object' && value !== null) {
|
|
38
|
+
if (seen.has(value)) {
|
|
39
|
+
return '[Circular]';
|
|
40
|
+
}
|
|
41
|
+
seen.add(value);
|
|
42
|
+
}
|
|
43
|
+
return value;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,IAAU;IAClD,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AACjF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC;AACjH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAQ;IACpC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@axonflow/sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "AxonFlow SDK - Add invisible AI governance to your applications in 3 lines of code",
|
|
5
|
+
"main": "dist/cjs/index.js",
|
|
6
|
+
"module": "dist/esm/index.js",
|
|
7
|
+
"types": "dist/cjs/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/esm/index.js",
|
|
11
|
+
"require": "./dist/cjs/index.js",
|
|
12
|
+
"types": "./dist/cjs/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"README.md",
|
|
18
|
+
"LICENSE"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "npm run clean && npm run compile",
|
|
22
|
+
"clean": "rm -rf dist",
|
|
23
|
+
"compile": "tsc && tsc --project tsconfig.esm.json && node scripts/fix-esm-imports.js",
|
|
24
|
+
"dev": "tsc --watch",
|
|
25
|
+
"test": "jest",
|
|
26
|
+
"prepublishOnly": "npm run build"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"axonflow",
|
|
30
|
+
"ai",
|
|
31
|
+
"governance",
|
|
32
|
+
"openai",
|
|
33
|
+
"anthropic",
|
|
34
|
+
"llm",
|
|
35
|
+
"security",
|
|
36
|
+
"compliance",
|
|
37
|
+
"policy",
|
|
38
|
+
"mcp",
|
|
39
|
+
"connectors",
|
|
40
|
+
"multi-agent"
|
|
41
|
+
],
|
|
42
|
+
"author": "AxonFlow <dev@getaxonflow.com>",
|
|
43
|
+
"license": "MIT",
|
|
44
|
+
"homepage": "https://getaxonflow.com",
|
|
45
|
+
"repository": {
|
|
46
|
+
"type": "git",
|
|
47
|
+
"url": "https://github.com/getaxonflow/axonflow-sdk-typescript"
|
|
48
|
+
},
|
|
49
|
+
"bugs": {
|
|
50
|
+
"url": "https://github.com/getaxonflow/axonflow-sdk-typescript/issues"
|
|
51
|
+
},
|
|
52
|
+
"engines": {
|
|
53
|
+
"node": ">=14.0.0"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@types/node": "^18.0.0",
|
|
57
|
+
"typescript": "^5.0.0",
|
|
58
|
+
"jest": "^29.0.0",
|
|
59
|
+
"@types/jest": "^29.0.0",
|
|
60
|
+
"ts-jest": "^29.0.0"
|
|
61
|
+
},
|
|
62
|
+
"dependencies": {}
|
|
63
|
+
}
|