@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.
Files changed (85) hide show
  1. package/build/adaptor.js +7 -7
  2. package/build/adaptor.js.map +1 -1
  3. package/build/config.d.ts +2 -1
  4. package/build/endpoint-spec.d.ts +2 -1
  5. package/build/endpoint-spec.js +2 -1
  6. package/build/endpoint-spec.js.map +1 -1
  7. package/build/engine/exceptions.d.ts +20 -0
  8. package/build/engine/exceptions.js +38 -0
  9. package/build/engine/exceptions.js.map +1 -0
  10. package/build/engine/parts-validator.js +3 -2
  11. package/build/engine/parts-validator.js.map +1 -1
  12. package/build/engine.d.ts +16 -16
  13. package/build/engine.js +22 -23
  14. package/build/engine.js.map +1 -1
  15. package/build/engines/anthropic/tool-codec.js +3 -2
  16. package/build/engines/anthropic/tool-codec.js.map +1 -1
  17. package/build/engines/anthropic/transport.js +85 -76
  18. package/build/engines/anthropic/transport.js.map +1 -1
  19. package/build/engines/anthropic.d.ts +3 -5
  20. package/build/engines/anthropic.js +3 -2
  21. package/build/engines/anthropic.js.map +1 -1
  22. package/build/engines/google/message-codec.js +2 -2
  23. package/build/engines/google/message-codec.js.map +1 -1
  24. package/build/engines/google/tool-codec.js +3 -2
  25. package/build/engines/google/tool-codec.js.map +1 -1
  26. package/build/engines/google/transport.js +9 -6
  27. package/build/engines/google/transport.js.map +1 -1
  28. package/build/engines/google.d.ts +6 -5
  29. package/build/engines/google.js +17 -5
  30. package/build/engines/google.js.map +1 -1
  31. package/build/engines/openai-chatcompletions/message-codec.d.ts +2 -1
  32. package/build/engines/openai-chatcompletions/message-codec.js +5 -2
  33. package/build/engines/openai-chatcompletions/message-codec.js.map +1 -1
  34. package/build/engines/openai-chatcompletions/message.d.ts +19 -0
  35. package/build/engines/openai-chatcompletions/message.js.map +1 -0
  36. package/build/engines/openai-chatcompletions/tool-codec.js +4 -3
  37. package/build/engines/openai-chatcompletions/tool-codec.js.map +1 -1
  38. package/build/engines/openai-chatcompletions/transport.js +37 -38
  39. package/build/engines/openai-chatcompletions/transport.js.map +1 -1
  40. package/build/engines/openai-chatcompletions.d.ts +7 -6
  41. package/build/engines/openai-chatcompletions.js +9 -4
  42. package/build/engines/openai-chatcompletions.js.map +1 -1
  43. package/build/engines/{dashscope → openai-compatible}/message-codec.js +1 -1
  44. package/build/engines/openai-compatible/message-codec.js.map +1 -0
  45. package/build/engines/openai-compatible/message.js +20 -0
  46. package/build/engines/openai-compatible/message.js.map +1 -0
  47. package/build/engines/openai-compatible/tool-choice-codec.js.map +1 -0
  48. package/build/engines/{dashscope → openai-compatible}/transport.js +22 -16
  49. package/build/engines/openai-compatible/transport.js.map +1 -0
  50. package/build/engines/openai-compatible.d.ts +22 -0
  51. package/build/engines/openai-compatible.js +50 -0
  52. package/build/engines/openai-compatible.js.map +1 -0
  53. package/build/engines/openai-responses/message-codec.js +1 -1
  54. package/build/engines/openai-responses/message-codec.js.map +1 -1
  55. package/build/engines/openai-responses/tool-choice-validator.js +4 -4
  56. package/build/engines/openai-responses/tool-choice-validator.js.map +1 -1
  57. package/build/engines/openai-responses/tool-codec.js +4 -3
  58. package/build/engines/openai-responses/tool-codec.js.map +1 -1
  59. package/build/engines/openai-responses/transport.d.ts +1 -2
  60. package/build/engines/openai-responses/transport.js +22 -13
  61. package/build/engines/openai-responses/transport.js.map +1 -1
  62. package/build/engines/openai-responses.d.ts +5 -10
  63. package/build/engines/openai-responses.js +16 -18
  64. package/build/engines/openai-responses.js.map +1 -1
  65. package/build/exports.d.ts +1 -1
  66. package/build/exports.js +1 -1
  67. package/build/exports.js.map +1 -1
  68. package/build/tsconfig.tsbuildinfo +1 -1
  69. package/package.json +4 -4
  70. package/build/engine/recoverable.d.ts +0 -12
  71. package/build/engine/recoverable.js +0 -29
  72. package/build/engine/recoverable.js.map +0 -1
  73. package/build/engines/dashscope/message-codec.js.map +0 -1
  74. package/build/engines/dashscope/message.js.map +0 -1
  75. package/build/engines/dashscope/tool-choice-codec.js.map +0 -1
  76. package/build/engines/dashscope/transport.js.map +0 -1
  77. package/build/engines/dashscope.d.ts +0 -36
  78. package/build/engines/dashscope.js +0 -78
  79. package/build/engines/dashscope.js.map +0 -1
  80. /package/build/engines/{dashscope → openai-chatcompletions}/message.js +0 -0
  81. /package/build/engines/{dashscope → openai-compatible}/message-codec.d.ts +0 -0
  82. /package/build/engines/{dashscope → openai-compatible}/message.d.ts +0 -0
  83. /package/build/engines/{dashscope → openai-compatible}/tool-choice-codec.d.ts +0 -0
  84. /package/build/engines/{dashscope → openai-compatible}/tool-choice-codec.js +0 -0
  85. /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 { DashScopeEngine } from "./engines/dashscope.js";
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.create(options);
35
+ return OpenAIResponsesEngine.createEngine(options);
36
36
  else if (endpointSpec.apiType === 'google')
37
- return GoogleEngine.create(options);
37
+ return GoogleEngine.createEngine(options);
38
38
  else if (endpointSpec.apiType === 'anthropic')
39
- return AnthropicEngine.create(options);
39
+ return AnthropicEngine.createEngine(options);
40
40
  else if (endpointSpec.apiType === 'openai-chatcompletions')
41
- return OpenAIChatCompletionsEngine.create(options);
42
- else if (endpointSpec.apiType === 'dashscope')
43
- return DashScopeEngine.create(options);
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adaptor.js","sourceRoot":"","sources":["../src/adaptor.ts"],"names":[],"mappings":"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"}
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<"dashscope">]>;
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>;
@@ -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<"dashscope">]>;
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>;
@@ -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('dashscope'),
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,CAsB5B;AAtBD,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,WAAW,CAAC;SAC5B,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,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,EAtBgB,YAAY,KAAZ,YAAY,QAsB5B"}
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 SyntaxError('Empty message.');
7
+ throw new Exceptions.InferenceError('Empty message.');
7
8
  if (isRepeating(message.getText()))
8
- throw new SyntaxError('Repeating');
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;AAI/C,MAAM,OAAO,cAAc;IAIhB,QAAQ,CACX,OAA4B;QAE5B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAC/E,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IAC3E,CAAC;CAEJ"}
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 { Recoverable } from './engine/recoverable.ts';
10
- import { Middleware } from './engine/middleware.ts';
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
- * @throws {@link InferenceTimeout} 推理超时
48
- * @throws {@link SyntaxError} 模型抽风
49
- * @throws {@link Recoverable} 模型抽风但可恢复
50
- * @throws {@link TypeError} 网络故障
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 SyntaxError} 模型抽风
56
- * @throws {@link TypeError} 网络故障
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 SyntaxError} 模型抽风
62
- * @throws {@link TypeError} 网络故障
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 { Recoverable } from "./engine/recoverable.js";
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
- * @throws {@link InferenceTimeout} 推理超时
63
- * @throws {@link SyntaxError} 模型抽风
64
- * @throws {@link Recoverable} 模型抽风但可恢复
65
- * @throws {@link TypeError} 网络故障
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 SyntaxError} 模型抽风
95
- * @throws {@link TypeError} 网络故障
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 SyntaxError) { // 模型抽风
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 TypeError) { // 网络故障
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 SyntaxError} 模型抽风
132
- * @throws {@link TypeError} 网络故障
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 SyntaxError) { // 模型抽风
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 TypeError) { // 网络故障
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
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
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 SyntaxError('Unknown function call', { cause: apifc });
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 SyntaxError('Invalid arguments of function call.', { cause: e });
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;AAGnD,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,WAAW,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrF,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,WAAW,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;;gBAC1E,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"}
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"}