@trymirai/uzu 0.1.49 → 0.1.51

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 (70) hide show
  1. package/README.md +41 -1
  2. package/bridging/grammarConfig.d.mts +13 -0
  3. package/bridging/grammarConfig.d.mts.map +1 -0
  4. package/bridging/grammarConfig.d.ts +13 -0
  5. package/bridging/grammarConfig.d.ts.map +1 -0
  6. package/bridging/grammarConfig.js +36 -0
  7. package/bridging/grammarConfig.js.map +1 -0
  8. package/bridging/grammarConfig.mjs +31 -0
  9. package/bridging/grammarConfig.mjs.map +1 -0
  10. package/bridging/parsedText.d.mts +2 -0
  11. package/bridging/parsedText.d.mts.map +1 -1
  12. package/bridging/parsedText.d.ts +2 -0
  13. package/bridging/parsedText.d.ts.map +1 -1
  14. package/bridging/parsedText.js +8 -0
  15. package/bridging/parsedText.js.map +1 -1
  16. package/bridging/parsedText.mjs +8 -0
  17. package/bridging/parsedText.mjs.map +1 -1
  18. package/bridging/runConfig.d.mts +3 -0
  19. package/bridging/runConfig.d.mts.map +1 -1
  20. package/bridging/runConfig.d.ts +3 -0
  21. package/bridging/runConfig.d.ts.map +1 -1
  22. package/bridging/runConfig.js +14 -6
  23. package/bridging/runConfig.js.map +1 -1
  24. package/bridging/runConfig.mjs +14 -6
  25. package/bridging/runConfig.mjs.map +1 -1
  26. package/bridging/samplingMethod.d.mts +1 -1
  27. package/bridging/samplingMethod.d.mts.map +1 -1
  28. package/bridging/samplingMethod.d.ts +1 -1
  29. package/bridging/samplingMethod.d.ts.map +1 -1
  30. package/bridging/samplingMethod.js +4 -1
  31. package/bridging/samplingMethod.js.map +1 -1
  32. package/bridging/samplingMethod.mjs +4 -1
  33. package/bridging/samplingMethod.mjs.map +1 -1
  34. package/index.d.mts +1 -0
  35. package/index.d.mts.map +1 -1
  36. package/index.d.ts +1 -0
  37. package/index.d.ts.map +1 -1
  38. package/index.js +3 -1
  39. package/index.js.map +1 -1
  40. package/index.mjs +1 -0
  41. package/index.mjs.map +1 -1
  42. package/interactors/chatSessionInteractor.d.mts +2 -0
  43. package/interactors/chatSessionInteractor.d.mts.map +1 -1
  44. package/interactors/chatSessionInteractor.d.ts +2 -0
  45. package/interactors/chatSessionInteractor.d.ts.map +1 -1
  46. package/interactors/chatSessionInteractor.js +4 -0
  47. package/interactors/chatSessionInteractor.js.map +1 -1
  48. package/interactors/chatSessionInteractor.mjs +4 -0
  49. package/interactors/chatSessionInteractor.mjs.map +1 -1
  50. package/internal/tslib.js +55 -0
  51. package/napi/uzu.d.ts +11 -5
  52. package/napi/uzu.js +2 -0
  53. package/napi/uzu.mjs +1 -0
  54. package/napi/uzu.node +0 -0
  55. package/package.json +4 -1
  56. package/src/bridging/grammarConfig.ts +40 -0
  57. package/src/bridging/parsedText.ts +10 -0
  58. package/src/bridging/runConfig.ts +22 -6
  59. package/src/bridging/samplingMethod.ts +9 -1
  60. package/src/index.ts +1 -0
  61. package/src/interactors/chatSessionInteractor.ts +6 -0
  62. package/src/napi/uzu.d.ts +11 -5
  63. package/src/napi/uzu.js +2 -0
  64. package/src/napi/uzu.mjs +1 -0
  65. package/src/napi/uzu.node +0 -0
  66. package/src/version.ts +1 -1
  67. package/version.d.mts +1 -1
  68. package/version.d.ts +1 -1
  69. package/version.js +1 -1
  70. package/version.mjs +1 -1
package/README.md CHANGED
@@ -26,7 +26,7 @@ Add the `uzu` dependency to your project's `package.json`:
26
26
 
27
27
  ```json
28
28
  "dependencies": {
29
- "@trymirai/uzu": "0.1.49"
29
+ "@trymirai/uzu": "0.1.51"
30
30
  }
31
31
  ```
32
32
 
@@ -52,6 +52,7 @@ pnpm run tsn examples/chatStaticContext.ts
52
52
  pnpm run tsn examples/summarization.ts
53
53
  pnpm run tsn examples/classification.ts
54
54
  pnpm run tsn examples/cloud.ts
55
+ pnpm run tsn examples/structutedOutput.ts
55
56
  ```
56
57
 
57
58
  ### Chat
@@ -285,6 +286,45 @@ main().catch((error) => {
285
286
  });
286
287
  ```
287
288
 
289
+ ### Structured Output
290
+
291
+ Sometimes you want the generated output to be valid JSON with predefined fields. You can use `GrammarConfig` to manually specify a JSON schema, or define the schema using [Zod](https://github.com/colinhacks/zod).
292
+
293
+ ```ts
294
+ import Engine, { GrammarConfig } from '@trymirai/uzu';
295
+ import * as z from "zod";
296
+
297
+ const CountryType = z.object({
298
+ name: z.string(),
299
+ capital: z.string(),
300
+ });
301
+ const CountryListType = z.array(CountryType);
302
+
303
+ async function main() {
304
+ const output = await Engine.create('API_KEY')
305
+ .chatModel('Qwen/Qwen3-0.6B')
306
+ .download((update) => {
307
+ console.log('Progress:', update.progress);
308
+ })
309
+ .session()
310
+ .enableThinking(false)
311
+ .grammarConfig(GrammarConfig.fromType(CountryListType))
312
+ .reply(
313
+ "Give me a JSON object containing a list of 3 countries, where each country has name and capital fields",
314
+ (partialOutput) => {
315
+ return true;
316
+ },
317
+ );
318
+
319
+ const countries = output.text.parsed.structuredResponse(CountryListType);
320
+ console.log(countries);
321
+ }
322
+
323
+ main().catch((error) => {
324
+ console.error(error);
325
+ });
326
+ ```
327
+
288
328
  ## Troubleshooting
289
329
 
290
330
  If you experience any problems, please contact us via [Discord](https://discord.com/invite/trymirai) or [email](mailto:contact@getmirai.co).
@@ -0,0 +1,13 @@
1
+ import * as z from 'zod';
2
+ import { GrammarConfig as NapiGrammarConfig } from "../napi/uzu.mjs";
3
+ import { ToNapi } from "./napi.mjs";
4
+ export declare class GrammarConfig implements ToNapi<NapiGrammarConfig> {
5
+ private readonly napiGrammarConfig;
6
+ private constructor();
7
+ static jsonSchema(schema: string): GrammarConfig;
8
+ static regex(pattern: string): GrammarConfig;
9
+ static builtinJson(): GrammarConfig;
10
+ static fromType(type: z.ZodType): GrammarConfig;
11
+ toNapi(): NapiGrammarConfig;
12
+ }
13
+ //# sourceMappingURL=grammarConfig.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammarConfig.d.mts","sourceRoot":"","sources":["../src/bridging/grammarConfig.ts"],"names":[],"mappings":"OAAO,KAAK,CAAC,MAAM,KAAK;OACjB,EAAE,aAAa,IAAI,iBAAiB,EAAE;OACtC,EAAE,MAAM,EAAE;AAEjB,qBAAa,aAAc,YAAW,MAAM,CAAC,iBAAiB,CAAC;IAC3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAShD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAK5C,MAAM,CAAC,WAAW,IAAI,aAAa;IAKnC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,GAAG,aAAa;IAM/C,MAAM,IAAI,iBAAiB;CAG9B"}
@@ -0,0 +1,13 @@
1
+ import * as z from 'zod';
2
+ import { GrammarConfig as NapiGrammarConfig } from "../napi/uzu.js";
3
+ import { ToNapi } from "./napi.js";
4
+ export declare class GrammarConfig implements ToNapi<NapiGrammarConfig> {
5
+ private readonly napiGrammarConfig;
6
+ private constructor();
7
+ static jsonSchema(schema: string): GrammarConfig;
8
+ static regex(pattern: string): GrammarConfig;
9
+ static builtinJson(): GrammarConfig;
10
+ static fromType(type: z.ZodType): GrammarConfig;
11
+ toNapi(): NapiGrammarConfig;
12
+ }
13
+ //# sourceMappingURL=grammarConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammarConfig.d.ts","sourceRoot":"","sources":["../src/bridging/grammarConfig.ts"],"names":[],"mappings":"OAAO,KAAK,CAAC,MAAM,KAAK;OACjB,EAAE,aAAa,IAAI,iBAAiB,EAAE;OACtC,EAAE,MAAM,EAAE;AAEjB,qBAAa,aAAc,YAAW,MAAM,CAAC,iBAAiB,CAAC;IAC3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAShD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAK5C,MAAM,CAAC,WAAW,IAAI,aAAa;IAKnC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,GAAG,aAAa;IAM/C,MAAM,IAAI,iBAAiB;CAG9B"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GrammarConfig = void 0;
4
+ const tslib_1 = require("../internal/tslib.js");
5
+ const z = tslib_1.__importStar(require("zod"));
6
+ class GrammarConfig {
7
+ constructor(napiGrammarConfig) {
8
+ this.napiGrammarConfig = napiGrammarConfig;
9
+ }
10
+ static jsonSchema(schema) {
11
+ let a = z.object({
12
+ name: z.string(),
13
+ age: z.number(),
14
+ });
15
+ const napiGrammarConfig = { type: 'JsonSchema', schema: schema };
16
+ return new GrammarConfig(napiGrammarConfig);
17
+ }
18
+ static regex(pattern) {
19
+ const napiGrammarConfig = { type: 'Regex', pattern: pattern };
20
+ return new GrammarConfig(napiGrammarConfig);
21
+ }
22
+ static builtinJson() {
23
+ const napiGrammarConfig = { type: 'BuiltinJson' };
24
+ return new GrammarConfig(napiGrammarConfig);
25
+ }
26
+ static fromType(type) {
27
+ let schema = z.toJSONSchema(type);
28
+ let schemaString = JSON.stringify(schema);
29
+ return GrammarConfig.jsonSchema(schemaString);
30
+ }
31
+ toNapi() {
32
+ return this.napiGrammarConfig;
33
+ }
34
+ }
35
+ exports.GrammarConfig = GrammarConfig;
36
+ //# sourceMappingURL=grammarConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammarConfig.js","sourceRoot":"","sources":["../src/bridging/grammarConfig.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AAIzB,MAAa,aAAa;IAGtB,YAAoB,iBAAoC;QACpD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAc;QAC5B,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAsB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACpF,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe;QACxB,MAAM,iBAAiB,GAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACjF,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QACd,MAAM,iBAAiB,GAAsB,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACrE,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAe;QAC3B,IAAI,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;CACJ;AAnCD,sCAmCC"}
@@ -0,0 +1,31 @@
1
+ import * as z from 'zod';
2
+ export class GrammarConfig {
3
+ constructor(napiGrammarConfig) {
4
+ this.napiGrammarConfig = napiGrammarConfig;
5
+ }
6
+ static jsonSchema(schema) {
7
+ let a = z.object({
8
+ name: z.string(),
9
+ age: z.number(),
10
+ });
11
+ const napiGrammarConfig = { type: 'JsonSchema', schema: schema };
12
+ return new GrammarConfig(napiGrammarConfig);
13
+ }
14
+ static regex(pattern) {
15
+ const napiGrammarConfig = { type: 'Regex', pattern: pattern };
16
+ return new GrammarConfig(napiGrammarConfig);
17
+ }
18
+ static builtinJson() {
19
+ const napiGrammarConfig = { type: 'BuiltinJson' };
20
+ return new GrammarConfig(napiGrammarConfig);
21
+ }
22
+ static fromType(type) {
23
+ let schema = z.toJSONSchema(type);
24
+ let schemaString = JSON.stringify(schema);
25
+ return GrammarConfig.jsonSchema(schemaString);
26
+ }
27
+ toNapi() {
28
+ return this.napiGrammarConfig;
29
+ }
30
+ }
31
+ //# sourceMappingURL=grammarConfig.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammarConfig.mjs","sourceRoot":"","sources":["../src/bridging/grammarConfig.ts"],"names":[],"mappings":"OAAO,KAAK,CAAC,MAAM,KAAK;AAIxB,MAAM,OAAO,aAAa;IAGtB,YAAoB,iBAAoC;QACpD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAc;QAC5B,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAsB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACpF,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe;QACxB,MAAM,iBAAiB,GAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACjF,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QACd,MAAM,iBAAiB,GAAsB,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACrE,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAe;QAC3B,IAAI,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;CACJ"}
@@ -1,8 +1,10 @@
1
+ import * as z from 'zod';
1
2
  import { ParsedText as NapiParsedText } from "../napi/uzu.mjs";
2
3
  export declare class ParsedText {
3
4
  readonly chainOfThought: string | null;
4
5
  readonly response: string | null;
5
6
  private constructor();
6
7
  static fromNapi(napiEntity: NapiParsedText): ParsedText;
8
+ structuredResponse<T extends z.ZodType>(type: T): z.infer<T> | null;
7
9
  }
8
10
  //# sourceMappingURL=parsedText.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsedText.d.mts","sourceRoot":"","sources":["../src/bridging/parsedText.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,IAAI,cAAc,EAAE;AAEvC,qBAAa,UAAU;IACnB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,OAAO;IAKP,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,UAAU;CAK1D"}
1
+ {"version":3,"file":"parsedText.d.mts","sourceRoot":"","sources":["../src/bridging/parsedText.ts"],"names":[],"mappings":"OAAO,KAAK,CAAC,MAAM,KAAK;OACjB,EAAE,UAAU,IAAI,cAAc,EAAE;AAEvC,qBAAa,UAAU;IACnB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,OAAO;IAKP,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,UAAU;IAMvD,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;CAQtE"}
@@ -1,8 +1,10 @@
1
+ import * as z from 'zod';
1
2
  import { ParsedText as NapiParsedText } from "../napi/uzu.js";
2
3
  export declare class ParsedText {
3
4
  readonly chainOfThought: string | null;
4
5
  readonly response: string | null;
5
6
  private constructor();
6
7
  static fromNapi(napiEntity: NapiParsedText): ParsedText;
8
+ structuredResponse<T extends z.ZodType>(type: T): z.infer<T> | null;
7
9
  }
8
10
  //# sourceMappingURL=parsedText.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsedText.d.ts","sourceRoot":"","sources":["../src/bridging/parsedText.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,IAAI,cAAc,EAAE;AAEvC,qBAAa,UAAU;IACnB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,OAAO;IAKP,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,UAAU;CAK1D"}
1
+ {"version":3,"file":"parsedText.d.ts","sourceRoot":"","sources":["../src/bridging/parsedText.ts"],"names":[],"mappings":"OAAO,KAAK,CAAC,MAAM,KAAK;OACjB,EAAE,UAAU,IAAI,cAAc,EAAE;AAEvC,qBAAa,UAAU;IACnB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,OAAO;IAKP,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,UAAU;IAMvD,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;CAQtE"}
@@ -11,6 +11,14 @@ class ParsedText {
11
11
  const response = napiEntity.response ?? null;
12
12
  return new ParsedText(chainOfThought, response);
13
13
  }
14
+ structuredResponse(type) {
15
+ if (this.response === null) {
16
+ return null;
17
+ }
18
+ const data = JSON.parse(this.response);
19
+ const result = type.parse(data);
20
+ return result;
21
+ }
14
22
  }
15
23
  exports.ParsedText = ParsedText;
16
24
  //# sourceMappingURL=parsedText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsedText.js","sourceRoot":"","sources":["../src/bridging/parsedText.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAInB,YAAoB,cAA6B,EAAE,QAAuB;QACtE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,UAA0B;QACtC,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC7C,OAAO,IAAI,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;CACJ;AAdD,gCAcC"}
1
+ {"version":3,"file":"parsedText.js","sourceRoot":"","sources":["../src/bridging/parsedText.ts"],"names":[],"mappings":";;;AAGA,MAAa,UAAU;IAInB,YAAoB,cAA6B,EAAE,QAAuB;QACtE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,UAA0B;QACtC,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC7C,OAAO,IAAI,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,kBAAkB,CAAsB,IAAO;QAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAvBD,gCAuBC"}
@@ -8,5 +8,13 @@ export class ParsedText {
8
8
  const response = napiEntity.response ?? null;
9
9
  return new ParsedText(chainOfThought, response);
10
10
  }
11
+ structuredResponse(type) {
12
+ if (this.response === null) {
13
+ return null;
14
+ }
15
+ const data = JSON.parse(this.response);
16
+ const result = type.parse(data);
17
+ return result;
18
+ }
11
19
  }
12
20
  //# sourceMappingURL=parsedText.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsedText.mjs","sourceRoot":"","sources":["../src/bridging/parsedText.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAU;IAInB,YAAoB,cAA6B,EAAE,QAAuB;QACtE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,UAA0B;QACtC,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC7C,OAAO,IAAI,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;CACJ"}
1
+ {"version":3,"file":"parsedText.mjs","sourceRoot":"","sources":["../src/bridging/parsedText.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,UAAU;IAInB,YAAoB,cAA6B,EAAE,QAAuB;QACtE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,UAA0B;QACtC,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC7C,OAAO,IAAI,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,kBAAkB,CAAsB,IAAO;QAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
@@ -1,15 +1,18 @@
1
1
  import { RunConfig as NapiRunConfig } from "../napi/uzu.mjs";
2
+ import { GrammarConfig } from "./grammarConfig.mjs";
2
3
  import { ToNapi } from "./napi.mjs";
3
4
  import { SamplingPolicy } from "./samplingPolicy.mjs";
4
5
  export declare class RunConfig implements ToNapi<NapiRunConfig> {
5
6
  readonly tokensLimit: number;
6
7
  readonly enableThinking: boolean;
7
8
  readonly samplingPolicy: SamplingPolicy;
9
+ readonly grammarConfig: GrammarConfig | null;
8
10
  private constructor();
9
11
  static default(): RunConfig;
10
12
  withTokensLimit(tokensLimit: number): RunConfig;
11
13
  withEnableThinking(enableThinking: boolean): RunConfig;
12
14
  withSamplingPolicy(samplingPolicy: SamplingPolicy): RunConfig;
15
+ withGrammarConfig(grammarConfig: GrammarConfig | null): RunConfig;
13
16
  toNapi(): NapiRunConfig;
14
17
  }
15
18
  //# sourceMappingURL=runConfig.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runConfig.d.mts","sourceRoot":"","sources":["../src/bridging/runConfig.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,IAAI,aAAa,EAAE;OAC9B,EAAE,MAAM,EAAE;OACV,EAAE,cAAc,EAAE;AAEzB,qBAAa,SAAU,YAAW,MAAM,CAAC,aAAa,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,OAAO;IAMP,MAAM,CAAC,OAAO,IAAI,SAAS;IAI3B,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAI/C,kBAAkB,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS;IAItD,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS;IAI7D,MAAM,IAAI,aAAa;CAS1B"}
1
+ {"version":3,"file":"runConfig.d.mts","sourceRoot":"","sources":["../src/bridging/runConfig.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,IAAI,aAAa,EAAE;OAC9B,EAAE,aAAa,EAAE;OACjB,EAAE,MAAM,EAAE;OACV,EAAE,cAAc,EAAE;AAEzB,qBAAa,SAAU,YAAW,MAAM,CAAC,aAAa,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAE7C,OAAO;IAYP,MAAM,CAAC,OAAO,IAAI,SAAS;IAI3B,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAI/C,kBAAkB,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS;IAItD,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS;IAI7D,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS;IAIjE,MAAM,IAAI,aAAa;CAa1B"}
@@ -1,15 +1,18 @@
1
1
  import { RunConfig as NapiRunConfig } from "../napi/uzu.js";
2
+ import { GrammarConfig } from "./grammarConfig.js";
2
3
  import { ToNapi } from "./napi.js";
3
4
  import { SamplingPolicy } from "./samplingPolicy.js";
4
5
  export declare class RunConfig implements ToNapi<NapiRunConfig> {
5
6
  readonly tokensLimit: number;
6
7
  readonly enableThinking: boolean;
7
8
  readonly samplingPolicy: SamplingPolicy;
9
+ readonly grammarConfig: GrammarConfig | null;
8
10
  private constructor();
9
11
  static default(): RunConfig;
10
12
  withTokensLimit(tokensLimit: number): RunConfig;
11
13
  withEnableThinking(enableThinking: boolean): RunConfig;
12
14
  withSamplingPolicy(samplingPolicy: SamplingPolicy): RunConfig;
15
+ withGrammarConfig(grammarConfig: GrammarConfig | null): RunConfig;
13
16
  toNapi(): NapiRunConfig;
14
17
  }
15
18
  //# sourceMappingURL=runConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runConfig.d.ts","sourceRoot":"","sources":["../src/bridging/runConfig.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,IAAI,aAAa,EAAE;OAC9B,EAAE,MAAM,EAAE;OACV,EAAE,cAAc,EAAE;AAEzB,qBAAa,SAAU,YAAW,MAAM,CAAC,aAAa,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,OAAO;IAMP,MAAM,CAAC,OAAO,IAAI,SAAS;IAI3B,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAI/C,kBAAkB,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS;IAItD,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS;IAI7D,MAAM,IAAI,aAAa;CAS1B"}
1
+ {"version":3,"file":"runConfig.d.ts","sourceRoot":"","sources":["../src/bridging/runConfig.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,IAAI,aAAa,EAAE;OAC9B,EAAE,aAAa,EAAE;OACjB,EAAE,MAAM,EAAE;OACV,EAAE,cAAc,EAAE;AAEzB,qBAAa,SAAU,YAAW,MAAM,CAAC,aAAa,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAE7C,OAAO;IAYP,MAAM,CAAC,OAAO,IAAI,SAAS;IAI3B,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAI/C,kBAAkB,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS;IAItD,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS;IAI7D,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS;IAIjE,MAAM,IAAI,aAAa;CAa1B"}
@@ -3,30 +3,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RunConfig = void 0;
4
4
  const samplingPolicy_1 = require("./samplingPolicy.js");
5
5
  class RunConfig {
6
- constructor(tokensLimit, enableThinking, samplingPolicy) {
6
+ constructor(tokensLimit, enableThinking, samplingPolicy, grammarConfig) {
7
7
  this.tokensLimit = tokensLimit;
8
8
  this.enableThinking = enableThinking;
9
9
  this.samplingPolicy = samplingPolicy;
10
+ this.grammarConfig = grammarConfig;
10
11
  }
11
12
  static default() {
12
- return new RunConfig(1024, true, samplingPolicy_1.SamplingPolicy.default());
13
+ return new RunConfig(1024, true, samplingPolicy_1.SamplingPolicy.default(), null);
13
14
  }
14
15
  withTokensLimit(tokensLimit) {
15
- return new RunConfig(tokensLimit, this.enableThinking, this.samplingPolicy);
16
+ return new RunConfig(tokensLimit, this.enableThinking, this.samplingPolicy, this.grammarConfig);
16
17
  }
17
18
  withEnableThinking(enableThinking) {
18
- return new RunConfig(this.tokensLimit, enableThinking, this.samplingPolicy);
19
+ return new RunConfig(this.tokensLimit, enableThinking, this.samplingPolicy, this.grammarConfig);
19
20
  }
20
21
  withSamplingPolicy(samplingPolicy) {
21
- return new RunConfig(this.tokensLimit, this.enableThinking, samplingPolicy);
22
+ return new RunConfig(this.tokensLimit, this.enableThinking, samplingPolicy, this.grammarConfig);
23
+ }
24
+ withGrammarConfig(grammarConfig) {
25
+ return new RunConfig(this.tokensLimit, this.enableThinking, this.samplingPolicy, grammarConfig);
22
26
  }
23
27
  toNapi() {
24
28
  const napiSamplingPolicy = this.samplingPolicy.toNapi();
25
- const napiRunConfig = {
29
+ let napiRunConfig = {
26
30
  tokensLimit: this.tokensLimit,
27
31
  enableThinking: this.enableThinking,
28
32
  samplingPolicy: napiSamplingPolicy,
29
33
  };
34
+ if (this.grammarConfig !== null) {
35
+ let napiGrammarConfig = this.grammarConfig.toNapi();
36
+ napiRunConfig.grammarConfig = napiGrammarConfig;
37
+ }
30
38
  return napiRunConfig;
31
39
  }
32
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runConfig.js","sourceRoot":"","sources":["../src/bridging/runConfig.ts"],"names":[],"mappings":";;;AAEA,wDAAkD;AAElD,MAAa,SAAS;IAKlB,YAAoB,WAAmB,EAAE,cAAuB,EAAE,cAA8B;QAC5F,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,OAAO;QACV,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,+BAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,eAAe,CAAC,WAAmB;QAC/B,OAAO,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChF,CAAC;IAED,kBAAkB,CAAC,cAAuB;QACtC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChF,CAAC;IAED,kBAAkB,CAAC,cAA8B;QAC7C,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAChF,CAAC;IAED,MAAM;QACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,aAAa,GAAkB;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,cAAc,EAAE,kBAAkB;SACrC,CAAC;QACF,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ;AApCD,8BAoCC"}
1
+ {"version":3,"file":"runConfig.js","sourceRoot":"","sources":["../src/bridging/runConfig.ts"],"names":[],"mappings":";;;AAGA,wDAAkD;AAElD,MAAa,SAAS;IAMlB,YACI,WAAmB,EACnB,cAAuB,EACvB,cAA8B,EAC9B,aAAmC;QAEnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,OAAO;QACV,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,+BAAc,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,eAAe,CAAC,WAAmB;QAC/B,OAAO,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpG,CAAC;IAED,kBAAkB,CAAC,cAAuB;QACtC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpG,CAAC;IAED,kBAAkB,CAAC,cAA8B;QAC7C,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpG,CAAC;IAED,iBAAiB,CAAC,aAAmC;QACjD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACpG,CAAC;IAED,MAAM;QACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QACxD,IAAI,aAAa,GAAkB;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,cAAc,EAAE,kBAAkB;SACrC,CAAC;QACF,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACpD,aAAa,CAAC,aAAa,GAAG,iBAAiB,CAAC;QACpD,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ;AAnDD,8BAmDC"}
@@ -1,29 +1,37 @@
1
1
  import { SamplingPolicy } from "./samplingPolicy.mjs";
2
2
  export class RunConfig {
3
- constructor(tokensLimit, enableThinking, samplingPolicy) {
3
+ constructor(tokensLimit, enableThinking, samplingPolicy, grammarConfig) {
4
4
  this.tokensLimit = tokensLimit;
5
5
  this.enableThinking = enableThinking;
6
6
  this.samplingPolicy = samplingPolicy;
7
+ this.grammarConfig = grammarConfig;
7
8
  }
8
9
  static default() {
9
- return new RunConfig(1024, true, SamplingPolicy.default());
10
+ return new RunConfig(1024, true, SamplingPolicy.default(), null);
10
11
  }
11
12
  withTokensLimit(tokensLimit) {
12
- return new RunConfig(tokensLimit, this.enableThinking, this.samplingPolicy);
13
+ return new RunConfig(tokensLimit, this.enableThinking, this.samplingPolicy, this.grammarConfig);
13
14
  }
14
15
  withEnableThinking(enableThinking) {
15
- return new RunConfig(this.tokensLimit, enableThinking, this.samplingPolicy);
16
+ return new RunConfig(this.tokensLimit, enableThinking, this.samplingPolicy, this.grammarConfig);
16
17
  }
17
18
  withSamplingPolicy(samplingPolicy) {
18
- return new RunConfig(this.tokensLimit, this.enableThinking, samplingPolicy);
19
+ return new RunConfig(this.tokensLimit, this.enableThinking, samplingPolicy, this.grammarConfig);
20
+ }
21
+ withGrammarConfig(grammarConfig) {
22
+ return new RunConfig(this.tokensLimit, this.enableThinking, this.samplingPolicy, grammarConfig);
19
23
  }
20
24
  toNapi() {
21
25
  const napiSamplingPolicy = this.samplingPolicy.toNapi();
22
- const napiRunConfig = {
26
+ let napiRunConfig = {
23
27
  tokensLimit: this.tokensLimit,
24
28
  enableThinking: this.enableThinking,
25
29
  samplingPolicy: napiSamplingPolicy,
26
30
  };
31
+ if (this.grammarConfig !== null) {
32
+ let napiGrammarConfig = this.grammarConfig.toNapi();
33
+ napiRunConfig.grammarConfig = napiGrammarConfig;
34
+ }
27
35
  return napiRunConfig;
28
36
  }
29
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runConfig.mjs","sourceRoot":"","sources":["../src/bridging/runConfig.ts"],"names":[],"mappings":"OAEO,EAAE,cAAc,EAAE;AAEzB,MAAM,OAAO,SAAS;IAKlB,YAAoB,WAAmB,EAAE,cAAuB,EAAE,cAA8B;QAC5F,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,OAAO;QACV,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,eAAe,CAAC,WAAmB;QAC/B,OAAO,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChF,CAAC;IAED,kBAAkB,CAAC,cAAuB;QACtC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChF,CAAC;IAED,kBAAkB,CAAC,cAA8B;QAC7C,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAChF,CAAC;IAED,MAAM;QACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,aAAa,GAAkB;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,cAAc,EAAE,kBAAkB;SACrC,CAAC;QACF,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ"}
1
+ {"version":3,"file":"runConfig.mjs","sourceRoot":"","sources":["../src/bridging/runConfig.ts"],"names":[],"mappings":"OAGO,EAAE,cAAc,EAAE;AAEzB,MAAM,OAAO,SAAS;IAMlB,YACI,WAAmB,EACnB,cAAuB,EACvB,cAA8B,EAC9B,aAAmC;QAEnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,OAAO;QACV,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,eAAe,CAAC,WAAmB;QAC/B,OAAO,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpG,CAAC;IAED,kBAAkB,CAAC,cAAuB;QACtC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpG,CAAC;IAED,kBAAkB,CAAC,cAA8B;QAC7C,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpG,CAAC;IAED,iBAAiB,CAAC,aAAmC;QACjD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACpG,CAAC;IAED,MAAM;QACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QACxD,IAAI,aAAa,GAAkB;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,cAAc,EAAE,kBAAkB;SACrC,CAAC;QACF,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACpD,aAAa,CAAC,aAAa,GAAG,iBAAiB,CAAC;QACpD,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ"}
@@ -4,7 +4,7 @@ export declare class SamplingMethod implements ToNapi<NapiSamplingMethod> {
4
4
  private readonly napiSamplingMethod;
5
5
  private constructor();
6
6
  static greedy(): SamplingMethod;
7
- static stochastic(temperature: number | null, topK: number | null, topP: number | null): SamplingMethod;
7
+ static stochastic(temperature: number | null, topK: number | null, topP: number | null, minP: number | null): SamplingMethod;
8
8
  toNapi(): NapiSamplingMethod;
9
9
  }
10
10
  //# sourceMappingURL=samplingMethod.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"samplingMethod.d.mts","sourceRoot":"","sources":["../src/bridging/samplingMethod.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE;OACxC,EAAE,MAAM,EAAE;AAEjB,qBAAa,cAAe,YAAW,MAAM,CAAC,kBAAkB,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD,OAAO;IAIP,MAAM,CAAC,MAAM,IAAI,cAAc;IAK/B,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc;IAgBvG,MAAM,IAAI,kBAAkB;CAG/B"}
1
+ {"version":3,"file":"samplingMethod.d.mts","sourceRoot":"","sources":["../src/bridging/samplingMethod.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE;OACxC,EAAE,MAAM,EAAE;AAEjB,qBAAa,cAAe,YAAW,MAAM,CAAC,kBAAkB,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD,OAAO;IAIP,MAAM,CAAC,MAAM,IAAI,cAAc;IAK/B,MAAM,CAAC,UAAU,CACb,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,IAAI,EAAE,MAAM,GAAG,IAAI,GACpB,cAAc;IAmBjB,MAAM,IAAI,kBAAkB;CAG/B"}
@@ -4,7 +4,7 @@ export declare class SamplingMethod implements ToNapi<NapiSamplingMethod> {
4
4
  private readonly napiSamplingMethod;
5
5
  private constructor();
6
6
  static greedy(): SamplingMethod;
7
- static stochastic(temperature: number | null, topK: number | null, topP: number | null): SamplingMethod;
7
+ static stochastic(temperature: number | null, topK: number | null, topP: number | null, minP: number | null): SamplingMethod;
8
8
  toNapi(): NapiSamplingMethod;
9
9
  }
10
10
  //# sourceMappingURL=samplingMethod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"samplingMethod.d.ts","sourceRoot":"","sources":["../src/bridging/samplingMethod.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE;OACxC,EAAE,MAAM,EAAE;AAEjB,qBAAa,cAAe,YAAW,MAAM,CAAC,kBAAkB,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD,OAAO;IAIP,MAAM,CAAC,MAAM,IAAI,cAAc;IAK/B,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc;IAgBvG,MAAM,IAAI,kBAAkB;CAG/B"}
1
+ {"version":3,"file":"samplingMethod.d.ts","sourceRoot":"","sources":["../src/bridging/samplingMethod.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE;OACxC,EAAE,MAAM,EAAE;AAEjB,qBAAa,cAAe,YAAW,MAAM,CAAC,kBAAkB,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD,OAAO;IAIP,MAAM,CAAC,MAAM,IAAI,cAAc;IAK/B,MAAM,CAAC,UAAU,CACb,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,IAAI,EAAE,MAAM,GAAG,IAAI,GACpB,cAAc;IAmBjB,MAAM,IAAI,kBAAkB;CAG/B"}
@@ -9,7 +9,7 @@ class SamplingMethod {
9
9
  const napiSamplingMethod = { type: 'Greedy' };
10
10
  return new SamplingMethod(napiSamplingMethod);
11
11
  }
12
- static stochastic(temperature, topK, topP) {
12
+ static stochastic(temperature, topK, topP, minP) {
13
13
  let napiSamplingMethod = {
14
14
  type: 'Stochastic',
15
15
  };
@@ -22,6 +22,9 @@ class SamplingMethod {
22
22
  if (topP !== null) {
23
23
  napiSamplingMethod.topP = topP;
24
24
  }
25
+ if (minP !== null) {
26
+ napiSamplingMethod.minP = minP;
27
+ }
25
28
  return new SamplingMethod(napiSamplingMethod);
26
29
  }
27
30
  toNapi() {
@@ -1 +1 @@
1
- {"version":3,"file":"samplingMethod.js","sourceRoot":"","sources":["../src/bridging/samplingMethod.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;IAGvB,YAAoB,kBAAsC;QACtD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,MAAM;QACT,MAAM,kBAAkB,GAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAClE,OAAO,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,WAA0B,EAAE,IAAmB,EAAE,IAAmB;QAClF,IAAI,kBAAkB,GAAuB;YACzC,IAAI,EAAE,YAAY;SACrB,CAAC;QACF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACvB,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;CACJ;AA/BD,wCA+BC"}
1
+ {"version":3,"file":"samplingMethod.js","sourceRoot":"","sources":["../src/bridging/samplingMethod.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;IAGvB,YAAoB,kBAAsC;QACtD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,MAAM;QACT,MAAM,kBAAkB,GAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAClE,OAAO,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,UAAU,CACb,WAA0B,EAC1B,IAAmB,EACnB,IAAmB,EACnB,IAAmB;QAEnB,IAAI,kBAAkB,GAAuB;YACzC,IAAI,EAAE,YAAY;SACrB,CAAC;QACF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACvB,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;CACJ;AAvCD,wCAuCC"}
@@ -6,7 +6,7 @@ export class SamplingMethod {
6
6
  const napiSamplingMethod = { type: 'Greedy' };
7
7
  return new SamplingMethod(napiSamplingMethod);
8
8
  }
9
- static stochastic(temperature, topK, topP) {
9
+ static stochastic(temperature, topK, topP, minP) {
10
10
  let napiSamplingMethod = {
11
11
  type: 'Stochastic',
12
12
  };
@@ -19,6 +19,9 @@ export class SamplingMethod {
19
19
  if (topP !== null) {
20
20
  napiSamplingMethod.topP = topP;
21
21
  }
22
+ if (minP !== null) {
23
+ napiSamplingMethod.minP = minP;
24
+ }
22
25
  return new SamplingMethod(napiSamplingMethod);
23
26
  }
24
27
  toNapi() {
@@ -1 +1 @@
1
- {"version":3,"file":"samplingMethod.mjs","sourceRoot":"","sources":["../src/bridging/samplingMethod.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IAGvB,YAAoB,kBAAsC;QACtD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,MAAM;QACT,MAAM,kBAAkB,GAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAClE,OAAO,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,WAA0B,EAAE,IAAmB,EAAE,IAAmB;QAClF,IAAI,kBAAkB,GAAuB;YACzC,IAAI,EAAE,YAAY;SACrB,CAAC;QACF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACvB,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;CACJ"}
1
+ {"version":3,"file":"samplingMethod.mjs","sourceRoot":"","sources":["../src/bridging/samplingMethod.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IAGvB,YAAoB,kBAAsC;QACtD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,MAAM;QACT,MAAM,kBAAkB,GAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAClE,OAAO,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,UAAU,CACb,WAA0B,EAC1B,IAAmB,EACnB,IAAmB,EACnB,IAAmB;QAEnB,IAAI,kBAAkB,GAAuB;YACzC,IAAI,EAAE,YAAY;SACrB,CAAC;QACF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACvB,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;CACJ"}
package/index.d.mts CHANGED
@@ -10,6 +10,7 @@ export { DownloadProgressUpdate } from "./bridging/downloadProgressUpdate.mjs";
10
10
  export { DownloadPhase, DownloadState } from "./bridging/downloadState.mjs";
11
11
  export { Engine as default } from "./bridging/engine.mjs";
12
12
  export { FinishReason } from "./bridging/finishReason.mjs";
13
+ export { GrammarConfig } from "./bridging/grammarConfig.mjs";
13
14
  export { Input } from "./bridging/input.mjs";
14
15
  export { Message } from "./bridging/message.mjs";
15
16
  export { ModelType } from "./bridging/modelType.mjs";
package/index.d.mts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,EAAE;OAClB,EAAE,SAAS,EAAE;OACb,EAAE,WAAW,EAAE;OACf,EAAE,qBAAqB,EAAE;OACzB,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE;OACjB,EAAE,WAAW,EAAE;OACf,EAAE,cAAc,EAAE;OAClB,EAAE,sBAAsB,EAAE;OAC1B,EAAE,aAAa,EAAE,aAAa,EAAE;OAChC,EAAE,MAAM,IAAI,OAAO,EAAE;OACrB,EAAE,YAAY,EAAE;OAChB,EAAE,KAAK,EAAE;OACT,EAAE,OAAO,EAAE;OACX,EAAE,SAAS,EAAE;OACb,EAAE,MAAM,EAAE;OACV,EAAE,UAAU,EAAE;OACd,EAAE,eAAe,EAAE;OACnB,EAAE,MAAM,EAAE;OACV,EAAE,IAAI,EAAE;OACR,EAAE,SAAS,EAAE;OACb,EAAE,QAAQ,EAAE;OACZ,EAAE,cAAc,EAAE;OAClB,EAAE,cAAc,EAAE;OAClB,EAAE,YAAY,EAAE;OAChB,EAAE,KAAK,EAAE;OACT,EAAE,SAAS,EAAE;OACb,EAAE,IAAI,EAAE;OACR,EAAE,UAAU,EAAE;OACd,EAAE,WAAW,EAAE;OACf,EAAE,mBAAmB,EAAE;OACvB,EAAE,oBAAoB,EAAE;OACxB,EAAE,qBAAqB,EAAE;OACzB,EAAE,kBAAkB,EAAE;OACtB,EAAE,gBAAgB,EAAE"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,EAAE;OAClB,EAAE,SAAS,EAAE;OACb,EAAE,WAAW,EAAE;OACf,EAAE,qBAAqB,EAAE;OACzB,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE;OACjB,EAAE,WAAW,EAAE;OACf,EAAE,cAAc,EAAE;OAClB,EAAE,sBAAsB,EAAE;OAC1B,EAAE,aAAa,EAAE,aAAa,EAAE;OAChC,EAAE,MAAM,IAAI,OAAO,EAAE;OACrB,EAAE,YAAY,EAAE;OAChB,EAAE,aAAa,EAAE;OACjB,EAAE,KAAK,EAAE;OACT,EAAE,OAAO,EAAE;OACX,EAAE,SAAS,EAAE;OACb,EAAE,MAAM,EAAE;OACV,EAAE,UAAU,EAAE;OACd,EAAE,eAAe,EAAE;OACnB,EAAE,MAAM,EAAE;OACV,EAAE,IAAI,EAAE;OACR,EAAE,SAAS,EAAE;OACb,EAAE,QAAQ,EAAE;OACZ,EAAE,cAAc,EAAE;OAClB,EAAE,cAAc,EAAE;OAClB,EAAE,YAAY,EAAE;OAChB,EAAE,KAAK,EAAE;OACT,EAAE,SAAS,EAAE;OACb,EAAE,IAAI,EAAE;OACR,EAAE,UAAU,EAAE;OACd,EAAE,WAAW,EAAE;OACf,EAAE,mBAAmB,EAAE;OACvB,EAAE,oBAAoB,EAAE;OACxB,EAAE,qBAAqB,EAAE;OACzB,EAAE,kBAAkB,EAAE;OACtB,EAAE,gBAAgB,EAAE"}
package/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export { DownloadProgressUpdate } from "./bridging/downloadProgressUpdate.js";
10
10
  export { DownloadPhase, DownloadState } from "./bridging/downloadState.js";
11
11
  export { Engine as default } from "./bridging/engine.js";
12
12
  export { FinishReason } from "./bridging/finishReason.js";
13
+ export { GrammarConfig } from "./bridging/grammarConfig.js";
13
14
  export { Input } from "./bridging/input.js";
14
15
  export { Message } from "./bridging/message.js";
15
16
  export { ModelType } from "./bridging/modelType.js";
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,EAAE;OAClB,EAAE,SAAS,EAAE;OACb,EAAE,WAAW,EAAE;OACf,EAAE,qBAAqB,EAAE;OACzB,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE;OACjB,EAAE,WAAW,EAAE;OACf,EAAE,cAAc,EAAE;OAClB,EAAE,sBAAsB,EAAE;OAC1B,EAAE,aAAa,EAAE,aAAa,EAAE;OAChC,EAAE,MAAM,IAAI,OAAO,EAAE;OACrB,EAAE,YAAY,EAAE;OAChB,EAAE,KAAK,EAAE;OACT,EAAE,OAAO,EAAE;OACX,EAAE,SAAS,EAAE;OACb,EAAE,MAAM,EAAE;OACV,EAAE,UAAU,EAAE;OACd,EAAE,eAAe,EAAE;OACnB,EAAE,MAAM,EAAE;OACV,EAAE,IAAI,EAAE;OACR,EAAE,SAAS,EAAE;OACb,EAAE,QAAQ,EAAE;OACZ,EAAE,cAAc,EAAE;OAClB,EAAE,cAAc,EAAE;OAClB,EAAE,YAAY,EAAE;OAChB,EAAE,KAAK,EAAE;OACT,EAAE,SAAS,EAAE;OACb,EAAE,IAAI,EAAE;OACR,EAAE,UAAU,EAAE;OACd,EAAE,WAAW,EAAE;OACf,EAAE,mBAAmB,EAAE;OACvB,EAAE,oBAAoB,EAAE;OACxB,EAAE,qBAAqB,EAAE;OACzB,EAAE,kBAAkB,EAAE;OACtB,EAAE,gBAAgB,EAAE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,EAAE;OAClB,EAAE,SAAS,EAAE;OACb,EAAE,WAAW,EAAE;OACf,EAAE,qBAAqB,EAAE;OACzB,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE;OACjB,EAAE,WAAW,EAAE;OACf,EAAE,cAAc,EAAE;OAClB,EAAE,sBAAsB,EAAE;OAC1B,EAAE,aAAa,EAAE,aAAa,EAAE;OAChC,EAAE,MAAM,IAAI,OAAO,EAAE;OACrB,EAAE,YAAY,EAAE;OAChB,EAAE,aAAa,EAAE;OACjB,EAAE,KAAK,EAAE;OACT,EAAE,OAAO,EAAE;OACX,EAAE,SAAS,EAAE;OACb,EAAE,MAAM,EAAE;OACV,EAAE,UAAU,EAAE;OACd,EAAE,eAAe,EAAE;OACnB,EAAE,MAAM,EAAE;OACV,EAAE,IAAI,EAAE;OACR,EAAE,SAAS,EAAE;OACb,EAAE,QAAQ,EAAE;OACZ,EAAE,cAAc,EAAE;OAClB,EAAE,cAAc,EAAE;OAClB,EAAE,YAAY,EAAE;OAChB,EAAE,KAAK,EAAE;OACT,EAAE,SAAS,EAAE;OACb,EAAE,IAAI,EAAE;OACR,EAAE,UAAU,EAAE;OACd,EAAE,WAAW,EAAE;OACf,EAAE,mBAAmB,EAAE;OACvB,EAAE,oBAAoB,EAAE;OACxB,EAAE,qBAAqB,EAAE;OACzB,EAAE,kBAAkB,EAAE;OACtB,EAAE,gBAAgB,EAAE"}
package/index.js CHANGED
@@ -3,7 +3,7 @@ exports = module.exports = function (...args) {
3
3
  return new exports.default(...args)
4
4
  }
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.EngineInteractor = exports.DownloadInteractor = exports.ChatSessionInteractor = exports.ChatModelsInteractor = exports.ChatModelInteractor = exports.EngineError = exports.TotalStats = exports.Text = exports.StepStats = exports.Stats = exports.SamplingSeed = exports.SamplingPolicy = exports.SamplingMethod = exports.RunStats = exports.RunConfig = exports.Role = exports.Preset = exports.PrefillStepSize = exports.ParsedText = exports.Output = exports.ModelType = exports.Message = exports.Input = exports.FinishReason = exports.default = exports.DownloadState = exports.DownloadPhase = exports.DownloadProgressUpdate = exports.DownloadHandle = exports.ContextMode = exports.ContextLength = exports.Config = exports.ClassificationFeature = exports.ChatSession = exports.ChatModel = exports.AsyncBatchSize = void 0;
6
+ exports.EngineInteractor = exports.DownloadInteractor = exports.ChatSessionInteractor = exports.ChatModelsInteractor = exports.ChatModelInteractor = exports.EngineError = exports.TotalStats = exports.Text = exports.StepStats = exports.Stats = exports.SamplingSeed = exports.SamplingPolicy = exports.SamplingMethod = exports.RunStats = exports.RunConfig = exports.Role = exports.Preset = exports.PrefillStepSize = exports.ParsedText = exports.Output = exports.ModelType = exports.Message = exports.Input = exports.GrammarConfig = exports.FinishReason = exports.default = exports.DownloadState = exports.DownloadPhase = exports.DownloadProgressUpdate = exports.DownloadHandle = exports.ContextMode = exports.ContextLength = exports.Config = exports.ClassificationFeature = exports.ChatSession = exports.ChatModel = exports.AsyncBatchSize = void 0;
7
7
  var asyncBatchSize_1 = require("./bridging/asyncBatchSize.js");
8
8
  Object.defineProperty(exports, "AsyncBatchSize", { enumerable: true, get: function () { return asyncBatchSize_1.AsyncBatchSize; } });
9
9
  var chatModel_1 = require("./bridging/chatModel.js");
@@ -29,6 +29,8 @@ var engine_1 = require("./bridging/engine.js");
29
29
  Object.defineProperty(exports, "default", { enumerable: true, get: function () { return engine_1.Engine; } });
30
30
  var finishReason_1 = require("./bridging/finishReason.js");
31
31
  Object.defineProperty(exports, "FinishReason", { enumerable: true, get: function () { return finishReason_1.FinishReason; } });
32
+ var grammarConfig_1 = require("./bridging/grammarConfig.js");
33
+ Object.defineProperty(exports, "GrammarConfig", { enumerable: true, get: function () { return grammarConfig_1.GrammarConfig; } });
32
34
  var input_1 = require("./bridging/input.js");
33
35
  Object.defineProperty(exports, "Input", { enumerable: true, get: function () { return input_1.Input; } });
34
36
  var message_1 = require("./bridging/message.js");
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;AAAA,+DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,qDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,yDAAqD;AAA5C,0GAAA,WAAW,OAAA;AACpB,6EAAyE;AAAhE,8HAAA,qBAAqB,OAAA;AAC9B,+CAA2C;AAAlC,gGAAA,MAAM,OAAA;AACf,6DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,yDAAqD;AAA5C,0GAAA,WAAW,OAAA;AACpB,+DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,+EAA2E;AAAlE,gIAAA,sBAAsB,OAAA;AAC/B,6DAAwE;AAA/D,8GAAA,aAAa,OAAA;AAAE,8GAAA,aAAa,OAAA;AACrC,+CAAsD;AAA7C,iGAAA,MAAM,OAAW;AAC1B,2DAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,6CAAyC;AAAhC,8FAAA,KAAK,OAAA;AACd,iDAA6C;AAApC,kGAAA,OAAO,OAAA;AAChB,qDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,+CAA2C;AAAlC,gGAAA,MAAM,OAAA;AACf,uDAAmD;AAA1C,wGAAA,UAAU,OAAA;AACnB,iEAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,+CAA2C;AAAlC,gGAAA,MAAM,OAAA;AACf,2CAAuC;AAA9B,4FAAA,IAAI,OAAA;AACb,qDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,mDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AACjB,+DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,+DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,2DAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,6CAAyC;AAAhC,8FAAA,KAAK,OAAA;AACd,qDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,2CAAuC;AAA9B,4FAAA,IAAI,OAAA;AACb,uDAAmD;AAA1C,wGAAA,UAAU,OAAA;AACnB,oCAAsC;AAA7B,oGAAA,WAAW,OAAA;AACpB,4EAAwE;AAA/D,0HAAA,mBAAmB,OAAA;AAC5B,8EAA0E;AAAjE,4HAAA,oBAAoB,OAAA;AAC7B,gFAA4E;AAAnE,8HAAA,qBAAqB,OAAA;AAC9B,0EAAsE;AAA7D,wHAAA,kBAAkB,OAAA;AAC3B,sEAAkE;AAAzD,oHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;AAAA,+DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,qDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,yDAAqD;AAA5C,0GAAA,WAAW,OAAA;AACpB,6EAAyE;AAAhE,8HAAA,qBAAqB,OAAA;AAC9B,+CAA2C;AAAlC,gGAAA,MAAM,OAAA;AACf,6DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,yDAAqD;AAA5C,0GAAA,WAAW,OAAA;AACpB,+DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,+EAA2E;AAAlE,gIAAA,sBAAsB,OAAA;AAC/B,6DAAwE;AAA/D,8GAAA,aAAa,OAAA;AAAE,8GAAA,aAAa,OAAA;AACrC,+CAAsD;AAA7C,iGAAA,MAAM,OAAW;AAC1B,2DAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,6DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,6CAAyC;AAAhC,8FAAA,KAAK,OAAA;AACd,iDAA6C;AAApC,kGAAA,OAAO,OAAA;AAChB,qDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,+CAA2C;AAAlC,gGAAA,MAAM,OAAA;AACf,uDAAmD;AAA1C,wGAAA,UAAU,OAAA;AACnB,iEAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,+CAA2C;AAAlC,gGAAA,MAAM,OAAA;AACf,2CAAuC;AAA9B,4FAAA,IAAI,OAAA;AACb,qDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,mDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AACjB,+DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,+DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,2DAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,6CAAyC;AAAhC,8FAAA,KAAK,OAAA;AACd,qDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,2CAAuC;AAA9B,4FAAA,IAAI,OAAA;AACb,uDAAmD;AAA1C,wGAAA,UAAU,OAAA;AACnB,oCAAsC;AAA7B,oGAAA,WAAW,OAAA;AACpB,4EAAwE;AAA/D,0HAAA,mBAAmB,OAAA;AAC5B,8EAA0E;AAAjE,4HAAA,oBAAoB,OAAA;AAC7B,gFAA4E;AAAnE,8HAAA,qBAAqB,OAAA;AAC9B,0EAAsE;AAA7D,wHAAA,kBAAkB,OAAA;AAC3B,sEAAkE;AAAzD,oHAAA,gBAAgB,OAAA"}
package/index.mjs CHANGED
@@ -10,6 +10,7 @@ export { DownloadProgressUpdate } from "./bridging/downloadProgressUpdate.mjs";
10
10
  export { DownloadPhase, DownloadState } from "./bridging/downloadState.mjs";
11
11
  export { Engine as default } from "./bridging/engine.mjs";
12
12
  export { FinishReason } from "./bridging/finishReason.mjs";
13
+ export { GrammarConfig } from "./bridging/grammarConfig.mjs";
13
14
  export { Input } from "./bridging/input.mjs";
14
15
  export { Message } from "./bridging/message.mjs";
15
16
  export { ModelType } from "./bridging/modelType.mjs";
package/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,EAAE;OAClB,EAAE,SAAS,EAAE;OACb,EAAE,WAAW,EAAE;OACf,EAAE,qBAAqB,EAAE;OACzB,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE;OACjB,EAAE,WAAW,EAAE;OACf,EAAE,cAAc,EAAE;OAClB,EAAE,sBAAsB,EAAE;OAC1B,EAAE,aAAa,EAAE,aAAa,EAAE;OAChC,EAAE,MAAM,IAAI,OAAO,EAAE;OACrB,EAAE,YAAY,EAAE;OAChB,EAAE,KAAK,EAAE;OACT,EAAE,OAAO,EAAE;OACX,EAAE,SAAS,EAAE;OACb,EAAE,MAAM,EAAE;OACV,EAAE,UAAU,EAAE;OACd,EAAE,eAAe,EAAE;OACnB,EAAE,MAAM,EAAE;OACV,EAAE,IAAI,EAAE;OACR,EAAE,SAAS,EAAE;OACb,EAAE,QAAQ,EAAE;OACZ,EAAE,cAAc,EAAE;OAClB,EAAE,cAAc,EAAE;OAClB,EAAE,YAAY,EAAE;OAChB,EAAE,KAAK,EAAE;OACT,EAAE,SAAS,EAAE;OACb,EAAE,IAAI,EAAE;OACR,EAAE,UAAU,EAAE;OACd,EAAE,WAAW,EAAE;OACf,EAAE,mBAAmB,EAAE;OACvB,EAAE,oBAAoB,EAAE;OACxB,EAAE,qBAAqB,EAAE;OACzB,EAAE,kBAAkB,EAAE;OACtB,EAAE,gBAAgB,EAAE"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,EAAE;OAClB,EAAE,SAAS,EAAE;OACb,EAAE,WAAW,EAAE;OACf,EAAE,qBAAqB,EAAE;OACzB,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE;OACjB,EAAE,WAAW,EAAE;OACf,EAAE,cAAc,EAAE;OAClB,EAAE,sBAAsB,EAAE;OAC1B,EAAE,aAAa,EAAE,aAAa,EAAE;OAChC,EAAE,MAAM,IAAI,OAAO,EAAE;OACrB,EAAE,YAAY,EAAE;OAChB,EAAE,aAAa,EAAE;OACjB,EAAE,KAAK,EAAE;OACT,EAAE,OAAO,EAAE;OACX,EAAE,SAAS,EAAE;OACb,EAAE,MAAM,EAAE;OACV,EAAE,UAAU,EAAE;OACd,EAAE,eAAe,EAAE;OACnB,EAAE,MAAM,EAAE;OACV,EAAE,IAAI,EAAE;OACR,EAAE,SAAS,EAAE;OACb,EAAE,QAAQ,EAAE;OACZ,EAAE,cAAc,EAAE;OAClB,EAAE,cAAc,EAAE;OAClB,EAAE,YAAY,EAAE;OAChB,EAAE,KAAK,EAAE;OACT,EAAE,SAAS,EAAE;OACb,EAAE,IAAI,EAAE;OACR,EAAE,UAAU,EAAE;OACd,EAAE,WAAW,EAAE;OACf,EAAE,mBAAmB,EAAE;OACvB,EAAE,oBAAoB,EAAE;OACxB,EAAE,qBAAqB,EAAE;OACzB,EAAE,kBAAkB,EAAE;OACtB,EAAE,gBAAgB,EAAE"}
@@ -1,4 +1,5 @@
1
1
  import { ChatSession } from "../bridging/chatSession.mjs";
2
+ import { GrammarConfig } from "../bridging/grammarConfig.mjs";
2
3
  import { Input } from "../bridging/input.mjs";
3
4
  import { Message } from "../bridging/message.mjs";
4
5
  import { Output } from "../bridging/output.mjs";
@@ -17,6 +18,7 @@ export declare class ChatSessionInteractor implements Interactor<ChatSession> {
17
18
  enableThinking(enableThinking: boolean): ChatSessionInteractor;
18
19
  samplingPolicy(samplingPolicy: SamplingPolicy): ChatSessionInteractor;
19
20
  samplingMethod(samplingMethod: SamplingMethod): ChatSessionInteractor;
21
+ grammarConfig(grammarConfig: GrammarConfig | null): ChatSessionInteractor;
20
22
  run(input: Input, progress?: (partialOutput: Output) => boolean): Promise<Output>;
21
23
  reply(text: string, progress?: (partialOutput: Output) => boolean): Promise<Output>;
22
24
  replyToMessages(messages: Message[], progress?: (partialOutput: Output) => boolean): Promise<Output>;
@@ -1 +1 @@
1
- {"version":3,"file":"chatSessionInteractor.d.mts","sourceRoot":"","sources":["../src/interactors/chatSessionInteractor.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE;OACf,EAAE,KAAK,EAAE;OACT,EAAE,OAAO,EAAE;OACX,EAAE,MAAM,EAAE;OACV,EAAE,SAAS,EAAE;OACb,EAAE,cAAc,EAAE;OAClB,EAAE,cAAc,EAAE;OAClB,EAAE,mBAAmB,EAAE;OACvB,EAAE,UAAU,EAAE,gBAAgB,EAAE;AAEvC,qBAAa,qBAAsB,YAAW,UAAU,CAAC,WAAW,CAAC;IACjE,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;gBAGvB,eAAe,EAAE,mBAAmB,EACpC,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACtC,MAAM,EAAE,SAAS;IAOf,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAMtC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB;IAKvD,cAAc,CAAC,cAAc,EAAE,OAAO,GAAG,qBAAqB;IAK9D,cAAc,CAAC,cAAc,EAAE,cAAc,GAAG,qBAAqB;IAKrE,cAAc,CAAC,cAAc,EAAE,cAAc,GAAG,qBAAqB;IAO/D,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAU7F,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/F,eAAe,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAC1D,OAAO,CAAC,MAAM,CAAC;CAGrB"}
1
+ {"version":3,"file":"chatSessionInteractor.d.mts","sourceRoot":"","sources":["../src/interactors/chatSessionInteractor.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE;OACf,EAAE,aAAa,EAAE;OACjB,EAAE,KAAK,EAAE;OACT,EAAE,OAAO,EAAE;OACX,EAAE,MAAM,EAAE;OACV,EAAE,SAAS,EAAE;OACb,EAAE,cAAc,EAAE;OAClB,EAAE,cAAc,EAAE;OAClB,EAAE,mBAAmB,EAAE;OACvB,EAAE,UAAU,EAAE,gBAAgB,EAAE;AAEvC,qBAAa,qBAAsB,YAAW,UAAU,CAAC,WAAW,CAAC;IACjE,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;gBAGvB,eAAe,EAAE,mBAAmB,EACpC,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACtC,MAAM,EAAE,SAAS;IAOf,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAMtC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB;IAKvD,cAAc,CAAC,cAAc,EAAE,OAAO,GAAG,qBAAqB;IAK9D,cAAc,CAAC,cAAc,EAAE,cAAc,GAAG,qBAAqB;IAKrE,cAAc,CAAC,cAAc,EAAE,cAAc,GAAG,qBAAqB;IAKrE,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,GAAG,qBAAqB;IAOnE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAU7F,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/F,eAAe,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAC1D,OAAO,CAAC,MAAM,CAAC;CAGrB"}
@@ -1,4 +1,5 @@
1
1
  import { ChatSession } from "../bridging/chatSession.js";
2
+ import { GrammarConfig } from "../bridging/grammarConfig.js";
2
3
  import { Input } from "../bridging/input.js";
3
4
  import { Message } from "../bridging/message.js";
4
5
  import { Output } from "../bridging/output.js";
@@ -17,6 +18,7 @@ export declare class ChatSessionInteractor implements Interactor<ChatSession> {
17
18
  enableThinking(enableThinking: boolean): ChatSessionInteractor;
18
19
  samplingPolicy(samplingPolicy: SamplingPolicy): ChatSessionInteractor;
19
20
  samplingMethod(samplingMethod: SamplingMethod): ChatSessionInteractor;
21
+ grammarConfig(grammarConfig: GrammarConfig | null): ChatSessionInteractor;
20
22
  run(input: Input, progress?: (partialOutput: Output) => boolean): Promise<Output>;
21
23
  reply(text: string, progress?: (partialOutput: Output) => boolean): Promise<Output>;
22
24
  replyToMessages(messages: Message[], progress?: (partialOutput: Output) => boolean): Promise<Output>;
@@ -1 +1 @@
1
- {"version":3,"file":"chatSessionInteractor.d.ts","sourceRoot":"","sources":["../src/interactors/chatSessionInteractor.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE;OACf,EAAE,KAAK,EAAE;OACT,EAAE,OAAO,EAAE;OACX,EAAE,MAAM,EAAE;OACV,EAAE,SAAS,EAAE;OACb,EAAE,cAAc,EAAE;OAClB,EAAE,cAAc,EAAE;OAClB,EAAE,mBAAmB,EAAE;OACvB,EAAE,UAAU,EAAE,gBAAgB,EAAE;AAEvC,qBAAa,qBAAsB,YAAW,UAAU,CAAC,WAAW,CAAC;IACjE,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;gBAGvB,eAAe,EAAE,mBAAmB,EACpC,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACtC,MAAM,EAAE,SAAS;IAOf,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAMtC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB;IAKvD,cAAc,CAAC,cAAc,EAAE,OAAO,GAAG,qBAAqB;IAK9D,cAAc,CAAC,cAAc,EAAE,cAAc,GAAG,qBAAqB;IAKrE,cAAc,CAAC,cAAc,EAAE,cAAc,GAAG,qBAAqB;IAO/D,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAU7F,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/F,eAAe,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAC1D,OAAO,CAAC,MAAM,CAAC;CAGrB"}
1
+ {"version":3,"file":"chatSessionInteractor.d.ts","sourceRoot":"","sources":["../src/interactors/chatSessionInteractor.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE;OACf,EAAE,aAAa,EAAE;OACjB,EAAE,KAAK,EAAE;OACT,EAAE,OAAO,EAAE;OACX,EAAE,MAAM,EAAE;OACV,EAAE,SAAS,EAAE;OACb,EAAE,cAAc,EAAE;OAClB,EAAE,cAAc,EAAE;OAClB,EAAE,mBAAmB,EAAE;OACvB,EAAE,UAAU,EAAE,gBAAgB,EAAE;AAEvC,qBAAa,qBAAsB,YAAW,UAAU,CAAC,WAAW,CAAC;IACjE,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;gBAGvB,eAAe,EAAE,mBAAmB,EACpC,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACtC,MAAM,EAAE,SAAS;IAOf,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAMtC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB;IAKvD,cAAc,CAAC,cAAc,EAAE,OAAO,GAAG,qBAAqB;IAK9D,cAAc,CAAC,cAAc,EAAE,cAAc,GAAG,qBAAqB;IAKrE,cAAc,CAAC,cAAc,EAAE,cAAc,GAAG,qBAAqB;IAKrE,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,GAAG,qBAAqB;IAOnE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAU7F,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/F,eAAe,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAoB,GAC1D,OAAO,CAAC,MAAM,CAAC;CAGrB"}
@@ -29,6 +29,10 @@ class ChatSessionInteractor {
29
29
  const config = this.config.withSamplingPolicy(samplingPolicy_1.SamplingPolicy.custom(samplingMethod));
30
30
  return new ChatSessionInteractor(this.modelInteractor, this.entity, config);
31
31
  }
32
+ grammarConfig(grammarConfig) {
33
+ const config = this.config.withGrammarConfig(grammarConfig);
34
+ return new ChatSessionInteractor(this.modelInteractor, this.entity, config);
35
+ }
32
36
  /* Run */
33
37
  async run(input, progress = () => true) {
34
38
  const outputPromise = (async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"chatSessionInteractor.js","sourceRoot":"","sources":["../src/interactors/chatSessionInteractor.ts"],"names":[],"mappings":";;;AACA,gDAA0C;AAK1C,kEAA4D;AAI5D,MAAa,qBAAqB;IAK9B,YACI,eAAoC,EACpC,OAAsC,EACtC,MAAiB;QAEjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,YAAY;IAEZ,WAAW,CAAC,WAAmB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACxD,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAAuB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9D,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAA8B;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9D,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAA8B;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,+BAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QACrF,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,SAAS;IAET,KAAK,CAAC,GAAG,CAAC,KAAY,EAAE,WAA+C,GAAG,EAAE,CAAC,IAAI;QAC7E,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;QACnC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,WAA+C,GAAG,EAAE,CAAC,IAAI;QAC/E,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,eAAe,CACjB,QAAmB,EACnB,WAA+C,GAAG,EAAE,CAAC,IAAI;QAEzD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,aAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;CACJ;AA/DD,sDA+DC"}
1
+ {"version":3,"file":"chatSessionInteractor.js","sourceRoot":"","sources":["../src/interactors/chatSessionInteractor.ts"],"names":[],"mappings":";;;AAEA,gDAA0C;AAK1C,kEAA4D;AAI5D,MAAa,qBAAqB;IAK9B,YACI,eAAoC,EACpC,OAAsC,EACtC,MAAiB;QAEjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,YAAY;IAEZ,WAAW,CAAC,WAAmB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACxD,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAAuB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9D,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAA8B;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9D,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAA8B;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,+BAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QACrF,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,aAAa,CAAC,aAAmC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC5D,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,SAAS;IAET,KAAK,CAAC,GAAG,CAAC,KAAY,EAAE,WAA+C,GAAG,EAAE,CAAC,IAAI;QAC7E,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;QACnC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,WAA+C,GAAG,EAAE,CAAC,IAAI;QAC/E,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,eAAe,CACjB,QAAmB,EACnB,WAA+C,GAAG,EAAE,CAAC,IAAI;QAEzD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,aAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;CACJ;AApED,sDAoEC"}
@@ -26,6 +26,10 @@ export class ChatSessionInteractor {
26
26
  const config = this.config.withSamplingPolicy(SamplingPolicy.custom(samplingMethod));
27
27
  return new ChatSessionInteractor(this.modelInteractor, this.entity, config);
28
28
  }
29
+ grammarConfig(grammarConfig) {
30
+ const config = this.config.withGrammarConfig(grammarConfig);
31
+ return new ChatSessionInteractor(this.modelInteractor, this.entity, config);
32
+ }
29
33
  /* Run */
30
34
  async run(input, progress = () => true) {
31
35
  const outputPromise = (async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"chatSessionInteractor.mjs","sourceRoot":"","sources":["../src/interactors/chatSessionInteractor.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,EAAE;OAKT,EAAE,cAAc,EAAE;AAIzB,MAAM,OAAO,qBAAqB;IAK9B,YACI,eAAoC,EACpC,OAAsC,EACtC,MAAiB;QAEjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,YAAY;IAEZ,WAAW,CAAC,WAAmB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACxD,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAAuB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9D,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAA8B;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9D,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAA8B;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QACrF,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,SAAS;IAET,KAAK,CAAC,GAAG,CAAC,KAAY,EAAE,WAA+C,GAAG,EAAE,CAAC,IAAI;QAC7E,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;QACnC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,WAA+C,GAAG,EAAE,CAAC,IAAI;QAC/E,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,eAAe,CACjB,QAAmB,EACnB,WAA+C,GAAG,EAAE,CAAC,IAAI;QAEzD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;CACJ"}
1
+ {"version":3,"file":"chatSessionInteractor.mjs","sourceRoot":"","sources":["../src/interactors/chatSessionInteractor.ts"],"names":[],"mappings":"OAEO,EAAE,KAAK,EAAE;OAKT,EAAE,cAAc,EAAE;AAIzB,MAAM,OAAO,qBAAqB;IAK9B,YACI,eAAoC,EACpC,OAAsC,EACtC,MAAiB;QAEjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,YAAY;IAEZ,WAAW,CAAC,WAAmB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACxD,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAAuB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9D,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAA8B;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9D,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,cAA8B;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QACrF,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,aAAa,CAAC,aAAmC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC5D,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,SAAS;IAET,KAAK,CAAC,GAAG,CAAC,KAAY,EAAE,WAA+C,GAAG,EAAE,CAAC,IAAI;QAC7E,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;QACnC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,WAA+C,GAAG,EAAE,CAAC,IAAI;QAC/E,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,eAAe,CACjB,QAAmB,EACnB,WAA+C,GAAG,EAAE,CAAC,IAAI;QAEzD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;CACJ"}
package/internal/tslib.js CHANGED
@@ -1,2 +1,57 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.__setModuleDefault = exports.__createBinding = void 0;
4
+ exports.__importStar = __importStar;
5
+ var __createBinding = Object.create
6
+ ? function (o, m, k, k2) {
7
+ if (k2 === void 0)
8
+ k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = {
12
+ enumerable: true,
13
+ get: function () {
14
+ return m[k];
15
+ },
16
+ };
17
+ }
18
+ Object.defineProperty(o, k2, desc);
19
+ }
20
+ : function (o, m, k, k2) {
21
+ if (k2 === void 0)
22
+ k2 = k;
23
+ o[k2] = m[k];
24
+ };
25
+ exports.__createBinding = __createBinding;
26
+ var __setModuleDefault = Object.create
27
+ ? function (o, v) {
28
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29
+ }
30
+ : function (o, v) {
31
+ o["default"] = v;
32
+ };
33
+ exports.__setModuleDefault = __setModuleDefault;
34
+ var ownKeys = function (o) {
35
+ ownKeys =
36
+ Object.getOwnPropertyNames ||
37
+ function (o2) {
38
+ var ar = [];
39
+ for (var k in o2)
40
+ if (Object.prototype.hasOwnProperty.call(o2, k))
41
+ ar[ar.length] = k;
42
+ return ar;
43
+ };
44
+ return ownKeys(o);
45
+ };
46
+ function __importStar(mod) {
47
+ if (mod && mod.__esModule)
48
+ return mod;
49
+ var result = {};
50
+ if (mod != null) {
51
+ for (var k = ownKeys(mod), i = 0; i < k.length; i++)
52
+ if (k[i] !== "default")
53
+ __createBinding(result, mod, k[i]);
54
+ }
55
+ __setModuleDefault(result, mod);
56
+ return result;
57
+ }
package/napi/uzu.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /* auto-generated by NAPI-RS */
2
2
  /* eslint-disable */
3
3
  export declare class ChatSession {
4
- run(input: Input, config: RunConfig, progress?: (arg: Output) => boolean | undefined | null): Output
4
+ run(input: Input, config: RunConfig, progress?: ((arg: Output) => boolean) | undefined | null): Output
5
5
  reset(): void
6
6
  }
7
7
 
@@ -12,9 +12,9 @@ export declare class Engine {
12
12
  createModelDownloadHandle(repoId: string): ModelDownloadHandle
13
13
  constructor()
14
14
  createChatSession(model: ChatModel, config: Config): ChatSession
15
- registerLicenseStatusHandler(callback?: (arg: LicenseStatus) => void | undefined | null): void
16
- registerModelDownloadStateHandler(callback?: (arg0: string, arg1: ModelDownloadState) => void | undefined | null): void
17
- registerChatModelsHandler(callback?: (arg: Array<ChatModel>) => void | undefined | null): void
15
+ registerLicenseStatusHandler(callback?: ((arg: LicenseStatus) => void) | undefined | null): void
16
+ registerModelDownloadStateHandler(callback?: ((arg0: string, arg1: ModelDownloadState) => void) | undefined | null): void
17
+ registerChatModelsHandler(callback?: ((arg: Array<ChatModel>) => void) | undefined | null): void
18
18
  }
19
19
 
20
20
  export declare class ModelDownloadHandle {
@@ -83,6 +83,11 @@ export declare const enum FinishReason {
83
83
  ContextLimitReached = 3
84
84
  }
85
85
 
86
+ export type GrammarConfig =
87
+ | { type: 'JsonSchema', schema: string }
88
+ | { type: 'Regex', pattern: string }
89
+ | { type: 'BuiltinJson' }
90
+
86
91
  export type Input =
87
92
  | { type: 'Text', text: string }
88
93
  | { type: 'Messages', messages: Array<Message> }
@@ -170,6 +175,7 @@ export interface RunConfig {
170
175
  tokensLimit: number
171
176
  enableThinking: boolean
172
177
  samplingPolicy: SamplingPolicy
178
+ grammarConfig?: GrammarConfig
173
179
  }
174
180
 
175
181
  export interface RunStats {
@@ -179,7 +185,7 @@ export interface RunStats {
179
185
 
180
186
  export type SamplingMethod =
181
187
  | { type: 'Greedy' }
182
- | { type: 'Stochastic', temperature?: number, topK?: number, topP?: number }
188
+ | { type: 'Stochastic', temperature?: number, topK?: number, topP?: number, minP?: number }
183
189
 
184
190
  export type SamplingPolicy =
185
191
  | { type: 'Default' }
package/napi/uzu.js CHANGED
@@ -47,6 +47,7 @@ const {
47
47
  AsyncBatchSize,
48
48
  ContextLength,
49
49
  ContextMode,
50
+ GrammarConfig,
50
51
  Input,
51
52
  LicenseStatus,
52
53
  ModelStorageError,
@@ -85,6 +86,7 @@ module.exports = {
85
86
  AsyncBatchSize,
86
87
  ContextLength,
87
88
  ContextMode,
89
+ GrammarConfig,
88
90
  Input,
89
91
  LicenseStatus,
90
92
  ModelStorageError,
package/napi/uzu.mjs CHANGED
@@ -47,6 +47,7 @@ export const {
47
47
  AsyncBatchSize,
48
48
  ContextLength,
49
49
  ContextMode,
50
+ GrammarConfig,
50
51
  Input,
51
52
  LicenseStatus,
52
53
  ModelStorageError,
package/napi/uzu.node CHANGED
Binary file
package/package.json CHANGED
@@ -3,6 +3,9 @@
3
3
  "cpu": [
4
4
  "arm64"
5
5
  ],
6
+ "dependencies": {
7
+ "zod": "^4.2.1"
8
+ },
6
9
  "description": "A high-performance inference engine for AI models",
7
10
  "exports": {
8
11
  ".": {
@@ -98,5 +101,5 @@
98
101
  },
99
102
  "type": "commonjs",
100
103
  "types": "./index.d.ts",
101
- "version": "0.1.49"
104
+ "version": "0.1.51"
102
105
  }
@@ -0,0 +1,40 @@
1
+ import * as z from 'zod';
2
+ import { GrammarConfig as NapiGrammarConfig } from '../napi/uzu';
3
+ import { ToNapi } from './napi';
4
+
5
+ export class GrammarConfig implements ToNapi<NapiGrammarConfig> {
6
+ private readonly napiGrammarConfig: NapiGrammarConfig;
7
+
8
+ private constructor(napiGrammarConfig: NapiGrammarConfig) {
9
+ this.napiGrammarConfig = napiGrammarConfig;
10
+ }
11
+
12
+ static jsonSchema(schema: string): GrammarConfig {
13
+ let a = z.object({
14
+ name: z.string(),
15
+ age: z.number(),
16
+ });
17
+ const napiGrammarConfig: NapiGrammarConfig = { type: 'JsonSchema', schema: schema };
18
+ return new GrammarConfig(napiGrammarConfig);
19
+ }
20
+
21
+ static regex(pattern: string): GrammarConfig {
22
+ const napiGrammarConfig: NapiGrammarConfig = { type: 'Regex', pattern: pattern };
23
+ return new GrammarConfig(napiGrammarConfig);
24
+ }
25
+
26
+ static builtinJson(): GrammarConfig {
27
+ const napiGrammarConfig: NapiGrammarConfig = { type: 'BuiltinJson' };
28
+ return new GrammarConfig(napiGrammarConfig);
29
+ }
30
+
31
+ static fromType(type: z.ZodType): GrammarConfig {
32
+ let schema = z.toJSONSchema(type);
33
+ let schemaString = JSON.stringify(schema);
34
+ return GrammarConfig.jsonSchema(schemaString);
35
+ }
36
+
37
+ toNapi(): NapiGrammarConfig {
38
+ return this.napiGrammarConfig;
39
+ }
40
+ }
@@ -1,3 +1,4 @@
1
+ import * as z from 'zod';
1
2
  import { ParsedText as NapiParsedText } from '../napi/uzu';
2
3
 
3
4
  export class ParsedText {
@@ -14,4 +15,13 @@ export class ParsedText {
14
15
  const response = napiEntity.response ?? null;
15
16
  return new ParsedText(chainOfThought, response);
16
17
  }
18
+
19
+ structuredResponse<T extends z.ZodType>(type: T): z.infer<T> | null {
20
+ if (this.response === null) {
21
+ return null;
22
+ }
23
+ const data = JSON.parse(this.response);
24
+ const result = type.parse(data);
25
+ return result;
26
+ }
17
27
  }
@@ -1,4 +1,5 @@
1
1
  import { RunConfig as NapiRunConfig } from '../napi/uzu';
2
+ import { GrammarConfig } from './grammarConfig';
2
3
  import { ToNapi } from './napi';
3
4
  import { SamplingPolicy } from './samplingPolicy';
4
5
 
@@ -6,36 +7,51 @@ export class RunConfig implements ToNapi<NapiRunConfig> {
6
7
  readonly tokensLimit: number;
7
8
  readonly enableThinking: boolean;
8
9
  readonly samplingPolicy: SamplingPolicy;
10
+ readonly grammarConfig: GrammarConfig | null;
9
11
 
10
- private constructor(tokensLimit: number, enableThinking: boolean, samplingPolicy: SamplingPolicy) {
12
+ private constructor(
13
+ tokensLimit: number,
14
+ enableThinking: boolean,
15
+ samplingPolicy: SamplingPolicy,
16
+ grammarConfig: GrammarConfig | null,
17
+ ) {
11
18
  this.tokensLimit = tokensLimit;
12
19
  this.enableThinking = enableThinking;
13
20
  this.samplingPolicy = samplingPolicy;
21
+ this.grammarConfig = grammarConfig;
14
22
  }
15
23
 
16
24
  static default(): RunConfig {
17
- return new RunConfig(1024, true, SamplingPolicy.default());
25
+ return new RunConfig(1024, true, SamplingPolicy.default(), null);
18
26
  }
19
27
 
20
28
  withTokensLimit(tokensLimit: number): RunConfig {
21
- return new RunConfig(tokensLimit, this.enableThinking, this.samplingPolicy);
29
+ return new RunConfig(tokensLimit, this.enableThinking, this.samplingPolicy, this.grammarConfig);
22
30
  }
23
31
 
24
32
  withEnableThinking(enableThinking: boolean): RunConfig {
25
- return new RunConfig(this.tokensLimit, enableThinking, this.samplingPolicy);
33
+ return new RunConfig(this.tokensLimit, enableThinking, this.samplingPolicy, this.grammarConfig);
26
34
  }
27
35
 
28
36
  withSamplingPolicy(samplingPolicy: SamplingPolicy): RunConfig {
29
- return new RunConfig(this.tokensLimit, this.enableThinking, samplingPolicy);
37
+ return new RunConfig(this.tokensLimit, this.enableThinking, samplingPolicy, this.grammarConfig);
38
+ }
39
+
40
+ withGrammarConfig(grammarConfig: GrammarConfig | null): RunConfig {
41
+ return new RunConfig(this.tokensLimit, this.enableThinking, this.samplingPolicy, grammarConfig);
30
42
  }
31
43
 
32
44
  toNapi(): NapiRunConfig {
33
45
  const napiSamplingPolicy = this.samplingPolicy.toNapi();
34
- const napiRunConfig: NapiRunConfig = {
46
+ let napiRunConfig: NapiRunConfig = {
35
47
  tokensLimit: this.tokensLimit,
36
48
  enableThinking: this.enableThinking,
37
49
  samplingPolicy: napiSamplingPolicy,
38
50
  };
51
+ if (this.grammarConfig !== null) {
52
+ let napiGrammarConfig = this.grammarConfig.toNapi();
53
+ napiRunConfig.grammarConfig = napiGrammarConfig;
54
+ }
39
55
  return napiRunConfig;
40
56
  }
41
57
  }
@@ -13,7 +13,12 @@ export class SamplingMethod implements ToNapi<NapiSamplingMethod> {
13
13
  return new SamplingMethod(napiSamplingMethod);
14
14
  }
15
15
 
16
- static stochastic(temperature: number | null, topK: number | null, topP: number | null): SamplingMethod {
16
+ static stochastic(
17
+ temperature: number | null,
18
+ topK: number | null,
19
+ topP: number | null,
20
+ minP: number | null,
21
+ ): SamplingMethod {
17
22
  let napiSamplingMethod: NapiSamplingMethod = {
18
23
  type: 'Stochastic',
19
24
  };
@@ -26,6 +31,9 @@ export class SamplingMethod implements ToNapi<NapiSamplingMethod> {
26
31
  if (topP !== null) {
27
32
  napiSamplingMethod.topP = topP;
28
33
  }
34
+ if (minP !== null) {
35
+ napiSamplingMethod.minP = minP;
36
+ }
29
37
  return new SamplingMethod(napiSamplingMethod);
30
38
  }
31
39
 
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ export { DownloadProgressUpdate } from './bridging/downloadProgressUpdate';
10
10
  export { DownloadPhase, DownloadState } from './bridging/downloadState';
11
11
  export { Engine as default } from './bridging/engine';
12
12
  export { FinishReason } from './bridging/finishReason';
13
+ export { GrammarConfig } from './bridging/grammarConfig';
13
14
  export { Input } from './bridging/input';
14
15
  export { Message } from './bridging/message';
15
16
  export { ModelType } from './bridging/modelType';
@@ -1,4 +1,5 @@
1
1
  import { ChatSession } from '../bridging/chatSession';
2
+ import { GrammarConfig } from '../bridging/grammarConfig';
2
3
  import { Input } from '../bridging/input';
3
4
  import { Message } from '../bridging/message';
4
5
  import { Output } from '../bridging/output';
@@ -49,6 +50,11 @@ export class ChatSessionInteractor implements Interactor<ChatSession> {
49
50
  return new ChatSessionInteractor(this.modelInteractor, this.entity, config);
50
51
  }
51
52
 
53
+ grammarConfig(grammarConfig: GrammarConfig | null): ChatSessionInteractor {
54
+ const config = this.config.withGrammarConfig(grammarConfig);
55
+ return new ChatSessionInteractor(this.modelInteractor, this.entity, config);
56
+ }
57
+
52
58
  /* Run */
53
59
 
54
60
  async run(input: Input, progress: (partialOutput: Output) => boolean = () => true): Promise<Output> {
package/src/napi/uzu.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /* auto-generated by NAPI-RS */
2
2
  /* eslint-disable */
3
3
  export declare class ChatSession {
4
- run(input: Input, config: RunConfig, progress?: (arg: Output) => boolean | undefined | null): Output
4
+ run(input: Input, config: RunConfig, progress?: ((arg: Output) => boolean) | undefined | null): Output
5
5
  reset(): void
6
6
  }
7
7
 
@@ -12,9 +12,9 @@ export declare class Engine {
12
12
  createModelDownloadHandle(repoId: string): ModelDownloadHandle
13
13
  constructor()
14
14
  createChatSession(model: ChatModel, config: Config): ChatSession
15
- registerLicenseStatusHandler(callback?: (arg: LicenseStatus) => void | undefined | null): void
16
- registerModelDownloadStateHandler(callback?: (arg0: string, arg1: ModelDownloadState) => void | undefined | null): void
17
- registerChatModelsHandler(callback?: (arg: Array<ChatModel>) => void | undefined | null): void
15
+ registerLicenseStatusHandler(callback?: ((arg: LicenseStatus) => void) | undefined | null): void
16
+ registerModelDownloadStateHandler(callback?: ((arg0: string, arg1: ModelDownloadState) => void) | undefined | null): void
17
+ registerChatModelsHandler(callback?: ((arg: Array<ChatModel>) => void) | undefined | null): void
18
18
  }
19
19
 
20
20
  export declare class ModelDownloadHandle {
@@ -83,6 +83,11 @@ export declare const enum FinishReason {
83
83
  ContextLimitReached = 3
84
84
  }
85
85
 
86
+ export type GrammarConfig =
87
+ | { type: 'JsonSchema', schema: string }
88
+ | { type: 'Regex', pattern: string }
89
+ | { type: 'BuiltinJson' }
90
+
86
91
  export type Input =
87
92
  | { type: 'Text', text: string }
88
93
  | { type: 'Messages', messages: Array<Message> }
@@ -170,6 +175,7 @@ export interface RunConfig {
170
175
  tokensLimit: number
171
176
  enableThinking: boolean
172
177
  samplingPolicy: SamplingPolicy
178
+ grammarConfig?: GrammarConfig
173
179
  }
174
180
 
175
181
  export interface RunStats {
@@ -179,7 +185,7 @@ export interface RunStats {
179
185
 
180
186
  export type SamplingMethod =
181
187
  | { type: 'Greedy' }
182
- | { type: 'Stochastic', temperature?: number, topK?: number, topP?: number }
188
+ | { type: 'Stochastic', temperature?: number, topK?: number, topP?: number, minP?: number }
183
189
 
184
190
  export type SamplingPolicy =
185
191
  | { type: 'Default' }
package/src/napi/uzu.js CHANGED
@@ -47,6 +47,7 @@ const {
47
47
  AsyncBatchSize,
48
48
  ContextLength,
49
49
  ContextMode,
50
+ GrammarConfig,
50
51
  Input,
51
52
  LicenseStatus,
52
53
  ModelStorageError,
@@ -85,6 +86,7 @@ module.exports = {
85
86
  AsyncBatchSize,
86
87
  ContextLength,
87
88
  ContextMode,
89
+ GrammarConfig,
88
90
  Input,
89
91
  LicenseStatus,
90
92
  ModelStorageError,
package/src/napi/uzu.mjs CHANGED
@@ -47,6 +47,7 @@ export const {
47
47
  AsyncBatchSize,
48
48
  ContextLength,
49
49
  ContextMode,
50
+ GrammarConfig,
50
51
  Input,
51
52
  LicenseStatus,
52
53
  ModelStorageError,
package/src/napi/uzu.node CHANGED
Binary file
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.1.49';
1
+ export const VERSION = '0.1.51';
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.1.49";
1
+ export declare const VERSION = "0.1.51";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.1.49";
1
+ export declare const VERSION = "0.1.51";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.1.49';
4
+ exports.VERSION = '0.1.51';
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.1.49';
1
+ export const VERSION = '0.1.51';
2
2
  //# sourceMappingURL=version.mjs.map