vellum-ai 0.0.45 → 0.1.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 (349) hide show
  1. package/Client.d.ts +23 -26
  2. package/Client.js +288 -242
  3. package/api/resources/deployments/client/Client.d.ts +8 -4
  4. package/api/resources/deployments/client/Client.js +52 -34
  5. package/api/resources/documentIndexes/client/Client.d.ts +9 -5
  6. package/api/resources/documentIndexes/client/Client.js +97 -69
  7. package/api/resources/documents/client/Client.d.ts +14 -10
  8. package/api/resources/documents/client/Client.js +222 -176
  9. package/api/resources/modelVersions/client/Client.d.ts +9 -5
  10. package/api/resources/modelVersions/client/Client.js +96 -68
  11. package/api/resources/registeredPrompts/client/Client.d.ts +11 -7
  12. package/api/resources/registeredPrompts/client/Client.js +72 -53
  13. package/api/resources/sandboxes/client/Client.d.ts +9 -5
  14. package/api/resources/sandboxes/client/Client.js +92 -65
  15. package/api/resources/testSuites/client/Client.d.ts +9 -5
  16. package/api/resources/testSuites/client/Client.js +90 -63
  17. package/core/fetcher/Fetcher.d.ts +5 -3
  18. package/core/fetcher/Fetcher.js +104 -62
  19. package/core/fetcher/Supplier.js +11 -2
  20. package/core/fetcher/index.d.ts +3 -2
  21. package/core/form-data-utils/getFormDataContentLength.d.ts +1 -1
  22. package/core/form-data-utils/getFormDataContentLength.js +20 -9
  23. package/core/index.d.ts +1 -2
  24. package/core/index.js +4 -5
  25. package/core/schemas/Schema.d.ts +19 -0
  26. package/core/schemas/Schema.js +1 -0
  27. package/core/schemas/builders/date/date.js +22 -14
  28. package/core/schemas/builders/enum/enum.js +17 -7
  29. package/core/schemas/builders/lazy/index.d.ts +2 -1
  30. package/core/schemas/builders/lazy/lazy.js +21 -13
  31. package/core/schemas/builders/lazy/lazyObject.js +11 -11
  32. package/core/schemas/builders/list/list.js +53 -38
  33. package/core/schemas/builders/literals/booleanLiteral.d.ts +2 -0
  34. package/core/schemas/builders/literals/booleanLiteral.js +29 -0
  35. package/core/schemas/builders/literals/index.d.ts +1 -0
  36. package/core/schemas/builders/literals/index.js +3 -1
  37. package/core/schemas/builders/literals/stringLiteral.js +4 -3
  38. package/core/schemas/builders/object/index.d.ts +5 -2
  39. package/core/schemas/builders/object/index.js +3 -1
  40. package/core/schemas/builders/object/object.js +150 -129
  41. package/core/schemas/builders/object/objectWithoutOptionalProperties.d.ts +6 -0
  42. package/core/schemas/builders/object/objectWithoutOptionalProperties.js +8 -0
  43. package/core/schemas/builders/object-like/getObjectLikeUtils.js +19 -18
  44. package/core/schemas/builders/object-like/index.d.ts +1 -1
  45. package/core/schemas/builders/primitives/boolean.js +4 -3
  46. package/core/schemas/builders/primitives/number.js +4 -3
  47. package/core/schemas/builders/primitives/string.js +4 -3
  48. package/core/schemas/builders/record/index.d.ts +1 -1
  49. package/core/schemas/builders/record/record.js +82 -67
  50. package/core/schemas/builders/schema-utils/JsonError.js +0 -1
  51. package/core/schemas/builders/schema-utils/ParseError.js +0 -1
  52. package/core/schemas/builders/schema-utils/getSchemaUtils.js +23 -20
  53. package/core/schemas/builders/schema-utils/index.d.ts +2 -1
  54. package/core/schemas/builders/set/set.js +21 -12
  55. package/core/schemas/builders/undiscriminated-union/index.d.ts +1 -1
  56. package/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +38 -24
  57. package/core/schemas/builders/union/index.d.ts +3 -2
  58. package/core/schemas/builders/union/union.js +95 -74
  59. package/core/schemas/index.d.ts +1 -1
  60. package/core/schemas/utils/createIdentitySchemaCreator.js +2 -4
  61. package/core/schemas/utils/getErrorMessageForIncorrectType.d.ts +1 -0
  62. package/core/schemas/utils/getErrorMessageForIncorrectType.js +24 -0
  63. package/core/schemas/utils/isPlainObject.d.ts +0 -1
  64. package/core/schemas/utils/isPlainObject.js +1 -2
  65. package/core/schemas/utils/maybeSkipValidation.d.ts +2 -0
  66. package/core/schemas/utils/maybeSkipValidation.js +37 -0
  67. package/core/streaming-fetcher/Stream.d.ts +14 -0
  68. package/core/streaming-fetcher/Stream.js +75 -0
  69. package/core/streaming-fetcher/StreamingFetcher.d.ts +10 -8
  70. package/core/streaming-fetcher/StreamingFetcher.js +38 -44
  71. package/core/streaming-fetcher/getHeader.d.ts +2 -0
  72. package/core/streaming-fetcher/getHeader.js +12 -0
  73. package/core/streaming-fetcher/index.d.ts +4 -1
  74. package/core/streaming-fetcher/index.js +5 -1
  75. package/dist/Client.d.ts +23 -26
  76. package/dist/Client.js +288 -242
  77. package/dist/api/resources/deployments/client/Client.d.ts +8 -4
  78. package/dist/api/resources/deployments/client/Client.js +52 -34
  79. package/dist/api/resources/documentIndexes/client/Client.d.ts +9 -5
  80. package/dist/api/resources/documentIndexes/client/Client.js +97 -69
  81. package/dist/api/resources/documents/client/Client.d.ts +14 -10
  82. package/dist/api/resources/documents/client/Client.js +222 -176
  83. package/dist/api/resources/modelVersions/client/Client.d.ts +9 -5
  84. package/dist/api/resources/modelVersions/client/Client.js +96 -68
  85. package/dist/api/resources/registeredPrompts/client/Client.d.ts +11 -7
  86. package/dist/api/resources/registeredPrompts/client/Client.js +72 -53
  87. package/dist/api/resources/sandboxes/client/Client.d.ts +9 -5
  88. package/dist/api/resources/sandboxes/client/Client.js +92 -65
  89. package/dist/api/resources/testSuites/client/Client.d.ts +9 -5
  90. package/dist/api/resources/testSuites/client/Client.js +90 -63
  91. package/dist/core/fetcher/Fetcher.d.ts +5 -3
  92. package/dist/core/fetcher/Fetcher.js +104 -62
  93. package/dist/core/fetcher/Supplier.js +11 -2
  94. package/dist/core/fetcher/index.d.ts +3 -2
  95. package/dist/core/form-data-utils/getFormDataContentLength.d.ts +1 -1
  96. package/dist/core/form-data-utils/getFormDataContentLength.js +20 -9
  97. package/dist/core/index.d.ts +1 -2
  98. package/dist/core/index.js +4 -5
  99. package/dist/core/schemas/Schema.d.ts +19 -0
  100. package/dist/core/schemas/Schema.js +1 -0
  101. package/dist/core/schemas/builders/date/date.js +22 -14
  102. package/dist/core/schemas/builders/enum/enum.js +17 -7
  103. package/dist/core/schemas/builders/lazy/index.d.ts +2 -1
  104. package/dist/core/schemas/builders/lazy/lazy.js +21 -13
  105. package/dist/core/schemas/builders/lazy/lazyObject.js +11 -11
  106. package/dist/core/schemas/builders/list/list.js +53 -38
  107. package/dist/core/schemas/builders/literals/booleanLiteral.d.ts +2 -0
  108. package/dist/core/schemas/builders/literals/booleanLiteral.js +29 -0
  109. package/dist/core/schemas/builders/literals/index.d.ts +1 -0
  110. package/dist/core/schemas/builders/literals/index.js +3 -1
  111. package/dist/core/schemas/builders/literals/stringLiteral.js +4 -3
  112. package/dist/core/schemas/builders/object/index.d.ts +5 -2
  113. package/dist/core/schemas/builders/object/index.js +3 -1
  114. package/dist/core/schemas/builders/object/object.js +150 -129
  115. package/dist/core/schemas/builders/object/objectWithoutOptionalProperties.d.ts +6 -0
  116. package/dist/core/schemas/builders/object/objectWithoutOptionalProperties.js +8 -0
  117. package/dist/core/schemas/builders/object-like/getObjectLikeUtils.js +19 -18
  118. package/dist/core/schemas/builders/object-like/index.d.ts +1 -1
  119. package/dist/core/schemas/builders/primitives/boolean.js +4 -3
  120. package/dist/core/schemas/builders/primitives/number.js +4 -3
  121. package/dist/core/schemas/builders/primitives/string.js +4 -3
  122. package/dist/core/schemas/builders/record/index.d.ts +1 -1
  123. package/dist/core/schemas/builders/record/record.js +82 -67
  124. package/dist/core/schemas/builders/schema-utils/JsonError.js +0 -1
  125. package/dist/core/schemas/builders/schema-utils/ParseError.js +0 -1
  126. package/dist/core/schemas/builders/schema-utils/getSchemaUtils.js +23 -20
  127. package/dist/core/schemas/builders/schema-utils/index.d.ts +2 -1
  128. package/dist/core/schemas/builders/set/set.js +21 -12
  129. package/dist/core/schemas/builders/undiscriminated-union/index.d.ts +1 -1
  130. package/dist/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +38 -24
  131. package/dist/core/schemas/builders/union/index.d.ts +3 -2
  132. package/dist/core/schemas/builders/union/union.js +95 -74
  133. package/dist/core/schemas/index.d.ts +1 -1
  134. package/dist/core/schemas/utils/createIdentitySchemaCreator.js +2 -4
  135. package/dist/core/schemas/utils/getErrorMessageForIncorrectType.d.ts +1 -0
  136. package/dist/core/schemas/utils/getErrorMessageForIncorrectType.js +24 -0
  137. package/dist/core/schemas/utils/isPlainObject.d.ts +0 -1
  138. package/dist/core/schemas/utils/isPlainObject.js +1 -2
  139. package/dist/core/schemas/utils/maybeSkipValidation.d.ts +2 -0
  140. package/dist/core/schemas/utils/maybeSkipValidation.js +37 -0
  141. package/dist/core/streaming-fetcher/Stream.d.ts +14 -0
  142. package/dist/core/streaming-fetcher/Stream.js +75 -0
  143. package/dist/core/streaming-fetcher/StreamingFetcher.d.ts +10 -8
  144. package/dist/core/streaming-fetcher/StreamingFetcher.js +38 -44
  145. package/dist/core/streaming-fetcher/getHeader.d.ts +2 -0
  146. package/dist/core/streaming-fetcher/getHeader.js +12 -0
  147. package/dist/core/streaming-fetcher/index.d.ts +4 -1
  148. package/dist/core/streaming-fetcher/index.js +5 -1
  149. package/dist/errors/VellumError.js +14 -3
  150. package/dist/serialization/client/requests/ExecuteWorkflowStreamRequest.js +11 -2
  151. package/dist/serialization/client/requests/GenerateBodyRequest.js +11 -2
  152. package/dist/serialization/client/requests/GenerateStreamBodyRequest.js +11 -2
  153. package/dist/serialization/client/requests/SearchRequestBodyRequest.js +10 -1
  154. package/dist/serialization/client/requests/SubmitCompletionActualsRequest.js +10 -1
  155. package/dist/serialization/client/requests/SubmitWorkflowExecutionActualsRequest.js +10 -1
  156. package/dist/serialization/resources/documentIndexes/client/requests/DocumentIndexCreateRequest.js +11 -2
  157. package/dist/serialization/resources/documents/client/requests/PatchedDocumentUpdateRequest.js +10 -1
  158. package/dist/serialization/resources/registeredPrompts/client/requests/RegisterPromptRequestRequest.js +12 -3
  159. package/dist/serialization/resources/sandboxes/client/requests/UpsertSandboxScenarioRequestRequest.js +11 -2
  160. package/dist/serialization/resources/testSuites/client/requests/TestSuiteTestCaseRequest.js +10 -1
  161. package/dist/serialization/types/ApiNodeResult.js +10 -1
  162. package/dist/serialization/types/ChatMessage.js +10 -1
  163. package/dist/serialization/types/ChatMessageRequest.js +10 -1
  164. package/dist/serialization/types/ConditionalNodeResult.js +10 -1
  165. package/dist/serialization/types/DeploymentRead.js +12 -3
  166. package/dist/serialization/types/DocumentDocumentToDocumentIndex.js +10 -1
  167. package/dist/serialization/types/DocumentIndexRead.js +11 -2
  168. package/dist/serialization/types/DocumentRead.js +12 -3
  169. package/dist/serialization/types/EnrichedNormalizedCompletion.js +12 -3
  170. package/dist/serialization/types/GenerateOptionsRequest.js +10 -1
  171. package/dist/serialization/types/GenerateRequest.js +10 -1
  172. package/dist/serialization/types/GenerateResponse.js +10 -1
  173. package/dist/serialization/types/GenerateResult.js +11 -2
  174. package/dist/serialization/types/GenerateResultData.js +10 -1
  175. package/dist/serialization/types/GenerateStreamResponse.js +10 -1
  176. package/dist/serialization/types/GenerateStreamResult.js +11 -2
  177. package/dist/serialization/types/GenerateStreamResultData.js +10 -1
  178. package/dist/serialization/types/MetadataFilterConfigRequest.js +12 -3
  179. package/dist/serialization/types/MetadataFilterRuleRequest.js +12 -3
  180. package/dist/serialization/types/ModelVersionBuildConfig.js +10 -1
  181. package/dist/serialization/types/ModelVersionCompilePromptResponse.js +10 -1
  182. package/dist/serialization/types/ModelVersionExecConfig.js +12 -3
  183. package/dist/serialization/types/ModelVersionRead.js +13 -4
  184. package/dist/serialization/types/NodeInputCompiledChatHistoryValue.js +10 -1
  185. package/dist/serialization/types/NodeInputCompiledErrorValue.js +10 -1
  186. package/dist/serialization/types/NodeInputCompiledSearchResultsValue.js +10 -1
  187. package/dist/serialization/types/NodeInputVariableCompiledValue.js +15 -6
  188. package/dist/serialization/types/NormalizedLogProbs.js +10 -1
  189. package/dist/serialization/types/PaginatedSlimDocumentList.js +10 -1
  190. package/dist/serialization/types/PromptNodeResult.js +10 -1
  191. package/dist/serialization/types/PromptTemplateBlock.js +11 -2
  192. package/dist/serialization/types/PromptTemplateBlockData.js +10 -1
  193. package/dist/serialization/types/PromptTemplateBlockDataRequest.js +10 -1
  194. package/dist/serialization/types/PromptTemplateBlockProperties.js +12 -3
  195. package/dist/serialization/types/PromptTemplateBlockPropertiesRequest.js +12 -3
  196. package/dist/serialization/types/PromptTemplateBlockRequest.js +11 -2
  197. package/dist/serialization/types/RegisterPromptPromptInfoRequest.js +11 -2
  198. package/dist/serialization/types/RegisterPromptResponse.js +14 -5
  199. package/dist/serialization/types/RegisteredPromptInputVariableRequest.js +10 -1
  200. package/dist/serialization/types/SandboxMetricInputParams.js +10 -1
  201. package/dist/serialization/types/SandboxMetricInputParamsRequest.js +10 -1
  202. package/dist/serialization/types/SandboxScenario.js +11 -2
  203. package/dist/serialization/types/ScenarioInput.js +11 -2
  204. package/dist/serialization/types/ScenarioInputRequest.js +11 -2
  205. package/dist/serialization/types/SearchFiltersRequest.js +10 -1
  206. package/dist/serialization/types/SearchNodeResult.js +10 -1
  207. package/dist/serialization/types/SearchNodeResultData.js +10 -1
  208. package/dist/serialization/types/SearchRequestOptionsRequest.js +12 -3
  209. package/dist/serialization/types/SearchResponse.js +10 -1
  210. package/dist/serialization/types/SearchResult.js +10 -1
  211. package/dist/serialization/types/SlimDocument.js +13 -4
  212. package/dist/serialization/types/SubmitWorkflowExecutionActualRequest.js +12 -3
  213. package/dist/serialization/types/TemplatingNodeChatHistoryResult.js +10 -1
  214. package/dist/serialization/types/TemplatingNodeErrorResult.js +10 -1
  215. package/dist/serialization/types/TemplatingNodeResult.js +10 -1
  216. package/dist/serialization/types/TemplatingNodeResultData.js +10 -1
  217. package/dist/serialization/types/TemplatingNodeResultOutput.js +15 -6
  218. package/dist/serialization/types/TemplatingNodeSearchResultsResult.js +10 -1
  219. package/dist/serialization/types/TerminalNodeChatHistoryResult.js +10 -1
  220. package/dist/serialization/types/TerminalNodeErrorResult.js +10 -1
  221. package/dist/serialization/types/TerminalNodeResult.js +10 -1
  222. package/dist/serialization/types/TerminalNodeResultData.js +10 -1
  223. package/dist/serialization/types/TerminalNodeResultOutput.js +15 -6
  224. package/dist/serialization/types/TerminalNodeSearchResultsResult.js +10 -1
  225. package/dist/serialization/types/TestSuiteTestCase.js +10 -1
  226. package/dist/serialization/types/VellumError.js +10 -1
  227. package/dist/serialization/types/VellumVariable.js +10 -1
  228. package/dist/serialization/types/WorkflowEventError.js +10 -1
  229. package/dist/serialization/types/WorkflowExecutionActualChatHistoryRequest.js +10 -1
  230. package/dist/serialization/types/WorkflowExecutionNodeResultEvent.js +10 -1
  231. package/dist/serialization/types/WorkflowExecutionWorkflowResultEvent.js +10 -1
  232. package/dist/serialization/types/WorkflowNodeResultData.js +15 -6
  233. package/dist/serialization/types/WorkflowNodeResultEvent.js +13 -4
  234. package/dist/serialization/types/WorkflowRequestChatHistoryInputRequest.js +10 -1
  235. package/dist/serialization/types/WorkflowRequestInputRequest.js +12 -3
  236. package/dist/serialization/types/WorkflowResultEvent.js +12 -3
  237. package/dist/serialization/types/WorkflowResultEventOutputData.js +15 -6
  238. package/dist/serialization/types/WorkflowResultEventOutputDataChatHistory.js +11 -2
  239. package/dist/serialization/types/WorkflowResultEventOutputDataError.js +11 -2
  240. package/dist/serialization/types/WorkflowResultEventOutputDataJson.js +10 -1
  241. package/dist/serialization/types/WorkflowResultEventOutputDataNumber.js +10 -1
  242. package/dist/serialization/types/WorkflowResultEventOutputDataSearchResults.js +11 -2
  243. package/dist/serialization/types/WorkflowResultEventOutputDataString.js +10 -1
  244. package/dist/serialization/types/WorkflowStreamEvent.js +11 -2
  245. package/errors/VellumError.js +14 -3
  246. package/package.json +4 -3
  247. package/serialization/client/requests/ExecuteWorkflowStreamRequest.js +11 -2
  248. package/serialization/client/requests/GenerateBodyRequest.js +11 -2
  249. package/serialization/client/requests/GenerateStreamBodyRequest.js +11 -2
  250. package/serialization/client/requests/SearchRequestBodyRequest.js +10 -1
  251. package/serialization/client/requests/SubmitCompletionActualsRequest.js +10 -1
  252. package/serialization/client/requests/SubmitWorkflowExecutionActualsRequest.js +10 -1
  253. package/serialization/resources/documentIndexes/client/requests/DocumentIndexCreateRequest.js +11 -2
  254. package/serialization/resources/documents/client/requests/PatchedDocumentUpdateRequest.js +10 -1
  255. package/serialization/resources/registeredPrompts/client/requests/RegisterPromptRequestRequest.js +12 -3
  256. package/serialization/resources/sandboxes/client/requests/UpsertSandboxScenarioRequestRequest.js +11 -2
  257. package/serialization/resources/testSuites/client/requests/TestSuiteTestCaseRequest.js +10 -1
  258. package/serialization/types/ApiNodeResult.js +10 -1
  259. package/serialization/types/ChatMessage.js +10 -1
  260. package/serialization/types/ChatMessageRequest.js +10 -1
  261. package/serialization/types/ConditionalNodeResult.js +10 -1
  262. package/serialization/types/DeploymentRead.js +12 -3
  263. package/serialization/types/DocumentDocumentToDocumentIndex.js +10 -1
  264. package/serialization/types/DocumentIndexRead.js +11 -2
  265. package/serialization/types/DocumentRead.js +12 -3
  266. package/serialization/types/EnrichedNormalizedCompletion.js +12 -3
  267. package/serialization/types/GenerateOptionsRequest.js +10 -1
  268. package/serialization/types/GenerateRequest.js +10 -1
  269. package/serialization/types/GenerateResponse.js +10 -1
  270. package/serialization/types/GenerateResult.js +11 -2
  271. package/serialization/types/GenerateResultData.js +10 -1
  272. package/serialization/types/GenerateStreamResponse.js +10 -1
  273. package/serialization/types/GenerateStreamResult.js +11 -2
  274. package/serialization/types/GenerateStreamResultData.js +10 -1
  275. package/serialization/types/MetadataFilterConfigRequest.js +12 -3
  276. package/serialization/types/MetadataFilterRuleRequest.js +12 -3
  277. package/serialization/types/ModelVersionBuildConfig.js +10 -1
  278. package/serialization/types/ModelVersionCompilePromptResponse.js +10 -1
  279. package/serialization/types/ModelVersionExecConfig.js +12 -3
  280. package/serialization/types/ModelVersionRead.js +13 -4
  281. package/serialization/types/NodeInputCompiledChatHistoryValue.js +10 -1
  282. package/serialization/types/NodeInputCompiledErrorValue.js +10 -1
  283. package/serialization/types/NodeInputCompiledSearchResultsValue.js +10 -1
  284. package/serialization/types/NodeInputVariableCompiledValue.js +15 -6
  285. package/serialization/types/NormalizedLogProbs.js +10 -1
  286. package/serialization/types/PaginatedSlimDocumentList.js +10 -1
  287. package/serialization/types/PromptNodeResult.js +10 -1
  288. package/serialization/types/PromptTemplateBlock.js +11 -2
  289. package/serialization/types/PromptTemplateBlockData.js +10 -1
  290. package/serialization/types/PromptTemplateBlockDataRequest.js +10 -1
  291. package/serialization/types/PromptTemplateBlockProperties.js +12 -3
  292. package/serialization/types/PromptTemplateBlockPropertiesRequest.js +12 -3
  293. package/serialization/types/PromptTemplateBlockRequest.js +11 -2
  294. package/serialization/types/RegisterPromptPromptInfoRequest.js +11 -2
  295. package/serialization/types/RegisterPromptResponse.js +14 -5
  296. package/serialization/types/RegisteredPromptInputVariableRequest.js +10 -1
  297. package/serialization/types/SandboxMetricInputParams.js +10 -1
  298. package/serialization/types/SandboxMetricInputParamsRequest.js +10 -1
  299. package/serialization/types/SandboxScenario.js +11 -2
  300. package/serialization/types/ScenarioInput.js +11 -2
  301. package/serialization/types/ScenarioInputRequest.js +11 -2
  302. package/serialization/types/SearchFiltersRequest.js +10 -1
  303. package/serialization/types/SearchNodeResult.js +10 -1
  304. package/serialization/types/SearchNodeResultData.js +10 -1
  305. package/serialization/types/SearchRequestOptionsRequest.js +12 -3
  306. package/serialization/types/SearchResponse.js +10 -1
  307. package/serialization/types/SearchResult.js +10 -1
  308. package/serialization/types/SlimDocument.js +13 -4
  309. package/serialization/types/SubmitWorkflowExecutionActualRequest.js +12 -3
  310. package/serialization/types/TemplatingNodeChatHistoryResult.js +10 -1
  311. package/serialization/types/TemplatingNodeErrorResult.js +10 -1
  312. package/serialization/types/TemplatingNodeResult.js +10 -1
  313. package/serialization/types/TemplatingNodeResultData.js +10 -1
  314. package/serialization/types/TemplatingNodeResultOutput.js +15 -6
  315. package/serialization/types/TemplatingNodeSearchResultsResult.js +10 -1
  316. package/serialization/types/TerminalNodeChatHistoryResult.js +10 -1
  317. package/serialization/types/TerminalNodeErrorResult.js +10 -1
  318. package/serialization/types/TerminalNodeResult.js +10 -1
  319. package/serialization/types/TerminalNodeResultData.js +10 -1
  320. package/serialization/types/TerminalNodeResultOutput.js +15 -6
  321. package/serialization/types/TerminalNodeSearchResultsResult.js +10 -1
  322. package/serialization/types/TestSuiteTestCase.js +10 -1
  323. package/serialization/types/VellumError.js +10 -1
  324. package/serialization/types/VellumVariable.js +10 -1
  325. package/serialization/types/WorkflowEventError.js +10 -1
  326. package/serialization/types/WorkflowExecutionActualChatHistoryRequest.js +10 -1
  327. package/serialization/types/WorkflowExecutionNodeResultEvent.js +10 -1
  328. package/serialization/types/WorkflowExecutionWorkflowResultEvent.js +10 -1
  329. package/serialization/types/WorkflowNodeResultData.js +15 -6
  330. package/serialization/types/WorkflowNodeResultEvent.js +13 -4
  331. package/serialization/types/WorkflowRequestChatHistoryInputRequest.js +10 -1
  332. package/serialization/types/WorkflowRequestInputRequest.js +12 -3
  333. package/serialization/types/WorkflowResultEvent.js +12 -3
  334. package/serialization/types/WorkflowResultEventOutputData.js +15 -6
  335. package/serialization/types/WorkflowResultEventOutputDataChatHistory.js +11 -2
  336. package/serialization/types/WorkflowResultEventOutputDataError.js +11 -2
  337. package/serialization/types/WorkflowResultEventOutputDataJson.js +10 -1
  338. package/serialization/types/WorkflowResultEventOutputDataNumber.js +10 -1
  339. package/serialization/types/WorkflowResultEventOutputDataSearchResults.js +11 -2
  340. package/serialization/types/WorkflowResultEventOutputDataString.js +10 -1
  341. package/serialization/types/WorkflowStreamEvent.js +11 -2
  342. package/core/callback-queue/CallbackQueue.d.ts +0 -6
  343. package/core/callback-queue/CallbackQueue.js +0 -20
  344. package/core/callback-queue/index.d.ts +0 -1
  345. package/core/callback-queue/index.js +0 -5
  346. package/dist/core/callback-queue/CallbackQueue.d.ts +0 -6
  347. package/dist/core/callback-queue/CallbackQueue.js +0 -20
  348. package/dist/core/callback-queue/index.d.ts +0 -1
  349. package/dist/core/callback-queue/index.js +0 -5
@@ -1,91 +1,106 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.record = void 0;
4
13
  const Schema_1 = require("../../Schema");
5
14
  const entries_1 = require("../../utils/entries");
15
+ const getErrorMessageForIncorrectType_1 = require("../../utils/getErrorMessageForIncorrectType");
6
16
  const isPlainObject_1 = require("../../utils/isPlainObject");
17
+ const maybeSkipValidation_1 = require("../../utils/maybeSkipValidation");
7
18
  const schema_utils_1 = require("../schema-utils");
8
19
  function record(keySchema, valueSchema) {
9
20
  const baseSchema = {
10
- parse: async (raw, opts) => {
21
+ parse: (raw, opts) => __awaiter(this, void 0, void 0, function* () {
11
22
  return validateAndTransformRecord({
12
23
  value: raw,
13
- isKeyNumeric: (await keySchema.getType()) === Schema_1.SchemaType.NUMBER,
14
- transformKey: (key) => keySchema.parse(key, opts),
15
- transformValue: (value) => valueSchema.parse(value, opts),
24
+ isKeyNumeric: (yield keySchema.getType()) === Schema_1.SchemaType.NUMBER,
25
+ transformKey: (key) => {
26
+ var _a;
27
+ return keySchema.parse(key, Object.assign(Object.assign({}, opts), { breadcrumbsPrefix: [...((_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : []), `${key} (key)`] }));
28
+ },
29
+ transformValue: (value, key) => {
30
+ var _a;
31
+ return valueSchema.parse(value, Object.assign(Object.assign({}, opts), { breadcrumbsPrefix: [...((_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : []), `${key}`] }));
32
+ },
33
+ breadcrumbsPrefix: opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix,
16
34
  });
17
- },
18
- json: async (parsed, opts) => {
35
+ }),
36
+ json: (parsed, opts) => __awaiter(this, void 0, void 0, function* () {
19
37
  return validateAndTransformRecord({
20
38
  value: parsed,
21
- isKeyNumeric: (await keySchema.getType()) === Schema_1.SchemaType.NUMBER,
22
- transformKey: (key) => keySchema.json(key, opts),
23
- transformValue: (value) => valueSchema.json(value, opts),
39
+ isKeyNumeric: (yield keySchema.getType()) === Schema_1.SchemaType.NUMBER,
40
+ transformKey: (key) => {
41
+ var _a;
42
+ return keySchema.json(key, Object.assign(Object.assign({}, opts), { breadcrumbsPrefix: [...((_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : []), `${key} (key)`] }));
43
+ },
44
+ transformValue: (value, key) => {
45
+ var _a;
46
+ return valueSchema.json(value, Object.assign(Object.assign({}, opts), { breadcrumbsPrefix: [...((_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : []), `${key}`] }));
47
+ },
48
+ breadcrumbsPrefix: opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix,
24
49
  });
25
- },
50
+ }),
26
51
  getType: () => Schema_1.SchemaType.RECORD,
27
52
  };
28
- return {
29
- ...baseSchema,
30
- ...(0, schema_utils_1.getSchemaUtils)(baseSchema),
31
- };
53
+ return Object.assign(Object.assign({}, (0, maybeSkipValidation_1.maybeSkipValidation)(baseSchema)), (0, schema_utils_1.getSchemaUtils)(baseSchema));
32
54
  }
33
55
  exports.record = record;
34
- async function validateAndTransformRecord({ value, isKeyNumeric, transformKey, transformValue, }) {
35
- if (!(0, isPlainObject_1.isPlainObject)(value)) {
36
- return {
37
- ok: false,
38
- errors: [
39
- {
40
- path: [],
41
- message: isPlainObject_1.NOT_AN_OBJECT_ERROR_MESSAGE,
42
- },
43
- ],
44
- };
45
- }
46
- return (0, entries_1.entries)(value).reduce(async (accPromise, [stringKey, value]) => {
47
- // skip nullish keys
48
- if (value == null) {
49
- return accPromise;
56
+ function validateAndTransformRecord({ value, isKeyNumeric, transformKey, transformValue, breadcrumbsPrefix = [], }) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ if (!(0, isPlainObject_1.isPlainObject)(value)) {
59
+ return {
60
+ ok: false,
61
+ errors: [
62
+ {
63
+ path: breadcrumbsPrefix,
64
+ message: (0, getErrorMessageForIncorrectType_1.getErrorMessageForIncorrectType)(value, "object"),
65
+ },
66
+ ],
67
+ };
50
68
  }
51
- const acc = await accPromise;
52
- let key = stringKey;
53
- if (isKeyNumeric) {
54
- const numberKey = stringKey.length > 0 ? Number(stringKey) : NaN;
55
- if (!isNaN(numberKey)) {
56
- key = numberKey;
69
+ return (0, entries_1.entries)(value).reduce((accPromise, [stringKey, value]) => __awaiter(this, void 0, void 0, function* () {
70
+ // skip nullish keys
71
+ if (value == null) {
72
+ return accPromise;
73
+ }
74
+ const acc = yield accPromise;
75
+ let key = stringKey;
76
+ if (isKeyNumeric) {
77
+ const numberKey = stringKey.length > 0 ? Number(stringKey) : NaN;
78
+ if (!isNaN(numberKey)) {
79
+ key = numberKey;
80
+ }
81
+ }
82
+ const transformedKey = yield transformKey(key);
83
+ const transformedValue = yield transformValue(value, key);
84
+ if (acc.ok && transformedKey.ok && transformedValue.ok) {
85
+ return {
86
+ ok: true,
87
+ value: Object.assign(Object.assign({}, acc.value), { [transformedKey.value]: transformedValue.value }),
88
+ };
89
+ }
90
+ const errors = [];
91
+ if (!acc.ok) {
92
+ errors.push(...acc.errors);
93
+ }
94
+ if (!transformedKey.ok) {
95
+ errors.push(...transformedKey.errors);
96
+ }
97
+ if (!transformedValue.ok) {
98
+ errors.push(...transformedValue.errors);
57
99
  }
58
- }
59
- const transformedKey = await transformKey(key);
60
- const transformedValue = await transformValue(value);
61
- if (acc.ok && transformedKey.ok && transformedValue.ok) {
62
100
  return {
63
- ok: true,
64
- value: {
65
- ...acc.value,
66
- [transformedKey.value]: transformedValue.value,
67
- },
101
+ ok: false,
102
+ errors,
68
103
  };
69
- }
70
- const errors = [];
71
- if (!acc.ok) {
72
- errors.push(...acc.errors);
73
- }
74
- if (!transformedKey.ok) {
75
- errors.push(...transformedKey.errors.map((error) => ({
76
- path: [`${key} (key)`, ...error.path],
77
- message: error.message,
78
- })));
79
- }
80
- if (!transformedValue.ok) {
81
- errors.push(...transformedValue.errors.map((error) => ({
82
- path: [stringKey, ...error.path],
83
- message: error.message,
84
- })));
85
- }
86
- return {
87
- ok: false,
88
- errors,
89
- };
90
- }, Promise.resolve({ ok: true, value: {} }));
104
+ }), Promise.resolve({ ok: true, value: {} }));
105
+ });
91
106
  }
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JsonError = void 0;
4
4
  const stringifyValidationErrors_1 = require("./stringifyValidationErrors");
5
5
  class JsonError extends Error {
6
- errors;
7
6
  constructor(errors) {
8
7
  super(errors.map(stringifyValidationErrors_1.stringifyValidationError).join("; "));
9
8
  this.errors = errors;
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ParseError = void 0;
4
4
  const stringifyValidationErrors_1 = require("./stringifyValidationErrors");
5
5
  class ParseError extends Error {
6
- errors;
7
6
  constructor(errors) {
8
7
  super(errors.map(stringifyValidationErrors_1.stringifyValidationError).join("; "));
9
8
  this.errors = errors;
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.transform = exports.optional = exports.getSchemaUtils = void 0;
4
13
  const Schema_1 = require("../../Schema");
@@ -8,20 +17,20 @@ function getSchemaUtils(schema) {
8
17
  return {
9
18
  optional: () => optional(schema),
10
19
  transform: (transformer) => transform(schema, transformer),
11
- parseOrThrow: async (raw, opts) => {
12
- const parsed = await schema.parse(raw, opts);
20
+ parseOrThrow: (raw, opts) => __awaiter(this, void 0, void 0, function* () {
21
+ const parsed = yield schema.parse(raw, opts);
13
22
  if (parsed.ok) {
14
23
  return parsed.value;
15
24
  }
16
25
  throw new ParseError_1.ParseError(parsed.errors);
17
- },
18
- jsonOrThrow: async (parsed, opts) => {
19
- const raw = await schema.json(parsed, opts);
26
+ }),
27
+ jsonOrThrow: (parsed, opts) => __awaiter(this, void 0, void 0, function* () {
28
+ const raw = yield schema.json(parsed, opts);
20
29
  if (raw.ok) {
21
30
  return raw.value;
22
31
  }
23
32
  throw new JsonError_1.JsonError(raw.errors);
24
- },
33
+ }),
25
34
  };
26
35
  }
27
36
  exports.getSchemaUtils = getSchemaUtils;
@@ -50,16 +59,13 @@ function optional(schema) {
50
59
  },
51
60
  getType: () => Schema_1.SchemaType.OPTIONAL,
52
61
  };
53
- return {
54
- ...baseSchema,
55
- ...getSchemaUtils(baseSchema),
56
- };
62
+ return Object.assign(Object.assign({}, baseSchema), getSchemaUtils(baseSchema));
57
63
  }
58
64
  exports.optional = optional;
59
65
  function transform(schema, transformer) {
60
66
  const baseSchema = {
61
- parse: async (raw, opts) => {
62
- const parsed = await schema.parse(raw, opts);
67
+ parse: (raw, opts) => __awaiter(this, void 0, void 0, function* () {
68
+ const parsed = yield schema.parse(raw, opts);
63
69
  if (!parsed.ok) {
64
70
  return parsed;
65
71
  }
@@ -67,16 +73,13 @@ function transform(schema, transformer) {
67
73
  ok: true,
68
74
  value: transformer.transform(parsed.value),
69
75
  };
70
- },
71
- json: async (transformed, opts) => {
72
- const parsed = await transformer.untransform(transformed);
76
+ }),
77
+ json: (transformed, opts) => __awaiter(this, void 0, void 0, function* () {
78
+ const parsed = yield transformer.untransform(transformed);
73
79
  return schema.json(parsed, opts);
74
- },
80
+ }),
75
81
  getType: () => schema.getType(),
76
82
  };
77
- return {
78
- ...baseSchema,
79
- ...getSchemaUtils(baseSchema),
80
- };
83
+ return Object.assign(Object.assign({}, baseSchema), getSchemaUtils(baseSchema));
81
84
  }
82
85
  exports.transform = transform;
@@ -1,3 +1,4 @@
1
- export { getSchemaUtils, optional, transform, type SchemaUtils } from "./getSchemaUtils";
1
+ export { getSchemaUtils, optional, transform } from "./getSchemaUtils";
2
+ export type { SchemaUtils } from "./getSchemaUtils";
2
3
  export { JsonError } from "./JsonError";
3
4
  export { ParseError } from "./ParseError";
@@ -1,14 +1,25 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.set = void 0;
4
13
  const Schema_1 = require("../../Schema");
14
+ const getErrorMessageForIncorrectType_1 = require("../../utils/getErrorMessageForIncorrectType");
15
+ const maybeSkipValidation_1 = require("../../utils/maybeSkipValidation");
5
16
  const list_1 = require("../list");
6
17
  const schema_utils_1 = require("../schema-utils");
7
18
  function set(schema) {
8
19
  const listSchema = (0, list_1.list)(schema);
9
20
  const baseSchema = {
10
- parse: async (raw, opts) => {
11
- const parsedList = await listSchema.parse(raw, opts);
21
+ parse: (raw, opts) => __awaiter(this, void 0, void 0, function* () {
22
+ const parsedList = yield listSchema.parse(raw, opts);
12
23
  if (parsedList.ok) {
13
24
  return {
14
25
  ok: true,
@@ -18,27 +29,25 @@ function set(schema) {
18
29
  else {
19
30
  return parsedList;
20
31
  }
21
- },
22
- json: async (parsed, opts) => {
32
+ }),
33
+ json: (parsed, opts) => __awaiter(this, void 0, void 0, function* () {
34
+ var _a;
23
35
  if (!(parsed instanceof Set)) {
24
36
  return {
25
37
  ok: false,
26
38
  errors: [
27
39
  {
28
- path: [],
29
- message: "Not a Set",
40
+ path: (_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : [],
41
+ message: (0, getErrorMessageForIncorrectType_1.getErrorMessageForIncorrectType)(parsed, "Set"),
30
42
  },
31
43
  ],
32
44
  };
33
45
  }
34
- const jsonList = await listSchema.json([...parsed], opts);
46
+ const jsonList = yield listSchema.json([...parsed], opts);
35
47
  return jsonList;
36
- },
48
+ }),
37
49
  getType: () => Schema_1.SchemaType.SET,
38
50
  };
39
- return {
40
- ...baseSchema,
41
- ...(0, schema_utils_1.getSchemaUtils)(baseSchema),
42
- };
51
+ return Object.assign(Object.assign({}, (0, maybeSkipValidation_1.maybeSkipValidation)(baseSchema)), (0, schema_utils_1.getSchemaUtils)(baseSchema));
43
52
  }
44
53
  exports.set = set;
@@ -1,2 +1,2 @@
1
- export { type inferParsedUnidiscriminatedUnionSchema, type inferRawUnidiscriminatedUnionSchema, type UndiscriminatedUnionSchema, } from "./types";
1
+ export type { inferParsedUnidiscriminatedUnionSchema, inferRawUnidiscriminatedUnionSchema, UndiscriminatedUnionSchema, } from "./types";
2
2
  export { undiscriminatedUnion } from "./undiscriminatedUnion";
@@ -1,37 +1,51 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.undiscriminatedUnion = void 0;
4
13
  const Schema_1 = require("../../Schema");
14
+ const maybeSkipValidation_1 = require("../../utils/maybeSkipValidation");
5
15
  const schema_utils_1 = require("../schema-utils");
6
16
  function undiscriminatedUnion(schemas) {
7
17
  const baseSchema = {
8
- parse: async (raw, opts) => {
9
- return validateAndTransformUndiscriminatedUnion((schema) => schema.parse(raw, opts), schemas);
10
- },
11
- json: async (parsed, opts) => {
12
- return validateAndTransformUndiscriminatedUnion((schema) => schema.json(parsed, opts), schemas);
13
- },
18
+ parse: (raw, opts) => __awaiter(this, void 0, void 0, function* () {
19
+ return validateAndTransformUndiscriminatedUnion((schema, opts) => schema.parse(raw, opts), schemas, opts);
20
+ }),
21
+ json: (parsed, opts) => __awaiter(this, void 0, void 0, function* () {
22
+ return validateAndTransformUndiscriminatedUnion((schema, opts) => schema.json(parsed, opts), schemas, opts);
23
+ }),
14
24
  getType: () => Schema_1.SchemaType.UNDISCRIMINATED_UNION,
15
25
  };
16
- return {
17
- ...baseSchema,
18
- ...(0, schema_utils_1.getSchemaUtils)(baseSchema),
19
- };
26
+ return Object.assign(Object.assign({}, (0, maybeSkipValidation_1.maybeSkipValidation)(baseSchema)), (0, schema_utils_1.getSchemaUtils)(baseSchema));
20
27
  }
21
28
  exports.undiscriminatedUnion = undiscriminatedUnion;
22
- async function validateAndTransformUndiscriminatedUnion(transform, schemas) {
23
- const errors = [];
24
- for (const schema of schemas) {
25
- const transformed = await transform(schema);
26
- if (transformed.ok) {
27
- return transformed;
28
- }
29
- else if (errors.length === 0) {
30
- errors.push(...transformed.errors);
29
+ function validateAndTransformUndiscriminatedUnion(transform, schemas, opts) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const errors = [];
32
+ for (const [index, schema] of schemas.entries()) {
33
+ const transformed = yield transform(schema, Object.assign(Object.assign({}, opts), { skipValidation: false }));
34
+ if (transformed.ok) {
35
+ return transformed;
36
+ }
37
+ else {
38
+ for (const error of transformed.errors) {
39
+ errors.push({
40
+ path: error.path,
41
+ message: `[Variant ${index}] ${error.message}`,
42
+ });
43
+ }
44
+ }
31
45
  }
32
- }
33
- return {
34
- ok: false,
35
- errors,
36
- };
46
+ return {
47
+ ok: false,
48
+ errors,
49
+ };
50
+ });
37
51
  }
@@ -1,3 +1,4 @@
1
- export { discriminant, type Discriminant } from "./discriminant";
2
- export { type inferParsedDiscriminant, type inferParsedUnion, type inferRawDiscriminant, type inferRawUnion, type UnionSubtypes, } from "./types";
1
+ export { discriminant } from "./discriminant";
2
+ export type { Discriminant } from "./discriminant";
3
+ export type { inferParsedDiscriminant, inferParsedUnion, inferRawDiscriminant, inferRawUnion, UnionSubtypes, } from "./types";
3
4
  export { union } from "./union";
@@ -1,9 +1,31 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
2
22
  Object.defineProperty(exports, "__esModule", { value: true });
3
23
  exports.union = void 0;
4
24
  const Schema_1 = require("../../Schema");
25
+ const getErrorMessageForIncorrectType_1 = require("../../utils/getErrorMessageForIncorrectType");
5
26
  const isPlainObject_1 = require("../../utils/isPlainObject");
6
27
  const keys_1 = require("../../utils/keys");
28
+ const maybeSkipValidation_1 = require("../../utils/maybeSkipValidation");
7
29
  const enum_1 = require("../enum");
8
30
  const object_like_1 = require("../object-like");
9
31
  const schema_utils_1 = require("../schema-utils");
@@ -14,107 +36,106 @@ function union(discriminant, union) {
14
36
  : discriminant.parsedDiscriminant;
15
37
  const discriminantValueSchema = (0, enum_1.enum_)((0, keys_1.keys)(union));
16
38
  const baseSchema = {
17
- parse: async (raw, opts) => {
39
+ parse: (raw, opts) => __awaiter(this, void 0, void 0, function* () {
18
40
  return transformAndValidateUnion({
19
41
  value: raw,
20
42
  discriminant: rawDiscriminant,
21
43
  transformedDiscriminant: parsedDiscriminant,
22
- transformDiscriminantValue: (discriminantValue) => discriminantValueSchema.parse(discriminantValue, {
23
- allowUnrecognizedEnumValues: opts?.allowUnrecognizedUnionMembers,
24
- }),
44
+ transformDiscriminantValue: (discriminantValue) => {
45
+ var _a;
46
+ return discriminantValueSchema.parse(discriminantValue, {
47
+ allowUnrecognizedEnumValues: opts === null || opts === void 0 ? void 0 : opts.allowUnrecognizedUnionMembers,
48
+ breadcrumbsPrefix: [...((_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : []), rawDiscriminant],
49
+ });
50
+ },
25
51
  getAdditionalPropertiesSchema: (discriminantValue) => union[discriminantValue],
26
- allowUnrecognizedUnionMembers: opts?.allowUnrecognizedUnionMembers,
52
+ allowUnrecognizedUnionMembers: opts === null || opts === void 0 ? void 0 : opts.allowUnrecognizedUnionMembers,
27
53
  transformAdditionalProperties: (additionalProperties, additionalPropertiesSchema) => additionalPropertiesSchema.parse(additionalProperties, opts),
54
+ breadcrumbsPrefix: opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix,
28
55
  });
29
- },
30
- json: async (parsed, opts) => {
56
+ }),
57
+ json: (parsed, opts) => __awaiter(this, void 0, void 0, function* () {
31
58
  return transformAndValidateUnion({
32
59
  value: parsed,
33
60
  discriminant: parsedDiscriminant,
34
61
  transformedDiscriminant: rawDiscriminant,
35
- transformDiscriminantValue: (discriminantValue) => discriminantValueSchema.json(discriminantValue, {
36
- allowUnrecognizedEnumValues: opts?.allowUnrecognizedUnionMembers,
37
- }),
62
+ transformDiscriminantValue: (discriminantValue) => {
63
+ var _a;
64
+ return discriminantValueSchema.json(discriminantValue, {
65
+ allowUnrecognizedEnumValues: opts === null || opts === void 0 ? void 0 : opts.allowUnrecognizedUnionMembers,
66
+ breadcrumbsPrefix: [...((_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : []), parsedDiscriminant],
67
+ });
68
+ },
38
69
  getAdditionalPropertiesSchema: (discriminantValue) => union[discriminantValue],
39
- allowUnrecognizedUnionMembers: opts?.allowUnrecognizedUnionMembers,
70
+ allowUnrecognizedUnionMembers: opts === null || opts === void 0 ? void 0 : opts.allowUnrecognizedUnionMembers,
40
71
  transformAdditionalProperties: (additionalProperties, additionalPropertiesSchema) => additionalPropertiesSchema.json(additionalProperties, opts),
72
+ breadcrumbsPrefix: opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix,
41
73
  });
42
- },
74
+ }),
43
75
  getType: () => Schema_1.SchemaType.UNION,
44
76
  };
45
- return {
46
- ...baseSchema,
47
- ...(0, schema_utils_1.getSchemaUtils)(baseSchema),
48
- ...(0, object_like_1.getObjectLikeUtils)(baseSchema),
49
- };
77
+ return Object.assign(Object.assign(Object.assign({}, (0, maybeSkipValidation_1.maybeSkipValidation)(baseSchema)), (0, schema_utils_1.getSchemaUtils)(baseSchema)), (0, object_like_1.getObjectLikeUtils)(baseSchema));
50
78
  }
51
79
  exports.union = union;
52
- async function transformAndValidateUnion({ value, discriminant, transformedDiscriminant, transformDiscriminantValue, getAdditionalPropertiesSchema, allowUnrecognizedUnionMembers = false, transformAdditionalProperties, }) {
53
- if (!(0, isPlainObject_1.isPlainObject)(value)) {
54
- return {
55
- ok: false,
56
- errors: [
57
- {
58
- path: [],
59
- message: isPlainObject_1.NOT_AN_OBJECT_ERROR_MESSAGE,
60
- },
61
- ],
62
- };
63
- }
64
- const { [discriminant]: discriminantValue, ...additionalProperties } = value;
65
- if (discriminantValue == null) {
66
- return {
67
- ok: false,
68
- errors: [
69
- {
70
- path: [],
71
- message: `Missing discriminant ("${discriminant}")`,
72
- },
73
- ],
74
- };
75
- }
76
- const transformedDiscriminantValue = await transformDiscriminantValue(discriminantValue);
77
- if (!transformedDiscriminantValue.ok) {
78
- return {
79
- ok: false,
80
- errors: transformedDiscriminantValue.errors.map((error) => ({
81
- path: [discriminant, ...error.path],
82
- message: error.message,
83
- })),
84
- };
85
- }
86
- const additionalPropertiesSchema = getAdditionalPropertiesSchema(transformedDiscriminantValue.value);
87
- if (additionalPropertiesSchema == null) {
88
- if (allowUnrecognizedUnionMembers) {
80
+ function transformAndValidateUnion({ value, discriminant, transformedDiscriminant, transformDiscriminantValue, getAdditionalPropertiesSchema, allowUnrecognizedUnionMembers = false, transformAdditionalProperties, breadcrumbsPrefix = [], }) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ if (!(0, isPlainObject_1.isPlainObject)(value)) {
89
83
  return {
90
- ok: true,
91
- value: {
92
- [transformedDiscriminant]: transformedDiscriminantValue.value,
93
- ...additionalProperties,
94
- },
84
+ ok: false,
85
+ errors: [
86
+ {
87
+ path: breadcrumbsPrefix,
88
+ message: (0, getErrorMessageForIncorrectType_1.getErrorMessageForIncorrectType)(value, "object"),
89
+ },
90
+ ],
95
91
  };
96
92
  }
97
- else {
93
+ const _a = value, _b = discriminant, discriminantValue = _a[_b], additionalProperties = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]);
94
+ if (discriminantValue == null) {
98
95
  return {
99
96
  ok: false,
100
97
  errors: [
101
98
  {
102
- path: [discriminant],
103
- message: "Unrecognized discriminant value",
99
+ path: breadcrumbsPrefix,
100
+ message: `Missing discriminant ("${discriminant}")`,
104
101
  },
105
102
  ],
106
103
  };
107
104
  }
108
- }
109
- const transformedAdditionalProperties = await transformAdditionalProperties(additionalProperties, additionalPropertiesSchema);
110
- if (!transformedAdditionalProperties.ok) {
111
- return transformedAdditionalProperties;
112
- }
113
- return {
114
- ok: true,
115
- value: {
116
- [transformedDiscriminant]: discriminantValue,
117
- ...transformedAdditionalProperties.value,
118
- },
119
- };
105
+ const transformedDiscriminantValue = yield transformDiscriminantValue(discriminantValue);
106
+ if (!transformedDiscriminantValue.ok) {
107
+ return {
108
+ ok: false,
109
+ errors: transformedDiscriminantValue.errors,
110
+ };
111
+ }
112
+ const additionalPropertiesSchema = getAdditionalPropertiesSchema(transformedDiscriminantValue.value);
113
+ if (additionalPropertiesSchema == null) {
114
+ if (allowUnrecognizedUnionMembers) {
115
+ return {
116
+ ok: true,
117
+ value: Object.assign({ [transformedDiscriminant]: transformedDiscriminantValue.value }, additionalProperties),
118
+ };
119
+ }
120
+ else {
121
+ return {
122
+ ok: false,
123
+ errors: [
124
+ {
125
+ path: [...breadcrumbsPrefix, discriminant],
126
+ message: "Unexpected discriminant value",
127
+ },
128
+ ],
129
+ };
130
+ }
131
+ }
132
+ const transformedAdditionalProperties = yield transformAdditionalProperties(additionalProperties, additionalPropertiesSchema);
133
+ if (!transformedAdditionalProperties.ok) {
134
+ return transformedAdditionalProperties;
135
+ }
136
+ return {
137
+ ok: true,
138
+ value: Object.assign({ [transformedDiscriminant]: discriminantValue }, transformedAdditionalProperties.value),
139
+ };
140
+ });
120
141
  }
@@ -1,2 +1,2 @@
1
1
  export * from "./builders";
2
- export { type inferParsed, type inferRaw, type Schema, type SchemaOptions } from "./Schema";
2
+ export type { inferParsed, inferRaw, Schema, SchemaOptions } from "./Schema";