@effect/ai 0.14.1 → 0.16.0

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 (134) hide show
  1. package/AiEmbeddingModel/package.json +6 -0
  2. package/AiLanguageModel/package.json +6 -0
  3. package/AiTool/package.json +6 -0
  4. package/dist/cjs/AiChat.js +65 -86
  5. package/dist/cjs/AiChat.js.map +1 -1
  6. package/dist/cjs/{Embeddings.js → AiEmbeddingModel.js} +12 -12
  7. package/dist/cjs/AiEmbeddingModel.js.map +1 -0
  8. package/dist/cjs/AiError.js +8 -1
  9. package/dist/cjs/AiError.js.map +1 -1
  10. package/dist/cjs/AiInput.js +335 -248
  11. package/dist/cjs/AiInput.js.map +1 -1
  12. package/dist/cjs/AiLanguageModel.js +311 -0
  13. package/dist/cjs/AiLanguageModel.js.map +1 -0
  14. package/dist/cjs/AiModel.js +11 -5
  15. package/dist/cjs/AiModel.js.map +1 -1
  16. package/dist/cjs/AiPlan.js +10 -3
  17. package/dist/cjs/AiPlan.js.map +1 -1
  18. package/dist/cjs/AiResponse.js +481 -165
  19. package/dist/cjs/AiResponse.js.map +1 -1
  20. package/dist/cjs/AiTelemetry.js +10 -3
  21. package/dist/cjs/AiTelemetry.js.map +1 -1
  22. package/dist/cjs/AiTool.js +93 -0
  23. package/dist/cjs/AiTool.js.map +1 -0
  24. package/dist/cjs/AiToolkit.js +121 -98
  25. package/dist/cjs/AiToolkit.js.map +1 -1
  26. package/dist/cjs/Tokenizer.js +14 -16
  27. package/dist/cjs/Tokenizer.js.map +1 -1
  28. package/dist/cjs/index.js +7 -9
  29. package/dist/cjs/internal/aiPlan.js +6 -9
  30. package/dist/cjs/internal/aiPlan.js.map +1 -1
  31. package/dist/cjs/internal/common.js +22 -0
  32. package/dist/cjs/internal/common.js.map +1 -0
  33. package/dist/dts/AiChat.d.ts +58 -44
  34. package/dist/dts/AiChat.d.ts.map +1 -1
  35. package/dist/dts/{Embeddings.d.ts → AiEmbeddingModel.d.ts} +13 -14
  36. package/dist/dts/AiEmbeddingModel.d.ts.map +1 -0
  37. package/dist/dts/AiError.d.ts +4 -3
  38. package/dist/dts/AiError.d.ts.map +1 -1
  39. package/dist/dts/AiInput.d.ts +441 -146
  40. package/dist/dts/AiInput.d.ts.map +1 -1
  41. package/dist/dts/AiLanguageModel.d.ts +263 -0
  42. package/dist/dts/AiLanguageModel.d.ts.map +1 -0
  43. package/dist/dts/AiModel.d.ts +21 -20
  44. package/dist/dts/AiModel.d.ts.map +1 -1
  45. package/dist/dts/AiPlan.d.ts +90 -26
  46. package/dist/dts/AiPlan.d.ts.map +1 -1
  47. package/dist/dts/AiResponse.d.ts +711 -100
  48. package/dist/dts/AiResponse.d.ts.map +1 -1
  49. package/dist/dts/AiTelemetry.d.ts +175 -157
  50. package/dist/dts/AiTelemetry.d.ts.map +1 -1
  51. package/dist/dts/AiTool.d.ts +288 -0
  52. package/dist/dts/AiTool.d.ts.map +1 -0
  53. package/dist/dts/AiToolkit.d.ts +50 -111
  54. package/dist/dts/AiToolkit.d.ts.map +1 -1
  55. package/dist/dts/Tokenizer.d.ts +8 -6
  56. package/dist/dts/Tokenizer.d.ts.map +1 -1
  57. package/dist/dts/index.d.ts +8 -12
  58. package/dist/dts/index.d.ts.map +1 -1
  59. package/dist/dts/internal/common.d.ts +2 -0
  60. package/dist/dts/internal/common.d.ts.map +1 -0
  61. package/dist/esm/AiChat.js +62 -83
  62. package/dist/esm/AiChat.js.map +1 -1
  63. package/dist/esm/{Embeddings.js → AiEmbeddingModel.js} +10 -10
  64. package/dist/esm/AiEmbeddingModel.js.map +1 -0
  65. package/dist/esm/AiError.js +8 -1
  66. package/dist/esm/AiError.js.map +1 -1
  67. package/dist/esm/AiInput.js +316 -238
  68. package/dist/esm/AiInput.js.map +1 -1
  69. package/dist/esm/AiLanguageModel.js +300 -0
  70. package/dist/esm/AiLanguageModel.js.map +1 -0
  71. package/dist/esm/AiModel.js +11 -5
  72. package/dist/esm/AiModel.js.map +1 -1
  73. package/dist/esm/AiPlan.js +8 -2
  74. package/dist/esm/AiPlan.js.map +1 -1
  75. package/dist/esm/AiResponse.js +467 -162
  76. package/dist/esm/AiResponse.js.map +1 -1
  77. package/dist/esm/AiTelemetry.js +8 -2
  78. package/dist/esm/AiTelemetry.js.map +1 -1
  79. package/dist/esm/AiTool.js +82 -0
  80. package/dist/esm/AiTool.js.map +1 -0
  81. package/dist/esm/AiToolkit.js +118 -96
  82. package/dist/esm/AiToolkit.js.map +1 -1
  83. package/dist/esm/Tokenizer.js +14 -16
  84. package/dist/esm/Tokenizer.js.map +1 -1
  85. package/dist/esm/index.js +8 -12
  86. package/dist/esm/index.js.map +1 -1
  87. package/dist/esm/internal/aiPlan.js +4 -7
  88. package/dist/esm/internal/aiPlan.js.map +1 -1
  89. package/dist/esm/internal/common.js +14 -0
  90. package/dist/esm/internal/common.js.map +1 -0
  91. package/package.json +28 -36
  92. package/src/AiChat.ts +182 -207
  93. package/src/{Embeddings.ts → AiEmbeddingModel.ts} +19 -18
  94. package/src/AiError.ts +8 -1
  95. package/src/AiInput.ts +434 -313
  96. package/src/AiLanguageModel.ts +569 -0
  97. package/src/AiModel.ts +47 -29
  98. package/src/AiPlan.ts +102 -30
  99. package/src/AiResponse.ts +743 -187
  100. package/src/AiTelemetry.ts +214 -197
  101. package/src/AiTool.ts +496 -0
  102. package/src/AiToolkit.ts +200 -240
  103. package/src/Tokenizer.ts +18 -22
  104. package/src/index.ts +9 -14
  105. package/src/internal/aiPlan.ts +12 -14
  106. package/src/internal/common.ts +12 -0
  107. package/AiModels/package.json +0 -6
  108. package/AiRole/package.json +0 -6
  109. package/Completions/package.json +0 -6
  110. package/Embeddings/package.json +0 -6
  111. package/dist/cjs/AiModels.js +0 -54
  112. package/dist/cjs/AiModels.js.map +0 -1
  113. package/dist/cjs/AiRole.js +0 -106
  114. package/dist/cjs/AiRole.js.map +0 -1
  115. package/dist/cjs/Completions.js +0 -256
  116. package/dist/cjs/Completions.js.map +0 -1
  117. package/dist/cjs/Embeddings.js.map +0 -1
  118. package/dist/dts/AiModels.d.ts +0 -34
  119. package/dist/dts/AiModels.d.ts.map +0 -1
  120. package/dist/dts/AiRole.d.ts +0 -111
  121. package/dist/dts/AiRole.d.ts.map +0 -1
  122. package/dist/dts/Completions.d.ts +0 -128
  123. package/dist/dts/Completions.d.ts.map +0 -1
  124. package/dist/dts/Embeddings.d.ts.map +0 -1
  125. package/dist/esm/AiModels.js +0 -44
  126. package/dist/esm/AiModels.js.map +0 -1
  127. package/dist/esm/AiRole.js +0 -93
  128. package/dist/esm/AiRole.js.map +0 -1
  129. package/dist/esm/Completions.js +0 -245
  130. package/dist/esm/Completions.js.map +0 -1
  131. package/dist/esm/Embeddings.js.map +0 -1
  132. package/src/AiModels.ts +0 -77
  133. package/src/AiRole.ts +0 -122
  134. package/src/Completions.ts +0 -434
package/dist/esm/index.js CHANGED
@@ -2,6 +2,10 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  export * as AiChat from "./AiChat.js";
5
+ /**
6
+ * @since 1.0.0
7
+ */
8
+ export * as AiEmbeddingModel from "./AiEmbeddingModel.js";
5
9
  /**
6
10
  * @since 1.0.0
7
11
  */
@@ -13,11 +17,11 @@ export * as AiInput from "./AiInput.js";
13
17
  /**
14
18
  * @since 1.0.0
15
19
  */
16
- export * as AiModel from "./AiModel.js";
20
+ export * as AiLanguageModel from "./AiLanguageModel.js";
17
21
  /**
18
22
  * @since 1.0.0
19
23
  */
20
- export * as AiModels from "./AiModels.js";
24
+ export * as AiModel from "./AiModel.js";
21
25
  /**
22
26
  * @since 1.0.0
23
27
  */
@@ -26,10 +30,6 @@ export * as AiPlan from "./AiPlan.js";
26
30
  * @since 1.0.0
27
31
  */
28
32
  export * as AiResponse from "./AiResponse.js";
29
- /**
30
- * @since 1.0.0
31
- */
32
- export * as AiRole from "./AiRole.js";
33
33
  /**
34
34
  * @since 1.0.0
35
35
  */
@@ -37,15 +37,11 @@ export * as AiTelemetry from "./AiTelemetry.js";
37
37
  /**
38
38
  * @since 1.0.0
39
39
  */
40
- export * as AiToolkit from "./AiToolkit.js";
41
- /**
42
- * @since 1.0.0
43
- */
44
- export * as Completions from "./Completions.js";
40
+ export * as AiTool from "./AiTool.js";
45
41
  /**
46
42
  * @since 1.0.0
47
43
  */
48
- export * as Embeddings from "./Embeddings.js";
44
+ export * as AiToolkit from "./AiToolkit.js";
49
45
  /**
50
46
  * @since 1.0.0
51
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AiChat","AiError","AiInput","AiModel","AiModels","AiPlan","AiResponse","AiRole","AiTelemetry","AiToolkit","Completions","Embeddings","Tokenizer"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["AiChat","AiEmbeddingModel","AiError","AiInput","AiLanguageModel","AiModel","AiPlan","AiResponse","AiTelemetry","AiTool","AiToolkit","Tokenizer"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import * as Context from "effect/Context";
2
1
  import * as Effect from "effect/Effect";
3
2
  import { CommitPrototype } from "effect/Effectable";
4
3
  import * as Either from "effect/Either";
@@ -8,7 +7,6 @@ import { pipeArguments } from "effect/Pipeable";
8
7
  import * as Predicate from "effect/Predicate";
9
8
  import * as Schedule from "effect/Schedule";
10
9
  import * as Scope from "effect/Scope";
11
- import { AiModels } from "../AiModels.js";
12
10
  /** @internal */
13
11
  export const TypeId = /*#__PURE__*/Symbol.for("@effect/ai/AiPlan");
14
12
  /** @internal */
@@ -28,9 +26,8 @@ const makePlan = steps => {
28
26
  return self;
29
27
  };
30
28
  const buildPlan = plan => Effect.map(Effect.context(), context => {
31
- const models = Context.get(context, AiModels);
32
29
  return {
33
- provide: Effect.fnUntraced(function* (effect) {
30
+ use: Effect.fnUntraced(function* (effect) {
34
31
  let result = undefined;
35
32
  for (const step of plan.steps) {
36
33
  if (result !== undefined && Either.isLeft(result) && Option.isSome(step.check)) {
@@ -39,7 +36,7 @@ const buildPlan = plan => Effect.map(Effect.context(), context => {
39
36
  if (isFatalError) break;
40
37
  }
41
38
  const retryOptions = getRetryOptions(step);
42
- result = yield* Effect.scopedWith(scope => models.build(step.model, context).pipe(Scope.extend(scope), Effect.flatMap(context => effect.pipe(Option.isSome(retryOptions) ? Effect.retry(retryOptions.value) : identity, Effect.provide(context))), Effect.either));
39
+ result = yield* Effect.scopedWith(scope => step.model.buildContext.pipe(Scope.extend(scope), Effect.flatMap(context => effect.pipe(Option.isSome(retryOptions) ? Effect.retry(retryOptions.value) : identity, Effect.provide(context))), Effect.provide(context), Effect.either));
43
40
  if (Either.isRight(result)) break;
44
41
  }
45
42
  return yield* result;
@@ -56,8 +53,8 @@ const getRetryOptions = step => {
56
53
  });
57
54
  };
58
55
  /** @internal */
59
- export const fromModel = (model, options) => makePlan([{
60
- model,
56
+ export const make = options => makePlan([{
57
+ model: options.model,
61
58
  check: Option.fromNullable(options?.while),
62
59
  schedule: resolveSchedule(options ?? {})
63
60
  }]);
@@ -1 +1 @@
1
- {"version":3,"file":"aiPlan.js","names":["Context","Effect","CommitPrototype","Either","dual","identity","Option","pipeArguments","Predicate","Schedule","Scope","AiModels","TypeId","Symbol","for","PlanPrototype","commit","buildPlan","pipe","arguments","makePlan","steps","self","Object","create","plan","map","context","models","get","provide","fnUntraced","effect","result","undefined","step","isLeft","isSome","check","value","left","isFatalError","isEffect","retryOptions","getRetryOptions","scopedWith","scope","build","model","extend","flatMap","retry","either","isRight","isNone","schedule","none","some","getOrUndefined","while","fromModel","options","fromNullable","resolveSchedule","withFallback","isUndefined","attempts","forever","isNotUndefined","intersect","recurs","concatSteps","other"],"sources":["../../../src/internal/aiPlan.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"aiPlan.js","names":["Effect","CommitPrototype","Either","dual","identity","Option","pipeArguments","Predicate","Schedule","Scope","TypeId","Symbol","for","PlanPrototype","commit","buildPlan","pipe","arguments","makePlan","steps","self","Object","create","plan","map","context","use","fnUntraced","effect","result","undefined","step","isLeft","isSome","check","value","left","isFatalError","isEffect","retryOptions","getRetryOptions","scopedWith","scope","model","buildContext","extend","flatMap","retry","provide","either","isRight","isNone","schedule","none","some","getOrUndefined","while","make","options","fromNullable","resolveSchedule","withFallback","isUndefined","attempts","forever","isNotUndefined","intersect","recurs","concatSteps","other"],"sources":["../../../src/internal/aiPlan.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import * as Schema from "effect/Schema";
2
+ /** @internal */
3
+ export const ToolCallId = /*#__PURE__*/Schema.String.pipe( /*#__PURE__*/Schema.brand("@effect/ai/ToolCallId"));
4
+ /** @internal */
5
+ export const ProviderMetadata = /*#__PURE__*/Schema.Record({
6
+ key: Schema.String,
7
+ value: Schema.Record({
8
+ key: Schema.String,
9
+ value: Schema.Unknown
10
+ })
11
+ }).annotations({
12
+ identifier: "@effect/ai/ProviderMetadata"
13
+ });
14
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","names":["Schema","ToolCallId","String","pipe","brand","ProviderMetadata","Record","key","value","Unknown","annotations","identifier"],"sources":["../../../src/internal/common.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC;AACA,OAAO,MAAMC,UAAU,gBAAGD,MAAM,CAACE,MAAM,CAACC,IAAI,eAC1CH,MAAM,CAACI,KAAK,CAAC,uBAAuB,CAAC,CACtC;AAED;AACA,OAAO,MAAMC,gBAAgB,gBAAGL,MAAM,CAACM,MAAM,CAAC;EAC5CC,GAAG,EAAEP,MAAM,CAACE,MAAM;EAClBM,KAAK,EAAER,MAAM,CAACM,MAAM,CAAC;IAAEC,GAAG,EAAEP,MAAM,CAACE,MAAM;IAAEM,KAAK,EAAER,MAAM,CAACS;EAAO,CAAE;CACnE,CAAC,CAACC,WAAW,CAAC;EAAEC,UAAU,EAAE;AAA6B,CAAE,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/ai",
3
- "version": "0.14.1",
3
+ "version": "0.16.0",
4
4
  "description": "Effect modules for working with AI apis",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -12,9 +12,9 @@
12
12
  "homepage": "https://effect.website",
13
13
  "dependencies": {},
14
14
  "peerDependencies": {
15
- "@effect/experimental": "^0.45.1",
16
- "@effect/platform": "^0.81.1",
17
- "effect": "^3.14.22"
15
+ "@effect/experimental": "^0.46.0",
16
+ "@effect/platform": "^0.82.0",
17
+ "effect": "^3.15.0"
18
18
  },
19
19
  "publishConfig": {
20
20
  "provenance": true
@@ -34,6 +34,11 @@
34
34
  "import": "./dist/esm/AiChat.js",
35
35
  "default": "./dist/cjs/AiChat.js"
36
36
  },
37
+ "./AiEmbeddingModel": {
38
+ "types": "./dist/dts/AiEmbeddingModel.d.ts",
39
+ "import": "./dist/esm/AiEmbeddingModel.js",
40
+ "default": "./dist/cjs/AiEmbeddingModel.js"
41
+ },
37
42
  "./AiError": {
38
43
  "types": "./dist/dts/AiError.d.ts",
39
44
  "import": "./dist/esm/AiError.js",
@@ -44,16 +49,16 @@
44
49
  "import": "./dist/esm/AiInput.js",
45
50
  "default": "./dist/cjs/AiInput.js"
46
51
  },
52
+ "./AiLanguageModel": {
53
+ "types": "./dist/dts/AiLanguageModel.d.ts",
54
+ "import": "./dist/esm/AiLanguageModel.js",
55
+ "default": "./dist/cjs/AiLanguageModel.js"
56
+ },
47
57
  "./AiModel": {
48
58
  "types": "./dist/dts/AiModel.d.ts",
49
59
  "import": "./dist/esm/AiModel.js",
50
60
  "default": "./dist/cjs/AiModel.js"
51
61
  },
52
- "./AiModels": {
53
- "types": "./dist/dts/AiModels.d.ts",
54
- "import": "./dist/esm/AiModels.js",
55
- "default": "./dist/cjs/AiModels.js"
56
- },
57
62
  "./AiPlan": {
58
63
  "types": "./dist/dts/AiPlan.d.ts",
59
64
  "import": "./dist/esm/AiPlan.js",
@@ -64,31 +69,21 @@
64
69
  "import": "./dist/esm/AiResponse.js",
65
70
  "default": "./dist/cjs/AiResponse.js"
66
71
  },
67
- "./AiRole": {
68
- "types": "./dist/dts/AiRole.d.ts",
69
- "import": "./dist/esm/AiRole.js",
70
- "default": "./dist/cjs/AiRole.js"
71
- },
72
72
  "./AiTelemetry": {
73
73
  "types": "./dist/dts/AiTelemetry.d.ts",
74
74
  "import": "./dist/esm/AiTelemetry.js",
75
75
  "default": "./dist/cjs/AiTelemetry.js"
76
76
  },
77
+ "./AiTool": {
78
+ "types": "./dist/dts/AiTool.d.ts",
79
+ "import": "./dist/esm/AiTool.js",
80
+ "default": "./dist/cjs/AiTool.js"
81
+ },
77
82
  "./AiToolkit": {
78
83
  "types": "./dist/dts/AiToolkit.d.ts",
79
84
  "import": "./dist/esm/AiToolkit.js",
80
85
  "default": "./dist/cjs/AiToolkit.js"
81
86
  },
82
- "./Completions": {
83
- "types": "./dist/dts/Completions.d.ts",
84
- "import": "./dist/esm/Completions.js",
85
- "default": "./dist/cjs/Completions.js"
86
- },
87
- "./Embeddings": {
88
- "types": "./dist/dts/Embeddings.d.ts",
89
- "import": "./dist/esm/Embeddings.js",
90
- "default": "./dist/cjs/Embeddings.js"
91
- },
92
87
  "./Tokenizer": {
93
88
  "types": "./dist/dts/Tokenizer.d.ts",
94
89
  "import": "./dist/esm/Tokenizer.js",
@@ -105,39 +100,36 @@
105
100
  "AiChat": [
106
101
  "./dist/dts/AiChat.d.ts"
107
102
  ],
103
+ "AiEmbeddingModel": [
104
+ "./dist/dts/AiEmbeddingModel.d.ts"
105
+ ],
108
106
  "AiError": [
109
107
  "./dist/dts/AiError.d.ts"
110
108
  ],
111
109
  "AiInput": [
112
110
  "./dist/dts/AiInput.d.ts"
113
111
  ],
112
+ "AiLanguageModel": [
113
+ "./dist/dts/AiLanguageModel.d.ts"
114
+ ],
114
115
  "AiModel": [
115
116
  "./dist/dts/AiModel.d.ts"
116
117
  ],
117
- "AiModels": [
118
- "./dist/dts/AiModels.d.ts"
119
- ],
120
118
  "AiPlan": [
121
119
  "./dist/dts/AiPlan.d.ts"
122
120
  ],
123
121
  "AiResponse": [
124
122
  "./dist/dts/AiResponse.d.ts"
125
123
  ],
126
- "AiRole": [
127
- "./dist/dts/AiRole.d.ts"
128
- ],
129
124
  "AiTelemetry": [
130
125
  "./dist/dts/AiTelemetry.d.ts"
131
126
  ],
127
+ "AiTool": [
128
+ "./dist/dts/AiTool.d.ts"
129
+ ],
132
130
  "AiToolkit": [
133
131
  "./dist/dts/AiToolkit.d.ts"
134
132
  ],
135
- "Completions": [
136
- "./dist/dts/Completions.d.ts"
137
- ],
138
- "Embeddings": [
139
- "./dist/dts/Embeddings.d.ts"
140
- ],
141
133
  "Tokenizer": [
142
134
  "./dist/dts/Tokenizer.d.ts"
143
135
  ],