@wirebench/engine 2.1.1

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 (583) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +3 -0
  3. package/dist/assert/contract.d.ts +3 -0
  4. package/dist/assert/contract.js +17 -0
  5. package/dist/assert/index.d.ts +4 -0
  6. package/dist/assert/index.js +27 -0
  7. package/dist/assert/match.d.ts +3 -0
  8. package/dist/assert/match.js +58 -0
  9. package/dist/assert/model.d.ts +73 -0
  10. package/dist/assert/model.js +8 -0
  11. package/dist/assert/schema.d.ts +34 -0
  12. package/dist/assert/schema.js +46 -0
  13. package/dist/assert/sla.d.ts +3 -0
  14. package/dist/assert/sla.js +8 -0
  15. package/dist/assert/soap-fault.d.ts +3 -0
  16. package/dist/assert/soap-fault.js +20 -0
  17. package/dist/assert/status.d.ts +3 -0
  18. package/dist/assert/status.js +14 -0
  19. package/dist/errors.d.ts +77 -0
  20. package/dist/errors.js +121 -0
  21. package/dist/fs.d.ts +35 -0
  22. package/dist/fs.js +64 -0
  23. package/dist/generate.d.ts +12 -0
  24. package/dist/generate.js +14 -0
  25. package/dist/grpc/browser.d.ts +11 -0
  26. package/dist/grpc/browser.js +9 -0
  27. package/dist/grpc/cache.d.ts +113 -0
  28. package/dist/grpc/cache.js +244 -0
  29. package/dist/grpc/call.d.ts +64 -0
  30. package/dist/grpc/call.js +72 -0
  31. package/dist/grpc/codec.d.ts +29 -0
  32. package/dist/grpc/codec.js +416 -0
  33. package/dist/grpc/command.d.ts +23 -0
  34. package/dist/grpc/command.js +91 -0
  35. package/dist/grpc/expand.d.ts +25 -0
  36. package/dist/grpc/expand.js +52 -0
  37. package/dist/grpc/framing.d.ts +28 -0
  38. package/dist/grpc/framing.js +61 -0
  39. package/dist/grpc/import.d.ts +47 -0
  40. package/dist/grpc/import.js +88 -0
  41. package/dist/grpc/model.d.ts +179 -0
  42. package/dist/grpc/model.js +91 -0
  43. package/dist/grpc/proto/describe.d.ts +92 -0
  44. package/dist/grpc/proto/describe.js +205 -0
  45. package/dist/grpc/proto/load.d.ts +35 -0
  46. package/dist/grpc/proto/load.js +112 -0
  47. package/dist/grpc/proto/sample.d.ts +21 -0
  48. package/dist/grpc/proto/sample.js +79 -0
  49. package/dist/grpc/proto/well-known.d.ts +42 -0
  50. package/dist/grpc/proto/well-known.js +143 -0
  51. package/dist/grpc/reconcile.d.ts +42 -0
  52. package/dist/grpc/reconcile.js +153 -0
  53. package/dist/grpc/reflection/client.d.ts +70 -0
  54. package/dist/grpc/reflection/client.js +197 -0
  55. package/dist/grpc/reflection/descriptors.d.ts +69 -0
  56. package/dist/grpc/reflection/descriptors.js +140 -0
  57. package/dist/grpc/reflection/proto.d.ts +33 -0
  58. package/dist/grpc/reflection/proto.js +144 -0
  59. package/dist/grpc/send.d.ts +132 -0
  60. package/dist/grpc/send.js +435 -0
  61. package/dist/grpc/shape.d.ts +29 -0
  62. package/dist/grpc/shape.js +36 -0
  63. package/dist/grpc/status.d.ts +21 -0
  64. package/dist/grpc/status.js +62 -0
  65. package/dist/grpc/target.d.ts +21 -0
  66. package/dist/grpc/target.js +66 -0
  67. package/dist/http/auth/apply.d.ts +37 -0
  68. package/dist/http/auth/apply.js +74 -0
  69. package/dist/http/auth/basic.d.ts +36 -0
  70. package/dist/http/auth/basic.js +69 -0
  71. package/dist/http/auth/md4.d.ts +13 -0
  72. package/dist/http/auth/md4.js +81 -0
  73. package/dist/http/auth/ntlm-transport.d.ts +61 -0
  74. package/dist/http/auth/ntlm-transport.js +97 -0
  75. package/dist/http/auth/ntlm.d.ts +190 -0
  76. package/dist/http/auth/ntlm.js +377 -0
  77. package/dist/http/client.d.ts +73 -0
  78. package/dist/http/client.js +403 -0
  79. package/dist/http/curl-flags.d.ts +15 -0
  80. package/dist/http/curl-flags.js +95 -0
  81. package/dist/http/curl.d.ts +94 -0
  82. package/dist/http/curl.js +245 -0
  83. package/dist/http/decompress.d.ts +7 -0
  84. package/dist/http/decompress.js +22 -0
  85. package/dist/http/errors.d.ts +22 -0
  86. package/dist/http/errors.js +144 -0
  87. package/dist/http/failed-request.d.ts +27 -0
  88. package/dist/http/failed-request.js +48 -0
  89. package/dist/http/headers.d.ts +15 -0
  90. package/dist/http/headers.js +50 -0
  91. package/dist/http/heredoc.d.ts +25 -0
  92. package/dist/http/heredoc.js +74 -0
  93. package/dist/http/proxy.d.ts +103 -0
  94. package/dist/http/proxy.js +168 -0
  95. package/dist/http/raw-capture.d.ts +23 -0
  96. package/dist/http/raw-capture.js +57 -0
  97. package/dist/http/timings.d.ts +79 -0
  98. package/dist/http/timings.js +212 -0
  99. package/dist/http/tls.d.ts +111 -0
  100. package/dist/http/tls.js +167 -0
  101. package/dist/http/types.d.ts +125 -0
  102. package/dist/http/types.js +6 -0
  103. package/dist/import-detect.d.ts +26 -0
  104. package/dist/import-detect.js +169 -0
  105. package/dist/import.d.ts +20 -0
  106. package/dist/import.js +163 -0
  107. package/dist/index.d.ts +272 -0
  108. package/dist/index.js +157 -0
  109. package/dist/json/cursor.d.ts +43 -0
  110. package/dist/json/cursor.js +168 -0
  111. package/dist/operations.d.ts +12 -0
  112. package/dist/operations.js +52 -0
  113. package/dist/project/attachments-cache.d.ts +80 -0
  114. package/dist/project/attachments-cache.js +186 -0
  115. package/dist/project/endpoints.d.ts +23 -0
  116. package/dist/project/endpoints.js +47 -0
  117. package/dist/project/environments.d.ts +68 -0
  118. package/dist/project/environments.js +124 -0
  119. package/dist/project/fs.d.ts +45 -0
  120. package/dist/project/fs.js +78 -0
  121. package/dist/project/history.d.ts +171 -0
  122. package/dist/project/history.js +179 -0
  123. package/dist/project/keystores.d.ts +24 -0
  124. package/dist/project/keystores.js +66 -0
  125. package/dist/project/load.d.ts +44 -0
  126. package/dist/project/load.js +634 -0
  127. package/dist/project/migrate.d.ts +27 -0
  128. package/dist/project/migrate.js +46 -0
  129. package/dist/project/model.d.ts +401 -0
  130. package/dist/project/model.js +126 -0
  131. package/dist/project/paths.d.ts +134 -0
  132. package/dist/project/paths.js +259 -0
  133. package/dist/project/preferences.d.ts +318 -0
  134. package/dist/project/preferences.js +239 -0
  135. package/dist/project/properties.d.ts +97 -0
  136. package/dist/project/properties.js +356 -0
  137. package/dist/project/save.d.ts +65 -0
  138. package/dist/project/save.js +295 -0
  139. package/dist/project/schema.d.ts +1329 -0
  140. package/dist/project/schema.js +737 -0
  141. package/dist/project/serialize.d.ts +42 -0
  142. package/dist/project/serialize.js +385 -0
  143. package/dist/project/wss-configs.d.ts +40 -0
  144. package/dist/project/wss-configs.js +142 -0
  145. package/dist/project/yaml.d.ts +17 -0
  146. package/dist/project/yaml.js +39 -0
  147. package/dist/redact/index.d.ts +77 -0
  148. package/dist/redact/index.js +328 -0
  149. package/dist/redact/literal.d.ts +12 -0
  150. package/dist/redact/literal.js +68 -0
  151. package/dist/rest/auth.d.ts +53 -0
  152. package/dist/rest/auth.js +80 -0
  153. package/dist/rest/body.d.ts +61 -0
  154. package/dist/rest/body.js +184 -0
  155. package/dist/rest/browser.d.ts +12 -0
  156. package/dist/rest/browser.js +11 -0
  157. package/dist/rest/cookies.d.ts +41 -0
  158. package/dist/rest/cookies.js +102 -0
  159. package/dist/rest/curl.d.ts +75 -0
  160. package/dist/rest/curl.js +417 -0
  161. package/dist/rest/expand.d.ts +35 -0
  162. package/dist/rest/expand.js +104 -0
  163. package/dist/rest/model.d.ts +247 -0
  164. package/dist/rest/model.js +118 -0
  165. package/dist/rest/oauth2.d.ts +118 -0
  166. package/dist/rest/oauth2.js +212 -0
  167. package/dist/rest/openapi/cache.d.ts +54 -0
  168. package/dist/rest/openapi/cache.js +128 -0
  169. package/dist/rest/openapi/import.d.ts +67 -0
  170. package/dist/rest/openapi/import.js +91 -0
  171. package/dist/rest/openapi/map.d.ts +102 -0
  172. package/dist/rest/openapi/map.js +477 -0
  173. package/dist/rest/openapi/model.d.ts +203 -0
  174. package/dist/rest/openapi/model.js +37 -0
  175. package/dist/rest/openapi/parse.d.ts +44 -0
  176. package/dist/rest/openapi/parse.js +1530 -0
  177. package/dist/rest/openapi/refs.d.ts +63 -0
  178. package/dist/rest/openapi/refs.js +258 -0
  179. package/dist/rest/openapi/sample.d.ts +68 -0
  180. package/dist/rest/openapi/sample.js +336 -0
  181. package/dist/rest/postman/import.d.ts +21 -0
  182. package/dist/rest/postman/import.js +47 -0
  183. package/dist/rest/postman/index.d.ts +7 -0
  184. package/dist/rest/postman/index.js +7 -0
  185. package/dist/rest/postman/map.d.ts +28 -0
  186. package/dist/rest/postman/map.js +427 -0
  187. package/dist/rest/postman/model.d.ts +118 -0
  188. package/dist/rest/postman/model.js +7 -0
  189. package/dist/rest/postman/parse.d.ts +29 -0
  190. package/dist/rest/postman/parse.js +518 -0
  191. package/dist/rest/response.d.ts +72 -0
  192. package/dist/rest/response.js +221 -0
  193. package/dist/rest/send.d.ts +102 -0
  194. package/dist/rest/send.js +148 -0
  195. package/dist/rest/url.d.ts +92 -0
  196. package/dist/rest/url.js +213 -0
  197. package/dist/run/effective-auth.d.ts +10 -0
  198. package/dist/run/effective-auth.js +19 -0
  199. package/dist/run/index.d.ts +8 -0
  200. package/dist/run/index.js +4 -0
  201. package/dist/run/prepare.d.ts +43 -0
  202. package/dist/run/prepare.js +280 -0
  203. package/dist/run/run.d.ts +53 -0
  204. package/dist/run/run.js +223 -0
  205. package/dist/run/secret-needs.d.ts +13 -0
  206. package/dist/run/secret-needs.js +125 -0
  207. package/dist/run/select.d.ts +34 -0
  208. package/dist/run/select.js +76 -0
  209. package/dist/secrets/env-names.d.ts +27 -0
  210. package/dist/secrets/env-names.js +40 -0
  211. package/dist/secrets/resolve.d.ts +58 -0
  212. package/dist/secrets/resolve.js +136 -0
  213. package/dist/send-options.d.ts +141 -0
  214. package/dist/send-options.js +228 -0
  215. package/dist/send.d.ts +53 -0
  216. package/dist/send.js +210 -0
  217. package/dist/soap/body-builder.d.ts +38 -0
  218. package/dist/soap/body-builder.js +250 -0
  219. package/dist/soap/build-problems.d.ts +12 -0
  220. package/dist/soap/build-problems.js +2 -0
  221. package/dist/soap/charset.d.ts +23 -0
  222. package/dist/soap/charset.js +47 -0
  223. package/dist/soap/envelope.d.ts +44 -0
  224. package/dist/soap/envelope.js +76 -0
  225. package/dist/soap/fault.d.ts +46 -0
  226. package/dist/soap/fault.js +129 -0
  227. package/dist/soap/form-request.d.ts +34 -0
  228. package/dist/soap/form-request.js +251 -0
  229. package/dist/soap/legacy-project/definition-fetcher.d.ts +21 -0
  230. package/dist/soap/legacy-project/definition-fetcher.js +43 -0
  231. package/dist/soap/legacy-project/format.d.ts +18 -0
  232. package/dist/soap/legacy-project/format.js +24 -0
  233. package/dist/soap/legacy-project/import.d.ts +21 -0
  234. package/dist/soap/legacy-project/import.js +46 -0
  235. package/dist/soap/legacy-project/index.d.ts +9 -0
  236. package/dist/soap/legacy-project/index.js +5 -0
  237. package/dist/soap/legacy-project/map.d.ts +91 -0
  238. package/dist/soap/legacy-project/map.js +290 -0
  239. package/dist/soap/legacy-project/model.d.ts +98 -0
  240. package/dist/soap/legacy-project/model.js +5 -0
  241. package/dist/soap/legacy-project/parse.d.ts +16 -0
  242. package/dist/soap/legacy-project/parse.js +325 -0
  243. package/dist/soap/mime/cid-scan.d.ts +36 -0
  244. package/dist/soap/mime/cid-scan.js +52 -0
  245. package/dist/soap/mime/inline-files.d.ts +39 -0
  246. package/dist/soap/mime/inline-files.js +71 -0
  247. package/dist/soap/mime/mtom.d.ts +74 -0
  248. package/dist/soap/mime/mtom.js +134 -0
  249. package/dist/soap/mime/multipart.d.ts +66 -0
  250. package/dist/soap/mime/multipart.js +329 -0
  251. package/dist/soap/mime/send-pipeline.d.ts +61 -0
  252. package/dist/soap/mime/send-pipeline.js +145 -0
  253. package/dist/soap/mime/swa.d.ts +45 -0
  254. package/dist/soap/mime/swa.js +62 -0
  255. package/dist/soap/mime/types.d.ts +69 -0
  256. package/dist/soap/mime/types.js +10 -0
  257. package/dist/soap/namespace-scope.d.ts +32 -0
  258. package/dist/soap/namespace-scope.js +85 -0
  259. package/dist/soap/prefixes.d.ts +24 -0
  260. package/dist/soap/prefixes.js +70 -0
  261. package/dist/soap/recreate.d.ts +28 -0
  262. package/dist/soap/recreate.js +168 -0
  263. package/dist/soap/request-builder.d.ts +63 -0
  264. package/dist/soap/request-builder.js +161 -0
  265. package/dist/soap/response-parser.d.ts +29 -0
  266. package/dist/soap/response-parser.js +71 -0
  267. package/dist/soap/soap-action.d.ts +31 -0
  268. package/dist/soap/soap-action.js +28 -0
  269. package/dist/soap/transforms.d.ts +52 -0
  270. package/dist/soap/transforms.js +164 -0
  271. package/dist/types.d.ts +307 -0
  272. package/dist/types.js +6 -0
  273. package/dist/validate/index.d.ts +61 -0
  274. package/dist/validate/index.js +72 -0
  275. package/dist/validate/schema-file-set.d.ts +51 -0
  276. package/dist/validate/schema-file-set.js +288 -0
  277. package/dist/validate/schema-validator.d.ts +53 -0
  278. package/dist/validate/schema-validator.js +251 -0
  279. package/dist/validate/soap-structure.d.ts +34 -0
  280. package/dist/validate/soap-structure.js +255 -0
  281. package/dist/validate/types.d.ts +47 -0
  282. package/dist/validate/types.js +8 -0
  283. package/dist/validate/wsi/assertions/helpers.d.ts +145 -0
  284. package/dist/validate/wsi/assertions/helpers.js +387 -0
  285. package/dist/validate/wsi/assertions/index.d.ts +44 -0
  286. package/dist/validate/wsi/assertions/index.js +77 -0
  287. package/dist/validate/wsi/assertions/message/helpers.d.ts +63 -0
  288. package/dist/validate/wsi/assertions/message/helpers.js +168 -0
  289. package/dist/validate/wsi/assertions/message/index.d.ts +39 -0
  290. package/dist/validate/wsi/assertions/message/index.js +62 -0
  291. package/dist/validate/wsi/assertions/message/r1001.d.ts +10 -0
  292. package/dist/validate/wsi/assertions/message/r1001.js +38 -0
  293. package/dist/validate/wsi/assertions/message/r1003.d.ts +14 -0
  294. package/dist/validate/wsi/assertions/message/r1003.js +45 -0
  295. package/dist/validate/wsi/assertions/message/r1005.d.ts +12 -0
  296. package/dist/validate/wsi/assertions/message/r1005.js +37 -0
  297. package/dist/validate/wsi/assertions/message/r1006.d.ts +10 -0
  298. package/dist/validate/wsi/assertions/message/r1006.js +49 -0
  299. package/dist/validate/wsi/assertions/message/r1007.d.ts +10 -0
  300. package/dist/validate/wsi/assertions/message/r1007.js +30 -0
  301. package/dist/validate/wsi/assertions/message/r1011.d.ts +10 -0
  302. package/dist/validate/wsi/assertions/message/r1011.js +33 -0
  303. package/dist/validate/wsi/assertions/message/r1012.d.ts +13 -0
  304. package/dist/validate/wsi/assertions/message/r1012.js +37 -0
  305. package/dist/validate/wsi/assertions/message/r1013.d.ts +9 -0
  306. package/dist/validate/wsi/assertions/message/r1013.js +42 -0
  307. package/dist/validate/wsi/assertions/message/r1014.d.ts +10 -0
  308. package/dist/validate/wsi/assertions/message/r1014.js +30 -0
  309. package/dist/validate/wsi/assertions/message/r1015.d.ts +12 -0
  310. package/dist/validate/wsi/assertions/message/r1015.js +36 -0
  311. package/dist/validate/wsi/assertions/message/r1017.d.ts +10 -0
  312. package/dist/validate/wsi/assertions/message/r1017.js +30 -0
  313. package/dist/validate/wsi/assertions/message/r1100.d.ts +10 -0
  314. package/dist/validate/wsi/assertions/message/r1100.js +39 -0
  315. package/dist/validate/wsi/assertions/message/r1101.d.ts +10 -0
  316. package/dist/validate/wsi/assertions/message/r1101.js +37 -0
  317. package/dist/validate/wsi/assertions/message/r1102.d.ts +10 -0
  318. package/dist/validate/wsi/assertions/message/r1102.js +41 -0
  319. package/dist/validate/wsi/assertions/message/r1103.d.ts +10 -0
  320. package/dist/validate/wsi/assertions/message/r1103.js +28 -0
  321. package/dist/validate/wsi/assertions/message/r1107.d.ts +10 -0
  322. package/dist/validate/wsi/assertions/message/r1107.js +38 -0
  323. package/dist/validate/wsi/assertions/message/r1109.d.ts +10 -0
  324. package/dist/validate/wsi/assertions/message/r1109.js +32 -0
  325. package/dist/validate/wsi/assertions/message/r1124.d.ts +10 -0
  326. package/dist/validate/wsi/assertions/message/r1124.js +31 -0
  327. package/dist/validate/wsi/assertions/message/r1132.d.ts +9 -0
  328. package/dist/validate/wsi/assertions/message/r1132.js +23 -0
  329. package/dist/validate/wsi/assertions/message/r1140.d.ts +10 -0
  330. package/dist/validate/wsi/assertions/message/r1140.js +42 -0
  331. package/dist/validate/wsi/assertions/message/r1141.d.ts +10 -0
  332. package/dist/validate/wsi/assertions/message/r1141.js +32 -0
  333. package/dist/validate/wsi/assertions/message/r2113.d.ts +11 -0
  334. package/dist/validate/wsi/assertions/message/r2113.js +33 -0
  335. package/dist/validate/wsi/assertions/message/r2211.d.ts +7 -0
  336. package/dist/validate/wsi/assertions/message/r2211.js +42 -0
  337. package/dist/validate/wsi/assertions/r2001.d.ts +15 -0
  338. package/dist/validate/wsi/assertions/r2001.js +47 -0
  339. package/dist/validate/wsi/assertions/r2002.d.ts +11 -0
  340. package/dist/validate/wsi/assertions/r2002.js +38 -0
  341. package/dist/validate/wsi/assertions/r2003.d.ts +7 -0
  342. package/dist/validate/wsi/assertions/r2003.js +32 -0
  343. package/dist/validate/wsi/assertions/r2005.d.ts +7 -0
  344. package/dist/validate/wsi/assertions/r2005.js +40 -0
  345. package/dist/validate/wsi/assertions/r2101.d.ts +14 -0
  346. package/dist/validate/wsi/assertions/r2101.js +65 -0
  347. package/dist/validate/wsi/assertions/r2102.d.ts +10 -0
  348. package/dist/validate/wsi/assertions/r2102.js +41 -0
  349. package/dist/validate/wsi/assertions/r2105.d.ts +8 -0
  350. package/dist/validate/wsi/assertions/r2105.js +39 -0
  351. package/dist/validate/wsi/assertions/r2110.d.ts +8 -0
  352. package/dist/validate/wsi/assertions/r2110.js +38 -0
  353. package/dist/validate/wsi/assertions/r2111.d.ts +6 -0
  354. package/dist/validate/wsi/assertions/r2111.js +30 -0
  355. package/dist/validate/wsi/assertions/r2112.d.ts +7 -0
  356. package/dist/validate/wsi/assertions/r2112.js +35 -0
  357. package/dist/validate/wsi/assertions/r2201.d.ts +7 -0
  358. package/dist/validate/wsi/assertions/r2201.js +28 -0
  359. package/dist/validate/wsi/assertions/r2203.d.ts +7 -0
  360. package/dist/validate/wsi/assertions/r2203.js +30 -0
  361. package/dist/validate/wsi/assertions/r2204.d.ts +6 -0
  362. package/dist/validate/wsi/assertions/r2204.js +29 -0
  363. package/dist/validate/wsi/assertions/r2205.d.ts +8 -0
  364. package/dist/validate/wsi/assertions/r2205.js +46 -0
  365. package/dist/validate/wsi/assertions/r2206.d.ts +7 -0
  366. package/dist/validate/wsi/assertions/r2206.js +36 -0
  367. package/dist/validate/wsi/assertions/r2209.d.ts +12 -0
  368. package/dist/validate/wsi/assertions/r2209.js +37 -0
  369. package/dist/validate/wsi/assertions/r2210.d.ts +7 -0
  370. package/dist/validate/wsi/assertions/r2210.js +30 -0
  371. package/dist/validate/wsi/assertions/r2303.d.ts +7 -0
  372. package/dist/validate/wsi/assertions/r2303.js +44 -0
  373. package/dist/validate/wsi/assertions/r2304.d.ts +6 -0
  374. package/dist/validate/wsi/assertions/r2304.js +32 -0
  375. package/dist/validate/wsi/assertions/r2401.d.ts +12 -0
  376. package/dist/validate/wsi/assertions/r2401.js +31 -0
  377. package/dist/validate/wsi/assertions/r2701.d.ts +7 -0
  378. package/dist/validate/wsi/assertions/r2701.js +28 -0
  379. package/dist/validate/wsi/assertions/r2702.d.ts +6 -0
  380. package/dist/validate/wsi/assertions/r2702.js +26 -0
  381. package/dist/validate/wsi/assertions/r2705.d.ts +11 -0
  382. package/dist/validate/wsi/assertions/r2705.js +31 -0
  383. package/dist/validate/wsi/assertions/r2706.d.ts +7 -0
  384. package/dist/validate/wsi/assertions/r2706.js +29 -0
  385. package/dist/validate/wsi/assertions/r2710.d.ts +13 -0
  386. package/dist/validate/wsi/assertions/r2710.js +37 -0
  387. package/dist/validate/wsi/assertions/r2716.d.ts +7 -0
  388. package/dist/validate/wsi/assertions/r2716.js +29 -0
  389. package/dist/validate/wsi/assertions/r2717.d.ts +9 -0
  390. package/dist/validate/wsi/assertions/r2717.js +31 -0
  391. package/dist/validate/wsi/assertions/r2718.d.ts +7 -0
  392. package/dist/validate/wsi/assertions/r2718.js +41 -0
  393. package/dist/validate/wsi/assertions/r2720.d.ts +7 -0
  394. package/dist/validate/wsi/assertions/r2720.js +29 -0
  395. package/dist/validate/wsi/assertions/r2721.d.ts +6 -0
  396. package/dist/validate/wsi/assertions/r2721.js +27 -0
  397. package/dist/validate/wsi/assertions/r2722.d.ts +6 -0
  398. package/dist/validate/wsi/assertions/r2722.js +29 -0
  399. package/dist/validate/wsi/assertions/r2801.d.ts +7 -0
  400. package/dist/validate/wsi/assertions/r2801.js +39 -0
  401. package/dist/validate/wsi/assertions/r2803.d.ts +7 -0
  402. package/dist/validate/wsi/assertions/r2803.js +29 -0
  403. package/dist/validate/wsi/docs.d.ts +29 -0
  404. package/dist/validate/wsi/docs.js +167 -0
  405. package/dist/validate/wsi/index.d.ts +16 -0
  406. package/dist/validate/wsi/index.js +11 -0
  407. package/dist/validate/wsi/report-html.d.ts +36 -0
  408. package/dist/validate/wsi/report-html.js +135 -0
  409. package/dist/validate/wsi/run-message.d.ts +50 -0
  410. package/dist/validate/wsi/run-message.js +190 -0
  411. package/dist/validate/wsi/run-wsdl.d.ts +48 -0
  412. package/dist/validate/wsi/run-wsdl.js +99 -0
  413. package/dist/validate/wsi/types.d.ts +173 -0
  414. package/dist/validate/wsi/types.js +17 -0
  415. package/dist/workspace/commit-message.d.ts +47 -0
  416. package/dist/workspace/commit-message.js +195 -0
  417. package/dist/workspace/environments.d.ts +79 -0
  418. package/dist/workspace/environments.js +115 -0
  419. package/dist/workspace/index.d.ts +28 -0
  420. package/dist/workspace/index.js +19 -0
  421. package/dist/workspace/load.d.ts +45 -0
  422. package/dist/workspace/load.js +155 -0
  423. package/dist/workspace/local-state.d.ts +37 -0
  424. package/dist/workspace/local-state.js +59 -0
  425. package/dist/workspace/migrate.d.ts +38 -0
  426. package/dist/workspace/migrate.js +50 -0
  427. package/dist/workspace/model.d.ts +86 -0
  428. package/dist/workspace/model.js +54 -0
  429. package/dist/workspace/paths.d.ts +64 -0
  430. package/dist/workspace/paths.js +97 -0
  431. package/dist/workspace/reidentify.d.ts +22 -0
  432. package/dist/workspace/reidentify.js +122 -0
  433. package/dist/workspace/save.d.ts +31 -0
  434. package/dist/workspace/save.js +84 -0
  435. package/dist/workspace/schema.d.ts +93 -0
  436. package/dist/workspace/schema.js +115 -0
  437. package/dist/workspace/serialize.d.ts +24 -0
  438. package/dist/workspace/serialize.js +60 -0
  439. package/dist/workspace/share.d.ts +52 -0
  440. package/dist/workspace/share.js +89 -0
  441. package/dist/ws/browser.d.ts +13 -0
  442. package/dist/ws/browser.js +11 -0
  443. package/dist/ws/call.d.ts +53 -0
  444. package/dist/ws/call.js +106 -0
  445. package/dist/ws/command.d.ts +19 -0
  446. package/dist/ws/command.js +28 -0
  447. package/dist/ws/expand.d.ts +38 -0
  448. package/dist/ws/expand.js +76 -0
  449. package/dist/ws/model.d.ts +191 -0
  450. package/dist/ws/model.js +83 -0
  451. package/dist/ws/pretty.d.ts +12 -0
  452. package/dist/ws/pretty.js +25 -0
  453. package/dist/ws/session.d.ts +50 -0
  454. package/dist/ws/session.js +333 -0
  455. package/dist/ws/shape.d.ts +18 -0
  456. package/dist/ws/shape.js +28 -0
  457. package/dist/ws/transcript.d.ts +14 -0
  458. package/dist/ws/transcript.js +29 -0
  459. package/dist/ws/url.d.ts +3 -0
  460. package/dist/ws/url.js +44 -0
  461. package/dist/wsa/headers.d.ts +78 -0
  462. package/dist/wsa/headers.js +244 -0
  463. package/dist/wsa/model.d.ts +66 -0
  464. package/dist/wsa/model.js +52 -0
  465. package/dist/wsa/policy-detect.d.ts +81 -0
  466. package/dist/wsa/policy-detect.js +245 -0
  467. package/dist/wsdl/cache-naming.d.ts +39 -0
  468. package/dist/wsdl/cache-naming.js +90 -0
  469. package/dist/wsdl/cache.d.ts +48 -0
  470. package/dist/wsdl/cache.js +141 -0
  471. package/dist/wsdl/docs-generator.d.ts +47 -0
  472. package/dist/wsdl/docs-generator.js +439 -0
  473. package/dist/wsdl/dom-utils.d.ts +15 -0
  474. package/dist/wsdl/dom-utils.js +50 -0
  475. package/dist/wsdl/export-definition.d.ts +38 -0
  476. package/dist/wsdl/export-definition.js +100 -0
  477. package/dist/wsdl/fetch.d.ts +13 -0
  478. package/dist/wsdl/fetch.js +60 -0
  479. package/dist/wsdl/merge.d.ts +17 -0
  480. package/dist/wsdl/merge.js +57 -0
  481. package/dist/wsdl/model.d.ts +176 -0
  482. package/dist/wsdl/model.js +17 -0
  483. package/dist/wsdl/parse-binding.d.ts +6 -0
  484. package/dist/wsdl/parse-binding.js +150 -0
  485. package/dist/wsdl/parse-wsdl.d.ts +47 -0
  486. package/dist/wsdl/parse-wsdl.js +161 -0
  487. package/dist/wsdl/qname.d.ts +28 -0
  488. package/dist/wsdl/qname.js +41 -0
  489. package/dist/wsdl/ref-policy.d.ts +54 -0
  490. package/dist/wsdl/ref-policy.js +87 -0
  491. package/dist/wsdl/resolver.d.ts +81 -0
  492. package/dist/wsdl/resolver.js +276 -0
  493. package/dist/wsdl/update-definition.d.ts +106 -0
  494. package/dist/wsdl/update-definition.js +314 -0
  495. package/dist/wss/apply.d.ts +40 -0
  496. package/dist/wss/apply.js +212 -0
  497. package/dist/wss/c14n-prefixes.d.ts +27 -0
  498. package/dist/wss/c14n-prefixes.js +95 -0
  499. package/dist/wss/incoming/decrypt.d.ts +35 -0
  500. package/dist/wss/incoming/decrypt.js +57 -0
  501. package/dist/wss/incoming/index.d.ts +56 -0
  502. package/dist/wss/incoming/index.js +189 -0
  503. package/dist/wss/incoming/verify.d.ts +74 -0
  504. package/dist/wss/incoming/verify.js +440 -0
  505. package/dist/wss/key-identifiers.d.ts +76 -0
  506. package/dist/wss/key-identifiers.js +139 -0
  507. package/dist/wss/keystore/certificate.d.ts +45 -0
  508. package/dist/wss/keystore/certificate.js +134 -0
  509. package/dist/wss/keystore/index.d.ts +50 -0
  510. package/dist/wss/keystore/index.js +80 -0
  511. package/dist/wss/keystore/model.d.ts +83 -0
  512. package/dist/wss/keystore/model.js +27 -0
  513. package/dist/wss/keystore/pem.d.ts +21 -0
  514. package/dist/wss/keystore/pem.js +140 -0
  515. package/dist/wss/keystore/pkcs12.d.ts +21 -0
  516. package/dist/wss/keystore/pkcs12.js +125 -0
  517. package/dist/wss/model.d.ts +160 -0
  518. package/dist/wss/model.js +37 -0
  519. package/dist/wss/outgoing/encryption.d.ts +76 -0
  520. package/dist/wss/outgoing/encryption.js +618 -0
  521. package/dist/wss/outgoing/signature.d.ts +73 -0
  522. package/dist/wss/outgoing/signature.js +239 -0
  523. package/dist/wss/outgoing/timestamp.d.ts +29 -0
  524. package/dist/wss/outgoing/timestamp.js +39 -0
  525. package/dist/wss/outgoing/username-token.d.ts +36 -0
  526. package/dist/wss/outgoing/username-token.js +68 -0
  527. package/dist/wss/security-header.d.ts +31 -0
  528. package/dist/wss/security-header.js +83 -0
  529. package/dist/xml/index.d.ts +7 -0
  530. package/dist/xml/index.js +7 -0
  531. package/dist/xml/namespaces.d.ts +36 -0
  532. package/dist/xml/namespaces.js +60 -0
  533. package/dist/xml/parse.d.ts +79 -0
  534. package/dist/xml/parse.js +109 -0
  535. package/dist/xml/positions.d.ts +26 -0
  536. package/dist/xml/positions.js +71 -0
  537. package/dist/xml/pretty.d.ts +37 -0
  538. package/dist/xml/pretty.js +137 -0
  539. package/dist/xml/serialize.d.ts +6 -0
  540. package/dist/xml/serialize.js +8 -0
  541. package/dist/xml/tolerant-tree.d.ts +56 -0
  542. package/dist/xml/tolerant-tree.js +134 -0
  543. package/dist/xpath/evaluate-async.d.ts +31 -0
  544. package/dist/xpath/evaluate-async.js +81 -0
  545. package/dist/xpath/evaluate.d.ts +98 -0
  546. package/dist/xpath/evaluate.js +340 -0
  547. package/dist/xpath/jsonpath.d.ts +40 -0
  548. package/dist/xpath/jsonpath.js +109 -0
  549. package/dist/xpath/namespaces.d.ts +29 -0
  550. package/dist/xpath/namespaces.js +101 -0
  551. package/dist/xpath/worker.d.ts +7 -0
  552. package/dist/xpath/worker.js +26 -0
  553. package/dist/xsd/builtins.d.ts +36 -0
  554. package/dist/xsd/builtins.js +108 -0
  555. package/dist/xsd/check-references.d.ts +25 -0
  556. package/dist/xsd/check-references.js +145 -0
  557. package/dist/xsd/form-edits.d.ts +57 -0
  558. package/dist/xsd/form-edits.js +153 -0
  559. package/dist/xsd/form-model.d.ts +153 -0
  560. package/dist/xsd/form-model.js +691 -0
  561. package/dist/xsd/locate.d.ts +42 -0
  562. package/dist/xsd/locate.js +249 -0
  563. package/dist/xsd/model.d.ts +249 -0
  564. package/dist/xsd/model.js +1 -0
  565. package/dist/xsd/parse-particles.d.ts +48 -0
  566. package/dist/xsd/parse-particles.js +320 -0
  567. package/dist/xsd/parse-schema.d.ts +21 -0
  568. package/dist/xsd/parse-schema.js +143 -0
  569. package/dist/xsd/resolve-content.d.ts +18 -0
  570. package/dist/xsd/resolve-content.js +242 -0
  571. package/dist/xsd/sample-generator.d.ts +51 -0
  572. package/dist/xsd/sample-generator.js +291 -0
  573. package/dist/xsd/sample-types.d.ts +21 -0
  574. package/dist/xsd/sample-types.js +69 -0
  575. package/dist/xsd/sample-values.d.ts +54 -0
  576. package/dist/xsd/sample-values.js +267 -0
  577. package/dist/xsd/schema-set.d.ts +51 -0
  578. package/dist/xsd/schema-set.js +203 -0
  579. package/dist/xsd/xml-scan.d.ts +64 -0
  580. package/dist/xsd/xml-scan.js +286 -0
  581. package/dist/xsd/xml-writer.d.ts +56 -0
  582. package/dist/xsd/xml-writer.js +103 -0
  583. package/package.json +69 -0
@@ -0,0 +1,134 @@
1
+ /**
2
+ * A tolerant XML tokenizer shared by the pretty printer and the envelope transforms.
3
+ *
4
+ * "Tolerant" means: it never throws, it recognises every construct a serializer would
5
+ * normally lose (comments, CDATA, processing instructions, the XML declaration, DOCTYPE),
6
+ * and it reports failure by returning `undefined` rather than by raising — the callers are
7
+ * text transforms that must return their input unchanged when they cannot understand it.
8
+ *
9
+ * Every token carries its `[start, end)` offsets into the original text, so a transform can
10
+ * splice ranges out of the source instead of re-serializing a tree (which would silently
11
+ * rewrite attribute spacing and quoting).
12
+ */
13
+ const TOKEN_RE = /<!--[\s\S]*?-->|<!\[CDATA\[[\s\S]*?\]\]>|<\?[\s\S]*?\?>|<!DOCTYPE(?:[^[>]|\[[^\]]*\])*>|<\/(?:[^<>"']|"[^"]*"|'[^']*')*>|<[^!?/](?:[^<>"']|"[^"]*"|'[^']*')*>|[^<]+/g;
14
+ /** Normalises CRLF/CR line endings to `\n`. */
15
+ export function normalizeLineEndings(text) {
16
+ return text.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
17
+ }
18
+ /** The local part of a possibly prefixed name. */
19
+ export function localNameOf(name) {
20
+ const colon = name.indexOf(':');
21
+ return colon === -1 ? name : name.slice(colon + 1);
22
+ }
23
+ /**
24
+ * Tokenizes `text`. Returns `undefined` when the tokens do not contiguously cover the whole
25
+ * string (i.e. the markup is malformed enough that a transform must leave it alone).
26
+ */
27
+ export function tokenizeXml(text) {
28
+ const tokens = [];
29
+ const re = new RegExp(TOKEN_RE);
30
+ let match;
31
+ let cursor = 0;
32
+ while ((match = re.exec(text)) !== null) {
33
+ const raw = match[0];
34
+ const start = match.index;
35
+ if (start !== cursor) {
36
+ return undefined;
37
+ }
38
+ const end = start + raw.length;
39
+ cursor = end;
40
+ if (raw.startsWith('<!--')) {
41
+ tokens.push({ kind: 'comment', raw, start, end });
42
+ }
43
+ else if (raw.startsWith('<![CDATA[')) {
44
+ tokens.push({ kind: 'cdata', raw, start, end });
45
+ }
46
+ else if (raw.startsWith('<?')) {
47
+ tokens.push({ kind: 'pi', raw, start, end });
48
+ }
49
+ else if (/^<!DOCTYPE/i.test(raw)) {
50
+ tokens.push({ kind: 'doctype', raw, start, end });
51
+ }
52
+ else if (raw.startsWith('</')) {
53
+ const nameMatch = /^<\/\s*([^\s>]+)\s*>$/.exec(raw);
54
+ if (nameMatch?.[1] === undefined) {
55
+ return undefined;
56
+ }
57
+ tokens.push({ kind: 'close', raw, start, end, name: nameMatch[1] });
58
+ }
59
+ else if (raw.startsWith('<')) {
60
+ const selfClosing = /\/>$/.test(raw);
61
+ const nameMatch = /^<([^\s/>]+)/.exec(raw);
62
+ if (nameMatch?.[1] === undefined) {
63
+ return undefined;
64
+ }
65
+ const name = nameMatch[1];
66
+ const attrsEnd = raw.length - (selfClosing ? 2 : 1);
67
+ const rawAttrs = raw.slice(1 + name.length, attrsEnd).trim();
68
+ tokens.push({ kind: 'open', raw, start, end, name, rawAttrs, selfClosing });
69
+ }
70
+ else {
71
+ tokens.push({ kind: 'text', raw, start, end });
72
+ }
73
+ }
74
+ return cursor === text.length ? tokens : undefined;
75
+ }
76
+ /**
77
+ * Builds an element tree over `tokens`, keeping source ranges. Returns `undefined` when tags
78
+ * are unbalanced or mismatched — again, a signal to leave the document alone.
79
+ */
80
+ export function buildRangeTree(tokens) {
81
+ const roots = [];
82
+ const stack = [];
83
+ const top = () => stack[stack.length - 1];
84
+ const push = (node) => {
85
+ (top()?.children ?? roots).push(node);
86
+ };
87
+ for (const token of tokens) {
88
+ if (token.kind === 'open') {
89
+ if (token.selfClosing === true) {
90
+ push({
91
+ name: token.name ?? '',
92
+ rawAttrs: token.rawAttrs ?? '',
93
+ selfClosing: true,
94
+ start: token.start,
95
+ end: token.end,
96
+ innerStart: token.end,
97
+ innerEnd: token.end,
98
+ children: [],
99
+ leafTokens: [],
100
+ });
101
+ continue;
102
+ }
103
+ stack.push({
104
+ name: token.name ?? '',
105
+ rawAttrs: token.rawAttrs ?? '',
106
+ start: token.start,
107
+ innerStart: token.end,
108
+ children: [],
109
+ leafTokens: [],
110
+ });
111
+ continue;
112
+ }
113
+ if (token.kind === 'close') {
114
+ const frame = stack.pop();
115
+ if (frame === undefined || frame.name !== token.name) {
116
+ return undefined;
117
+ }
118
+ push({
119
+ name: frame.name,
120
+ rawAttrs: frame.rawAttrs,
121
+ selfClosing: false,
122
+ start: frame.start,
123
+ end: token.end,
124
+ innerStart: frame.innerStart,
125
+ innerEnd: token.start,
126
+ children: frame.children,
127
+ leafTokens: frame.leafTokens,
128
+ });
129
+ continue;
130
+ }
131
+ top()?.leafTokens.push(token);
132
+ }
133
+ return stack.length === 0 ? roots : undefined;
134
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Time-bounded wrapper around {@link evaluate}: runs the (synchronous, potentially pathological)
3
+ * XPath/XQuery evaluation inside a `node:worker_threads` Worker so a runaway expression
4
+ * (`1 to 100000000`, an infinite FLWOR, …) cannot freeze the Electron main process. Callers get
5
+ * a `{kind: 'error', code: 'xpath-timeout'}` result instead of a hang once `timeoutMs` elapses.
6
+ */
7
+ import type { EvaluateOptions, QueryResult } from './evaluate.js';
8
+ /** Options accepted by {@link evaluateWithTimeout}. */
9
+ export interface EvaluateWithTimeoutOptions {
10
+ /** Milliseconds to wait before terminating the worker and reporting `xpath-timeout`. */
11
+ readonly timeoutMs?: number;
12
+ /**
13
+ * Which document `text` is. Defaults to `xml`.
14
+ *
15
+ * The timeout, the worker and the result shape are identical either way — only the evaluator on
16
+ * the far side differs — so a JSON query gets the same runaway-expression protection for free.
17
+ */
18
+ readonly kind?: 'xml' | 'json';
19
+ }
20
+ /**
21
+ * Evaluates `expression` against `xml` on a worker thread, resolving to the same
22
+ * {@link QueryResult} shape {@link evaluate} returns synchronously, but bounded by `timeoutMs`
23
+ * (default 5000ms). Never throws or rejects: a timeout, a worker crash, or an evaluation error
24
+ * are all reported as `{kind: 'error'}`.
25
+ *
26
+ * @param xml the document to query
27
+ * @param expression the XPath or XQuery source
28
+ * @param options language and namespace bindings, forwarded to `evaluate`
29
+ * @param timeoutOptions `{timeoutMs}`, default 5000
30
+ */
31
+ export declare function evaluateWithTimeout(text: string, expression: string, options: EvaluateOptions, timeoutOptions?: EvaluateWithTimeoutOptions): Promise<QueryResult>;
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Time-bounded wrapper around {@link evaluate}: runs the (synchronous, potentially pathological)
3
+ * XPath/XQuery evaluation inside a `node:worker_threads` Worker so a runaway expression
4
+ * (`1 to 100000000`, an infinite FLWOR, …) cannot freeze the Electron main process. Callers get
5
+ * a `{kind: 'error', code: 'xpath-timeout'}` result instead of a hang once `timeoutMs` elapses.
6
+ */
7
+ import { existsSync } from 'node:fs';
8
+ import { fileURLToPath } from 'node:url';
9
+ import { Worker } from 'node:worker_threads';
10
+ /** Default time budget for one evaluation, matching the brief's 5s ceiling for the scratchpad. */
11
+ const DEFAULT_TIMEOUT_MS = 5_000;
12
+ /**
13
+ * Resolves the compiled worker entry point.
14
+ *
15
+ * `worker.ts` must run as plain JavaScript in a Worker (no TS loader is an approved dependency
16
+ * here — `tsx` is only ever an optional peer of `vite`, not installed). `tsc -b` (run by
17
+ * `pnpm typecheck`, which `pnpm check` and `pnpm build` both depend on) always emits
18
+ * `dist/xpath/worker.js` alongside this file's own compiled output, so the common case is just
19
+ * "the sibling `worker.js` next to wherever this module itself is running from". The only time
20
+ * that sibling doesn't exist is running this module directly from `src` (e.g.
21
+ * `vitest run packages/engine/test/unit/xpath` on its own, before a build) — in that case fall
22
+ * back to the package's `dist/xpath/worker.js`, computed from this file's own `src/xpath/…`
23
+ * location.
24
+ */
25
+ function workerUrl() {
26
+ const sibling = new URL('./worker.js', import.meta.url);
27
+ if (existsSync(fileURLToPath(sibling))) {
28
+ return sibling;
29
+ }
30
+ const fallback = import.meta.url.replace(/\/src\/xpath\/evaluate-async\.ts$/, '/dist/xpath/worker.js');
31
+ /* v8 ignore next 3 -- only reachable when the engine package has genuinely never been built */
32
+ if (fallback === import.meta.url) {
33
+ throw new Error('xpath worker not found: build the engine package (pnpm --filter @wirebench/engine build) first');
34
+ }
35
+ return new URL(fallback);
36
+ }
37
+ /**
38
+ * Evaluates `expression` against `xml` on a worker thread, resolving to the same
39
+ * {@link QueryResult} shape {@link evaluate} returns synchronously, but bounded by `timeoutMs`
40
+ * (default 5000ms). Never throws or rejects: a timeout, a worker crash, or an evaluation error
41
+ * are all reported as `{kind: 'error'}`.
42
+ *
43
+ * @param xml the document to query
44
+ * @param expression the XPath or XQuery source
45
+ * @param options language and namespace bindings, forwarded to `evaluate`
46
+ * @param timeoutOptions `{timeoutMs}`, default 5000
47
+ */
48
+ export function evaluateWithTimeout(text, expression, options, timeoutOptions) {
49
+ const timeoutMs = timeoutOptions?.timeoutMs ?? DEFAULT_TIMEOUT_MS;
50
+ const kind = timeoutOptions?.kind ?? 'xml';
51
+ return new Promise((resolve) => {
52
+ let settled = false;
53
+ const worker = new Worker(workerUrl(), { workerData: { text, kind, expression, options } });
54
+ const finish = (result) => {
55
+ if (settled) {
56
+ return;
57
+ }
58
+ settled = true;
59
+ clearTimeout(timer);
60
+ worker.removeAllListeners();
61
+ void worker.terminate();
62
+ resolve(result);
63
+ };
64
+ const timer = setTimeout(() => {
65
+ finish({
66
+ kind: 'error',
67
+ code: 'xpath-timeout',
68
+ message: `Query timed out after ${timeoutMs}ms`,
69
+ });
70
+ }, timeoutMs);
71
+ timer.unref?.();
72
+ worker.once('message', (result) => finish(result));
73
+ worker.once('error', (error) => finish({ kind: 'error', message: error instanceof Error ? error.message : String(error) }));
74
+ worker.once('exit', (code) => {
75
+ /* v8 ignore next 3 -- normal completion always finishes via the 'message' listener first */
76
+ if (!settled) {
77
+ finish({ kind: 'error', message: `xpath worker exited unexpectedly (code ${code})` });
78
+ }
79
+ });
80
+ });
81
+ }
@@ -0,0 +1,98 @@
1
+ /**
2
+ * XPath 3.1 / XQuery 3.1 evaluation against a response, for the response Query scratchpad. Where
3
+ * classic SOAP workbenches limit querying to XPath 2.0 inside assertions, this runs both languages
4
+ * over the actual bytes the server returned, ahead of any assertion.
5
+ *
6
+ * A JSON response is queried by the same two languages ({@link evaluateJson}) rather than by a third
7
+ * one: XPath 3.1 has maps, arrays and the `?` lookup operator, so `?items?*[?status = "open"]?id`
8
+ * needs no new dependency and no second expression syntax for users to learn. The context item is
9
+ * the parsed document itself.
10
+ */
11
+ import type { LinePosition } from '../xml/positions.js';
12
+ import type { TextRange } from '../xsd/locate.js';
13
+ /** One node-shaped query result. */
14
+ export interface QueryNodeItem {
15
+ /** The node serialised back to text (an element/comment/PI/document), or an attribute's value. */
16
+ readonly text: string;
17
+ readonly nodeKind: 'element' | 'attribute' | 'text' | 'document' | 'comment' | 'pi';
18
+ /** Offsets of this node in the original `xml` text, when they could be recovered. */
19
+ readonly range?: TextRange;
20
+ /**
21
+ * A simple `/a/b[2]`-shaped path to the node from the document root, with a 1-based index
22
+ * among same-named siblings at every step.
23
+ *
24
+ * Only elements have steps of their own. A text, comment or processing-instruction result is
25
+ * reported at the path of the nearest enclosing element — the place to look for it in the
26
+ * document — and an attribute result appends `/@name` to its owning element's path. A result
27
+ * with no element at or above it (the document node itself) is reported as `/`.
28
+ */
29
+ readonly path: string;
30
+ }
31
+ /** One atomic-value query result (a string, number, boolean, map, or array). */
32
+ export interface QueryValueItem {
33
+ readonly text: string;
34
+ /** A type label: `xs:string`, `xs:integer`, `map`, `array`, … */
35
+ readonly type: string;
36
+ /**
37
+ * Where the value was found, when the evaluator knows.
38
+ *
39
+ * Only JSONPath fills this in (`$['items'][0]['id']`): it walks a document and can say where it
40
+ * landed, so a multi-match result stays readable. An XPath or XQuery expression computes a value
41
+ * rather than locating one — `count(//*)` has no path — so it leaves this absent.
42
+ */
43
+ readonly path?: string;
44
+ }
45
+ /** The outcome of running one XPath/XQuery expression against a document. */
46
+ export type QueryResult = {
47
+ readonly kind: 'nodes';
48
+ readonly items: readonly QueryNodeItem[];
49
+ readonly truncated: boolean;
50
+ } | {
51
+ readonly kind: 'values';
52
+ readonly items: readonly QueryValueItem[];
53
+ readonly truncated: boolean;
54
+ } | {
55
+ readonly kind: 'empty';
56
+ } | {
57
+ readonly kind: 'error';
58
+ readonly message: string;
59
+ readonly code?: string;
60
+ readonly position?: LinePosition;
61
+ };
62
+ /** The languages the Query view offers. `jsonpath` is JSON-only, and only
63
+ * {@link evaluateJson} accepts it — see `rest/jsonpath.ts`. */
64
+ export type QueryLanguage = 'xpath' | 'xquery' | 'jsonpath';
65
+ /** Options accepted by {@link evaluate}. */
66
+ export interface EvaluateOptions {
67
+ readonly language: QueryLanguage;
68
+ /** Prefix to namespace URI, used to resolve `prefix:local` names in the expression. */
69
+ readonly namespaces?: Readonly<Record<string, string>>;
70
+ }
71
+ /**
72
+ * Evaluates an XPath 3.1 or XQuery 3.1 `expression` against `xml`.
73
+ *
74
+ * Never throws: parse failures, unresolved namespace prefixes, and runtime errors are all
75
+ * reported as `{kind: 'error'}` results instead, since a scratchpad query is expected to be
76
+ * wrong sometimes and the caller (the Query view) needs a value to render either way.
77
+ *
78
+ * @param xml the document to query (typically a response envelope)
79
+ * @param expression the XPath or XQuery source
80
+ * @param options language and namespace bindings
81
+ */
82
+ export declare function evaluate(xml: string, expression: string, options: EvaluateOptions): QueryResult;
83
+ /**
84
+ * Evaluates `expression` against a JSON document.
85
+ *
86
+ * The parsed JSON *is* the context item, so a lookup starts at `?`: `?name` reads a field of a
87
+ * top-level object, `?*` every member of an array, and `?items?*[?status = "open"]?id` filters and
88
+ * projects in one expression. Results are always values — JSON has no nodes — so nothing here needs
89
+ * the document's text, and a result carries no source range.
90
+ *
91
+ * A `language` of `jsonpath` is delegated to {@link evaluateJsonPath} instead, which answers in this same
92
+ * result shape — so one caller, and one result renderer, covers all three languages.
93
+ *
94
+ * @param json the response body as text
95
+ * @param expression the XPath, XQuery or JSONPath source
96
+ * @param options language (namespaces are accepted and unused: JSON has no names to qualify)
97
+ */
98
+ export declare function evaluateJson(json: string, expression: string, options: EvaluateOptions): QueryResult;