@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,318 @@
1
+ /**
2
+ * The application's global preferences: the settings that live with the *user*, not with a
3
+ * project, and are persisted by the desktop app in `userData/preferences.yaml`.
4
+ *
5
+ * Everything here is deliberately plain data — the engine never reads a file for it. The
6
+ * desktop's `PreferencesService` loads/merges/persists a document; the engine consumes the
7
+ * merged object (see `send-options.ts`).
8
+ *
9
+ * Some sections are persisted and shown before they are wired to behaviour: `proxy` and `ssl`
10
+ * become effective with the connection settings task.
11
+ * They are modelled now so a preferences file written today survives those tasks unchanged.
12
+ */
13
+ import { z } from 'zod';
14
+ /** HTTP transport preferences applied to every send. */
15
+ export interface HttpPreferences {
16
+ /** Reserved: only HTTP/1.1 is implemented. */
17
+ readonly version: '1.1';
18
+ /** `User-Agent` added to a request that does not set one itself. */
19
+ readonly userAgent: string;
20
+ /** `gzip` compresses the request body and sets `Content-Encoding: gzip`. */
21
+ readonly requestCompression: 'none' | 'gzip';
22
+ /** Advertise `Accept-Encoding: gzip, deflate` so servers may compress the response. */
23
+ readonly responseCompression: boolean;
24
+ /** Send `Connection: close` instead of reusing the keep-alive pool. */
25
+ readonly closeConnections: boolean;
26
+ /** Body size (bytes) above which chunked transfer would be used. Reserved. */
27
+ readonly chunkingThreshold: number;
28
+ /** Socket timeout used when neither the request nor the project sets one. */
29
+ readonly socketTimeoutMs: number;
30
+ /** Maximum simultaneous connections per host. Reserved. */
31
+ readonly maxConnections: number;
32
+ /**
33
+ * Offer HTTP/2 in the TLS ALPN handshake. Off by default: HTTP/2 changes what the raw view
34
+ * can faithfully reconstruct, and most SOAP stacks speak HTTP/1.1 only.
35
+ */
36
+ readonly allowH2: boolean;
37
+ }
38
+ /** Proxy preferences, consulted for every send by `resolveProxyFor`. */
39
+ export interface ProxyPreferences {
40
+ readonly mode: 'none' | 'system' | 'manual';
41
+ readonly host?: string;
42
+ readonly port?: number;
43
+ readonly username?: string;
44
+ /** Opaque reference into the OS-keychain-backed secret store. Never a password. */
45
+ readonly passwordRef?: string;
46
+ /** Hosts that bypass the proxy. */
47
+ readonly excludes: readonly string[];
48
+ }
49
+ /** TLS preferences, folded into every send's `TlsOptions`. */
50
+ export interface SslPreferences {
51
+ readonly minVersion: 'TLSv1.2' | 'TLSv1.3';
52
+ /** Absolute path to a PEM bundle of extra trust anchors; read in main, never by the engine. */
53
+ readonly caBundlePath?: string;
54
+ /**
55
+ * Set by the desktop main process when, and only when, {@link caBundlePath} came from a
56
+ * native file picker it ran itself. It is the evidence that the path was *chosen* rather than
57
+ * typed, pasted over IPC or edited into `preferences.yaml` by hand — and main re-records the
58
+ * path as a read pick at startup only when it is present, so a hand-edited file adds no trust
59
+ * until the bundle is picked again. Never settable through `preferences.update`.
60
+ */
61
+ readonly caBundlePickedByMain?: boolean;
62
+ /** Id of a `wss/keystores.yaml` entry used as the client identity when a request selects none. */
63
+ readonly clientKeystoreRef?: string;
64
+ /**
65
+ * Always `false`: trusting every certificate globally is not an option Wirebench offers.
66
+ * The only escape hatch is an endpoint's `trustInvalid`, which is badged in red wherever
67
+ * that endpoint appears.
68
+ */
69
+ readonly trustAll: false;
70
+ }
71
+ /** Git executable preferences, main-only, never settable through `preferences.update`. */
72
+ export interface GitPreferences {
73
+ /** Absolute path to the `git` executable the desktop uses; read/written in main only. */
74
+ readonly path?: string;
75
+ /**
76
+ * Set by the desktop main process when, and only when, {@link path} came from a native file
77
+ * picker it ran itself (`git.locate`). Mirrors `SslPreferences.caBundlePickedByMain`: a
78
+ * hand-edited `preferences.yaml` gets no trust from this field until the path is picked
79
+ * again. Never settable through `preferences.update`.
80
+ */
81
+ readonly pathPickedByMain?: boolean;
82
+ }
83
+ /** WSDL import and request-generation preferences. */
84
+ export interface WsdlPreferences {
85
+ /** Default `cacheDefinition` for a newly imported interface. */
86
+ readonly cacheDefinitions: boolean;
87
+ /** Pretty-print generated envelopes. */
88
+ readonly prettyPrint: boolean;
89
+ /** Fill generated leaves with sample values rather than `?` placeholders. */
90
+ readonly sampleValues: boolean;
91
+ /** Annotate generated elements with their schema type. */
92
+ readonly typeComments: boolean;
93
+ /** Include `minOccurs="0"` particles when generating. */
94
+ readonly includeOptional: boolean;
95
+ /** Treat schema problems as errors rather than warnings. */
96
+ readonly strictSchema: boolean;
97
+ /** Store cached definitions compressed. */
98
+ readonly compression: boolean;
99
+ /** Name a generated request after its binding as well as its operation. */
100
+ readonly nameWithBinding: boolean;
101
+ }
102
+ /**
103
+ * REST client preferences: the defaults every REST request inherits, and the two viewer limits.
104
+ *
105
+ * Redirects are followed by default here and not for SOAP, deliberately: a REST API that answers a
106
+ * `GET` with a 301 to its canonical URL is ordinary, while a redirected SOAP `POST` is a sign
107
+ * something is wrong (see the roadmap's note on the same-host upgrade case).
108
+ */
109
+ export interface RestPreferences {
110
+ readonly followRedirects: boolean;
111
+ readonly maxRedirects: number;
112
+ /** Above this many bytes the response viewer stops offering the formatted view. */
113
+ readonly prettyPrintMaxBytes: number;
114
+ /** `Accept` added to a request that does not set one. Empty by default: say nothing, take anything. */
115
+ readonly defaultAccept: string;
116
+ /**
117
+ * Fixed loopback port for the OAuth2 authorization-code callback, for providers that demand an
118
+ * exact redirect URI. Absent means a random free port, which is what RFC 8252 §7.3 prefers.
119
+ */
120
+ readonly oauth2CallbackPort?: number;
121
+ }
122
+ /** WS-I Basic Profile validation preferences. */
123
+ export interface WsiPreferences {
124
+ readonly verbose: boolean;
125
+ readonly profile: 'BP1.1';
126
+ }
127
+ /** Editor preferences, applied to every XML editor and to formatting. */
128
+ export interface EditorPreferences {
129
+ readonly fontFamily?: string;
130
+ readonly fontSize: number;
131
+ /** Indentation width, also used as the pretty-printer's indent. */
132
+ readonly tabSize: number;
133
+ readonly lineNumbers: boolean;
134
+ readonly wordWrap: boolean;
135
+ /** Validate the envelope against the schema before sending. */
136
+ readonly autoValidateOnSend: boolean;
137
+ /** Pretty-print responses in the response pane. */
138
+ readonly autoFormatResponses: boolean;
139
+ /**
140
+ * Write a project's edits out on a short debounce instead of waiting to be told to.
141
+ *
142
+ * Off by default: an edit is the user's to commit, and a tool that writes to their project
143
+ * folder behind them is a tool they cannot experiment in. Closing a workspace and quitting
144
+ * still save whatever is outstanding — this chooses when routine edits land, not whether
145
+ * work can be lost.
146
+ */
147
+ readonly autosave: boolean;
148
+ }
149
+ /** How a request editor arranges its panes. Mirrors the renderer's layout snapshot. */
150
+ export interface LayoutPreference {
151
+ readonly orientation: 'side-by-side' | 'stacked';
152
+ readonly mode: 'split' | 'tabs';
153
+ }
154
+ /** Shell/appearance preferences. */
155
+ export interface UiPreferences {
156
+ readonly theme: 'dark' | 'light' | 'system';
157
+ readonly defaultLayout: LayoutPreference;
158
+ readonly confirmOnDelete: boolean;
159
+ /** How many history entries are kept per project. */
160
+ readonly historyCap: number;
161
+ /** How many rows the HTTP Log keeps in memory ({@link LOG_SIZE_MIN}–{@link LOG_SIZE_MAX}). */
162
+ readonly logSize: number;
163
+ }
164
+ /** The smallest HTTP Log row limit a user can set. */
165
+ export declare const LOG_SIZE_MIN = 100;
166
+ /** The largest HTTP Log row limit a user can set. */
167
+ export declare const LOG_SIZE_MAX = 5000;
168
+ /**
169
+ * Software-update preferences. `checkOnLaunch` is off by default and stays off until the user
170
+ * turns it on: Wirebench contacts the release feed when asked, not when started.
171
+ */
172
+ export interface UpdatePreferences {
173
+ /** Check GitHub Releases for a newer version once, shortly after the app starts. */
174
+ readonly checkOnLaunch: boolean;
175
+ }
176
+ /** The whole preferences document. */
177
+ export interface Preferences {
178
+ readonly http: HttpPreferences;
179
+ readonly proxy: ProxyPreferences;
180
+ readonly ssl: SslPreferences;
181
+ readonly git: GitPreferences;
182
+ readonly wsdl: WsdlPreferences;
183
+ readonly wsi: WsiPreferences;
184
+ readonly rest: RestPreferences;
185
+ readonly editor: EditorPreferences;
186
+ readonly ui: UiPreferences;
187
+ readonly updates: UpdatePreferences;
188
+ /**
189
+ * Keybinding overrides, keyed by command id: the chord that runs it, or `''` when the user
190
+ * unbound it. Empty by default — a command with no entry uses its registered chord. Written
191
+ * by the Shortcuts editor and read by the renderer's keybinding dispatcher.
192
+ */
193
+ readonly shortcuts: Readonly<Record<string, string>>;
194
+ }
195
+ /** The preferences a first run gets. */
196
+ export declare const DEFAULT_PREFERENCES: Preferences;
197
+ /**
198
+ * The persisted document shape. Deliberately loose: every section and every field is optional
199
+ * and unknown keys are stripped, so a file written by a newer build (or hand-edited badly)
200
+ * still loads — {@link mergePreferences} fills the gaps from {@link DEFAULT_PREFERENCES}.
201
+ */
202
+ export declare const preferencesSchema: z.ZodObject<{
203
+ version: z.ZodOptional<z.ZodLiteral<1>>;
204
+ http: z.ZodOptional<z.ZodObject<{
205
+ version: z.ZodOptional<z.ZodLiteral<"1.1">>;
206
+ userAgent: z.ZodOptional<z.ZodString>;
207
+ requestCompression: z.ZodOptional<z.ZodEnum<{
208
+ none: "none";
209
+ gzip: "gzip";
210
+ }>>;
211
+ responseCompression: z.ZodOptional<z.ZodBoolean>;
212
+ closeConnections: z.ZodOptional<z.ZodBoolean>;
213
+ chunkingThreshold: z.ZodOptional<z.ZodNumber>;
214
+ socketTimeoutMs: z.ZodOptional<z.ZodNumber>;
215
+ maxConnections: z.ZodOptional<z.ZodNumber>;
216
+ allowH2: z.ZodOptional<z.ZodBoolean>;
217
+ }, z.core.$strip>>;
218
+ proxy: z.ZodOptional<z.ZodObject<{
219
+ mode: z.ZodOptional<z.ZodEnum<{
220
+ none: "none";
221
+ system: "system";
222
+ manual: "manual";
223
+ }>>;
224
+ host: z.ZodOptional<z.ZodString>;
225
+ port: z.ZodOptional<z.ZodNumber>;
226
+ username: z.ZodOptional<z.ZodString>;
227
+ passwordRef: z.ZodOptional<z.ZodString>;
228
+ excludes: z.ZodOptional<z.ZodArray<z.ZodString>>;
229
+ }, z.core.$strip>>;
230
+ ssl: z.ZodOptional<z.ZodObject<{
231
+ minVersion: z.ZodOptional<z.ZodEnum<{
232
+ "TLSv1.2": "TLSv1.2";
233
+ "TLSv1.3": "TLSv1.3";
234
+ }>>;
235
+ caBundlePath: z.ZodOptional<z.ZodString>;
236
+ caBundlePickedByMain: z.ZodOptional<z.ZodBoolean>;
237
+ clientKeystoreRef: z.ZodOptional<z.ZodString>;
238
+ }, z.core.$strip>>;
239
+ git: z.ZodOptional<z.ZodObject<{
240
+ path: z.ZodOptional<z.ZodString>;
241
+ pathPickedByMain: z.ZodOptional<z.ZodBoolean>;
242
+ }, z.core.$strip>>;
243
+ wsdl: z.ZodOptional<z.ZodObject<{
244
+ cacheDefinitions: z.ZodOptional<z.ZodBoolean>;
245
+ prettyPrint: z.ZodOptional<z.ZodBoolean>;
246
+ sampleValues: z.ZodOptional<z.ZodBoolean>;
247
+ typeComments: z.ZodOptional<z.ZodBoolean>;
248
+ includeOptional: z.ZodOptional<z.ZodBoolean>;
249
+ strictSchema: z.ZodOptional<z.ZodBoolean>;
250
+ compression: z.ZodOptional<z.ZodBoolean>;
251
+ nameWithBinding: z.ZodOptional<z.ZodBoolean>;
252
+ }, z.core.$strip>>;
253
+ wsi: z.ZodOptional<z.ZodObject<{
254
+ verbose: z.ZodOptional<z.ZodBoolean>;
255
+ profile: z.ZodOptional<z.ZodLiteral<"BP1.1">>;
256
+ }, z.core.$strip>>;
257
+ rest: z.ZodOptional<z.ZodObject<{
258
+ followRedirects: z.ZodOptional<z.ZodBoolean>;
259
+ maxRedirects: z.ZodOptional<z.ZodNumber>;
260
+ prettyPrintMaxBytes: z.ZodOptional<z.ZodNumber>;
261
+ defaultAccept: z.ZodOptional<z.ZodString>;
262
+ oauth2CallbackPort: z.ZodOptional<z.ZodNumber>;
263
+ }, z.core.$strip>>;
264
+ editor: z.ZodOptional<z.ZodObject<{
265
+ fontFamily: z.ZodOptional<z.ZodString>;
266
+ fontSize: z.ZodOptional<z.ZodNumber>;
267
+ tabSize: z.ZodOptional<z.ZodNumber>;
268
+ lineNumbers: z.ZodOptional<z.ZodBoolean>;
269
+ wordWrap: z.ZodOptional<z.ZodBoolean>;
270
+ autoValidateOnSend: z.ZodOptional<z.ZodBoolean>;
271
+ autoFormatResponses: z.ZodOptional<z.ZodBoolean>;
272
+ autosave: z.ZodOptional<z.ZodBoolean>;
273
+ }, z.core.$strip>>;
274
+ ui: z.ZodOptional<z.ZodObject<{
275
+ theme: z.ZodOptional<z.ZodEnum<{
276
+ system: "system";
277
+ dark: "dark";
278
+ light: "light";
279
+ }>>;
280
+ defaultLayout: z.ZodOptional<z.ZodObject<{
281
+ orientation: z.ZodOptional<z.ZodEnum<{
282
+ "side-by-side": "side-by-side";
283
+ stacked: "stacked";
284
+ }>>;
285
+ mode: z.ZodOptional<z.ZodEnum<{
286
+ split: "split";
287
+ tabs: "tabs";
288
+ }>>;
289
+ }, z.core.$strip>>;
290
+ confirmOnDelete: z.ZodOptional<z.ZodBoolean>;
291
+ historyCap: z.ZodOptional<z.ZodNumber>;
292
+ logSize: z.ZodOptional<z.ZodNumber>;
293
+ }, z.core.$strip>>;
294
+ updates: z.ZodOptional<z.ZodObject<{
295
+ checkOnLaunch: z.ZodOptional<z.ZodBoolean>;
296
+ }, z.core.$strip>>;
297
+ shortcuts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
298
+ }, z.core.$strip>;
299
+ /** A partial preferences document, as accepted by {@link mergePreferences}. */
300
+ export type PreferencesPatch = z.infer<typeof preferencesSchema>;
301
+ /**
302
+ * Deep-merges `patch` onto `base` (default {@link DEFAULT_PREFERENCES}), one level per
303
+ * section. Unknown keys are ignored (the schema strips them), `undefined` values leave the
304
+ * base value alone, and `trustAll` is pinned to `false` regardless of what a file claims.
305
+ *
306
+ * Each top-level section is parsed independently, so a bad field in (say) `wsdl` only loses
307
+ * `wsdl` — every other section of the same patch still applies. Parsing the whole document in
308
+ * one shot would instead discard the entire patch the moment any single field anywhere in it
309
+ * failed to validate, which is worse than doing nothing with the parts that were fine.
310
+ *
311
+ * @param patch a parsed (or raw) partial preferences document
312
+ * @param base the preferences to merge onto; defaults to the built-in defaults
313
+ */
314
+ export declare function mergePreferences(patch: unknown, base?: Preferences): Preferences;
315
+ /** The section names a "Reset section" action addresses. */
316
+ export type PreferencesSection = keyof Preferences;
317
+ /** Restores one section (or, with no section, everything) to {@link DEFAULT_PREFERENCES}. */
318
+ export declare function resetPreferences(current: Preferences, section?: PreferencesSection): Preferences;
@@ -0,0 +1,239 @@
1
+ /**
2
+ * The application's global preferences: the settings that live with the *user*, not with a
3
+ * project, and are persisted by the desktop app in `userData/preferences.yaml`.
4
+ *
5
+ * Everything here is deliberately plain data — the engine never reads a file for it. The
6
+ * desktop's `PreferencesService` loads/merges/persists a document; the engine consumes the
7
+ * merged object (see `send-options.ts`).
8
+ *
9
+ * Some sections are persisted and shown before they are wired to behaviour: `proxy` and `ssl`
10
+ * become effective with the connection settings task.
11
+ * They are modelled now so a preferences file written today survives those tasks unchanged.
12
+ */
13
+ import { z } from 'zod';
14
+ /** The smallest HTTP Log row limit a user can set. */
15
+ export const LOG_SIZE_MIN = 100;
16
+ /** The largest HTTP Log row limit a user can set. */
17
+ export const LOG_SIZE_MAX = 5000;
18
+ function clampLogSize(value) {
19
+ return Math.min(LOG_SIZE_MAX, Math.max(LOG_SIZE_MIN, Math.round(value)));
20
+ }
21
+ /** The preferences a first run gets. */
22
+ export const DEFAULT_PREFERENCES = Object.freeze({
23
+ http: Object.freeze({
24
+ version: '1.1',
25
+ userAgent: 'Wirebench/0.1',
26
+ requestCompression: 'none',
27
+ responseCompression: true,
28
+ closeConnections: false,
29
+ chunkingThreshold: 0,
30
+ socketTimeoutMs: 60_000,
31
+ maxConnections: 100,
32
+ allowH2: false,
33
+ }),
34
+ proxy: Object.freeze({ mode: 'none', excludes: Object.freeze([]) }),
35
+ ssl: Object.freeze({ minVersion: 'TLSv1.2', trustAll: false }),
36
+ git: Object.freeze({}),
37
+ wsdl: Object.freeze({
38
+ cacheDefinitions: true,
39
+ prettyPrint: true,
40
+ sampleValues: false,
41
+ typeComments: false,
42
+ includeOptional: true,
43
+ strictSchema: false,
44
+ compression: false,
45
+ nameWithBinding: false,
46
+ }),
47
+ wsi: Object.freeze({ verbose: false, profile: 'BP1.1' }),
48
+ rest: Object.freeze({
49
+ followRedirects: true,
50
+ maxRedirects: 5,
51
+ prettyPrintMaxBytes: 5 * 1024 * 1024,
52
+ defaultAccept: '',
53
+ }),
54
+ editor: Object.freeze({
55
+ fontSize: 13,
56
+ tabSize: 3,
57
+ lineNumbers: true,
58
+ wordWrap: false,
59
+ autoValidateOnSend: false,
60
+ autoFormatResponses: true,
61
+ autosave: false,
62
+ }),
63
+ ui: Object.freeze({
64
+ theme: 'dark',
65
+ defaultLayout: Object.freeze({ orientation: 'side-by-side', mode: 'split' }),
66
+ confirmOnDelete: true,
67
+ historyCap: 1000,
68
+ logSize: 500,
69
+ }),
70
+ updates: Object.freeze({ checkOnLaunch: false }),
71
+ shortcuts: Object.freeze({}),
72
+ });
73
+ /**
74
+ * The persisted document shape. Deliberately loose: every section and every field is optional
75
+ * and unknown keys are stripped, so a file written by a newer build (or hand-edited badly)
76
+ * still loads — {@link mergePreferences} fills the gaps from {@link DEFAULT_PREFERENCES}.
77
+ */
78
+ export const preferencesSchema = z.object({
79
+ version: z.literal(1).optional(),
80
+ http: z
81
+ .object({
82
+ version: z.literal('1.1').optional(),
83
+ userAgent: z.string().optional(),
84
+ requestCompression: z.enum(['none', 'gzip']).optional(),
85
+ responseCompression: z.boolean().optional(),
86
+ closeConnections: z.boolean().optional(),
87
+ chunkingThreshold: z.number().optional(),
88
+ socketTimeoutMs: z.number().optional(),
89
+ maxConnections: z.number().optional(),
90
+ allowH2: z.boolean().optional(),
91
+ })
92
+ .optional(),
93
+ proxy: z
94
+ .object({
95
+ mode: z.enum(['none', 'system', 'manual']).optional(),
96
+ host: z.string().optional(),
97
+ port: z.number().optional(),
98
+ username: z.string().optional(),
99
+ passwordRef: z.string().optional(),
100
+ excludes: z.array(z.string()).optional(),
101
+ })
102
+ .optional(),
103
+ ssl: z
104
+ .object({
105
+ minVersion: z.enum(['TLSv1.2', 'TLSv1.3']).optional(),
106
+ caBundlePath: z.string().optional(),
107
+ caBundlePickedByMain: z.boolean().optional(),
108
+ clientKeystoreRef: z.string().optional(),
109
+ })
110
+ .optional(),
111
+ git: z.object({ path: z.string().optional(), pathPickedByMain: z.boolean().optional() }).optional(),
112
+ wsdl: z
113
+ .object({
114
+ cacheDefinitions: z.boolean().optional(),
115
+ prettyPrint: z.boolean().optional(),
116
+ sampleValues: z.boolean().optional(),
117
+ typeComments: z.boolean().optional(),
118
+ includeOptional: z.boolean().optional(),
119
+ strictSchema: z.boolean().optional(),
120
+ compression: z.boolean().optional(),
121
+ nameWithBinding: z.boolean().optional(),
122
+ })
123
+ .optional(),
124
+ wsi: z.object({ verbose: z.boolean().optional(), profile: z.literal('BP1.1').optional() }).optional(),
125
+ rest: z
126
+ .object({
127
+ followRedirects: z.boolean().optional(),
128
+ maxRedirects: z.number().int().nonnegative().optional(),
129
+ prettyPrintMaxBytes: z.number().int().positive().optional(),
130
+ defaultAccept: z.string().optional(),
131
+ oauth2CallbackPort: z.number().int().min(1024).max(65_535).optional(),
132
+ })
133
+ .optional(),
134
+ editor: z
135
+ .object({
136
+ fontFamily: z.string().optional(),
137
+ fontSize: z.number().optional(),
138
+ tabSize: z.number().optional(),
139
+ lineNumbers: z.boolean().optional(),
140
+ wordWrap: z.boolean().optional(),
141
+ autoValidateOnSend: z.boolean().optional(),
142
+ autoFormatResponses: z.boolean().optional(),
143
+ autosave: z.boolean().optional(),
144
+ })
145
+ .optional(),
146
+ ui: z
147
+ .object({
148
+ theme: z.enum(['dark', 'light', 'system']).optional(),
149
+ defaultLayout: z
150
+ .object({
151
+ orientation: z.enum(['side-by-side', 'stacked']).optional(),
152
+ mode: z.enum(['split', 'tabs']).optional(),
153
+ })
154
+ .optional(),
155
+ confirmOnDelete: z.boolean().optional(),
156
+ historyCap: z.number().optional(),
157
+ logSize: z.number().finite().optional(),
158
+ })
159
+ .optional(),
160
+ updates: z.object({ checkOnLaunch: z.boolean().optional() }).optional(),
161
+ shortcuts: z.record(z.string(), z.string()).optional(),
162
+ });
163
+ /** Drops every `undefined` value so a patch never overwrites a default with nothing. */
164
+ function defined(value) {
165
+ const out = {};
166
+ for (const [key, entry] of Object.entries(value ?? {})) {
167
+ if (entry !== undefined) {
168
+ out[key] = entry;
169
+ }
170
+ }
171
+ return out;
172
+ }
173
+ /**
174
+ * Overlays the defined fields of `patch` onto `base`. The cast is sound because the schema has
175
+ * already validated every value it let through, and TypeScript cannot express "the same keys,
176
+ * each optional but never `undefined`" for a spread under `exactOptionalPropertyTypes`.
177
+ */
178
+ function mergeSection(base, patch) {
179
+ return { ...base, ...defined(patch) };
180
+ }
181
+ /** Parses one top-level section's raw value against its own schema; `undefined` on any failure. */
182
+ function parseSection(schema, raw) {
183
+ const parsed = schema.safeParse(raw);
184
+ return parsed.success ? parsed.data : undefined;
185
+ }
186
+ /**
187
+ * Deep-merges `patch` onto `base` (default {@link DEFAULT_PREFERENCES}), one level per
188
+ * section. Unknown keys are ignored (the schema strips them), `undefined` values leave the
189
+ * base value alone, and `trustAll` is pinned to `false` regardless of what a file claims.
190
+ *
191
+ * Each top-level section is parsed independently, so a bad field in (say) `wsdl` only loses
192
+ * `wsdl` — every other section of the same patch still applies. Parsing the whole document in
193
+ * one shot would instead discard the entire patch the moment any single field anywhere in it
194
+ * failed to validate, which is worse than doing nothing with the parts that were fine.
195
+ *
196
+ * @param patch a parsed (or raw) partial preferences document
197
+ * @param base the preferences to merge onto; defaults to the built-in defaults
198
+ */
199
+ export function mergePreferences(patch, base = DEFAULT_PREFERENCES) {
200
+ const root = typeof patch === 'object' && patch !== null ? patch : {};
201
+ const shape = preferencesSchema.shape;
202
+ const value = {
203
+ http: parseSection(shape.http, root['http']),
204
+ proxy: parseSection(shape.proxy, root['proxy']),
205
+ ssl: parseSection(shape.ssl, root['ssl']),
206
+ git: parseSection(shape.git, root['git']),
207
+ wsdl: parseSection(shape.wsdl, root['wsdl']),
208
+ wsi: parseSection(shape.wsi, root['wsi']),
209
+ rest: parseSection(shape.rest, root['rest']),
210
+ editor: parseSection(shape.editor, root['editor']),
211
+ ui: parseSection(shape.ui, root['ui']),
212
+ updates: parseSection(shape.updates, root['updates']),
213
+ shortcuts: parseSection(shape.shortcuts, root['shortcuts']),
214
+ };
215
+ return {
216
+ http: mergeSection(base.http, value.http),
217
+ proxy: mergeSection(base.proxy, value.proxy),
218
+ ssl: { ...mergeSection(base.ssl, value.ssl), trustAll: false },
219
+ git: mergeSection(base.git, value.git),
220
+ wsdl: mergeSection(base.wsdl, value.wsdl),
221
+ wsi: mergeSection(base.wsi, value.wsi),
222
+ rest: mergeSection(base.rest, value.rest),
223
+ editor: mergeSection(base.editor, value.editor),
224
+ ui: {
225
+ ...mergeSection(base.ui, value.ui),
226
+ logSize: clampLogSize(value.ui?.logSize ?? base.ui.logSize),
227
+ defaultLayout: mergeSection(base.ui.defaultLayout, value.ui?.defaultLayout),
228
+ },
229
+ updates: mergeSection(base.updates, value.updates),
230
+ shortcuts: { ...base.shortcuts, ...(value.shortcuts ?? {}) },
231
+ };
232
+ }
233
+ /** Restores one section (or, with no section, everything) to {@link DEFAULT_PREFERENCES}. */
234
+ export function resetPreferences(current, section) {
235
+ if (section === undefined) {
236
+ return DEFAULT_PREFERENCES;
237
+ }
238
+ return { ...current, [section]: DEFAULT_PREFERENCES[section] };
239
+ }
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Property expansion over the `${#Project#name}`, `${#Env#name}`,
3
+ * `${#Workspace#name}`, `${#Global#name}` and `${#System#name}` syntax, plus
4
+ * the shorthand `${name}` which resolves through the scope chain
5
+ * Env -> Project -> Workspace -> Global (System is never implicit). Values
6
+ * are themselves expanded recursively (cycle-safe, depth limited);
7
+ * unresolved expressions are left verbatim in the output and reported via
8
+ * `unresolved`.
9
+ *
10
+ * Pure module: no I/O beyond reading the `scopes.system` map the caller
11
+ * passes in (default `process.env`).
12
+ */
13
+ import type { PropertyMap } from './model.js';
14
+ import type { SoapSendInput } from '../types.js';
15
+ /** The property lookup scopes available to {@link expand}. */
16
+ export interface PropertyScopes {
17
+ readonly project: PropertyMap;
18
+ readonly env?: PropertyMap;
19
+ /** Workspace-level properties, when expanding within a workspace. */
20
+ readonly workspace?: PropertyMap;
21
+ /**
22
+ * Global properties. Unlike the other scopes, globals have no `disabledProperties` list of
23
+ * their own in this package (they are not part of `Project`/`Workspace`) — a caller that wants
24
+ * disabled globals excluded from resolution must filter this map itself (with
25
+ * {@link enabledProperties}, say) before passing it in.
26
+ */
27
+ readonly global: PropertyMap;
28
+ /** Defaults to `process.env` when omitted. */
29
+ readonly system?: Readonly<Record<string, string | undefined>>;
30
+ }
31
+ /**
32
+ * Filters `map` down to the entries not listed in `disabled`, preserving the map's key order.
33
+ * Used to make property resolution treat a disabled property as absent (its value stays on disk,
34
+ * see `Environment.disabledProperties`) without mutating the stored map itself.
35
+ */
36
+ export declare function enabledProperties(map: PropertyMap, disabled: readonly string[]): PropertyMap;
37
+ /** One `${...}` expression that could not be resolved, with offsets into the original text. */
38
+ export interface UnresolvedRef {
39
+ /**
40
+ * The `${...}` expression text (or the unterminated `${` for a `malformed` ref). When this
41
+ * ref was found while expanding a property's VALUE (see `via`), this is the inner expression
42
+ * text, not the outer reference the user typed — use `start`/`end` for the user-visible span.
43
+ */
44
+ readonly expr: string;
45
+ readonly scope?: string;
46
+ readonly name?: string;
47
+ readonly code: 'missing' | 'unknown-scope' | 'cycle' | 'too-deep' | 'malformed';
48
+ /**
49
+ * Offsets into the original text of the *outermost* `${...}` reference the user can see. When
50
+ * this ref was discovered while recursively expanding a property's value (not the original
51
+ * text directly), these are the outer reference's offsets, not offsets into that value string.
52
+ */
53
+ readonly start: number;
54
+ readonly end: number;
55
+ /**
56
+ * The chain of `scope#name` properties traversed to reach this ref, outermost first. Present
57
+ * only when this ref was found while expanding a property's value (i.e. it is nested at least
58
+ * one level below the outer reference at `start`/`end`).
59
+ */
60
+ readonly via?: readonly string[];
61
+ }
62
+ /** The result of expanding a string: the expanded text plus any problems and properties used. */
63
+ export interface ExpandResult {
64
+ readonly text: string;
65
+ readonly unresolved: readonly UnresolvedRef[];
66
+ readonly used: readonly {
67
+ scope: string;
68
+ name: string;
69
+ }[];
70
+ }
71
+ /** Options accepted by {@link expand} and {@link expandSendInput}. */
72
+ export interface ExpandOptions {
73
+ readonly maxDepth?: number;
74
+ /**
75
+ * XML-escape every substituted value ("Entitize Properties"). Off by default; the
76
+ * send path turns it on only for the envelope, never for headers or the endpoint.
77
+ */
78
+ readonly entitize?: boolean;
79
+ }
80
+ /** Expands every `${...}` property reference in `text` against `scopes`. */
81
+ export declare function expand(text: string, scopes: PropertyScopes, options?: ExpandOptions): ExpandResult;
82
+ /** True when `text` contains at least one (non-escaped) `${` sequence. */
83
+ export declare function hasExpansions(text: string): boolean;
84
+ /**
85
+ * Expands the endpoint, envelope, soap action, and every header name/value of a
86
+ * {@link SoapSendInput}. Header *names* are expanded too, so two headers whose names expand to
87
+ * the same string collapse into one entry (last-write-wins, per `Object.entries` insertion
88
+ * order — same as any other JS object key collision).
89
+ *
90
+ * Attachments are expanded as well, in the two places a property can reasonably appear: the
91
+ * display/file name that ends up in `Content-Disposition`, and the path of a file-backed
92
+ * attachment. Content-IDs are left alone — they are generated, not authored.
93
+ */
94
+ export declare function expandSendInput(input: SoapSendInput, scopes: PropertyScopes, options?: ExpandOptions): {
95
+ input: SoapSendInput;
96
+ unresolved: UnresolvedRef[];
97
+ };