@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.
Files changed (47) hide show
  1. package/README.md +8 -60
  2. package/dist/cjs/client.d.ts +52 -1
  3. package/dist/cjs/client.d.ts.map +1 -1
  4. package/dist/cjs/client.js +206 -63
  5. package/dist/cjs/client.js.map +1 -1
  6. package/dist/cjs/interceptors/anthropic.d.ts +1 -1
  7. package/dist/cjs/interceptors/anthropic.d.ts.map +1 -1
  8. package/dist/cjs/interceptors/anthropic.js +1 -1
  9. package/dist/cjs/interceptors/anthropic.js.map +1 -1
  10. package/dist/cjs/interceptors/openai.d.ts +1 -1
  11. package/dist/cjs/interceptors/openai.d.ts.map +1 -1
  12. package/dist/cjs/interceptors/openai.js +1 -1
  13. package/dist/cjs/interceptors/openai.js.map +1 -1
  14. package/dist/cjs/types/config.d.ts +1 -7
  15. package/dist/cjs/types/config.d.ts.map +1 -1
  16. package/dist/cjs/types/gateway.d.ts +146 -0
  17. package/dist/cjs/types/gateway.d.ts.map +1 -0
  18. package/dist/cjs/types/gateway.js +14 -0
  19. package/dist/cjs/types/gateway.js.map +1 -0
  20. package/dist/cjs/types/index.d.ts +1 -0
  21. package/dist/cjs/types/index.d.ts.map +1 -1
  22. package/dist/cjs/types/index.js +1 -0
  23. package/dist/cjs/types/index.js.map +1 -1
  24. package/dist/esm/client.d.ts +52 -1
  25. package/dist/esm/client.d.ts.map +1 -1
  26. package/dist/esm/client.js +206 -63
  27. package/dist/esm/client.js.map +1 -1
  28. package/dist/esm/interceptors/anthropic.d.ts +1 -1
  29. package/dist/esm/interceptors/anthropic.d.ts.map +1 -1
  30. package/dist/esm/interceptors/anthropic.js +1 -1
  31. package/dist/esm/interceptors/anthropic.js.map +1 -1
  32. package/dist/esm/interceptors/openai.d.ts +1 -1
  33. package/dist/esm/interceptors/openai.d.ts.map +1 -1
  34. package/dist/esm/interceptors/openai.js +1 -1
  35. package/dist/esm/interceptors/openai.js.map +1 -1
  36. package/dist/esm/types/config.d.ts +1 -7
  37. package/dist/esm/types/config.d.ts.map +1 -1
  38. package/dist/esm/types/gateway.d.ts +146 -0
  39. package/dist/esm/types/gateway.d.ts.map +1 -0
  40. package/dist/esm/types/gateway.js +13 -0
  41. package/dist/esm/types/gateway.js.map +1 -0
  42. package/dist/esm/types/index.d.ts +1 -0
  43. package/dist/esm/types/index.d.ts.map +1 -1
  44. package/dist/esm/types/index.js +1 -0
  45. package/dist/esm/types/index.js.map +1 -1
  46. package/package.json +7 -16
  47. 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, _modifications: any): Promise<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,cAAc,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAMxE,WAAW,IAAI,MAAM;CAGtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAwBtE"}
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, _modifications) {
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,cAAmB;QACvD,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"}
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?: string;
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;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;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"}
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"}
@@ -4,4 +4,5 @@ export * from './response';
4
4
  export * from './policy';
5
5
  export * from './connector';
6
6
  export * from './planning';
7
+ export * from './gateway';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -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"}
@@ -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
@@ -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,EACtB,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAUZ;IACF,OAAO,CAAC,YAAY,CAAyB;gBAEjC,MAAM,EAAE,cAAc;IAyClC;;;;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;IA8D3B;;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;IA+BvE;;OAEG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgDpG;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmDzE;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA+CjE;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAwBpE"}
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"}