@axonflow/sdk 1.2.0 → 1.3.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 (101) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +313 -9
  3. package/dist/cjs/client.d.ts +106 -41
  4. package/dist/cjs/client.d.ts.map +1 -1
  5. package/dist/cjs/client.js +446 -198
  6. package/dist/cjs/client.js.map +1 -1
  7. package/dist/cjs/errors.d.ts +51 -0
  8. package/dist/cjs/errors.d.ts.map +1 -0
  9. package/dist/cjs/errors.js +84 -0
  10. package/dist/cjs/errors.js.map +1 -0
  11. package/dist/cjs/index.d.ts +6 -2
  12. package/dist/cjs/index.d.ts.map +1 -1
  13. package/dist/cjs/index.js +16 -2
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/interceptors/anthropic.d.ts +1 -1
  16. package/dist/cjs/interceptors/anthropic.d.ts.map +1 -1
  17. package/dist/cjs/interceptors/anthropic.js +6 -6
  18. package/dist/cjs/interceptors/anthropic.js.map +1 -1
  19. package/dist/cjs/interceptors/bedrock.d.ts +141 -0
  20. package/dist/cjs/interceptors/bedrock.d.ts.map +1 -0
  21. package/dist/cjs/interceptors/bedrock.js +259 -0
  22. package/dist/cjs/interceptors/bedrock.js.map +1 -0
  23. package/dist/cjs/interceptors/gemini.d.ts +81 -0
  24. package/dist/cjs/interceptors/gemini.d.ts.map +1 -0
  25. package/dist/cjs/interceptors/gemini.js +110 -0
  26. package/dist/cjs/interceptors/gemini.js.map +1 -0
  27. package/dist/cjs/interceptors/ollama.d.ts +143 -0
  28. package/dist/cjs/interceptors/ollama.d.ts.map +1 -0
  29. package/dist/cjs/interceptors/ollama.js +150 -0
  30. package/dist/cjs/interceptors/ollama.js.map +1 -0
  31. package/dist/cjs/interceptors/openai.d.ts +1 -1
  32. package/dist/cjs/interceptors/openai.d.ts.map +1 -1
  33. package/dist/cjs/interceptors/openai.js +5 -5
  34. package/dist/cjs/interceptors/openai.js.map +1 -1
  35. package/dist/cjs/types/config.d.ts +7 -1
  36. package/dist/cjs/types/config.d.ts.map +1 -1
  37. package/dist/cjs/types/gateway.d.ts +51 -114
  38. package/dist/cjs/types/gateway.d.ts.map +1 -1
  39. package/dist/cjs/types/gateway.js +2 -7
  40. package/dist/cjs/types/gateway.js.map +1 -1
  41. package/dist/cjs/types/index.d.ts +1 -0
  42. package/dist/cjs/types/index.d.ts.map +1 -1
  43. package/dist/cjs/types/index.js +1 -0
  44. package/dist/cjs/types/index.js.map +1 -1
  45. package/dist/cjs/types/proxy.d.ts +78 -0
  46. package/dist/cjs/types/proxy.d.ts.map +1 -0
  47. package/dist/cjs/types/proxy.js +9 -0
  48. package/dist/cjs/types/proxy.js.map +1 -0
  49. package/dist/cjs/utils/helpers.d.ts.map +1 -1
  50. package/dist/cjs/utils/helpers.js +3 -1
  51. package/dist/cjs/utils/helpers.js.map +1 -1
  52. package/dist/esm/client.d.ts +106 -41
  53. package/dist/esm/client.d.ts.map +1 -1
  54. package/dist/esm/client.js +446 -198
  55. package/dist/esm/client.js.map +1 -1
  56. package/dist/esm/errors.d.ts +51 -0
  57. package/dist/esm/errors.d.ts.map +1 -0
  58. package/dist/esm/errors.js +75 -0
  59. package/dist/esm/errors.js.map +1 -0
  60. package/dist/esm/index.d.ts +6 -2
  61. package/dist/esm/index.d.ts.map +1 -1
  62. package/dist/esm/index.js +6 -1
  63. package/dist/esm/index.js.map +1 -1
  64. package/dist/esm/interceptors/anthropic.d.ts +1 -1
  65. package/dist/esm/interceptors/anthropic.d.ts.map +1 -1
  66. package/dist/esm/interceptors/anthropic.js +6 -6
  67. package/dist/esm/interceptors/anthropic.js.map +1 -1
  68. package/dist/esm/interceptors/bedrock.d.ts +141 -0
  69. package/dist/esm/interceptors/bedrock.d.ts.map +1 -0
  70. package/dist/esm/interceptors/bedrock.js +220 -0
  71. package/dist/esm/interceptors/bedrock.js.map +1 -0
  72. package/dist/esm/interceptors/gemini.d.ts +81 -0
  73. package/dist/esm/interceptors/gemini.d.ts.map +1 -0
  74. package/dist/esm/interceptors/gemini.js +105 -0
  75. package/dist/esm/interceptors/gemini.js.map +1 -0
  76. package/dist/esm/interceptors/ollama.d.ts +143 -0
  77. package/dist/esm/interceptors/ollama.d.ts.map +1 -0
  78. package/dist/esm/interceptors/ollama.js +144 -0
  79. package/dist/esm/interceptors/ollama.js.map +1 -0
  80. package/dist/esm/interceptors/openai.d.ts +1 -1
  81. package/dist/esm/interceptors/openai.d.ts.map +1 -1
  82. package/dist/esm/interceptors/openai.js +5 -5
  83. package/dist/esm/interceptors/openai.js.map +1 -1
  84. package/dist/esm/types/config.d.ts +7 -1
  85. package/dist/esm/types/config.d.ts.map +1 -1
  86. package/dist/esm/types/gateway.d.ts +51 -114
  87. package/dist/esm/types/gateway.d.ts.map +1 -1
  88. package/dist/esm/types/gateway.js +2 -7
  89. package/dist/esm/types/gateway.js.map +1 -1
  90. package/dist/esm/types/index.d.ts +1 -0
  91. package/dist/esm/types/index.d.ts.map +1 -1
  92. package/dist/esm/types/index.js +1 -0
  93. package/dist/esm/types/index.js.map +1 -1
  94. package/dist/esm/types/proxy.d.ts +78 -0
  95. package/dist/esm/types/proxy.d.ts.map +1 -0
  96. package/dist/esm/types/proxy.js +8 -0
  97. package/dist/esm/types/proxy.js.map +1 -0
  98. package/dist/esm/utils/helpers.d.ts.map +1 -1
  99. package/dist/esm/utils/helpers.js +3 -1
  100. package/dist/esm/utils/helpers.js.map +1 -1
  101. package/package.json +22 -7
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OllamaInterceptor = void 0;
4
+ exports.wrapOllamaClient = wrapOllamaClient;
5
+ exports.createGovernedOllamaChat = createGovernedOllamaChat;
6
+ const base_1 = require("./base");
7
+ /**
8
+ * Interceptor for Ollama API calls
9
+ *
10
+ * Ollama is a local LLM server that runs on localhost:11434 by default.
11
+ * No authentication is required.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { AxonFlow, wrapOllamaClient } from '@axonflow/sdk';
16
+ * import Ollama from 'ollama';
17
+ *
18
+ * const ollama = new Ollama({ host: 'http://localhost:11434' });
19
+ * const axonflow = new AxonFlow({ endpoint: 'http://localhost:8080' });
20
+ *
21
+ * const wrapped = wrapOllamaClient(ollama, axonflow);
22
+ * const response = await wrapped.chat({
23
+ * model: 'llama2',
24
+ * messages: [{ role: 'user', content: 'Hello!' }]
25
+ * });
26
+ * ```
27
+ */
28
+ class OllamaInterceptor extends base_1.BaseInterceptor {
29
+ canHandle(aiCall) {
30
+ const callString = aiCall.toString();
31
+ return (callString.includes('ollama') ||
32
+ callString.includes('llama') ||
33
+ callString.includes('mistral') ||
34
+ callString.includes('codellama') ||
35
+ callString.includes('localhost:11434'));
36
+ }
37
+ extractRequest(aiCall) {
38
+ const callString = aiCall.toString();
39
+ let model = 'llama2';
40
+ if (callString.includes('mistral')) {
41
+ model = 'mistral';
42
+ }
43
+ else if (callString.includes('codellama')) {
44
+ model = 'codellama';
45
+ }
46
+ else if (callString.includes('llama3')) {
47
+ model = 'llama3';
48
+ }
49
+ return {
50
+ provider: 'ollama',
51
+ model,
52
+ prompt: callString,
53
+ parameters: {},
54
+ };
55
+ }
56
+ executeWithModifications(aiCall, _modifications) {
57
+ return aiCall();
58
+ }
59
+ getProvider() {
60
+ return 'ollama';
61
+ }
62
+ }
63
+ exports.OllamaInterceptor = OllamaInterceptor;
64
+ /**
65
+ * Wraps an Ollama client with AxonFlow governance.
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * import Ollama from 'ollama';
70
+ * import { AxonFlow, wrapOllamaClient } from '@axonflow/sdk';
71
+ *
72
+ * const ollama = new Ollama({ host: 'http://localhost:11434' });
73
+ * const axonflow = new AxonFlow({ endpoint: 'http://localhost:8080' });
74
+ *
75
+ * const wrapped = wrapOllamaClient(ollama, axonflow);
76
+ *
77
+ * // Chat API
78
+ * const chatResponse = await wrapped.chat({
79
+ * model: 'llama2',
80
+ * messages: [{ role: 'user', content: 'What is AI governance?' }]
81
+ * });
82
+ *
83
+ * // Generate API
84
+ * const genResponse = await wrapped.generate({
85
+ * model: 'llama2',
86
+ * prompt: 'What is AI governance?'
87
+ * });
88
+ * ```
89
+ */
90
+ function wrapOllamaClient(ollamaClient, axonflow) {
91
+ return new Proxy(ollamaClient, {
92
+ get(target, prop, receiver) {
93
+ const original = Reflect.get(target, prop, receiver);
94
+ // Intercept chat and generate methods
95
+ if (typeof original === 'function' && ['chat', 'generate'].includes(prop.toString())) {
96
+ return async (...args) => {
97
+ return axonflow.protect(() => original.apply(target, args));
98
+ };
99
+ }
100
+ return original;
101
+ },
102
+ });
103
+ }
104
+ /**
105
+ * Creates a governed Ollama chat function.
106
+ *
107
+ * Use this when you want fine-grained control over individual calls
108
+ * rather than wrapping the entire client.
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * const governedChat = createGovernedOllamaChat(ollamaClient, axonflow, 'user-123');
113
+ * const response = await governedChat({
114
+ * model: 'llama2',
115
+ * messages: [{ role: 'user', content: 'Hello!' }]
116
+ * });
117
+ * ```
118
+ */
119
+ function createGovernedOllamaChat(ollamaClient, axonflow, userToken = '') {
120
+ return async (request) => {
121
+ // Extract prompt from messages
122
+ const prompt = request.messages.map(m => m.content).join(' ');
123
+ // Pre-check with AxonFlow
124
+ const preCheck = await axonflow.getPolicyApprovedContext({
125
+ userToken,
126
+ query: prompt,
127
+ context: {
128
+ provider: 'ollama',
129
+ model: request.model,
130
+ },
131
+ });
132
+ if (!preCheck.approved) {
133
+ throw new Error(`Request blocked by policy: ${preCheck.blockReason}`);
134
+ }
135
+ // Execute the call
136
+ const startTime = Date.now();
137
+ const response = await ollamaClient.chat(request);
138
+ const latencyMs = Date.now() - startTime;
139
+ // Audit the call
140
+ if (preCheck.contextId) {
141
+ await axonflow.auditLLMCall(preCheck.contextId, response.message?.content?.substring(0, 200) || '', 'ollama', request.model, {
142
+ promptTokens: response.prompt_eval_count || 0,
143
+ completionTokens: response.eval_count || 0,
144
+ totalTokens: (response.prompt_eval_count || 0) + (response.eval_count || 0),
145
+ }, latencyMs);
146
+ }
147
+ return response;
148
+ };
149
+ }
150
+ //# sourceMappingURL=ollama.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../../src/interceptors/ollama.ts"],"names":[],"mappings":"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"}
@@ -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,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"}
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;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAyBtE"}
@@ -10,10 +10,10 @@ class OpenAIInterceptor extends base_1.BaseInterceptor {
10
10
  canHandle(aiCall) {
11
11
  // Check if this looks like an OpenAI call
12
12
  const callString = aiCall.toString();
13
- return callString.includes('openai') ||
13
+ return (callString.includes('openai') ||
14
14
  callString.includes('createCompletion') ||
15
15
  callString.includes('createChatCompletion') ||
16
- callString.includes('gpt');
16
+ callString.includes('gpt'));
17
17
  }
18
18
  extractRequest(aiCall) {
19
19
  // Try to extract OpenAI-specific details
@@ -33,10 +33,10 @@ class OpenAIInterceptor extends base_1.BaseInterceptor {
33
33
  prompt: callString,
34
34
  parameters: {
35
35
  // Would extract temperature, max_tokens, etc. in production
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();
@@ -67,7 +67,7 @@ function wrapOpenAIClient(openaiClient, axonflow) {
67
67
  return wrapOpenAIClient(original, axonflow);
68
68
  }
69
69
  return original;
70
- }
70
+ },
71
71
  });
72
72
  }
73
73
  //# sourceMappingURL=openai.js.map
@@ -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,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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/interceptors/openai.ts"],"names":[],"mappings":";;;AAuDA,4CAyBC;AAhFD,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,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;AA5CD,8CA4CC;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,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"}
@@ -4,8 +4,14 @@
4
4
  export interface AxonFlowConfig {
5
5
  /**
6
6
  * Your AxonFlow API key
7
+ * @deprecated Use licenseKey instead for license-based authentication
7
8
  */
8
- apiKey: string;
9
+ apiKey?: string;
10
+ /**
11
+ * Your AxonFlow license key (recommended)
12
+ * Replaces the deprecated apiKey for license-based authentication
13
+ */
14
+ licenseKey?: string;
9
15
  /**
10
16
  * AxonFlow API endpoint (optional)
11
17
  * 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;;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"}
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,146 +1,83 @@
1
1
  /**
2
2
  * Gateway Mode Types
3
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
4
+ * Gateway Mode enables direct LLM calls with AxonFlow governance.
5
+ * Pre-check policies before calling your LLM, then audit the call afterward.
11
6
  */
12
7
  /**
13
- * Request for policy pre-check before LLM call
8
+ * Token usage information for audit logging
14
9
  */
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>;
10
+ export interface TokenUsage {
11
+ promptTokens: number;
12
+ completionTokens: number;
13
+ totalTokens: number;
14
+ }
15
+ /**
16
+ * Rate limit information returned from pre-check
17
+ */
18
+ export interface RateLimitInfo {
19
+ limit: number;
20
+ remaining: number;
21
+ resetAt: Date;
32
22
  }
33
23
  /**
34
- * Result from policy pre-check
24
+ * Result from policy pre-check in Gateway Mode
35
25
  */
36
26
  export interface PolicyApprovalResult {
37
- /**
38
- * Context ID linking pre-check to audit
39
- */
27
+ /** Unique context ID for correlating pre-check with audit */
40
28
  contextId: string;
41
- /**
42
- * Whether the request was approved by policies
43
- */
29
+ /** Whether the request was approved */
44
30
  approved: boolean;
45
- /**
46
- * Filtered data from connectors (if dataSources specified)
47
- */
48
- approvedData?: Record<string, any>;
49
- /**
50
- * Policies that were evaluated
51
- */
31
+ /** Filtered/approved data to send to LLM */
32
+ approvedData: Record<string, unknown>;
33
+ /** List of policies that were evaluated */
52
34
  policies: string[];
53
- /**
54
- * Rate limit information (if applicable)
55
- */
35
+ /** Rate limit information (if applicable) */
56
36
  rateLimitInfo?: RateLimitInfo;
57
- /**
58
- * When this context expires
59
- */
37
+ /** When this approval expires */
60
38
  expiresAt: Date;
61
- /**
62
- * Reason if request was blocked
63
- */
39
+ /** Reason for blocking (if not approved) */
64
40
  blockReason?: string;
65
41
  }
66
42
  /**
67
- * Rate limit status information
43
+ * Options for getting policy approval context
68
44
  */
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;
45
+ export interface PolicyApprovalOptions {
46
+ /** User authentication token */
47
+ userToken: string;
48
+ /** The query/prompt to be sent to LLM */
49
+ query: string;
50
+ /** Data sources being accessed (for connector-based queries) */
51
+ dataSources?: string[];
52
+ /** Additional context for policy evaluation */
53
+ context?: Record<string, unknown>;
82
54
  }
83
55
  /**
84
- * Token usage tracking from LLM response
56
+ * Result from audit logging in Gateway Mode
85
57
  */
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;
58
+ export interface AuditResult {
59
+ /** Whether the audit was logged successfully */
60
+ success: boolean;
61
+ /** Unique audit ID for reference */
62
+ auditId: string;
99
63
  }
100
64
  /**
101
- * Request to audit an LLM call
65
+ * Options for auditing an LLM call
102
66
  */
103
- export interface AuditLLMCallRequest {
104
- /**
105
- * Context ID from getPolicyApprovedContext()
106
- */
67
+ export interface AuditOptions {
68
+ /** Context ID from pre-check */
107
69
  contextId: string;
108
- /**
109
- * Brief summary of the LLM response (not full response for privacy)
110
- */
70
+ /** Summary of LLM response (for compliance logging) */
111
71
  responseSummary: string;
112
- /**
113
- * LLM provider name
114
- */
115
- provider: 'openai' | 'anthropic' | 'bedrock' | 'ollama' | string;
116
- /**
117
- * Model name
118
- */
72
+ /** LLM provider (e.g., "openai", "anthropic", "bedrock") */
73
+ provider: string;
74
+ /** Model used (e.g., "gpt-4", "claude-3-opus") */
119
75
  model: string;
120
- /**
121
- * Token counts from LLM response
122
- */
76
+ /** Token usage from the LLM call */
123
77
  tokenUsage: TokenUsage;
124
- /**
125
- * Time taken for LLM call in milliseconds
126
- */
78
+ /** Latency in milliseconds */
127
79
  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;
80
+ /** Additional metadata */
81
+ metadata?: Record<string, unknown>;
145
82
  }
146
83
  //# sourceMappingURL=gateway.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/types/gateway.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iCAAiC;IACjC,SAAS,EAAE,IAAI,CAAC;IAChB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"}
@@ -2,13 +2,8 @@
2
2
  /**
3
3
  * Gateway Mode Types
4
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
5
+ * Gateway Mode enables direct LLM calls with AxonFlow governance.
6
+ * Pre-check policies before calling your LLM, then audit the call afterward.
12
7
  */
13
8
  Object.defineProperty(exports, "__esModule", { value: true });
14
9
  //# sourceMappingURL=gateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../src/types/gateway.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../src/types/gateway.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -5,4 +5,5 @@ export * from './policy';
5
5
  export * from './connector';
6
6
  export * from './planning';
7
7
  export * from './gateway';
8
+ export * from './proxy';
8
9
  //# 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;AAC3B,cAAc,WAAW,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;AAC1B,cAAc,SAAS,CAAC"}
@@ -21,4 +21,5 @@ __exportStar(require("./policy"), exports);
21
21
  __exportStar(require("./connector"), exports);
22
22
  __exportStar(require("./planning"), exports);
23
23
  __exportStar(require("./gateway"), exports);
24
+ __exportStar(require("./proxy"), exports);
24
25
  //# 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;AAC3B,4CAA0B"}
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;AAC1B,0CAAwB"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Proxy Mode Types
3
+ *
4
+ * Proxy Mode routes requests through AxonFlow's /api/request endpoint,
5
+ * allowing AxonFlow to handle policy enforcement and optional LLM routing.
6
+ */
7
+ /**
8
+ * Request type for executeQuery
9
+ */
10
+ export type RequestType = 'chat' | 'sql' | 'mcp-query' | 'multi-agent-plan' | 'execute-plan';
11
+ /**
12
+ * Options for executing a query through AxonFlow proxy
13
+ */
14
+ export interface ExecuteQueryOptions {
15
+ /** User authentication token (JWT or session token) */
16
+ userToken: string;
17
+ /** The query or prompt to process */
18
+ query: string;
19
+ /** Type of request */
20
+ requestType: RequestType;
21
+ /** Additional context for policy evaluation and processing */
22
+ context?: Record<string, unknown>;
23
+ }
24
+ /**
25
+ * Policy evaluation information from the agent
26
+ */
27
+ export interface PolicyInfo {
28
+ /** List of policies that were evaluated */
29
+ policiesEvaluated: string[];
30
+ /** Static checks that were applied */
31
+ staticChecks: string[];
32
+ /** Processing time for policy evaluation */
33
+ processingTime: string;
34
+ /** Tenant ID associated with the request */
35
+ tenantId: string;
36
+ }
37
+ /**
38
+ * Response from executeQuery in Proxy Mode
39
+ */
40
+ export interface ExecuteQueryResponse {
41
+ /** Whether the request was successful */
42
+ success: boolean;
43
+ /** Response data from the operation */
44
+ data?: unknown;
45
+ /** Result string (for planning operations) */
46
+ result?: string;
47
+ /** Plan ID (for multi-agent planning) */
48
+ planId?: string;
49
+ /** Request ID for tracking */
50
+ requestId?: string;
51
+ /** Additional metadata */
52
+ metadata: Record<string, unknown>;
53
+ /** Error message if request failed */
54
+ error?: string;
55
+ /** Whether the request was blocked by policy */
56
+ blocked: boolean;
57
+ /** Reason for blocking (if blocked) */
58
+ blockReason?: string;
59
+ /** Policy evaluation info */
60
+ policyInfo?: PolicyInfo;
61
+ }
62
+ /**
63
+ * Health check response
64
+ */
65
+ export interface HealthStatus {
66
+ /** Health status: healthy, degraded, or unhealthy */
67
+ status: 'healthy' | 'degraded' | 'unhealthy';
68
+ /** Agent version */
69
+ version?: string;
70
+ /** Uptime duration */
71
+ uptime?: string;
72
+ /** Component health statuses */
73
+ components?: Record<string, {
74
+ status: string;
75
+ message?: string;
76
+ }>;
77
+ }
78
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/types/proxy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,sCAAsC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7C,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Proxy Mode Types
4
+ *
5
+ * Proxy Mode routes requests through AxonFlow's /api/request endpoint,
6
+ * allowing AxonFlow to handle policy enforcement and optional LLM routing.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/types/proxy.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAEhC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAW9C"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAMhC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAW9C"}
@@ -34,7 +34,9 @@ function isBrowser() {
34
34
  * Check if running in Node.js
35
35
  */
36
36
  function isNode() {
37
- return typeof process !== 'undefined' && process.versions !== undefined && process.versions.node !== undefined;
37
+ return (typeof process !== 'undefined' &&
38
+ process.versions !== undefined &&
39
+ process.versions.node !== undefined);
38
40
  }
39
41
  /**
40
42
  * Safe JSON stringify that handles circular references
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":";;AAGA,8CAEC;AAKD,4BAEC;AAKD,sBAEC;AAKD,8BAEC;AAKD,wBAEC;AAKD,sCAWC;AAjDD;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,OAAe,EAAE,IAAU;IAClD,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AACjF,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM;IACpB,OAAO,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC;AACjH,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,GAAQ;IACpC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":";;AAGA,8CAEC;AAKD,4BAEC;AAKD,sBAEC;AAKD,8BAEC;AAKD,wBAMC;AAKD,sCAWC;AArDD;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,OAAe,EAAE,IAAU;IAClD,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AACjF,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM;IACpB,OAAO,CACL,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,CAAC,QAAQ,KAAK,SAAS;QAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CACpC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,GAAQ;IACpC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}