@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
package/dist/cjs/index.js
CHANGED
|
@@ -2,29 +2,72 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* AxonFlow SDK - Invisible AI Governance Layer
|
|
4
4
|
*
|
|
5
|
-
* Add enterprise-grade governance to your AI applications with just
|
|
5
|
+
* Add enterprise-grade governance to your AI applications with just a few lines of code.
|
|
6
6
|
* No UI changes. No user training. Just drop-in protection.
|
|
7
7
|
*
|
|
8
|
-
* @example
|
|
8
|
+
* @example Gateway Mode (recommended)
|
|
9
9
|
* ```typescript
|
|
10
10
|
* import { AxonFlow } from '@axonflow/sdk';
|
|
11
|
+
* import OpenAI from 'openai';
|
|
11
12
|
*
|
|
12
|
-
* const axonflow = new AxonFlow({
|
|
13
|
-
* const
|
|
13
|
+
* const axonflow = new AxonFlow({ licenseKey: 'your-key', endpoint: 'http://localhost:8080' });
|
|
14
|
+
* const openai = new OpenAI();
|
|
15
|
+
*
|
|
16
|
+
* // 1. Pre-check policies
|
|
17
|
+
* const ctx = await axonflow.getPolicyApprovedContext({
|
|
18
|
+
* userToken: 'user-123',
|
|
19
|
+
* query: 'What is the capital of France?'
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* if (!ctx.approved) {
|
|
23
|
+
* throw new Error(`Blocked: ${ctx.blockReason}`);
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* // 2. Make your own LLM call
|
|
27
|
+
* const response = await openai.chat.completions.create({
|
|
28
|
+
* model: 'gpt-4',
|
|
29
|
+
* messages: [{ role: 'user', content: 'What is the capital of France?' }]
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* // 3. Audit the call
|
|
33
|
+
* await axonflow.auditLLMCall({
|
|
34
|
+
* contextId: ctx.contextId,
|
|
35
|
+
* responseSummary: response.choices[0].message.content,
|
|
36
|
+
* provider: 'openai',
|
|
37
|
+
* model: 'gpt-4',
|
|
38
|
+
* tokenUsage: { promptTokens: 10, completionTokens: 5, totalTokens: 15 },
|
|
39
|
+
* latencyMs: 250
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @example Proxy Mode
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const response = await axonflow.executeQuery({
|
|
46
|
+
* userToken: 'user-123',
|
|
47
|
+
* query: 'What is the capital of France?',
|
|
48
|
+
* requestType: 'chat'
|
|
49
|
+
* });
|
|
14
50
|
* ```
|
|
15
51
|
*/
|
|
16
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
53
|
exports.VERSION = exports.APIError = exports.TimeoutError = exports.RateLimitError = exports.AuthenticationError = exports.PolicyViolationError = exports.AxonFlowError = exports.wrapBedrockClient = exports.wrapOllamaClient = exports.wrapGeminiModel = exports.wrapAnthropicClient = exports.wrapOpenAIClient = exports.AxonFlow = void 0;
|
|
18
54
|
var client_1 = require("./client");
|
|
19
55
|
Object.defineProperty(exports, "AxonFlow", { enumerable: true, get: function () { return client_1.AxonFlow; } });
|
|
56
|
+
// LLM Interceptor Wrappers (DEPRECATED - use Gateway Mode or Proxy Mode instead)
|
|
57
|
+
// These will be removed in v2.0.0. See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
58
|
+
/** @deprecated Use Gateway Mode or Proxy Mode instead */
|
|
20
59
|
var openai_1 = require("./interceptors/openai");
|
|
21
60
|
Object.defineProperty(exports, "wrapOpenAIClient", { enumerable: true, get: function () { return openai_1.wrapOpenAIClient; } });
|
|
61
|
+
/** @deprecated Use Gateway Mode or Proxy Mode instead */
|
|
22
62
|
var anthropic_1 = require("./interceptors/anthropic");
|
|
23
63
|
Object.defineProperty(exports, "wrapAnthropicClient", { enumerable: true, get: function () { return anthropic_1.wrapAnthropicClient; } });
|
|
64
|
+
/** @deprecated Use Gateway Mode or Proxy Mode instead */
|
|
24
65
|
var gemini_1 = require("./interceptors/gemini");
|
|
25
66
|
Object.defineProperty(exports, "wrapGeminiModel", { enumerable: true, get: function () { return gemini_1.wrapGeminiModel; } });
|
|
67
|
+
/** @deprecated Use Gateway Mode or Proxy Mode instead */
|
|
26
68
|
var ollama_1 = require("./interceptors/ollama");
|
|
27
69
|
Object.defineProperty(exports, "wrapOllamaClient", { enumerable: true, get: function () { return ollama_1.wrapOllamaClient; } });
|
|
70
|
+
/** @deprecated Use Gateway Mode or Proxy Mode instead */
|
|
28
71
|
var bedrock_1 = require("./interceptors/bedrock");
|
|
29
72
|
Object.defineProperty(exports, "wrapBedrockClient", { enumerable: true, get: function () { return bedrock_1.wrapBedrockClient; } });
|
|
30
73
|
// Export error classes for proper error handling
|
|
@@ -36,7 +79,7 @@ Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: functi
|
|
|
36
79
|
Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return errors_1.TimeoutError; } });
|
|
37
80
|
Object.defineProperty(exports, "APIError", { enumerable: true, get: function () { return errors_1.APIError; } });
|
|
38
81
|
// Export version
|
|
39
|
-
exports.VERSION = '1.
|
|
82
|
+
exports.VERSION = '1.4.1';
|
|
40
83
|
// Default export for convenience
|
|
41
84
|
const client_2 = require("./client");
|
|
42
85
|
exports.default = client_2.AxonFlow;
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;;;AAEH,mCAAoC;AAA3B,kGAAA,QAAQ,OAAA;AAEjB,iFAAiF;AACjF,sFAAsF;AACtF,yDAAyD;AACzD,gDAAyD;AAAhD,0GAAA,gBAAgB,OAAA;AACzB,yDAAyD;AACzD,sDAA+D;AAAtD,gHAAA,mBAAmB,OAAA;AAC5B,yDAAyD;AACzD,gDAAwD;AAA/C,yGAAA,eAAe,OAAA;AACxB,yDAAyD;AACzD,gDAAyD;AAAhD,0GAAA,gBAAgB,OAAA;AACzB,yDAAyD;AACzD,kDAA2D;AAAlD,4GAAA,iBAAiB,OAAA;AAE1B,iDAAiD;AACjD,mCAOkB;AANhB,uGAAA,aAAa,OAAA;AACb,8GAAA,oBAAoB,OAAA;AACpB,6GAAA,mBAAmB,OAAA;AACnB,wGAAA,cAAc,OAAA;AACd,sGAAA,YAAY,OAAA;AACZ,kGAAA,QAAQ,OAAA;AA4BV,iBAAiB;AACJ,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B,iCAAiC;AACjC,qCAAoC;AACpC,kBAAe,iBAAQ,CAAC"}
|
|
@@ -11,6 +11,30 @@ export declare class AnthropicInterceptor extends BaseInterceptor {
|
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Helper to wrap Anthropic client for easier interception
|
|
14
|
+
*
|
|
15
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
16
|
+
* Modern Anthropic SDK versions 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 anthropic.messages.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: 'anthropic', model: 'claude-3-sonnet' }
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
14
38
|
*/
|
|
15
39
|
export declare function wrapAnthropicClient(anthropicClient: any, axonflow: any): any;
|
|
16
40
|
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/interceptors/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAU/B,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS;IAsBtC,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAKxE,WAAW,IAAI,MAAM;CAGtB;AAED
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/interceptors/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAU/B,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS;IAsBtC,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAKxE,WAAW,IAAI,MAAM;CAGtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAiC5E"}
|
|
@@ -45,8 +45,35 @@ class AnthropicInterceptor extends base_1.BaseInterceptor {
|
|
|
45
45
|
exports.AnthropicInterceptor = AnthropicInterceptor;
|
|
46
46
|
/**
|
|
47
47
|
* Helper to wrap Anthropic client for easier interception
|
|
48
|
+
*
|
|
49
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
50
|
+
* Modern Anthropic SDK versions use private class fields that are incompatible
|
|
51
|
+
* with JavaScript Proxy-based wrapping.
|
|
52
|
+
*
|
|
53
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
54
|
+
*
|
|
55
|
+
* Gateway Mode (recommended):
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
58
|
+
* const response = await anthropic.messages.create({ ... });
|
|
59
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* Proxy Mode:
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const response = await axonflow.executeQuery({
|
|
65
|
+
* query,
|
|
66
|
+
* userToken,
|
|
67
|
+
* context: { provider: 'anthropic', model: 'claude-3-sonnet' }
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
48
72
|
*/
|
|
49
73
|
function wrapAnthropicClient(anthropicClient, axonflow) {
|
|
74
|
+
console.warn('[AxonFlow] wrapAnthropicClient is deprecated and will be removed in v2.0.0. ' +
|
|
75
|
+
'Use Gateway Mode (getPolicyApprovedContext + auditLLMCall) or Proxy Mode (executeQuery) instead. ' +
|
|
76
|
+
'See: https://docs.getaxonflow.com/sdk/gateway-mode');
|
|
50
77
|
// Create a proxy that intercepts method calls
|
|
51
78
|
return new Proxy(anthropicClient, {
|
|
52
79
|
get(target, prop, receiver) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/interceptors/anthropic.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/interceptors/anthropic.ts"],"names":[],"mappings":";;;AA4EA,kDAiCC;AA7GD,iCAAyC;AAGzC;;GAEG;AACH,MAAa,oBAAqB,SAAQ,sBAAe;IACvD,SAAS,CAAC,MAAW;QACnB,6CAA6C;QAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;YAChC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC7B,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,MAAW;QACxB,4CAA4C;QAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAErC,sBAAsB;QACtB,IAAI,KAAK,GAAG,SAAS,CAAC;QACtB,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,KAAK,GAAG,UAAU,CAAC;QACrB,CAAC;aAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,KAAK,GAAG,UAAU,CAAC;QACrB,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,KAAK;YACL,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE;YACV,4DAA4D;aAC7D;SACF,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,MAAW,EAAE,cAAmB;QACvD,0DAA0D;QAC1D,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,WAAW;QACT,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAzCD,oDAyCC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,mBAAmB,CAAC,eAAoB,EAAE,QAAa;IACrE,OAAO,CAAC,IAAI,CACV,8EAA8E;QAC5E,mGAAmG;QACnG,oDAAoD,CACvD,CAAC;IACF,8CAA8C;IAC9C,OAAO,IAAI,KAAK,CAAC,eAAe,EAAE;QAChC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAErD,8BAA8B;YAC9B,IAAI,IAAI,KAAK,UAAU,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACxD,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;oBACzB,GAAG,CAAC,cAAc,EAAE,YAAY;wBAC9B,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;wBAEnE,4BAA4B;wBAC5B,IAAI,YAAY,KAAK,QAAQ,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE,CAAC;4BACxE,OAAO,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;gCAC9B,iCAAiC;gCACjC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;4BAC9E,CAAC,CAAC;wBACJ,CAAC;wBAED,OAAO,gBAAgB,CAAC;oBAC1B,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -109,27 +109,28 @@ export interface BedrockTitanResponse {
|
|
|
109
109
|
/**
|
|
110
110
|
* Wraps an AWS Bedrock client with AxonFlow governance.
|
|
111
111
|
*
|
|
112
|
-
* @
|
|
113
|
-
*
|
|
114
|
-
* import { BedrockRuntimeClient, InvokeModelCommand } from '@aws-sdk/client-bedrock-runtime';
|
|
115
|
-
* import { AxonFlow, wrapBedrockClient } from '@axonflow/sdk';
|
|
112
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
113
|
+
* JavaScript Proxy-based wrapping has compatibility issues with modern SDK versions.
|
|
116
114
|
*
|
|
117
|
-
*
|
|
118
|
-
* const axonflow = new AxonFlow({ endpoint: 'http://localhost:8080' });
|
|
115
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
119
116
|
*
|
|
120
|
-
*
|
|
117
|
+
* Gateway Mode (recommended):
|
|
118
|
+
* ```typescript
|
|
119
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
120
|
+
* const response = await bedrockClient.send(new InvokeModelCommand({...}));
|
|
121
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
122
|
+
* ```
|
|
121
123
|
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
* })
|
|
124
|
+
* Proxy Mode:
|
|
125
|
+
* ```typescript
|
|
126
|
+
* const response = await axonflow.executeQuery({
|
|
127
|
+
* query,
|
|
128
|
+
* userToken,
|
|
129
|
+
* context: { provider: 'bedrock', model: 'anthropic.claude-3-sonnet' }
|
|
129
130
|
* });
|
|
130
|
-
*
|
|
131
|
-
* const response = await wrapped.send(command);
|
|
132
131
|
* ```
|
|
132
|
+
*
|
|
133
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
133
134
|
*/
|
|
134
135
|
export declare function wrapBedrockClient(bedrockClient: any, axonflow: any): any;
|
|
135
136
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../../src/interceptors/bedrock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAW/B,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS;IAsBtC,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxE,WAAW,IAAI,MAAM;CAGtB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;CA2BhB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAC3B,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzD,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC,CAAC;CACJ;AAED
|
|
1
|
+
{"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../../src/interceptors/bedrock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAW/B,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS;IAsBtC,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxE,WAAW,IAAI,MAAM;CAGtB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;CA2BhB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAC3B,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzD,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAsDxE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,GAAG,EAClB,QAAQ,EAAE,GAAG,EACb,SAAS,GAAE,MAAW,GACrB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CA8E9C"}
|
|
@@ -124,29 +124,33 @@ exports.BedrockModels = {
|
|
|
124
124
|
/**
|
|
125
125
|
* Wraps an AWS Bedrock client with AxonFlow governance.
|
|
126
126
|
*
|
|
127
|
-
* @
|
|
128
|
-
*
|
|
129
|
-
* import { BedrockRuntimeClient, InvokeModelCommand } from '@aws-sdk/client-bedrock-runtime';
|
|
130
|
-
* import { AxonFlow, wrapBedrockClient } from '@axonflow/sdk';
|
|
127
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
128
|
+
* JavaScript Proxy-based wrapping has compatibility issues with modern SDK versions.
|
|
131
129
|
*
|
|
132
|
-
*
|
|
133
|
-
* const axonflow = new AxonFlow({ endpoint: 'http://localhost:8080' });
|
|
130
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
134
131
|
*
|
|
135
|
-
*
|
|
132
|
+
* Gateway Mode (recommended):
|
|
133
|
+
* ```typescript
|
|
134
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
135
|
+
* const response = await bedrockClient.send(new InvokeModelCommand({...}));
|
|
136
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
137
|
+
* ```
|
|
136
138
|
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
* })
|
|
139
|
+
* Proxy Mode:
|
|
140
|
+
* ```typescript
|
|
141
|
+
* const response = await axonflow.executeQuery({
|
|
142
|
+
* query,
|
|
143
|
+
* userToken,
|
|
144
|
+
* context: { provider: 'bedrock', model: 'anthropic.claude-3-sonnet' }
|
|
144
145
|
* });
|
|
145
|
-
*
|
|
146
|
-
* const response = await wrapped.send(command);
|
|
147
146
|
* ```
|
|
147
|
+
*
|
|
148
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
148
149
|
*/
|
|
149
150
|
function wrapBedrockClient(bedrockClient, axonflow) {
|
|
151
|
+
console.warn('[AxonFlow] wrapBedrockClient is deprecated and will be removed in v2.0.0. ' +
|
|
152
|
+
'Use Gateway Mode (getPolicyApprovedContext + auditLLMCall) or Proxy Mode (executeQuery) instead. ' +
|
|
153
|
+
'See: https://docs.getaxonflow.com/sdk/gateway-mode');
|
|
150
154
|
const originalSend = bedrockClient.send.bind(bedrockClient);
|
|
151
155
|
bedrockClient.send = async (command) => {
|
|
152
156
|
// Check if this is an InvokeModelCommand
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/interceptors/bedrock.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/interceptors/bedrock.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -53,22 +53,33 @@ exports.GeminiInterceptor = GeminiInterceptor;
|
|
|
53
53
|
/**
|
|
54
54
|
* Helper to wrap Gemini GenerativeModel for easier interception
|
|
55
55
|
*
|
|
56
|
-
* @
|
|
57
|
-
*
|
|
58
|
-
* import { GoogleGenerativeAI } from '@google/generative-ai';
|
|
59
|
-
* import { AxonFlow, wrapGeminiModel } from '@axonflow/sdk';
|
|
56
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
57
|
+
* JavaScript Proxy-based wrapping has compatibility issues with modern SDK versions.
|
|
60
58
|
*
|
|
61
|
-
*
|
|
62
|
-
* const model = genAI.getGenerativeModel({ model: 'gemini-pro' });
|
|
63
|
-
* const axonflow = new AxonFlow({ apiKey: process.env.AXONFLOW_API_KEY });
|
|
59
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
64
60
|
*
|
|
65
|
-
*
|
|
61
|
+
* Gateway Mode (recommended):
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
64
|
+
* const response = await model.generateContent(query);
|
|
65
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
66
|
+
* ```
|
|
66
67
|
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
68
|
+
* Proxy Mode:
|
|
69
|
+
* ```typescript
|
|
70
|
+
* const response = await axonflow.executeQuery({
|
|
71
|
+
* query,
|
|
72
|
+
* userToken,
|
|
73
|
+
* context: { provider: 'gemini', model: 'gemini-2.0-flash' }
|
|
74
|
+
* });
|
|
69
75
|
* ```
|
|
76
|
+
*
|
|
77
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
70
78
|
*/
|
|
71
79
|
function wrapGeminiModel(geminiModel, axonflow) {
|
|
80
|
+
console.warn('[AxonFlow] wrapGeminiModel is deprecated and will be removed in v2.0.0. ' +
|
|
81
|
+
'Use Gateway Mode (getPolicyApprovedContext + auditLLMCall) or Proxy Mode (executeQuery) instead. ' +
|
|
82
|
+
'See: https://docs.getaxonflow.com/sdk/gateway-mode');
|
|
72
83
|
return new Proxy(geminiModel, {
|
|
73
84
|
get(target, prop, receiver) {
|
|
74
85
|
const original = Reflect.get(target, prop, receiver);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/interceptors/gemini.ts"],"names":[],"mappings":";;;
|
|
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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"}
|
|
@@ -64,30 +64,33 @@ exports.OllamaInterceptor = OllamaInterceptor;
|
|
|
64
64
|
/**
|
|
65
65
|
* Wraps an Ollama client with AxonFlow governance.
|
|
66
66
|
*
|
|
67
|
-
* @
|
|
68
|
-
*
|
|
69
|
-
* import Ollama from 'ollama';
|
|
70
|
-
* import { AxonFlow, wrapOllamaClient } from '@axonflow/sdk';
|
|
67
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
68
|
+
* JavaScript Proxy-based wrapping has compatibility issues with modern SDK versions.
|
|
71
69
|
*
|
|
72
|
-
*
|
|
73
|
-
* const axonflow = new AxonFlow({ endpoint: 'http://localhost:8080' });
|
|
74
|
-
*
|
|
75
|
-
* const wrapped = wrapOllamaClient(ollama, axonflow);
|
|
70
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
76
71
|
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* });
|
|
72
|
+
* Gateway Mode (recommended):
|
|
73
|
+
* ```typescript
|
|
74
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
75
|
+
* const response = await ollama.chat({ model: 'llama2', messages: [...] });
|
|
76
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
77
|
+
* ```
|
|
82
78
|
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
79
|
+
* Proxy Mode:
|
|
80
|
+
* ```typescript
|
|
81
|
+
* const response = await axonflow.executeQuery({
|
|
82
|
+
* query,
|
|
83
|
+
* userToken,
|
|
84
|
+
* context: { provider: 'ollama', model: 'llama2' }
|
|
87
85
|
* });
|
|
88
86
|
* ```
|
|
87
|
+
*
|
|
88
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
89
89
|
*/
|
|
90
90
|
function wrapOllamaClient(ollamaClient, axonflow) {
|
|
91
|
+
console.warn('[AxonFlow] wrapOllamaClient is deprecated and will be removed in v2.0.0. ' +
|
|
92
|
+
'Use Gateway Mode (getPolicyApprovedContext + auditLLMCall) or Proxy Mode (executeQuery) instead. ' +
|
|
93
|
+
'See: https://docs.getaxonflow.com/sdk/gateway-mode');
|
|
91
94
|
return new Proxy(ollamaClient, {
|
|
92
95
|
get(target, prop, receiver) {
|
|
93
96
|
const original = Reflect.get(target, prop, receiver);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../../src/interceptors/ollama.ts"],"names":[],"mappings":";;;AAsKA,
|
|
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"}
|
|
@@ -48,8 +48,35 @@ class OpenAIInterceptor extends base_1.BaseInterceptor {
|
|
|
48
48
|
exports.OpenAIInterceptor = OpenAIInterceptor;
|
|
49
49
|
/**
|
|
50
50
|
* Helper to wrap OpenAI client for easier interception
|
|
51
|
+
*
|
|
52
|
+
* @deprecated This function is deprecated and will be removed in v2.0.0.
|
|
53
|
+
* Modern OpenAI SDK versions (v4+) use private class fields that are incompatible
|
|
54
|
+
* with JavaScript Proxy-based wrapping.
|
|
55
|
+
*
|
|
56
|
+
* Use Gateway Mode or Proxy Mode instead:
|
|
57
|
+
*
|
|
58
|
+
* Gateway Mode (recommended):
|
|
59
|
+
* ```typescript
|
|
60
|
+
* const context = await axonflow.getPolicyApprovedContext({ query, userToken });
|
|
61
|
+
* const response = await openai.chat.completions.create({ ... });
|
|
62
|
+
* await axonflow.auditLLMCall({ contextId: context.contextId, ... });
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* Proxy Mode:
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const response = await axonflow.executeQuery({
|
|
68
|
+
* query,
|
|
69
|
+
* userToken,
|
|
70
|
+
* context: { provider: 'openai', model: 'gpt-4' }
|
|
71
|
+
* });
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* See: https://docs.getaxonflow.com/sdk/gateway-mode
|
|
51
75
|
*/
|
|
52
76
|
function wrapOpenAIClient(openaiClient, axonflow) {
|
|
77
|
+
console.warn('[AxonFlow] wrapOpenAIClient is deprecated and will be removed in v2.0.0. ' +
|
|
78
|
+
'Use Gateway Mode (getPolicyApprovedContext + auditLLMCall) or Proxy Mode (executeQuery) instead. ' +
|
|
79
|
+
'See: https://docs.getaxonflow.com/sdk/gateway-mode');
|
|
53
80
|
// Create a proxy that intercepts method calls
|
|
54
81
|
return new Proxy(openaiClient, {
|
|
55
82
|
get(target, prop, receiver) {
|