@axonflow/sdk 1.1.0 → 1.2.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 +8 -60
- package/dist/cjs/client.d.ts +52 -1
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +206 -63
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/interceptors/anthropic.d.ts +1 -1
- package/dist/cjs/interceptors/anthropic.d.ts.map +1 -1
- package/dist/cjs/interceptors/anthropic.js +1 -1
- package/dist/cjs/interceptors/anthropic.js.map +1 -1
- package/dist/cjs/interceptors/openai.d.ts +1 -1
- package/dist/cjs/interceptors/openai.d.ts.map +1 -1
- package/dist/cjs/interceptors/openai.js +1 -1
- package/dist/cjs/interceptors/openai.js.map +1 -1
- package/dist/cjs/types/config.d.ts +1 -7
- package/dist/cjs/types/config.d.ts.map +1 -1
- package/dist/cjs/types/gateway.d.ts +146 -0
- package/dist/cjs/types/gateway.d.ts.map +1 -0
- package/dist/cjs/types/gateway.js +14 -0
- package/dist/cjs/types/gateway.js.map +1 -0
- 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/esm/client.d.ts +52 -1
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +206 -63
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/interceptors/anthropic.d.ts +1 -1
- package/dist/esm/interceptors/anthropic.d.ts.map +1 -1
- package/dist/esm/interceptors/anthropic.js +1 -1
- package/dist/esm/interceptors/anthropic.js.map +1 -1
- package/dist/esm/interceptors/openai.d.ts +1 -1
- package/dist/esm/interceptors/openai.d.ts.map +1 -1
- package/dist/esm/interceptors/openai.js +1 -1
- package/dist/esm/interceptors/openai.js.map +1 -1
- package/dist/esm/types/config.d.ts +1 -7
- package/dist/esm/types/config.d.ts.map +1 -1
- package/dist/esm/types/gateway.d.ts +146 -0
- package/dist/esm/types/gateway.d.ts.map +1 -0
- package/dist/esm/types/gateway.js +13 -0
- package/dist/esm/types/gateway.js.map +1 -0
- 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/package.json +7 -16
- package/LICENSE +0 -21
|
@@ -6,7 +6,7 @@ import { AIRequest } from '../types';
|
|
|
6
6
|
export declare class OpenAIInterceptor extends BaseInterceptor {
|
|
7
7
|
canHandle(aiCall: any): boolean;
|
|
8
8
|
extractRequest(aiCall: any): AIRequest;
|
|
9
|
-
executeWithModifications(aiCall: any,
|
|
9
|
+
executeWithModifications(aiCall: any, modifications: any): Promise<any>;
|
|
10
10
|
getProvider(): string;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/interceptors/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAS/B,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS;IAuBtC,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/interceptors/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAS/B,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS;IAuBtC,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAMvE,WAAW,IAAI,MAAM;CAGtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAwBtE"}
|
|
@@ -36,7 +36,7 @@ class OpenAIInterceptor extends base_1.BaseInterceptor {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
executeWithModifications(aiCall,
|
|
39
|
+
executeWithModifications(aiCall, modifications) {
|
|
40
40
|
// Execute the call with any modifications from governance
|
|
41
41
|
// In production, this would apply actual modifications
|
|
42
42
|
return aiCall();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/interceptors/openai.ts"],"names":[],"mappings":";;;AAqDA,4CAwBC;AA7ED,iCAAyC;AAGzC;;GAEG;AACH,MAAa,iBAAkB,SAAQ,sBAAe;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,
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/interceptors/openai.ts"],"names":[],"mappings":";;;AAqDA,4CAwBC;AA7ED,iCAAyC;AAGzC;;GAEG;AACH,MAAa,iBAAkB,SAAQ,sBAAe;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;AA1CD,8CA0CC;AAED;;GAEG;AACH,SAAgB,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"}
|
|
@@ -4,14 +4,8 @@
|
|
|
4
4
|
export interface AxonFlowConfig {
|
|
5
5
|
/**
|
|
6
6
|
* Your AxonFlow API key
|
|
7
|
-
* @deprecated Use licenseKey instead for license-based authentication
|
|
8
7
|
*/
|
|
9
|
-
apiKey
|
|
10
|
-
/**
|
|
11
|
-
* Your AxonFlow license key (recommended)
|
|
12
|
-
* Replaces the deprecated apiKey for license-based authentication
|
|
13
|
-
*/
|
|
14
|
-
licenseKey?: string;
|
|
8
|
+
apiKey: string;
|
|
15
9
|
/**
|
|
16
10
|
* AxonFlow API endpoint (optional)
|
|
17
11
|
* Default: https://api.axonflow.com
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B
|
|
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,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gateway Mode Types
|
|
3
|
+
*
|
|
4
|
+
* Gateway Mode allows clients to make LLM calls directly while still using
|
|
5
|
+
* AxonFlow for policy enforcement and audit logging.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* 1. Call getPolicyApprovedContext() before making LLM call
|
|
9
|
+
* 2. Make LLM call directly to your provider (using returned approved data)
|
|
10
|
+
* 3. Call auditLLMCall() after to record the call for compliance
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Request for policy pre-check before LLM call
|
|
14
|
+
*/
|
|
15
|
+
export interface PreCheckRequest {
|
|
16
|
+
/**
|
|
17
|
+
* JWT token for the user making the request
|
|
18
|
+
*/
|
|
19
|
+
userToken: string;
|
|
20
|
+
/**
|
|
21
|
+
* Optional list of MCP connectors to fetch data from
|
|
22
|
+
*/
|
|
23
|
+
dataSources?: string[];
|
|
24
|
+
/**
|
|
25
|
+
* The query/prompt that will be sent to the LLM
|
|
26
|
+
*/
|
|
27
|
+
query: string;
|
|
28
|
+
/**
|
|
29
|
+
* Optional additional context for policy evaluation
|
|
30
|
+
*/
|
|
31
|
+
context?: Record<string, any>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Result from policy pre-check
|
|
35
|
+
*/
|
|
36
|
+
export interface PolicyApprovalResult {
|
|
37
|
+
/**
|
|
38
|
+
* Context ID linking pre-check to audit
|
|
39
|
+
*/
|
|
40
|
+
contextId: string;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the request was approved by policies
|
|
43
|
+
*/
|
|
44
|
+
approved: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Filtered data from connectors (if dataSources specified)
|
|
47
|
+
*/
|
|
48
|
+
approvedData?: Record<string, any>;
|
|
49
|
+
/**
|
|
50
|
+
* Policies that were evaluated
|
|
51
|
+
*/
|
|
52
|
+
policies: string[];
|
|
53
|
+
/**
|
|
54
|
+
* Rate limit information (if applicable)
|
|
55
|
+
*/
|
|
56
|
+
rateLimitInfo?: RateLimitInfo;
|
|
57
|
+
/**
|
|
58
|
+
* When this context expires
|
|
59
|
+
*/
|
|
60
|
+
expiresAt: Date;
|
|
61
|
+
/**
|
|
62
|
+
* Reason if request was blocked
|
|
63
|
+
*/
|
|
64
|
+
blockReason?: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Rate limit status information
|
|
68
|
+
*/
|
|
69
|
+
export interface RateLimitInfo {
|
|
70
|
+
/**
|
|
71
|
+
* Maximum requests allowed
|
|
72
|
+
*/
|
|
73
|
+
limit: number;
|
|
74
|
+
/**
|
|
75
|
+
* Remaining requests in current window
|
|
76
|
+
*/
|
|
77
|
+
remaining: number;
|
|
78
|
+
/**
|
|
79
|
+
* When the rate limit resets
|
|
80
|
+
*/
|
|
81
|
+
resetAt: Date;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Token usage tracking from LLM response
|
|
85
|
+
*/
|
|
86
|
+
export interface TokenUsage {
|
|
87
|
+
/**
|
|
88
|
+
* Number of prompt tokens used
|
|
89
|
+
*/
|
|
90
|
+
promptTokens: number;
|
|
91
|
+
/**
|
|
92
|
+
* Number of completion tokens generated
|
|
93
|
+
*/
|
|
94
|
+
completionTokens: number;
|
|
95
|
+
/**
|
|
96
|
+
* Total tokens (prompt + completion)
|
|
97
|
+
*/
|
|
98
|
+
totalTokens: number;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Request to audit an LLM call
|
|
102
|
+
*/
|
|
103
|
+
export interface AuditLLMCallRequest {
|
|
104
|
+
/**
|
|
105
|
+
* Context ID from getPolicyApprovedContext()
|
|
106
|
+
*/
|
|
107
|
+
contextId: string;
|
|
108
|
+
/**
|
|
109
|
+
* Brief summary of the LLM response (not full response for privacy)
|
|
110
|
+
*/
|
|
111
|
+
responseSummary: string;
|
|
112
|
+
/**
|
|
113
|
+
* LLM provider name
|
|
114
|
+
*/
|
|
115
|
+
provider: 'openai' | 'anthropic' | 'bedrock' | 'ollama' | string;
|
|
116
|
+
/**
|
|
117
|
+
* Model name
|
|
118
|
+
*/
|
|
119
|
+
model: string;
|
|
120
|
+
/**
|
|
121
|
+
* Token counts from LLM response
|
|
122
|
+
*/
|
|
123
|
+
tokenUsage: TokenUsage;
|
|
124
|
+
/**
|
|
125
|
+
* Time taken for LLM call in milliseconds
|
|
126
|
+
*/
|
|
127
|
+
latencyMs: number;
|
|
128
|
+
/**
|
|
129
|
+
* Optional additional metadata
|
|
130
|
+
*/
|
|
131
|
+
metadata?: Record<string, any>;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Result from audit recording
|
|
135
|
+
*/
|
|
136
|
+
export interface AuditResult {
|
|
137
|
+
/**
|
|
138
|
+
* Whether audit was recorded successfully
|
|
139
|
+
*/
|
|
140
|
+
success: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Unique audit record ID
|
|
143
|
+
*/
|
|
144
|
+
auditId: string;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=gateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/types/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEnC;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEjE;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Gateway Mode Types
|
|
4
|
+
*
|
|
5
|
+
* Gateway Mode allows clients to make LLM calls directly while still using
|
|
6
|
+
* AxonFlow for policy enforcement and audit logging.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* 1. Call getPolicyApprovedContext() before making LLM call
|
|
10
|
+
* 2. Make LLM call directly to your provider (using returned approved data)
|
|
11
|
+
* 3. Call auditLLMCall() after to record the call for compliance
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
//# sourceMappingURL=gateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../src/types/gateway.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG"}
|
|
@@ -1 +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"}
|
|
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;AAC3B,cAAc,WAAW,CAAC"}
|
package/dist/cjs/types/index.js
CHANGED
|
@@ -20,4 +20,5 @@ __exportStar(require("./response"), exports);
|
|
|
20
20
|
__exportStar(require("./policy"), exports);
|
|
21
21
|
__exportStar(require("./connector"), exports);
|
|
22
22
|
__exportStar(require("./planning"), exports);
|
|
23
|
+
__exportStar(require("./gateway"), exports);
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,8CAA4B;AAC5B,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,8CAA4B;AAC5B,6CAA2B;AAC3B,4CAA0B"}
|
package/dist/esm/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AxonFlowConfig, ConnectorMetadata, ConnectorInstallRequest, ConnectorResponse, PlanResponse, PlanExecutionResponse } from './types';
|
|
1
|
+
import { AxonFlowConfig, ConnectorMetadata, ConnectorInstallRequest, ConnectorResponse, PlanResponse, PlanExecutionResponse, PreCheckRequest, PolicyApprovalResult, TokenUsage, AuditResult } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Main AxonFlow client for invisible AI governance
|
|
4
4
|
*/
|
|
@@ -56,5 +56,56 @@ export declare class AxonFlow {
|
|
|
56
56
|
* Get the status of a running or completed plan
|
|
57
57
|
*/
|
|
58
58
|
getPlanStatus(planId: string): Promise<PlanExecutionResponse>;
|
|
59
|
+
/**
|
|
60
|
+
* Perform policy pre-check before making LLM call
|
|
61
|
+
*
|
|
62
|
+
* This is the first step in Gateway Mode. Call this before making your
|
|
63
|
+
* LLM call to ensure policy compliance.
|
|
64
|
+
*
|
|
65
|
+
* @param request Pre-check request containing user token, query, and optional data sources
|
|
66
|
+
* @returns PolicyApprovalResult with context ID and approved data (if any)
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* const result = await axonflow.getPolicyApprovedContext({
|
|
70
|
+
* userToken: 'user-jwt-token',
|
|
71
|
+
* dataSources: ['postgres', 'salesforce'],
|
|
72
|
+
* query: 'Find all patients with recent lab results'
|
|
73
|
+
* });
|
|
74
|
+
*
|
|
75
|
+
* if (!result.approved) {
|
|
76
|
+
* throw new Error(`Request blocked: ${result.blockReason}`);
|
|
77
|
+
* }
|
|
78
|
+
*
|
|
79
|
+
* // Use result.approvedData to build your LLM prompt
|
|
80
|
+
* const prompt = buildPrompt(result.approvedData);
|
|
81
|
+
*/
|
|
82
|
+
getPolicyApprovedContext(request: PreCheckRequest): Promise<PolicyApprovalResult>;
|
|
83
|
+
/**
|
|
84
|
+
* Report LLM call details for audit logging
|
|
85
|
+
*
|
|
86
|
+
* This is the second step in Gateway Mode. Call this after making your
|
|
87
|
+
* LLM call to record it in the audit trail.
|
|
88
|
+
*
|
|
89
|
+
* @param contextId Context ID from getPolicyApprovedContext()
|
|
90
|
+
* @param responseSummary Brief summary of the LLM response (not full response)
|
|
91
|
+
* @param provider LLM provider name
|
|
92
|
+
* @param model Model name
|
|
93
|
+
* @param tokenUsage Token counts from LLM response
|
|
94
|
+
* @param latencyMs Time taken for LLM call in milliseconds
|
|
95
|
+
* @param metadata Optional additional metadata
|
|
96
|
+
* @returns AuditResult confirming the audit was recorded
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* const result = await axonflow.auditLLMCall(
|
|
100
|
+
* ctx.contextId,
|
|
101
|
+
* 'Found 5 patients with recent lab results',
|
|
102
|
+
* 'openai',
|
|
103
|
+
* 'gpt-4',
|
|
104
|
+
* { promptTokens: 100, completionTokens: 50, totalTokens: 150 },
|
|
105
|
+
* 250,
|
|
106
|
+
* { sessionId: 'session-123' }
|
|
107
|
+
* );
|
|
108
|
+
*/
|
|
109
|
+
auditLLMCall(contextId: string, responseSummary: string, provider: string, model: string, tokenUsage: TokenUsage, latencyMs: number, metadata?: Record<string, any>): Promise<AuditResult>;
|
|
59
110
|
}
|
|
60
111
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/esm/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,YAAY,EACZ,qBAAqB,
|
|
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,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,WAAW,EACZ,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,YAAY,CAAyB;gBAEjC,MAAM,EAAE,cAAc;IAwBlC;;;;OAIG;IACG,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqD5D;;OAEG;YACW,cAAc;IAiB5B;;OAEG;YACW,aAAa;IAuD3B;;OAEG;YACW,QAAQ;IAYtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,GAAE,MAAmB,GAAG,QAAQ;IASrD;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAqBpD;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvE;;OAEG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0CpG;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA6CzE;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAyCjE;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuDnE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA8DvF;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,OAAO,CAAC,WAAW,CAAC;CA4DxB"}
|