@axonflow/sdk 1.3.0 → 1.4.1
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 +179 -66
- package/dist/cjs/client.d.ts +41 -0
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +44 -0
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/index.d.ts +46 -5
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +48 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interceptors/anthropic.d.ts +24 -0
- package/dist/cjs/interceptors/anthropic.d.ts.map +1 -1
- package/dist/cjs/interceptors/anthropic.js +27 -0
- package/dist/cjs/interceptors/anthropic.js.map +1 -1
- package/dist/cjs/interceptors/bedrock.d.ts +17 -16
- package/dist/cjs/interceptors/bedrock.d.ts.map +1 -1
- package/dist/cjs/interceptors/bedrock.js +20 -16
- package/dist/cjs/interceptors/bedrock.js.map +1 -1
- package/dist/cjs/interceptors/gemini.d.ts +18 -10
- package/dist/cjs/interceptors/gemini.d.ts.map +1 -1
- package/dist/cjs/interceptors/gemini.js +21 -10
- package/dist/cjs/interceptors/gemini.js.map +1 -1
- package/dist/cjs/interceptors/ollama.d.ts +17 -17
- package/dist/cjs/interceptors/ollama.d.ts.map +1 -1
- package/dist/cjs/interceptors/ollama.js +20 -17
- package/dist/cjs/interceptors/ollama.js.map +1 -1
- package/dist/cjs/interceptors/openai.d.ts +24 -0
- package/dist/cjs/interceptors/openai.d.ts.map +1 -1
- package/dist/cjs/interceptors/openai.js +27 -0
- package/dist/cjs/interceptors/openai.js.map +1 -1
- package/dist/esm/client.d.ts +41 -0
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +44 -0
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/index.d.ts +46 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +48 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interceptors/anthropic.d.ts +24 -0
- package/dist/esm/interceptors/anthropic.d.ts.map +1 -1
- package/dist/esm/interceptors/anthropic.js +27 -0
- package/dist/esm/interceptors/anthropic.js.map +1 -1
- package/dist/esm/interceptors/bedrock.d.ts +17 -16
- package/dist/esm/interceptors/bedrock.d.ts.map +1 -1
- package/dist/esm/interceptors/bedrock.js +20 -16
- package/dist/esm/interceptors/bedrock.js.map +1 -1
- package/dist/esm/interceptors/gemini.d.ts +18 -10
- package/dist/esm/interceptors/gemini.d.ts.map +1 -1
- package/dist/esm/interceptors/gemini.js +21 -10
- package/dist/esm/interceptors/gemini.js.map +1 -1
- package/dist/esm/interceptors/ollama.d.ts +17 -17
- package/dist/esm/interceptors/ollama.d.ts.map +1 -1
- package/dist/esm/interceptors/ollama.js +20 -17
- package/dist/esm/interceptors/ollama.js.map +1 -1
- package/dist/esm/interceptors/openai.d.ts +24 -0
- package/dist/esm/interceptors/openai.d.ts.map +1 -1
- package/dist/esm/interceptors/openai.js +27 -0
- package/dist/esm/interceptors/openai.js.map +1 -1
- package/package.json +4 -1
|
@@ -62,20 +62,28 @@ export interface GeminiGenerateContentResponse {
|
|
|
62
62
|
/**
|
|
63
63
|
* Helper to wrap Gemini GenerativeModel for easier interception
|
|
64
64
|
*
|
|
65
|
-
* @
|
|
66
|
-
*
|
|
67
|
-
* import { GoogleGenerativeAI } from '@google/generative-ai';
|
|
68
|
-
* import { AxonFlow, wrapGeminiModel } from '@axonflow/sdk';
|
|
65
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
66
|
+
* JavaScript Proxy-based wrapping has compatibility issues with modern SDK versions.
|
|
69
67
|
*
|
|
70
|
-
*
|
|
71
|
-
* const model = genAI.getGenerativeModel({ model: 'gemini-pro' });
|
|
72
|
-
* const axonflow = new AxonFlow({ apiKey: process.env.AXONFLOW_API_KEY });
|
|
68
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
73
69
|
*
|
|
74
|
-
*
|
|
70
|
+
* Gateway Mode (recommended):
|
|
71
|
+
* ```typescript
|
|
72
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
73
|
+
* const response = await model.generateContent(query);
|
|
74
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
75
|
+
* ```
|
|
75
76
|
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
77
|
+
* Proxy Mode:
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const response = await axonflow.executeQuery({
|
|
80
|
+
* query,
|
|
81
|
+
* userToken,
|
|
82
|
+
* context: { provider: 'gemini', model: 'gemini-2.0-flash' }
|
|
83
|
+
* });
|
|
78
84
|
* ```
|
|
85
|
+
*
|
|
86
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
79
87
|
*/
|
|
80
88
|
export declare function wrapGeminiModel(geminiModel: any, axonflow: any): any;
|
|
81
89
|
//# sourceMappingURL=gemini.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/interceptors/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAY/B,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS;IAwBtC,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAKxE,WAAW,IAAI,MAAM;CAGtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,oBAAoB,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IACF,cAAc,CAAC,EAAE,KAAK,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,aAAa,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/interceptors/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAY/B,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS;IAwBtC,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAKxE,WAAW,IAAI,MAAM;CAGtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,oBAAoB,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IACF,cAAc,CAAC,EAAE,KAAK,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,aAAa,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAgCpE"}
|
|
@@ -48,22 +48,33 @@ export class GeminiInterceptor extends BaseInterceptor {
|
|
|
48
48
|
/**
|
|
49
49
|
* Helper to wrap Gemini GenerativeModel for easier interception
|
|
50
50
|
*
|
|
51
|
-
* @
|
|
52
|
-
*
|
|
53
|
-
* import { GoogleGenerativeAI } from '@google/generative-ai';
|
|
54
|
-
* import { AxonFlow, wrapGeminiModel } from '@axonflow/sdk';
|
|
51
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
52
|
+
* JavaScript Proxy-based wrapping has compatibility issues with modern SDK versions.
|
|
55
53
|
*
|
|
56
|
-
*
|
|
57
|
-
* const model = genAI.getGenerativeModel({ model: 'gemini-pro' });
|
|
58
|
-
* const axonflow = new AxonFlow({ apiKey: process.env.AXONFLOW_API_KEY });
|
|
54
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
59
55
|
*
|
|
60
|
-
*
|
|
56
|
+
* Gateway Mode (recommended):
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
59
|
+
* const response = await model.generateContent(query);
|
|
60
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
61
|
+
* ```
|
|
61
62
|
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
63
|
+
* Proxy Mode:
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const response = await axonflow.executeQuery({
|
|
66
|
+
* query,
|
|
67
|
+
* userToken,
|
|
68
|
+
* context: { provider: 'gemini', model: 'gemini-2.0-flash' }
|
|
69
|
+
* });
|
|
64
70
|
* ```
|
|
71
|
+
*
|
|
72
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
65
73
|
*/
|
|
66
74
|
export function wrapGeminiModel(geminiModel, axonflow) {
|
|
75
|
+
console.warn('[AxonFlow] wrapGeminiModel is deprecated and will be removed in v2.0.0. ' +
|
|
76
|
+
'Use Gateway Mode (getPolicyApprovedContext + auditLLMCall) or Proxy Mode (executeQuery) instead. ' +
|
|
77
|
+
'See: https://docs.getaxonflow.com/sdk/gateway-mode');
|
|
67
78
|
return new Proxy(geminiModel, {
|
|
68
79
|
get(target, prop, receiver) {
|
|
69
80
|
const original = Reflect.get(target, prop, receiver);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/interceptors/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGzC;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IACpD,SAAS,CAAC,MAAW;QACnB,yCAAyC;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC7B,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACtC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACtC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC7B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,MAAW;QACxB,yCAAyC;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAErC,sBAAsB;QACtB,IAAI,KAAK,GAAG,YAAY,CAAC;QACzB,IAAI,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1C,KAAK,GAAG,gBAAgB,CAAC;QAC3B,CAAC;aAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnD,KAAK,GAAG,kBAAkB,CAAC;QAC7B,CAAC;aAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACpD,KAAK,GAAG,mBAAmB,CAAC;QAC9B,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,KAAK;YACL,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE;YACV,sDAAsD;aACvD;SACF,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,MAAW,EAAE,cAAmB;QACvD,0DAA0D;QAC1D,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,WAAW;QACT,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA0DD
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/interceptors/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,28 +100,28 @@ export interface OllamaGenerateResponse {
|
|
|
100
100
|
/**
|
|
101
101
|
* Wraps an Ollama client with AxonFlow governance.
|
|
102
102
|
*
|
|
103
|
-
* @
|
|
104
|
-
*
|
|
105
|
-
* import Ollama from 'ollama';
|
|
106
|
-
* import { AxonFlow, wrapOllamaClient } from '@axonflow/sdk';
|
|
103
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
104
|
+
* JavaScript Proxy-based wrapping has compatibility issues with modern SDK versions.
|
|
107
105
|
*
|
|
108
|
-
*
|
|
109
|
-
* const axonflow = new AxonFlow({ endpoint: 'http://localhost:8080' });
|
|
110
|
-
*
|
|
111
|
-
* const wrapped = wrapOllamaClient(ollama, axonflow);
|
|
106
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
112
107
|
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
* });
|
|
108
|
+
* Gateway Mode (recommended):
|
|
109
|
+
* ```typescript
|
|
110
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
111
|
+
* const response = await ollama.chat({ model: 'llama2', messages: [...] });
|
|
112
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
113
|
+
* ```
|
|
118
114
|
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
115
|
+
* Proxy Mode:
|
|
116
|
+
* ```typescript
|
|
117
|
+
* const response = await axonflow.executeQuery({
|
|
118
|
+
* query,
|
|
119
|
+
* userToken,
|
|
120
|
+
* context: { provider: 'ollama', model: 'llama2' }
|
|
123
121
|
* });
|
|
124
122
|
* ```
|
|
123
|
+
*
|
|
124
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
125
125
|
*/
|
|
126
126
|
export declare function wrapOllamaClient(ollamaClient: any, axonflow: any): any;
|
|
127
127
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/interceptors/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAW/B,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS;IAoBtC,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxE,WAAW,IAAI,MAAM;CAGtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/interceptors/ollama.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,30 +58,33 @@ export class OllamaInterceptor extends BaseInterceptor {
|
|
|
58
58
|
/**
|
|
59
59
|
* Wraps an Ollama client with AxonFlow governance.
|
|
60
60
|
*
|
|
61
|
-
* @
|
|
62
|
-
*
|
|
63
|
-
* import Ollama from 'ollama';
|
|
64
|
-
* import { AxonFlow, wrapOllamaClient } from '@axonflow/sdk';
|
|
61
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
62
|
+
* JavaScript Proxy-based wrapping has compatibility issues with modern SDK versions.
|
|
65
63
|
*
|
|
66
|
-
*
|
|
67
|
-
* const axonflow = new AxonFlow({ endpoint: 'http://localhost:8080' });
|
|
68
|
-
*
|
|
69
|
-
* const wrapped = wrapOllamaClient(ollama, axonflow);
|
|
64
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
70
65
|
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* });
|
|
66
|
+
* Gateway Mode (recommended):
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
69
|
+
* const response = await ollama.chat({ model: 'llama2', messages: [...] });
|
|
70
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
71
|
+
* ```
|
|
76
72
|
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
73
|
+
* Proxy Mode:
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const response = await axonflow.executeQuery({
|
|
76
|
+
* query,
|
|
77
|
+
* userToken,
|
|
78
|
+
* context: { provider: 'ollama', model: 'llama2' }
|
|
81
79
|
* });
|
|
82
80
|
* ```
|
|
81
|
+
*
|
|
82
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
83
83
|
*/
|
|
84
84
|
export function wrapOllamaClient(ollamaClient, axonflow) {
|
|
85
|
+
console.warn('[AxonFlow] wrapOllamaClient is deprecated and will be removed in v2.0.0. ' +
|
|
86
|
+
'Use Gateway Mode (getPolicyApprovedContext + auditLLMCall) or Proxy Mode (executeQuery) instead. ' +
|
|
87
|
+
'See: https://docs.getaxonflow.com/sdk/gateway-mode');
|
|
85
88
|
return new Proxy(ollamaClient, {
|
|
86
89
|
get(target, prop, receiver) {
|
|
87
90
|
const original = Reflect.get(target, prop, receiver);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../../src/interceptors/ollama.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../../src/interceptors/ollama.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,30 @@ export declare class OpenAIInterceptor extends BaseInterceptor {
|
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Helper to wrap OpenAI client for easier interception
|
|
14
|
+
*
|
|
15
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
16
|
+
* Modern OpenAI SDK versions (v4+) use private class fields that are incompatible
|
|
17
|
+
* with JavaScript Proxy-based wrapping.
|
|
18
|
+
*
|
|
19
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
20
|
+
*
|
|
21
|
+
* Gateway Mode (recommended):
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
24
|
+
* const response = await openai.chat.completions.create({ ... });
|
|
25
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* Proxy Mode:
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const response = await axonflow.executeQuery({
|
|
31
|
+
* query,
|
|
32
|
+
* userToken,
|
|
33
|
+
* context: { provider: 'openai', model: 'gpt-4' }
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
14
38
|
*/
|
|
15
39
|
export declare function wrapOpenAIClient(openaiClient: any, axonflow: any): any;
|
|
16
40
|
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -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;IAW/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
|
|
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;IAW/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;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CA8BtE"}
|
|
@@ -43,8 +43,35 @@ export class OpenAIInterceptor extends BaseInterceptor {
|
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* Helper to wrap OpenAI client for easier interception
|
|
46
|
+
*
|
|
47
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
48
|
+
* Modern OpenAI SDK versions (v4+) use private class fields that are incompatible
|
|
49
|
+
* with JavaScript Proxy-based wrapping.
|
|
50
|
+
*
|
|
51
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
52
|
+
*
|
|
53
|
+
* Gateway Mode (recommended):
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
56
|
+
* const response = await openai.chat.completions.create({ ... });
|
|
57
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* Proxy Mode:
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const response = await axonflow.executeQuery({
|
|
63
|
+
* query,
|
|
64
|
+
* userToken,
|
|
65
|
+
* context: { provider: 'openai', model: 'gpt-4' }
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
46
70
|
*/
|
|
47
71
|
export function wrapOpenAIClient(openaiClient, axonflow) {
|
|
72
|
+
console.warn('[AxonFlow] wrapOpenAIClient is deprecated and will be removed in v2.0.0. ' +
|
|
73
|
+
'Use Gateway Mode (getPolicyApprovedContext + auditLLMCall) or Proxy Mode (executeQuery) instead. ' +
|
|
74
|
+
'See: https://docs.getaxonflow.com/sdk/gateway-mode');
|
|
48
75
|
// Create a proxy that intercepts method calls
|
|
49
76
|
return new Proxy(openaiClient, {
|
|
50
77
|
get(target, prop, receiver) {
|
|
@@ -1 +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,CACL,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,CAC3B,CAAC;IACJ,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;AAED
|
|
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,CACL,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,CAC3B,CAAC;IACJ,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;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAiB,EAAE,QAAa;IAC/D,OAAO,CAAC,IAAI,CACV,2EAA2E;QACzE,mGAAmG;QACnG,oDAAoD,CACvD,CAAC;IACF,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,IACE,OAAO,QAAQ,KAAK,UAAU;gBAC9B,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EACpF,CAAC;gBACD,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axonflow/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "AxonFlow SDK - Add invisible AI governance to your applications in 3 lines of code",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -74,5 +74,8 @@
|
|
|
74
74
|
"prettier": "^3.6.2",
|
|
75
75
|
"ts-jest": "^29.0.0",
|
|
76
76
|
"typescript": "^5.0.0"
|
|
77
|
+
},
|
|
78
|
+
"dependencies": {
|
|
79
|
+
"openai": "^6.15.0"
|
|
77
80
|
}
|
|
78
81
|
}
|