@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
@@ -2,110 +2,81 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import * as Channel from "effect/Channel";
5
- import * as Chunk from "effect/Chunk";
5
+ import * as Context from "effect/Context";
6
6
  import * as Effect from "effect/Effect";
7
7
  import * as Ref from "effect/Ref";
8
8
  import * as Schema from "effect/Schema";
9
9
  import * as Stream from "effect/Stream";
10
10
  import * as AiInput from "./AiInput.js";
11
- import { AiResponse, WithResolved } from "./AiResponse.js";
12
- import { Completions } from "./Completions.js";
11
+ import * as AiLanguageModel from "./AiLanguageModel.js";
12
+ import * as AiResponse from "./AiResponse.js";
13
13
  /**
14
14
  * @since 1.0.0
15
- * @category tags
15
+ * @category Context
16
16
  */
17
- export class AiChat extends /*#__PURE__*/Effect.Tag("@effect/ai/AiChat")() {}
17
+ export class AiChat extends /*#__PURE__*/Context.Tag("@effect/ai/AiChat")() {}
18
18
  /**
19
19
  * @since 1.0.0
20
- * @category constructors
20
+ * @category Constructors
21
21
  */
22
- export const fromInput = /*#__PURE__*/Effect.fnUntraced(function* (input) {
23
- const completions = yield* Completions;
24
- const history = yield* Ref.make(AiInput.make(input));
22
+ export const fromPrompt = /*#__PURE__*/Effect.fnUntraced(function* (options) {
23
+ const languageModel = yield* AiLanguageModel.AiLanguageModel;
24
+ const context = yield* Effect.context();
25
+ const provideContext = effect => Effect.mapInputContext(effect, input => Context.merge(context, input));
26
+ const provideContextStream = stream => Stream.mapInputContext(stream, input => Context.merge(context, input));
27
+ const history = yield* Ref.make(AiInput.make(options.prompt));
25
28
  const semaphore = yield* Effect.makeSemaphore(1);
29
+ const system = options.system;
26
30
  return AiChat.of({
27
31
  history: Ref.get(history),
28
- export: Ref.get(history).pipe(Effect.flatMap(Schema.encode(AiInput.Schema)), Effect.orDie),
29
- exportJson: Ref.get(history).pipe(Effect.flatMap(Schema.encode(AiInput.SchemaJson)), Effect.orDie),
30
- send(input) {
31
- const newParts = AiInput.make(input);
32
- return Ref.get(history).pipe(Effect.flatMap(parts => {
33
- const allParts = Chunk.appendAll(parts, newParts);
34
- return completions.create(allParts).pipe(Effect.tap(response => {
35
- const responseParts = AiInput.make(response);
36
- return Ref.set(history, Chunk.appendAll(allParts, responseParts));
37
- }));
38
- }), semaphore.withPermits(1), Effect.withSpan("AiChat.send", {
39
- attributes: {
40
- input
41
- },
32
+ export: Ref.get(history).pipe(Effect.flatMap(Schema.encode(AiInput.AiInput)), Effect.orDie),
33
+ exportJson: Ref.get(history).pipe(Effect.flatMap(Schema.encode(AiInput.FromJson)), Effect.orDie),
34
+ generateText(options) {
35
+ const newInput = AiInput.make(options.prompt);
36
+ return Ref.get(history).pipe(Effect.flatMap(oldInput => {
37
+ const input = AiInput.concat(oldInput, newInput);
38
+ return languageModel.generateText({
39
+ ...options,
40
+ system,
41
+ prompt: input
42
+ }).pipe(Effect.tap(response => {
43
+ const modelInput = AiInput.make(response);
44
+ return Ref.set(history, AiInput.concat(input, modelInput));
45
+ }), provideContext);
46
+ }), semaphore.withPermits(1), Effect.withSpan("AiChat.generateText", {
42
47
  captureStackTrace: false
43
48
  }));
44
49
  },
45
- stream(input) {
50
+ streamText(options) {
46
51
  return Stream.suspend(() => {
47
52
  let combined = AiResponse.empty;
48
- return Stream.fromChannel(Channel.acquireUseRelease(semaphore.take(1).pipe(Effect.zipRight(Ref.get(history)), Effect.map(Chunk.appendAll(AiInput.make(input)))), parts => completions.stream(parts).pipe(Stream.map(chunk => {
49
- combined = combined.concat(chunk);
53
+ return Stream.fromChannel(Channel.acquireUseRelease(semaphore.take(1).pipe(Effect.zipRight(Ref.get(history)), Effect.map(history => AiInput.concat(history, AiInput.make(options.prompt)))), parts => languageModel.streamText({
54
+ ...options,
55
+ system,
56
+ prompt: parts
57
+ }).pipe(Stream.map(chunk => {
58
+ combined = AiResponse.merge(combined, chunk);
50
59
  return chunk;
51
- }), Stream.toChannel), parts => Effect.zipRight(Ref.set(history, Chunk.appendAll(parts, AiInput.make(combined))), semaphore.release(1))));
52
- }).pipe(Stream.withSpan("AiChat.stream", {
53
- attributes: {
54
- input
55
- },
60
+ }), Stream.toChannel), parts => Effect.zipRight(Ref.set(history, AiInput.concat(parts, AiInput.make(combined))), semaphore.release(1))));
61
+ }).pipe(provideContextStream, Stream.withSpan("AiChat.streamText", {
56
62
  captureStackTrace: false
57
63
  }));
58
64
  },
59
- structured(options) {
60
- const newParts = AiInput.make(options.input);
61
- return Ref.get(history).pipe(Effect.flatMap(parts => {
62
- const allParts = Chunk.appendAll(parts, newParts);
63
- return completions.structured({
65
+ generateObject(options) {
66
+ const newInput = AiInput.make(options.prompt);
67
+ return Ref.get(history).pipe(Effect.flatMap(oldInput => {
68
+ const input = AiInput.concat(oldInput, newInput);
69
+ return languageModel.generateObject({
64
70
  ...options,
65
- input: allParts
71
+ system,
72
+ prompt: input
66
73
  }).pipe(Effect.flatMap(response => {
67
- const responseParts = AiInput.make(response);
68
- return Effect.as(Ref.set(history, Chunk.appendAll(allParts, responseParts)), response.unsafeValue);
74
+ const modelInput = AiInput.make(response);
75
+ return Effect.as(Ref.set(history, AiInput.concat(input, modelInput)), response);
69
76
  }));
70
- }), semaphore.withPermits(1), Effect.withSpan("AiChat.structured", {
77
+ }), provideContext, semaphore.withPermits(1), Effect.withSpan("AiChat.generateObject", {
71
78
  attributes: {
72
- input: options.input,
73
- schema: "toolCallId" in options ? options.toolCallId : "_tag" in options.schema ? options.schema._tag : options.schema.identifier
74
- },
75
- captureStackTrace: false
76
- }));
77
- },
78
- toolkit(options) {
79
- const newParts = AiInput.make(options.input);
80
- return Ref.get(history).pipe(Effect.flatMap(parts => {
81
- const allParts = Chunk.appendAll(parts, newParts);
82
- return completions.toolkit({
83
- ...options,
84
- input: allParts
85
- }).pipe(Effect.tap(response => {
86
- const responseParts = AiInput.make(response);
87
- return Ref.set(history, Chunk.appendAll(allParts, responseParts));
88
- }));
89
- }), semaphore.withPermits(1), Effect.withSpan("AiChat.toolkit", {
90
- attributes: {
91
- input: options.input
92
- },
93
- captureStackTrace: false
94
- }));
95
- },
96
- toolkitStream(options) {
97
- return Stream.suspend(() => {
98
- let combined = WithResolved.empty;
99
- return Stream.fromChannel(Channel.acquireUseRelease(semaphore.take(1).pipe(Effect.zipRight(Ref.get(history)), Effect.map(Chunk.appendAll(AiInput.make(options.input)))), parts => completions.toolkitStream({
100
- ...options,
101
- input: parts
102
- }).pipe(Stream.map(chunk => {
103
- combined = combined.concat(chunk);
104
- return chunk;
105
- }), Stream.toChannel), parts => Effect.zipRight(Ref.set(history, Chunk.appendAll(parts, AiInput.make(combined))), semaphore.release(1))));
106
- }).pipe(Stream.withSpan("AiChat.toolkitStream", {
107
- attributes: {
108
- input: options.input
79
+ toolCallId: "toolCallId" in options ? options.toolCallId : "_tag" in options.schema ? options.schema._tag : options.schema.identifier ?? "generateObject"
109
80
  },
110
81
  captureStackTrace: false
111
82
  }));
@@ -114,17 +85,25 @@ export const fromInput = /*#__PURE__*/Effect.fnUntraced(function* (input) {
114
85
  });
115
86
  /**
116
87
  * @since 1.0.0
117
- * @category constructors
88
+ * @category Constructors
118
89
  */
119
- export const empty = /*#__PURE__*/fromInput(AiInput.empty);
90
+ export const empty = /*#__PURE__*/fromPrompt({
91
+ prompt: []
92
+ });
93
+ const decodeUnknown = /*#__PURE__*/Schema.decodeUnknown(AiInput.AiInput);
120
94
  /**
121
95
  * @since 1.0.0
122
- * @category constructors
96
+ * @category Constructors
123
97
  */
124
- export const fromExport = data => Schema.decodeUnknown(AiInput.Schema)(data).pipe(Effect.flatMap(fromInput));
98
+ export const fromExport = data => Effect.flatMap(decodeUnknown(data), prompt => fromPrompt({
99
+ prompt
100
+ }));
101
+ const decodeJson = /*#__PURE__*/Schema.decode(AiInput.FromJson);
125
102
  /**
126
103
  * @since 1.0.0
127
- * @category constructors
104
+ * @category Constructors
128
105
  */
129
- export const fromJson = data => Schema.decode(AiInput.SchemaJson)(data).pipe(Effect.flatMap(fromInput));
106
+ export const fromJson = data => Effect.flatMap(decodeJson(data), prompt => fromPrompt({
107
+ prompt
108
+ }));
130
109
  //# sourceMappingURL=AiChat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AiChat.js","names":["Channel","Chunk","Effect","Ref","Schema","Stream","AiInput","AiResponse","WithResolved","Completions","AiChat","Tag","fromInput","fnUntraced","input","completions","history","make","semaphore","makeSemaphore","of","get","export","pipe","flatMap","encode","orDie","exportJson","SchemaJson","send","newParts","parts","allParts","appendAll","create","tap","response","responseParts","set","withPermits","withSpan","attributes","captureStackTrace","stream","suspend","combined","empty","fromChannel","acquireUseRelease","take","zipRight","map","chunk","concat","toChannel","release","structured","options","as","unsafeValue","schema","toolCallId","_tag","identifier","toolkit","toolkitStream","fromExport","data","decodeUnknown","fromJson","decode"],"sources":["../../src/AiChat.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AiChat.js","names":["Channel","Context","Effect","Ref","Schema","Stream","AiInput","AiLanguageModel","AiResponse","AiChat","Tag","fromPrompt","fnUntraced","options","languageModel","context","provideContext","effect","mapInputContext","input","merge","provideContextStream","stream","history","make","prompt","semaphore","makeSemaphore","system","of","get","export","pipe","flatMap","encode","orDie","exportJson","FromJson","generateText","newInput","oldInput","concat","tap","response","modelInput","set","withPermits","withSpan","captureStackTrace","streamText","suspend","combined","empty","fromChannel","acquireUseRelease","take","zipRight","map","parts","chunk","toChannel","release","generateObject","as","attributes","toolCallId","schema","_tag","identifier","decodeUnknown","fromExport","data","decodeJson","decode","fromJson"],"sources":["../../src/AiChat.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -12,10 +12,10 @@ import * as Schema from "effect/Schema";
12
12
  import { AiError } from "./AiError.js";
13
13
  /**
14
14
  * @since 1.0.0
15
- * @category tags
15
+ * @category Context
16
16
  */
17
- export class Embeddings extends /*#__PURE__*/Context.Tag("@effect/ai/Embeddings")() {}
18
- class EmbeddingRequest extends /*#__PURE__*/Schema.TaggedRequest()("EmbeddingRequest", {
17
+ export class AiEmbeddingModel extends /*#__PURE__*/Context.Tag("@effect/ai/AiEmbeddingModel")() {}
18
+ class EmbeddingRequest extends /*#__PURE__*/Schema.TaggedRequest("@effect/ai/AiEmbeddingModel/Request")("EmbeddingRequest", {
19
19
  failure: AiError,
20
20
  success: /*#__PURE__*/Schema.mutable( /*#__PURE__*/Schema.Array(Schema.Number)),
21
21
  payload: {
@@ -32,7 +32,7 @@ const makeBatchedResolver = embedMany => RequestResolver.makeBatched(requests =>
32
32
  }))));
33
33
  /**
34
34
  * @since 1.0.0
35
- * @category constructors
35
+ * @category Constructors
36
36
  */
37
37
  export const make = options => Effect.gen(function* () {
38
38
  const cache = yield* Option.fromNullable(options.cache).pipe(Effect.flatMap(config => Request.makeCache(config)), Effect.optionFromOptional);
@@ -44,11 +44,11 @@ export const make = options => Effect.gen(function* () {
44
44
  return Option.match(cache, {
45
45
  onNone: () => request,
46
46
  onSome: cache => request.pipe(Effect.withRequestCaching(true), Effect.withRequestCache(cache))
47
- }).pipe(Effect.withSpan("Embeddings.embed", {
47
+ }).pipe(Effect.withSpan("AiEmbeddingModel.embed", {
48
48
  captureStackTrace: false
49
49
  }));
50
50
  }
51
- return Embeddings.of({
51
+ return AiEmbeddingModel.of({
52
52
  embed
53
53
  });
54
54
  });
@@ -58,7 +58,7 @@ export const make = options => Effect.gen(function* () {
58
58
  * requests, if specified) and execute them as a single batch.
59
59
  *
60
60
  * @since 1.0.0
61
- * @category constructors
61
+ * @category Constructors
62
62
  */
63
63
  export const makeDataLoader = options => Effect.gen(function* () {
64
64
  const resolver = makeBatchedResolver(options.embedMany);
@@ -69,12 +69,12 @@ export const makeDataLoader = options => Effect.gen(function* () {
69
69
  function embed(input) {
70
70
  return Effect.request(new EmbeddingRequest({
71
71
  input
72
- }), resolverDelayed).pipe(Effect.withSpan("Embeddings.embed", {
72
+ }), resolverDelayed).pipe(Effect.withSpan("AiEmbeddingModel.embed", {
73
73
  captureStackTrace: false
74
74
  }));
75
75
  }
76
- return Embeddings.of({
76
+ return AiEmbeddingModel.of({
77
77
  embed
78
78
  });
79
79
  });
80
- //# sourceMappingURL=Embeddings.js.map
80
+ //# sourceMappingURL=AiEmbeddingModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiEmbeddingModel.js","names":["dataLoader","Context","Effect","identity","Option","Request","RequestResolver","Schema","AiError","AiEmbeddingModel","Tag","EmbeddingRequest","TaggedRequest","failure","success","mutable","Array","Number","payload","input","String","makeBatchedResolver","embedMany","makeBatched","requests","map","request","pipe","flatMap","forEach","embeddings","index","succeed","discard","catchAll","error","fail","make","options","gen","cache","fromNullable","config","makeCache","optionFromOptional","resolver","maxBatchSize","batchN","embed","match","onNone","onSome","withRequestCaching","withRequestCache","withSpan","captureStackTrace","of","makeDataLoader","resolverDelayed","window"],"sources":["../../src/AiEmbeddingModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
+ import * as Predicate from "effect/Predicate";
4
5
  import * as Schema from "effect/Schema";
5
6
  /**
6
7
  * @since 1.0.0
7
8
  * @category type ids
8
9
  */
9
- export const TypeId = /*#__PURE__*/Symbol("@effect/ai/AiError");
10
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/ai/AiError");
10
11
  /**
11
12
  * @since 1.0.0
12
13
  * @category errors
@@ -17,6 +18,12 @@ export class AiError extends /*#__PURE__*/Schema.TaggedError("@effect/ai/AiError
17
18
  description: Schema.String,
18
19
  cause: /*#__PURE__*/Schema.optional(Schema.Defect)
19
20
  }) {
21
+ /**
22
+ * @since 1.0.0
23
+ */
24
+ static is(u) {
25
+ return Predicate.hasProperty(u, TypeId);
26
+ }
20
27
  /**
21
28
  * @since 1.0.0
22
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AiError.js","names":["Schema","TypeId","Symbol","AiError","TaggedError","module","String","method","description","cause","optional","Defect","message"],"sources":["../../src/AiError.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAAC,oBAAoB,CAAC;AAQjE;;;;AAIA,OAAM,MAAOC,OAAQ,sBAAQH,MAAM,CAACI,WAAW,CAAU,oBAAoB,CAAC,CAAC,SAAS,EAAE;EACxFC,MAAM,EAAEL,MAAM,CAACM,MAAM;EACrBC,MAAM,EAAEP,MAAM,CAACM,MAAM;EACrBE,WAAW,EAAER,MAAM,CAACM,MAAM;EAC1BG,KAAK,eAAET,MAAM,CAACU,QAAQ,CAACV,MAAM,CAACW,MAAM;CACrC,CAAC;EACA;;;EAGS,CAACV,MAAM,IAAYA,MAAM;EAClC;;;EAGA,IAAIW,OAAOA,CAAA;IACT,OAAO,GAAG,IAAI,CAACP,MAAM,IAAI,IAAI,CAACE,MAAM,KAAK,IAAI,CAACC,WAAW,EAAE;EAC7D","ignoreList":[]}
1
+ {"version":3,"file":"AiError.js","names":["Predicate","Schema","TypeId","Symbol","for","AiError","TaggedError","module","String","method","description","cause","optional","Defect","is","u","hasProperty","message"],"sources":["../../src/AiError.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,oBAAoB,CAAC;AAQrE;;;;AAIA,OAAM,MAAOC,OAAQ,sBAAQJ,MAAM,CAACK,WAAW,CAAU,oBAAoB,CAAC,CAAC,SAAS,EAAE;EACxFC,MAAM,EAAEN,MAAM,CAACO,MAAM;EACrBC,MAAM,EAAER,MAAM,CAACO,MAAM;EACrBE,WAAW,EAAET,MAAM,CAACO,MAAM;EAC1BG,KAAK,eAAEV,MAAM,CAACW,QAAQ,CAACX,MAAM,CAACY,MAAM;CACrC,CAAC;EACA;;;EAGA,OAAOC,EAAEA,CAACC,CAAU;IAClB,OAAOf,SAAS,CAACgB,WAAW,CAACD,CAAC,EAAEb,MAAM,CAAC;EACzC;EACA;;;EAGS,CAACA,MAAM,IAAYA,MAAM;EAClC;;;EAGA,IAAIe,OAAOA,CAAA;IACT,OAAO,GAAG,IAAI,CAACV,MAAM,IAAI,IAAI,CAACE,MAAM,KAAK,IAAI,CAACC,WAAW,EAAE;EAC7D","ignoreList":[]}