@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
@@ -1 +1 @@
1
- {"version":3,"file":"AiResponse.js","names":["Chunk","Data","Effect","Iterable","Option","Predicate","Schema","AiError","AiRole","TypeId","Symbol","PartTypeId","constDisableValidation","disableValidation","TextPart","TaggedClass","content","String","fromContent","ToolCallId","pipe","brand","ToolCallPart","id","name","params","Unknown","fromJson","try","make","JSON","parse","catch","cause","module","method","description","fromUnknown","ImageUrlPart","url","Part","Union","AiResponse","Class","role","parts","is","u","hasProperty","empty","model","fromText","options","of","text","found","part","_tag","imageUrl","some","none","withToolCallsJson","calls","forEach","call","map","appendAll","unsafeFromArray","withToolCallsUnknown","fromIterable","concat","that","isEmpty","lastPart","last","isNone","newParts","value","length","push","dropRight","WithResolvedTypeId","WithResolved","response","resolved","Map","encoded","values","Array","from","head","unsafeValue","unsafeHead","size"],"sources":["../../src/AiResponse.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AiResponse.js","names":["Effect","dual","Option","Predicate","Schema","AiError","InternalCommon","constDisableValidation","disableValidation","TypeId","Symbol","for","AiResponse","Class","parts","Array","suspend","Part","text","found","part","_tag","finishReason","finishPart","find","reason","getProviderMetadata","tag","fromNullable","providerMetadata","key","FromJson","parseJson","StructuredResponseTypeId","WithStructuredOutput","id","name","value","constructor","props","options","WithToolCallResultsTypeId","WithToolCallResults","results","encodedResults","PartTypeId","ContentSourceAnnotation","TaggedClass","String","index","Int","type","referencedContent","startIndex","endIndex","FileAnnotation","UrlAnnotation","url","title","Annotation","Union","TextPart","annotations","optionalWith","default","ReasoningPart","reasoningText","signature","optional","RedactedReasoningPart","redactedText","ToolCallId","ToolCallPart","params","Unknown","fromJson","try","make","JSON","parse","catch","cause","module","method","description","fromUnknown","MetadataPart","model","timestamp","DateFromNumber","FinishReason","Literal","Usage","inputTokens","Number","outputTokens","totalTokens","reasoningTokens","cacheReadInputTokens","cacheWriteInputTokens","FinishPart","usage","Record","is","u","hasProperty","isPart","isStructured","hasToolCallResults","empty","merge","self","other","length","lastPart","newParts","push","slice","withToolCallsJson","toolCalls","forEach","toolCall","pipe","map"],"sources":["../../src/AiResponse.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 Context from "effect/Context";
4
5
  import { dual } from "effect/Function";
5
6
  import * as Predicate from "effect/Predicate";
6
7
  import * as String from "effect/String";
7
8
  /**
8
9
  * @since 1.0.0
9
- * @category utilities
10
+ * @category Utilities
10
11
  */
11
12
  export const addSpanAttributes = (keyPrefix, transformKey) => (span, attributes) => {
12
13
  for (const [key, value] of Object.entries(attributes)) {
@@ -27,7 +28,7 @@ const addSpanUsageAttributes = /*#__PURE__*/addSpanAttributes("gen_ai.usage", St
27
28
  * **NOTE**: This method will mutate the `Span` **in-place**.
28
29
  *
29
30
  * @since 1.0.0
30
- * @since utilities
31
+ * @since Utilities
31
32
  */
32
33
  export const addGenAIAnnotations = /*#__PURE__*/dual(2, (span, options) => {
33
34
  addSpanBaseAttributes(span, {
@@ -39,4 +40,9 @@ export const addGenAIAnnotations = /*#__PURE__*/dual(2, (span, options) => {
39
40
  if (Predicate.isNotNullable(options.token)) addSpanTokenAttributes(span, options.token);
40
41
  if (Predicate.isNotNullable(options.usage)) addSpanUsageAttributes(span, options.usage);
41
42
  });
43
+ /**
44
+ * @since 1.0.0
45
+ * @category Context
46
+ */
47
+ export class CurrentSpanTransformer extends /*#__PURE__*/Context.Tag("@effect/ai/AiTelemetry/CurrentSpanTransformer")() {}
42
48
  //# sourceMappingURL=AiTelemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AiTelemetry.js","names":["dual","Predicate","String","addSpanAttributes","keyPrefix","transformKey","span","attributes","key","value","Object","entries","isNotNullable","attribute","addSpanBaseAttributes","camelToSnake","addSpanOperationAttributes","addSpanRequestAttributes","addSpanResponseAttributes","addSpanTokenAttributes","addSpanUsageAttributes","addGenAIAnnotations","options","system","operation","request","response","token","usage"],"sources":["../../src/AiTelemetry.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AA6NvC;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAGA,CAC/BC,SAAiB,EACjBC,YAAqC,KAEvC,CAAyCC,IAAU,EAAEC,UAAsB,KAAU;EACnF,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,UAAU,CAAC,EAAE;IACrD,IAAIN,SAAS,CAACW,aAAa,CAACH,KAAK,CAAC,EAAE;MAClCH,IAAI,CAACO,SAAS,CAAC,GAAGT,SAAS,IAAIC,YAAY,CAACG,GAAG,CAAC,EAAE,EAAEC,KAAK,CAAC;IAC5D;EACF;AACF,CAAC;AAED,MAAMK,qBAAqB,gBAAGX,iBAAiB,CAAC,QAAQ,EAAED,MAAM,CAACa,YAAY,CAAuB;AACpG,MAAMC,0BAA0B,gBAAGb,iBAAiB,CAAC,kBAAkB,EAAED,MAAM,CAACa,YAAY,CAA4B;AACxH,MAAME,wBAAwB,gBAAGd,iBAAiB,CAAC,gBAAgB,EAAED,MAAM,CAACa,YAAY,CAA0B;AAClH,MAAMG,yBAAyB,gBAAGf,iBAAiB,CAAC,iBAAiB,EAAED,MAAM,CAACa,YAAY,CAA2B;AACrH,MAAMI,sBAAsB,gBAAGhB,iBAAiB,CAAC,cAAc,EAAED,MAAM,CAACa,YAAY,CAAwB;AAC5G,MAAMK,sBAAsB,gBAAGjB,iBAAiB,CAAC,cAAc,EAAED,MAAM,CAACa,YAAY,CAAwB;AAc5G;;;;;;;;AAQA,OAAO,MAAMM,mBAAmB,gBAmB5BrB,IAAI,CAmBN,CAAC,EAAE,CAACM,IAAI,EAAEgB,OAAO,KAAI;EACrBR,qBAAqB,CAACR,IAAI,EAAE;IAAEiB,MAAM,EAAED,OAAO,CAACC;EAAM,CAAE,CAAC;EACvD,IAAItB,SAAS,CAACW,aAAa,CAACU,OAAO,CAACE,SAAS,CAAC,EAAER,0BAA0B,CAACV,IAAI,EAAEgB,OAAO,CAACE,SAAS,CAAC;EACnG,IAAIvB,SAAS,CAACW,aAAa,CAACU,OAAO,CAACG,OAAO,CAAC,EAAER,wBAAwB,CAACX,IAAI,EAAEgB,OAAO,CAACG,OAAO,CAAC;EAC7F,IAAIxB,SAAS,CAACW,aAAa,CAACU,OAAO,CAACI,QAAQ,CAAC,EAAER,yBAAyB,CAACZ,IAAI,EAAEgB,OAAO,CAACI,QAAQ,CAAC;EAChG,IAAIzB,SAAS,CAACW,aAAa,CAACU,OAAO,CAACK,KAAK,CAAC,EAAER,sBAAsB,CAACb,IAAI,EAAEgB,OAAO,CAACK,KAAK,CAAC;EACvF,IAAI1B,SAAS,CAACW,aAAa,CAACU,OAAO,CAACM,KAAK,CAAC,EAAER,sBAAsB,CAACd,IAAI,EAAEgB,OAAO,CAACM,KAAK,CAAC;AACzF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"AiTelemetry.js","names":["Context","dual","Predicate","String","addSpanAttributes","keyPrefix","transformKey","span","attributes","key","value","Object","entries","isNotNullable","attribute","addSpanBaseAttributes","camelToSnake","addSpanOperationAttributes","addSpanRequestAttributes","addSpanResponseAttributes","addSpanTokenAttributes","addSpanUsageAttributes","addGenAIAnnotations","options","system","operation","request","response","token","usage","CurrentSpanTransformer","Tag"],"sources":["../../src/AiTelemetry.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAyNvC;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAGA,CAC/BC,SAAiB,EACjBC,YAAqC,KAEvC,CAAyCC,IAAU,EAAEC,UAAsB,KAAU;EACnF,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,UAAU,CAAC,EAAE;IACrD,IAAIN,SAAS,CAACW,aAAa,CAACH,KAAK,CAAC,EAAE;MAClCH,IAAI,CAACO,SAAS,CAAC,GAAGT,SAAS,IAAIC,YAAY,CAACG,GAAG,CAAC,EAAE,EAAEC,KAAK,CAAC;IAC5D;EACF;AACF,CAAC;AAED,MAAMK,qBAAqB,gBAAGX,iBAAiB,CAAC,QAAQ,EAAED,MAAM,CAACa,YAAY,CAAiB;AAC9F,MAAMC,0BAA0B,gBAAGb,iBAAiB,CAAC,kBAAkB,EAAED,MAAM,CAACa,YAAY,CAAsB;AAClH,MAAME,wBAAwB,gBAAGd,iBAAiB,CAAC,gBAAgB,EAAED,MAAM,CAACa,YAAY,CAAoB;AAC5G,MAAMG,yBAAyB,gBAAGf,iBAAiB,CAAC,iBAAiB,EAAED,MAAM,CAACa,YAAY,CAAqB;AAC/G,MAAMI,sBAAsB,gBAAGhB,iBAAiB,CAAC,cAAc,EAAED,MAAM,CAACa,YAAY,CAAkB;AACtG,MAAMK,sBAAsB,gBAAGjB,iBAAiB,CAAC,cAAc,EAAED,MAAM,CAACa,YAAY,CAAkB;AActG;;;;;;;;AAQA,OAAO,MAAMM,mBAAmB,gBAmB5BrB,IAAI,CAmBN,CAAC,EAAE,CAACM,IAAI,EAAEgB,OAAO,KAAI;EACrBR,qBAAqB,CAACR,IAAI,EAAE;IAAEiB,MAAM,EAAED,OAAO,CAACC;EAAM,CAAE,CAAC;EACvD,IAAItB,SAAS,CAACW,aAAa,CAACU,OAAO,CAACE,SAAS,CAAC,EAAER,0BAA0B,CAACV,IAAI,EAAEgB,OAAO,CAACE,SAAS,CAAC;EACnG,IAAIvB,SAAS,CAACW,aAAa,CAACU,OAAO,CAACG,OAAO,CAAC,EAAER,wBAAwB,CAACX,IAAI,EAAEgB,OAAO,CAACG,OAAO,CAAC;EAC7F,IAAIxB,SAAS,CAACW,aAAa,CAACU,OAAO,CAACI,QAAQ,CAAC,EAAER,yBAAyB,CAACZ,IAAI,EAAEgB,OAAO,CAACI,QAAQ,CAAC;EAChG,IAAIzB,SAAS,CAACW,aAAa,CAACU,OAAO,CAACK,KAAK,CAAC,EAAER,sBAAsB,CAACb,IAAI,EAAEgB,OAAO,CAACK,KAAK,CAAC;EACvF,IAAI1B,SAAS,CAACW,aAAa,CAACU,OAAO,CAACM,KAAK,CAAC,EAAER,sBAAsB,CAACd,IAAI,EAAEgB,OAAO,CAACM,KAAK,CAAC;AACzF,CAAC,CAAC;AAcF;;;;AAIA,OAAM,MAAOC,sBAAuB,sBAAQ9B,OAAO,CAAC+B,GAAG,CAAC,+CAA+C,CAAC,EAGrG","ignoreList":[]}
@@ -0,0 +1,82 @@
1
+ import * as Option from "effect/Option";
2
+ import { pipeArguments } from "effect/Pipeable";
3
+ import * as Predicate from "effect/Predicate";
4
+ import * as Schema from "effect/Schema";
5
+ import * as AST from "effect/SchemaAST";
6
+ /**
7
+ * @since 1.0.0
8
+ * @category Type Ids
9
+ */
10
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/ai/AiTool");
11
+ /**
12
+ * @since 1.0.0
13
+ * @category Guards
14
+ */
15
+ export const isAiTool = u => Predicate.hasProperty(u, TypeId);
16
+ const Proto = {
17
+ [TypeId]: TypeId,
18
+ pipe() {
19
+ return pipeArguments(this, arguments);
20
+ },
21
+ addRequirement() {
22
+ return makeProto({
23
+ ...this
24
+ });
25
+ },
26
+ setSuccess(successSchema) {
27
+ return makeProto({
28
+ ...this,
29
+ successSchema
30
+ });
31
+ },
32
+ setFailure(failureSchema) {
33
+ return makeProto({
34
+ ...this,
35
+ failureSchema
36
+ });
37
+ },
38
+ setParameters(parametersSchema) {
39
+ return makeProto({
40
+ ...this,
41
+ parametersSchema: Schema.isSchema(parametersSchema) ? parametersSchema : Schema.Struct(parametersSchema)
42
+ });
43
+ }
44
+ };
45
+ const makeProto = options => {
46
+ const self = Object.assign(Object.create(Proto), options);
47
+ self.key = `@effect/ai/AiTool/${options.name}`;
48
+ return self;
49
+ };
50
+ const constEmptyStruct = /*#__PURE__*/Schema.Struct({});
51
+ /**
52
+ * Constructs an `AiTool` from a name and, optionally, a specification for the
53
+ * tool call's protocol.
54
+ *
55
+ * @since 1.0.0
56
+ * @category constructors
57
+ */
58
+ export const make = (name, options) => {
59
+ const successSchema = options?.success ?? Schema.Void;
60
+ const failureSchema = options?.failure ?? Schema.Never;
61
+ return makeProto({
62
+ name,
63
+ description: options?.description,
64
+ parametersSchema: options?.parameters ? Schema.Struct(options?.parameters) : constEmptyStruct,
65
+ successSchema,
66
+ failureSchema
67
+ });
68
+ };
69
+ /**
70
+ * Constructs a new `AiTool` from a `Schema.TaggedRequest`.
71
+ *
72
+ * @since 1.0.0
73
+ * @category constructors
74
+ */
75
+ export const fromTaggedRequest = schema => makeProto({
76
+ name: schema._tag,
77
+ description: Option.getOrUndefined(AST.getDescriptionAnnotation(schema.ast.to)),
78
+ parametersSchema: schema,
79
+ successSchema: schema.success,
80
+ failureSchema: schema.failure
81
+ });
82
+ //# sourceMappingURL=AiTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiTool.js","names":["Option","pipeArguments","Predicate","Schema","AST","TypeId","Symbol","for","isAiTool","u","hasProperty","Proto","pipe","arguments","addRequirement","makeProto","setSuccess","successSchema","setFailure","failureSchema","setParameters","parametersSchema","isSchema","Struct","options","self","Object","assign","create","key","name","constEmptyStruct","make","success","Void","failure","Never","description","parameters","fromTaggedRequest","schema","_tag","getOrUndefined","getDescriptionAnnotation","ast","to"],"sources":["../../src/AiTool.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,SAAwBC,aAAa,QAAQ,iBAAiB;AAC9D,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,GAAG,MAAM,kBAAkB;AAIvC;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,mBAAmB,CAAC;AAoGpE;;;;AAIA,OAAO,MAAMC,QAAQ,GAAIC,CAAU,IAA2CP,SAAS,CAACQ,WAAW,CAACD,CAAC,EAAEJ,MAAM,CAAC;AAwQ9G,MAAMM,KAAK,GAAG;EACZ,CAACN,MAAM,GAAGA,MAAM;EAChBO,IAAIA,CAAA;IACF,OAAOX,aAAa,CAAC,IAAI,EAAEY,SAAS,CAAC;EACvC,CAAC;EACDC,cAAcA,CAAA;IACZ,OAAOC,SAAS,CAAC;MAAE,GAAG;IAAI,CAAE,CAAC;EAC/B,CAAC;EACDC,UAAUA,CAAwBC,aAAgC;IAChE,OAAOF,SAAS,CAAC;MACf,GAAG,IAAI;MACPE;KACD,CAAC;EACJ,CAAC;EACDC,UAAUA,CAAwBC,aAAgC;IAChE,OAAOJ,SAAS,CAAC;MACf,GAAG,IAAI;MACPI;KACD,CAAC;EACJ,CAAC;EACDC,aAAaA,CAAwBC,gBAA2D;IAC9F,OAAON,SAAS,CAAC;MACf,GAAG,IAAI;MACPM,gBAAgB,EAAElB,MAAM,CAACmB,QAAQ,CAACD,gBAAgB,CAAC,GAC/CA,gBAAuB,GACvBlB,MAAM,CAACoB,MAAM,CAACF,gBAAuB;KAC1C,CAAC;EACJ;CACD;AAED,MAAMN,SAAS,GAKbS,OAMD,IAAuC;EACtC,MAAMC,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACjB,KAAK,CAAC,EAAEa,OAAO,CAAC;EACzDC,IAAI,CAACI,GAAG,GAAG,qBAAqBL,OAAO,CAACM,IAAI,EAAE;EAC9C,OAAOL,IAAI;AACb,CAAC;AAED,MAAMM,gBAAgB,gBAAG5B,MAAM,CAACoB,MAAM,CAAC,EAAE,CAAC;AAE1C;;;;;;;AAOA,OAAO,MAAMS,IAAI,GAAGA,CAKlBF,IAAU,EAAEN,OAoBb,KAA+D;EAC9D,MAAMP,aAAa,GAAGO,OAAO,EAAES,OAAO,IAAI9B,MAAM,CAAC+B,IAAI;EACrD,MAAMf,aAAa,GAAGK,OAAO,EAAEW,OAAO,IAAIhC,MAAM,CAACiC,KAAK;EACtD,OAAOrB,SAAS,CAAC;IACfe,IAAI;IACJO,WAAW,EAAEb,OAAO,EAAEa,WAAW;IACjChB,gBAAgB,EAAEG,OAAO,EAAEc,UAAU,GACjCnC,MAAM,CAACoB,MAAM,CAACC,OAAO,EAAEc,UAAiB,CAAC,GACzCP,gBAAgB;IACpBd,aAAa;IACbE;GACD,CAAQ;AACX,CAAC;AAED;;;;;;AAMA,OAAO,MAAMoB,iBAAiB,GAC5BC,MAAS,IAETzB,SAAS,CAAC;EACRe,IAAI,EAAEU,MAAM,CAACC,IAAI;EACjBJ,WAAW,EAAErC,MAAM,CAAC0C,cAAc,CAACtC,GAAG,CAACuC,wBAAwB,CAAEH,MAAM,CAACI,GAAW,CAACC,EAAE,CAAC,CAAC;EACxFxB,gBAAgB,EAAEmB,MAAa;EAC/BvB,aAAa,EAAEuB,MAAM,CAACP,OAAc;EACpCd,aAAa,EAAEqB,MAAM,CAACL;CACvB,CAAC","ignoreList":[]}
@@ -3,121 +3,143 @@
3
3
  */
4
4
  import * as Context from "effect/Context";
5
5
  import * as Effect from "effect/Effect";
6
- import * as Effectable from "effect/Effectable";
7
- import { identity } from "effect/Function";
8
- import * as HashMap from "effect/HashMap";
9
- import * as Inspectable from "effect/Inspectable";
6
+ import { CommitPrototype } from "effect/Effectable";
7
+ import { BaseProto as InspectableProto } from "effect/Inspectable";
10
8
  import * as Layer from "effect/Layer";
11
9
  import { pipeArguments } from "effect/Pipeable";
10
+ import * as Predicate from "effect/Predicate";
11
+ import * as Schema from "effect/Schema";
12
+ import { AiError } from "./AiError.js";
13
+ import * as AiTool from "./AiTool.js";
12
14
  /**
13
15
  * @since 1.0.0
14
- * @category type ids
16
+ * @category Type Ids
15
17
  */
16
18
  export const TypeId = /*#__PURE__*/Symbol.for("@effect/ai/AiToolkit");
17
- /**
18
- * @since 1.0.0
19
- * @category registry
20
- */
21
- export class Registry extends /*#__PURE__*/Context.Tag("@effect/ai/AiToolkit/Registry")() {
22
- static Live = /*#__PURE__*/Layer.sync(Registry, () => new Map());
23
- }
24
- class AiToolkitImpl extends Effectable.Class {
25
- tools;
26
- [TypeId];
27
- constructor(tools) {
28
- super();
29
- this.tools = tools;
30
- this[TypeId] = TypeId;
31
- }
19
+ const Proto = {
20
+ ...CommitPrototype,
21
+ ...InspectableProto,
22
+ [TypeId]: TypeId,
23
+ toContext(build) {
24
+ return Effect.gen(this, function* () {
25
+ const context = yield* Effect.context();
26
+ const handlers = Effect.isEffect(build) ? yield* build : build;
27
+ const contextMap = new Map();
28
+ for (const [name, handler] of Object.entries(handlers)) {
29
+ const tool = this.tools[name];
30
+ contextMap.set(tool.key, {
31
+ handler,
32
+ context
33
+ });
34
+ }
35
+ return Context.unsafeMake(contextMap);
36
+ });
37
+ },
38
+ toLayer(build) {
39
+ return Layer.scopedContext(this.toContext(build));
40
+ },
41
+ commit() {
42
+ return Effect.gen(this, function* () {
43
+ const context = yield* Effect.context();
44
+ const tools = this.tools;
45
+ const schemasCache = new WeakMap();
46
+ const getSchemas = tool => {
47
+ let schemas = schemasCache.get(tool);
48
+ if (Predicate.isUndefined(schemas)) {
49
+ const handler = context.unsafeMap.get(tool.key);
50
+ const encodeSuccess = Schema.encodeUnknown(tool.successSchema);
51
+ const decodeFailure = Schema.decodeUnknown(tool.failureSchema);
52
+ const decodeParameters = Schema.decodeUnknown(tool.parametersSchema);
53
+ schemas = {
54
+ context: handler.context,
55
+ handler: handler.handler,
56
+ encodeSuccess,
57
+ decodeFailure,
58
+ decodeParameters
59
+ };
60
+ schemasCache.set(tool, schemas);
61
+ }
62
+ return schemas;
63
+ };
64
+ const handle = Effect.fn("AiToolkit.handler", {
65
+ captureStackTrace: false
66
+ })(function* (toolName, toolParams) {
67
+ yield* Effect.annotateCurrentSpan({
68
+ tool: toolName,
69
+ parameters: toolParams
70
+ });
71
+ const tool = tools[toolName];
72
+ const schemas = getSchemas(tool);
73
+ const decodedParams = yield* Effect.mapError(schemas.decodeParameters(toolParams), cause => new AiError({
74
+ module: "AiToolkit",
75
+ method: `${toolName}.handle`,
76
+ description: `Failed to decode tool call parameters for tool '${toolName}' from '${toolParams}'`,
77
+ cause
78
+ }));
79
+ const result = yield* schemas.handler(decodedParams).pipe(Effect.mapInputContext(input => Context.merge(schemas.context, input)), Effect.catchAll(error => schemas.decodeFailure(error).pipe(Effect.mapError(cause => new AiError({
80
+ module: "AiToolkit",
81
+ method: `${toolName}.handle`,
82
+ description: `Failed to decode tool call failure for tool '${toolName}'`,
83
+ cause
84
+ })), Effect.flatMap(Effect.fail))));
85
+ const encodedResult = yield* Effect.mapError(schemas.encodeSuccess(result), cause => new AiError({
86
+ module: "AiToolkit",
87
+ method: `${toolName}.handle`,
88
+ description: `Failed to encode tool call result for tool '${toolName}'`,
89
+ cause
90
+ }));
91
+ return {
92
+ result,
93
+ encodedResult
94
+ };
95
+ });
96
+ return {
97
+ tools: Array.from(Object.values(tools)),
98
+ handle
99
+ };
100
+ });
101
+ },
32
102
  toJSON() {
33
103
  return {
34
104
  _id: "@effect/ai/AiToolkit",
35
- tools: [...HashMap.values(this.tools)].map(tool => tool._tag)
105
+ tools: Array.from(Object.values(this.tools)).map(tool => tool.name)
36
106
  };
37
- }
38
- toString() {
39
- return Inspectable.format(this);
40
- }
41
- [Inspectable.NodeInspectSymbol]() {
42
- return Inspectable.format(this);
43
- }
107
+ },
44
108
  pipe() {
45
109
  return pipeArguments(this, arguments);
46
110
  }
47
- add(tool) {
48
- return new AiToolkitImpl(HashMap.set(this.tools, tool._tag, tool));
49
- }
50
- addAll(...tools) {
51
- let map = this.tools;
52
- for (const tool of tools) {
53
- map = HashMap.set(map, tool._tag, tool);
54
- }
55
- return new AiToolkitImpl(map);
56
- }
57
- concat(that) {
58
- return new AiToolkitImpl(HashMap.union(this.tools, that.tools));
59
- }
60
- implement(f) {
61
- return registerHandlers(this, f).pipe(Layer.scopedDiscard, Layer.provideMerge(Registry.Live));
62
- }
63
- commit() {
64
- return Effect.map(Registry, map => {
65
- let handlers = HashMap.empty();
66
- for (const [tag, tool] of this.tools) {
67
- handlers = HashMap.set(handlers, tag, map.get(tool));
68
- }
69
- return new HandlersImpl(this, handlers);
70
- });
71
- }
72
- }
73
- const registerHandlers = (toolkit, f) => Effect.context().pipe(Effect.bindTo("context"), Effect.bind("handlers", () => {
74
- const handlers = f(HandlersImpl.fromToolkit(toolkit));
75
- return Effect.isEffect(handlers) ? handlers : Effect.succeed(handlers);
76
- }), Effect.tap(({
77
- context,
78
- handlers
79
- }) => {
80
- const registry = Context.unsafeGet(context, Registry);
81
- for (const [tag, handler] of handlers.handlers) {
82
- const tool = HashMap.unsafeGet(handlers.toolkit.tools, tag);
83
- registry.set(tool, function (params) {
84
- return Effect.withSpan(Effect.mapInputContext(handler(params), input => Context.merge(input, context)), "AiToolkit.handler", {
85
- captureStackTrace: false,
86
- attributes: {
87
- tool: tag,
88
- parameters: params
89
- }
90
- });
91
- });
111
+ };
112
+ const makeProto = tools => Object.assign(function () {}, Proto, {
113
+ tools
114
+ });
115
+ const resolveInput = (...tools) => {
116
+ const output = {};
117
+ for (const tool of tools) {
118
+ const value = Schema.isSchema(tool) ? AiTool.fromTaggedRequest(tool) : tool;
119
+ output[tool.name] = value;
92
120
  }
93
- }));
121
+ return output;
122
+ };
94
123
  /**
124
+ * Constructs a new `AiToolkit` from the specified tools.
125
+ *
95
126
  * @since 1.0.0
96
- * @category constructors
127
+ * @category Constructors
97
128
  */
98
- export const empty = /*#__PURE__*/new AiToolkitImpl( /*#__PURE__*/HashMap.empty());
129
+ export const make = (...tools) => makeProto(resolveInput(...tools));
99
130
  /**
131
+ * Merges this toolkit with one or more other toolkits.
132
+ *
100
133
  * @since 1.0.0
101
- * @category handlers
134
+ * @category Merging
102
135
  */
103
- export const HandlersTypeId = /*#__PURE__*/Symbol.for("@effect/ai/AiToolkit/Handlers");
104
- const handlersVariance = {
105
- _Tools: identity
106
- };
107
- class HandlersImpl {
108
- toolkit;
109
- handlers;
110
- [HandlersTypeId];
111
- constructor(toolkit, handlers) {
112
- this.toolkit = toolkit;
113
- this.handlers = handlers;
114
- this[HandlersTypeId] = handlersVariance;
115
- }
116
- static fromToolkit(toolkit) {
117
- return new HandlersImpl(toolkit, HashMap.empty());
118
- }
119
- handle(tag, f) {
120
- return new HandlersImpl(this.toolkit, HashMap.set(this.handlers, tag, f));
136
+ export const merge = (...toolkits) => {
137
+ const tools = {};
138
+ for (const toolkit of toolkits) {
139
+ for (const [name, tool] of toolkit.tools) {
140
+ tools[name] = tool;
141
+ }
121
142
  }
122
- }
143
+ return makeProto(tools);
144
+ };
123
145
  //# sourceMappingURL=AiToolkit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AiToolkit.js","names":["Context","Effect","Effectable","identity","HashMap","Inspectable","Layer","pipeArguments","TypeId","Symbol","for","Registry","Tag","Live","sync","Map","AiToolkitImpl","Class","tools","constructor","toJSON","_id","values","map","tool","_tag","toString","format","NodeInspectSymbol","pipe","arguments","add","set","addAll","concat","that","union","implement","f","registerHandlers","scopedDiscard","provideMerge","commit","handlers","empty","tag","get","HandlersImpl","toolkit","context","bindTo","bind","fromToolkit","isEffect","succeed","tap","registry","unsafeGet","handler","params","withSpan","mapInputContext","input","merge","captureStackTrace","attributes","parameters","HandlersTypeId","handlersVariance","_Tools","handle"],"sources":["../../src/AiToolkit.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AiToolkit.js","names":["Context","Effect","CommitPrototype","BaseProto","InspectableProto","Layer","pipeArguments","Predicate","Schema","AiError","AiTool","TypeId","Symbol","for","Proto","toContext","build","gen","context","handlers","isEffect","contextMap","Map","name","handler","Object","entries","tool","tools","set","key","unsafeMake","toLayer","scopedContext","commit","schemasCache","WeakMap","getSchemas","schemas","get","isUndefined","unsafeMap","encodeSuccess","encodeUnknown","successSchema","decodeFailure","decodeUnknown","failureSchema","decodeParameters","parametersSchema","handle","fn","captureStackTrace","toolName","toolParams","annotateCurrentSpan","parameters","decodedParams","mapError","cause","module","method","description","result","pipe","mapInputContext","input","merge","catchAll","error","flatMap","fail","encodedResult","Array","from","values","toJSON","_id","map","arguments","makeProto","assign","resolveInput","output","value","isSchema","fromTaggedRequest","make","toolkits","toolkit"],"sources":["../../src/AiToolkit.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,45 +1,43 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import * as Chunk from "effect/Chunk";
5
4
  import * as Context from "effect/Context";
6
5
  import * as Effect from "effect/Effect";
7
- import * as Option from "effect/Option";
6
+ import * as Predicate from "effect/Predicate";
8
7
  import * as AiInput from "./AiInput.js";
9
8
  /**
10
9
  * @since 1.0.0
11
- * @category tags
10
+ * @category Tags
12
11
  */
13
12
  export class Tokenizer extends /*#__PURE__*/Context.Tag("@effect/ai/Tokenizer")() {}
14
13
  /**
15
14
  * @since 1.0.0
16
- * @category constructors
15
+ * @category Constructors
17
16
  */
18
17
  export const make = options => Tokenizer.of({
19
18
  tokenize(input) {
20
19
  return options.tokenize(AiInput.make(input));
21
20
  },
22
- truncate(content, tokens) {
23
- return truncate(AiInput.make(content), options.tokenize, tokens);
21
+ truncate(input, tokens) {
22
+ return truncate(AiInput.make(input), options.tokenize, tokens);
24
23
  }
25
24
  });
26
25
  const truncate = (self, tokenize, maxTokens) => Effect.suspend(() => {
27
26
  let count = 0;
28
- let inParts = self;
29
- let outParts = Chunk.empty();
27
+ let inputMessages = self.messages;
28
+ let outputMessages = [];
30
29
  const loop = Effect.suspend(() => {
31
- const o = Chunk.last(inParts);
32
- if (Option.isNone(o)) {
33
- return Effect.succeed(AiInput.make(outParts));
30
+ const message = inputMessages[inputMessages.length - 1];
31
+ if (Predicate.isUndefined(message)) {
32
+ return Effect.succeed(AiInput.make(outputMessages));
34
33
  }
35
- const part = o.value;
36
- inParts = Chunk.dropRight(inParts, 1);
37
- return Effect.flatMap(tokenize(Chunk.of(part)), tokens => {
34
+ inputMessages = inputMessages.slice(0, inputMessages.length - 1);
35
+ return Effect.flatMap(tokenize(AiInput.make(message)), tokens => {
38
36
  count += tokens.length;
39
37
  if (count > maxTokens) {
40
- return Effect.succeed(AiInput.make(outParts));
38
+ return Effect.succeed(AiInput.make(outputMessages));
41
39
  }
42
- outParts = Chunk.prepend(outParts, part);
40
+ outputMessages = [message, ...outputMessages];
43
41
  return loop;
44
42
  });
45
43
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Tokenizer.js","names":["Chunk","Context","Effect","Option","AiInput","Tokenizer","Tag","make","options","of","tokenize","input","truncate","content","tokens","self","maxTokens","suspend","count","inParts","outParts","empty","loop","o","last","isNone","succeed","part","value","dropRight","flatMap","length","prepend"],"sources":["../../src/Tokenizer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAGvC,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;;AAIA,OAAM,MAAOC,SAAU,sBAAQJ,OAAO,CAACK,GAAG,CAAC,sBAAsB,CAAC,EAG/D;AAiBH;;;;AAIA,OAAO,MAAMC,IAAI,GAAIC,OAEpB,IACCH,SAAS,CAACI,EAAE,CAAC;EACXC,QAAQA,CAACC,KAAK;IACZ,OAAOH,OAAO,CAACE,QAAQ,CAACN,OAAO,CAACG,IAAI,CAACI,KAAK,CAAC,CAAC;EAC9C,CAAC;EACDC,QAAQA,CAACC,OAAO,EAAEC,MAAM;IACtB,OAAOF,QAAQ,CAACR,OAAO,CAACG,IAAI,CAACM,OAAO,CAAC,EAAEL,OAAO,CAACE,QAAQ,EAAEI,MAAM,CAAC;EAClE;CACD,CAAC;AAEJ,MAAMF,QAAQ,GAAGA,CACfG,IAAqB,EACrBL,QAA6E,EAC7EM,SAAiB,KAEjBd,MAAM,CAACe,OAAO,CAAC,MAAK;EAClB,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,OAAO,GAAGJ,IAAI;EAClB,IAAIK,QAAQ,GAAyBpB,KAAK,CAACqB,KAAK,EAAE;EAClD,MAAMC,IAAI,GAA4CpB,MAAM,CAACe,OAAO,CAAC,MAAK;IACxE,MAAMM,CAAC,GAAGvB,KAAK,CAACwB,IAAI,CAACL,OAAO,CAAC;IAC7B,IAAIhB,MAAM,CAACsB,MAAM,CAACF,CAAC,CAAC,EAAE;MACpB,OAAOrB,MAAM,CAACwB,OAAO,CAACtB,OAAO,CAACG,IAAI,CAACa,QAAQ,CAAC,CAAC;IAC/C;IACA,MAAMO,IAAI,GAAGJ,CAAC,CAACK,KAAK;IACpBT,OAAO,GAAGnB,KAAK,CAAC6B,SAAS,CAACV,OAAO,EAAE,CAAC,CAAC;IACrC,OAAOjB,MAAM,CAAC4B,OAAO,CAACpB,QAAQ,CAACV,KAAK,CAACS,EAAE,CAACkB,IAAI,CAAC,CAAC,EAAGb,MAAM,IAAI;MACzDI,KAAK,IAAIJ,MAAM,CAACiB,MAAM;MACtB,IAAIb,KAAK,GAAGF,SAAS,EAAE;QACrB,OAAOd,MAAM,CAACwB,OAAO,CAACtB,OAAO,CAACG,IAAI,CAACa,QAAQ,CAAC,CAAC;MAC/C;MACAA,QAAQ,GAAGpB,KAAK,CAACgC,OAAO,CAACZ,QAAQ,EAAEO,IAAI,CAAC;MACxC,OAAOL,IAAI;IACb,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOA,IAAI;AACb,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Tokenizer.js","names":["Context","Effect","Predicate","AiInput","Tokenizer","Tag","make","options","of","tokenize","input","truncate","tokens","self","maxTokens","suspend","count","inputMessages","messages","outputMessages","loop","message","length","isUndefined","succeed","slice","flatMap"],"sources":["../../src/Tokenizer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAE7C,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;;AAIA,OAAM,MAAOC,SAAU,sBAAQJ,OAAO,CAACK,GAAG,CAAC,sBAAsB,CAAC,EAG/D;AAgBH;;;;AAIA,OAAO,MAAMC,IAAI,GAAIC,OAEpB,IACCH,SAAS,CAACI,EAAE,CAAC;EACXC,QAAQA,CAACC,KAAK;IACZ,OAAOH,OAAO,CAACE,QAAQ,CAACN,OAAO,CAACG,IAAI,CAACI,KAAK,CAAC,CAAC;EAC9C,CAAC;EACDC,QAAQA,CAACD,KAAK,EAAEE,MAAM;IACpB,OAAOD,QAAQ,CAACR,OAAO,CAACG,IAAI,CAACI,KAAK,CAAC,EAAEH,OAAO,CAACE,QAAQ,EAAEG,MAAM,CAAC;EAChE;CACD,CAAC;AAEJ,MAAMD,QAAQ,GAAGA,CACfE,IAAqB,EACrBJ,QAA2E,EAC3EK,SAAiB,KAEjBb,MAAM,CAACc,OAAO,CAAC,MAAK;EAClB,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,aAAa,GAAGJ,IAAI,CAACK,QAAQ;EACjC,IAAIC,cAAc,GAA2B,EAAE;EAC/C,MAAMC,IAAI,GAA4CnB,MAAM,CAACc,OAAO,CAAC,MAAK;IACxE,MAAMM,OAAO,GAAGJ,aAAa,CAACA,aAAa,CAACK,MAAM,GAAG,CAAC,CAAC;IACvD,IAAIpB,SAAS,CAACqB,WAAW,CAACF,OAAO,CAAC,EAAE;MAClC,OAAOpB,MAAM,CAACuB,OAAO,CAACrB,OAAO,CAACG,IAAI,CAACa,cAAc,CAAC,CAAC;IACrD;IACAF,aAAa,GAAGA,aAAa,CAACQ,KAAK,CAAC,CAAC,EAAER,aAAa,CAACK,MAAM,GAAG,CAAC,CAAC;IAChE,OAAOrB,MAAM,CAACyB,OAAO,CAACjB,QAAQ,CAACN,OAAO,CAACG,IAAI,CAACe,OAAO,CAAC,CAAC,EAAGT,MAAM,IAAI;MAChEI,KAAK,IAAIJ,MAAM,CAACU,MAAM;MACtB,IAAIN,KAAK,GAAGF,SAAS,EAAE;QACrB,OAAOb,MAAM,CAACuB,OAAO,CAACrB,OAAO,CAACG,IAAI,CAACa,cAAc,CAAC,CAAC;MACrD;MACAA,cAAc,GAAG,CAACE,OAAO,EAAE,GAAGF,cAAc,CAAC;MAC7C,OAAOC,IAAI;IACb,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOA,IAAI;AACb,CAAC,CAAC","ignoreList":[]}