@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/src/AiTool.ts ADDED
@@ -0,0 +1,496 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Context_ from "effect/Context"
5
+ import type * as Effect from "effect/Effect"
6
+ import * as Option from "effect/Option"
7
+ import { type Pipeable, pipeArguments } from "effect/Pipeable"
8
+ import * as Predicate from "effect/Predicate"
9
+ import * as Schema from "effect/Schema"
10
+ import * as AST from "effect/SchemaAST"
11
+ import type * as Types from "effect/Types"
12
+ import type { AiError } from "./AiError.js"
13
+
14
+ /**
15
+ * @since 1.0.0
16
+ * @category Type Ids
17
+ */
18
+ export const TypeId: unique symbol = Symbol.for("@effect/ai/AiTool")
19
+
20
+ /**
21
+ * @since 1.0.0
22
+ * @category Type Ids
23
+ */
24
+ export type TypeId = typeof TypeId
25
+
26
+ /**
27
+ * A `AiTool` represents an action that a large language model can take within
28
+ * your application. The results of a tool call can be returned back to the
29
+ * large language model to be incorporated into its next response.
30
+ *
31
+ * @since 1.0.0
32
+ * @category Models
33
+ */
34
+ export interface AiTool<
35
+ out Name extends string,
36
+ out Parameters extends AnyStructSchema = Schema.Struct<{}>,
37
+ out Success extends Schema.Schema.Any = typeof Schema.Void,
38
+ out Failure extends Schema.Schema.All = typeof Schema.Never,
39
+ out Requirements = never
40
+ > extends Pipeable {
41
+ readonly [TypeId]: {
42
+ readonly _Requirements: Types.Covariant<Requirements>
43
+ }
44
+
45
+ /**
46
+ * The name of the tool.
47
+ */
48
+ readonly name: Name
49
+
50
+ /**
51
+ * The optional description of the tool.
52
+ */
53
+ readonly description?: string | undefined
54
+
55
+ /**
56
+ * A key for the tool, used to identify the tool within a `Context`.
57
+ */
58
+ readonly key: string
59
+
60
+ /**
61
+ * A `Schema` representing the type of the parameters that a tool handler
62
+ * must be called with.
63
+ */
64
+ readonly parametersSchema: Parameters
65
+
66
+ /**
67
+ * A `Schema` representing the type that a tool returns from its handler
68
+ * if successful.
69
+ */
70
+ readonly successSchema: Success
71
+
72
+ /**
73
+ * A `Schema` representing the type that a tool returns from its handler
74
+ * if it fails.
75
+ */
76
+ readonly failureSchema: Failure
77
+
78
+ /**
79
+ * Adds a requirement on a particular service for the tool call to be able to
80
+ * be executed.
81
+ */
82
+ addRequirement<Requirement>(): AiTool<Name, Parameters, Success, Failure, Requirements | Requirement>
83
+
84
+ /**
85
+ * Set the schema to use for tool handler success.
86
+ */
87
+ setSuccess<SuccessSchema extends Schema.Schema.Any>(schema: SuccessSchema): AiTool<
88
+ Name,
89
+ Parameters,
90
+ SuccessSchema,
91
+ Failure
92
+ >
93
+
94
+ /**
95
+ * Set the schema to use for tool handler failure.
96
+ */
97
+ setFailure<FailureSchema extends Schema.Schema.Any>(schema: FailureSchema): AiTool<
98
+ Name,
99
+ Parameters,
100
+ Success,
101
+ FailureSchema
102
+ >
103
+
104
+ /**
105
+ * Set the schema for the tool parameters.
106
+ */
107
+ setParameters<ParametersSchema extends Schema.Struct<any> | Schema.Struct.Fields>(
108
+ schema: ParametersSchema
109
+ ): AiTool<
110
+ Name,
111
+ ParametersSchema extends Schema.Struct<infer _> ? ParametersSchema
112
+ : ParametersSchema extends Schema.Struct.Fields ? Schema.Struct<ParametersSchema>
113
+ : never,
114
+ Success
115
+ >
116
+ }
117
+
118
+ /**
119
+ * @since 1.0.0
120
+ * @category Guards
121
+ */
122
+ export const isAiTool = (u: unknown): u is AiTool<any, any, any, any, any> => Predicate.hasProperty(u, TypeId)
123
+
124
+ /**
125
+ * @since 1.0.0
126
+ * @category Models
127
+ */
128
+ export interface Any extends Pipeable {
129
+ readonly [TypeId]: {
130
+ readonly _Requirements: Types.Covariant<any>
131
+ }
132
+ readonly name: string
133
+ readonly description?: string | undefined
134
+ readonly key: string
135
+ readonly parametersSchema: AnyStructSchema
136
+ }
137
+
138
+ /**
139
+ * @since 1.0.0
140
+ * @category Models
141
+ */
142
+ export interface AnyWithProtocol extends Any {
143
+ readonly successSchema: Schema.Schema.Any
144
+ readonly failureSchema: Schema.Schema.All
145
+ }
146
+
147
+ /**
148
+ * Represents an `AiTool` that has been implemented within the application.
149
+ *
150
+ * @since 1.0.0
151
+ * @category Models
152
+ */
153
+ export interface Handler<Name extends string> {
154
+ readonly _: unique symbol
155
+ readonly name: Name
156
+ readonly handler: (params: any) => Effect.Effect<any, any>
157
+ readonly context: Context_.Context<never>
158
+ }
159
+
160
+ /**
161
+ * A utility type which returns the type of the `Effect` that will be used to
162
+ * resolve a tool call.
163
+ *
164
+ * @since 1.0.0
165
+ * @category Utility Types
166
+ */
167
+ export type HandlerEffect<Tool extends Any> = [Tool] extends [
168
+ AiTool<
169
+ infer _Name,
170
+ infer _Parameters,
171
+ infer _Success,
172
+ infer _Failure,
173
+ infer _Requirements
174
+ >
175
+ ] ? Effect.Effect<
176
+ _Success["Type"],
177
+ AiError | _Failure["Type"],
178
+ _Parameters["Context"] | _Success["Context"] | _Failure["Context"] | _Requirements
179
+ >
180
+ : never
181
+
182
+ /**
183
+ * Represents the result of calling the handler for a particular tool.
184
+ *
185
+ * @since 1.0.0
186
+ * @category Models
187
+ */
188
+ export interface HandlerResult<Tool extends Any> {
189
+ /**
190
+ * The result of executing the handler for a particular tool.
191
+ */
192
+ readonly result: Success<Tool>
193
+ /**
194
+ * The encoded result of executing the handler for a particular tool, which
195
+ * is suitable for returning back to the large language model for
196
+ * incorporation into further responses.
197
+ */
198
+ readonly encodedResult: unknown
199
+ }
200
+
201
+ /**
202
+ * A utility mapped type which associates tool names with tools.
203
+ *
204
+ * @since 1.0.0
205
+ * @category Utility Types
206
+ */
207
+ export type ByName<Tools extends Any> = {
208
+ readonly [Tool in Tools as Tool["name"]]: Tool
209
+ }
210
+
211
+ /**
212
+ * A utility type to extract the `Name` type from an `AiTool`.
213
+ *
214
+ * @since 1.0.0
215
+ * @category Utility Types
216
+ */
217
+ export type Name<Tool> = Tool extends AiTool<
218
+ infer _Name,
219
+ infer _Parameters,
220
+ infer _Success,
221
+ infer _Failure,
222
+ infer _Requirements
223
+ > ? _Name :
224
+ never
225
+
226
+ /**
227
+ * A utility type to extract the type of the parameters which an `AiTool` must
228
+ * be called with.
229
+ *
230
+ * @since 1.0.0
231
+ * @category Utility Types
232
+ */
233
+ export type Parameters<Tool> = Tool extends AiTool<
234
+ infer _Name,
235
+ infer _Parameters,
236
+ infer _Success,
237
+ infer _Failure,
238
+ infer _Requirements
239
+ > ? _Parameters["Type"] :
240
+ never
241
+
242
+ /**
243
+ * A utility type to extract the schema type of the parameters which an `AiTool`
244
+ * must be called with.
245
+ *
246
+ * @since 1.0.0
247
+ * @category Utility Types
248
+ */
249
+ export type ParametersSchema<Tool> = Tool extends AiTool<
250
+ infer _Name,
251
+ infer _Parameters,
252
+ infer _Success,
253
+ infer _Failure,
254
+ infer _Requirements
255
+ > ? _Parameters :
256
+ never
257
+
258
+ /**
259
+ * A utility type to extract the type of the response that an `AiTool` returns
260
+ * from its handler if successful.
261
+ *
262
+ * @since 1.0.0
263
+ * @category Utility Types
264
+ */
265
+ export type Success<Tool> = Tool extends AiTool<
266
+ infer _Name,
267
+ infer _Parameters,
268
+ infer _Success,
269
+ infer _Failure,
270
+ infer _Requirements
271
+ > ? _Success["Type"] :
272
+ never
273
+
274
+ /**
275
+ * A utility type to extract the schema type of the response that an `AiTool`
276
+ * returns from its handler if successful.
277
+ *
278
+ * @since 1.0.0
279
+ * @category Utility Types
280
+ */
281
+ export type SuccessSchema<Tool> = Tool extends AiTool<
282
+ infer _Name,
283
+ infer _Parameters,
284
+ infer _Success,
285
+ infer _Failure,
286
+ infer _Requirements
287
+ > ? _Success :
288
+ never
289
+
290
+ /**
291
+ * A utility type to extract the type of the response that an `AiTool` returns
292
+ * from its handler if it fails.
293
+ *
294
+ * @since 1.0.0
295
+ * @category Utility Types
296
+ */
297
+ export type Failure<Tool> = Tool extends AiTool<
298
+ infer _Name,
299
+ infer _Parameters,
300
+ infer _Success,
301
+ infer _Failure,
302
+ infer _Requirements
303
+ > ? _Failure["Type"] :
304
+ never
305
+
306
+ /**
307
+ * A utility type to extract the schema type of the response that an `AiTool`
308
+ * returns from its handler if it fails.
309
+ *
310
+ * @since 1.0.0
311
+ * @category Utility Types
312
+ */
313
+ export type FailureSchema<Tool> = Tool extends AiTool<
314
+ infer _Name,
315
+ infer _Parameters,
316
+ infer _Success,
317
+ infer _Failure,
318
+ infer _Requirements
319
+ > ? _Failure :
320
+ never
321
+
322
+ /**
323
+ * A utility type to the `Context` type from an `AiTool`.
324
+ *
325
+ * @since 1.0.0
326
+ * @category Utility Types
327
+ */
328
+ export type Context<Tool> = Tool extends AiTool<
329
+ infer _Name,
330
+ infer _Parameters,
331
+ infer _Success,
332
+ infer _Failure,
333
+ infer _Requirements
334
+ > ? _Parameters["Context"] | _Success["Context"] | _Failure["Context"] | _Requirements :
335
+ never
336
+
337
+ /**
338
+ * @since 1.0.0
339
+ * @category Utility Types
340
+ */
341
+ export interface AnyStructSchema extends Pipeable {
342
+ readonly [Schema.TypeId]: any
343
+ readonly make: any
344
+ readonly Type: any
345
+ readonly Encoded: any
346
+ readonly Context: any
347
+ readonly ast: AST.AST
348
+ readonly fields: Schema.Struct.Fields
349
+ readonly annotations: any
350
+ }
351
+
352
+ /**
353
+ * @since 1.0.0
354
+ * @category Utility Types
355
+ */
356
+ export interface AnyTaggedRequestSchema extends AnyStructSchema {
357
+ readonly _tag: string
358
+ readonly success: Schema.Schema.Any
359
+ readonly failure: Schema.Schema.All
360
+ }
361
+ /**
362
+ * A utility type to convert a `Schema.TaggedRequest` into an `AiTool`.
363
+ *
364
+ * @since 1.0.0
365
+ * @category Utility Types
366
+ */
367
+ export interface FromTaggedRequest<S extends AnyTaggedRequestSchema>
368
+ extends AiTool<S["_tag"], S, S["success"], S["failure"]>
369
+ {}
370
+
371
+ /**
372
+ * A utility type which returns the handler type for an `AiTool`.
373
+ *
374
+ * @since 1.0.0
375
+ * @category Utility Types
376
+ */
377
+ export type ToHandler<Tool extends Any> = Tool extends AiTool<
378
+ infer _Name,
379
+ infer _Parameters,
380
+ infer _Success,
381
+ infer _Failure,
382
+ infer _Requirements
383
+ > ? Handler<_Name> :
384
+ never
385
+
386
+ const Proto = {
387
+ [TypeId]: TypeId,
388
+ pipe() {
389
+ return pipeArguments(this, arguments)
390
+ },
391
+ addRequirement(this: AnyWithProtocol) {
392
+ return makeProto({ ...this })
393
+ },
394
+ setSuccess(this: AnyWithProtocol, successSchema: Schema.Schema.Any) {
395
+ return makeProto({
396
+ ...this,
397
+ successSchema
398
+ })
399
+ },
400
+ setFailure(this: AnyWithProtocol, failureSchema: Schema.Schema.All) {
401
+ return makeProto({
402
+ ...this,
403
+ failureSchema
404
+ })
405
+ },
406
+ setParameters(this: AnyWithProtocol, parametersSchema: Schema.Struct<any> | Schema.Struct.Fields) {
407
+ return makeProto({
408
+ ...this,
409
+ parametersSchema: Schema.isSchema(parametersSchema)
410
+ ? parametersSchema as any
411
+ : Schema.Struct(parametersSchema as any)
412
+ })
413
+ }
414
+ }
415
+
416
+ const makeProto = <
417
+ const Name extends string,
418
+ Parameters extends AnyStructSchema,
419
+ Success extends Schema.Schema.Any,
420
+ Failure extends Schema.Schema.All
421
+ >(options: {
422
+ readonly name: Name
423
+ readonly description?: string | undefined
424
+ readonly parametersSchema: Parameters
425
+ readonly successSchema: Success
426
+ readonly failureSchema: Failure
427
+ }): AiTool<Name, Parameters, Success> => {
428
+ const self = Object.assign(Object.create(Proto), options)
429
+ self.key = `@effect/ai/AiTool/${options.name}`
430
+ return self
431
+ }
432
+
433
+ const constEmptyStruct = Schema.Struct({})
434
+
435
+ /**
436
+ * Constructs an `AiTool` from a name and, optionally, a specification for the
437
+ * tool call's protocol.
438
+ *
439
+ * @since 1.0.0
440
+ * @category constructors
441
+ */
442
+ export const make = <
443
+ const Name extends string,
444
+ Parameters extends Schema.Struct.Fields = {},
445
+ Success extends Schema.Schema.Any = typeof Schema.Void,
446
+ Failure extends Schema.Schema.All = typeof Schema.Never
447
+ >(name: Name, options?: {
448
+ /**
449
+ * An optional description of the tool.
450
+ */
451
+ readonly description?: string | undefined
452
+ /**
453
+ * A `Schema` representing the type of the parameters that a tool call
454
+ * handler must be provided with.
455
+ */
456
+ readonly parameters?: Parameters
457
+ /**
458
+ * A `Schema` representing the type that a tool returns from its handler if
459
+ * successful.
460
+ */
461
+ readonly success?: Success
462
+ /**
463
+ * A `Schema` representing the type that a tool returns from its handler if
464
+ * it fails.
465
+ */
466
+ readonly failure?: Failure
467
+ }): AiTool<Name, Schema.Struct<Parameters>, Success, Failure> => {
468
+ const successSchema = options?.success ?? Schema.Void
469
+ const failureSchema = options?.failure ?? Schema.Never
470
+ return makeProto({
471
+ name,
472
+ description: options?.description,
473
+ parametersSchema: options?.parameters
474
+ ? Schema.Struct(options?.parameters as any)
475
+ : constEmptyStruct,
476
+ successSchema,
477
+ failureSchema
478
+ }) as any
479
+ }
480
+
481
+ /**
482
+ * Constructs a new `AiTool` from a `Schema.TaggedRequest`.
483
+ *
484
+ * @since 1.0.0
485
+ * @category constructors
486
+ */
487
+ export const fromTaggedRequest = <S extends AnyTaggedRequestSchema>(
488
+ schema: S
489
+ ): FromTaggedRequest<S> =>
490
+ makeProto({
491
+ name: schema._tag,
492
+ description: Option.getOrUndefined(AST.getDescriptionAnnotation((schema.ast as any).to)),
493
+ parametersSchema: schema as any,
494
+ successSchema: schema.success as any,
495
+ failureSchema: schema.failure as any
496
+ })