@zimtsui/typechat 0.0.118 → 0.0.120
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.js +7 -7
- package/build/adaptor.js.map +1 -1
- package/build/config.d.ts +2 -1
- package/build/endpoint-spec.d.ts +2 -1
- package/build/endpoint-spec.js +2 -1
- package/build/endpoint-spec.js.map +1 -1
- package/build/engine/exceptions.d.ts +20 -0
- package/build/engine/exceptions.js +38 -0
- package/build/engine/exceptions.js.map +1 -0
- package/build/engine/parts-validator.js +3 -2
- package/build/engine/parts-validator.js.map +1 -1
- package/build/engine.d.ts +16 -16
- package/build/engine.js +22 -23
- package/build/engine.js.map +1 -1
- package/build/engines/anthropic/tool-codec.js +3 -2
- package/build/engines/anthropic/tool-codec.js.map +1 -1
- package/build/engines/anthropic/transport.js +85 -76
- package/build/engines/anthropic/transport.js.map +1 -1
- package/build/engines/anthropic.d.ts +3 -5
- package/build/engines/anthropic.js +3 -2
- package/build/engines/anthropic.js.map +1 -1
- package/build/engines/google/message-codec.js +2 -2
- package/build/engines/google/message-codec.js.map +1 -1
- package/build/engines/google/tool-codec.js +3 -2
- package/build/engines/google/tool-codec.js.map +1 -1
- package/build/engines/google/transport.js +9 -6
- package/build/engines/google/transport.js.map +1 -1
- package/build/engines/google.d.ts +6 -5
- package/build/engines/google.js +17 -5
- package/build/engines/google.js.map +1 -1
- package/build/engines/openai-chatcompletions/message-codec.d.ts +2 -1
- package/build/engines/openai-chatcompletions/message-codec.js +5 -2
- package/build/engines/openai-chatcompletions/message-codec.js.map +1 -1
- package/build/engines/openai-chatcompletions/message.d.ts +19 -0
- package/build/engines/openai-chatcompletions/message.js.map +1 -0
- package/build/engines/openai-chatcompletions/tool-codec.js +4 -3
- package/build/engines/openai-chatcompletions/tool-codec.js.map +1 -1
- package/build/engines/openai-chatcompletions/transport.js +37 -38
- package/build/engines/openai-chatcompletions/transport.js.map +1 -1
- package/build/engines/openai-chatcompletions.d.ts +7 -6
- package/build/engines/openai-chatcompletions.js +9 -4
- package/build/engines/openai-chatcompletions.js.map +1 -1
- package/build/engines/{dashscope → openai-compatible}/message-codec.js +1 -1
- package/build/engines/openai-compatible/message-codec.js.map +1 -0
- package/build/engines/openai-compatible/message.js +20 -0
- package/build/engines/openai-compatible/message.js.map +1 -0
- package/build/engines/openai-compatible/tool-choice-codec.js.map +1 -0
- package/build/engines/{dashscope → openai-compatible}/transport.js +22 -16
- package/build/engines/openai-compatible/transport.js.map +1 -0
- package/build/engines/openai-compatible.d.ts +22 -0
- package/build/engines/openai-compatible.js +50 -0
- package/build/engines/openai-compatible.js.map +1 -0
- package/build/engines/openai-responses/message-codec.js +1 -1
- package/build/engines/openai-responses/message-codec.js.map +1 -1
- package/build/engines/openai-responses/tool-choice-validator.js +4 -4
- package/build/engines/openai-responses/tool-choice-validator.js.map +1 -1
- package/build/engines/openai-responses/tool-codec.js +4 -3
- package/build/engines/openai-responses/tool-codec.js.map +1 -1
- package/build/engines/openai-responses/transport.d.ts +1 -2
- package/build/engines/openai-responses/transport.js +22 -13
- package/build/engines/openai-responses/transport.js.map +1 -1
- package/build/engines/openai-responses.d.ts +5 -10
- package/build/engines/openai-responses.js +16 -18
- package/build/engines/openai-responses.js.map +1 -1
- package/build/exports.d.ts +1 -1
- package/build/exports.js +1 -1
- package/build/exports.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/build/engine/recoverable.d.ts +0 -12
- package/build/engine/recoverable.js +0 -29
- package/build/engine/recoverable.js.map +0 -1
- package/build/engines/dashscope/message-codec.js.map +0 -1
- package/build/engines/dashscope/message.js.map +0 -1
- package/build/engines/dashscope/tool-choice-codec.js.map +0 -1
- package/build/engines/dashscope/transport.js.map +0 -1
- package/build/engines/dashscope.d.ts +0 -36
- package/build/engines/dashscope.js +0 -78
- package/build/engines/dashscope.js.map +0 -1
- /package/build/engines/{dashscope → openai-chatcompletions}/message.js +0 -0
- /package/build/engines/{dashscope → openai-compatible}/message-codec.d.ts +0 -0
- /package/build/engines/{dashscope → openai-compatible}/message.d.ts +0 -0
- /package/build/engines/{dashscope → openai-compatible}/tool-choice-codec.d.ts +0 -0
- /package/build/engines/{dashscope → openai-compatible}/tool-choice-codec.js +0 -0
- /package/build/engines/{dashscope → openai-compatible}/transport.d.ts +0 -0
package/build/adaptor.js
CHANGED
|
@@ -3,7 +3,7 @@ import { GoogleEngine } from "./engines/google.js";
|
|
|
3
3
|
import { OpenAIResponsesEngine } from "./engines/openai-responses.js";
|
|
4
4
|
import { OpenAIChatCompletionsEngine } from "./engines/openai-chatcompletions.js";
|
|
5
5
|
import { AnthropicEngine } from "./engines/anthropic.js";
|
|
6
|
-
import {
|
|
6
|
+
import { OpenAICompatibleEngine } from "./engines/openai-compatible.js";
|
|
7
7
|
export class Adaptor {
|
|
8
8
|
config;
|
|
9
9
|
static create(config) {
|
|
@@ -32,15 +32,15 @@ export class Adaptor {
|
|
|
32
32
|
throttle,
|
|
33
33
|
};
|
|
34
34
|
if (endpointSpec.apiType === 'openai-responses')
|
|
35
|
-
return OpenAIResponsesEngine.
|
|
35
|
+
return OpenAIResponsesEngine.createEngine(options);
|
|
36
36
|
else if (endpointSpec.apiType === 'google')
|
|
37
|
-
return GoogleEngine.
|
|
37
|
+
return GoogleEngine.createEngine(options);
|
|
38
38
|
else if (endpointSpec.apiType === 'anthropic')
|
|
39
|
-
return AnthropicEngine.
|
|
39
|
+
return AnthropicEngine.createEngine(options);
|
|
40
40
|
else if (endpointSpec.apiType === 'openai-chatcompletions')
|
|
41
|
-
return OpenAIChatCompletionsEngine.
|
|
42
|
-
else if (endpointSpec.apiType === '
|
|
43
|
-
return
|
|
41
|
+
return OpenAIChatCompletionsEngine.createEngine(options);
|
|
42
|
+
else if (endpointSpec.apiType === 'openai-compatible')
|
|
43
|
+
return OpenAICompatibleEngine.createEngine(options);
|
|
44
44
|
else
|
|
45
45
|
throw new Error();
|
|
46
46
|
}
|
package/build/adaptor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptor.js","sourceRoot":"","sources":["../src/adaptor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adaptor.js","sourceRoot":"","sources":["../src/adaptor.ts"],"names":[],"mappings":"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"}
|
package/build/config.d.ts
CHANGED
|
@@ -8,11 +8,12 @@ export declare namespace Config {
|
|
|
8
8
|
apiKey: Type.TString;
|
|
9
9
|
model: Type.TString;
|
|
10
10
|
name: Type.TString;
|
|
11
|
-
apiType: Type.TUnion<[Type.TLiteral<"openai-chatcompletions">, Type.TLiteral<"openai-responses">, Type.TLiteral<"google">, Type.TLiteral<"anthropic">, Type.TLiteral<"
|
|
11
|
+
apiType: Type.TUnion<[Type.TLiteral<"openai-chatcompletions">, Type.TLiteral<"openai-responses">, Type.TLiteral<"google">, Type.TLiteral<"anthropic">, Type.TLiteral<"openai-compatible">]>;
|
|
12
12
|
inputPrice: Type.TOptional<Type.TNumber>;
|
|
13
13
|
outputPrice: Type.TOptional<Type.TNumber>;
|
|
14
14
|
cachePrice: Type.TOptional<Type.TNumber>;
|
|
15
15
|
parallelToolCall: Type.TOptional<Type.TBoolean>;
|
|
16
|
+
additionalHeaders: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
16
17
|
additionalOptions: Type.TOptional<Type.TRecord<"^.*$", Type.TAny>>;
|
|
17
18
|
rpm: Type.TOptional<Type.TNumber>;
|
|
18
19
|
timeout: Type.TOptional<Type.TNumber>;
|
package/build/endpoint-spec.d.ts
CHANGED
|
@@ -7,11 +7,12 @@ export declare namespace EndpointSpec {
|
|
|
7
7
|
apiKey: Type.TString;
|
|
8
8
|
model: Type.TString;
|
|
9
9
|
name: Type.TString;
|
|
10
|
-
apiType: Type.TUnion<[Type.TLiteral<"openai-chatcompletions">, Type.TLiteral<"openai-responses">, Type.TLiteral<"google">, Type.TLiteral<"anthropic">, Type.TLiteral<"
|
|
10
|
+
apiType: Type.TUnion<[Type.TLiteral<"openai-chatcompletions">, Type.TLiteral<"openai-responses">, Type.TLiteral<"google">, Type.TLiteral<"anthropic">, Type.TLiteral<"openai-compatible">]>;
|
|
11
11
|
inputPrice: Type.TOptional<Type.TNumber>;
|
|
12
12
|
outputPrice: Type.TOptional<Type.TNumber>;
|
|
13
13
|
cachePrice: Type.TOptional<Type.TNumber>;
|
|
14
14
|
parallelToolCall: Type.TOptional<Type.TBoolean>;
|
|
15
|
+
additionalHeaders: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
15
16
|
additionalOptions: Type.TOptional<Type.TRecord<"^.*$", Type.TAny>>;
|
|
16
17
|
rpm: Type.TOptional<Type.TNumber>;
|
|
17
18
|
timeout: Type.TOptional<Type.TNumber>;
|
package/build/endpoint-spec.js
CHANGED
|
@@ -12,12 +12,13 @@ export var EndpointSpec;
|
|
|
12
12
|
Type.Literal('openai-responses'),
|
|
13
13
|
Type.Literal('google'),
|
|
14
14
|
Type.Literal('anthropic'),
|
|
15
|
-
Type.Literal('
|
|
15
|
+
Type.Literal('openai-compatible'),
|
|
16
16
|
]),
|
|
17
17
|
inputPrice: Type.Optional(Type.Number()),
|
|
18
18
|
outputPrice: Type.Optional(Type.Number()),
|
|
19
19
|
cachePrice: Type.Optional(Type.Number()),
|
|
20
20
|
parallelToolCall: Type.Optional(Type.Boolean()),
|
|
21
|
+
additionalHeaders: Type.Optional(Type.Record(Type.String(), Type.String())),
|
|
21
22
|
additionalOptions: Type.Optional(Type.Record(Type.String(), Type.Any())),
|
|
22
23
|
rpm: Type.Optional(Type.Number({ minimum: 1 })),
|
|
23
24
|
timeout: Type.Optional(Type.Number({ minimum: 0 })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint-spec.js","sourceRoot":"","sources":["../src/endpoint-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,SAAS,CAAC;AAI5C,MAAM,KAAW,YAAY,
|
|
1
|
+
{"version":3,"file":"endpoint-spec.js","sourceRoot":"","sources":["../src/endpoint-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,SAAS,CAAC;AAI5C,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,WAAW,CAAC;YACzB,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,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/C,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACtD,CAAC,CAAC;AACP,CAAC,EAvBgB,YAAY,KAAZ,YAAY,QAuB5B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Function } from '../function.ts';
|
|
2
|
+
import { type InferenceContext } from '../inference-context.ts';
|
|
3
|
+
import { Session } from './session.ts';
|
|
4
|
+
import { RoleMessage } from './message.ts';
|
|
5
|
+
export declare class InferenceTimeout extends Error {
|
|
6
|
+
}
|
|
7
|
+
export declare class ConnectionError extends Error {
|
|
8
|
+
}
|
|
9
|
+
export declare class InferenceError extends Error {
|
|
10
|
+
}
|
|
11
|
+
export declare namespace InferenceError {
|
|
12
|
+
class Recoverable<in out fdu extends Function.Decl.Proto> extends InferenceError {
|
|
13
|
+
protected response: RoleMessage.Ai<fdu>;
|
|
14
|
+
protected rejection: RoleMessage.User<fdu>;
|
|
15
|
+
constructor(response: RoleMessage.Ai<fdu>, rejection: RoleMessage.User<fdu>, ...rest: ConstructorParameters<typeof InferenceError>);
|
|
16
|
+
resume(): RoleMessage.Ai<fdu>;
|
|
17
|
+
recover(): RoleMessage.User<fdu>;
|
|
18
|
+
static recover<fdu extends Function.Decl.Proto, aim extends RoleMessage.Ai<fdu>>(wfctx: InferenceContext, session: Session<fdu>, next: () => Promise<aim>): Promise<aim>;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export class InferenceTimeout extends Error {
|
|
2
|
+
}
|
|
3
|
+
export class ConnectionError extends Error {
|
|
4
|
+
}
|
|
5
|
+
export class InferenceError extends Error {
|
|
6
|
+
}
|
|
7
|
+
(function (InferenceError) {
|
|
8
|
+
class Recoverable extends InferenceError {
|
|
9
|
+
response;
|
|
10
|
+
rejection;
|
|
11
|
+
constructor(response, rejection, ...rest) {
|
|
12
|
+
super(...rest);
|
|
13
|
+
this.response = response;
|
|
14
|
+
this.rejection = rejection;
|
|
15
|
+
}
|
|
16
|
+
resume() {
|
|
17
|
+
return this.response;
|
|
18
|
+
}
|
|
19
|
+
recover() {
|
|
20
|
+
return this.rejection;
|
|
21
|
+
}
|
|
22
|
+
static async recover(wfctx, session, next) {
|
|
23
|
+
try {
|
|
24
|
+
return await next();
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
if (e instanceof Recoverable) { }
|
|
28
|
+
else
|
|
29
|
+
throw e;
|
|
30
|
+
const recoverable = e;
|
|
31
|
+
session.chatMessages.push(recoverable.resume(), recoverable.recover());
|
|
32
|
+
throw e;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
InferenceError.Recoverable = Recoverable;
|
|
37
|
+
})(InferenceError || (InferenceError = {}));
|
|
38
|
+
//# sourceMappingURL=exceptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/engine/exceptions.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;CAAG;AAC9C,MAAM,OAAO,eAAgB,SAAQ,KAAK;CAAG;AAE7C,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AAC5C,WAAiB,cAAc;IAC3B,MAAa,WAEX,SAAQ,cAAc;QAEN;QACA;QAFd,YACc,QAA6B,EAC7B,SAAgC,EAC1C,GAAG,IAAkD;YAErD,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAJL,aAAQ,GAAR,QAAQ,CAAqB;YAC7B,cAAS,GAAT,SAAS,CAAuB;QAI9C,CAAC;QACM,MAAM;YACT,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QACM,OAAO;YACV,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;QAEM,MAAM,CAAC,KAAK,CAAC,OAAO,CAIvB,KAAuB,EACvB,OAAqB,EACrB,IAAwB;YAExB,IAAI,CAAC;gBACD,OAAO,MAAM,IAAI,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,CAAqB,CAAC;gBAC1C,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvE,MAAM,CAAC,CAAC;YACZ,CAAC;QACL,CAAC;KACJ;IAlCY,0BAAW,cAkCvB,CAAA;AACL,CAAC,EApCgB,cAAc,KAAd,cAAc,QAoC9B"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { isRepeating } from "../repetition.js";
|
|
2
|
+
import * as Exceptions from "./exceptions.js";
|
|
2
3
|
export class PartsValidator {
|
|
3
4
|
validate(message) {
|
|
4
5
|
if (message.getParts().length) { }
|
|
5
6
|
else
|
|
6
|
-
throw new
|
|
7
|
+
throw new Exceptions.InferenceError('Empty message.');
|
|
7
8
|
if (isRepeating(message.getText()))
|
|
8
|
-
throw new
|
|
9
|
+
throw new Exceptions.InferenceError('Repeating');
|
|
9
10
|
}
|
|
10
11
|
}
|
|
11
12
|
//# sourceMappingURL=parts-validator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parts-validator.js","sourceRoot":"","sources":["../../src/engine/parts-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"parts-validator.js","sourceRoot":"","sources":["../../src/engine/parts-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAG9C,MAAM,OAAO,cAAc;IAIhB,QAAQ,CACX,OAA4B;QAE5B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC7F,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACzF,CAAC;CAEJ"}
|
package/build/engine.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ import { type InferenceContext } from './inference-context.ts';
|
|
|
6
6
|
import * as SessionModule from './engine/session.ts';
|
|
7
7
|
import * as MessageModule from './engine/message.ts';
|
|
8
8
|
import { PartsValidator } from './engine/parts-validator.ts';
|
|
9
|
-
import
|
|
10
|
-
import
|
|
9
|
+
import * as ExceptionsModule from './engine/exceptions.ts';
|
|
10
|
+
import * as MiddlewareModule from './engine/middleware.ts';
|
|
11
11
|
import * as ToolChoiceValidatorModule from './engine/tool-choice-validator.ts';
|
|
12
12
|
import * as TransportModule from './engine/transport.ts';
|
|
13
13
|
import { ToolChoice } from './tool-choice.ts';
|
|
@@ -24,6 +24,7 @@ export interface ProviderSpecs {
|
|
|
24
24
|
}
|
|
25
25
|
export interface InferenceOptions {
|
|
26
26
|
model: string;
|
|
27
|
+
additionalHeaders?: Record<string, string>;
|
|
27
28
|
additionalOptions?: Record<string, unknown>;
|
|
28
29
|
parallelToolCall?: boolean;
|
|
29
30
|
timeout?: number;
|
|
@@ -44,22 +45,22 @@ export declare namespace Engine {
|
|
|
44
45
|
protected abstract transport: Engine.Transport<fdm>;
|
|
45
46
|
constructor(options: Engine.Options<fdm>);
|
|
46
47
|
/**
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
* @throws {@link Exceptions.InferenceTimeout} 推理超时
|
|
49
|
+
* @throws {@link Exceptions.InferenceError} 模型抽风
|
|
50
|
+
* @throws {@link Exceptions.Recoverable} 模型抽风但可恢复
|
|
51
|
+
* @throws {@link Exceptions.ConnectionError} 网络故障
|
|
52
|
+
*/
|
|
52
53
|
protected infer(wfctx: InferenceContext, session: Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
53
54
|
/**
|
|
54
|
-
* @throws {@link InferenceTimeout} 推理超时
|
|
55
|
-
* @throws {@link
|
|
56
|
-
* @throws {@link
|
|
55
|
+
* @throws {@link Exceptions.InferenceTimeout} 推理超时
|
|
56
|
+
* @throws {@link Exceptions.InferenceError} 模型抽风
|
|
57
|
+
* @throws {@link Exceptions.ConnectionError} 网络故障
|
|
57
58
|
*/
|
|
58
59
|
stateless(wfctx: InferenceContext, session: Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
59
60
|
/**
|
|
60
|
-
* @throws {@link InferenceTimeout} 推理超时
|
|
61
|
-
* @throws {@link
|
|
62
|
-
* @throws {@link
|
|
61
|
+
* @throws {@link Exceptions.InferenceTimeout} 推理超时
|
|
62
|
+
* @throws {@link Exceptions.InferenceError} 模型抽风
|
|
63
|
+
* @throws {@link Exceptions.ConnectionError} 网络故障
|
|
63
64
|
* @param session mutable
|
|
64
65
|
*/
|
|
65
66
|
stateful(wfctx: InferenceContext, session: Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
@@ -91,10 +92,9 @@ export declare namespace Engine {
|
|
|
91
92
|
export import ToolChoiceValidator = ToolChoiceValidatorModule.ToolChoiceValidator;
|
|
92
93
|
export import Session = SessionModule.Session;
|
|
93
94
|
export import RoleMessage = MessageModule.RoleMessage;
|
|
95
|
+
export import Exceptions = ExceptionsModule;
|
|
96
|
+
export import Middleware = MiddlewareModule.Middleware;
|
|
94
97
|
}
|
|
95
|
-
export declare class InferenceTimeout extends Error {
|
|
96
|
-
}
|
|
97
|
-
export { Recoverable, Middleware };
|
|
98
98
|
declare global {
|
|
99
99
|
export namespace NodeJS {
|
|
100
100
|
interface ProcessEnv {
|
package/build/engine.js
CHANGED
|
@@ -4,7 +4,7 @@ import { env } from 'node:process';
|
|
|
4
4
|
import { loggers } from "./telemetry.js";
|
|
5
5
|
import * as MessageModule from "./engine/message.js";
|
|
6
6
|
import { PartsValidator } from "./engine/parts-validator.js";
|
|
7
|
-
import
|
|
7
|
+
import * as ExceptionsModule from "./engine/exceptions.js";
|
|
8
8
|
import * as ToolChoiceValidatorModule from "./engine/tool-choice-validator.js";
|
|
9
9
|
import { ToolChoice } from "./tool-choice.js";
|
|
10
10
|
import { Media } from "./media.js";
|
|
@@ -42,6 +42,7 @@ export var Engine;
|
|
|
42
42
|
this.name = options.endpointSpec.name;
|
|
43
43
|
this.inferenceOptions = {
|
|
44
44
|
model: options.endpointSpec.model,
|
|
45
|
+
additionalHeaders: options.endpointSpec.additionalHeaders,
|
|
45
46
|
additionalOptions: options.endpointSpec.additionalOptions,
|
|
46
47
|
timeout: options.endpointSpec.timeout,
|
|
47
48
|
parallelToolCall: options.endpointSpec.parallelToolCall,
|
|
@@ -59,11 +60,11 @@ export var Engine;
|
|
|
59
60
|
this.toolChoiceValidator = new Engine.ToolChoiceValidator({ toolChoice: this.toolChoice });
|
|
60
61
|
}
|
|
61
62
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
* @throws {@link Exceptions.InferenceTimeout} 推理超时
|
|
64
|
+
* @throws {@link Exceptions.InferenceError} 模型抽风
|
|
65
|
+
* @throws {@link Exceptions.Recoverable} 模型抽风但可恢复
|
|
66
|
+
* @throws {@link Exceptions.ConnectionError} 网络故障
|
|
67
|
+
*/
|
|
67
68
|
async infer(wfctx, session) {
|
|
68
69
|
const signalTimeout = this.inferenceOptions.timeout ? AbortSignal.timeout(this.inferenceOptions.timeout) : null;
|
|
69
70
|
const signals = [];
|
|
@@ -77,12 +78,12 @@ export var Engine;
|
|
|
77
78
|
this.partsValidator.validate(aiMessage);
|
|
78
79
|
const rejection = this.toolChoiceValidator.validate(aiMessage);
|
|
79
80
|
if (rejection)
|
|
80
|
-
throw new Recoverable(aiMessage, rejection);
|
|
81
|
+
throw new Engine.Exceptions.InferenceError.Recoverable(aiMessage, rejection);
|
|
81
82
|
return aiMessage;
|
|
82
83
|
}
|
|
83
84
|
catch (e) {
|
|
84
85
|
if (signalTimeout?.aborted)
|
|
85
|
-
throw new InferenceTimeout(undefined, { cause: e });
|
|
86
|
+
throw new Engine.Exceptions.InferenceTimeout(undefined, { cause: e });
|
|
86
87
|
else if (wfctx.signal?.aborted)
|
|
87
88
|
throw wfctx.signal.reason;
|
|
88
89
|
else
|
|
@@ -90,9 +91,9 @@ export var Engine;
|
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
/**
|
|
93
|
-
* @throws {@link InferenceTimeout} 推理超时
|
|
94
|
-
* @throws {@link
|
|
95
|
-
* @throws {@link
|
|
94
|
+
* @throws {@link Exceptions.InferenceTimeout} 推理超时
|
|
95
|
+
* @throws {@link Exceptions.InferenceError} 模型抽风
|
|
96
|
+
* @throws {@link Exceptions.ConnectionError} 网络故障
|
|
96
97
|
*/
|
|
97
98
|
async stateless(wfctx, session) {
|
|
98
99
|
const middleware = this.compose(this.middlewaresStateless);
|
|
@@ -101,21 +102,21 @@ export var Engine;
|
|
|
101
102
|
return await middleware(wfctx, session, () => this.infer(wfctx, session));
|
|
102
103
|
}
|
|
103
104
|
catch (e) {
|
|
104
|
-
if (e instanceof InferenceTimeout) {
|
|
105
|
+
if (e instanceof Engine.Exceptions.InferenceTimeout) {
|
|
105
106
|
if (retryInference < this.inferenceOptions.retry) { }
|
|
106
107
|
else
|
|
107
108
|
throw e;
|
|
108
109
|
loggers.message.warn(e);
|
|
109
110
|
retryInference++;
|
|
110
111
|
}
|
|
111
|
-
else if (e instanceof
|
|
112
|
+
else if (e instanceof Engine.Exceptions.InferenceError) {
|
|
112
113
|
if (retryInference < this.inferenceOptions.retry) { }
|
|
113
114
|
else
|
|
114
115
|
throw e;
|
|
115
116
|
loggers.message.warn(e);
|
|
116
117
|
retryInference++;
|
|
117
118
|
}
|
|
118
|
-
else if (e instanceof
|
|
119
|
+
else if (e instanceof Engine.Exceptions.ConnectionError) {
|
|
119
120
|
if (retryProvider < this.providerSpecs.retry) { }
|
|
120
121
|
else
|
|
121
122
|
throw e;
|
|
@@ -127,9 +128,9 @@ export var Engine;
|
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
130
|
/**
|
|
130
|
-
* @throws {@link InferenceTimeout} 推理超时
|
|
131
|
-
* @throws {@link
|
|
132
|
-
* @throws {@link
|
|
131
|
+
* @throws {@link Exceptions.InferenceTimeout} 推理超时
|
|
132
|
+
* @throws {@link Exceptions.InferenceError} 模型抽风
|
|
133
|
+
* @throws {@link Exceptions.ConnectionError} 网络故障
|
|
133
134
|
* @param session mutable
|
|
134
135
|
*/
|
|
135
136
|
async stateful(wfctx, session) {
|
|
@@ -144,21 +145,21 @@ export var Engine;
|
|
|
144
145
|
return await middleware(wfctx, session, next);
|
|
145
146
|
}
|
|
146
147
|
catch (e) {
|
|
147
|
-
if (e instanceof InferenceTimeout) {
|
|
148
|
+
if (e instanceof Engine.Exceptions.InferenceTimeout) {
|
|
148
149
|
if (retryInference < this.inferenceOptions.retry) { }
|
|
149
150
|
else
|
|
150
151
|
throw e;
|
|
151
152
|
loggers.message.warn(e);
|
|
152
153
|
retryInference++;
|
|
153
154
|
}
|
|
154
|
-
else if (e instanceof
|
|
155
|
+
else if (e instanceof Engine.Exceptions.InferenceError) {
|
|
155
156
|
if (retryInference < this.inferenceOptions.retry) { }
|
|
156
157
|
else
|
|
157
158
|
throw e;
|
|
158
159
|
loggers.message.warn(e);
|
|
159
160
|
retryInference++;
|
|
160
161
|
}
|
|
161
|
-
else if (e instanceof
|
|
162
|
+
else if (e instanceof Engine.Exceptions.ConnectionError) {
|
|
162
163
|
if (retryProvider < this.providerSpecs.retry) { }
|
|
163
164
|
else
|
|
164
165
|
throw e;
|
|
@@ -263,8 +264,6 @@ export var Engine;
|
|
|
263
264
|
Engine.FunctionCallLimitExceeded = FunctionCallLimitExceeded;
|
|
264
265
|
Engine.ToolChoiceValidator = ToolChoiceValidatorModule.ToolChoiceValidator;
|
|
265
266
|
Engine.RoleMessage = MessageModule.RoleMessage;
|
|
267
|
+
Engine.Exceptions = ExceptionsModule;
|
|
266
268
|
})(Engine || (Engine = {}));
|
|
267
|
-
export class InferenceTimeout extends Error {
|
|
268
|
-
}
|
|
269
|
-
export { Recoverable };
|
|
270
269
|
//# 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,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAc,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Function } from "../../function.js";
|
|
2
2
|
import { Parse, ParseError } from 'typebox/schema';
|
|
3
|
+
import { Engine } from "../../engine.js";
|
|
3
4
|
export class ToolCodec {
|
|
4
5
|
fdm;
|
|
5
6
|
apiFds;
|
|
@@ -15,13 +16,13 @@ export class ToolCodec {
|
|
|
15
16
|
const fditem = this.fdm[apifc.name];
|
|
16
17
|
if (fditem) { }
|
|
17
18
|
else
|
|
18
|
-
throw new
|
|
19
|
+
throw new Engine.Exceptions.InferenceError('Unknown function call', { cause: apifc });
|
|
19
20
|
try {
|
|
20
21
|
Parse(fditem.parameters, apifc.input);
|
|
21
22
|
}
|
|
22
23
|
catch (e) {
|
|
23
24
|
if (e instanceof ParseError)
|
|
24
|
-
throw new
|
|
25
|
+
throw new Engine.Exceptions.InferenceError('Invalid arguments of function call.', { cause: e });
|
|
25
26
|
else
|
|
26
27
|
throw e;
|
|
27
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/engines/anthropic/tool-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/engines/anthropic/tool-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,OAAO,SAAS;IACR,GAAG,CAAM;IACT,MAAM,CAAmB;IACnC,YAAmB,OAA+B;QAC9C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAoC,CAAC;QAC9E,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9F,CAAC;IAEM,kBAAkB,CACrB,EAA2B;QAE3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACxE,CAAC;IAEM,kBAAkB,CACrB,KAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,UAAU;gBACvB,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;;gBAC/F,MAAM,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,KAAK;SACe,CAAC,CAAC;IAC1C,CAAC;IAEM,sBAAsB,CACzB,EAA+B;QAE/B,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QACrC,IAAI,EAAE,YAAY,QAAQ,CAAC,QAAQ,CAAC,UAAU;YAC1C,OAAO;gBACH,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE,CAAC,EAAE;gBAClB,OAAO,EAAE,EAAE,CAAC,IAAI;aACnB,CAAC;aACD,IAAI,EAAE,YAAY,QAAQ,CAAC,QAAQ,CAAC,MAAM;YAC3C,OAAO;gBACH,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE,CAAC,EAAE;gBAClB,OAAO,EAAE,EAAE,CAAC,KAAK;aACpB,CAAC;;YACD,MAAM,IAAI,KAAK,EAAE,CAAC;IAC3B,CAAC;IAES,MAAM,CAAC,8BAA8B,CAC3C,OAAoC;QAEpC,OAAO;YACH,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAChB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW;YACnC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,UAAmD;SAC/E,CAAC;IACN,CAAC;IAEM,4BAA4B;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACJ"}
|