@wirebench/engine 2.2.1 → 3.1.0-rc.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 (566) hide show
  1. package/README.md +134 -1
  2. package/dist/account/schema.d.ts +34 -0
  3. package/dist/account/schema.js +29 -0
  4. package/dist/assert/callback.d.ts +76 -0
  5. package/dist/assert/callback.js +320 -0
  6. package/dist/assert/capture-source.d.ts +50 -0
  7. package/dist/assert/capture-source.js +89 -0
  8. package/dist/assert/check.d.ts +8 -0
  9. package/dist/assert/check.js +18 -0
  10. package/dist/assert/header.d.ts +5 -0
  11. package/dist/assert/header.js +48 -0
  12. package/dist/assert/index.d.ts +2 -2
  13. package/dist/assert/index.js +12 -0
  14. package/dist/assert/match.d.ts +6 -0
  15. package/dist/assert/match.js +13 -4
  16. package/dist/assert/model.d.ts +110 -3
  17. package/dist/assert/model.js +16 -1
  18. package/dist/assert/schema.d.ts +194 -1
  19. package/dist/assert/schema.js +154 -12
  20. package/dist/assert/status-names.d.ts +9 -0
  21. package/dist/assert/status-names.js +27 -0
  22. package/dist/assert/status.d.ts +4 -1
  23. package/dist/assert/status.js +27 -3
  24. package/dist/asyncapi/browser.d.ts +7 -0
  25. package/dist/asyncapi/browser.js +6 -0
  26. package/dist/asyncapi/frame-check-worker-host.d.ts +44 -0
  27. package/dist/asyncapi/frame-check-worker-host.js +175 -0
  28. package/dist/asyncapi/frame-check-worker.d.ts +12 -0
  29. package/dist/asyncapi/frame-check-worker.js +25 -0
  30. package/dist/asyncapi/frame-check.d.ts +25 -0
  31. package/dist/asyncapi/frame-check.js +78 -0
  32. package/dist/asyncapi/import.d.ts +25 -0
  33. package/dist/asyncapi/import.js +34 -0
  34. package/dist/asyncapi/map.d.ts +40 -0
  35. package/dist/asyncapi/map.js +230 -0
  36. package/dist/asyncapi/model.d.ts +84 -0
  37. package/dist/asyncapi/model.js +7 -0
  38. package/dist/asyncapi/normalise-2.d.ts +13 -0
  39. package/dist/asyncapi/normalise-2.js +113 -0
  40. package/dist/asyncapi/normalise-3.d.ts +14 -0
  41. package/dist/asyncapi/normalise-3.js +133 -0
  42. package/dist/asyncapi/parse.d.ts +31 -0
  43. package/dist/asyncapi/parse.js +85 -0
  44. package/dist/asyncapi/read.d.ts +35 -0
  45. package/dist/asyncapi/read.js +186 -0
  46. package/dist/asyncapi/security.d.ts +14 -0
  47. package/dist/asyncapi/security.js +55 -0
  48. package/dist/asyncapi/update.d.ts +53 -0
  49. package/dist/asyncapi/update.js +220 -0
  50. package/dist/errors.d.ts +16 -0
  51. package/dist/errors.js +22 -0
  52. package/dist/grpc/events.d.ts +22 -0
  53. package/dist/grpc/events.js +1 -0
  54. package/dist/grpc/expand.d.ts +1 -1
  55. package/dist/grpc/expand.js +15 -5
  56. package/dist/grpc/files.d.ts +271 -0
  57. package/dist/grpc/files.js +62 -0
  58. package/dist/grpc/model.d.ts +11 -1
  59. package/dist/grpc/module.d.ts +2 -0
  60. package/dist/grpc/module.js +13 -0
  61. package/dist/grpc/run.d.ts +73 -0
  62. package/dist/grpc/run.js +407 -0
  63. package/dist/grpc/script-types.d.ts +8 -0
  64. package/dist/grpc/script-types.js +149 -0
  65. package/dist/grpc/scripting.d.ts +34 -0
  66. package/dist/grpc/scripting.js +147 -0
  67. package/dist/grpc/send-input.d.ts +46 -0
  68. package/dist/grpc/send-input.js +42 -0
  69. package/dist/grpc/send.d.ts +2 -2
  70. package/dist/grpc/status.d.ts +9 -2
  71. package/dist/grpc/status.js +11 -24
  72. package/dist/grpc/storage.d.ts +9 -0
  73. package/dist/grpc/storage.js +167 -0
  74. package/dist/{rest/auth.d.ts → http/auth/apply-auth.d.ts} +4 -4
  75. package/dist/{rest/auth.js → http/auth/apply-auth.js} +1 -1
  76. package/dist/http/auth/apply.d.ts +1 -1
  77. package/dist/{rest → http/auth}/oauth2.d.ts +2 -2
  78. package/dist/{rest → http/auth}/oauth2.js +1 -1
  79. package/dist/http/auth/send-auth.d.ts +57 -0
  80. package/dist/http/auth/send-auth.js +7 -0
  81. package/dist/http/client.js +150 -8
  82. package/dist/http/cookies.d.ts +79 -0
  83. package/dist/http/cookies.js +81 -0
  84. package/dist/http/curl.d.ts +4 -14
  85. package/dist/http/curl.js +4 -154
  86. package/dist/http/decompress.d.ts +7 -0
  87. package/dist/http/decompress.js +23 -1
  88. package/dist/http/document-fetch.d.ts +42 -0
  89. package/dist/http/document-fetch.js +207 -0
  90. package/dist/http/entries.d.ts +27 -0
  91. package/dist/http/entries.js +16 -0
  92. package/dist/http/escape.d.ts +18 -0
  93. package/dist/http/escape.js +30 -0
  94. package/dist/http/fetch-document.d.ts +28 -0
  95. package/dist/{wsdl/fetch.js → http/fetch-document.js} +8 -16
  96. package/dist/http/media-type.d.ts +9 -0
  97. package/dist/http/media-type.js +12 -0
  98. package/dist/http/transcript-cap.d.ts +26 -0
  99. package/dist/http/transcript-cap.js +36 -0
  100. package/dist/http/types.d.ts +59 -0
  101. package/dist/http/webhook-signature.d.ts +81 -0
  102. package/dist/http/webhook-signature.js +227 -0
  103. package/dist/import-detect.d.ts +2 -2
  104. package/dist/import-detect.js +10 -1
  105. package/dist/index.d.ts +207 -55
  106. package/dist/index.js +129 -32
  107. package/dist/json/cursor.d.ts +2 -0
  108. package/dist/json/cursor.js +1 -0
  109. package/dist/json/pointer-range.d.ts +18 -0
  110. package/dist/json/pointer-range.js +157 -0
  111. package/dist/json/schema/model.d.ts +59 -0
  112. package/dist/json/schema/model.js +8 -0
  113. package/dist/json/schema/parse-text.d.ts +16 -0
  114. package/dist/json/schema/parse-text.js +37 -0
  115. package/dist/{rest/openapi → json/schema}/refs.d.ts +2 -2
  116. package/dist/{rest/openapi → json/schema}/refs.js +3 -3
  117. package/dist/{rest/openapi → json/schema}/sample.d.ts +4 -0
  118. package/dist/{rest/openapi → json/schema}/sample.js +2 -2
  119. package/dist/json/schema/source.d.ts +21 -0
  120. package/dist/json/schema/source.js +8 -0
  121. package/dist/json/schema-validate.d.ts +49 -0
  122. package/dist/json/schema-validate.js +557 -0
  123. package/dist/{wss/keystore → keystore}/index.js +1 -1
  124. package/dist/{wss/keystore → keystore}/pem.js +1 -1
  125. package/dist/{wss/keystore → keystore}/pkcs12.js +1 -1
  126. package/dist/project/attachments-cache.d.ts +3 -1
  127. package/dist/{wsdl → project}/cache-naming.js +1 -1
  128. package/dist/project/endpoints.d.ts +18 -8
  129. package/dist/project/endpoints.js +21 -6
  130. package/dist/project/environments.d.ts +7 -5
  131. package/dist/project/history.d.ts +105 -9
  132. package/dist/project/history.js +195 -23
  133. package/dist/project/inherit.d.ts +7 -0
  134. package/dist/project/inherit.js +9 -0
  135. package/dist/project/keystores.d.ts +1 -1
  136. package/dist/project/load-helpers.d.ts +89 -0
  137. package/dist/project/load-helpers.js +177 -0
  138. package/dist/project/load.d.ts +30 -4
  139. package/dist/project/load.js +168 -545
  140. package/dist/project/managed-files.d.ts +36 -0
  141. package/dist/project/managed-files.js +97 -0
  142. package/dist/project/migrate.d.ts +2 -2
  143. package/dist/project/migrate.js +2 -2
  144. package/dist/project/model.d.ts +92 -14
  145. package/dist/project/model.js +50 -4
  146. package/dist/project/paths.d.ts +10 -1
  147. package/dist/project/paths.js +10 -1
  148. package/dist/project/preferences.d.ts +11 -2
  149. package/dist/project/preferences.js +5 -1
  150. package/dist/project/properties.d.ts +31 -17
  151. package/dist/project/properties.js +89 -70
  152. package/dist/project/request-location.d.ts +20 -0
  153. package/dist/project/request-location.js +62 -0
  154. package/dist/project/save.d.ts +12 -2
  155. package/dist/project/save.js +186 -141
  156. package/dist/project/schema-parts.d.ts +337 -0
  157. package/dist/project/schema-parts.js +248 -0
  158. package/dist/project/schema.d.ts +72 -928
  159. package/dist/project/schema.js +17 -466
  160. package/dist/project/sequence-guards.d.ts +43 -0
  161. package/dist/project/sequence-guards.js +109 -0
  162. package/dist/project/serialize-helpers.d.ts +60 -0
  163. package/dist/project/serialize-helpers.js +108 -0
  164. package/dist/project/serialize.d.ts +7 -8
  165. package/dist/project/serialize.js +34 -293
  166. package/dist/protocol/features.d.ts +51 -0
  167. package/dist/protocol/features.js +64 -0
  168. package/dist/protocol/index.d.ts +7 -0
  169. package/dist/protocol/index.js +4 -0
  170. package/dist/protocol/module.d.ts +247 -0
  171. package/dist/protocol/module.js +48 -0
  172. package/dist/protocol/registry.d.ts +42 -0
  173. package/dist/protocol/registry.js +47 -0
  174. package/dist/protocols.d.ts +77 -0
  175. package/dist/protocols.js +40 -0
  176. package/dist/redact/index.d.ts +12 -1
  177. package/dist/redact/index.js +55 -7
  178. package/dist/redact/literal.d.ts +10 -0
  179. package/dist/redact/literal.js +110 -12
  180. package/dist/rest/body.d.ts +2 -10
  181. package/dist/rest/body.js +3 -25
  182. package/dist/rest/browser.d.ts +4 -0
  183. package/dist/rest/browser.js +5 -0
  184. package/dist/rest/contract-check-worker-host.d.ts +36 -0
  185. package/dist/rest/contract-check-worker-host.js +158 -0
  186. package/dist/rest/contract-check-worker.d.ts +7 -0
  187. package/dist/rest/contract-check-worker.js +28 -0
  188. package/dist/rest/contract-check.d.ts +43 -0
  189. package/dist/rest/contract-check.js +217 -0
  190. package/dist/rest/cookie-jar.d.ts +62 -0
  191. package/dist/rest/cookie-jar.js +262 -0
  192. package/dist/rest/cookies.d.ts +6 -22
  193. package/dist/rest/cookies.js +6 -42
  194. package/dist/rest/curl.js +5 -1
  195. package/dist/rest/events.d.ts +12 -0
  196. package/dist/rest/events.js +1 -0
  197. package/dist/rest/expand.d.ts +6 -1
  198. package/dist/rest/expand.js +29 -11
  199. package/dist/rest/files.d.ts +439 -0
  200. package/dist/rest/files.js +107 -0
  201. package/dist/rest/json-form.d.ts +97 -0
  202. package/dist/rest/json-form.js +396 -0
  203. package/dist/rest/model.d.ts +35 -24
  204. package/dist/rest/model.js +6 -9
  205. package/dist/rest/module.d.ts +2 -0
  206. package/dist/rest/module.js +13 -0
  207. package/dist/rest/openapi/cache.d.ts +7 -2
  208. package/dist/rest/openapi/cache.js +2 -2
  209. package/dist/rest/openapi/import.d.ts +11 -16
  210. package/dist/rest/openapi/import.js +6 -2
  211. package/dist/rest/openapi/map.d.ts +38 -1
  212. package/dist/rest/openapi/map.js +151 -41
  213. package/dist/rest/openapi/match.d.ts +20 -0
  214. package/dist/rest/openapi/match.js +117 -0
  215. package/dist/rest/openapi/model.d.ts +33 -45
  216. package/dist/rest/openapi/parse.d.ts +3 -12
  217. package/dist/rest/openapi/parse.js +138 -67
  218. package/dist/rest/openapi/responses.d.ts +23 -0
  219. package/dist/rest/openapi/responses.js +59 -0
  220. package/dist/rest/openapi/runtime-expression.d.ts +69 -0
  221. package/dist/rest/openapi/runtime-expression.js +213 -0
  222. package/dist/rest/openapi/update.d.ts +116 -0
  223. package/dist/rest/openapi/update.js +456 -0
  224. package/dist/rest/postman/map.d.ts +1 -0
  225. package/dist/rest/postman/map.js +66 -4
  226. package/dist/rest/postman/model.d.ts +9 -0
  227. package/dist/rest/postman/parse.js +33 -10
  228. package/dist/rest/response.d.ts +2 -23
  229. package/dist/rest/response.js +3 -75
  230. package/dist/rest/run.d.ts +56 -0
  231. package/dist/rest/run.js +395 -0
  232. package/dist/rest/script-types.d.ts +7 -0
  233. package/dist/rest/script-types.js +83 -0
  234. package/dist/rest/scripting.d.ts +38 -0
  235. package/dist/rest/scripting.js +282 -0
  236. package/dist/rest/send-input.d.ts +54 -0
  237. package/dist/rest/send-input.js +73 -0
  238. package/dist/rest/send.d.ts +77 -4
  239. package/dist/rest/send.js +128 -7
  240. package/dist/rest/sse-transcript.d.ts +25 -0
  241. package/dist/rest/sse-transcript.js +95 -0
  242. package/dist/rest/sse.d.ts +43 -0
  243. package/dist/rest/sse.js +195 -0
  244. package/dist/rest/storage.d.ts +26 -0
  245. package/dist/rest/storage.js +262 -0
  246. package/dist/rest/url.d.ts +10 -4
  247. package/dist/rest/url.js +38 -5
  248. package/dist/run/baseline-update.d.ts +35 -0
  249. package/dist/run/baseline-update.js +97 -0
  250. package/dist/run/baseline.d.ts +42 -0
  251. package/dist/run/baseline.js +93 -0
  252. package/dist/run/context.d.ts +86 -0
  253. package/dist/run/context.js +31 -0
  254. package/dist/run/current-values.d.ts +32 -0
  255. package/dist/run/current-values.js +43 -0
  256. package/dist/run/event-queue.d.ts +14 -0
  257. package/dist/run/event-queue.js +46 -0
  258. package/dist/run/exchange.d.ts +62 -0
  259. package/dist/run/exchange.js +65 -0
  260. package/dist/run/host.d.ts +89 -0
  261. package/dist/run/host.js +1 -0
  262. package/dist/run/index.d.ts +20 -7
  263. package/dist/run/index.js +12 -4
  264. package/dist/run/oauth2-token.d.ts +42 -0
  265. package/dist/run/oauth2-token.js +92 -0
  266. package/dist/run/open.d.ts +12 -0
  267. package/dist/run/open.js +16 -0
  268. package/dist/run/run.d.ts +124 -4
  269. package/dist/run/run.js +293 -134
  270. package/dist/run/scope.d.ts +11 -0
  271. package/dist/run/scope.js +26 -0
  272. package/dist/run/script-support.d.ts +53 -0
  273. package/dist/run/script-support.js +68 -0
  274. package/dist/run/secret-needs.d.ts +11 -4
  275. package/dist/run/secret-needs.js +48 -96
  276. package/dist/run/select.d.ts +34 -25
  277. package/dist/run/select.js +45 -54
  278. package/dist/run/send-helpers.d.ts +93 -0
  279. package/dist/run/send-helpers.js +255 -0
  280. package/dist/run/tree.d.ts +50 -0
  281. package/dist/run/tree.js +54 -0
  282. package/dist/script/api/postman.d.ts +10 -0
  283. package/dist/script/api/postman.js +264 -0
  284. package/dist/script/api/prelude.d.ts +20 -0
  285. package/dist/script/api/prelude.js +215 -0
  286. package/dist/script/apply.d.ts +44 -0
  287. package/dist/script/apply.js +120 -0
  288. package/dist/script/check/host.d.ts +41 -0
  289. package/dist/script/check/host.js +143 -0
  290. package/dist/script/check/service.d.ts +52 -0
  291. package/dist/script/check/service.js +195 -0
  292. package/dist/script/check/worker.d.ts +1 -0
  293. package/dist/script/check/worker.js +40 -0
  294. package/dist/script/index.d.ts +16 -0
  295. package/dist/script/index.js +10 -0
  296. package/dist/script/lookup.d.ts +10 -0
  297. package/dist/script/lookup.js +23 -0
  298. package/dist/script/model.d.ts +82 -0
  299. package/dist/script/model.js +18 -0
  300. package/dist/script/props.d.ts +8 -0
  301. package/dist/script/props.js +28 -0
  302. package/dist/script/request-scripts.d.ts +83 -0
  303. package/dist/script/request-scripts.js +160 -0
  304. package/dist/script/run.d.ts +47 -0
  305. package/dist/script/run.js +146 -0
  306. package/dist/script/sandbox/execute.d.ts +26 -0
  307. package/dist/script/sandbox/execute.js +212 -0
  308. package/dist/script/sandbox/host-api.d.ts +27 -0
  309. package/dist/script/sandbox/host-api.js +101 -0
  310. package/dist/script/sandbox/host.d.ts +18 -0
  311. package/dist/script/sandbox/host.js +172 -0
  312. package/dist/script/sandbox/model.d.ts +69 -0
  313. package/dist/script/sandbox/model.js +24 -0
  314. package/dist/script/sandbox/worker.d.ts +1 -0
  315. package/dist/script/sandbox/worker.js +20 -0
  316. package/dist/script/send.d.ts +27 -0
  317. package/dist/script/send.js +76 -0
  318. package/dist/script/strip.d.ts +5 -0
  319. package/dist/script/strip.js +43 -0
  320. package/dist/script/types/api.d.ts +38 -0
  321. package/dist/script/types/api.js +113 -0
  322. package/dist/script/types/json-schema.d.ts +26 -0
  323. package/dist/script/types/json-schema.js +206 -0
  324. package/dist/secrets/env-names.d.ts +9 -1
  325. package/dist/secrets/env-names.js +17 -1
  326. package/dist/secrets/resolve.d.ts +44 -4
  327. package/dist/secrets/resolve.js +58 -1
  328. package/dist/secrets/scan/apply.d.ts +36 -0
  329. package/dist/secrets/scan/apply.js +194 -0
  330. package/dist/secrets/scan/rules.d.ts +32 -0
  331. package/dist/secrets/scan/rules.js +346 -0
  332. package/dist/secrets/scan/scan.d.ts +6 -0
  333. package/dist/secrets/scan/scan.js +57 -0
  334. package/dist/secrets/scan/walk.d.ts +70 -0
  335. package/dist/secrets/scan/walk.js +156 -0
  336. package/dist/secrets/secret-refs.d.ts +8 -0
  337. package/dist/secrets/secret-refs.js +25 -0
  338. package/dist/secrets/secret-token.d.ts +17 -0
  339. package/dist/secrets/secret-token.js +25 -0
  340. package/dist/sequence/file.d.ts +169 -0
  341. package/dist/sequence/file.js +237 -0
  342. package/dist/sequence/index.d.ts +7 -0
  343. package/dist/sequence/index.js +5 -0
  344. package/dist/sequence/load.d.ts +32 -0
  345. package/dist/sequence/load.js +56 -0
  346. package/dist/sequence/model.d.ts +115 -0
  347. package/dist/sequence/model.js +53 -0
  348. package/dist/sequence/run.d.ts +131 -0
  349. package/dist/sequence/run.js +191 -0
  350. package/dist/sequence/transfer.d.ts +24 -0
  351. package/dist/sequence/transfer.js +75 -0
  352. package/dist/server-api/audit.d.ts +455 -0
  353. package/dist/server-api/audit.js +186 -0
  354. package/dist/server-api/ci-tokens.d.ts +50 -0
  355. package/dist/server-api/ci-tokens.js +35 -0
  356. package/dist/server-api/hooks.d.ts +337 -0
  357. package/dist/server-api/hooks.js +152 -0
  358. package/dist/server-api/identity.d.ts +210 -0
  359. package/dist/server-api/identity.js +115 -0
  360. package/dist/server-api/licensing.d.ts +80 -0
  361. package/dist/server-api/licensing.js +53 -0
  362. package/dist/server-api/live.d.ts +132 -0
  363. package/dist/server-api/live.js +102 -0
  364. package/dist/server-api/meta.d.ts +31 -0
  365. package/dist/server-api/meta.js +21 -0
  366. package/dist/server-api/sync.d.ts +179 -0
  367. package/dist/server-api/sync.js +124 -0
  368. package/dist/server-api/teams.d.ts +306 -0
  369. package/dist/server-api/teams.js +113 -0
  370. package/dist/snapshot/diff.d.ts +30 -0
  371. package/dist/snapshot/diff.js +75 -0
  372. package/dist/snapshot/format.d.ts +17 -0
  373. package/dist/snapshot/format.js +40 -0
  374. package/dist/snapshot/golden-file.d.ts +45 -0
  375. package/dist/snapshot/golden-file.js +173 -0
  376. package/dist/snapshot/ignore.d.ts +14 -0
  377. package/dist/snapshot/ignore.js +79 -0
  378. package/dist/snapshot/index.d.ts +9 -0
  379. package/dist/snapshot/index.js +9 -0
  380. package/dist/snapshot/json-diff.d.ts +3 -0
  381. package/dist/snapshot/json-diff.js +93 -0
  382. package/dist/snapshot/xml-diff.d.ts +10 -0
  383. package/dist/snapshot/xml-diff.js +194 -0
  384. package/dist/soap/auth.d.ts +26 -0
  385. package/dist/soap/auth.js +54 -0
  386. package/dist/soap/curl.d.ts +20 -0
  387. package/dist/soap/curl.js +161 -0
  388. package/dist/soap/expand.d.ts +24 -0
  389. package/dist/soap/expand.js +95 -0
  390. package/dist/soap/files.d.ts +384 -0
  391. package/dist/soap/files.js +114 -0
  392. package/dist/soap/form-request.d.ts +13 -0
  393. package/dist/soap/form-request.js +2 -2
  394. package/dist/soap/generate.d.ts +12 -0
  395. package/dist/{generate.js → soap/generate.js} +4 -4
  396. package/dist/{import.d.ts → soap/import.d.ts} +4 -4
  397. package/dist/{import.js → soap/import.js} +13 -13
  398. package/dist/soap/json-operation.d.ts +35 -0
  399. package/dist/soap/json-operation.js +225 -0
  400. package/dist/soap/legacy-project/env-refs.d.ts +19 -0
  401. package/dist/soap/legacy-project/env-refs.js +105 -0
  402. package/dist/soap/legacy-project/map.d.ts +2 -2
  403. package/dist/soap/legacy-project/map.js +6 -0
  404. package/dist/soap/mime/multipart.d.ts +2 -2
  405. package/dist/soap/mime/multipart.js +2 -5
  406. package/dist/soap/mime/send-pipeline.d.ts +1 -1
  407. package/dist/soap/mime/send-pipeline.js +1 -1
  408. package/dist/soap/mime/types.d.ts +1 -3
  409. package/dist/soap/module.d.ts +2 -0
  410. package/dist/soap/module.js +13 -0
  411. package/dist/soap/namespace-scope.js +1 -1
  412. package/dist/soap/operations.d.ts +12 -0
  413. package/dist/{operations.js → soap/operations.js} +4 -4
  414. package/dist/soap/run.d.ts +70 -0
  415. package/dist/soap/run.js +549 -0
  416. package/dist/soap/script-types.d.ts +65 -0
  417. package/dist/soap/script-types.js +379 -0
  418. package/dist/soap/scripting.d.ts +45 -0
  419. package/dist/soap/scripting.js +221 -0
  420. package/dist/soap/send-input.d.ts +61 -0
  421. package/dist/{send-options.js → soap/send-input.js} +5 -109
  422. package/dist/{send.d.ts → soap/send.d.ts} +1 -1
  423. package/dist/{send.js → soap/send.js} +28 -12
  424. package/dist/soap/storage.d.ts +9 -0
  425. package/dist/soap/storage.js +237 -0
  426. package/dist/soap/transforms.d.ts +3 -12
  427. package/dist/soap/transforms.js +3 -14
  428. package/dist/{types.d.ts → soap/types.d.ts} +34 -84
  429. package/dist/sync/git-cli.d.ts +202 -0
  430. package/dist/sync/git-cli.js +684 -0
  431. package/dist/sync/three-way-merge.d.ts +41 -0
  432. package/dist/sync/three-way-merge.js +85 -0
  433. package/dist/sync/tree-paths.d.ts +34 -0
  434. package/dist/sync/tree-paths.js +131 -0
  435. package/dist/team-secrets/envelope.d.ts +10 -0
  436. package/dist/team-secrets/envelope.js +121 -0
  437. package/dist/team-secrets/errors.d.ts +26 -0
  438. package/dist/team-secrets/errors.js +27 -0
  439. package/dist/team-secrets/index.d.ts +14 -0
  440. package/dist/team-secrets/index.js +8 -0
  441. package/dist/team-secrets/keys.d.ts +52 -0
  442. package/dist/team-secrets/keys.js +158 -0
  443. package/dist/team-secrets/log.d.ts +48 -0
  444. package/dist/team-secrets/log.js +175 -0
  445. package/dist/team-secrets/resolve-conflict.d.ts +7 -0
  446. package/dist/team-secrets/resolve-conflict.js +14 -0
  447. package/dist/team-secrets/schema.d.ts +97 -0
  448. package/dist/team-secrets/schema.js +157 -0
  449. package/dist/team-secrets/sign.d.ts +24 -0
  450. package/dist/team-secrets/sign.js +71 -0
  451. package/dist/team-secrets/vault.d.ts +49 -0
  452. package/dist/team-secrets/vault.js +148 -0
  453. package/dist/validate/wsi/run-message.d.ts +2 -2
  454. package/dist/validate/wsi/run-message.js +1 -1
  455. package/dist/validate/wsi/run-wsdl.d.ts +2 -2
  456. package/dist/validate/wsi/run-wsdl.js +1 -1
  457. package/dist/validate/wsi/types.d.ts +1 -1
  458. package/dist/webhooks/model.d.ts +138 -0
  459. package/dist/webhooks/model.js +150 -0
  460. package/dist/workspace/commit-message.d.ts +1 -1
  461. package/dist/workspace/commit-message.js +6 -1
  462. package/dist/workspace/environments.d.ts +11 -4
  463. package/dist/workspace/environments.js +12 -0
  464. package/dist/workspace/index.d.ts +3 -3
  465. package/dist/workspace/index.js +2 -2
  466. package/dist/workspace/paths.d.ts +5 -2
  467. package/dist/workspace/paths.js +5 -2
  468. package/dist/workspace/schema.d.ts +7 -3
  469. package/dist/workspace/schema.js +24 -3
  470. package/dist/workspace/share.d.ts +30 -11
  471. package/dist/workspace/share.js +32 -6
  472. package/dist/ws/call.d.ts +1 -1
  473. package/dist/ws/call.js +2 -2
  474. package/dist/ws/connect.d.ts +60 -0
  475. package/dist/ws/connect.js +131 -0
  476. package/dist/ws/events.d.ts +17 -0
  477. package/dist/ws/events.js +1 -0
  478. package/dist/ws/expand.d.ts +1 -1
  479. package/dist/ws/expand.js +1 -1
  480. package/dist/ws/files.d.ts +284 -0
  481. package/dist/ws/files.js +71 -0
  482. package/dist/ws/history-entry.d.ts +44 -0
  483. package/dist/ws/history-entry.js +93 -0
  484. package/dist/ws/model.d.ts +44 -3
  485. package/dist/ws/model.js +3 -0
  486. package/dist/ws/module.d.ts +2 -0
  487. package/dist/ws/module.js +11 -0
  488. package/dist/ws/run.d.ts +63 -0
  489. package/dist/ws/run.js +470 -0
  490. package/dist/ws/session.d.ts +18 -0
  491. package/dist/ws/session.js +52 -25
  492. package/dist/ws/storage.d.ts +9 -0
  493. package/dist/ws/storage.js +176 -0
  494. package/dist/ws/transcript.d.ts +3 -4
  495. package/dist/ws/transcript.js +26 -17
  496. package/dist/ws/url.d.ts +1 -1
  497. package/dist/wsdl/cache.js +1 -1
  498. package/dist/wsdl/docs-generator.d.ts +3 -3
  499. package/dist/wsdl/docs-generator.js +1 -1
  500. package/dist/wsdl/export-definition.js +1 -1
  501. package/dist/wsdl/qname.d.ts +2 -5
  502. package/dist/wsdl/resolver.d.ts +4 -11
  503. package/dist/wsdl/resolver.js +3 -3
  504. package/dist/wsdl/update-definition.d.ts +5 -5
  505. package/dist/wsdl/update-definition.js +6 -6
  506. package/dist/wss/apply.js +1 -1
  507. package/dist/{project/wss-configs.d.ts → wss/configs.d.ts} +2 -2
  508. package/dist/{project/wss-configs.js → wss/configs.js} +2 -2
  509. package/dist/wss/incoming/decrypt.d.ts +1 -1
  510. package/dist/wss/incoming/index.js +1 -1
  511. package/dist/wss/incoming/verify.d.ts +1 -1
  512. package/dist/wss/incoming/verify.js +1 -1
  513. package/dist/wss/key-identifiers.js +1 -1
  514. package/dist/wss/model.d.ts +1 -1
  515. package/dist/wss/outgoing/encryption.d.ts +1 -1
  516. package/dist/wss/outgoing/signature.d.ts +1 -1
  517. package/dist/xml/decode.d.ts +15 -0
  518. package/dist/xml/decode.js +22 -0
  519. package/dist/xml/entitize.d.ts +17 -0
  520. package/dist/xml/entitize.js +19 -0
  521. package/dist/xml/index.d.ts +1 -1
  522. package/dist/xml/index.js +1 -1
  523. package/dist/xml/locate.d.ts +39 -0
  524. package/dist/xml/locate.js +117 -0
  525. package/dist/xml/qname.d.ts +12 -0
  526. package/dist/xml/qname.js +8 -0
  527. package/dist/xpath/evaluate-async.d.ts +19 -0
  528. package/dist/xpath/evaluate-async.js +31 -11
  529. package/dist/xpath/evaluate.d.ts +1 -1
  530. package/dist/xpath/namespaces.js +1 -1
  531. package/dist/xpath/worker.d.ts +11 -5
  532. package/dist/xpath/worker.js +24 -7
  533. package/dist/xsd/form-model.d.ts +19 -2
  534. package/dist/xsd/form-model.js +14 -2
  535. package/dist/xsd/json-bridge.d.ts +152 -0
  536. package/dist/xsd/json-bridge.js +1213 -0
  537. package/dist/xsd/locate.d.ts +2 -30
  538. package/dist/xsd/locate.js +1 -109
  539. package/dist/xsd/xml-scan.d.ts +2 -0
  540. package/dist/xsd/xml-scan.js +1 -1
  541. package/dist/xsd/xml-writer.d.ts +2 -0
  542. package/dist/xsd/xml-writer.js +4 -0
  543. package/package.json +12 -1
  544. package/dist/generate.d.ts +0 -12
  545. package/dist/operations.d.ts +0 -12
  546. package/dist/run/effective-auth.d.ts +0 -10
  547. package/dist/run/effective-auth.js +0 -19
  548. package/dist/run/prepare.d.ts +0 -43
  549. package/dist/run/prepare.js +0 -280
  550. package/dist/send-options.d.ts +0 -141
  551. package/dist/wsdl/fetch.d.ts +0 -13
  552. /package/dist/{soap → http}/charset.d.ts +0 -0
  553. /package/dist/{soap → http}/charset.js +0 -0
  554. /package/dist/{wsdl → http}/ref-policy.d.ts +0 -0
  555. /package/dist/{wsdl → http}/ref-policy.js +0 -0
  556. /package/dist/{wss/keystore → keystore}/certificate.d.ts +0 -0
  557. /package/dist/{wss/keystore → keystore}/certificate.js +0 -0
  558. /package/dist/{wss/keystore → keystore}/index.d.ts +0 -0
  559. /package/dist/{wss/keystore → keystore}/model.d.ts +0 -0
  560. /package/dist/{wss/keystore → keystore}/model.js +0 -0
  561. /package/dist/{wss/keystore → keystore}/pem.d.ts +0 -0
  562. /package/dist/{wss/keystore → keystore}/pkcs12.d.ts +0 -0
  563. /package/dist/{wsdl → project}/cache-naming.d.ts +0 -0
  564. /package/dist/{types.js → soap/types.js} +0 -0
  565. /package/dist/{soap → xml}/prefixes.d.ts +0 -0
  566. /package/dist/{soap → xml}/prefixes.js +0 -0
package/dist/index.js CHANGED
@@ -1,22 +1,57 @@
1
1
  export { evaluateAssertions } from './assert/index.js';
2
- export { assertionsSchema } from './assert/schema.js';
2
+ export { checkRequestAssertions } from './assert/check.js';
3
+ export { CALLBACK_LIMITS, callbackLabel } from './assert/model.js';
4
+ export { assertionsSchema, callbackAssertionSchema, stepAssertionsSchema, toCallbackAssertion, } from './assert/schema.js';
5
+ export { FIRST_CAPTURE_CURSOR, captureDetailView, captureSourceOver, captureSummaryView, unavailableCaptureSource, } from './assert/capture-source.js';
6
+ export { NO_CAPTURE_SOURCE_MESSAGE, awaitCallbacks, expandCallback, isCallbackAssertion, prepareCallbacks, realCallbackClock, seconds, sendAwaitingCallbacks, waitingOf, } from './assert/callback.js';
3
7
  export * from './run/index.js';
4
- export { WirebenchError, WsdlParseError, SchemaError, HttpError, WsaError, WssError, ProjectError, ValidationError, WorkspaceError, OpenApiError, PostmanError, LegacyProjectError, ProtoError, GrpcError, WsError, isWirebenchError, } from './errors.js';
8
+ // Protocol modules, the registry and features (ADR-0017). Exported for the engine's own hosts and
9
+ // tagged `@internal` where they are declared: they are not yet a plugin API.
10
+ export { createFeatureSet } from './protocol/features.js';
11
+ export { defineProtocol } from './protocol/module.js';
12
+ export { createProtocolRegistry } from './protocol/registry.js';
13
+ export { BUILTIN_PROTOCOLS, createBuiltinRegistry } from './protocols.js';
14
+ export { extraContainersOf, unsupportedOf } from './project/model.js';
15
+ // What three core files re-exported until 3.0, from the module that declares it.
16
+ export { soapResponseSubject } from './soap/run.js';
17
+ // The SOAP run facet's item and its effective credentials, for a host that sends one SOAP item itself.
18
+ export { soapEffectiveAuth, soapItemFor } from './soap/run.js';
19
+ export { restSubject } from './rest/run.js';
20
+ // The REST run facet and its effective credentials, for a host that sends one REST item itself.
21
+ export { restEffectiveAuth, restItemFor, restRun } from './rest/run.js';
22
+ export { grpcSubject } from './grpc/run.js';
23
+ // The gRPC run facet's item and its effective credentials, for a host that sends one gRPC item itself.
24
+ export { grpcEffectiveAuth, grpcItemFor } from './grpc/run.js';
25
+ // The WebSocket run facet's item and its effective credentials, for a host that opens one itself.
26
+ export { wsEffectiveAuth, wsItemFor, wsSubject } from './ws/run.js';
27
+ // One WebSocket session as History records it, for every host that writes History.
28
+ export { buildWsHistoryEntry, redactWsExchange } from './ws/history-entry.js';
29
+ export { applySoapSnapshot, soapRequestSnapshot, soapResponseSnapshot } from './soap/scripting.js';
30
+ export { projectSoapBody, qnameFromClark, replaceSoapBody, soapOperationElements, soapScriptTypes, } from './soap/script-types.js';
31
+ export { applyRestSnapshot, restRequestSnapshot, restResponseSnapshot } from './rest/scripting.js';
32
+ export { restOperationFor, restScriptTypes } from './rest/script-types.js';
33
+ export { applyGrpcSnapshot, grpcRequestSnapshot, grpcResponseSnapshot } from './grpc/scripting.js';
34
+ export { grpcMessageTypes, grpcScriptTypes } from './grpc/script-types.js';
35
+ export { interfaceFileSchema, requestFileSchema } from './soap/files.js';
36
+ export { apiFileSchema, restBodySchema, restRequestFileSchema } from './rest/files.js';
37
+ export { grpcApiFileSchema, grpcMethodKindSchema, grpcRequestFileSchema } from './grpc/files.js';
38
+ export { WirebenchError, WsdlParseError, SchemaError, HttpError, WsaError, WssError, ProjectError, ValidationError, SequenceError, WorkspaceError, OpenApiError, AsyncApiError, PostmanError, LegacyProjectError, ProtoError, GrpcError, WsError, isWirebenchError, } from './errors.js';
5
39
  export { parseXml, parseXmlDetailed, getPosition, classifyParseEvent } from './xml/parse.js';
6
40
  export { serializeXml } from './xml/serialize.js';
7
41
  export { NS, PREFIX } from './xml/namespaces.js';
8
42
  export { LineIndex } from './xml/positions.js';
9
43
  export { evaluate, evaluateJson } from './xpath/evaluate.js';
10
44
  export { evaluateJsonPath } from './xpath/jsonpath.js';
11
- export { evaluateWithTimeout } from './xpath/evaluate-async.js';
45
+ export { evaluateWithTimeout, matchRegexWithTimeout } from './xpath/evaluate-async.js';
12
46
  export { collectNamespaces, suggestPrefixes } from './xpath/namespaces.js';
13
47
  export { parseQName, qnameEquals, qnameToString } from './wsdl/qname.js';
14
48
  export { findBinding, findMessage, findPortType, findService } from './wsdl/model.js';
15
49
  export { parseWsdl, parseWsdlDocument } from './wsdl/parse-wsdl.js';
16
50
  export { parseWsdlBundle } from './wsdl/merge.js';
17
51
  export { resolveDefinition } from './wsdl/resolver.js';
18
- export { createDefaultFetchDocument } from './wsdl/fetch.js';
19
- export { assignFileNames } from './wsdl/cache-naming.js';
52
+ export { createDefaultFetchDocument } from './http/fetch-document.js';
53
+ export { createHttpFetchDocument } from './http/document-fetch.js';
54
+ export { assignFileNames } from './project/cache-naming.js';
20
55
  export { createCachedFetchDocument, readDefinitionCache, writeDefinitionCache } from './wsdl/cache.js';
21
56
  export { exportDefinition } from './wsdl/export-definition.js';
22
57
  export { generateDocs } from './wsdl/docs-generator.js';
@@ -29,15 +64,18 @@ export { PLACEHOLDER, facetsOf, sampleValueFor, typeCommentFor } from './xsd/sam
29
64
  export { scanXml } from './xsd/xml-scan.js';
30
65
  export { applyForm, buildForm, buildFormForType } from './xsd/form-model.js';
31
66
  export { applyFormEdit } from './xsd/form-edits.js';
67
+ export { createJsonSchemaWriter, jsonFromXml, jsonSchemaOf, lexical, MAX_FILL_ROUNDS, MAX_PROPERTY_DESCRIPTION, xmlFromJson, } from './xsd/json-bridge.js';
32
68
  export { createEnvelope, detectEnvelopeVersion, envelopeNamespace, SOAP_ENVELOPE_PREFIX } from './soap/envelope.js';
33
- export { prefixForNamespace, RESERVED_PREFIXES } from './soap/prefixes.js';
69
+ export { prefixForNamespace, RESERVED_PREFIXES } from './xml/prefixes.js';
34
70
  export { NamespaceScope } from './soap/namespace-scope.js';
35
71
  export { soapActionHeaders } from './soap/soap-action.js';
36
72
  export { buildEmptyRequest, buildSampleRequest } from './soap/request-builder.js';
37
73
  export { buildRequestForm } from './soap/form-request.js';
74
+ export { envelopeFromJson, faultDetailJson, jsonFromEnvelope, operationJsonSchema } from './soap/json-operation.js';
38
75
  export { isSoapFault, parseFault } from './soap/fault.js';
39
76
  export { recreateRequest } from './soap/recreate.js';
40
- export { fromCurl, soapToCurl, toCurl } from './http/curl.js';
77
+ export { toCurl } from './http/curl.js';
78
+ export { fromCurl, soapToCurl } from './soap/curl.js';
41
79
  export { parseSoapResponse } from './soap/response-parser.js';
42
80
  export { DEFAULT_ROOT_CONTENT_ID, buildMultipartRelated, mediaTypeOf, mimeParameter, parseMultipartRelated, stripContentId, } from './soap/mime/multipart.js';
43
81
  export { XOP_NS, expandMtomResponse, prepareMtomRequest, xopContentType } from './soap/mime/mtom.js';
@@ -53,51 +91,80 @@ export { FAILED_REQUEST_BODY_CAP_BYTES, failedRequestOf } from './http/failed-re
53
91
  export { buildRawRequest, buildRawResponse } from './http/raw-capture.js';
54
92
  export { isExcluded, parseSystemProxy, resolveProxyFor } from './http/proxy.js';
55
93
  export { captureSslInfo, splitPemBundle } from './http/tls.js';
56
- export { importDefinition } from './import.js';
57
- export { sendSoapRequest } from './send.js';
58
- export { generateEmptyRequest, generateRequest } from './generate.js';
59
- export { summarizeOperations } from './operations.js';
60
- export { DEFAULT_OAUTH2_AUTH, DEFAULT_PROJECT_SETTINGS, DEFAULT_REQUEST_PROPERTIES, FORMAT_VERSION, createInterface, createProject, createRequest, defaultContentId, generateId, } from './project/model.js';
94
+ export { importWsdl } from './soap/import.js';
95
+ export { sendSoapRequest } from './soap/send.js';
96
+ export { generateEmptySoapRequest, generateSoapRequest } from './soap/generate.js';
97
+ export { summarizeSoapOperations } from './soap/operations.js';
98
+ export { DEFAULT_OAUTH2_AUTH, DEFAULT_PROJECT_SETTINGS, DEFAULT_REQUEST_PROPERTIES, FORMAT_VERSION, createInterface, createProject, createRequest, defaultContentId, generateId, takenContainerSlugs, } from './project/model.js';
61
99
  export { COMMON_METHODS, NO_BODY, RAW_LANGUAGE_CONTENT_TYPES, RAW_LANGUAGE_EXTENSIONS, apiFolders, apiRequests, createApi, createFolder, createRestRequest, entry, folderRequests, } from './rest/model.js';
100
+ export { DEFAULT_WEBHOOK_TARGET, WEBHOOKS_COLLECTION_PREFIX, WEBHOOK_TARGET_PROPERTY, assertWebhookTarget, createWebhookCollection, createWebhookFolder, effectiveSigning, effectiveTarget, findWebhookRequest, hookKey, signingAlong, signingSecretMissing, signingSecretRef, signingSourceLabel, webhookFolders, webhookPath, webhookRequests, } from './webhooks/model.js';
101
+ export { DEFAULT_SIGNATURE_TOLERANCE_SEC, SIGNATURE_FAILURES, isCanonicalBase64, signWebhook, signatureHeaderNames, signatureSchemeSchema, toSignatureScheme, verifyWebhook, } from './http/webhook-signature.js';
62
102
  export { bodyLanguage, encodeFormFields, encodeRestBody, escapeForLanguage, rawContentType } from './rest/body.js';
63
- export { applyAuth, missingSecretRef, resolveAuthChain, resolveAuthChainIndex } from './rest/auth.js';
64
- export { cookieHeader, cookiesToSend, defaultPath, domainMatches, isExpired, pathMatches } from './rest/cookies.js';
103
+ export { applyAuth, missingSecretRef, resolveAuthChain, resolveAuthChainIndex } from './http/auth/apply-auth.js';
104
+ export { applySoapAuth } from './soap/auth.js';
105
+ export { cookieHeader, defaultPath, domainMatches, isExpired, pathMatches } from './rest/cookies.js';
106
+ export { CookieJar, cookiesToSend, jarCookieHost, MAX_COOKIE_BYTES, MAX_COOKIES, MAX_COOKIES_PER_DOMAIN, mergeCookieHeader, } from './rest/cookie-jar.js';
65
107
  export { decodeResponseText, detectLanguage, parseSetCookie, prettyBody } from './rest/response.js';
66
- export { TOKEN_REFRESH_MARGIN_MS, authorizationUrl, buildTokenRequest, needsRefresh, newState, parseTokenResponse, pkce, } from './rest/oauth2.js';
108
+ export { TOKEN_REFRESH_MARGIN_MS, authorizationUrl, buildTokenRequest, needsRefresh, newState, parseTokenResponse, pkce, } from './http/auth/oauth2.js';
67
109
  export { fromRestCurl, restToCurl, CURL_REDACTED } from './rest/curl.js';
68
110
  export { expandRestSendInput } from './rest/expand.js';
69
111
  export { decodeRestResponse, sendRest } from './rest/send.js';
112
+ export { createSseParser, eventStreamDocument, isEventStream, serializeEventStream } from './rest/sse.js';
113
+ export { capSseRows, createSseRowStore, SSE_HISTORY_LIMITS, SSE_SUMMARY_LIMITS } from './rest/sse-transcript.js';
70
114
  export { composeUrl, encodeValue, joinBase, joinQuery, parseUrlParams, splitQuery } from './rest/url.js';
71
115
  // OpenAPI: reading a description into the model an import maps onto an API.
116
+ export { parseAsyncApi } from './asyncapi/parse.js';
117
+ export { mapAsyncApi } from './asyncapi/map.js';
118
+ export { authFromScheme as asyncApiAuthFromScheme } from './asyncapi/security.js';
119
+ export { importAsyncApi } from './asyncapi/import.js';
120
+ export { applyAsyncApiUpdate, planAsyncApiUpdate } from './asyncapi/update.js';
121
+ export { channelMessages as asyncApiChannelMessages, checkFrame as checkAsyncApiFrame, createFrameChecker, DEFAULT_FRAME_CHECK_BUDGET_MS, MAX_CHECKED_FRAME_BYTES, } from './asyncapi/frame-check.js';
122
+ export { createWorkerFrameChecker, DEFAULT_FRAME_CHECK_DEADLINE_MS, DEFAULT_FRAME_CHECK_QUEUE, DEFAULT_FRAME_CHECK_QUEUE_BYTES, } from './asyncapi/frame-check-worker-host.js';
72
123
  export { importOpenApi, parseOpenApi } from './rest/openapi/import.js';
73
- export { apiFromDocument, authFromScheme, mapScheme } from './rest/openapi/map.js';
124
+ export { loadOpenApiDocument } from './rest/script-types.js';
125
+ export { apiFromDocument, authFromScheme, mapScheme, webhookItemsOf, webhookSourcesOf, webhooksFromDocument, } from './rest/openapi/map.js';
74
126
  export { createCachedApiFetch, readApiDefinitionCache, writeApiDefinitionCache } from './rest/openapi/cache.js';
75
127
  export { parseDocumentText, parseOpenApiDocument, parseSchema, versionOf } from './rest/openapi/parse.js';
76
- export { resolvePointer, resolveRefs, unescapePointerToken, MAX_REF_DEPTH } from './rest/openapi/refs.js';
77
- export { sampleFromSchema, sampleXml, MAX_SAMPLE_DEPTH } from './rest/openapi/sample.js';
128
+ export { selectResponse } from './rest/openapi/responses.js';
129
+ export { applyRestUpdate, applyWebhookUpdate, planRestUpdate, planWebhookUpdate, sameStructure, } from './rest/openapi/update.js';
130
+ export { matchOperation } from './rest/openapi/match.js';
131
+ export { evaluateRuntimeTemplate, parseRuntimeExpression, parseRuntimeTemplate, resolveJsonPointer, } from './rest/openapi/runtime-expression.js';
132
+ export { checkRestResponse, DEFAULT_REST_CHECK_BUDGET_MS, MAX_CHECKED_BODY_BYTES, MAX_CONTRACT_MESSAGE_LENGTH, MAX_CONTRACT_PROBLEMS, } from './rest/contract-check.js';
133
+ export { createRestContractChecker, DEFAULT_REST_CHECK_DEADLINE_MS, DEFAULT_REST_CHECK_QUEUE, } from './rest/contract-check-worker-host.js';
134
+ export { pointerRange } from './json/pointer-range.js';
135
+ export { resolvePointer, resolveRefs, unescapePointerToken, MAX_REF_DEPTH } from './json/schema/refs.js';
136
+ export { sampleFromSchema, sampleXml, MAX_SAMPLE_DEPTH } from './json/schema/sample.js';
137
+ export { validateJsonSchema } from './json/schema-validate.js';
138
+ export { applyJsonFormEdit, buildJsonForm, toWireSchema } from './rest/json-form.js';
78
139
  export { serverUrl, HTTP_METHODS } from './rest/openapi/model.js';
79
140
  // Postman: importing Postman Collection v2.0 and v2.1 exports into REST APIs.
80
141
  export { apiFromPostmanCollection, importPostmanCollection, isPostmanCollection, normalizePostmanPath, parsePostmanCollection, parsePostmanCollectionText, translatePostmanVariables, } from './rest/postman/index.js';
81
142
  // Legacy SOAP projects: reading the single-XML project files of older SOAP workbenches.
82
143
  export { definitionRootOf, fetchDocumentFromCache, formatLegacyImportReport, IMPORTED_SCRIPTS_DIR, looksLikeLegacyProject, mapLegacyProject, MAX_LEGACY_PROJECT_BYTES, parseLegacyProject, readLegacySoapProject, resolvedOperationsOf, } from './soap/legacy-project/index.js';
83
- export { API_FILE, APIS_DIR, ATTACHMENTS_DIR, ENVIRONMENTS_DIR, FOLDER_FILE, INTERFACES_DIR, MAX_FOLDER_DEPTH, OPERATIONS_DIR, REQUEST_SUFFIX, REQUESTS_DIR, WSS_DIR, apiDefinitionDir, apiDir, apiFile, definitionCacheDir, definitionDir, environmentFile, interfaceDir, interfaceFile, keystoresFile, manifestFile, operationDir, requestFiles, restBodyFileName, restFolderDir, restFolderFile, restRequestFile, slugify, uniqueSlug, wssFile, } from './project/paths.js';
84
- export { apiFileSchema, assertSupportedKind, attachmentSourceSchema, authConfigSchema, definitionCacheManifestSchema, environmentFileSchema, keyValueEntrySchema, interfaceFileSchema, keystoreEntrySchema, keystoresFileSchema, manifestSchema, parseFile, requestFileSchema, restBodySchema, apiDefinitionCacheManifestSchema, restFolderFileSchema, restRequestFileSchema, grpcApiFileSchema, grpcRequestFileSchema, grpcMethodKindSchema, protoDefinitionCacheManifestSchema, apiKindOf, wssIncomingFileSchema, wssEntrySchema, wssOutgoingFileSchema, } from './project/schema.js';
144
+ export { API_FILE, APIS_DIR, ATTACHMENTS_DIR, ENVIRONMENTS_DIR, FOLDER_FILE, INTERFACES_DIR, MAX_FOLDER_DEPTH, OPERATIONS_DIR, REQUEST_SUFFIX, REQUESTS_DIR, WSS_DIR, apiDefinitionDir, apiDir, apiFile, definitionCacheDir, definitionDir, environmentFile, interfaceDir, interfaceFile, keystoresFile, manifestFile, operationDir, requestFiles, restBodyFileName, restFolderDir, restFolderFile, restRequestFile, slugify, uniqueSlug, WEBHOOKS_DIR, WEBHOOKS_FILE, wssFile, } from './project/paths.js';
145
+ export { attachmentSourceSchema, authConfigSchema, definitionAuthSchema, definitionCacheManifestSchema, environmentFileSchema, keyValueEntrySchema, soapOwnerAuthSchema, keystoreEntrySchema, keystoresFileSchema, manifestSchema, parseFile, apiDefinitionCacheManifestSchema, restFolderFileSchema, protoDefinitionCacheManifestSchema, hookLinkSchema, webhookFolderFileSchema, webhooksFileSchema, wssIncomingFileSchema, wssEntrySchema, wssOutgoingFileSchema, } from './project/schema.js';
85
146
  export { DEFAULT_PREFERENCES, LOG_SIZE_MAX, LOG_SIZE_MIN, mergePreferences, preferencesSchema, resetPreferences, } from './project/preferences.js';
86
- export { toGrpcSendInput, toRestSendInput, toSendInput } from './send-options.js';
147
+ export { toSoapSendInput } from './soap/send-input.js';
148
+ export { toRestSendInput } from './rest/send-input.js';
149
+ export { toGrpcSendInput } from './grpc/send-input.js';
87
150
  export { entitizeValue, prettyPrint, removeEmptyContent, stripWhitespaces } from './soap/transforms.js';
88
151
  export { jsonCompletionContextAt } from './json/cursor.js';
89
152
  export { formatXml } from './xml/pretty.js';
90
153
  export { migrate } from './project/migrate.js';
91
154
  export { KEYSTORES_PATH, MANIFEST_PATH, authDocument, projectFiles } from './project/serialize.js';
155
+ export { requestFileLocation } from './project/request-location.js';
156
+ export { BASELINE_MAX_BYTES, checkBaseline } from './run/baseline.js';
157
+ export { readGoldenFile, writeGoldenFile } from './snapshot/golden-file.js';
92
158
  export { loadProject } from './project/load.js';
93
159
  export { saveProject } from './project/save.js';
94
160
  export { attachmentFile, attachmentsDir, attachmentsIndexFile, createFileAttachmentResolver, listAttachments, pruneAttachments, putAttachment, readAttachment, } from './project/attachments-cache.js';
95
161
  export { nodeFs, writeFileAtomic } from './project/fs.js';
96
- export { appendHistory, generateHistoryId, historyWsOf, normalizeHistoryEntry, openHistory, } from './project/history.js';
97
- export { enabledProperties, expand, expandSendInput, hasExpansions } from './project/properties.js';
98
- export { effectiveAuth } from './project/endpoints.js';
162
+ export { appendHistory, generateHistoryId, historyContractOf, historySseOf, historyWsOf, normalizeHistoryEntry, openHistory, } from './project/history.js';
163
+ export { enabledProperties, expand, hasExpansions, secretNamesIn } from './project/properties.js';
164
+ export { expandSendInput } from './soap/expand.js';
165
+ export { effectiveAuth, isEndpointAuth } from './project/endpoints.js';
99
166
  export { toKeystoreDef, toKeystoreRef } from './project/keystores.js';
100
- export { toWssIncomingConfig, toWssIncomingRef, toWssOutgoingConfig, toWssOutgoingRef } from './project/wss-configs.js';
167
+ export { toWssIncomingConfig, toWssIncomingRef, toWssOutgoingConfig, toWssOutgoingRef } from './wss/configs.js';
101
168
  // ---------------------------------------------------------------------------
102
169
  // WS-Addressing (Task 41)
103
170
  // ---------------------------------------------------------------------------
@@ -114,17 +181,17 @@ export { decryptIncoming } from './wss/incoming/decrypt.js';
114
181
  export { verifyIncoming } from './wss/incoming/verify.js';
115
182
  export { decryptEnvelope, encryptEnvelope } from './wss/outgoing/encryption.js';
116
183
  export { buildKeyIdentifier, certificateBase64, certificateDer, issuerDnRfc2253, pkiPathBase64, serialNumberDecimal, subjectKeyIdentifierBase64, thumbprintSha1Base64, WSS_TOKEN_TYPES, } from './wss/key-identifiers.js';
117
- export { keystoreTypeForPath, loadKeystore, loadPem, loadPkcs12, selectAlias, toTlsClientIdentity, } from './wss/keystore/index.js';
184
+ export { keystoreTypeForPath, loadKeystore, loadPem, loadPkcs12, selectAlias, toTlsClientIdentity, } from './keystore/index.js';
118
185
  export { findEnvironment, removeEnvironment, resolveApiBaseUrl, resolveAuthEndpoint, resolveEndpoint, resolveScopes, upsertEnvironment, } from './project/environments.js';
119
186
  // Workspace
120
- export { WORKSPACE_FORMAT_VERSION, assertPathSegment, WORKSPACES_DIR, WORKSPACE_ENVIRONMENTS_DIR, WORKSPACE_MANIFEST, WORKSPACE_PROJECTS_DIR, WORKSPACE_STATE_FILE, WORKSPACE_TREE_DIR, WORKSPACE_JOINING_DIR, GIT_ATTRIBUTES_FILE, GIT_ATTRIBUTES, WORKSPACE_LOCAL_FILE, EMPTY_LOCAL_STATE, WORKSPACE_SHARE_FILE, DEFAULT_GIT_SHARE_SETTINGS, commitMessage, createWorkspace, createWorkspaceEnvironment, deleteShare, describeTreePath, linkedEnvironment, loadLocalState, loadShare, loadWorkspace, migrateWorkspace, parseWorkspaceFile, reidentifyProject, resolveWorkspaceApiBaseUrl, resolveWorkspaceEndpoint, resolveWorkspaceScopes, saveLocalState, saveShare, saveWorkspace, workspaceDir, workspaceEnvironmentFile, workspaceEnvironmentFileSchema, workspaceFiles, workspaceLocalStateSchema, workspaceManifestFile, workspaceManifestSchema, workspaceProjectDir, workspaceProjectRefSchema, workspaceShareSchema, workspaceTreeDir, } from './workspace/index.js';
187
+ export { WORKSPACE_FORMAT_VERSION, assertPathSegment, WORKSPACES_DIR, WORKSPACE_ENVIRONMENTS_DIR, WORKSPACE_MANIFEST, WORKSPACE_PROJECTS_DIR, WORKSPACE_STATE_FILE, WORKSPACE_TREE_DIR, WORKSPACE_JOINING_DIR, GIT_ATTRIBUTES_FILE, GIT_ATTRIBUTES, TEAM_SECRETS_DIR, WORKSPACE_LOCAL_FILE, EMPTY_LOCAL_STATE, WORKSPACE_SHARE_FILE, DEFAULT_GIT_SHARE_SETTINGS, DEFAULT_SYNC_SETTINGS, commitMessage, createWorkspace, createWorkspaceEnvironment, deleteShare, describeTreePath, linkedEnvironment, loadLocalState, loadShare, loadWorkspace, migrateWorkspace, parseWorkspaceFile, reidentifyProject, resolveWorkspaceApiBaseUrl, resolveWorkspaceEndpoint, resolveWorkspaceScopes, saveLocalState, saveShare, saveWorkspace, shareSyncSettings, workspaceDir, workspaceEnvironmentFile, workspaceEnvironmentFileSchema, workspaceFiles, workspaceLocalStateSchema, workspaceManifestFile, workspaceManifestSchema, workspaceProjectDir, workspaceProjectRefSchema, workspaceShareSchema, workspaceTreeDir, } from './workspace/index.js';
121
188
  export { bindingContextFor, checkSoapStructure, validateAgainstSchemaSet, validateMessage, DEFAULT_VALIDATION_TIMEOUT_MS, } from './validate/index.js';
122
189
  export { WSI_WSDL_ASSERTIONS, WSI_MESSAGE_ASSERTIONS, messageBindingFor, runMessageAssertions, wsiMessageContext, renderWsiReportHtml, escapeHtml, runWsdlAssertions, wsiWsdlContext, wsiProblems, NOT_APPLICABLE, isNotApplicable, } from './validate/wsi/index.js';
123
190
  export { renderWsiAssertionsMarkdown, WSI_PLANNED_ASSERTIONS } from './validate/wsi/index.js';
124
191
  export { detectImportFormat } from './import-detect.js';
125
192
  // gRPC: the third protocol, a sibling container to a SOAP interface and a REST API (ADR-0007).
126
193
  export { clientStreams, GRPC_REFLECTION_VERSIONS, createGrpcApi, createGrpcFolder, createGrpcRequest, defaultTlsFor, grpcApiFolders, grpcApiRequests, grpcFolderRequests, grpcMethodPath, serverStreams, } from './grpc/model.js';
127
- export { GRPC_STATUS_NAMES, decodeGrpcMessage, encodeGrpcMessage, formatGrpcTimeout, grpcStatusName, } from './grpc/status.js';
194
+ export { GRPC_STATUS_NAMES, decodeGrpcMessage, encodeGrpcMessage, formatGrpcTimeout, grpcStatusName, grpcStatusNames, } from './grpc/status.js';
128
195
  export { encodeGrpcFrame, GrpcFrameParser } from './grpc/framing.js';
129
196
  export { loadProtoSet } from './grpc/proto/load.js';
130
197
  export { describeMessage, describeMessageAt, describeMethod, describeServices, lookupMessageType, lookupMethod, qualifiedName, } from './grpc/proto/describe.js';
@@ -141,17 +208,47 @@ export { DESCRIPTOR_HEADER_TYPE, DESCRIPTOR_SET_HEADER_TYPE, REFLECTION_METHOD,
141
208
  export { descriptorHeader, descriptorSetBytes, descriptorSetHeaders, encodeFileDescriptorSet, orderDescriptors, protoSetFromDescriptorSet, protoSetFromDescriptors, } from './grpc/reflection/descriptors.js';
142
209
  export { isReflectionService, reflectProtoSet, reflectServices } from './grpc/reflection/client.js';
143
210
  export { GRPC_COMMAND_REDACTED, grpcToCommand } from './grpc/command.js';
144
- export { resolveAuthConfig, resolveEndpointAuth, secretMissingMessage, toSendAuth } from './secrets/resolve.js';
145
- export { envVariablesFor, secretNeedsOfAuth, SECRET_ENV_PREFIX } from './secrets/env-names.js';
146
- export { REDACTED_MARKER, SECRET_BODY_KEYS, containsRedaction, redactHeaderPairs, redactHeaders, redactRawHttp, redactResponseAttachments, redactStructuredBody, redactUrl, redactXml, } from './redact/index.js';
147
- export { createSecretMasker } from './redact/literal.js';
211
+ export { resolveAuthConfig, resolveEndpointAuth, resolveSecretTokens, resolveSoapAuth, secretMissingMessage, secretTokenMissingMessage, toSendAuth, } from './secrets/resolve.js';
212
+ export { envVariablesFor, secretNeedsOfAuth, SECRET_ENV_PREFIX, SIGNING_PSEUDO_REF_PREFIX, } from './secrets/env-names.js';
213
+ export { SECRET_NAME_PATTERN, secretEnvName, secretPseudoRef, secretToken, parseSecretPseudoRef, } from './secrets/secret-token.js';
214
+ export { detectInText, SECRET_TEXT_SCAN_LIMIT } from './secrets/scan/rules.js';
215
+ export { maskedPreview, scanProjectForSecrets } from './secrets/scan/scan.js';
216
+ export { applySecretMoves, proposeSecretName } from './secrets/scan/apply.js';
217
+ export { SECRET_REF_PATTERN, secretRefsInValue } from './secrets/secret-refs.js';
218
+ // ---------------------------------------------------------------------------
219
+ // Team secrets: machine keys, the access log and the vault (team-secrets spec §4, §5.2)
220
+ // ---------------------------------------------------------------------------
221
+ export { ACCESS_ACTIONS, accessEntryFileSchema, accessEntryPath, approvedRecipients, base32, base64url, buildVaultEntry, canonicalJson, decryptValue, encryptValue, encryptionPrivateKey, encryptionPublicKey, fingerprintOf, fromBase64url, generateMachineKeys, healVaultEntry, isTeamSecretsPath, isVaultEntryPath, KEY_ID_PATTERN, keyIdOf, keyIdSchema, keyRequestFileSchema, keyRequestPath, newDataKey, nextAccessEntryId, openVaultEntry, parseMachineKeys, parseTeamSecretsFile, readTeamSecretsFiles, replayAccessLog, rotateMarks, rotateMarksFor, sameSecret, sealVaultEntry, secretKeySchema, serializeMachineKeys, signDocument, signingPrivateKey, signingPublicKey, TEAM_SECRETS_ACCESS_DIR, TEAM_SECRETS_FORMAT_VERSION, TEAM_SECRETS_KEYS_DIR, TEAM_SECRETS_MESSAGES, TEAM_SECRETS_VALUES_DIR, teamSecretsError, teamSecretsFileText, ULID_PATTERN, unwrapDataKey, vaultConflictWinner, vaultEntryFileSchema, vaultEntryId, vaultEntryIdOfPath, vaultEntryPath, verifiedKeys, verifyDocument, verifyVaultEntry, withoutSignature, WRAP_INFO, wrapDataKey, wrapsUnapprovedKey, } from './team-secrets/index.js';
222
+ export { REDACTED_MARKER, SECRET_BODY_KEYS, containsRedaction, isSensitiveHeaderName, isSensitiveQueryParam, redactHeaderPairs, redactHeaders, redactRawHttp, redactResponseAttachments, redactStructuredBody, redactUrl, redactXml, } from './redact/index.js';
223
+ export { createSecretBytesMasker, createSecretMasker } from './redact/literal.js';
148
224
  // WebSocket: the fourth protocol, a sibling container to a SOAP interface, a REST API and a gRPC
149
225
  // API (ADR-0007).
150
226
  export { createWsApi, createWsFolder, createWsRequest, createWsSavedMessage, wsApiFolders, wsApiRequests, wsFolderRequests, wsMessageFileName, } from './ws/model.js';
151
227
  export { resolveWsUrl } from './ws/url.js';
152
228
  export { prettyFrameText } from './ws/pretty.js';
153
229
  export { openWsSession } from './ws/session.js';
230
+ export { connectWebSocket } from './ws/connect.js';
154
231
  export { capFrames, WS_HISTORY_HEAD, WS_HISTORY_MAX_BYTES, WS_HISTORY_TAIL } from './ws/transcript.js';
155
232
  export { expandWsInput, expandWsMessage } from './ws/expand.js';
156
233
  export { toWsSessionOptions } from './ws/call.js';
157
234
  export { wsToCommand } from './ws/command.js';
235
+ export { GIT_CALL_ENV, GIT_PLUMBING_SUBCOMMANDS, GIT_SUBCOMMANDS, GitCli, assertBranchName, assertRemoteUrl, assertSafeLocalConfig, findGit, parseGitVersion, refusedLocalConfigKeys, } from './sync/git-cli.js';
236
+ export { mergeFiles } from './sync/three-way-merge.js';
237
+ export { MACHINE_LOCAL_PATHS, MAX_TREE_PATH_LENGTH, TREE_ITEMS, assertTreePath, isSafeTreeSegment, isTreePath, } from './sync/tree-paths.js';
238
+ // ---------------------------------------------------------------------------
239
+ // Wirebench Server API: wire schemas shared by packages/server and the desktop client
240
+ // ---------------------------------------------------------------------------
241
+ export { SERVER_API_VERSION, SERVER_NAME, metaResponseSchema } from './server-api/meta.js';
242
+ export { DEVICE_TOKEN_PATTERN, MAX_DEVICE_NAME_LENGTH, MAX_DISPLAY_NAME_LENGTH, MAX_PASSWORD_LENGTH, MIN_PASSWORD_LENGTH, PKCE_VERIFIER_PATTERN, SECRET_PATTERN, deviceSchema, devicesResponseSchema, deviceSummarySchema, emailSchema, identityIdParamsSchema, identityIdSchema, invitationAcceptRequestSchema, invitationCreatedSchema, invitationCreateRequestSchema, invitationLookupQuerySchema, invitationLookupResponseSchema, invitationsResponseSchema, invitationSummarySchema, localSignInRequestSchema, meResponseSchema, oidcCallbackQuerySchema, oidcCompleteRequestSchema, oidcStartRequestSchema, oidcStartResponseSchema, passwordChangeRequestSchema, passwordResetCreatedSchema, passwordSchema, serverUserSchema, signInMethodsSchema, signInResponseSchema, userPatchRequestSchema, usersResponseSchema, userSummarySchema, } from './server-api/identity.js';
243
+ export { MAX_TEAMS_NAME_LENGTH, TEAMS_ID_PATTERN, accessEntrySchema, accessParamsSchema, accessResponseSchema, defaultRoleSchema, effectiveRoleSchema, memberAddRequestSchema, memberParamsSchema, memberRoleRequestSchema, roleSourceSchema, setAccessRequestSchema, teamInvitationCreatedSchema, teamInvitationCreateRequestSchema, teamInvitationParamsSchema, teamInvitationSchema, teamInvitationsResponseSchema, teamMemberSchema, teamMembersResponseSchema, teamNameRequestSchema, teamParamsSchema, teamRoleSchema, teamSchema, teamsIdSchema, teamsNameSchema, teamsResponseSchema, teamWorkspaceCreateRequestSchema, teamWorkspaceParamsSchema, teamWorkspaceSchema, teamWorkspacesResponseSchema, teamWorkspaceUpdateRequestSchema, workspaceRoleSchema, } from './server-api/teams.js';
244
+ export { MAX_SYNC_FILE_BYTES, MAX_SYNC_LOG_LIMIT, MAX_SYNC_SUBJECT_LENGTH, SYNC_COMMIT_ID_PATTERN, syncChangeSchema, syncChangesQuerySchema, syncChangesResponseSchema, syncCommitIdSchema, syncEncodingSchema, syncFileSchema, syncHeadQuerySchema, syncHeadResponseSchema, syncLogEntrySchema, syncLogQuerySchema, syncLogResponseSchema, syncPushCommitSchema, syncPushRequestSchema, syncPushResponseSchema, syncSnapshotQuerySchema, syncSnapshotResponseSchema, TEAM_SECRETS_KEY_REQUEST_MAX_BYTES, teamSecretsKeyRequestSchema, teamSecretsKeyRequestResponseSchema, } from './server-api/sync.js';
245
+ export { LIVE_CAPABILITY, LIVE_CLOSE, LIVE_LIMITS, LIVE_PATH, LIVE_REFUSED_CODES, liveClientMessageSchema, livePresenceUserSchema, liveServerMessageSchema, } from './server-api/live.js';
246
+ export { CATCH_CONTENT_TYPE_PATTERN, CATCH_SECRET_PATTERN, CATCH_URL_DEFAULT_RESPONSE, CATCH_URL_PATH_PREFIX, captureParamsSchema, captureSchema, capturesQuerySchema, capturesResponseSchema, captureSignatureSchema, captureSummarySchema, catchUrlCreateRequestSchema, catchUrlParamsSchema, catchUrlResponseSchema, catchUrlSchema, catchUrlSignatureSchema, catchUrlsResponseSchema, catchUrlUpdateRequestSchema, HOOKS_LIMITS, hooksMetaSchema, SIGNATURE_SECRET_MAX_LENGTH, } from './server-api/hooks.js';
247
+ export { CI_TOKEN_NAME_MAX_LENGTH, ciTokenCreatedSchema, ciTokenParamsSchema, ciTokenSummarySchema, ciTokensResponseSchema, ciWhoamiResponseSchema, } from './server-api/ci-tokens.js';
248
+ export { COMMUNITY_SEATS, EDITIONS, FEATURES, GRACE_DAYS, LICENSE_FORMAT, LICENSE_STATUSES, LICENSE_TEXT_MAX_LENGTH, LICENSE_TEXT_PATTERN, editionSchema, featureSchema, licenseInstallRequestSchema, licensePayloadSchema, licenseStateSchema, } from './server-api/licensing.js';
249
+ export { AUDIT_ACTION_GROUPS, AUDIT_ACTIONS, AUDIT_ACTOR_KINDS, AUDIT_LIMITS, AUDIT_TARGET_KINDS, DESKTOP_AUDIT_LIMITS, auditActionSchema, auditActorSchema, auditDetailsSchema, auditEventSchema, auditExportQuerySchema, auditPageSchema, auditQuerySchema, desktopAuditBatchSchema, desktopAuditEventSchema, desktopRequestSentDetailsSchema, desktopRunFinishedDetailsSchema, } from './server-api/audit.js';
250
+ export { ACCOUNTS_FILE_VERSION, accountsFileSchema, parseAccountsFile, serverAccountSchema } from './account/schema.js';
251
+ export * from './sequence/index.js';
252
+ export * from './script/index.js';
253
+ export { readSequences } from './sequence/load.js';
254
+ export { assertNoControlCharacters, assertOriginIndependent, expandWithSequenceEscaped, hasSequenceValues, urlOrigin, } from './project/sequence-guards.js';
@@ -41,3 +41,5 @@ export interface JsonCompletionContext {
41
41
  * level outside any object, or anywhere a key would not be the next thing written.
42
42
  */
43
43
  export declare function jsonCompletionContextAt(text: string, offset: number): JsonCompletionContext | undefined;
44
+ export { pointerRange } from './pointer-range.js';
45
+ export type { PointerTextRange } from './pointer-range.js';
@@ -166,3 +166,4 @@ export function jsonCompletionContextAt(text, offset) {
166
166
  siblings: [...frame.keys],
167
167
  };
168
168
  }
169
+ export { pointerRange } from './pointer-range.js';
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Where a JSON Pointer's value sits in a JSON text, so a problem found on the parsed value can be
3
+ * marked in the text the user sees — pretty-printed or exactly as received.
4
+ *
5
+ * One forward scan: at each container it walks every member, descending into the ones on the
6
+ * pointer's path and skipping the rest, so no character is read twice. A scalar is located as its whole token; an object or array
7
+ * as its opening bracket only, which is also where a missing required property belongs (the
8
+ * validator reports that at the parent). Pure and dependency-free, so the renderer can use it.
9
+ */
10
+ /** A 1-based range, Monaco style: `endColumn` is one past the last character. */
11
+ export interface PointerTextRange {
12
+ readonly line: number;
13
+ readonly column: number;
14
+ readonly endLine: number;
15
+ readonly endColumn: number;
16
+ }
17
+ /** The range of the value `pointer` names in `text`, or `undefined` when it cannot be located. */
18
+ export declare function pointerRange(text: string, pointer: string): PointerTextRange | undefined;
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Where a JSON Pointer's value sits in a JSON text, so a problem found on the parsed value can be
3
+ * marked in the text the user sees — pretty-printed or exactly as received.
4
+ *
5
+ * One forward scan: at each container it walks every member, descending into the ones on the
6
+ * pointer's path and skipping the rest, so no character is read twice. A scalar is located as its whole token; an object or array
7
+ * as its opening bracket only, which is also where a missing required property belongs (the
8
+ * validator reports that at the parent). Pure and dependency-free, so the renderer can use it.
9
+ */
10
+ function skipWs(text, i) {
11
+ while (i < text.length) {
12
+ const c = text.charCodeAt(i);
13
+ if (c !== 0x20 && c !== 0x0a && c !== 0x0d && c !== 0x09)
14
+ break;
15
+ i++;
16
+ }
17
+ return i;
18
+ }
19
+ /** Index just past the string that opens at `i`, or -1 when it never closes. */
20
+ function endOfString(text, i) {
21
+ for (let j = i + 1; j < text.length; j++) {
22
+ const c = text[j];
23
+ if (c === '\\')
24
+ j++;
25
+ else if (c === '"')
26
+ return j + 1;
27
+ }
28
+ return -1;
29
+ }
30
+ /** Index just past the value starting at `i` (whitespace already skipped), or -1. */
31
+ function endOfValue(text, i) {
32
+ const c = text[i];
33
+ if (c === '"')
34
+ return endOfString(text, i);
35
+ if (c === '{' || c === '[') {
36
+ let depth = 0;
37
+ for (let j = i; j < text.length; j++) {
38
+ const d = text[j];
39
+ if (d === '"') {
40
+ const end = endOfString(text, j);
41
+ if (end < 0)
42
+ return -1;
43
+ j = end - 1;
44
+ }
45
+ else if (d === '{' || d === '[')
46
+ depth++;
47
+ else if (d === '}' || d === ']') {
48
+ depth--;
49
+ if (depth === 0)
50
+ return j + 1;
51
+ }
52
+ }
53
+ return -1;
54
+ }
55
+ let j = i;
56
+ while (j < text.length && !/[\s,:\]}]/.test(text[j]))
57
+ j++;
58
+ return j > i ? j : -1;
59
+ }
60
+ function decodeKey(raw) {
61
+ try {
62
+ const decoded = JSON.parse(raw);
63
+ return typeof decoded === 'string' ? decoded : undefined;
64
+ }
65
+ catch {
66
+ return undefined;
67
+ }
68
+ }
69
+ /**
70
+ * Locates `segments[k..]` inside the value starting at `i`, and also returns where that value
71
+ * ends, so the caller carries on scanning from there: every character is read once. An object may
72
+ * repeat a key; `JSON.parse` keeps the last, so a later match replaces an earlier one.
73
+ */
74
+ function locate(text, i, segments, k) {
75
+ if (k === segments.length) {
76
+ const container = text[i] === '{' || text[i] === '[';
77
+ const end = endOfValue(text, i);
78
+ return { target: container || end >= 0 ? i : -1, end };
79
+ }
80
+ if (text[i] !== '{' && text[i] !== '[')
81
+ return { target: -1, end: endOfValue(text, i) };
82
+ const isArray = text[i] === '[';
83
+ const close = isArray ? ']' : '}';
84
+ const segment = segments[k];
85
+ const wanted = isArray && /^(0|[1-9]\d*)$/.test(segment) ? Number(segment) : -1;
86
+ let target = -1;
87
+ let j = skipWs(text, i + 1);
88
+ if (text[j] === close)
89
+ return { target, end: j + 1 };
90
+ for (let index = 0;; index++) {
91
+ let matched;
92
+ if (isArray) {
93
+ matched = index === wanted;
94
+ }
95
+ else {
96
+ if (text[j] !== '"')
97
+ return { target, end: -1 };
98
+ const keyEnd = endOfString(text, j);
99
+ if (keyEnd < 0)
100
+ return { target, end: -1 };
101
+ matched = decodeKey(text.slice(j, keyEnd)) === segment;
102
+ j = skipWs(text, keyEnd);
103
+ if (text[j] !== ':')
104
+ return { target, end: -1 };
105
+ j = skipWs(text, j + 1);
106
+ }
107
+ let end;
108
+ if (matched) {
109
+ const inner = locate(text, j, segments, k + 1);
110
+ target = inner.target;
111
+ end = inner.end;
112
+ }
113
+ else {
114
+ end = endOfValue(text, j);
115
+ }
116
+ if (end < 0)
117
+ return { target, end: -1 };
118
+ j = skipWs(text, end);
119
+ if (text[j] === close)
120
+ return { target, end: j + 1 };
121
+ if (text[j] !== ',')
122
+ return { target, end: -1 };
123
+ j = skipWs(text, j + 1);
124
+ }
125
+ }
126
+ function position(text, offset) {
127
+ let line = 1;
128
+ let lineStart = 0;
129
+ for (let k = text.indexOf('\n'); k >= 0 && k < offset; k = text.indexOf('\n', k + 1)) {
130
+ line++;
131
+ lineStart = k + 1;
132
+ }
133
+ return { line, column: offset - lineStart + 1 };
134
+ }
135
+ /** The range of the value `pointer` names in `text`, or `undefined` when it cannot be located. */
136
+ export function pointerRange(text, pointer) {
137
+ if (pointer !== '' && !pointer.startsWith('/'))
138
+ return undefined;
139
+ const segments = pointer === ''
140
+ ? []
141
+ : pointer
142
+ .slice(1)
143
+ .split('/')
144
+ .map((s) => s.replace(/~1/g, '/').replace(/~0/g, '~'));
145
+ const at = skipWs(text, 0);
146
+ if (at >= text.length)
147
+ return undefined;
148
+ const found = locate(text, at, segments, 0).target;
149
+ if (found < 0)
150
+ return undefined;
151
+ const container = text[found] === '{' || text[found] === '[';
152
+ const end = container ? found + 1 : endOfValue(text, found);
153
+ if (end < 0)
154
+ return undefined;
155
+ const start = position(text, found);
156
+ return { line: start.line, column: start.column, endLine: start.line, endColumn: start.column + (end - found) };
157
+ }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * A JSON value and the JSON Schema subset the engine reads.
3
+ *
4
+ * In `json/schema/` because an OpenAPI description, an AsyncAPI description and a script's generated
5
+ * types all read the same schemas, and no protocol folder imports another (protocol modules spec
6
+ * §7.2). `rest/openapi/model.ts` re-exports the four names.
7
+ */
8
+ /** A JSON value, as a document literally contains it (an `example`, a `default`, an `enum` member). */
9
+ export type JsonValue = string | number | boolean | null | readonly JsonValue[] | {
10
+ readonly [key: string]: JsonValue;
11
+ };
12
+ /**
13
+ * The JSON Schema subset the sample generator reads — Draft 2020-12 as 3.1 uses it, and 3.0's own
14
+ * dialect, which differs in the two ways noted on the fields.
15
+ */
16
+ export interface JsonSchema {
17
+ /** 3.0 allows one type; 3.1 allows a list, which is how it spells "nullable". */
18
+ readonly type?: string | readonly string[];
19
+ readonly format?: string;
20
+ readonly title?: string;
21
+ readonly description?: string;
22
+ readonly default?: JsonValue;
23
+ readonly example?: JsonValue;
24
+ /** 3.1 spelling; 3.0 uses `example`. Both are read. */
25
+ readonly examples?: readonly JsonValue[];
26
+ readonly enum?: readonly JsonValue[];
27
+ readonly const?: JsonValue;
28
+ readonly properties?: Readonly<Record<string, JsonSchema>>;
29
+ readonly required?: readonly string[];
30
+ readonly items?: JsonSchema;
31
+ readonly additionalProperties?: boolean | JsonSchema;
32
+ readonly allOf?: readonly JsonSchema[];
33
+ readonly oneOf?: readonly JsonSchema[];
34
+ readonly anyOf?: readonly JsonSchema[];
35
+ /** Names the property whose value says which `oneOf`/`anyOf` branch an object is. */
36
+ readonly discriminator?: OpenApiDiscriminator;
37
+ /** 3.0 only: 3.1 spells this as a `type` list including `'null'`. */
38
+ readonly nullable?: boolean;
39
+ readonly deprecated?: boolean;
40
+ readonly readOnly?: boolean;
41
+ readonly writeOnly?: boolean;
42
+ /** The `xml` object an XML body's shape honours. */
43
+ readonly xml?: OpenApiXml;
44
+ /** Left in place when a reference could not be resolved, so a sample can say so rather than guess. */
45
+ readonly $ref?: string;
46
+ }
47
+ /** The `discriminator` object. `mapping` values are references, kept as the document spells them. */
48
+ export interface OpenApiDiscriminator {
49
+ readonly propertyName: string;
50
+ readonly mapping?: Readonly<Record<string, string>>;
51
+ }
52
+ /** The `xml` object: how a schema's value is spelled as XML. */
53
+ export interface OpenApiXml {
54
+ readonly name?: string;
55
+ readonly namespace?: string;
56
+ readonly prefix?: string;
57
+ readonly attribute?: boolean;
58
+ readonly wrapped?: boolean;
59
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A JSON value and the JSON Schema subset the engine reads.
3
+ *
4
+ * In `json/schema/` because an OpenAPI description, an AsyncAPI description and a script's generated
5
+ * types all read the same schemas, and no protocol folder imports another (protocol modules spec
6
+ * §7.2). `rest/openapi/model.ts` re-exports the four names.
7
+ */
8
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Reading the text of a description, JSON or YAML, into a value.
3
+ *
4
+ * In `json/schema/` because the OpenAPI and the AsyncAPI imports both start here, and no protocol
5
+ * folder imports another (protocol modules spec §7.2). `rest/openapi/parse.ts` re-exports
6
+ * {@link parseDocumentText}.
7
+ */
8
+ /**
9
+ * Parses text as JSON when it looks like JSON, and as YAML otherwise.
10
+ *
11
+ * JSON is a subset of YAML, so one parser would do — but a JSON document with a syntax error gets a
12
+ * far better message from `JSON.parse`, and that message is what the user has to act on.
13
+ *
14
+ * @throws OpenApiError `openapi-malformed` when the text parses as neither.
15
+ */
16
+ export declare function parseDocumentText(text: string, where?: string): unknown;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Reading the text of a description, JSON or YAML, into a value.
3
+ *
4
+ * In `json/schema/` because the OpenAPI and the AsyncAPI imports both start here, and no protocol
5
+ * folder imports another (protocol modules spec §7.2). `rest/openapi/parse.ts` re-exports
6
+ * {@link parseDocumentText}.
7
+ */
8
+ import { parse as parseYamlDocument } from 'yaml';
9
+ import { OpenApiError } from '../../errors.js';
10
+ /**
11
+ * Parses text as JSON when it looks like JSON, and as YAML otherwise.
12
+ *
13
+ * JSON is a subset of YAML, so one parser would do — but a JSON document with a syntax error gets a
14
+ * far better message from `JSON.parse`, and that message is what the user has to act on.
15
+ *
16
+ * @throws OpenApiError `openapi-malformed` when the text parses as neither.
17
+ */
18
+ export function parseDocumentText(text, where = 'the document') {
19
+ const trimmed = text.replace(/^/, '').trimStart();
20
+ if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
21
+ try {
22
+ return JSON.parse(trimmed);
23
+ }
24
+ catch (error) {
25
+ throw new OpenApiError('openapi-malformed', `${where} is not valid JSON: ${messageOf(error)}`, { cause: error });
26
+ }
27
+ }
28
+ try {
29
+ return parseYamlDocument(trimmed);
30
+ }
31
+ catch (error) {
32
+ throw new OpenApiError('openapi-malformed', `${where} is not valid YAML: ${messageOf(error)}`, { cause: error });
33
+ }
34
+ }
35
+ function messageOf(error) {
36
+ return error instanceof Error ? error.message : String(error);
37
+ }
@@ -6,12 +6,12 @@
6
6
  * lets the definition be exported byte-exact later.
7
7
  *
8
8
  * Two rules keep this from being a file-read primitive handed to whoever wrote the document. The
9
- * *reference policy* is the one WSDL import already uses (`wsdl/ref-policy.ts`): a `file:` root may
9
+ * *reference policy* is the one WSDL import already uses (`http/ref-policy.ts`): a `file:` root may
10
10
  * only reference files inside its own folder tree, an `http(s):` root may never reach a local file.
11
11
  * And the walk is bounded — a visited set per pointer, a depth cap, and a document cap — because a
12
12
  * cyclic or fan-out document must end in a diagnostic, not a hang.
13
13
  */
14
- import type { FetchDocument } from '../../wsdl/resolver.js';
14
+ import type { FetchDocument } from '../../http/fetch-document.js';
15
15
  /** How deep a chain of `$ref`s may nest before the graph is treated as runaway. */
16
16
  export declare const MAX_REF_DEPTH = 32;
17
17
  /** One document the resolution pulled in, kept for the definition cache. */
@@ -6,14 +6,14 @@
6
6
  * lets the definition be exported byte-exact later.
7
7
  *
8
8
  * Two rules keep this from being a file-read primitive handed to whoever wrote the document. The
9
- * *reference policy* is the one WSDL import already uses (`wsdl/ref-policy.ts`): a `file:` root may
9
+ * *reference policy* is the one WSDL import already uses (`http/ref-policy.ts`): a `file:` root may
10
10
  * only reference files inside its own folder tree, an `http(s):` root may never reach a local file.
11
11
  * And the walk is bounded — a visited set per pointer, a depth cap, and a document cap — because a
12
12
  * cyclic or fan-out document must end in a diagnostic, not a hang.
13
13
  */
14
14
  import { OpenApiError } from '../../errors.js';
15
- import { referencePolicyFor, MAX_IMPORT_DEPTH, MAX_IMPORT_DOCUMENTS } from '../../wsdl/ref-policy.js';
16
- import { parseDocumentText } from './parse.js';
15
+ import { referencePolicyFor, MAX_IMPORT_DEPTH, MAX_IMPORT_DOCUMENTS } from '../../http/ref-policy.js';
16
+ import { parseDocumentText } from './parse-text.js';
17
17
  /** How deep a chain of `$ref`s may nest before the graph is treated as runaway. */
18
18
  export const MAX_REF_DEPTH = MAX_IMPORT_DEPTH;
19
19
  /** Unescapes one JSON pointer token per RFC 6901: `~1` is `/`, `~0` is `~`, in that order. */