@memorilabs/axon 0.1.5-beta → 0.1.5
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 +3 -3
- package/dist/core/axon.d.ts +39 -9
- package/dist/core/axon.d.ts.map +1 -1
- package/dist/core/axon.js +22 -12
- package/dist/core/axon.js.map +1 -1
- package/dist/hooks/hooked.js.map +1 -1
- package/dist/hooks/pipeline.d.ts +27 -0
- package/dist/hooks/pipeline.d.ts.map +1 -0
- package/dist/hooks/{registry.js → pipeline.js} +11 -21
- package/dist/hooks/pipeline.js.map +1 -0
- package/dist/providers/gemini/common.d.ts.map +1 -1
- package/dist/providers/gemini/common.js +4 -2
- package/dist/providers/gemini/common.js.map +1 -1
- package/dist/providers/gemini/proxy.d.ts.map +1 -1
- package/dist/providers/gemini/proxy.js +60 -29
- package/dist/providers/gemini/proxy.js.map +1 -1
- package/dist/providers/gemini/types.d.ts +8 -0
- package/dist/providers/gemini/types.d.ts.map +1 -1
- package/dist/providers/openai/proxy.js.map +1 -1
- package/dist/types/llm.d.ts +3 -0
- package/dist/types/llm.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
- package/dist/hooks/registry.d.ts +0 -37
- package/dist/hooks/registry.d.ts.map +0 -1
- package/dist/hooks/registry.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[](https://memorilabs.ai/)
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<strong>The universal LLM interceptor and hook registry</strong>
|
|
@@ -50,14 +50,14 @@ const axon = new Axon();
|
|
|
50
50
|
axon.llm.register(client);
|
|
51
51
|
|
|
52
52
|
// 3. Register a Before Hook (e.g., logging or modifying prompts)
|
|
53
|
-
axon.before
|
|
53
|
+
axon.hook.before((req, ctx) => {
|
|
54
54
|
console.log(`[${ctx.traceId}] Intercepted request to model: ${req.model}`);
|
|
55
55
|
// You can modify the request here before it hits the provider
|
|
56
56
|
return req;
|
|
57
57
|
});
|
|
58
58
|
|
|
59
59
|
// 4. Register an After Hook (e.g., token usage tracking)
|
|
60
|
-
axon.after
|
|
60
|
+
axon.hook.after((req, res, ctx) => {
|
|
61
61
|
console.log(`[${ctx.traceId}] Received response. Tokens used: ${res.usage?.totalTokens}`);
|
|
62
62
|
});
|
|
63
63
|
|
package/dist/core/axon.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { HookRegistry } from '../hooks/registry.js';
|
|
2
1
|
import { LLMRegistry } from '../llm/registry.js';
|
|
3
|
-
import { CallContext, LLMRequest, LLMResponse } from '../types/index.js';
|
|
2
|
+
import { AfterHook, BeforeHook, CallContext, LLMRequest, LLMResponse } from '../types/index.js';
|
|
4
3
|
/**
|
|
5
4
|
* The central hub for the Axon SDK.
|
|
6
5
|
*
|
|
@@ -9,7 +8,7 @@ import { CallContext, LLMRequest, LLMResponse } from '../types/index.js';
|
|
|
9
8
|
* - Hook execution (before/after calls).
|
|
10
9
|
* @example
|
|
11
10
|
* ```ts
|
|
12
|
-
* import { Axon } from 'axon';
|
|
11
|
+
* import { Axon } from '@memorilabs/axon';
|
|
13
12
|
* import { OpenAI } from 'openai';
|
|
14
13
|
*
|
|
15
14
|
* const axon = new Axon();
|
|
@@ -19,8 +18,8 @@ import { CallContext, LLMRequest, LLMResponse } from '../types/index.js';
|
|
|
19
18
|
* axon.llm.register(client);
|
|
20
19
|
*
|
|
21
20
|
* // 2. Add hooks
|
|
22
|
-
* axon.before
|
|
23
|
-
* console.log(
|
|
21
|
+
* axon.hook.before((req, ctx) => {
|
|
22
|
+
* console.log(`[${ctx.traceId}] Sending to: ${req.model}`);
|
|
24
23
|
* return req;
|
|
25
24
|
* });
|
|
26
25
|
*
|
|
@@ -31,10 +30,41 @@ import { CallContext, LLMRequest, LLMResponse } from '../types/index.js';
|
|
|
31
30
|
export declare class Axon {
|
|
32
31
|
/** Registry for managing third-party LLM providers. */
|
|
33
32
|
readonly llm: LLMRegistry;
|
|
34
|
-
/**
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
readonly
|
|
33
|
+
/** * Namespace for registering LLM lifecycle hooks.
|
|
34
|
+
* Hooks allow you to intercept, observe, and modify requests and responses.
|
|
35
|
+
*/
|
|
36
|
+
readonly hook: {
|
|
37
|
+
/**
|
|
38
|
+
* Registers a hook function to run *before* the LLM call is executed.
|
|
39
|
+
* Hooks are executed sequentially in the order they are added.
|
|
40
|
+
*
|
|
41
|
+
* @param fn - The hook function to execute. It can optionally return a modified request, or a Promise resolving to one.
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* axon.hook.before((req, ctx) => {
|
|
45
|
+
* console.log(`[${ctx.traceId}] Sending prompt to ${req.model}`);
|
|
46
|
+
* return req;
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
before: (fn: BeforeHook) => void;
|
|
51
|
+
/**
|
|
52
|
+
* Registers a hook function to run *after* the LLM call completes or streams.
|
|
53
|
+
* Hooks are executed sequentially in the order they are added.
|
|
54
|
+
*
|
|
55
|
+
* @param fn - The hook function to execute. It can optionally return a modified response, or a Promise resolving to one.
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* axon.hook.after((req, res, ctx) => {
|
|
59
|
+
* console.log(`[${ctx.traceId}] Received ${res.usage?.totalTokens} tokens`);
|
|
60
|
+
* console.log(`[${ctx.traceId}] AI Response: ${res.content}`);
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
after: (fn: AfterHook) => void;
|
|
65
|
+
};
|
|
66
|
+
private readonly beforePipeline;
|
|
67
|
+
private readonly afterPipeline;
|
|
38
68
|
/**
|
|
39
69
|
* Creates a new Axon instance.
|
|
40
70
|
*/
|
package/dist/core/axon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axon.d.ts","sourceRoot":"","sources":["../../src/core/axon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"axon.d.ts","sourceRoot":"","sources":["../../src/core/axon.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,IAAI;IACf,uDAAuD;IACvD,SAAgB,GAAG,EAAE,WAAW,CAAC;IAEjC;;OAEG;IACH,SAAgB,IAAI,EAAE;QACpB;;;;;;;;;;;;WAYG;QACH,MAAM,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;QAEjC;;;;;;;;;;;;WAYG;QACH,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;KAChC,CAAC;IAEF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAEtD;;OAEG;;IAgBH;;;OAGG;IACG,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAI3E;;;OAGG;IACG,QAAQ,CACZ,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,WAAW,CAAC;CAGxB"}
|
package/dist/core/axon.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HookPipeline } from '../hooks/pipeline.js';
|
|
2
2
|
import { LLMRegistry } from '../llm/registry.js';
|
|
3
3
|
/**
|
|
4
4
|
* The central hub for the Axon SDK.
|
|
@@ -8,7 +8,7 @@ import { LLMRegistry } from '../llm/registry.js';
|
|
|
8
8
|
* - Hook execution (before/after calls).
|
|
9
9
|
* @example
|
|
10
10
|
* ```ts
|
|
11
|
-
* import { Axon } from 'axon';
|
|
11
|
+
* import { Axon } from '@memorilabs/axon';
|
|
12
12
|
* import { OpenAI } from 'openai';
|
|
13
13
|
*
|
|
14
14
|
* const axon = new Axon();
|
|
@@ -18,8 +18,8 @@ import { LLMRegistry } from '../llm/registry.js';
|
|
|
18
18
|
* axon.llm.register(client);
|
|
19
19
|
*
|
|
20
20
|
* // 2. Add hooks
|
|
21
|
-
* axon.before
|
|
22
|
-
* console.log(
|
|
21
|
+
* axon.hook.before((req, ctx) => {
|
|
22
|
+
* console.log(`[${ctx.traceId}] Sending to: ${req.model}`);
|
|
23
23
|
* return req;
|
|
24
24
|
* });
|
|
25
25
|
*
|
|
@@ -30,31 +30,41 @@ import { LLMRegistry } from '../llm/registry.js';
|
|
|
30
30
|
export class Axon {
|
|
31
31
|
/** Registry for managing third-party LLM providers. */
|
|
32
32
|
llm;
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
/** * Namespace for registering LLM lifecycle hooks.
|
|
34
|
+
* Hooks allow you to intercept, observe, and modify requests and responses.
|
|
35
|
+
*/
|
|
36
|
+
hook;
|
|
37
|
+
beforePipeline;
|
|
38
|
+
afterPipeline;
|
|
37
39
|
/**
|
|
38
40
|
* Creates a new Axon instance.
|
|
39
41
|
*/
|
|
40
42
|
constructor() {
|
|
41
43
|
this.llm = new LLMRegistry(this);
|
|
42
|
-
this.
|
|
43
|
-
this.
|
|
44
|
+
this.beforePipeline = new HookPipeline('before');
|
|
45
|
+
this.afterPipeline = new HookPipeline('after');
|
|
46
|
+
this.hook = {
|
|
47
|
+
before: (fn) => {
|
|
48
|
+
this.beforePipeline.add(fn);
|
|
49
|
+
},
|
|
50
|
+
after: (fn) => {
|
|
51
|
+
this.afterPipeline.add(fn);
|
|
52
|
+
},
|
|
53
|
+
};
|
|
44
54
|
}
|
|
45
55
|
/**
|
|
46
56
|
* Executes the 'before' hook pipeline.
|
|
47
57
|
* @internal
|
|
48
58
|
*/
|
|
49
59
|
async runBefore(request, ctx) {
|
|
50
|
-
return (await this.
|
|
60
|
+
return (await this.beforePipeline.execute(request, ctx));
|
|
51
61
|
}
|
|
52
62
|
/**
|
|
53
63
|
* Executes the 'after' hook pipeline.
|
|
54
64
|
* @internal
|
|
55
65
|
*/
|
|
56
66
|
async runAfter(request, response, ctx) {
|
|
57
|
-
return (await this.
|
|
67
|
+
return (await this.afterPipeline.execute(request, response, ctx));
|
|
58
68
|
}
|
|
59
69
|
}
|
|
60
70
|
//# sourceMappingURL=axon.js.map
|
package/dist/core/axon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axon.js","sourceRoot":"","sources":["../../src/core/axon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,IAAI;IACf,uDAAuD;IACvC,GAAG,CAAc;
|
|
1
|
+
{"version":3,"file":"axon.js","sourceRoot":"","sources":["../../src/core/axon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,IAAI;IACf,uDAAuD;IACvC,GAAG,CAAc;IAEjC;;OAEG;IACa,IAAI,CA8BlB;IAEe,cAAc,CAAyB;IACvC,aAAa,CAAwB;IAEtD;;OAEG;IACH;QACE,IAAI,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,IAAI,GAAG;YACV,MAAM,EAAE,CAAC,EAAc,EAAE,EAAE;gBACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,EAAE,CAAC,EAAa,EAAE,EAAE;gBACvB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,OAAmB,EAAE,GAAgB;QACnD,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAe,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CACZ,OAAmB,EACnB,QAAqB,EACrB,GAAgB;QAEhB,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAgB,CAAC;IACnF,CAAC;CACF"}
|
package/dist/hooks/hooked.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooked.js","sourceRoot":"","sources":["../../src/hooks/hooked.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,iBAAiB,EAA2B,MAAM,mBAAmB,CAAC;AAO5F,SAAS,YAAY,CAAC,IAAa;IACjC,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,QAAQ,IAAI,IAAI;QACf,IAA4B,CAAC,MAAM,CACrC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,YAAY;IAKJ;IACA;IACA;IACA;IACA;IACA;IATX,kBAAkB,GAAa,EAAE,CAAC;IAClC,WAAW,GAAG,KAAK,CAAC;IAE5B,YACmB,MAA6B,EAC7B,OAAmB,EACnB,GAAgB,EAChB,IAAU,EACV,WAAmD,EACnD,gBAA+B;QAL/B,WAAM,GAAN,MAAM,CAAuB;QAC7B,YAAO,GAAP,OAAO,CAAY;QACnB,QAAG,GAAH,GAAG,CAAa;QAChB,SAAI,GAAJ,IAAI,CAAM;QACV,gBAAW,GAAX,WAAW,CAAwC;QACnD,qBAAgB,GAAhB,gBAAgB,CAAe;IAC/C,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;gBACD,MAAM,
|
|
1
|
+
{"version":3,"file":"hooked.js","sourceRoot":"","sources":["../../src/hooks/hooked.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AfterHook, BeforeHook } from '../types/index.js';
|
|
2
|
+
export type HookType<P> = P extends 'before' ? BeforeHook : AfterHook;
|
|
3
|
+
/**
|
|
4
|
+
* Manages and executes a sequential pipeline of lifecycle hooks.
|
|
5
|
+
* This is an internal execution engine for `axon.hooks`.
|
|
6
|
+
*
|
|
7
|
+
* @typeParam P - The lifecycle phase this pipeline manages ('before' or 'after').
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare class HookPipeline<P extends 'before' | 'after'> {
|
|
11
|
+
private readonly phase;
|
|
12
|
+
private hooks;
|
|
13
|
+
constructor(phase: P);
|
|
14
|
+
/**
|
|
15
|
+
* Adds a new hook function to the pipeline.
|
|
16
|
+
* Hooks are executed sequentially in the order they are added.
|
|
17
|
+
*
|
|
18
|
+
* @param fn - The hook function to add to the pipeline.
|
|
19
|
+
*/
|
|
20
|
+
add(fn: HookType<P>): void;
|
|
21
|
+
/**
|
|
22
|
+
* Executes the pipeline of hooks in sequence.
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
execute(...args: unknown[]): Promise<unknown>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/hooks/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAwC,MAAM,mBAAmB,CAAC;AAEhG,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAEtE;;;;;;GAMG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO;IAGxC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,OAAO,CAAC,KAAK,CAA0B;gBAEV,KAAK,EAAE,CAAC;IAErC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAI1B;;;OAGG;IACG,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAyBpD"}
|
|
@@ -1,37 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Manages a
|
|
2
|
+
* Manages and executes a sequential pipeline of lifecycle hooks.
|
|
3
|
+
* This is an internal execution engine for `axon.hooks`.
|
|
3
4
|
*
|
|
4
|
-
* @typeParam P - The lifecycle phase this
|
|
5
|
+
* @typeParam P - The lifecycle phase this pipeline manages ('before' or 'after').
|
|
6
|
+
* @internal
|
|
5
7
|
*/
|
|
6
|
-
export class
|
|
8
|
+
export class HookPipeline {
|
|
7
9
|
phase;
|
|
8
10
|
hooks = [];
|
|
9
11
|
constructor(phase) {
|
|
10
12
|
this.phase = phase;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
|
-
*
|
|
14
|
-
* Hooks are executed sequentially in the order they are
|
|
15
|
+
* Adds a new hook function to the pipeline.
|
|
16
|
+
* Hooks are executed sequentially in the order they are added.
|
|
15
17
|
*
|
|
16
|
-
* @param fn - The hook function to
|
|
17
|
-
* * @example
|
|
18
|
-
* ```ts
|
|
19
|
-
* // Before Hook Example:
|
|
20
|
-
* axon.before.register((req, ctx) => {
|
|
21
|
-
* console.log(`Sending prompt to ${req.model}`);
|
|
22
|
-
* return req; // Optional: return modified request
|
|
23
|
-
* });
|
|
24
|
-
* * // After Hook Example:
|
|
25
|
-
* axon.after.register((req, res, ctx) => {
|
|
26
|
-
* console.log(`Received ${res.usage?.totalTokens} tokens`);
|
|
27
|
-
* });
|
|
28
|
-
* ```
|
|
18
|
+
* @param fn - The hook function to add to the pipeline.
|
|
29
19
|
*/
|
|
30
|
-
|
|
20
|
+
add(fn) {
|
|
31
21
|
this.hooks.push(fn);
|
|
32
22
|
}
|
|
33
23
|
/**
|
|
34
|
-
* Executes
|
|
24
|
+
* Executes the pipeline of hooks in sequence.
|
|
35
25
|
* @internal
|
|
36
26
|
*/
|
|
37
27
|
async execute(...args) {
|
|
@@ -59,4 +49,4 @@ export class HookRegistry {
|
|
|
59
49
|
return undefined;
|
|
60
50
|
}
|
|
61
51
|
}
|
|
62
|
-
//# sourceMappingURL=
|
|
52
|
+
//# sourceMappingURL=pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/hooks/pipeline.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IAGM;IAFrB,KAAK,GAAuB,EAAE,CAAC;IAEvC,YAA6B,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAEzC;;;;;OAKG;IACH,GAAG,CAAC,EAAe;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,GAAG,IAAe;QAC9B,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,CAAe,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAgB,CAAC;YAEnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAqB,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAC3C,IAAI,MAAM;oBAAE,UAAU,GAAG,MAAM,CAAC;YAClC,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAe,CAAC;YAClC,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,CAAgB,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAgB,CAAC;YAEnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAoB,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;gBAChD,IAAI,MAAM;oBAAE,UAAU,GAAG,MAAM,CAAC;YAClC,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,UAAU,CAAC,GAAG,OAAO,EAAE,CAShG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,yBAAyB,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,UAAU,CAAC,GAAG,OAAO,EAAE,CAShG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAOhG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAO3D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CASpE;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAOvF"}
|
|
@@ -3,14 +3,16 @@ export function geminiInputToMessages(contents) {
|
|
|
3
3
|
return [{ role: 'user', content: contents }];
|
|
4
4
|
if (Array.isArray(contents)) {
|
|
5
5
|
return contents.map((c) => ({
|
|
6
|
-
role:
|
|
6
|
+
role: c.role === 'model' ? 'assistant' : 'user',
|
|
7
7
|
content: c.parts.map((p) => p.text).join(''),
|
|
8
8
|
}));
|
|
9
9
|
}
|
|
10
10
|
return [];
|
|
11
11
|
}
|
|
12
12
|
export function messagesToGeminiInput(request) {
|
|
13
|
-
return request.messages
|
|
13
|
+
return request.messages
|
|
14
|
+
.filter((m) => m.role !== 'system')
|
|
15
|
+
.map((m) => ({
|
|
14
16
|
role: m.role === 'assistant' ? 'model' : m.role,
|
|
15
17
|
parts: [{ text: m.content }],
|
|
16
18
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/providers/gemini/common.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,qBAAqB,CAAC,QAA+C;IACnF,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/providers/gemini/common.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,qBAAqB,CAAC,QAA+C;IACnF,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;YAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;SAC7C,CAAC,CAAC,CAAC;IACN,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAmB;IACvD,OAAO,OAAO,CAAC,QAAQ;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/C,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KAC7B,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IACjD,MAAM,CAAC,GAAG,QAA0B,CAAC;IACrC,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC/C,MAAM,CAAC,GAAG,QAA0B,CAAC;IACrC,IAAI,CAAC,CAAC,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAEvC,OAAO;QACL,YAAY,EAAE,CAAC,CAAC,aAAa,CAAC,gBAAgB;QAC9C,gBAAgB,EAAE,CAAC,CAAC,aAAa,CAAC,oBAAoB;QACtD,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAY,EAAE,SAAsB;IAC/E,MAAM,CAAC,GAAG,GAAqB,CAAC;IAChC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;IAC5D,CAAC;SAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;IAC7B,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AA4F/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAsCnE"}
|
|
@@ -2,31 +2,69 @@ import { patchMethod } from '../patcher.js';
|
|
|
2
2
|
import { geminiInputToMessages, messagesToGeminiInput, contentFromGemini, usageFromGemini, applyContentToGeminiResponse, } from './common.js';
|
|
3
3
|
import { extractSDKVersion } from '../telemetry.js';
|
|
4
4
|
import { PROVIDERS } from '../../utils/constants.js';
|
|
5
|
+
function extractSystemInstruction(config) {
|
|
6
|
+
if (!config?.systemInstruction)
|
|
7
|
+
return '';
|
|
8
|
+
const instruction = config.systemInstruction;
|
|
9
|
+
if (typeof instruction === 'string') {
|
|
10
|
+
return instruction;
|
|
11
|
+
}
|
|
12
|
+
if (typeof instruction === 'object') {
|
|
13
|
+
const parts = instruction.parts;
|
|
14
|
+
if (Array.isArray(parts)) {
|
|
15
|
+
return parts
|
|
16
|
+
.map((p) => p.text)
|
|
17
|
+
.filter((text) => typeof text === 'string')
|
|
18
|
+
.join('');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
5
23
|
function argsToRequest(args) {
|
|
6
|
-
const { model
|
|
24
|
+
const { model, contents, ...params } = args;
|
|
25
|
+
const messages = geminiInputToMessages(contents);
|
|
26
|
+
const systemContent = extractSystemInstruction(params.config);
|
|
27
|
+
if (systemContent) {
|
|
28
|
+
messages.unshift({ role: 'system', content: systemContent });
|
|
29
|
+
}
|
|
7
30
|
return {
|
|
8
|
-
messages
|
|
9
|
-
model
|
|
31
|
+
messages,
|
|
32
|
+
model,
|
|
10
33
|
params,
|
|
11
34
|
};
|
|
12
35
|
}
|
|
13
36
|
function requestToArgs(request) {
|
|
14
37
|
if (!request.model)
|
|
15
38
|
throw new Error('No model provided.');
|
|
16
|
-
|
|
39
|
+
const systemMessages = request.messages.filter((m) => m.role === 'system');
|
|
40
|
+
const otherMessages = request.messages.filter((m) => m.role !== 'system');
|
|
41
|
+
const args = {
|
|
17
42
|
model: request.model,
|
|
18
|
-
contents: messagesToGeminiInput(request),
|
|
43
|
+
contents: messagesToGeminiInput({ ...request, messages: otherMessages }),
|
|
19
44
|
...(request.params ?? {}),
|
|
20
45
|
};
|
|
46
|
+
if (systemMessages.length > 0) {
|
|
47
|
+
args.config = {
|
|
48
|
+
...(args.config ?? {}),
|
|
49
|
+
systemInstruction: systemMessages.map((m) => m.content).join('\n\n'),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return args;
|
|
21
53
|
}
|
|
22
54
|
function rawToCanonical(raw) {
|
|
23
55
|
return { content: contentFromGemini(raw), usage: usageFromGemini(raw), raw };
|
|
24
56
|
}
|
|
57
|
+
function isGeminiResponse(raw) {
|
|
58
|
+
return typeof raw === 'object' && raw !== null;
|
|
59
|
+
}
|
|
25
60
|
function chunkToText(chunk) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
61
|
+
if (!isGeminiResponse(chunk))
|
|
62
|
+
return undefined;
|
|
63
|
+
if (typeof chunk.text === 'string')
|
|
64
|
+
return chunk.text;
|
|
65
|
+
const firstCandidate = chunk.candidates?.[0];
|
|
66
|
+
const firstPart = firstCandidate?.content?.parts?.[0];
|
|
67
|
+
return firstPart?.text;
|
|
30
68
|
}
|
|
31
69
|
export function patchGeminiClient(client, axon) {
|
|
32
70
|
const geminiClient = client;
|
|
@@ -34,39 +72,32 @@ export function patchGeminiClient(client, axon) {
|
|
|
34
72
|
if (!geminiClient.models) {
|
|
35
73
|
throw new Error('Gemini client has no models API.');
|
|
36
74
|
}
|
|
37
|
-
|
|
38
|
-
|
|
75
|
+
const sharedCtxMetadata = { provider: PROVIDERS.GEMINI.id, sdkVersion };
|
|
76
|
+
const baseConfig = {
|
|
39
77
|
axon,
|
|
40
78
|
parent: geminiClient.models,
|
|
41
|
-
methodName: 'generateContent',
|
|
42
|
-
ctxMetadata: { provider: PROVIDERS.GEMINI.id, method: 'models.generateContent', sdkVersion },
|
|
43
|
-
argsToRequest,
|
|
44
79
|
requestToArgs,
|
|
45
80
|
rawToResponse: rawToCanonical,
|
|
46
81
|
applyCanonicalToRaw: applyContentToGeminiResponse,
|
|
47
82
|
chunkToText,
|
|
83
|
+
};
|
|
84
|
+
patchMethod({
|
|
85
|
+
...baseConfig,
|
|
86
|
+
methodName: 'generateContent',
|
|
87
|
+
ctxMetadata: { ...sharedCtxMetadata, method: 'models.generateContent' },
|
|
88
|
+
argsToRequest,
|
|
48
89
|
});
|
|
49
|
-
// Patch the explicit streaming method
|
|
50
90
|
patchMethod({
|
|
51
|
-
|
|
52
|
-
parent: geminiClient.models,
|
|
91
|
+
...baseConfig,
|
|
53
92
|
methodName: 'generateContentStream',
|
|
54
|
-
ctxMetadata: {
|
|
55
|
-
provider: PROVIDERS.GEMINI.id,
|
|
56
|
-
method: 'models.generateContentStream',
|
|
57
|
-
sdkVersion,
|
|
58
|
-
},
|
|
93
|
+
ctxMetadata: { ...sharedCtxMetadata, method: 'models.generateContentStream' },
|
|
59
94
|
argsToRequest: (args) => {
|
|
60
|
-
const
|
|
95
|
+
const req = argsToRequest(args);
|
|
61
96
|
return {
|
|
62
|
-
...
|
|
63
|
-
params: { ...
|
|
97
|
+
...req,
|
|
98
|
+
params: { ...req.params, stream: true },
|
|
64
99
|
};
|
|
65
100
|
},
|
|
66
|
-
requestToArgs,
|
|
67
|
-
rawToResponse: rawToCanonical,
|
|
68
|
-
applyCanonicalToRaw: applyContentToGeminiResponse,
|
|
69
|
-
chunkToText,
|
|
70
101
|
});
|
|
71
102
|
}
|
|
72
103
|
//# sourceMappingURL=proxy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/providers/gemini/proxy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,SAAS,
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/providers/gemini/proxy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,SAAS,wBAAwB,CAAC,MAA4C;IAC5E,IAAI,CAAC,MAAM,EAAE,iBAAiB;QAAE,OAAO,EAAE,CAAC;IAE1C,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAE7C,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK;iBACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;iBAC1D,IAAI,CAAC,EAAE,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,IAA+B;IACpD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAmB;IACxC,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAE1D,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAE1E,MAAM,IAAI,GAA8B;QACtC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,qBAAqB,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;QACxE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;KAC1B,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YACtB,iBAAiB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SACrE,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY;IACpC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IAEtD,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,SAAS,EAAE,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAe,EAAE,IAAU;IAC3D,MAAM,YAAY,GAAG,MAAsB,CAAC;IAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEnD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,iBAAiB,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC;IAExE,MAAM,UAAU,GAAG;QACjB,IAAI;QACJ,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,aAAa;QACb,aAAa,EAAE,cAAc;QAC7B,mBAAmB,EAAE,4BAA4B;QACjD,WAAW;KACZ,CAAC;IAEF,WAAW,CAAC;QACV,GAAG,UAAU;QACb,UAAU,EAAE,iBAAiB;QAC7B,WAAW,EAAE,EAAE,GAAG,iBAAiB,EAAE,MAAM,EAAE,wBAAwB,EAAE;QACvE,aAAa;KACd,CAAC,CAAC;IAEH,WAAW,CAAC;QACV,GAAG,UAAU;QACb,UAAU,EAAE,uBAAuB;QACnC,WAAW,EAAE,EAAE,GAAG,iBAAiB,EAAE,MAAM,EAAE,8BAA8B,EAAE;QAC7E,aAAa,EAAE,CAAC,IAA+B,EAAE,EAAE;YACjD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO;gBACL,GAAG,GAAG;gBACN,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;aACxC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAC7E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE;QACP,eAAe,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACvE,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9E,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CACH"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,EAAE;QACP,iBAAiB,CAAC,EAAE,MAAM,GAAG;YAAE,KAAK,CAAC,EAAE,KAAK,CAAC;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC;QAClE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE;QACP,eAAe,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACvE,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9E,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/providers/openai/proxy.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,SAAS,aAAa,CACpB,IAA6B,EAC7B,QAA8B;IAE9B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAA+B;IAC7D,OAAO;QACL,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/providers/openai/proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/types/llm.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export type Role = 'system' | 'user' | 'assistant' | 'tool';
|
|
|
5
5
|
export interface Message {
|
|
6
6
|
role: Role;
|
|
7
7
|
content: string;
|
|
8
|
+
type?: string;
|
|
8
9
|
}
|
|
9
10
|
/**
|
|
10
11
|
* A provider-agnostic representation of an LLM request.
|
|
@@ -35,6 +36,8 @@ export interface Usage {
|
|
|
35
36
|
export interface LLMResponse {
|
|
36
37
|
/** The text content generated by the model. */
|
|
37
38
|
content: string;
|
|
39
|
+
/** The type of the response. */
|
|
40
|
+
type?: string;
|
|
38
41
|
/** Token usage statistics. */
|
|
39
42
|
usage?: Usage;
|
|
40
43
|
/** The original, provider-specific response object (e.g., OpenAI response body). */
|
package/dist/types/llm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/types/llm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,8DAA8D;AAC9D,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAE5D,8DAA8D;AAC9D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/types/llm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,8DAA8D;AAC9D,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAE5D,8DAA8D;AAC9D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,oFAAoF;IACpF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACrF;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,WAAW,KACb,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAEvF;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,WAAW,KACb,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "0.1.5
|
|
1
|
+
export declare const SDK_VERSION = "0.1.5";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,UAAU,CAAC"}
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SDK_VERSION = '0.1.5
|
|
1
|
+
export const SDK_VERSION = '0.1.5';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC"}
|
package/package.json
CHANGED
package/dist/hooks/registry.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { AfterHook, BeforeHook } from '../types/index.js';
|
|
2
|
-
export type HookType<P> = P extends 'before' ? BeforeHook : AfterHook;
|
|
3
|
-
/**
|
|
4
|
-
* Manages a list of lifecycle hooks for a specific phase.
|
|
5
|
-
*
|
|
6
|
-
* @typeParam P - The lifecycle phase this registry manages ('before' or 'after').
|
|
7
|
-
*/
|
|
8
|
-
export declare class HookRegistry<P extends 'before' | 'after'> {
|
|
9
|
-
private readonly phase;
|
|
10
|
-
private hooks;
|
|
11
|
-
constructor(phase: P);
|
|
12
|
-
/**
|
|
13
|
-
* Registers a new hook function.
|
|
14
|
-
* Hooks are executed sequentially in the order they are registered.
|
|
15
|
-
*
|
|
16
|
-
* @param fn - The hook function to execute. It can optionally return a modified request/response, or a Promise resolving to one.
|
|
17
|
-
* * @example
|
|
18
|
-
* ```ts
|
|
19
|
-
* // Before Hook Example:
|
|
20
|
-
* axon.before.register((req, ctx) => {
|
|
21
|
-
* console.log(`Sending prompt to ${req.model}`);
|
|
22
|
-
* return req; // Optional: return modified request
|
|
23
|
-
* });
|
|
24
|
-
* * // After Hook Example:
|
|
25
|
-
* axon.after.register((req, res, ctx) => {
|
|
26
|
-
* console.log(`Received ${res.usage?.totalTokens} tokens`);
|
|
27
|
-
* });
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
register(fn: HookType<P>): void;
|
|
31
|
-
/**
|
|
32
|
-
* Executes all registered hooks in sequence.
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
execute(...args: unknown[]): Promise<unknown>;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAwC,MAAM,mBAAmB,CAAC;AAEhG,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAEtE;;;;GAIG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO;IAGxC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,OAAO,CAAC,KAAK,CAA0B;gBAEV,KAAK,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAI/B;;;OAGG;IACG,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAyBpD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,OAAO,YAAY;IAGM;IAFrB,KAAK,GAAuB,EAAE,CAAC;IAEvC,YAA6B,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAEzC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAe;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,GAAG,IAAe;QAC9B,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,CAAe,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAgB,CAAC;YAEnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAqB,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAC3C,IAAI,MAAM;oBAAE,UAAU,GAAG,MAAM,CAAC;YAClC,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAe,CAAC;YAClC,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,CAAgB,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAgB,CAAC;YAEnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAoB,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;gBAChD,IAAI,MAAM;oBAAE,UAAU,GAAG,MAAM,CAAC;YAClC,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|