@posthog/agent 1.26.0 → 1.28.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 (572) hide show
  1. package/dist/index.d.ts +1274 -20
  2. package/dist/index.js +7327 -11
  3. package/dist/index.js.map +1 -1
  4. package/package.json +6 -12
  5. package/src/agent.ts +42 -5
  6. package/src/types.ts +1 -1
  7. package/src/worktree-manager.ts +45 -0
  8. package/dist/_virtual/_commonjsHelpers.js +0 -6
  9. package/dist/_virtual/_commonjsHelpers.js.map +0 -1
  10. package/dist/_virtual/_tslib.js +0 -74
  11. package/dist/_virtual/_tslib.js.map +0 -1
  12. package/dist/_virtual/additionalItems.js +0 -4
  13. package/dist/_virtual/additionalItems.js.map +0 -1
  14. package/dist/_virtual/additionalProperties.js +0 -4
  15. package/dist/_virtual/additionalProperties.js.map +0 -1
  16. package/dist/_virtual/ajv.js +0 -4
  17. package/dist/_virtual/ajv.js.map +0 -1
  18. package/dist/_virtual/allOf.js +0 -4
  19. package/dist/_virtual/allOf.js.map +0 -1
  20. package/dist/_virtual/anyOf.js +0 -4
  21. package/dist/_virtual/anyOf.js.map +0 -1
  22. package/dist/_virtual/applicability.js +0 -4
  23. package/dist/_virtual/applicability.js.map +0 -1
  24. package/dist/_virtual/boolSchema.js +0 -4
  25. package/dist/_virtual/boolSchema.js.map +0 -1
  26. package/dist/_virtual/code.js +0 -4
  27. package/dist/_virtual/code.js.map +0 -1
  28. package/dist/_virtual/code2.js +0 -4
  29. package/dist/_virtual/code2.js.map +0 -1
  30. package/dist/_virtual/const.js +0 -4
  31. package/dist/_virtual/const.js.map +0 -1
  32. package/dist/_virtual/contains.js +0 -4
  33. package/dist/_virtual/contains.js.map +0 -1
  34. package/dist/_virtual/core.js +0 -4
  35. package/dist/_virtual/core.js.map +0 -1
  36. package/dist/_virtual/dataType.js +0 -4
  37. package/dist/_virtual/dataType.js.map +0 -1
  38. package/dist/_virtual/defaults.js +0 -4
  39. package/dist/_virtual/defaults.js.map +0 -1
  40. package/dist/_virtual/dependencies.js +0 -4
  41. package/dist/_virtual/dependencies.js.map +0 -1
  42. package/dist/_virtual/draft7.js +0 -4
  43. package/dist/_virtual/draft7.js.map +0 -1
  44. package/dist/_virtual/enum.js +0 -4
  45. package/dist/_virtual/enum.js.map +0 -1
  46. package/dist/_virtual/equal.js +0 -4
  47. package/dist/_virtual/equal.js.map +0 -1
  48. package/dist/_virtual/errors.js +0 -4
  49. package/dist/_virtual/errors.js.map +0 -1
  50. package/dist/_virtual/format.js +0 -4
  51. package/dist/_virtual/format.js.map +0 -1
  52. package/dist/_virtual/formats.js +0 -4
  53. package/dist/_virtual/formats.js.map +0 -1
  54. package/dist/_virtual/id.js +0 -4
  55. package/dist/_virtual/id.js.map +0 -1
  56. package/dist/_virtual/if.js +0 -4
  57. package/dist/_virtual/if.js.map +0 -1
  58. package/dist/_virtual/index.js +0 -4
  59. package/dist/_virtual/index.js.map +0 -1
  60. package/dist/_virtual/index10.js +0 -4
  61. package/dist/_virtual/index10.js.map +0 -1
  62. package/dist/_virtual/index11.js +0 -4
  63. package/dist/_virtual/index11.js.map +0 -1
  64. package/dist/_virtual/index2.js +0 -4
  65. package/dist/_virtual/index2.js.map +0 -1
  66. package/dist/_virtual/index3.js +0 -4
  67. package/dist/_virtual/index3.js.map +0 -1
  68. package/dist/_virtual/index4.js +0 -4
  69. package/dist/_virtual/index4.js.map +0 -1
  70. package/dist/_virtual/index5.js +0 -4
  71. package/dist/_virtual/index5.js.map +0 -1
  72. package/dist/_virtual/index6.js +0 -4
  73. package/dist/_virtual/index6.js.map +0 -1
  74. package/dist/_virtual/index7.js +0 -4
  75. package/dist/_virtual/index7.js.map +0 -1
  76. package/dist/_virtual/index8.js +0 -4
  77. package/dist/_virtual/index8.js.map +0 -1
  78. package/dist/_virtual/index9.js +0 -4
  79. package/dist/_virtual/index9.js.map +0 -1
  80. package/dist/_virtual/items.js +0 -4
  81. package/dist/_virtual/items.js.map +0 -1
  82. package/dist/_virtual/items2020.js +0 -4
  83. package/dist/_virtual/items2020.js.map +0 -1
  84. package/dist/_virtual/keyword.js +0 -4
  85. package/dist/_virtual/keyword.js.map +0 -1
  86. package/dist/_virtual/limit.js +0 -4
  87. package/dist/_virtual/limit.js.map +0 -1
  88. package/dist/_virtual/limitItems.js +0 -4
  89. package/dist/_virtual/limitItems.js.map +0 -1
  90. package/dist/_virtual/limitLength.js +0 -4
  91. package/dist/_virtual/limitLength.js.map +0 -1
  92. package/dist/_virtual/limitNumber.js +0 -4
  93. package/dist/_virtual/limitNumber.js.map +0 -1
  94. package/dist/_virtual/limitProperties.js +0 -4
  95. package/dist/_virtual/limitProperties.js.map +0 -1
  96. package/dist/_virtual/metadata.js +0 -4
  97. package/dist/_virtual/metadata.js.map +0 -1
  98. package/dist/_virtual/multipleOf.js +0 -4
  99. package/dist/_virtual/multipleOf.js.map +0 -1
  100. package/dist/_virtual/names.js +0 -4
  101. package/dist/_virtual/names.js.map +0 -1
  102. package/dist/_virtual/not.js +0 -4
  103. package/dist/_virtual/not.js.map +0 -1
  104. package/dist/_virtual/oneOf.js +0 -4
  105. package/dist/_virtual/oneOf.js.map +0 -1
  106. package/dist/_virtual/pattern.js +0 -4
  107. package/dist/_virtual/pattern.js.map +0 -1
  108. package/dist/_virtual/patternProperties.js +0 -4
  109. package/dist/_virtual/patternProperties.js.map +0 -1
  110. package/dist/_virtual/prefixItems.js +0 -4
  111. package/dist/_virtual/prefixItems.js.map +0 -1
  112. package/dist/_virtual/properties.js +0 -4
  113. package/dist/_virtual/properties.js.map +0 -1
  114. package/dist/_virtual/propertyNames.js +0 -4
  115. package/dist/_virtual/propertyNames.js.map +0 -1
  116. package/dist/_virtual/ref.js +0 -4
  117. package/dist/_virtual/ref.js.map +0 -1
  118. package/dist/_virtual/ref_error.js +0 -4
  119. package/dist/_virtual/ref_error.js.map +0 -1
  120. package/dist/_virtual/required.js +0 -4
  121. package/dist/_virtual/required.js.map +0 -1
  122. package/dist/_virtual/resolve.js +0 -4
  123. package/dist/_virtual/resolve.js.map +0 -1
  124. package/dist/_virtual/rules.js +0 -4
  125. package/dist/_virtual/rules.js.map +0 -1
  126. package/dist/_virtual/scope.js +0 -4
  127. package/dist/_virtual/scope.js.map +0 -1
  128. package/dist/_virtual/subschema.js +0 -4
  129. package/dist/_virtual/subschema.js.map +0 -1
  130. package/dist/_virtual/thenElse.js +0 -4
  131. package/dist/_virtual/thenElse.js.map +0 -1
  132. package/dist/_virtual/types.js +0 -4
  133. package/dist/_virtual/types.js.map +0 -1
  134. package/dist/_virtual/ucs2length.js +0 -4
  135. package/dist/_virtual/ucs2length.js.map +0 -1
  136. package/dist/_virtual/uniqueItems.js +0 -4
  137. package/dist/_virtual/uniqueItems.js.map +0 -1
  138. package/dist/_virtual/uri.js +0 -4
  139. package/dist/_virtual/uri.js.map +0 -1
  140. package/dist/_virtual/util.js +0 -4
  141. package/dist/_virtual/util.js.map +0 -1
  142. package/dist/_virtual/validation_error.js +0 -4
  143. package/dist/_virtual/validation_error.js.map +0 -1
  144. package/dist/example-client.d.ts +0 -3
  145. package/dist/example-client.d.ts.map +0 -1
  146. package/dist/example.d.ts +0 -3
  147. package/dist/example.d.ts.map +0 -1
  148. package/dist/index.d.ts.map +0 -1
  149. package/dist/node_modules/@agentclientprotocol/sdk/dist/acp.js +0 -891
  150. package/dist/node_modules/@agentclientprotocol/sdk/dist/acp.js.map +0 -1
  151. package/dist/node_modules/@agentclientprotocol/sdk/dist/schema.js +0 -876
  152. package/dist/node_modules/@agentclientprotocol/sdk/dist/schema.js.map +0 -1
  153. package/dist/node_modules/@agentclientprotocol/sdk/dist/stream.js +0 -66
  154. package/dist/node_modules/@agentclientprotocol/sdk/dist/stream.js.map +0 -1
  155. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +0 -23
  156. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +0 -1
  157. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +0 -331
  158. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +0 -1
  159. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +0 -717
  160. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +0 -1
  161. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +0 -221
  162. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +0 -1
  163. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +0 -56
  164. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +0 -1
  165. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +0 -440
  166. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +0 -1
  167. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +0 -94
  168. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js.map +0 -1
  169. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +0 -1610
  170. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +0 -1
  171. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +0 -91
  172. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +0 -1
  173. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/ZodError.js +0 -133
  174. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/ZodError.js.map +0 -1
  175. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/errors.js +0 -9
  176. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/errors.js.map +0 -1
  177. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/errorUtil.js +0 -9
  178. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/errorUtil.js.map +0 -1
  179. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/parseUtil.js +0 -112
  180. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/parseUtil.js.map +0 -1
  181. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/util.js +0 -136
  182. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/util.js.map +0 -1
  183. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/locales/en.js +0 -112
  184. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/locales/en.js.map +0 -1
  185. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/types.js +0 -3297
  186. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/types.js.map +0 -1
  187. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/errors.js +0 -44
  188. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/errors.js.map +0 -1
  189. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/iso.js +0 -36
  190. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/iso.js.map +0 -1
  191. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/parse.js +0 -10
  192. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/parse.js.map +0 -1
  193. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/schemas.js +0 -657
  194. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/schemas.js.map +0 -1
  195. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/api.js +0 -449
  196. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/api.js.map +0 -1
  197. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/checks.js +0 -413
  198. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/checks.js.map +0 -1
  199. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/core.js +0 -57
  200. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/core.js.map +0 -1
  201. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/doc.js +0 -38
  202. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/doc.js.map +0 -1
  203. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/errors.js +0 -86
  204. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/errors.js.map +0 -1
  205. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/parse.js +0 -61
  206. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/parse.js.map +0 -1
  207. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/regexes.js +0 -80
  208. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/regexes.js.map +0 -1
  209. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/registries.js +0 -52
  210. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/registries.js.map +0 -1
  211. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/schemas.js +0 -1307
  212. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/schemas.js.map +0 -1
  213. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/to-json-schema.js +0 -842
  214. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/to-json-schema.js.map +0 -1
  215. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/util.js +0 -335
  216. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/util.js.map +0 -1
  217. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/versions.js +0 -8
  218. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/versions.js.map +0 -1
  219. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/mini/schemas.js +0 -51
  220. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/mini/schemas.js.map +0 -1
  221. package/dist/node_modules/ajv/dist/ajv.js +0 -69
  222. package/dist/node_modules/ajv/dist/ajv.js.map +0 -1
  223. package/dist/node_modules/ajv/dist/compile/codegen/code.js +0 -169
  224. package/dist/node_modules/ajv/dist/compile/codegen/code.js.map +0 -1
  225. package/dist/node_modules/ajv/dist/compile/codegen/index.js +0 -712
  226. package/dist/node_modules/ajv/dist/compile/codegen/index.js.map +0 -1
  227. package/dist/node_modules/ajv/dist/compile/codegen/scope.js +0 -157
  228. package/dist/node_modules/ajv/dist/compile/codegen/scope.js.map +0 -1
  229. package/dist/node_modules/ajv/dist/compile/errors.js +0 -140
  230. package/dist/node_modules/ajv/dist/compile/errors.js.map +0 -1
  231. package/dist/node_modules/ajv/dist/compile/index.js +0 -253
  232. package/dist/node_modules/ajv/dist/compile/index.js.map +0 -1
  233. package/dist/node_modules/ajv/dist/compile/names.js +0 -40
  234. package/dist/node_modules/ajv/dist/compile/names.js.map +0 -1
  235. package/dist/node_modules/ajv/dist/compile/ref_error.js +0 -25
  236. package/dist/node_modules/ajv/dist/compile/ref_error.js.map +0 -1
  237. package/dist/node_modules/ajv/dist/compile/resolve.js +0 -162
  238. package/dist/node_modules/ajv/dist/compile/resolve.js.map +0 -1
  239. package/dist/node_modules/ajv/dist/compile/rules.js +0 -29
  240. package/dist/node_modules/ajv/dist/compile/rules.js.map +0 -1
  241. package/dist/node_modules/ajv/dist/compile/util.js +0 -183
  242. package/dist/node_modules/ajv/dist/compile/util.js.map +0 -1
  243. package/dist/node_modules/ajv/dist/compile/validate/applicability.js +0 -30
  244. package/dist/node_modules/ajv/dist/compile/validate/applicability.js.map +0 -1
  245. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js +0 -64
  246. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js.map +0 -1
  247. package/dist/node_modules/ajv/dist/compile/validate/dataType.js +0 -213
  248. package/dist/node_modules/ajv/dist/compile/validate/dataType.js.map +0 -1
  249. package/dist/node_modules/ajv/dist/compile/validate/defaults.js +0 -49
  250. package/dist/node_modules/ajv/dist/compile/validate/defaults.js.map +0 -1
  251. package/dist/node_modules/ajv/dist/compile/validate/index.js +0 -544
  252. package/dist/node_modules/ajv/dist/compile/validate/index.js.map +0 -1
  253. package/dist/node_modules/ajv/dist/compile/validate/keyword.js +0 -139
  254. package/dist/node_modules/ajv/dist/compile/validate/keyword.js.map +0 -1
  255. package/dist/node_modules/ajv/dist/compile/validate/subschema.js +0 -95
  256. package/dist/node_modules/ajv/dist/compile/validate/subschema.js.map +0 -1
  257. package/dist/node_modules/ajv/dist/core.js +0 -639
  258. package/dist/node_modules/ajv/dist/core.js.map +0 -1
  259. package/dist/node_modules/ajv/dist/refs/data.json.js +0 -31
  260. package/dist/node_modules/ajv/dist/refs/data.json.js.map +0 -1
  261. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +0 -254
  262. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js.map +0 -1
  263. package/dist/node_modules/ajv/dist/runtime/equal.js +0 -9
  264. package/dist/node_modules/ajv/dist/runtime/equal.js.map +0 -1
  265. package/dist/node_modules/ajv/dist/runtime/ucs2length.js +0 -25
  266. package/dist/node_modules/ajv/dist/runtime/ucs2length.js.map +0 -1
  267. package/dist/node_modules/ajv/dist/runtime/uri.js +0 -8
  268. package/dist/node_modules/ajv/dist/runtime/uri.js.map +0 -1
  269. package/dist/node_modules/ajv/dist/runtime/validation_error.js +0 -22
  270. package/dist/node_modules/ajv/dist/runtime/validation_error.js.map +0 -1
  271. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +0 -53
  272. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +0 -1
  273. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +0 -112
  274. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +0 -1
  275. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js +0 -26
  276. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +0 -1
  277. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +0 -14
  278. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +0 -1
  279. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js +0 -99
  280. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +0 -1
  281. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +0 -93
  282. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +0 -1
  283. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js +0 -70
  284. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js.map +0 -1
  285. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js +0 -77
  286. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js.map +0 -1
  287. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js +0 -57
  288. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js.map +0 -1
  289. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js +0 -37
  290. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +0 -1
  291. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js +0 -29
  292. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js.map +0 -1
  293. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +0 -64
  294. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +0 -1
  295. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +0 -80
  296. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +0 -1
  297. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +0 -15
  298. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +0 -1
  299. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js +0 -61
  300. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +0 -1
  301. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +0 -42
  302. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +0 -1
  303. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +0 -16
  304. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +0 -1
  305. package/dist/node_modules/ajv/dist/vocabularies/code.js +0 -146
  306. package/dist/node_modules/ajv/dist/vocabularies/code.js.map +0 -1
  307. package/dist/node_modules/ajv/dist/vocabularies/core/id.js +0 -11
  308. package/dist/node_modules/ajv/dist/vocabularies/core/id.js.map +0 -1
  309. package/dist/node_modules/ajv/dist/vocabularies/core/index.js +0 -21
  310. package/dist/node_modules/ajv/dist/vocabularies/core/index.js.map +0 -1
  311. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js +0 -131
  312. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js.map +0 -1
  313. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js +0 -113
  314. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +0 -1
  315. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js +0 -12
  316. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +0 -1
  317. package/dist/node_modules/ajv/dist/vocabularies/draft7.js +0 -28
  318. package/dist/node_modules/ajv/dist/vocabularies/draft7.js.map +0 -1
  319. package/dist/node_modules/ajv/dist/vocabularies/format/format.js +0 -94
  320. package/dist/node_modules/ajv/dist/vocabularies/format/format.js.map +0 -1
  321. package/dist/node_modules/ajv/dist/vocabularies/format/index.js +0 -9
  322. package/dist/node_modules/ajv/dist/vocabularies/format/index.js.map +0 -1
  323. package/dist/node_modules/ajv/dist/vocabularies/metadata.js +0 -21
  324. package/dist/node_modules/ajv/dist/vocabularies/metadata.js.map +0 -1
  325. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js +0 -31
  326. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js.map +0 -1
  327. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js +0 -54
  328. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js.map +0 -1
  329. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js +0 -54
  330. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js.map +0 -1
  331. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js +0 -26
  332. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +0 -1
  333. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js +0 -33
  334. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +0 -1
  335. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +0 -29
  336. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +0 -1
  337. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +0 -26
  338. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +0 -1
  339. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +0 -28
  340. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +0 -1
  341. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js +0 -27
  342. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +0 -1
  343. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js +0 -84
  344. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js.map +0 -1
  345. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +0 -72
  346. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +0 -1
  347. package/dist/node_modules/ajv-formats/dist/formats.js +0 -212
  348. package/dist/node_modules/ajv-formats/dist/formats.js.map +0 -1
  349. package/dist/node_modules/ajv-formats/dist/index.js +0 -52
  350. package/dist/node_modules/ajv-formats/dist/index.js.map +0 -1
  351. package/dist/node_modules/ajv-formats/dist/limit.js +0 -75
  352. package/dist/node_modules/ajv-formats/dist/limit.js.map +0 -1
  353. package/dist/node_modules/diff/libesm/diff/base.js +0 -256
  354. package/dist/node_modules/diff/libesm/diff/base.js.map +0 -1
  355. package/dist/node_modules/diff/libesm/diff/line.js +0 -64
  356. package/dist/node_modules/diff/libesm/diff/line.js.map +0 -1
  357. package/dist/node_modules/diff/libesm/patch/create.js +0 -185
  358. package/dist/node_modules/diff/libesm/patch/create.js.map +0 -1
  359. package/dist/node_modules/fast-deep-equal/index.js +0 -47
  360. package/dist/node_modules/fast-deep-equal/index.js.map +0 -1
  361. package/dist/node_modules/fast-uri/index.js +0 -347
  362. package/dist/node_modules/fast-uri/index.js.map +0 -1
  363. package/dist/node_modules/fast-uri/lib/schemes.js +0 -255
  364. package/dist/node_modules/fast-uri/lib/schemes.js.map +0 -1
  365. package/dist/node_modules/fast-uri/lib/utils.js +0 -334
  366. package/dist/node_modules/fast-uri/lib/utils.js.map +0 -1
  367. package/dist/node_modules/json-schema-traverse/index.js +0 -98
  368. package/dist/node_modules/json-schema-traverse/index.js.map +0 -1
  369. package/dist/node_modules/uuid/dist/rng.js +0 -14
  370. package/dist/node_modules/uuid/dist/rng.js.map +0 -1
  371. package/dist/node_modules/uuid/dist/stringify.js +0 -29
  372. package/dist/node_modules/uuid/dist/stringify.js.map +0 -1
  373. package/dist/node_modules/uuid/dist/v7.js +0 -65
  374. package/dist/node_modules/uuid/dist/v7.js.map +0 -1
  375. package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js +0 -37
  376. package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js.map +0 -1
  377. package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js +0 -26
  378. package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js.map +0 -1
  379. package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +0 -17
  380. package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js.map +0 -1
  381. package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +0 -11
  382. package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js.map +0 -1
  383. package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js +0 -66
  384. package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js.map +0 -1
  385. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +0 -21
  386. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js.map +0 -1
  387. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +0 -30
  388. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js.map +0 -1
  389. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +0 -53
  390. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js.map +0 -1
  391. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +0 -8
  392. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js.map +0 -1
  393. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +0 -8
  394. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js.map +0 -1
  395. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +0 -8
  396. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js.map +0 -1
  397. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +0 -50
  398. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js.map +0 -1
  399. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +0 -11
  400. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js.map +0 -1
  401. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +0 -11
  402. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js.map +0 -1
  403. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +0 -9
  404. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js.map +0 -1
  405. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +0 -56
  406. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js.map +0 -1
  407. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +0 -24
  408. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js.map +0 -1
  409. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +0 -30
  410. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js.map +0 -1
  411. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +0 -19
  412. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js.map +0 -1
  413. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +0 -15
  414. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js.map +0 -1
  415. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +0 -13
  416. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js.map +0 -1
  417. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +0 -37
  418. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js.map +0 -1
  419. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +0 -56
  420. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js.map +0 -1
  421. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +0 -76
  422. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js.map +0 -1
  423. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +0 -25
  424. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js.map +0 -1
  425. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +0 -24
  426. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js.map +0 -1
  427. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +0 -8
  428. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js.map +0 -1
  429. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +0 -8
  430. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js.map +0 -1
  431. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +0 -65
  432. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js.map +0 -1
  433. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +0 -24
  434. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js.map +0 -1
  435. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +0 -350
  436. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +0 -1
  437. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +0 -36
  438. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js.map +0 -1
  439. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +0 -10
  440. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js.map +0 -1
  441. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +0 -84
  442. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js.map +0 -1
  443. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +0 -8
  444. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js.map +0 -1
  445. package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js +0 -109
  446. package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js.map +0 -1
  447. package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +0 -90
  448. package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js.map +0 -1
  449. package/dist/node_modules/zod-to-json-schema/node_modules/zod/v3/types.js +0 -42
  450. package/dist/node_modules/zod-to-json-schema/node_modules/zod/v3/types.js.map +0 -1
  451. package/dist/package.json.js +0 -8
  452. package/dist/package.json.js.map +0 -1
  453. package/dist/src/acp-extensions.d.ts +0 -91
  454. package/dist/src/acp-extensions.d.ts.map +0 -1
  455. package/dist/src/acp-extensions.js +0 -38
  456. package/dist/src/acp-extensions.js.map +0 -1
  457. package/dist/src/adapters/claude/claude.d.ts +0 -136
  458. package/dist/src/adapters/claude/claude.d.ts.map +0 -1
  459. package/dist/src/adapters/claude/claude.js +0 -1128
  460. package/dist/src/adapters/claude/claude.js.map +0 -1
  461. package/dist/src/adapters/claude/mcp-server.d.ts +0 -30
  462. package/dist/src/adapters/claude/mcp-server.d.ts.map +0 -1
  463. package/dist/src/adapters/claude/mcp-server.js +0 -668
  464. package/dist/src/adapters/claude/mcp-server.js.map +0 -1
  465. package/dist/src/adapters/claude/tools.d.ts +0 -35
  466. package/dist/src/adapters/claude/tools.d.ts.map +0 -1
  467. package/dist/src/adapters/claude/tools.js +0 -473
  468. package/dist/src/adapters/claude/tools.js.map +0 -1
  469. package/dist/src/adapters/claude/utils.d.ts +0 -48
  470. package/dist/src/adapters/claude/utils.d.ts.map +0 -1
  471. package/dist/src/adapters/claude/utils.js +0 -158
  472. package/dist/src/adapters/claude/utils.js.map +0 -1
  473. package/dist/src/agent.d.ts +0 -58
  474. package/dist/src/agent.d.ts.map +0 -1
  475. package/dist/src/agent.js +0 -576
  476. package/dist/src/agent.js.map +0 -1
  477. package/dist/src/agents/execution.d.ts +0 -2
  478. package/dist/src/agents/execution.d.ts.map +0 -1
  479. package/dist/src/agents/execution.js +0 -40
  480. package/dist/src/agents/execution.js.map +0 -1
  481. package/dist/src/agents/planning.d.ts +0 -2
  482. package/dist/src/agents/planning.d.ts.map +0 -1
  483. package/dist/src/agents/planning.js +0 -63
  484. package/dist/src/agents/planning.js.map +0 -1
  485. package/dist/src/agents/research.d.ts +0 -2
  486. package/dist/src/agents/research.d.ts.map +0 -1
  487. package/dist/src/agents/research.js +0 -163
  488. package/dist/src/agents/research.js.map +0 -1
  489. package/dist/src/file-manager.d.ts +0 -43
  490. package/dist/src/file-manager.d.ts.map +0 -1
  491. package/dist/src/file-manager.js +0 -266
  492. package/dist/src/file-manager.js.map +0 -1
  493. package/dist/src/git-manager.d.ts +0 -79
  494. package/dist/src/git-manager.d.ts.map +0 -1
  495. package/dist/src/git-manager.js +0 -454
  496. package/dist/src/git-manager.js.map +0 -1
  497. package/dist/src/posthog-api.d.ts +0 -48
  498. package/dist/src/posthog-api.d.ts.map +0 -1
  499. package/dist/src/posthog-api.js +0 -260
  500. package/dist/src/posthog-api.js.map +0 -1
  501. package/dist/src/prompt-builder.d.ts +0 -49
  502. package/dist/src/prompt-builder.d.ts.map +0 -1
  503. package/dist/src/prompt-builder.js +0 -397
  504. package/dist/src/prompt-builder.js.map +0 -1
  505. package/dist/src/schemas.d.ts +0 -980
  506. package/dist/src/schemas.d.ts.map +0 -1
  507. package/dist/src/schemas.js +0 -196
  508. package/dist/src/schemas.js.map +0 -1
  509. package/dist/src/session-store.d.ts +0 -58
  510. package/dist/src/session-store.d.ts.map +0 -1
  511. package/dist/src/session-store.js +0 -206
  512. package/dist/src/session-store.js.map +0 -1
  513. package/dist/src/task-manager.d.ts +0 -25
  514. package/dist/src/task-manager.d.ts.map +0 -1
  515. package/dist/src/task-manager.js +0 -123
  516. package/dist/src/task-manager.js.map +0 -1
  517. package/dist/src/template-manager.d.ts +0 -30
  518. package/dist/src/template-manager.d.ts.map +0 -1
  519. package/dist/src/template-manager.js +0 -152
  520. package/dist/src/template-manager.js.map +0 -1
  521. package/dist/src/todo-manager.d.ts +0 -29
  522. package/dist/src/todo-manager.d.ts.map +0 -1
  523. package/dist/src/todo-manager.js +0 -135
  524. package/dist/src/todo-manager.js.map +0 -1
  525. package/dist/src/tools/registry.d.ts +0 -25
  526. package/dist/src/tools/registry.d.ts.map +0 -1
  527. package/dist/src/tools/registry.js +0 -120
  528. package/dist/src/tools/registry.js.map +0 -1
  529. package/dist/src/tools/types.d.ts +0 -80
  530. package/dist/src/tools/types.d.ts.map +0 -1
  531. package/dist/src/types.d.ts +0 -193
  532. package/dist/src/types.d.ts.map +0 -1
  533. package/dist/src/types.js +0 -11
  534. package/dist/src/types.js.map +0 -1
  535. package/dist/src/utils/logger.d.ts +0 -37
  536. package/dist/src/utils/logger.d.ts.map +0 -1
  537. package/dist/src/utils/logger.js +0 -83
  538. package/dist/src/utils/logger.js.map +0 -1
  539. package/dist/src/utils/tapped-stream.d.ts +0 -17
  540. package/dist/src/utils/tapped-stream.d.ts.map +0 -1
  541. package/dist/src/utils/tapped-stream.js +0 -45
  542. package/dist/src/utils/tapped-stream.js.map +0 -1
  543. package/dist/src/workflow/config.d.ts +0 -3
  544. package/dist/src/workflow/config.d.ts.map +0 -1
  545. package/dist/src/workflow/config.js +0 -54
  546. package/dist/src/workflow/config.js.map +0 -1
  547. package/dist/src/workflow/steps/build.d.ts +0 -3
  548. package/dist/src/workflow/steps/build.d.ts.map +0 -1
  549. package/dist/src/workflow/steps/build.js +0 -108
  550. package/dist/src/workflow/steps/build.js.map +0 -1
  551. package/dist/src/workflow/steps/finalize.d.ts +0 -3
  552. package/dist/src/workflow/steps/finalize.d.ts.map +0 -1
  553. package/dist/src/workflow/steps/finalize.js +0 -188
  554. package/dist/src/workflow/steps/finalize.js.map +0 -1
  555. package/dist/src/workflow/steps/plan.d.ts +0 -3
  556. package/dist/src/workflow/steps/plan.d.ts.map +0 -1
  557. package/dist/src/workflow/steps/plan.js +0 -136
  558. package/dist/src/workflow/steps/plan.js.map +0 -1
  559. package/dist/src/workflow/steps/research.d.ts +0 -3
  560. package/dist/src/workflow/steps/research.d.ts.map +0 -1
  561. package/dist/src/workflow/steps/research.js +0 -189
  562. package/dist/src/workflow/steps/research.js.map +0 -1
  563. package/dist/src/workflow/types.d.ts +0 -51
  564. package/dist/src/workflow/types.d.ts.map +0 -1
  565. package/dist/src/workflow/utils.d.ts +0 -12
  566. package/dist/src/workflow/utils.d.ts.map +0 -1
  567. package/dist/src/workflow/utils.js +0 -41
  568. package/dist/src/workflow/utils.js.map +0 -1
  569. package/dist/src/worktree-manager.d.ts +0 -39
  570. package/dist/src/worktree-manager.d.ts.map +0 -1
  571. package/dist/src/worktree-manager.js +0 -808
  572. package/dist/src/worktree-manager.js.map +0 -1
@@ -1,544 +0,0 @@
1
- import { __exports as validate } from '../../../../../_virtual/index8.js';
2
- import { __require as requireBoolSchema } from './boolSchema.js';
3
- import './dataType.js';
4
- import { __require as requireApplicability } from './applicability.js';
5
- import { __require as requireDefaults } from './defaults.js';
6
- import { __require as requireKeyword } from './keyword.js';
7
- import { __require as requireSubschema } from './subschema.js';
8
- import { __require as requireCodegen } from '../codegen/index.js';
9
- import { __require as requireNames } from '../names.js';
10
- import '../resolve.js';
11
- import '../util.js';
12
- import { __require as requireErrors } from '../errors.js';
13
- import { __exports as util } from '../../../../../_virtual/util.js';
14
- import { __exports as dataType } from '../../../../../_virtual/dataType.js';
15
- import { __exports as resolve } from '../../../../../_virtual/resolve.js';
16
-
17
- var hasRequiredValidate;
18
-
19
- function requireValidate () {
20
- if (hasRequiredValidate) return validate;
21
- hasRequiredValidate = 1;
22
- Object.defineProperty(validate, "__esModule", { value: true });
23
- validate.getData = validate.KeywordCxt = validate.validateFunctionCode = void 0;
24
- const boolSchema_1 = requireBoolSchema();
25
- const dataType_1 = dataType;
26
- const applicability_1 = requireApplicability();
27
- const dataType_2 = dataType;
28
- const defaults_1 = requireDefaults();
29
- const keyword_1 = requireKeyword();
30
- const subschema_1 = requireSubschema();
31
- const codegen_1 = requireCodegen();
32
- const names_1 = requireNames();
33
- const resolve_1 = resolve;
34
- const util_1 = util;
35
- const errors_1 = requireErrors();
36
- // schema compilation - generates validation function, subschemaCode (below) is used for subschemas
37
- function validateFunctionCode(it) {
38
- if (isSchemaObj(it)) {
39
- checkKeywords(it);
40
- if (schemaCxtHasRules(it)) {
41
- topSchemaObjCode(it);
42
- return;
43
- }
44
- }
45
- validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it));
46
- }
47
- validate.validateFunctionCode = validateFunctionCode;
48
- function validateFunction({ gen, validateName, schema, schemaEnv, opts }, body) {
49
- if (opts.code.es5) {
50
- gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => {
51
- gen.code((0, codegen_1._) `"use strict"; ${funcSourceUrl(schema, opts)}`);
52
- destructureValCxtES5(gen, opts);
53
- gen.code(body);
54
- });
55
- }
56
- else {
57
- gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema, opts)).code(body));
58
- }
59
- }
60
- function destructureValCxt(opts) {
61
- return (0, codegen_1._) `{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._) `, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`;
62
- }
63
- function destructureValCxtES5(gen, opts) {
64
- gen.if(names_1.default.valCxt, () => {
65
- gen.var(names_1.default.instancePath, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.instancePath}`);
66
- gen.var(names_1.default.parentData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentData}`);
67
- gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentDataProperty}`);
68
- gen.var(names_1.default.rootData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.rootData}`);
69
- if (opts.dynamicRef)
70
- gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`);
71
- }, () => {
72
- gen.var(names_1.default.instancePath, (0, codegen_1._) `""`);
73
- gen.var(names_1.default.parentData, (0, codegen_1._) `undefined`);
74
- gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `undefined`);
75
- gen.var(names_1.default.rootData, names_1.default.data);
76
- if (opts.dynamicRef)
77
- gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `{}`);
78
- });
79
- }
80
- function topSchemaObjCode(it) {
81
- const { schema, opts, gen } = it;
82
- validateFunction(it, () => {
83
- if (opts.$comment && schema.$comment)
84
- commentKeyword(it);
85
- checkNoDefault(it);
86
- gen.let(names_1.default.vErrors, null);
87
- gen.let(names_1.default.errors, 0);
88
- if (opts.unevaluated)
89
- resetEvaluated(it);
90
- typeAndKeywords(it);
91
- returnResults(it);
92
- });
93
- return;
94
- }
95
- function resetEvaluated(it) {
96
- // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated
97
- const { gen, validateName } = it;
98
- it.evaluated = gen.const("evaluated", (0, codegen_1._) `${validateName}.evaluated`);
99
- gen.if((0, codegen_1._) `${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._) `${it.evaluated}.props`, (0, codegen_1._) `undefined`));
100
- gen.if((0, codegen_1._) `${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._) `${it.evaluated}.items`, (0, codegen_1._) `undefined`));
101
- }
102
- function funcSourceUrl(schema, opts) {
103
- const schId = typeof schema == "object" && schema[opts.schemaId];
104
- return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._) `/*# sourceURL=${schId} */` : codegen_1.nil;
105
- }
106
- // schema compilation - this function is used recursively to generate code for sub-schemas
107
- function subschemaCode(it, valid) {
108
- if (isSchemaObj(it)) {
109
- checkKeywords(it);
110
- if (schemaCxtHasRules(it)) {
111
- subSchemaObjCode(it, valid);
112
- return;
113
- }
114
- }
115
- (0, boolSchema_1.boolOrEmptySchema)(it, valid);
116
- }
117
- function schemaCxtHasRules({ schema, self }) {
118
- if (typeof schema == "boolean")
119
- return !schema;
120
- for (const key in schema)
121
- if (self.RULES.all[key])
122
- return true;
123
- return false;
124
- }
125
- function isSchemaObj(it) {
126
- return typeof it.schema != "boolean";
127
- }
128
- function subSchemaObjCode(it, valid) {
129
- const { schema, gen, opts } = it;
130
- if (opts.$comment && schema.$comment)
131
- commentKeyword(it);
132
- updateContext(it);
133
- checkAsyncSchema(it);
134
- const errsCount = gen.const("_errs", names_1.default.errors);
135
- typeAndKeywords(it, errsCount);
136
- // TODO var
137
- gen.var(valid, (0, codegen_1._) `${errsCount} === ${names_1.default.errors}`);
138
- }
139
- function checkKeywords(it) {
140
- (0, util_1.checkUnknownRules)(it);
141
- checkRefsAndKeywords(it);
142
- }
143
- function typeAndKeywords(it, errsCount) {
144
- if (it.opts.jtd)
145
- return schemaKeywords(it, [], false, errsCount);
146
- const types = (0, dataType_1.getSchemaTypes)(it.schema);
147
- const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types);
148
- schemaKeywords(it, types, !checkedTypes, errsCount);
149
- }
150
- function checkRefsAndKeywords(it) {
151
- const { schema, errSchemaPath, opts, self } = it;
152
- if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) {
153
- self.logger.warn(`$ref: keywords ignored in schema at path "${errSchemaPath}"`);
154
- }
155
- }
156
- function checkNoDefault(it) {
157
- const { schema, opts } = it;
158
- if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) {
159
- (0, util_1.checkStrictMode)(it, "default is ignored in the schema root");
160
- }
161
- }
162
- function updateContext(it) {
163
- const schId = it.schema[it.opts.schemaId];
164
- if (schId)
165
- it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId);
166
- }
167
- function checkAsyncSchema(it) {
168
- if (it.schema.$async && !it.schemaEnv.$async)
169
- throw new Error("async schema in sync schema");
170
- }
171
- function commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) {
172
- const msg = schema.$comment;
173
- if (opts.$comment === true) {
174
- gen.code((0, codegen_1._) `${names_1.default.self}.logger.log(${msg})`);
175
- }
176
- else if (typeof opts.$comment == "function") {
177
- const schemaPath = (0, codegen_1.str) `${errSchemaPath}/$comment`;
178
- const rootName = gen.scopeValue("root", { ref: schemaEnv.root });
179
- gen.code((0, codegen_1._) `${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`);
180
- }
181
- }
182
- function returnResults(it) {
183
- const { gen, schemaEnv, validateName, ValidationError, opts } = it;
184
- if (schemaEnv.$async) {
185
- // TODO assign unevaluated
186
- gen.if((0, codegen_1._) `${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._) `new ${ValidationError}(${names_1.default.vErrors})`));
187
- }
188
- else {
189
- gen.assign((0, codegen_1._) `${validateName}.errors`, names_1.default.vErrors);
190
- if (opts.unevaluated)
191
- assignEvaluated(it);
192
- gen.return((0, codegen_1._) `${names_1.default.errors} === 0`);
193
- }
194
- }
195
- function assignEvaluated({ gen, evaluated, props, items }) {
196
- if (props instanceof codegen_1.Name)
197
- gen.assign((0, codegen_1._) `${evaluated}.props`, props);
198
- if (items instanceof codegen_1.Name)
199
- gen.assign((0, codegen_1._) `${evaluated}.items`, items);
200
- }
201
- function schemaKeywords(it, types, typeErrors, errsCount) {
202
- const { gen, schema, data, allErrors, opts, self } = it;
203
- const { RULES } = self;
204
- if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) {
205
- gen.block(() => keywordCode(it, "$ref", RULES.all.$ref.definition)); // TODO typecast
206
- return;
207
- }
208
- if (!opts.jtd)
209
- checkStrictTypes(it, types);
210
- gen.block(() => {
211
- for (const group of RULES.rules)
212
- groupKeywords(group);
213
- groupKeywords(RULES.post);
214
- });
215
- function groupKeywords(group) {
216
- if (!(0, applicability_1.shouldUseGroup)(schema, group))
217
- return;
218
- if (group.type) {
219
- gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers));
220
- iterateKeywords(it, group);
221
- if (types.length === 1 && types[0] === group.type && typeErrors) {
222
- gen.else();
223
- (0, dataType_2.reportTypeError)(it);
224
- }
225
- gen.endIf();
226
- }
227
- else {
228
- iterateKeywords(it, group);
229
- }
230
- // TODO make it "ok" call?
231
- if (!allErrors)
232
- gen.if((0, codegen_1._) `${names_1.default.errors} === ${errsCount || 0}`);
233
- }
234
- }
235
- function iterateKeywords(it, group) {
236
- const { gen, schema, opts: { useDefaults }, } = it;
237
- if (useDefaults)
238
- (0, defaults_1.assignDefaults)(it, group.type);
239
- gen.block(() => {
240
- for (const rule of group.rules) {
241
- if ((0, applicability_1.shouldUseRule)(schema, rule)) {
242
- keywordCode(it, rule.keyword, rule.definition, group.type);
243
- }
244
- }
245
- });
246
- }
247
- function checkStrictTypes(it, types) {
248
- if (it.schemaEnv.meta || !it.opts.strictTypes)
249
- return;
250
- checkContextTypes(it, types);
251
- if (!it.opts.allowUnionTypes)
252
- checkMultipleTypes(it, types);
253
- checkKeywordTypes(it, it.dataTypes);
254
- }
255
- function checkContextTypes(it, types) {
256
- if (!types.length)
257
- return;
258
- if (!it.dataTypes.length) {
259
- it.dataTypes = types;
260
- return;
261
- }
262
- types.forEach((t) => {
263
- if (!includesType(it.dataTypes, t)) {
264
- strictTypesError(it, `type "${t}" not allowed by context "${it.dataTypes.join(",")}"`);
265
- }
266
- });
267
- narrowSchemaTypes(it, types);
268
- }
269
- function checkMultipleTypes(it, ts) {
270
- if (ts.length > 1 && !(ts.length === 2 && ts.includes("null"))) {
271
- strictTypesError(it, "use allowUnionTypes to allow union type keyword");
272
- }
273
- }
274
- function checkKeywordTypes(it, ts) {
275
- const rules = it.self.RULES.all;
276
- for (const keyword in rules) {
277
- const rule = rules[keyword];
278
- if (typeof rule == "object" && (0, applicability_1.shouldUseRule)(it.schema, rule)) {
279
- const { type } = rule.definition;
280
- if (type.length && !type.some((t) => hasApplicableType(ts, t))) {
281
- strictTypesError(it, `missing type "${type.join(",")}" for keyword "${keyword}"`);
282
- }
283
- }
284
- }
285
- }
286
- function hasApplicableType(schTs, kwdT) {
287
- return schTs.includes(kwdT) || (kwdT === "number" && schTs.includes("integer"));
288
- }
289
- function includesType(ts, t) {
290
- return ts.includes(t) || (t === "integer" && ts.includes("number"));
291
- }
292
- function narrowSchemaTypes(it, withTypes) {
293
- const ts = [];
294
- for (const t of it.dataTypes) {
295
- if (includesType(withTypes, t))
296
- ts.push(t);
297
- else if (withTypes.includes("integer") && t === "number")
298
- ts.push("integer");
299
- }
300
- it.dataTypes = ts;
301
- }
302
- function strictTypesError(it, msg) {
303
- const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;
304
- msg += ` at "${schemaPath}" (strictTypes)`;
305
- (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes);
306
- }
307
- class KeywordCxt {
308
- constructor(it, def, keyword) {
309
- (0, keyword_1.validateKeywordUsage)(it, def, keyword);
310
- this.gen = it.gen;
311
- this.allErrors = it.allErrors;
312
- this.keyword = keyword;
313
- this.data = it.data;
314
- this.schema = it.schema[keyword];
315
- this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data;
316
- this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data);
317
- this.schemaType = def.schemaType;
318
- this.parentSchema = it.schema;
319
- this.params = {};
320
- this.it = it;
321
- this.def = def;
322
- if (this.$data) {
323
- this.schemaCode = it.gen.const("vSchema", getData(this.$data, it));
324
- }
325
- else {
326
- this.schemaCode = this.schemaValue;
327
- if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) {
328
- throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`);
329
- }
330
- }
331
- if ("code" in def ? def.trackErrors : def.errors !== false) {
332
- this.errsCount = it.gen.const("_errs", names_1.default.errors);
333
- }
334
- }
335
- result(condition, successAction, failAction) {
336
- this.failResult((0, codegen_1.not)(condition), successAction, failAction);
337
- }
338
- failResult(condition, successAction, failAction) {
339
- this.gen.if(condition);
340
- if (failAction)
341
- failAction();
342
- else
343
- this.error();
344
- if (successAction) {
345
- this.gen.else();
346
- successAction();
347
- if (this.allErrors)
348
- this.gen.endIf();
349
- }
350
- else {
351
- if (this.allErrors)
352
- this.gen.endIf();
353
- else
354
- this.gen.else();
355
- }
356
- }
357
- pass(condition, failAction) {
358
- this.failResult((0, codegen_1.not)(condition), undefined, failAction);
359
- }
360
- fail(condition) {
361
- if (condition === undefined) {
362
- this.error();
363
- if (!this.allErrors)
364
- this.gen.if(false); // this branch will be removed by gen.optimize
365
- return;
366
- }
367
- this.gen.if(condition);
368
- this.error();
369
- if (this.allErrors)
370
- this.gen.endIf();
371
- else
372
- this.gen.else();
373
- }
374
- fail$data(condition) {
375
- if (!this.$data)
376
- return this.fail(condition);
377
- const { schemaCode } = this;
378
- this.fail((0, codegen_1._) `${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`);
379
- }
380
- error(append, errorParams, errorPaths) {
381
- if (errorParams) {
382
- this.setParams(errorParams);
383
- this._error(append, errorPaths);
384
- this.setParams({});
385
- return;
386
- }
387
- this._error(append, errorPaths);
388
- }
389
- _error(append, errorPaths) {
390
- (append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths);
391
- }
392
- $dataError() {
393
- (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError);
394
- }
395
- reset() {
396
- if (this.errsCount === undefined)
397
- throw new Error('add "trackErrors" to keyword definition');
398
- (0, errors_1.resetErrorsCount)(this.gen, this.errsCount);
399
- }
400
- ok(cond) {
401
- if (!this.allErrors)
402
- this.gen.if(cond);
403
- }
404
- setParams(obj, assign) {
405
- if (assign)
406
- Object.assign(this.params, obj);
407
- else
408
- this.params = obj;
409
- }
410
- block$data(valid, codeBlock, $dataValid = codegen_1.nil) {
411
- this.gen.block(() => {
412
- this.check$data(valid, $dataValid);
413
- codeBlock();
414
- });
415
- }
416
- check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) {
417
- if (!this.$data)
418
- return;
419
- const { gen, schemaCode, schemaType, def } = this;
420
- gen.if((0, codegen_1.or)((0, codegen_1._) `${schemaCode} === undefined`, $dataValid));
421
- if (valid !== codegen_1.nil)
422
- gen.assign(valid, true);
423
- if (schemaType.length || def.validateSchema) {
424
- gen.elseIf(this.invalid$data());
425
- this.$dataError();
426
- if (valid !== codegen_1.nil)
427
- gen.assign(valid, false);
428
- }
429
- gen.else();
430
- }
431
- invalid$data() {
432
- const { gen, schemaCode, schemaType, def, it } = this;
433
- return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema());
434
- function wrong$DataType() {
435
- if (schemaType.length) {
436
- /* istanbul ignore if */
437
- if (!(schemaCode instanceof codegen_1.Name))
438
- throw new Error("ajv implementation error");
439
- const st = Array.isArray(schemaType) ? schemaType : [schemaType];
440
- return (0, codegen_1._) `${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`;
441
- }
442
- return codegen_1.nil;
443
- }
444
- function invalid$DataSchema() {
445
- if (def.validateSchema) {
446
- const validateSchemaRef = gen.scopeValue("validate$data", { ref: def.validateSchema }); // TODO value.code for standalone
447
- return (0, codegen_1._) `!${validateSchemaRef}(${schemaCode})`;
448
- }
449
- return codegen_1.nil;
450
- }
451
- }
452
- subschema(appl, valid) {
453
- const subschema = (0, subschema_1.getSubschema)(this.it, appl);
454
- (0, subschema_1.extendSubschemaData)(subschema, this.it, appl);
455
- (0, subschema_1.extendSubschemaMode)(subschema, appl);
456
- const nextContext = { ...this.it, ...subschema, items: undefined, props: undefined };
457
- subschemaCode(nextContext, valid);
458
- return nextContext;
459
- }
460
- mergeEvaluated(schemaCxt, toName) {
461
- const { it, gen } = this;
462
- if (!it.opts.unevaluated)
463
- return;
464
- if (it.props !== true && schemaCxt.props !== undefined) {
465
- it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName);
466
- }
467
- if (it.items !== true && schemaCxt.items !== undefined) {
468
- it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName);
469
- }
470
- }
471
- mergeValidEvaluated(schemaCxt, valid) {
472
- const { it, gen } = this;
473
- if (it.opts.unevaluated && (it.props !== true || it.items !== true)) {
474
- gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name));
475
- return true;
476
- }
477
- }
478
- }
479
- validate.KeywordCxt = KeywordCxt;
480
- function keywordCode(it, keyword, def, ruleType) {
481
- const cxt = new KeywordCxt(it, def, keyword);
482
- if ("code" in def) {
483
- def.code(cxt, ruleType);
484
- }
485
- else if (cxt.$data && def.validate) {
486
- (0, keyword_1.funcKeywordCode)(cxt, def);
487
- }
488
- else if ("macro" in def) {
489
- (0, keyword_1.macroKeywordCode)(cxt, def);
490
- }
491
- else if (def.compile || def.validate) {
492
- (0, keyword_1.funcKeywordCode)(cxt, def);
493
- }
494
- }
495
- const JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/;
496
- const RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;
497
- function getData($data, { dataLevel, dataNames, dataPathArr }) {
498
- let jsonPointer;
499
- let data;
500
- if ($data === "")
501
- return names_1.default.rootData;
502
- if ($data[0] === "/") {
503
- if (!JSON_POINTER.test($data))
504
- throw new Error(`Invalid JSON-pointer: ${$data}`);
505
- jsonPointer = $data;
506
- data = names_1.default.rootData;
507
- }
508
- else {
509
- const matches = RELATIVE_JSON_POINTER.exec($data);
510
- if (!matches)
511
- throw new Error(`Invalid JSON-pointer: ${$data}`);
512
- const up = +matches[1];
513
- jsonPointer = matches[2];
514
- if (jsonPointer === "#") {
515
- if (up >= dataLevel)
516
- throw new Error(errorMsg("property/index", up));
517
- return dataPathArr[dataLevel - up];
518
- }
519
- if (up > dataLevel)
520
- throw new Error(errorMsg("data", up));
521
- data = dataNames[dataLevel - up];
522
- if (!jsonPointer)
523
- return data;
524
- }
525
- let expr = data;
526
- const segments = jsonPointer.split("/");
527
- for (const segment of segments) {
528
- if (segment) {
529
- data = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`;
530
- expr = (0, codegen_1._) `${expr} && ${data}`;
531
- }
532
- }
533
- return expr;
534
- function errorMsg(pointerType, up) {
535
- return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`;
536
- }
537
- }
538
- validate.getData = getData;
539
-
540
- return validate;
541
- }
542
-
543
- export { requireValidate as __require };
544
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../../node_modules/ajv/dist/compile/validate/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0;\nconst boolSchema_1 = require(\"./boolSchema\");\nconst dataType_1 = require(\"./dataType\");\nconst applicability_1 = require(\"./applicability\");\nconst dataType_2 = require(\"./dataType\");\nconst defaults_1 = require(\"./defaults\");\nconst keyword_1 = require(\"./keyword\");\nconst subschema_1 = require(\"./subschema\");\nconst codegen_1 = require(\"../codegen\");\nconst names_1 = require(\"../names\");\nconst resolve_1 = require(\"../resolve\");\nconst util_1 = require(\"../util\");\nconst errors_1 = require(\"../errors\");\n// schema compilation - generates validation function, subschemaCode (below) is used for subschemas\nfunction validateFunctionCode(it) {\n if (isSchemaObj(it)) {\n checkKeywords(it);\n if (schemaCxtHasRules(it)) {\n topSchemaObjCode(it);\n return;\n }\n }\n validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it));\n}\nexports.validateFunctionCode = validateFunctionCode;\nfunction validateFunction({ gen, validateName, schema, schemaEnv, opts }, body) {\n if (opts.code.es5) {\n gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => {\n gen.code((0, codegen_1._) `\"use strict\"; ${funcSourceUrl(schema, opts)}`);\n destructureValCxtES5(gen, opts);\n gen.code(body);\n });\n }\n else {\n gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema, opts)).code(body));\n }\n}\nfunction destructureValCxt(opts) {\n return (0, codegen_1._) `{${names_1.default.instancePath}=\"\", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._) `, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`;\n}\nfunction destructureValCxtES5(gen, opts) {\n gen.if(names_1.default.valCxt, () => {\n gen.var(names_1.default.instancePath, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.instancePath}`);\n gen.var(names_1.default.parentData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentData}`);\n gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentDataProperty}`);\n gen.var(names_1.default.rootData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.rootData}`);\n if (opts.dynamicRef)\n gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`);\n }, () => {\n gen.var(names_1.default.instancePath, (0, codegen_1._) `\"\"`);\n gen.var(names_1.default.parentData, (0, codegen_1._) `undefined`);\n gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `undefined`);\n gen.var(names_1.default.rootData, names_1.default.data);\n if (opts.dynamicRef)\n gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `{}`);\n });\n}\nfunction topSchemaObjCode(it) {\n const { schema, opts, gen } = it;\n validateFunction(it, () => {\n if (opts.$comment && schema.$comment)\n commentKeyword(it);\n checkNoDefault(it);\n gen.let(names_1.default.vErrors, null);\n gen.let(names_1.default.errors, 0);\n if (opts.unevaluated)\n resetEvaluated(it);\n typeAndKeywords(it);\n returnResults(it);\n });\n return;\n}\nfunction resetEvaluated(it) {\n // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated\n const { gen, validateName } = it;\n it.evaluated = gen.const(\"evaluated\", (0, codegen_1._) `${validateName}.evaluated`);\n gen.if((0, codegen_1._) `${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._) `${it.evaluated}.props`, (0, codegen_1._) `undefined`));\n gen.if((0, codegen_1._) `${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._) `${it.evaluated}.items`, (0, codegen_1._) `undefined`));\n}\nfunction funcSourceUrl(schema, opts) {\n const schId = typeof schema == \"object\" && schema[opts.schemaId];\n return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._) `/*# sourceURL=${schId} */` : codegen_1.nil;\n}\n// schema compilation - this function is used recursively to generate code for sub-schemas\nfunction subschemaCode(it, valid) {\n if (isSchemaObj(it)) {\n checkKeywords(it);\n if (schemaCxtHasRules(it)) {\n subSchemaObjCode(it, valid);\n return;\n }\n }\n (0, boolSchema_1.boolOrEmptySchema)(it, valid);\n}\nfunction schemaCxtHasRules({ schema, self }) {\n if (typeof schema == \"boolean\")\n return !schema;\n for (const key in schema)\n if (self.RULES.all[key])\n return true;\n return false;\n}\nfunction isSchemaObj(it) {\n return typeof it.schema != \"boolean\";\n}\nfunction subSchemaObjCode(it, valid) {\n const { schema, gen, opts } = it;\n if (opts.$comment && schema.$comment)\n commentKeyword(it);\n updateContext(it);\n checkAsyncSchema(it);\n const errsCount = gen.const(\"_errs\", names_1.default.errors);\n typeAndKeywords(it, errsCount);\n // TODO var\n gen.var(valid, (0, codegen_1._) `${errsCount} === ${names_1.default.errors}`);\n}\nfunction checkKeywords(it) {\n (0, util_1.checkUnknownRules)(it);\n checkRefsAndKeywords(it);\n}\nfunction typeAndKeywords(it, errsCount) {\n if (it.opts.jtd)\n return schemaKeywords(it, [], false, errsCount);\n const types = (0, dataType_1.getSchemaTypes)(it.schema);\n const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types);\n schemaKeywords(it, types, !checkedTypes, errsCount);\n}\nfunction checkRefsAndKeywords(it) {\n const { schema, errSchemaPath, opts, self } = it;\n if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) {\n self.logger.warn(`$ref: keywords ignored in schema at path \"${errSchemaPath}\"`);\n }\n}\nfunction checkNoDefault(it) {\n const { schema, opts } = it;\n if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) {\n (0, util_1.checkStrictMode)(it, \"default is ignored in the schema root\");\n }\n}\nfunction updateContext(it) {\n const schId = it.schema[it.opts.schemaId];\n if (schId)\n it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId);\n}\nfunction checkAsyncSchema(it) {\n if (it.schema.$async && !it.schemaEnv.$async)\n throw new Error(\"async schema in sync schema\");\n}\nfunction commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) {\n const msg = schema.$comment;\n if (opts.$comment === true) {\n gen.code((0, codegen_1._) `${names_1.default.self}.logger.log(${msg})`);\n }\n else if (typeof opts.$comment == \"function\") {\n const schemaPath = (0, codegen_1.str) `${errSchemaPath}/$comment`;\n const rootName = gen.scopeValue(\"root\", { ref: schemaEnv.root });\n gen.code((0, codegen_1._) `${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`);\n }\n}\nfunction returnResults(it) {\n const { gen, schemaEnv, validateName, ValidationError, opts } = it;\n if (schemaEnv.$async) {\n // TODO assign unevaluated\n gen.if((0, codegen_1._) `${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._) `new ${ValidationError}(${names_1.default.vErrors})`));\n }\n else {\n gen.assign((0, codegen_1._) `${validateName}.errors`, names_1.default.vErrors);\n if (opts.unevaluated)\n assignEvaluated(it);\n gen.return((0, codegen_1._) `${names_1.default.errors} === 0`);\n }\n}\nfunction assignEvaluated({ gen, evaluated, props, items }) {\n if (props instanceof codegen_1.Name)\n gen.assign((0, codegen_1._) `${evaluated}.props`, props);\n if (items instanceof codegen_1.Name)\n gen.assign((0, codegen_1._) `${evaluated}.items`, items);\n}\nfunction schemaKeywords(it, types, typeErrors, errsCount) {\n const { gen, schema, data, allErrors, opts, self } = it;\n const { RULES } = self;\n if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) {\n gen.block(() => keywordCode(it, \"$ref\", RULES.all.$ref.definition)); // TODO typecast\n return;\n }\n if (!opts.jtd)\n checkStrictTypes(it, types);\n gen.block(() => {\n for (const group of RULES.rules)\n groupKeywords(group);\n groupKeywords(RULES.post);\n });\n function groupKeywords(group) {\n if (!(0, applicability_1.shouldUseGroup)(schema, group))\n return;\n if (group.type) {\n gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers));\n iterateKeywords(it, group);\n if (types.length === 1 && types[0] === group.type && typeErrors) {\n gen.else();\n (0, dataType_2.reportTypeError)(it);\n }\n gen.endIf();\n }\n else {\n iterateKeywords(it, group);\n }\n // TODO make it \"ok\" call?\n if (!allErrors)\n gen.if((0, codegen_1._) `${names_1.default.errors} === ${errsCount || 0}`);\n }\n}\nfunction iterateKeywords(it, group) {\n const { gen, schema, opts: { useDefaults }, } = it;\n if (useDefaults)\n (0, defaults_1.assignDefaults)(it, group.type);\n gen.block(() => {\n for (const rule of group.rules) {\n if ((0, applicability_1.shouldUseRule)(schema, rule)) {\n keywordCode(it, rule.keyword, rule.definition, group.type);\n }\n }\n });\n}\nfunction checkStrictTypes(it, types) {\n if (it.schemaEnv.meta || !it.opts.strictTypes)\n return;\n checkContextTypes(it, types);\n if (!it.opts.allowUnionTypes)\n checkMultipleTypes(it, types);\n checkKeywordTypes(it, it.dataTypes);\n}\nfunction checkContextTypes(it, types) {\n if (!types.length)\n return;\n if (!it.dataTypes.length) {\n it.dataTypes = types;\n return;\n }\n types.forEach((t) => {\n if (!includesType(it.dataTypes, t)) {\n strictTypesError(it, `type \"${t}\" not allowed by context \"${it.dataTypes.join(\",\")}\"`);\n }\n });\n narrowSchemaTypes(it, types);\n}\nfunction checkMultipleTypes(it, ts) {\n if (ts.length > 1 && !(ts.length === 2 && ts.includes(\"null\"))) {\n strictTypesError(it, \"use allowUnionTypes to allow union type keyword\");\n }\n}\nfunction checkKeywordTypes(it, ts) {\n const rules = it.self.RULES.all;\n for (const keyword in rules) {\n const rule = rules[keyword];\n if (typeof rule == \"object\" && (0, applicability_1.shouldUseRule)(it.schema, rule)) {\n const { type } = rule.definition;\n if (type.length && !type.some((t) => hasApplicableType(ts, t))) {\n strictTypesError(it, `missing type \"${type.join(\",\")}\" for keyword \"${keyword}\"`);\n }\n }\n }\n}\nfunction hasApplicableType(schTs, kwdT) {\n return schTs.includes(kwdT) || (kwdT === \"number\" && schTs.includes(\"integer\"));\n}\nfunction includesType(ts, t) {\n return ts.includes(t) || (t === \"integer\" && ts.includes(\"number\"));\n}\nfunction narrowSchemaTypes(it, withTypes) {\n const ts = [];\n for (const t of it.dataTypes) {\n if (includesType(withTypes, t))\n ts.push(t);\n else if (withTypes.includes(\"integer\") && t === \"number\")\n ts.push(\"integer\");\n }\n it.dataTypes = ts;\n}\nfunction strictTypesError(it, msg) {\n const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;\n msg += ` at \"${schemaPath}\" (strictTypes)`;\n (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes);\n}\nclass KeywordCxt {\n constructor(it, def, keyword) {\n (0, keyword_1.validateKeywordUsage)(it, def, keyword);\n this.gen = it.gen;\n this.allErrors = it.allErrors;\n this.keyword = keyword;\n this.data = it.data;\n this.schema = it.schema[keyword];\n this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data;\n this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data);\n this.schemaType = def.schemaType;\n this.parentSchema = it.schema;\n this.params = {};\n this.it = it;\n this.def = def;\n if (this.$data) {\n this.schemaCode = it.gen.const(\"vSchema\", getData(this.$data, it));\n }\n else {\n this.schemaCode = this.schemaValue;\n if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) {\n throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`);\n }\n }\n if (\"code\" in def ? def.trackErrors : def.errors !== false) {\n this.errsCount = it.gen.const(\"_errs\", names_1.default.errors);\n }\n }\n result(condition, successAction, failAction) {\n this.failResult((0, codegen_1.not)(condition), successAction, failAction);\n }\n failResult(condition, successAction, failAction) {\n this.gen.if(condition);\n if (failAction)\n failAction();\n else\n this.error();\n if (successAction) {\n this.gen.else();\n successAction();\n if (this.allErrors)\n this.gen.endIf();\n }\n else {\n if (this.allErrors)\n this.gen.endIf();\n else\n this.gen.else();\n }\n }\n pass(condition, failAction) {\n this.failResult((0, codegen_1.not)(condition), undefined, failAction);\n }\n fail(condition) {\n if (condition === undefined) {\n this.error();\n if (!this.allErrors)\n this.gen.if(false); // this branch will be removed by gen.optimize\n return;\n }\n this.gen.if(condition);\n this.error();\n if (this.allErrors)\n this.gen.endIf();\n else\n this.gen.else();\n }\n fail$data(condition) {\n if (!this.$data)\n return this.fail(condition);\n const { schemaCode } = this;\n this.fail((0, codegen_1._) `${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`);\n }\n error(append, errorParams, errorPaths) {\n if (errorParams) {\n this.setParams(errorParams);\n this._error(append, errorPaths);\n this.setParams({});\n return;\n }\n this._error(append, errorPaths);\n }\n _error(append, errorPaths) {\n ;\n (append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths);\n }\n $dataError() {\n (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError);\n }\n reset() {\n if (this.errsCount === undefined)\n throw new Error('add \"trackErrors\" to keyword definition');\n (0, errors_1.resetErrorsCount)(this.gen, this.errsCount);\n }\n ok(cond) {\n if (!this.allErrors)\n this.gen.if(cond);\n }\n setParams(obj, assign) {\n if (assign)\n Object.assign(this.params, obj);\n else\n this.params = obj;\n }\n block$data(valid, codeBlock, $dataValid = codegen_1.nil) {\n this.gen.block(() => {\n this.check$data(valid, $dataValid);\n codeBlock();\n });\n }\n check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) {\n if (!this.$data)\n return;\n const { gen, schemaCode, schemaType, def } = this;\n gen.if((0, codegen_1.or)((0, codegen_1._) `${schemaCode} === undefined`, $dataValid));\n if (valid !== codegen_1.nil)\n gen.assign(valid, true);\n if (schemaType.length || def.validateSchema) {\n gen.elseIf(this.invalid$data());\n this.$dataError();\n if (valid !== codegen_1.nil)\n gen.assign(valid, false);\n }\n gen.else();\n }\n invalid$data() {\n const { gen, schemaCode, schemaType, def, it } = this;\n return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema());\n function wrong$DataType() {\n if (schemaType.length) {\n /* istanbul ignore if */\n if (!(schemaCode instanceof codegen_1.Name))\n throw new Error(\"ajv implementation error\");\n const st = Array.isArray(schemaType) ? schemaType : [schemaType];\n return (0, codegen_1._) `${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`;\n }\n return codegen_1.nil;\n }\n function invalid$DataSchema() {\n if (def.validateSchema) {\n const validateSchemaRef = gen.scopeValue(\"validate$data\", { ref: def.validateSchema }); // TODO value.code for standalone\n return (0, codegen_1._) `!${validateSchemaRef}(${schemaCode})`;\n }\n return codegen_1.nil;\n }\n }\n subschema(appl, valid) {\n const subschema = (0, subschema_1.getSubschema)(this.it, appl);\n (0, subschema_1.extendSubschemaData)(subschema, this.it, appl);\n (0, subschema_1.extendSubschemaMode)(subschema, appl);\n const nextContext = { ...this.it, ...subschema, items: undefined, props: undefined };\n subschemaCode(nextContext, valid);\n return nextContext;\n }\n mergeEvaluated(schemaCxt, toName) {\n const { it, gen } = this;\n if (!it.opts.unevaluated)\n return;\n if (it.props !== true && schemaCxt.props !== undefined) {\n it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName);\n }\n if (it.items !== true && schemaCxt.items !== undefined) {\n it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName);\n }\n }\n mergeValidEvaluated(schemaCxt, valid) {\n const { it, gen } = this;\n if (it.opts.unevaluated && (it.props !== true || it.items !== true)) {\n gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name));\n return true;\n }\n }\n}\nexports.KeywordCxt = KeywordCxt;\nfunction keywordCode(it, keyword, def, ruleType) {\n const cxt = new KeywordCxt(it, def, keyword);\n if (\"code\" in def) {\n def.code(cxt, ruleType);\n }\n else if (cxt.$data && def.validate) {\n (0, keyword_1.funcKeywordCode)(cxt, def);\n }\n else if (\"macro\" in def) {\n (0, keyword_1.macroKeywordCode)(cxt, def);\n }\n else if (def.compile || def.validate) {\n (0, keyword_1.funcKeywordCode)(cxt, def);\n }\n}\nconst JSON_POINTER = /^\\/(?:[^~]|~0|~1)*$/;\nconst RELATIVE_JSON_POINTER = /^([0-9]+)(#|\\/(?:[^~]|~0|~1)*)?$/;\nfunction getData($data, { dataLevel, dataNames, dataPathArr }) {\n let jsonPointer;\n let data;\n if ($data === \"\")\n return names_1.default.rootData;\n if ($data[0] === \"/\") {\n if (!JSON_POINTER.test($data))\n throw new Error(`Invalid JSON-pointer: ${$data}`);\n jsonPointer = $data;\n data = names_1.default.rootData;\n }\n else {\n const matches = RELATIVE_JSON_POINTER.exec($data);\n if (!matches)\n throw new Error(`Invalid JSON-pointer: ${$data}`);\n const up = +matches[1];\n jsonPointer = matches[2];\n if (jsonPointer === \"#\") {\n if (up >= dataLevel)\n throw new Error(errorMsg(\"property/index\", up));\n return dataPathArr[dataLevel - up];\n }\n if (up > dataLevel)\n throw new Error(errorMsg(\"data\", up));\n data = dataNames[dataLevel - up];\n if (!jsonPointer)\n return data;\n }\n let expr = data;\n const segments = jsonPointer.split(\"/\");\n for (const segment of segments) {\n if (segment) {\n data = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`;\n expr = (0, codegen_1._) `${expr} && ${data}`;\n }\n }\n return expr;\n function errorMsg(pointerType, up) {\n return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`;\n }\n}\nexports.getData = getData;\n//# sourceMappingURL=index.js.map"],"names":["require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10"],"mappings":"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","x_google_ignoreList":[0]}