@zimtsui/brainswitch 0.0.5 → 0.0.7
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/build/adaptor.d.ts +1 -1
- package/build/adaptor.js +15 -16
- package/build/adaptor.js.map +1 -1
- package/build/agentloop.d.ts +2 -2
- package/build/agentloop.js +3 -3
- package/build/agentloop.js.map +1 -1
- package/build/api-types/aliyun-stream.d.ts +16 -0
- package/build/api-types/aliyun-stream.js +22 -0
- package/build/api-types/aliyun-stream.js.map +1 -0
- package/build/api-types/base.d.ts +7 -2
- package/build/api-types/base.js +15 -2
- package/build/api-types/base.js.map +1 -1
- package/build/api-types/google-base.d.ts +3 -3
- package/build/api-types/google-base.js +3 -3
- package/build/api-types/google-base.js.map +1 -1
- package/build/api-types/google-rest.d.ts +13 -14
- package/build/api-types/google-rest.js +21 -38
- package/build/api-types/google-rest.js.map +1 -1
- package/build/api-types/openai-chatcompletions-base.d.ts +3 -4
- package/build/api-types/openai-chatcompletions-base.js +3 -6
- package/build/api-types/openai-chatcompletions-base.js.map +1 -1
- package/build/api-types/openai-chatcompletions-monolith-base.d.ts +3 -3
- package/build/api-types/openai-chatcompletions-monolith-base.js +8 -9
- package/build/api-types/openai-chatcompletions-monolith-base.js.map +1 -1
- package/build/api-types/openai-chatcompletions-stream-base.d.ts +3 -3
- package/build/api-types/openai-chatcompletions-stream-base.js +8 -9
- package/build/api-types/openai-chatcompletions-stream-base.js.map +1 -1
- package/build/api-types/openai-chatcompletions.d.ts +9 -6
- package/build/api-types/openai-chatcompletions.js +16 -12
- package/build/api-types/openai-chatcompletions.js.map +1 -1
- package/build/api-types/openai-responses.d.ts +6 -6
- package/build/api-types/openai-responses.js +18 -20
- package/build/api-types/openai-responses.js.map +1 -1
- package/build/api-types/openrouter-monolith.d.ts +8 -6
- package/build/api-types/openrouter-monolith.js +14 -11
- package/build/api-types/openrouter-monolith.js.map +1 -1
- package/build/api-types/openrouter-stream.d.ts +8 -6
- package/build/api-types/openrouter-stream.js +14 -11
- package/build/api-types/openrouter-stream.js.map +1 -1
- package/build/config.d.ts +1 -2
- package/build/endpoint-spec.d.ts +1 -2
- package/build/endpoint-spec.js +1 -3
- package/build/endpoint-spec.js.map +1 -1
- package/build/engine.d.ts +7 -6
- package/build/engine.js +0 -12
- package/build/engine.js.map +1 -1
- package/build/throttle.d.ts +3 -7
- package/build/throttle.js +17 -31
- package/build/throttle.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -2
- package/build/api-types/huggingface-cerebras-qwen3-thinking.d.ts +0 -15
- package/build/api-types/huggingface-cerebras-qwen3-thinking.js +0 -57
- package/build/api-types/huggingface-cerebras-qwen3-thinking.js.map +0 -1
- package/build/api-types/qwen.d.ts +0 -13
- package/build/api-types/qwen.js +0 -18
- package/build/api-types/qwen.js.map +0 -1
- package/build/assets.d.ts +0 -7
- package/build/assets.js +0 -8
- package/build/assets.js.map +0 -1
- package/build/safe-engine.d.ts +0 -6
- package/build/safe-engine.js +0 -16
- package/build/safe-engine.js.map +0 -1
- package/build/validate.d.ts +0 -34
- package/build/validate.js +0 -56
- package/build/validate.js.map +0 -1
package/build/endpoint-spec.js
CHANGED
|
@@ -11,17 +11,15 @@ export var EndpointSpec;
|
|
|
11
11
|
Type.Literal('openai-chatcompletions'),
|
|
12
12
|
Type.Literal('openai-responses'),
|
|
13
13
|
Type.Literal('google'),
|
|
14
|
-
Type.Literal('
|
|
14
|
+
Type.Literal('aliyun-stream'),
|
|
15
15
|
Type.Literal('openrouter-monolith'),
|
|
16
16
|
Type.Literal('openrouter-stream'),
|
|
17
|
-
Type.Literal('huggingface-cerebras-qwen3-thinking'),
|
|
18
17
|
]),
|
|
19
18
|
inputPrice: Type.Optional(Type.Number()),
|
|
20
19
|
outputPrice: Type.Optional(Type.Number()),
|
|
21
20
|
cachedPrice: Type.Optional(Type.Number()),
|
|
22
21
|
customOptions: Type.Optional(Type.Record(Type.String(), Type.Any())),
|
|
23
22
|
rpm: Type.Optional(Type.Number()),
|
|
24
|
-
tpm: Type.Optional(Type.Number()),
|
|
25
23
|
timeout: Type.Optional(Type.Number()),
|
|
26
24
|
tokenLimit: Type.Optional(Type.Number()),
|
|
27
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint-spec.js","sourceRoot":"","sources":["../src/endpoint-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AAItD,MAAM,KAAW,YAAY,
|
|
1
|
+
{"version":3,"file":"endpoint-spec.js","sourceRoot":"","sources":["../src/endpoint-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AAItD,MAAM,KAAW,YAAY,CAuB5B;AAvBD,WAAiB,YAAY;IACZ,mBAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;SACpC,CAAC;QACF,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACzC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACzC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACpE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KAC3C,CAAC,CAAC;AACP,CAAC,EAvBgB,YAAY,KAAZ,YAAY,QAuB5B"}
|
package/build/engine.d.ts
CHANGED
|
@@ -3,8 +3,13 @@ import { Function } from './function.ts';
|
|
|
3
3
|
import { EndpointSpec } from './endpoint-spec.ts';
|
|
4
4
|
import { type InferenceContext } from './inference-context.ts';
|
|
5
5
|
import { Throttle } from './throttle.ts';
|
|
6
|
-
export interface Engine<in out fdu extends Function.Declaration = never
|
|
7
|
-
(ctx: InferenceContext, session:
|
|
6
|
+
export interface Engine<in out fdu extends Function.Declaration = never, session extends unknown = Session<fdu>> {
|
|
7
|
+
stateless(ctx: InferenceContext, session: session): Promise<RoleMessage.AI<fdu>>;
|
|
8
|
+
/**
|
|
9
|
+
* @param session mutable
|
|
10
|
+
*/
|
|
11
|
+
stateful(ctx: InferenceContext, session: session): Promise<RoleMessage.AI<fdu>>;
|
|
12
|
+
appendUserMessage(session: session, message: RoleMessage.User<fdu>): session;
|
|
8
13
|
}
|
|
9
14
|
export declare namespace Engine {
|
|
10
15
|
namespace Options {
|
|
@@ -16,8 +21,4 @@ export declare namespace Engine {
|
|
|
16
21
|
interface Options<in out fdm extends Function.Declaration.Map = {}> extends EndpointSpec, Options.Functions<fdm> {
|
|
17
22
|
throttle: Throttle;
|
|
18
23
|
}
|
|
19
|
-
/**
|
|
20
|
-
* @param session mutable
|
|
21
|
-
*/
|
|
22
|
-
function apply<fdm extends Function.Declaration.Map = {}>(ctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, engine: Engine<Function.Declaration.From<fdm>>): Promise<RoleMessage.AI<Function.Declaration.From<fdm>>>;
|
|
23
24
|
}
|
package/build/engine.js
CHANGED
|
@@ -3,16 +3,4 @@ import { Function } from "./function.js";
|
|
|
3
3
|
import { EndpointSpec } from "./endpoint-spec.js";
|
|
4
4
|
import {} from "./inference-context.js";
|
|
5
5
|
import { Throttle } from "./throttle.js";
|
|
6
|
-
export var Engine;
|
|
7
|
-
(function (Engine) {
|
|
8
|
-
/**
|
|
9
|
-
* @param session mutable
|
|
10
|
-
*/
|
|
11
|
-
async function apply(ctx, session, engine) {
|
|
12
|
-
const response = await engine(ctx, session);
|
|
13
|
-
session.chatMessages.push(response);
|
|
14
|
-
return response;
|
|
15
|
-
}
|
|
16
|
-
Engine.apply = apply;
|
|
17
|
-
})(Engine || (Engine = {}));
|
|
18
6
|
//# sourceMappingURL=engine.js.map
|
package/build/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAyB,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAyB,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
package/build/throttle.d.ts
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import type { InferenceContext } from './inference-context.ts';
|
|
2
2
|
export declare class Throttle {
|
|
3
3
|
private rpm;
|
|
4
|
-
private tpm;
|
|
5
|
-
private redundancy;
|
|
6
|
-
private fifo;
|
|
7
|
-
private tokenCount;
|
|
8
4
|
private valve;
|
|
5
|
+
private timer?;
|
|
9
6
|
private interval;
|
|
10
|
-
constructor(rpm: number
|
|
7
|
+
constructor(rpm: number);
|
|
11
8
|
requests(ctx: InferenceContext): Promise<void>;
|
|
12
|
-
|
|
13
|
-
outputTokens(deltaTokenCount: number): void;
|
|
9
|
+
throw(e: Error): void;
|
|
14
10
|
}
|
package/build/throttle.js
CHANGED
|
@@ -1,50 +1,36 @@
|
|
|
1
|
-
import { FifoStack } from '@zimtsui/deque';
|
|
2
|
-
import assert from 'node:assert';
|
|
3
1
|
import { Mutex } from '@zimtsui/coroutine-locks';
|
|
4
2
|
export class Throttle {
|
|
5
3
|
rpm;
|
|
6
|
-
tpm;
|
|
7
|
-
redundancy;
|
|
8
|
-
fifo = new FifoStack();
|
|
9
|
-
tokenCount = 0;
|
|
10
4
|
valve = new Mutex();
|
|
5
|
+
timer;
|
|
11
6
|
interval;
|
|
12
|
-
constructor(rpm
|
|
7
|
+
constructor(rpm) {
|
|
13
8
|
this.rpm = rpm;
|
|
14
|
-
this.tpm = tpm;
|
|
15
|
-
this.redundancy = redundancy;
|
|
16
9
|
this.interval = Math.ceil(60 * 1000 / this.rpm);
|
|
17
10
|
}
|
|
18
11
|
async requests(ctx) {
|
|
19
12
|
await ctx.busy?.acquireRead();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
ctx.
|
|
23
|
-
|
|
24
|
-
async inputTokens(deltaTokenCount, ctx) {
|
|
25
|
-
await ctx.busy?.acquireRead();
|
|
13
|
+
const pwr = Promise.withResolvers();
|
|
14
|
+
const callback = () => pwr.reject(ctx.signal?.reason);
|
|
15
|
+
ctx.signal?.addEventListener('abort', callback);
|
|
16
|
+
const waiting = this.valve.acquire();
|
|
26
17
|
try {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
ctx.signal?.removeEventListener('abort', reject);
|
|
34
|
-
clearTimeout(timeout);
|
|
35
|
-
});
|
|
36
|
-
this.tokenCount -= this.fifo.popFront().token;
|
|
37
|
-
}
|
|
38
|
-
this.fifo.pushBack({ token: deltaTokenCount, time: Date.now() });
|
|
39
|
-
this.tokenCount += deltaTokenCount;
|
|
18
|
+
await Promise.race([waiting, pwr.promise]);
|
|
19
|
+
this.timer = setTimeout(() => void this.valve.release(), this.interval);
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
waiting.then(() => this.valve.release()).catch(() => { });
|
|
23
|
+
throw e;
|
|
40
24
|
}
|
|
41
25
|
finally {
|
|
26
|
+
ctx.signal?.removeEventListener('abort', callback);
|
|
42
27
|
ctx.busy?.releaseRead();
|
|
43
28
|
}
|
|
44
29
|
}
|
|
45
|
-
|
|
46
|
-
this.
|
|
47
|
-
|
|
30
|
+
throw(e) {
|
|
31
|
+
if (this.timer)
|
|
32
|
+
clearTimeout(this.timer);
|
|
33
|
+
this.valve.throw(e);
|
|
48
34
|
}
|
|
49
35
|
}
|
|
50
36
|
//# sourceMappingURL=throttle.js.map
|
package/build/throttle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGjD,MAAM,OAAO,QAAQ;IAIU;IAHnB,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IACpB,KAAK,CAAkB;IACvB,QAAQ,CAAS;IACzB,YAA2B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,GAAqB;QACvC,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,CAAC;QACZ,CAAC;gBAAS,CAAC;YACP,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnD,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,CAAQ;QACjB,IAAI,IAAI,CAAC,KAAK;YAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;CACJ"}
|