@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/cjs/index.js CHANGED
@@ -3,31 +3,29 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Tokenizer = exports.Embeddings = exports.Completions = exports.AiToolkit = exports.AiTelemetry = exports.AiRole = exports.AiResponse = exports.AiPlan = exports.AiModels = exports.AiModel = exports.AiInput = exports.AiError = exports.AiChat = void 0;
6
+ exports.Tokenizer = exports.AiToolkit = exports.AiTool = exports.AiTelemetry = exports.AiResponse = exports.AiPlan = exports.AiModel = exports.AiLanguageModel = exports.AiInput = exports.AiError = exports.AiEmbeddingModel = exports.AiChat = void 0;
7
7
  var _AiChat = _interopRequireWildcard(require("./AiChat.js"));
8
8
  exports.AiChat = _AiChat;
9
+ var _AiEmbeddingModel = _interopRequireWildcard(require("./AiEmbeddingModel.js"));
10
+ exports.AiEmbeddingModel = _AiEmbeddingModel;
9
11
  var _AiError = _interopRequireWildcard(require("./AiError.js"));
10
12
  exports.AiError = _AiError;
11
13
  var _AiInput = _interopRequireWildcard(require("./AiInput.js"));
12
14
  exports.AiInput = _AiInput;
15
+ var _AiLanguageModel = _interopRequireWildcard(require("./AiLanguageModel.js"));
16
+ exports.AiLanguageModel = _AiLanguageModel;
13
17
  var _AiModel = _interopRequireWildcard(require("./AiModel.js"));
14
18
  exports.AiModel = _AiModel;
15
- var _AiModels = _interopRequireWildcard(require("./AiModels.js"));
16
- exports.AiModels = _AiModels;
17
19
  var _AiPlan = _interopRequireWildcard(require("./AiPlan.js"));
18
20
  exports.AiPlan = _AiPlan;
19
21
  var _AiResponse = _interopRequireWildcard(require("./AiResponse.js"));
20
22
  exports.AiResponse = _AiResponse;
21
- var _AiRole = _interopRequireWildcard(require("./AiRole.js"));
22
- exports.AiRole = _AiRole;
23
23
  var _AiTelemetry = _interopRequireWildcard(require("./AiTelemetry.js"));
24
24
  exports.AiTelemetry = _AiTelemetry;
25
+ var _AiTool = _interopRequireWildcard(require("./AiTool.js"));
26
+ exports.AiTool = _AiTool;
25
27
  var _AiToolkit = _interopRequireWildcard(require("./AiToolkit.js"));
26
28
  exports.AiToolkit = _AiToolkit;
27
- var _Completions = _interopRequireWildcard(require("./Completions.js"));
28
- exports.Completions = _Completions;
29
- var _Embeddings = _interopRequireWildcard(require("./Embeddings.js"));
30
- exports.Embeddings = _Embeddings;
31
29
  var _Tokenizer = _interopRequireWildcard(require("./Tokenizer.js"));
32
30
  exports.Tokenizer = _Tokenizer;
33
31
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -3,8 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.withFallback = exports.fromModel = exports.concatSteps = exports.TypeId = exports.PlanPrototype = void 0;
7
- var Context = _interopRequireWildcard(require("effect/Context"));
6
+ exports.withFallback = exports.make = exports.concatSteps = exports.TypeId = exports.PlanPrototype = void 0;
8
7
  var Effect = _interopRequireWildcard(require("effect/Effect"));
9
8
  var _Effectable = require("effect/Effectable");
10
9
  var Either = _interopRequireWildcard(require("effect/Either"));
@@ -14,7 +13,6 @@ var _Pipeable = require("effect/Pipeable");
14
13
  var Predicate = _interopRequireWildcard(require("effect/Predicate"));
15
14
  var Schedule = _interopRequireWildcard(require("effect/Schedule"));
16
15
  var Scope = _interopRequireWildcard(require("effect/Scope"));
17
- var _AiModels = require("../AiModels.js");
18
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
18
  /** @internal */
@@ -36,9 +34,8 @@ const makePlan = steps => {
36
34
  return self;
37
35
  };
38
36
  const buildPlan = plan => Effect.map(Effect.context(), context => {
39
- const models = Context.get(context, _AiModels.AiModels);
40
37
  return {
41
- provide: Effect.fnUntraced(function* (effect) {
38
+ use: Effect.fnUntraced(function* (effect) {
42
39
  let result = undefined;
43
40
  for (const step of plan.steps) {
44
41
  if (result !== undefined && Either.isLeft(result) && Option.isSome(step.check)) {
@@ -47,7 +44,7 @@ const buildPlan = plan => Effect.map(Effect.context(), context => {
47
44
  if (isFatalError) break;
48
45
  }
49
46
  const retryOptions = getRetryOptions(step);
50
- 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) : _Function.identity, Effect.provide(context))), Effect.either));
47
+ result = yield* Effect.scopedWith(scope => step.model.buildContext.pipe(Scope.extend(scope), Effect.flatMap(context => effect.pipe(Option.isSome(retryOptions) ? Effect.retry(retryOptions.value) : _Function.identity, Effect.provide(context))), Effect.provide(context), Effect.either));
51
48
  if (Either.isRight(result)) break;
52
49
  }
53
50
  return yield* result;
@@ -64,13 +61,13 @@ const getRetryOptions = step => {
64
61
  });
65
62
  };
66
63
  /** @internal */
67
- const fromModel = (model, options) => makePlan([{
68
- model,
64
+ const make = options => makePlan([{
65
+ model: options.model,
69
66
  check: Option.fromNullable(options?.while),
70
67
  schedule: resolveSchedule(options ?? {})
71
68
  }]);
72
69
  /** @internal */
73
- exports.fromModel = fromModel;
70
+ exports.make = make;
74
71
  const withFallback = exports.withFallback = /*#__PURE__*/(0, _Function.dual)(2, (self, options) => makePlan([...self.steps, {
75
72
  model: options.model,
76
73
  check: Option.fromNullable(options.while),
@@ -1 +1 @@
1
- {"version":3,"file":"aiPlan.js","names":["Context","_interopRequireWildcard","require","Effect","_Effectable","Either","_Function","Option","_Pipeable","Predicate","Schedule","Scope","_AiModels","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","PlanPrototype","CommitPrototype","commit","buildPlan","pipe","pipeArguments","arguments","makePlan","steps","self","create","plan","map","context","models","AiModels","provide","fnUntraced","effect","result","undefined","step","isLeft","isSome","check","value","left","isFatalError","isEffect","retryOptions","getRetryOptions","scopedWith","scope","build","model","extend","flatMap","retry","identity","either","isRight","isNone","schedule","none","some","getOrUndefined","while","fromModel","options","fromNullable","resolveSchedule","withFallback","dual","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","_interopRequireWildcard","require","_Effectable","Either","_Function","Option","_Pipeable","Predicate","Schedule","Scope","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","PlanPrototype","CommitPrototype","commit","buildPlan","pipe","pipeArguments","arguments","makePlan","steps","self","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","identity","provide","either","isRight","isNone","schedule","none","some","getOrUndefined","while","make","options","fromNullable","resolveSchedule","withFallback","dual","isUndefined","attempts","forever","isNotUndefined","intersect","recurs","concatSteps","other"],"sources":["../../../src/internal/aiPlan.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ToolCallId = exports.ProviderMetadata = void 0;
7
+ var Schema = _interopRequireWildcard(require("effect/Schema"));
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ /** @internal */
11
+ const ToolCallId = exports.ToolCallId = /*#__PURE__*/Schema.String.pipe( /*#__PURE__*/Schema.brand("@effect/ai/ToolCallId"));
12
+ /** @internal */
13
+ const ProviderMetadata = exports.ProviderMetadata = /*#__PURE__*/Schema.Record({
14
+ key: Schema.String,
15
+ value: Schema.Record({
16
+ key: Schema.String,
17
+ value: Schema.Unknown
18
+ })
19
+ }).annotations({
20
+ identifier: "@effect/ai/ProviderMetadata"
21
+ });
22
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","names":["Schema","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ToolCallId","exports","String","pipe","brand","ProviderMetadata","Record","key","value","Unknown","annotations","identifier"],"sources":["../../../src/internal/common.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAuC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEvC;AACO,MAAMW,UAAU,GAAAC,OAAA,CAAAD,UAAA,gBAAGvB,MAAM,CAACyB,MAAM,CAACC,IAAI,eAC1C1B,MAAM,CAAC2B,KAAK,CAAC,uBAAuB,CAAC,CACtC;AAED;AACO,MAAMC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,gBAAG5B,MAAM,CAAC6B,MAAM,CAAC;EAC5CC,GAAG,EAAE9B,MAAM,CAACyB,MAAM;EAClBM,KAAK,EAAE/B,MAAM,CAAC6B,MAAM,CAAC;IAAEC,GAAG,EAAE9B,MAAM,CAACyB,MAAM;IAAEM,KAAK,EAAE/B,MAAM,CAACgC;EAAO,CAAE;CACnE,CAAC,CAACC,WAAW,CAAC;EAAEC,UAAU,EAAE;AAA6B,CAAE,CAAC","ignoreList":[]}
@@ -1,81 +1,95 @@
1
+ import * as Context from "effect/Context";
1
2
  import * as Effect from "effect/Effect";
2
3
  import type { ParseError } from "effect/ParseResult";
3
- import * as Schema from "effect/Schema";
4
4
  import * as Stream from "effect/Stream";
5
- import type { Concurrency } from "effect/Types";
6
5
  import type { AiError } from "./AiError.js";
7
6
  import * as AiInput from "./AiInput.js";
8
- import { AiResponse, WithResolved } from "./AiResponse.js";
9
- import type * as AiToolkit from "./AiToolkit.js";
10
- import { Completions } from "./Completions.js";
11
- declare const AiChat_base: import("effect/Context").TagClass<AiChat, "@effect/ai/AiChat", AiChat.Service> & Effect.Tag.Proxy<AiChat, AiChat.Service> & {
12
- use: <X>(body: (_: AiChat.Service) => X) => [X] extends [Effect.Effect<infer A, infer E, infer R>] ? Effect.Effect<A, E, AiChat | R> : [X] extends [PromiseLike<infer A_1>] ? Effect.Effect<A_1, import("effect/Cause").UnknownException, AiChat> : Effect.Effect<X, never, AiChat>;
13
- };
7
+ import * as AiLanguageModel from "./AiLanguageModel.js";
8
+ import * as AiResponse from "./AiResponse.js";
9
+ import type * as AiTool from "./AiTool.js";
10
+ declare const AiChat_base: Context.TagClass<AiChat, "@effect/ai/AiChat", AiChat.Service>;
14
11
  /**
15
12
  * @since 1.0.0
16
- * @category tags
13
+ * @category Context
17
14
  */
18
15
  export declare class AiChat extends AiChat_base {
19
16
  }
20
17
  /**
21
18
  * @since 1.0.0
22
- * @category models
19
+ * @category Models
23
20
  */
24
21
  export declare namespace AiChat {
25
22
  /**
26
23
  * @since 1.0.0
27
- * @category models
24
+ * @category Models
28
25
  */
29
26
  interface Service {
27
+ /**
28
+ * The chat history.
29
+ */
30
30
  readonly history: Effect.Effect<AiInput.AiInput>;
31
+ /**
32
+ * Exports the chat into a structured format.
33
+ */
31
34
  readonly export: Effect.Effect<unknown>;
35
+ /**
36
+ * Exports the chat as a JSON string.
37
+ */
32
38
  readonly exportJson: Effect.Effect<string>;
33
- readonly send: (input: AiInput.Input) => Effect.Effect<AiResponse, AiError>;
34
- readonly stream: (input: AiInput.Input) => Stream.Stream<AiResponse, AiError>;
35
- readonly structured: {
36
- <A, I, R>(options: {
37
- readonly input: AiInput.Input;
38
- readonly schema: Completions.StructuredSchema<A, I, R>;
39
- }): Effect.Effect<A, AiError, R>;
40
- <A, I, R>(options: {
41
- readonly input: AiInput.Input;
42
- readonly schema: Schema.Schema<A, I, R>;
43
- readonly toolCallId: string;
44
- }): Effect.Effect<A, AiError, R>;
45
- };
46
- readonly toolkit: <Tools extends AiToolkit.Tool.AnySchema>(options: {
47
- readonly input: AiInput.Input;
48
- readonly tools: AiToolkit.Handlers<Tools>;
49
- readonly required?: Tools["_tag"] | boolean | undefined;
50
- readonly concurrency?: Concurrency | undefined;
51
- }) => Effect.Effect<WithResolved<AiToolkit.Tool.Success<Tools>>, AiError | AiToolkit.Tool.Failure<Tools>, AiToolkit.Tool.Context<Tools>>;
52
- readonly toolkitStream: <Tools extends AiToolkit.Tool.AnySchema>(options: {
53
- readonly input: AiInput.Input;
54
- readonly tools: AiToolkit.Handlers<Tools>;
55
- readonly required?: Tools["_tag"] | boolean | undefined;
56
- readonly concurrency?: Concurrency | undefined;
57
- }) => Stream.Stream<WithResolved<AiToolkit.Tool.Success<Tools>>, AiError | AiToolkit.Tool.Failure<Tools>, AiToolkit.Tool.Context<Tools>>;
39
+ /**
40
+ * Generate text using a large language model for the specified `prompt`.
41
+ *
42
+ * If a `toolkit` is specified, the large language model will additionally
43
+ * be able to perform tool calls to augment its response.
44
+ *
45
+ * Both input and output messages will be added to the chat history.
46
+ */
47
+ readonly generateText: <Tools extends AiTool.Any, Options>(options: Options & Omit<AiLanguageModel.GenerateTextOptions<Tools>, "system">) => Effect.Effect<AiLanguageModel.ExtractSuccess<Options>, AiLanguageModel.ExtractError<Options>, AiLanguageModel.ExtractContext<Options>>;
48
+ /**
49
+ * Generate text using a large language model for the specified `prompt`,
50
+ * streaming output from the model as soon as it is available.
51
+ *
52
+ * If a `toolkit` is specified, the large language model will additionally
53
+ * be able to perform tool calls to augment its response.
54
+ *
55
+ * Both input and output messages will be added to the chat history.
56
+ */
57
+ readonly streamText: <Tools extends AiTool.Any, Options>(options: Options & Omit<AiLanguageModel.GenerateTextOptions<Tools>, "system">) => Stream.Stream<AiLanguageModel.ExtractSuccess<Options>, AiLanguageModel.ExtractError<Options>, AiLanguageModel.ExtractContext<Options>>;
58
+ /**
59
+ * Generate a structured object for the specified prompt and schema using a
60
+ * large language model.
61
+ *
62
+ * When using a `Schema` that does not have an `identifier` or `_tag`
63
+ * property, you must specify a `toolCallId` to properly associate the
64
+ * output of the model.
65
+ *
66
+ * Both input and output messages will be added to the chat history.
67
+ */
68
+ readonly generateObject: <A, I, R>(options: Omit<AiLanguageModel.GenerateObjectOptions<A, I, R>, "system">) => Effect.Effect<AiResponse.WithStructuredOutput<A>, AiError, R>;
58
69
  }
59
70
  }
60
71
  /**
61
72
  * @since 1.0.0
62
- * @category constructors
73
+ * @category Constructors
63
74
  */
64
- export declare const fromInput: (input: AiInput.Input) => Effect.Effect<AiChat.Service, never, Completions>;
75
+ export declare const fromPrompt: (options: {
76
+ readonly prompt: AiInput.Raw;
77
+ readonly system?: string;
78
+ }) => Effect.Effect<AiChat.Service, never, AiLanguageModel.AiLanguageModel>;
65
79
  /**
66
80
  * @since 1.0.0
67
- * @category constructors
81
+ * @category Constructors
68
82
  */
69
- export declare const empty: Effect.Effect<AiChat.Service, never, Completions>;
83
+ export declare const empty: Effect.Effect<AiChat.Service, never, AiLanguageModel.AiLanguageModel>;
70
84
  /**
71
85
  * @since 1.0.0
72
- * @category constructors
86
+ * @category Constructors
73
87
  */
74
- export declare const fromExport: (data: unknown) => Effect.Effect<AiChat.Service, ParseError, Completions>;
88
+ export declare const fromExport: (data: unknown) => Effect.Effect<AiChat.Service, ParseError, AiLanguageModel.AiLanguageModel>;
75
89
  /**
76
90
  * @since 1.0.0
77
- * @category constructors
91
+ * @category Constructors
78
92
  */
79
- export declare const fromJson: (data: string) => Effect.Effect<AiChat.Service, ParseError, Completions>;
93
+ export declare const fromJson: (data: string) => Effect.Effect<AiChat.Service, ParseError, AiLanguageModel.AiLanguageModel>;
80
94
  export {};
81
95
  //# sourceMappingURL=AiChat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AiChat.d.ts","sourceRoot":"","sources":["../../src/AiChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AiChat.d.ts","sourceRoot":"","sources":["../../src/AiChat.ts"],"names":[],"mappings":"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"}
@@ -2,28 +2,27 @@ import * as Context from "effect/Context";
2
2
  import type * as Duration from "effect/Duration";
3
3
  import * as Effect from "effect/Effect";
4
4
  import { AiError } from "./AiError.js";
5
- declare const Embeddings_base: Context.TagClass<Embeddings, "@effect/ai/Embeddings", Embeddings.Service>;
5
+ declare const AiEmbeddingModel_base: Context.TagClass<AiEmbeddingModel, "@effect/ai/AiEmbeddingModel", AiEmbeddingModel.Service>;
6
6
  /**
7
7
  * @since 1.0.0
8
- * @category tags
8
+ * @category Context
9
9
  */
10
- export declare class Embeddings extends Embeddings_base {
10
+ export declare class AiEmbeddingModel extends AiEmbeddingModel_base {
11
11
  }
12
12
  /**
13
13
  * @since 1.0.0
14
- * @category models
15
14
  */
16
- export declare namespace Embeddings {
15
+ export declare namespace AiEmbeddingModel {
17
16
  /**
18
17
  * @since 1.0.0
19
- * @category models
18
+ * @category Models
20
19
  */
21
20
  interface Service {
22
21
  readonly embed: (input: string) => Effect.Effect<Array<number>, AiError>;
23
22
  }
24
23
  /**
25
24
  * @since 1.0.0
26
- * @category models
25
+ * @category Models
27
26
  */
28
27
  interface Result {
29
28
  readonly index: number;
@@ -32,28 +31,28 @@ export declare namespace Embeddings {
32
31
  }
33
32
  /**
34
33
  * @since 1.0.0
35
- * @category constructors
34
+ * @category Constructors
36
35
  */
37
36
  export declare const make: (options: {
38
- readonly embedMany: (input: ReadonlyArray<string>) => Effect.Effect<Array<Embeddings.Result>, AiError>;
37
+ readonly embedMany: (input: ReadonlyArray<string>) => Effect.Effect<Array<AiEmbeddingModel.Result>, AiError>;
39
38
  readonly maxBatchSize?: number;
40
39
  readonly cache?: {
41
40
  readonly capacity: number;
42
41
  readonly timeToLive: Duration.DurationInput;
43
42
  };
44
- }) => Effect.Effect<Embeddings.Service, never, never>;
43
+ }) => Effect.Effect<AiEmbeddingModel.Service, never, never>;
45
44
  /**
46
45
  * Creates an `Embeddings` service which will aggregate all `embed` requests
47
46
  * received during the specified `window` (up to a maximum of `maxBatchSize`
48
47
  * requests, if specified) and execute them as a single batch.
49
48
  *
50
49
  * @since 1.0.0
51
- * @category constructors
50
+ * @category Constructors
52
51
  */
53
52
  export declare const makeDataLoader: (options: {
54
- readonly embedMany: (input: ReadonlyArray<string>) => Effect.Effect<Array<Embeddings.Result>, AiError>;
53
+ readonly embedMany: (input: ReadonlyArray<string>) => Effect.Effect<Array<AiEmbeddingModel.Result>, AiError>;
55
54
  readonly window: Duration.DurationInput;
56
55
  readonly maxBatchSize?: number;
57
- }) => Effect.Effect<Embeddings.Service, never, import("effect/Scope").Scope>;
56
+ }) => Effect.Effect<AiEmbeddingModel.Service, never, import("effect/Scope").Scope>;
58
57
  export {};
59
- //# sourceMappingURL=Embeddings.d.ts.map
58
+ //# sourceMappingURL=AiEmbeddingModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiEmbeddingModel.d.ts","sourceRoot":"","sources":["../../src/AiEmbeddingModel.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAMvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;;AAEtC;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAGnC;CAAG;AAEN;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC;;;OAGG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;KACzE;IAED;;;OAGG;IACH,UAAiB,MAAM;QACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KACnC;CACF;AAgCD;;;GAGG;AACH,eAAO,MAAM,IAAI,YAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;IAC5G,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAA;KAC5C,CAAA;CACF,0DA0BG,CAAA;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,YAAa;IACtC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;IAC5G,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAA;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B,iFAiBG,CAAA"}
@@ -1,6 +1,3 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
1
  import * as Schema from "effect/Schema";
5
2
  /**
6
3
  * @since 1.0.0
@@ -25,6 +22,10 @@ declare const AiError_base: Schema.TaggedErrorClass<AiError, "AiError", {
25
22
  * @category errors
26
23
  */
27
24
  export declare class AiError extends AiError_base {
25
+ /**
26
+ * @since 1.0.0
27
+ */
28
+ static is(u: unknown): u is AiError;
28
29
  /**
29
30
  * @since 1.0.0
30
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AiError.d.ts","sourceRoot":"","sources":["../../src/AiError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAqC,CAAA;AAEjE;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;;;;;;;;;AAElC;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,YAK3B;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAS;IAClC;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF"}
1
+ {"version":3,"file":"AiError.d.ts","sourceRoot":"","sources":["../../src/AiError.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAyC,CAAA;AAErE;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;;;;;;;;;AAElC;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,YAK3B;IACA;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,OAAO;IAGnC;;OAEG;IACH,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAS;IAClC;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF"}