@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
@@ -0,0 +1,455 @@
1
+ /**
2
+ * The audit-log wire shapes (audit-log spec §2, §3.4, §5.2). The server writes events and serves
3
+ * them; the desktop reads pages and streams the export. Plain zod only (ADR-0009).
4
+ *
5
+ * `details` is flat on purpose: a fire site names fields, never spreads a body, and nothing nested
6
+ * can smuggle a payload in (§6).
7
+ */
8
+ import { z } from 'zod';
9
+ /** §3.2, a closed list: a fire site references the enum, never a literal. */
10
+ export declare const AUDIT_ACTIONS: readonly ["auth.signed_in", "auth.sign_in_failed", "auth.signed_out", "auth.password_changed", "user.invited", "user.invitation_revoked", "user.created", "user.disabled", "user.enabled", "user.admin_granted", "user.admin_revoked", "user.password_reset_issued", "team.created", "team.renamed", "team.deleted", "team.member_added", "team.member_removed", "team.member_role_changed", "workspace.created", "workspace.deleted", "workspace.renamed", "workspace.default_role_changed", "workspace.grant_set", "workspace.grant_removed", "workspace.pushed", "secret.shared", "secret.rotated", "secret.access_changed", "hook.created", "hook.changed", "hook.rotated", "hook.deleted", "hook.cleared", "hook.signature_set", "hook.signature_cleared", "ci_token.created", "ci_token.revoked", "license.installed", "license.removed", "audit.exported", "audit.verified", "workspace.desktop_recording_changed", "desktop.request_sent", "desktop.run_finished", "desktop.events_dropped"];
11
+ export declare const auditActionSchema: z.ZodEnum<{
12
+ "auth.signed_in": "auth.signed_in";
13
+ "auth.sign_in_failed": "auth.sign_in_failed";
14
+ "auth.signed_out": "auth.signed_out";
15
+ "auth.password_changed": "auth.password_changed";
16
+ "user.invited": "user.invited";
17
+ "user.invitation_revoked": "user.invitation_revoked";
18
+ "user.created": "user.created";
19
+ "user.disabled": "user.disabled";
20
+ "user.enabled": "user.enabled";
21
+ "user.admin_granted": "user.admin_granted";
22
+ "user.admin_revoked": "user.admin_revoked";
23
+ "user.password_reset_issued": "user.password_reset_issued";
24
+ "team.created": "team.created";
25
+ "team.renamed": "team.renamed";
26
+ "team.deleted": "team.deleted";
27
+ "team.member_added": "team.member_added";
28
+ "team.member_removed": "team.member_removed";
29
+ "team.member_role_changed": "team.member_role_changed";
30
+ "workspace.created": "workspace.created";
31
+ "workspace.deleted": "workspace.deleted";
32
+ "workspace.renamed": "workspace.renamed";
33
+ "workspace.default_role_changed": "workspace.default_role_changed";
34
+ "workspace.grant_set": "workspace.grant_set";
35
+ "workspace.grant_removed": "workspace.grant_removed";
36
+ "workspace.pushed": "workspace.pushed";
37
+ "secret.shared": "secret.shared";
38
+ "secret.rotated": "secret.rotated";
39
+ "secret.access_changed": "secret.access_changed";
40
+ "hook.created": "hook.created";
41
+ "hook.changed": "hook.changed";
42
+ "hook.rotated": "hook.rotated";
43
+ "hook.deleted": "hook.deleted";
44
+ "hook.cleared": "hook.cleared";
45
+ "hook.signature_set": "hook.signature_set";
46
+ "hook.signature_cleared": "hook.signature_cleared";
47
+ "ci_token.created": "ci_token.created";
48
+ "ci_token.revoked": "ci_token.revoked";
49
+ "license.installed": "license.installed";
50
+ "license.removed": "license.removed";
51
+ "audit.exported": "audit.exported";
52
+ "audit.verified": "audit.verified";
53
+ "workspace.desktop_recording_changed": "workspace.desktop_recording_changed";
54
+ "desktop.request_sent": "desktop.request_sent";
55
+ "desktop.run_finished": "desktop.run_finished";
56
+ "desktop.events_dropped": "desktop.events_dropped";
57
+ }>;
58
+ export type AuditAction = z.infer<typeof auditActionSchema>;
59
+ /** The part before the dot, for the desktop's action-group filter. */
60
+ export declare const AUDIT_ACTION_GROUPS: readonly ["auth", "user", "team", "workspace", "secret", "hook", "ci_token", "license", "audit", "desktop"];
61
+ export type AuditActionGroup = (typeof AUDIT_ACTION_GROUPS)[number];
62
+ export declare const AUDIT_ACTOR_KINDS: readonly ["user", "ci-token", "system", "anonymous"];
63
+ export type AuditActorKind = (typeof AUDIT_ACTOR_KINDS)[number];
64
+ export declare const AUDIT_TARGET_KINDS: readonly ["server", "user", "invitation", "team", "workspace", "hook", "ci-token", "license"];
65
+ export type AuditTargetKind = (typeof AUDIT_TARGET_KINDS)[number];
66
+ export declare const AUDIT_LIMITS: {
67
+ readonly defaultPageSize: 50;
68
+ readonly maxPageSize: 200;
69
+ /** Rows per keyset query behind the export stream (§3.4). */
70
+ readonly exportBatch: 1000;
71
+ /** `details`, serialised; a larger object is cut down with `_truncated: true` (§4.2). */
72
+ readonly maxDetailsBytes: 4096;
73
+ readonly maxUserAgentLength: 512;
74
+ /** `WIREBENCH_SERVER_AUDIT_MAX_AGE_DAYS` (§4.1). */
75
+ readonly maxAgeDays: {
76
+ readonly min: 30;
77
+ readonly max: 3650;
78
+ readonly default: 365;
79
+ };
80
+ };
81
+ export declare const auditDetailsSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>]>>;
82
+ export type AuditDetails = z.infer<typeof auditDetailsSchema>;
83
+ /** `email` is the user's email at the time of the event, copied into the row (§3.4). */
84
+ export declare const auditActorSchema: z.ZodObject<{
85
+ kind: z.ZodEnum<{
86
+ system: "system";
87
+ user: "user";
88
+ anonymous: "anonymous";
89
+ "ci-token": "ci-token";
90
+ }>;
91
+ userId: z.ZodOptional<z.ZodString>;
92
+ email: z.ZodOptional<z.ZodString>;
93
+ tokenId: z.ZodOptional<z.ZodString>;
94
+ workspaceId: z.ZodOptional<z.ZodString>;
95
+ }, z.core.$strip>;
96
+ export type AuditActor = z.infer<typeof auditActorSchema>;
97
+ export declare const auditEventSchema: z.ZodObject<{
98
+ id: z.ZodString;
99
+ at: z.ZodString;
100
+ actor: z.ZodObject<{
101
+ kind: z.ZodEnum<{
102
+ system: "system";
103
+ user: "user";
104
+ anonymous: "anonymous";
105
+ "ci-token": "ci-token";
106
+ }>;
107
+ userId: z.ZodOptional<z.ZodString>;
108
+ email: z.ZodOptional<z.ZodString>;
109
+ tokenId: z.ZodOptional<z.ZodString>;
110
+ workspaceId: z.ZodOptional<z.ZodString>;
111
+ }, z.core.$strip>;
112
+ action: z.ZodEnum<{
113
+ "auth.signed_in": "auth.signed_in";
114
+ "auth.sign_in_failed": "auth.sign_in_failed";
115
+ "auth.signed_out": "auth.signed_out";
116
+ "auth.password_changed": "auth.password_changed";
117
+ "user.invited": "user.invited";
118
+ "user.invitation_revoked": "user.invitation_revoked";
119
+ "user.created": "user.created";
120
+ "user.disabled": "user.disabled";
121
+ "user.enabled": "user.enabled";
122
+ "user.admin_granted": "user.admin_granted";
123
+ "user.admin_revoked": "user.admin_revoked";
124
+ "user.password_reset_issued": "user.password_reset_issued";
125
+ "team.created": "team.created";
126
+ "team.renamed": "team.renamed";
127
+ "team.deleted": "team.deleted";
128
+ "team.member_added": "team.member_added";
129
+ "team.member_removed": "team.member_removed";
130
+ "team.member_role_changed": "team.member_role_changed";
131
+ "workspace.created": "workspace.created";
132
+ "workspace.deleted": "workspace.deleted";
133
+ "workspace.renamed": "workspace.renamed";
134
+ "workspace.default_role_changed": "workspace.default_role_changed";
135
+ "workspace.grant_set": "workspace.grant_set";
136
+ "workspace.grant_removed": "workspace.grant_removed";
137
+ "workspace.pushed": "workspace.pushed";
138
+ "secret.shared": "secret.shared";
139
+ "secret.rotated": "secret.rotated";
140
+ "secret.access_changed": "secret.access_changed";
141
+ "hook.created": "hook.created";
142
+ "hook.changed": "hook.changed";
143
+ "hook.rotated": "hook.rotated";
144
+ "hook.deleted": "hook.deleted";
145
+ "hook.cleared": "hook.cleared";
146
+ "hook.signature_set": "hook.signature_set";
147
+ "hook.signature_cleared": "hook.signature_cleared";
148
+ "ci_token.created": "ci_token.created";
149
+ "ci_token.revoked": "ci_token.revoked";
150
+ "license.installed": "license.installed";
151
+ "license.removed": "license.removed";
152
+ "audit.exported": "audit.exported";
153
+ "audit.verified": "audit.verified";
154
+ "workspace.desktop_recording_changed": "workspace.desktop_recording_changed";
155
+ "desktop.request_sent": "desktop.request_sent";
156
+ "desktop.run_finished": "desktop.run_finished";
157
+ "desktop.events_dropped": "desktop.events_dropped";
158
+ }>;
159
+ target: z.ZodObject<{
160
+ kind: z.ZodEnum<{
161
+ server: "server";
162
+ workspace: "workspace";
163
+ user: "user";
164
+ hook: "hook";
165
+ team: "team";
166
+ license: "license";
167
+ "ci-token": "ci-token";
168
+ invitation: "invitation";
169
+ }>;
170
+ id: z.ZodNullable<z.ZodString>;
171
+ }, z.core.$strip>;
172
+ workspaceId: z.ZodNullable<z.ZodString>;
173
+ teamId: z.ZodNullable<z.ZodString>;
174
+ ip: z.ZodNullable<z.ZodString>;
175
+ userAgent: z.ZodNullable<z.ZodString>;
176
+ details: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>]>>;
177
+ }, z.core.$strip>;
178
+ export type AuditEvent = z.infer<typeof auditEventSchema>;
179
+ /** `GET /audit` (§3.4). `action` is exact, or a group prefix ending in a dot. `to` is exclusive. */
180
+ export declare const auditQuerySchema: z.ZodObject<{
181
+ from: z.ZodOptional<z.ZodString>;
182
+ to: z.ZodOptional<z.ZodString>;
183
+ action: z.ZodOptional<z.ZodString>;
184
+ actorUserId: z.ZodOptional<z.ZodString>;
185
+ workspaceId: z.ZodOptional<z.ZodString>;
186
+ teamId: z.ZodOptional<z.ZodString>;
187
+ targetKind: z.ZodOptional<z.ZodEnum<{
188
+ server: "server";
189
+ workspace: "workspace";
190
+ user: "user";
191
+ hook: "hook";
192
+ team: "team";
193
+ license: "license";
194
+ "ci-token": "ci-token";
195
+ invitation: "invitation";
196
+ }>>;
197
+ targetId: z.ZodOptional<z.ZodString>;
198
+ after: z.ZodOptional<z.ZodString>;
199
+ limit: z.ZodOptional<z.ZodNumber>;
200
+ }, z.core.$strip>;
201
+ export type AuditQuery = z.infer<typeof auditQuerySchema>;
202
+ /** `GET /audit/export` and `admin audit export`: the same filters, no paging. */
203
+ export declare const auditExportQuerySchema: z.ZodObject<{
204
+ action: z.ZodOptional<z.ZodString>;
205
+ to: z.ZodOptional<z.ZodString>;
206
+ from: z.ZodOptional<z.ZodString>;
207
+ teamId: z.ZodOptional<z.ZodString>;
208
+ workspaceId: z.ZodOptional<z.ZodString>;
209
+ actorUserId: z.ZodOptional<z.ZodString>;
210
+ targetKind: z.ZodOptional<z.ZodEnum<{
211
+ server: "server";
212
+ workspace: "workspace";
213
+ user: "user";
214
+ hook: "hook";
215
+ team: "team";
216
+ license: "license";
217
+ "ci-token": "ci-token";
218
+ invitation: "invitation";
219
+ }>>;
220
+ targetId: z.ZodOptional<z.ZodString>;
221
+ }, z.core.$strip>;
222
+ export type AuditExportQuery = z.infer<typeof auditExportQuerySchema>;
223
+ export declare const auditPageSchema: z.ZodObject<{
224
+ events: z.ZodArray<z.ZodObject<{
225
+ id: z.ZodString;
226
+ at: z.ZodString;
227
+ actor: z.ZodObject<{
228
+ kind: z.ZodEnum<{
229
+ system: "system";
230
+ user: "user";
231
+ anonymous: "anonymous";
232
+ "ci-token": "ci-token";
233
+ }>;
234
+ userId: z.ZodOptional<z.ZodString>;
235
+ email: z.ZodOptional<z.ZodString>;
236
+ tokenId: z.ZodOptional<z.ZodString>;
237
+ workspaceId: z.ZodOptional<z.ZodString>;
238
+ }, z.core.$strip>;
239
+ action: z.ZodEnum<{
240
+ "auth.signed_in": "auth.signed_in";
241
+ "auth.sign_in_failed": "auth.sign_in_failed";
242
+ "auth.signed_out": "auth.signed_out";
243
+ "auth.password_changed": "auth.password_changed";
244
+ "user.invited": "user.invited";
245
+ "user.invitation_revoked": "user.invitation_revoked";
246
+ "user.created": "user.created";
247
+ "user.disabled": "user.disabled";
248
+ "user.enabled": "user.enabled";
249
+ "user.admin_granted": "user.admin_granted";
250
+ "user.admin_revoked": "user.admin_revoked";
251
+ "user.password_reset_issued": "user.password_reset_issued";
252
+ "team.created": "team.created";
253
+ "team.renamed": "team.renamed";
254
+ "team.deleted": "team.deleted";
255
+ "team.member_added": "team.member_added";
256
+ "team.member_removed": "team.member_removed";
257
+ "team.member_role_changed": "team.member_role_changed";
258
+ "workspace.created": "workspace.created";
259
+ "workspace.deleted": "workspace.deleted";
260
+ "workspace.renamed": "workspace.renamed";
261
+ "workspace.default_role_changed": "workspace.default_role_changed";
262
+ "workspace.grant_set": "workspace.grant_set";
263
+ "workspace.grant_removed": "workspace.grant_removed";
264
+ "workspace.pushed": "workspace.pushed";
265
+ "secret.shared": "secret.shared";
266
+ "secret.rotated": "secret.rotated";
267
+ "secret.access_changed": "secret.access_changed";
268
+ "hook.created": "hook.created";
269
+ "hook.changed": "hook.changed";
270
+ "hook.rotated": "hook.rotated";
271
+ "hook.deleted": "hook.deleted";
272
+ "hook.cleared": "hook.cleared";
273
+ "hook.signature_set": "hook.signature_set";
274
+ "hook.signature_cleared": "hook.signature_cleared";
275
+ "ci_token.created": "ci_token.created";
276
+ "ci_token.revoked": "ci_token.revoked";
277
+ "license.installed": "license.installed";
278
+ "license.removed": "license.removed";
279
+ "audit.exported": "audit.exported";
280
+ "audit.verified": "audit.verified";
281
+ "workspace.desktop_recording_changed": "workspace.desktop_recording_changed";
282
+ "desktop.request_sent": "desktop.request_sent";
283
+ "desktop.run_finished": "desktop.run_finished";
284
+ "desktop.events_dropped": "desktop.events_dropped";
285
+ }>;
286
+ target: z.ZodObject<{
287
+ kind: z.ZodEnum<{
288
+ server: "server";
289
+ workspace: "workspace";
290
+ user: "user";
291
+ hook: "hook";
292
+ team: "team";
293
+ license: "license";
294
+ "ci-token": "ci-token";
295
+ invitation: "invitation";
296
+ }>;
297
+ id: z.ZodNullable<z.ZodString>;
298
+ }, z.core.$strip>;
299
+ workspaceId: z.ZodNullable<z.ZodString>;
300
+ teamId: z.ZodNullable<z.ZodString>;
301
+ ip: z.ZodNullable<z.ZodString>;
302
+ userAgent: z.ZodNullable<z.ZodString>;
303
+ details: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>]>>;
304
+ }, z.core.$strip>>;
305
+ next: z.ZodOptional<z.ZodString>;
306
+ }, z.core.$strip>;
307
+ export type AuditPage = z.infer<typeof auditPageSchema>;
308
+ /** Bounds on what the desktop records and uploads (desktop audit events spec §2.2). */
309
+ export declare const DESKTOP_AUDIT_LIMITS: {
310
+ readonly maxBatch: 100;
311
+ readonly maxOutbox: 5000;
312
+ readonly maxUrlLength: 2048;
313
+ readonly maxHosts: 64;
314
+ readonly maxDropped: 1000000;
315
+ };
316
+ /** One request the desktop sent. Metadata only: no headers, no body, no response. */
317
+ export declare const desktopRequestSentDetailsSchema: z.ZodObject<{
318
+ protocol: z.ZodEnum<{
319
+ rest: "rest";
320
+ grpc: "grpc";
321
+ soap: "soap";
322
+ websocket: "websocket";
323
+ }>;
324
+ method: z.ZodNullable<z.ZodString>;
325
+ url: z.ZodString;
326
+ status: z.ZodNullable<z.ZodNumber>;
327
+ outcome: z.ZodEnum<{
328
+ failed: "failed";
329
+ ok: "ok";
330
+ }>;
331
+ durationMs: z.ZodNumber;
332
+ environment: z.ZodNullable<z.ZodString>;
333
+ requestId: z.ZodString;
334
+ requestName: z.ZodString;
335
+ sentAt: z.ZodString;
336
+ }, z.core.$strict>;
337
+ export type DesktopRequestSentDetails = z.infer<typeof desktopRequestSentDetailsSchema>;
338
+ /** One finished sequence run: the engine's `SequenceOutcome` values, plus `cancelled`. */
339
+ export declare const desktopRunFinishedDetailsSchema: z.ZodObject<{
340
+ sequenceId: z.ZodString;
341
+ sequenceName: z.ZodString;
342
+ outcome: z.ZodEnum<{
343
+ passed: "passed";
344
+ failed: "failed";
345
+ errored: "errored";
346
+ skipped: "skipped";
347
+ cancelled: "cancelled";
348
+ }>;
349
+ passed: z.ZodNumber;
350
+ failed: z.ZodNumber;
351
+ errored: z.ZodNumber;
352
+ skipped: z.ZodNumber;
353
+ durationMs: z.ZodNumber;
354
+ hosts: z.ZodArray<z.ZodString>;
355
+ environment: z.ZodNullable<z.ZodString>;
356
+ startedAt: z.ZodString;
357
+ sentAt: z.ZodString;
358
+ }, z.core.$strict>;
359
+ export type DesktopRunFinishedDetails = z.infer<typeof desktopRunFinishedDetailsSchema>;
360
+ export declare const desktopAuditEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
361
+ action: z.ZodLiteral<"desktop.request_sent">;
362
+ details: z.ZodObject<{
363
+ protocol: z.ZodEnum<{
364
+ rest: "rest";
365
+ grpc: "grpc";
366
+ soap: "soap";
367
+ websocket: "websocket";
368
+ }>;
369
+ method: z.ZodNullable<z.ZodString>;
370
+ url: z.ZodString;
371
+ status: z.ZodNullable<z.ZodNumber>;
372
+ outcome: z.ZodEnum<{
373
+ failed: "failed";
374
+ ok: "ok";
375
+ }>;
376
+ durationMs: z.ZodNumber;
377
+ environment: z.ZodNullable<z.ZodString>;
378
+ requestId: z.ZodString;
379
+ requestName: z.ZodString;
380
+ sentAt: z.ZodString;
381
+ }, z.core.$strict>;
382
+ }, z.core.$strict>, z.ZodObject<{
383
+ action: z.ZodLiteral<"desktop.run_finished">;
384
+ details: z.ZodObject<{
385
+ sequenceId: z.ZodString;
386
+ sequenceName: z.ZodString;
387
+ outcome: z.ZodEnum<{
388
+ passed: "passed";
389
+ failed: "failed";
390
+ errored: "errored";
391
+ skipped: "skipped";
392
+ cancelled: "cancelled";
393
+ }>;
394
+ passed: z.ZodNumber;
395
+ failed: z.ZodNumber;
396
+ errored: z.ZodNumber;
397
+ skipped: z.ZodNumber;
398
+ durationMs: z.ZodNumber;
399
+ hosts: z.ZodArray<z.ZodString>;
400
+ environment: z.ZodNullable<z.ZodString>;
401
+ startedAt: z.ZodString;
402
+ sentAt: z.ZodString;
403
+ }, z.core.$strict>;
404
+ }, z.core.$strict>], "action">;
405
+ export type DesktopAuditEvent = z.infer<typeof desktopAuditEventSchema>;
406
+ /** `dropped` counts events the outbox discarded before this batch, so the server can record the gap. */
407
+ export declare const desktopAuditBatchSchema: z.ZodObject<{
408
+ events: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
409
+ action: z.ZodLiteral<"desktop.request_sent">;
410
+ details: z.ZodObject<{
411
+ protocol: z.ZodEnum<{
412
+ rest: "rest";
413
+ grpc: "grpc";
414
+ soap: "soap";
415
+ websocket: "websocket";
416
+ }>;
417
+ method: z.ZodNullable<z.ZodString>;
418
+ url: z.ZodString;
419
+ status: z.ZodNullable<z.ZodNumber>;
420
+ outcome: z.ZodEnum<{
421
+ failed: "failed";
422
+ ok: "ok";
423
+ }>;
424
+ durationMs: z.ZodNumber;
425
+ environment: z.ZodNullable<z.ZodString>;
426
+ requestId: z.ZodString;
427
+ requestName: z.ZodString;
428
+ sentAt: z.ZodString;
429
+ }, z.core.$strict>;
430
+ }, z.core.$strict>, z.ZodObject<{
431
+ action: z.ZodLiteral<"desktop.run_finished">;
432
+ details: z.ZodObject<{
433
+ sequenceId: z.ZodString;
434
+ sequenceName: z.ZodString;
435
+ outcome: z.ZodEnum<{
436
+ passed: "passed";
437
+ failed: "failed";
438
+ errored: "errored";
439
+ skipped: "skipped";
440
+ cancelled: "cancelled";
441
+ }>;
442
+ passed: z.ZodNumber;
443
+ failed: z.ZodNumber;
444
+ errored: z.ZodNumber;
445
+ skipped: z.ZodNumber;
446
+ durationMs: z.ZodNumber;
447
+ hosts: z.ZodArray<z.ZodString>;
448
+ environment: z.ZodNullable<z.ZodString>;
449
+ startedAt: z.ZodString;
450
+ sentAt: z.ZodString;
451
+ }, z.core.$strict>;
452
+ }, z.core.$strict>], "action">>;
453
+ dropped: z.ZodOptional<z.ZodNumber>;
454
+ }, z.core.$strict>;
455
+ export type DesktopAuditBatch = z.infer<typeof desktopAuditBatchSchema>;
@@ -0,0 +1,186 @@
1
+ /**
2
+ * The audit-log wire shapes (audit-log spec §2, §3.4, §5.2). The server writes events and serves
3
+ * them; the desktop reads pages and streams the export. Plain zod only (ADR-0009).
4
+ *
5
+ * `details` is flat on purpose: a fire site names fields, never spreads a body, and nothing nested
6
+ * can smuggle a payload in (§6).
7
+ */
8
+ import { z } from 'zod';
9
+ /** §3.2, a closed list: a fire site references the enum, never a literal. */
10
+ export const AUDIT_ACTIONS = [
11
+ 'auth.signed_in',
12
+ 'auth.sign_in_failed',
13
+ 'auth.signed_out',
14
+ 'auth.password_changed',
15
+ 'user.invited',
16
+ 'user.invitation_revoked',
17
+ 'user.created',
18
+ 'user.disabled',
19
+ 'user.enabled',
20
+ 'user.admin_granted',
21
+ 'user.admin_revoked',
22
+ 'user.password_reset_issued',
23
+ 'team.created',
24
+ 'team.renamed',
25
+ 'team.deleted',
26
+ 'team.member_added',
27
+ 'team.member_removed',
28
+ 'team.member_role_changed',
29
+ 'workspace.created',
30
+ 'workspace.deleted',
31
+ 'workspace.renamed',
32
+ 'workspace.default_role_changed',
33
+ 'workspace.grant_set',
34
+ 'workspace.grant_removed',
35
+ 'workspace.pushed',
36
+ 'secret.shared',
37
+ 'secret.rotated',
38
+ 'secret.access_changed',
39
+ 'hook.created',
40
+ 'hook.changed',
41
+ 'hook.rotated',
42
+ 'hook.deleted',
43
+ 'hook.cleared',
44
+ 'hook.signature_set',
45
+ 'hook.signature_cleared',
46
+ 'ci_token.created',
47
+ 'ci_token.revoked',
48
+ 'license.installed',
49
+ 'license.removed',
50
+ 'audit.exported',
51
+ 'audit.verified',
52
+ 'workspace.desktop_recording_changed',
53
+ 'desktop.request_sent',
54
+ 'desktop.run_finished',
55
+ 'desktop.events_dropped',
56
+ ];
57
+ export const auditActionSchema = z.enum(AUDIT_ACTIONS);
58
+ /** The part before the dot, for the desktop's action-group filter. */
59
+ export const AUDIT_ACTION_GROUPS = [
60
+ 'auth',
61
+ 'user',
62
+ 'team',
63
+ 'workspace',
64
+ 'secret',
65
+ 'hook',
66
+ 'ci_token',
67
+ 'license',
68
+ 'audit',
69
+ 'desktop',
70
+ ];
71
+ export const AUDIT_ACTOR_KINDS = ['user', 'ci-token', 'system', 'anonymous'];
72
+ export const AUDIT_TARGET_KINDS = [
73
+ 'server',
74
+ 'user',
75
+ 'invitation',
76
+ 'team',
77
+ 'workspace',
78
+ 'hook',
79
+ 'ci-token',
80
+ 'license',
81
+ ];
82
+ export const AUDIT_LIMITS = {
83
+ defaultPageSize: 50,
84
+ maxPageSize: 200,
85
+ /** Rows per keyset query behind the export stream (§3.4). */
86
+ exportBatch: 1000,
87
+ /** `details`, serialised; a larger object is cut down with `_truncated: true` (§4.2). */
88
+ maxDetailsBytes: 4096,
89
+ maxUserAgentLength: 512,
90
+ /** `WIREBENCH_SERVER_AUDIT_MAX_AGE_DAYS` (§4.1). */
91
+ maxAgeDays: { min: 30, max: 3650, default: 365 },
92
+ };
93
+ const scalar = z.union([z.string(), z.number(), z.boolean()]);
94
+ export const auditDetailsSchema = z.record(z.string().min(1).max(64), z.union([scalar, z.null(), z.array(scalar).max(64)]));
95
+ /** `email` is the user's email at the time of the event, copied into the row (§3.4). */
96
+ export const auditActorSchema = z.object({
97
+ kind: z.enum(AUDIT_ACTOR_KINDS),
98
+ userId: z.string().optional(),
99
+ email: z.string().optional(),
100
+ tokenId: z.string().optional(),
101
+ /** A CI token's workspace (plan ruling 1). */
102
+ workspaceId: z.string().optional(),
103
+ });
104
+ export const auditEventSchema = z.object({
105
+ id: z.string(),
106
+ at: z.string().datetime(),
107
+ actor: auditActorSchema,
108
+ action: auditActionSchema,
109
+ target: z.object({ kind: z.enum(AUDIT_TARGET_KINDS), id: z.string().nullable() }),
110
+ workspaceId: z.string().nullable(),
111
+ teamId: z.string().nullable(),
112
+ ip: z.string().nullable(),
113
+ userAgent: z.string().nullable(),
114
+ details: auditDetailsSchema,
115
+ });
116
+ /** `GET /audit` (§3.4). `action` is exact, or a group prefix ending in a dot. `to` is exclusive. */
117
+ export const auditQuerySchema = z.object({
118
+ from: z.string().datetime().optional(),
119
+ to: z.string().datetime().optional(),
120
+ action: z
121
+ .string()
122
+ .regex(/^[a-z_]+\.([a-z_]+)?$/, 'an action, or a group followed by a dot')
123
+ .optional(),
124
+ actorUserId: z.string().optional(),
125
+ workspaceId: z.string().optional(),
126
+ teamId: z.string().optional(),
127
+ targetKind: z.enum(AUDIT_TARGET_KINDS).optional(),
128
+ targetId: z.string().optional(),
129
+ /** Opaque; from the previous page's `next`. */
130
+ after: z.string().max(200).optional(),
131
+ limit: z.number().int().min(1).max(AUDIT_LIMITS.maxPageSize).optional(),
132
+ });
133
+ /** `GET /audit/export` and `admin audit export`: the same filters, no paging. */
134
+ export const auditExportQuerySchema = auditQuerySchema.omit({ after: true, limit: true });
135
+ export const auditPageSchema = z.object({ events: z.array(auditEventSchema), next: z.string().optional() });
136
+ // ---- desktop events ----------------------------------------------------------------------
137
+ /** Bounds on what the desktop records and uploads (desktop audit events spec §2.2). */
138
+ export const DESKTOP_AUDIT_LIMITS = {
139
+ maxBatch: 100,
140
+ maxOutbox: 5000,
141
+ maxUrlLength: 2048,
142
+ maxHosts: 64,
143
+ maxDropped: 1_000_000,
144
+ };
145
+ /** One request the desktop sent. Metadata only: no headers, no body, no response. */
146
+ export const desktopRequestSentDetailsSchema = z.strictObject({
147
+ protocol: z.enum(['rest', 'soap', 'grpc', 'websocket']),
148
+ method: z.string().min(1).max(256).nullable(),
149
+ url: z.string().min(1).max(DESKTOP_AUDIT_LIMITS.maxUrlLength),
150
+ status: z.number().int().nullable(),
151
+ outcome: z.enum(['ok', 'failed']),
152
+ durationMs: z.number().int().min(0),
153
+ environment: z.string().min(1).max(256).nullable(),
154
+ requestId: z.string().min(1).max(128),
155
+ requestName: z.string().max(256),
156
+ sentAt: z.string().datetime(),
157
+ });
158
+ /** One finished sequence run: the engine's `SequenceOutcome` values, plus `cancelled`. */
159
+ export const desktopRunFinishedDetailsSchema = z.strictObject({
160
+ sequenceId: z.string().min(1).max(128),
161
+ /** The test suite's name; `sequenceName`, so it is never read as the workspace's `name`. */
162
+ sequenceName: z.string().max(256),
163
+ outcome: z.enum(['passed', 'failed', 'errored', 'skipped', 'cancelled']),
164
+ passed: z.number().int().min(0),
165
+ failed: z.number().int().min(0),
166
+ errored: z.number().int().min(0),
167
+ skipped: z.number().int().min(0),
168
+ durationMs: z.number().int().min(0),
169
+ hosts: z.array(z.string().min(1).max(DESKTOP_AUDIT_LIMITS.maxUrlLength)).max(DESKTOP_AUDIT_LIMITS.maxHosts),
170
+ environment: z.string().max(256).nullable(),
171
+ startedAt: z.string().datetime(),
172
+ sentAt: z.string().datetime(),
173
+ });
174
+ export const desktopAuditEventSchema = z.discriminatedUnion('action', [
175
+ z.strictObject({ action: z.literal('desktop.request_sent'), details: desktopRequestSentDetailsSchema }),
176
+ z.strictObject({ action: z.literal('desktop.run_finished'), details: desktopRunFinishedDetailsSchema }),
177
+ ]);
178
+ /** `dropped` counts events the outbox discarded before this batch, so the server can record the gap. */
179
+ export const desktopAuditBatchSchema = z
180
+ .strictObject({
181
+ events: z.array(desktopAuditEventSchema).max(DESKTOP_AUDIT_LIMITS.maxBatch),
182
+ dropped: z.number().int().min(1).max(DESKTOP_AUDIT_LIMITS.maxDropped).optional(),
183
+ })
184
+ .refine((batch) => batch.events.length > 0 || batch.dropped !== undefined, {
185
+ message: 'a batch carries events or a dropped count',
186
+ });