@workerstack/testing 0.0.0-stage → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1784) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +134 -2
  3. package/bin/testing.js +4 -0
  4. package/dist/api/cli/commands/baseline.d.ts +5 -0
  5. package/dist/api/cli/commands/baseline.js +46 -0
  6. package/dist/api/cli/commands/conformance-matrix.d.ts +40 -0
  7. package/dist/api/cli/commands/conformance-matrix.js +193 -0
  8. package/dist/api/cli/commands/conformance-proven.d.ts +15 -0
  9. package/dist/api/cli/commands/conformance-proven.js +44 -0
  10. package/dist/api/cli/commands/conformance-suites.d.ts +11 -0
  11. package/dist/api/cli/commands/conformance-suites.js +35 -0
  12. package/dist/api/cli/commands/conformance-tail.d.ts +27 -0
  13. package/dist/api/cli/commands/conformance-tail.js +61 -0
  14. package/dist/api/cli/commands/conformance-toolkit.d.ts +19 -0
  15. package/dist/api/cli/commands/conformance-toolkit.js +33 -0
  16. package/dist/api/cli/commands/conformance.d.ts +11 -0
  17. package/dist/api/cli/commands/conformance.js +191 -0
  18. package/dist/api/cli/commands/diff.d.ts +5 -0
  19. package/dist/api/cli/commands/diff.js +42 -0
  20. package/dist/api/cli/commands/doctor.d.ts +5 -0
  21. package/dist/api/cli/commands/doctor.js +44 -0
  22. package/dist/api/cli/commands/init-code.d.ts +15 -0
  23. package/dist/api/cli/commands/init-code.js +54 -0
  24. package/dist/api/cli/commands/init-config.d.ts +21 -0
  25. package/dist/api/cli/commands/init-config.js +233 -0
  26. package/dist/api/cli/commands/init.d.ts +13 -0
  27. package/dist/api/cli/commands/init.js +68 -0
  28. package/dist/api/cli/commands/plan.d.ts +11 -0
  29. package/dist/api/cli/commands/plan.js +64 -0
  30. package/dist/api/cli/commands/run-options.d.ts +29 -0
  31. package/dist/api/cli/commands/run-options.js +79 -0
  32. package/dist/api/cli/commands/run-progress.d.ts +19 -0
  33. package/dist/api/cli/commands/run-progress.js +47 -0
  34. package/dist/api/cli/commands/run-report.d.ts +42 -0
  35. package/dist/api/cli/commands/run-report.js +126 -0
  36. package/dist/api/cli/commands/run-signals.d.ts +23 -0
  37. package/dist/api/cli/commands/run-signals.js +32 -0
  38. package/dist/api/cli/commands/run.d.ts +18 -0
  39. package/dist/api/cli/commands/run.js +149 -0
  40. package/dist/api/cli/commands/serve.d.ts +24 -0
  41. package/dist/api/cli/commands/serve.js +49 -0
  42. package/dist/api/cli/commands/spec.d.ts +25 -0
  43. package/dist/api/cli/commands/spec.js +76 -0
  44. package/dist/api/cli/config.d.ts +19 -0
  45. package/dist/api/cli/config.js +40 -0
  46. package/dist/api/cli/flag-kinds.d.ts +40 -0
  47. package/dist/api/cli/flag-kinds.js +3 -0
  48. package/dist/api/cli/flags.d.ts +64 -0
  49. package/dist/api/cli/flags.js +250 -0
  50. package/dist/api/cli/legacy-run.d.ts +4 -0
  51. package/dist/api/cli/legacy-run.js +11 -0
  52. package/dist/api/cli/main.d.ts +25 -0
  53. package/dist/api/cli/main.js +76 -0
  54. package/dist/api/cli/writer.d.ts +15 -0
  55. package/dist/api/cli/writer.js +27 -0
  56. package/dist/api/cli.d.ts +3 -0
  57. package/dist/api/cli.js +10 -0
  58. package/dist/api/client/answer.d.ts +14 -0
  59. package/dist/api/client/answer.js +143 -0
  60. package/dist/api/client/attempt.d.ts +77 -0
  61. package/dist/api/client/attempt.js +3 -0
  62. package/dist/api/client/bypass.d.ts +18 -0
  63. package/dist/api/client/bypass.js +15 -0
  64. package/dist/api/client/cache-signals.d.ts +17 -0
  65. package/dist/api/client/cache-signals.js +35 -0
  66. package/dist/api/client/client.d.ts +75 -0
  67. package/dist/api/client/client.js +185 -0
  68. package/dist/api/client/control.d.ts +36 -0
  69. package/dist/api/client/control.js +69 -0
  70. package/dist/api/client/credential-source.d.ts +142 -0
  71. package/dist/api/client/credential-source.js +31 -0
  72. package/dist/api/client/credentials.d.ts +43 -0
  73. package/dist/api/client/credentials.js +178 -0
  74. package/dist/api/client/curl.d.ts +24 -0
  75. package/dist/api/client/curl.js +100 -0
  76. package/dist/api/client/declared.d.ts +17 -0
  77. package/dist/api/client/declared.js +57 -0
  78. package/dist/api/client/fence.d.ts +17 -0
  79. package/dist/api/client/fence.js +24 -0
  80. package/dist/api/client/journal.d.ts +42 -0
  81. package/dist/api/client/journal.js +75 -0
  82. package/dist/api/client/message.d.ts +15 -0
  83. package/dist/api/client/message.js +47 -0
  84. package/dist/api/client/param-style.d.ts +29 -0
  85. package/dist/api/client/param-style.js +78 -0
  86. package/dist/api/client/placing.d.ts +87 -0
  87. package/dist/api/client/placing.js +174 -0
  88. package/dist/api/client/read-path.d.ts +13 -0
  89. package/dist/api/client/read-path.js +90 -0
  90. package/dist/api/client/redirect.d.ts +37 -0
  91. package/dist/api/client/redirect.js +64 -0
  92. package/dist/api/client/refresh.d.ts +17 -0
  93. package/dist/api/client/refresh.js +14 -0
  94. package/dist/api/client/request.d.ts +20 -0
  95. package/dist/api/client/request.js +182 -0
  96. package/dist/api/client/retry.d.ts +29 -0
  97. package/dist/api/client/retry.js +100 -0
  98. package/dist/api/client/serialize.d.ts +27 -0
  99. package/dist/api/client/serialize.js +93 -0
  100. package/dist/api/client/slots.d.ts +11 -0
  101. package/dist/api/client/slots.js +20 -0
  102. package/dist/api/client/types.d.ts +149 -0
  103. package/dist/api/client/types.js +3 -0
  104. package/dist/api/config/define/define-config.d.ts +18 -0
  105. package/dist/api/config/define/define-config.js +19 -0
  106. package/dist/api/config/define/types.d.ts +13 -0
  107. package/dist/api/config/define/types.js +9 -0
  108. package/dist/api/config/env.d.ts +10 -0
  109. package/dist/api/config/env.js +31 -0
  110. package/dist/api/config/load.d.ts +19 -0
  111. package/dist/api/config/load.js +87 -0
  112. package/dist/api/config/types/config.d.ts +282 -0
  113. package/dist/api/config/types/config.js +3 -0
  114. package/dist/api/config/types/hooks.d.ts +265 -0
  115. package/dist/api/config/types/hooks.js +3 -0
  116. package/dist/api/config/types/placeholder.d.ts +11 -0
  117. package/dist/api/config/types/placeholder.js +26 -0
  118. package/dist/api/config/types/query.d.ts +76 -0
  119. package/dist/api/config/types/query.js +7 -0
  120. package/dist/api/config/types/raw.d.ts +17 -0
  121. package/dist/api/config/types/raw.js +15 -0
  122. package/dist/api/config/types/security.d.ts +138 -0
  123. package/dist/api/config/types/security.js +7 -0
  124. package/dist/api/config/types/steps.d.ts +166 -0
  125. package/dist/api/config/types/steps.js +3 -0
  126. package/dist/api/config/validate.d.ts +16 -0
  127. package/dist/api/config/validate.js +176 -0
  128. package/dist/api/conformance/effects/backend.d.ts +7 -0
  129. package/dist/api/conformance/effects/backend.js +56 -0
  130. package/dist/api/conformance/effects/spec.d.ts +4 -0
  131. package/dist/api/conformance/effects/spec.js +90 -0
  132. package/dist/api/conformance/effects.d.ts +10 -0
  133. package/dist/api/conformance/effects.js +97 -0
  134. package/dist/api/conformance/expected/composition.d.ts +8 -0
  135. package/dist/api/conformance/expected/composition.js +81 -0
  136. package/dist/api/conformance/expected/conformance.d.ts +8 -0
  137. package/dist/api/conformance/expected/conformance.js +20 -0
  138. package/dist/api/conformance/expected/consistency.d.ts +8 -0
  139. package/dist/api/conformance/expected/consistency.js +21 -0
  140. package/dist/api/conformance/expected/filter.d.ts +8 -0
  141. package/dist/api/conformance/expected/filter.js +76 -0
  142. package/dist/api/conformance/expected/isolation.d.ts +8 -0
  143. package/dist/api/conformance/expected/isolation.js +37 -0
  144. package/dist/api/conformance/expected/other.d.ts +8 -0
  145. package/dist/api/conformance/expected/other.js +26 -0
  146. package/dist/api/conformance/expected/pagination.d.ts +8 -0
  147. package/dist/api/conformance/expected/pagination.js +23 -0
  148. package/dist/api/conformance/expected/security.d.ts +8 -0
  149. package/dist/api/conformance/expected/security.js +29 -0
  150. package/dist/api/conformance/expected/sort.d.ts +8 -0
  151. package/dist/api/conformance/expected/sort.js +13 -0
  152. package/dist/api/conformance/expected/table.d.ts +11 -0
  153. package/dist/api/conformance/expected/table.js +32 -0
  154. package/dist/api/conformance/expected/validation.d.ts +8 -0
  155. package/dist/api/conformance/expected/validation.js +12 -0
  156. package/dist/api/conformance/expected/write.d.ts +8 -0
  157. package/dist/api/conformance/expected/write.js +66 -0
  158. package/dist/api/conformance/expected-failures.d.ts +18 -0
  159. package/dist/api/conformance/expected-failures.js +18 -0
  160. package/dist/api/conformance/feature-gate/harness.d.ts +20 -0
  161. package/dist/api/conformance/feature-gate/harness.js +109 -0
  162. package/dist/api/conformance/feature-gate/spec.d.ts +5 -0
  163. package/dist/api/conformance/feature-gate/spec.js +114 -0
  164. package/dist/api/conformance/feature-gate.d.ts +11 -0
  165. package/dist/api/conformance/feature-gate.js +189 -0
  166. package/dist/api/conformance/fuzz/diagnose.d.ts +78 -0
  167. package/dist/api/conformance/fuzz/diagnose.js +102 -0
  168. package/dist/api/conformance/fuzz/render.d.ts +11 -0
  169. package/dist/api/conformance/fuzz/render.js +59 -0
  170. package/dist/api/conformance/fuzz.d.ts +55 -0
  171. package/dist/api/conformance/fuzz.js +139 -0
  172. package/dist/api/conformance/harness/counting.d.ts +62 -0
  173. package/dist/api/conformance/harness/counting.js +135 -0
  174. package/dist/api/conformance/harness/launch.d.ts +50 -0
  175. package/dist/api/conformance/harness/launch.js +46 -0
  176. package/dist/api/conformance/harness/result.d.ts +8 -0
  177. package/dist/api/conformance/harness/result.js +2 -0
  178. package/dist/api/conformance/harness/routes.d.ts +13 -0
  179. package/dist/api/conformance/harness/routes.js +15 -0
  180. package/dist/api/conformance/harness/security.d.ts +24 -0
  181. package/dist/api/conformance/harness/security.js +24 -0
  182. package/dist/api/conformance/harness/serve.d.ts +13 -0
  183. package/dist/api/conformance/harness/serve.js +26 -0
  184. package/dist/api/conformance/leaks.d.ts +30 -0
  185. package/dist/api/conformance/leaks.js +75 -0
  186. package/dist/api/conformance/matrix/cases.d.ts +63 -0
  187. package/dist/api/conformance/matrix/cases.js +157 -0
  188. package/dist/api/conformance/matrix/defects.d.ts +72 -0
  189. package/dist/api/conformance/matrix/defects.js +233 -0
  190. package/dist/api/conformance/matrix/engines.d.ts +26 -0
  191. package/dist/api/conformance/matrix/engines.js +45 -0
  192. package/dist/api/conformance/matrix/expected.d.ts +9 -0
  193. package/dist/api/conformance/matrix/expected.js +14 -0
  194. package/dist/api/conformance/matrix/opt-in.d.ts +14 -0
  195. package/dist/api/conformance/matrix/opt-in.js +15 -0
  196. package/dist/api/conformance/matrix/principals.d.ts +11 -0
  197. package/dist/api/conformance/matrix/principals.js +51 -0
  198. package/dist/api/conformance/matrix/render.d.ts +47 -0
  199. package/dist/api/conformance/matrix/render.js +211 -0
  200. package/dist/api/conformance/pool.d.ts +46 -0
  201. package/dist/api/conformance/pool.js +104 -0
  202. package/dist/api/conformance/rate-limit/backend.d.ts +9 -0
  203. package/dist/api/conformance/rate-limit/backend.js +90 -0
  204. package/dist/api/conformance/rate-limit/spec.d.ts +7 -0
  205. package/dist/api/conformance/rate-limit/spec.js +71 -0
  206. package/dist/api/conformance/rate-limit.d.ts +9 -0
  207. package/dist/api/conformance/rate-limit.js +137 -0
  208. package/dist/api/conformance/scope.d.ts +16 -0
  209. package/dist/api/conformance/scope.js +87 -0
  210. package/dist/api/conformance/seed-contract/fixture-walk.d.ts +42 -0
  211. package/dist/api/conformance/seed-contract/fixture-walk.js +143 -0
  212. package/dist/api/conformance/seed-contract/members.d.ts +15 -0
  213. package/dist/api/conformance/seed-contract/members.js +145 -0
  214. package/dist/api/conformance/seed-contract/project.d.ts +11 -0
  215. package/dist/api/conformance/seed-contract/project.js +113 -0
  216. package/dist/api/conformance/seed-contract/users.d.ts +14 -0
  217. package/dist/api/conformance/seed-contract/users.js +103 -0
  218. package/dist/api/conformance/seed-contract.d.ts +13 -0
  219. package/dist/api/conformance/seed-contract.js +152 -0
  220. package/dist/api/conformance/serve-tasks.d.ts +20 -0
  221. package/dist/api/conformance/serve-tasks.js +14 -0
  222. package/dist/api/conformance/shapes.d.ts +69 -0
  223. package/dist/api/conformance/shapes.js +208 -0
  224. package/dist/api/conformance/shards.d.ts +20 -0
  225. package/dist/api/conformance/shards.js +43 -0
  226. package/dist/api/conformance/specs/documents.d.ts +7 -0
  227. package/dist/api/conformance/specs/documents.js +131 -0
  228. package/dist/api/conformance/specs/models.d.ts +5 -0
  229. package/dist/api/conformance/specs/models.js +252 -0
  230. package/dist/api/conformance/specs/types.d.ts +10 -0
  231. package/dist/api/conformance/specs/types.js +2 -0
  232. package/dist/api/conformance/specs.d.ts +16 -0
  233. package/dist/api/conformance/specs.js +18 -0
  234. package/dist/api/conformance/suites/coverage-report.d.ts +9 -0
  235. package/dist/api/conformance/suites/coverage-report.js +50 -0
  236. package/dist/api/conformance/suites/example.d.ts +4 -0
  237. package/dist/api/conformance/suites/example.js +65 -0
  238. package/dist/api/conformance/suites/parser.d.ts +4 -0
  239. package/dist/api/conformance/suites/parser.js +92 -0
  240. package/dist/api/conformance/suites/payload-catalog.d.ts +3 -0
  241. package/dist/api/conformance/suites/payload-catalog.js +13 -0
  242. package/dist/api/conformance/suites/public-catalog.d.ts +7 -0
  243. package/dist/api/conformance/suites/public-catalog.js +168 -0
  244. package/dist/api/conformance/suites/render.d.ts +6 -0
  245. package/dist/api/conformance/suites/render.js +19 -0
  246. package/dist/api/conformance/suites/repro-syntax.d.ts +11 -0
  247. package/dist/api/conformance/suites/repro-syntax.js +55 -0
  248. package/dist/api/conformance/suites/tag-unlock.d.ts +19 -0
  249. package/dist/api/conformance/suites/tag-unlock.js +54 -0
  250. package/dist/api/conformance/suites/tenant-scope.d.ts +4 -0
  251. package/dist/api/conformance/suites/tenant-scope.js +125 -0
  252. package/dist/api/conformance/tasks.d.ts +70 -0
  253. package/dist/api/conformance/tasks.js +53 -0
  254. package/dist/api/conformance/unique/backend.d.ts +53 -0
  255. package/dist/api/conformance/unique/backend.js +152 -0
  256. package/dist/api/conformance/unique/cases.d.ts +22 -0
  257. package/dist/api/conformance/unique/cases.js +201 -0
  258. package/dist/api/conformance/unique/document.d.ts +12 -0
  259. package/dist/api/conformance/unique/document.js +106 -0
  260. package/dist/api/conformance/unique/judges.d.ts +28 -0
  261. package/dist/api/conformance/unique/judges.js +118 -0
  262. package/dist/api/conformance/unique/spec.d.ts +14 -0
  263. package/dist/api/conformance/unique/spec.js +139 -0
  264. package/dist/api/conformance/unique.d.ts +9 -0
  265. package/dist/api/conformance/unique.js +19 -0
  266. package/dist/api/conformance/worker.d.ts +3 -0
  267. package/dist/api/conformance/worker.js +5 -0
  268. package/dist/api/credentials/anchors.d.ts +24 -0
  269. package/dist/api/credentials/anchors.js +32 -0
  270. package/dist/api/credentials/dedicated.d.ts +8 -0
  271. package/dist/api/credentials/dedicated.js +106 -0
  272. package/dist/api/credentials/effective.d.ts +5 -0
  273. package/dist/api/credentials/effective.js +25 -0
  274. package/dist/api/credentials/expiry.d.ts +18 -0
  275. package/dist/api/credentials/expiry.js +24 -0
  276. package/dist/api/credentials/interpolate.d.ts +21 -0
  277. package/dist/api/credentials/interpolate.js +79 -0
  278. package/dist/api/credentials/jwt.d.ts +7 -0
  279. package/dist/api/credentials/jwt.js +20 -0
  280. package/dist/api/credentials/origin-recipes.d.ts +13 -0
  281. package/dist/api/credentials/origin-recipes.js +23 -0
  282. package/dist/api/credentials/placeholders.d.ts +10 -0
  283. package/dist/api/credentials/placeholders.js +71 -0
  284. package/dist/api/credentials/placement.d.ts +23 -0
  285. package/dist/api/credentials/placement.js +41 -0
  286. package/dist/api/credentials/ports.d.ts +96 -0
  287. package/dist/api/credentials/ports.js +2 -0
  288. package/dist/api/credentials/probe-principal.d.ts +9 -0
  289. package/dist/api/credentials/probe-principal.js +23 -0
  290. package/dist/api/credentials/read.d.ts +4 -0
  291. package/dist/api/credentials/read.js +16 -0
  292. package/dist/api/credentials/recipes/acquire.d.ts +7 -0
  293. package/dist/api/credentials/recipes/acquire.js +32 -0
  294. package/dist/api/credentials/recipes/answer.d.ts +14 -0
  295. package/dist/api/credentials/recipes/answer.js +32 -0
  296. package/dist/api/credentials/recipes/hook.d.ts +9 -0
  297. package/dist/api/credentials/recipes/hook.js +21 -0
  298. package/dist/api/credentials/recipes/login.d.ts +18 -0
  299. package/dist/api/credentials/recipes/login.js +146 -0
  300. package/dist/api/credentials/recipes/mint.d.ts +5 -0
  301. package/dist/api/credentials/recipes/mint.js +60 -0
  302. package/dist/api/credentials/recipes/oauth2.d.ts +5 -0
  303. package/dist/api/credentials/recipes/oauth2.js +54 -0
  304. package/dist/api/credentials/recipes/static.d.ts +8 -0
  305. package/dist/api/credentials/recipes/static.js +14 -0
  306. package/dist/api/credentials/recipes/types.d.ts +31 -0
  307. package/dist/api/credentials/recipes/types.js +2 -0
  308. package/dist/api/credentials/refresh.d.ts +13 -0
  309. package/dist/api/credentials/refresh.js +30 -0
  310. package/dist/api/credentials/satisfy.d.ts +13 -0
  311. package/dist/api/credentials/satisfy.js +35 -0
  312. package/dist/api/credentials/sign-in-fields.d.ts +4 -0
  313. package/dist/api/credentials/sign-in-fields.js +36 -0
  314. package/dist/api/credentials/signup.d.ts +9 -0
  315. package/dist/api/credentials/signup.js +24 -0
  316. package/dist/api/credentials/store-plan.d.ts +94 -0
  317. package/dist/api/credentials/store-plan.js +144 -0
  318. package/dist/api/credentials/store-types.d.ts +133 -0
  319. package/dist/api/credentials/store-types.js +3 -0
  320. package/dist/api/credentials/store.d.ts +5 -0
  321. package/dist/api/credentials/store.js +222 -0
  322. package/dist/api/credentials/validate/document.d.ts +10 -0
  323. package/dist/api/credentials/validate/document.js +52 -0
  324. package/dist/api/credentials/validate/origins.d.ts +27 -0
  325. package/dist/api/credentials/validate/origins.js +41 -0
  326. package/dist/api/credentials/validate/principals.d.ts +28 -0
  327. package/dist/api/credentials/validate/principals.js +184 -0
  328. package/dist/api/credentials/validate/recipe-shape.d.ts +22 -0
  329. package/dist/api/credentials/validate/recipe-shape.js +169 -0
  330. package/dist/api/credentials/validate/scenario-placeholders.d.ts +7 -0
  331. package/dist/api/credentials/validate/scenario-placeholders.js +106 -0
  332. package/dist/api/credentials/validate/security.d.ts +37 -0
  333. package/dist/api/credentials/validate/security.js +179 -0
  334. package/dist/api/credentials/writer.d.ts +5 -0
  335. package/dist/api/credentials/writer.js +9 -0
  336. package/dist/api/errors/message.d.ts +3 -0
  337. package/dist/api/errors/message.js +5 -0
  338. package/dist/api/errors/missing-value.d.ts +13 -0
  339. package/dist/api/errors/missing-value.js +16 -0
  340. package/dist/api/errors/network.d.ts +21 -0
  341. package/dist/api/errors/network.js +122 -0
  342. package/dist/api/errors/node-floor.d.ts +8 -0
  343. package/dist/api/errors/node-floor.js +8 -0
  344. package/dist/api/errors/suggest.d.ts +5 -0
  345. package/dist/api/errors/suggest.js +29 -0
  346. package/dist/api/errors/usage-error.d.ts +9 -0
  347. package/dist/api/errors/usage-error.js +9 -0
  348. package/dist/api/index.d.ts +26 -0
  349. package/dist/api/index.js +18 -0
  350. package/dist/api/reference/defects/bystanders.d.ts +8 -0
  351. package/dist/api/reference/defects/bystanders.js +7 -0
  352. package/dist/api/reference/defects/catalog.d.ts +88 -0
  353. package/dist/api/reference/defects/catalog.js +88 -0
  354. package/dist/api/reference/defects/composition.d.ts +59 -0
  355. package/dist/api/reference/defects/composition.js +59 -0
  356. package/dist/api/reference/defects/core.d.ts +63 -0
  357. package/dist/api/reference/defects/core.js +63 -0
  358. package/dist/api/reference/defects/defect-set.d.ts +10 -0
  359. package/dist/api/reference/defects/defect-set.js +19 -0
  360. package/dist/api/reference/defects/freshness.d.ts +8 -0
  361. package/dist/api/reference/defects/freshness.js +8 -0
  362. package/dist/api/reference/defects/query.d.ts +58 -0
  363. package/dist/api/reference/defects/query.js +58 -0
  364. package/dist/api/reference/defects/records.d.ts +172 -0
  365. package/dist/api/reference/defects/records.js +172 -0
  366. package/dist/api/reference/defects/security.d.ts +32 -0
  367. package/dist/api/reference/defects/security.js +32 -0
  368. package/dist/api/reference/defects/table.d.ts +21 -0
  369. package/dist/api/reference/defects/table.js +31 -0
  370. package/dist/api/reference/dialect/canonical.d.ts +10 -0
  371. package/dist/api/reference/dialect/canonical.js +42 -0
  372. package/dist/api/reference/dialect/presets.d.ts +63 -0
  373. package/dist/api/reference/dialect/presets.js +193 -0
  374. package/dist/api/reference/dialect/template.d.ts +3 -0
  375. package/dist/api/reference/dialect/template.js +63 -0
  376. package/dist/api/reference/dialect/types.d.ts +61 -0
  377. package/dist/api/reference/dialect/types.js +2 -0
  378. package/dist/api/reference/http/access.d.ts +27 -0
  379. package/dist/api/reference/http/access.js +131 -0
  380. package/dist/api/reference/http/auth/api-keys.d.ts +27 -0
  381. package/dist/api/reference/http/auth/api-keys.js +83 -0
  382. package/dist/api/reference/http/auth/credentials.d.ts +12 -0
  383. package/dist/api/reference/http/auth/credentials.js +33 -0
  384. package/dist/api/reference/http/auth/jwt.d.ts +11 -0
  385. package/dist/api/reference/http/auth/jwt.js +38 -0
  386. package/dist/api/reference/http/auth/sessions.d.ts +18 -0
  387. package/dist/api/reference/http/auth/sessions.js +105 -0
  388. package/dist/api/reference/http/auth/throttle.d.ts +8 -0
  389. package/dist/api/reference/http/auth/throttle.js +28 -0
  390. package/dist/api/reference/http/auth/types.d.ts +80 -0
  391. package/dist/api/reference/http/auth/types.js +3 -0
  392. package/dist/api/reference/http/body.d.ts +11 -0
  393. package/dist/api/reference/http/body.js +55 -0
  394. package/dist/api/reference/http/engines.d.ts +46 -0
  395. package/dist/api/reference/http/engines.js +75 -0
  396. package/dist/api/reference/http/errors.d.ts +16 -0
  397. package/dist/api/reference/http/errors.js +47 -0
  398. package/dist/api/reference/http/fetch.d.ts +4 -0
  399. package/dist/api/reference/http/fetch.js +12 -0
  400. package/dist/api/reference/http/handlers/actions.d.ts +6 -0
  401. package/dist/api/reference/http/handlers/actions.js +59 -0
  402. package/dist/api/reference/http/handlers/api-keys.d.ts +16 -0
  403. package/dist/api/reference/http/handlers/api-keys.js +64 -0
  404. package/dist/api/reference/http/handlers/auth.d.ts +25 -0
  405. package/dist/api/reference/http/handlers/auth.js +123 -0
  406. package/dist/api/reference/http/handlers/create.d.ts +6 -0
  407. package/dist/api/reference/http/handlers/create.js +141 -0
  408. package/dist/api/reference/http/handlers/entity.d.ts +9 -0
  409. package/dist/api/reference/http/handlers/entity.js +3 -0
  410. package/dist/api/reference/http/handlers/fixed.d.ts +16 -0
  411. package/dist/api/reference/http/handlers/fixed.js +129 -0
  412. package/dist/api/reference/http/handlers/grants.d.ts +6 -0
  413. package/dist/api/reference/http/handlers/grants.js +65 -0
  414. package/dist/api/reference/http/handlers/item.d.ts +8 -0
  415. package/dist/api/reference/http/handlers/item.js +129 -0
  416. package/dist/api/reference/http/handlers/list.d.ts +6 -0
  417. package/dist/api/reference/http/handlers/list.js +139 -0
  418. package/dist/api/reference/http/handlers/query-route.d.ts +4 -0
  419. package/dist/api/reference/http/handlers/query-route.js +35 -0
  420. package/dist/api/reference/http/handlers/styles.d.ts +4 -0
  421. package/dist/api/reference/http/handlers/styles.js +22 -0
  422. package/dist/api/reference/http/handlers/totp.d.ts +9 -0
  423. package/dist/api/reference/http/handlers/totp.js +34 -0
  424. package/dist/api/reference/http/ids.d.ts +38 -0
  425. package/dist/api/reference/http/ids.js +82 -0
  426. package/dist/api/reference/http/listing-query.d.ts +49 -0
  427. package/dist/api/reference/http/listing-query.js +120 -0
  428. package/dist/api/reference/http/node.d.ts +15 -0
  429. package/dist/api/reference/http/node.js +39 -0
  430. package/dist/api/reference/http/privileged.d.ts +12 -0
  431. package/dist/api/reference/http/privileged.js +27 -0
  432. package/dist/api/reference/http/read-cache.d.ts +27 -0
  433. package/dist/api/reference/http/read-cache.js +39 -0
  434. package/dist/api/reference/http/records.d.ts +36 -0
  435. package/dist/api/reference/http/records.js +116 -0
  436. package/dist/api/reference/http/reference.d.ts +48 -0
  437. package/dist/api/reference/http/reference.js +155 -0
  438. package/dist/api/reference/http/router.d.ts +6 -0
  439. package/dist/api/reference/http/router.js +121 -0
  440. package/dist/api/reference/http/routes.d.ts +9 -0
  441. package/dist/api/reference/http/routes.js +31 -0
  442. package/dist/api/reference/http/server.d.ts +10 -0
  443. package/dist/api/reference/http/server.js +25 -0
  444. package/dist/api/reference/http/state.d.ts +102 -0
  445. package/dist/api/reference/http/state.js +22 -0
  446. package/dist/api/reference/http/store-ops.d.ts +47 -0
  447. package/dist/api/reference/http/store-ops.js +161 -0
  448. package/dist/api/reference/http/validation.d.ts +26 -0
  449. package/dist/api/reference/http/validation.js +188 -0
  450. package/dist/api/reference/http/wire.d.ts +28 -0
  451. package/dist/api/reference/http/wire.js +23 -0
  452. package/dist/api/reference/listing/axes.d.ts +14 -0
  453. package/dist/api/reference/listing/axes.js +21 -0
  454. package/dist/api/reference/listing/order.d.ts +16 -0
  455. package/dist/api/reference/listing/order.js +37 -0
  456. package/dist/api/reference/listing/params.d.ts +19 -0
  457. package/dist/api/reference/listing/params.js +31 -0
  458. package/dist/api/reference/listing/predicate.d.ts +22 -0
  459. package/dist/api/reference/listing/predicate.js +56 -0
  460. package/dist/api/reference/listing/project.d.ts +14 -0
  461. package/dist/api/reference/listing/project.js +36 -0
  462. package/dist/api/reference/listing/run.d.ts +22 -0
  463. package/dist/api/reference/listing/run.js +88 -0
  464. package/dist/api/reference/listing/select.d.ts +13 -0
  465. package/dist/api/reference/listing/select.js +56 -0
  466. package/dist/api/reference/listing/types.d.ts +38 -0
  467. package/dist/api/reference/listing/types.js +2 -0
  468. package/dist/api/reference/listing/window.d.ts +23 -0
  469. package/dist/api/reference/listing/window.js +39 -0
  470. package/dist/api/reference/model/entities.d.ts +4 -0
  471. package/dist/api/reference/model/entities.js +7 -0
  472. package/dist/api/reference/model/fields.d.ts +11 -0
  473. package/dist/api/reference/model/fields.js +20 -0
  474. package/dist/api/reference/model/identity.d.ts +8 -0
  475. package/dist/api/reference/model/identity.js +27 -0
  476. package/dist/api/reference/model/job.d.ts +7 -0
  477. package/dist/api/reference/model/job.js +69 -0
  478. package/dist/api/reference/model/row.d.ts +4 -0
  479. package/dist/api/reference/model/row.js +46 -0
  480. package/dist/api/reference/model/shaped.d.ts +10 -0
  481. package/dist/api/reference/model/shaped.js +33 -0
  482. package/dist/api/reference/model/string-guard.d.ts +12 -0
  483. package/dist/api/reference/model/string-guard.js +15 -0
  484. package/dist/api/reference/model/table-shape.d.ts +7 -0
  485. package/dist/api/reference/model/table-shape.js +68 -0
  486. package/dist/api/reference/model/table.d.ts +4 -0
  487. package/dist/api/reference/model/table.js +72 -0
  488. package/dist/api/reference/model/timestamps.d.ts +4 -0
  489. package/dist/api/reference/model/timestamps.js +6 -0
  490. package/dist/api/reference/model/types.d.ts +92 -0
  491. package/dist/api/reference/model/types.js +8 -0
  492. package/dist/api/reference/model/webhook.d.ts +8 -0
  493. package/dist/api/reference/model/webhook.js +29 -0
  494. package/dist/api/reference/query/coerce.d.ts +10 -0
  495. package/dist/api/reference/query/coerce.js +27 -0
  496. package/dist/api/reference/query/compare.d.ts +6 -0
  497. package/dist/api/reference/query/compare.js +23 -0
  498. package/dist/api/reference/query/conventions.d.ts +20 -0
  499. package/dist/api/reference/query/conventions.js +3 -0
  500. package/dist/api/reference/query/evaluate.d.ts +6 -0
  501. package/dist/api/reference/query/evaluate.js +69 -0
  502. package/dist/api/reference/query/fields.d.ts +7 -0
  503. package/dist/api/reference/query/fields.js +18 -0
  504. package/dist/api/reference/query/filter.d.ts +18 -0
  505. package/dist/api/reference/query/filter.js +75 -0
  506. package/dist/api/reference/query/like.d.ts +5 -0
  507. package/dist/api/reference/query/like.js +38 -0
  508. package/dist/api/reference/query/operator.d.ts +7 -0
  509. package/dist/api/reference/query/operator.js +54 -0
  510. package/dist/api/reference/query/order.d.ts +10 -0
  511. package/dist/api/reference/query/order.js +59 -0
  512. package/dist/api/reference/query/scalar.d.ts +5 -0
  513. package/dist/api/reference/query/scalar.js +19 -0
  514. package/dist/api/reference/query/search.d.ts +9 -0
  515. package/dist/api/reference/query/search.js +24 -0
  516. package/dist/api/reference/query/split.d.ts +7 -0
  517. package/dist/api/reference/query/split.js +29 -0
  518. package/dist/api/reference/query/term-list.d.ts +7 -0
  519. package/dist/api/reference/query/term-list.js +40 -0
  520. package/dist/api/reference/query/term-types.d.ts +17 -0
  521. package/dist/api/reference/query/term-types.js +2 -0
  522. package/dist/api/reference/query/term.d.ts +5 -0
  523. package/dist/api/reference/query/term.js +98 -0
  524. package/dist/api/reference/query/tree.d.ts +6 -0
  525. package/dist/api/reference/query/tree.js +24 -0
  526. package/dist/api/reference/query-types.d.ts +76 -0
  527. package/dist/api/reference/query-types.js +4 -0
  528. package/dist/api/reference/shapes/catalog.d.ts +4 -0
  529. package/dist/api/reference/shapes/catalog.js +203 -0
  530. package/dist/api/reference/shapes/dialect.d.ts +5 -0
  531. package/dist/api/reference/shapes/dialect.js +61 -0
  532. package/dist/api/reference/shapes/named.d.ts +4 -0
  533. package/dist/api/reference/shapes/named.js +10 -0
  534. package/dist/api/reference/shapes/types.d.ts +112 -0
  535. package/dist/api/reference/shapes/types.js +14 -0
  536. package/dist/api/reference/spec/auth.d.ts +5 -0
  537. package/dist/api/reference/spec/auth.js +176 -0
  538. package/dist/api/reference/spec/build.d.ts +13 -0
  539. package/dist/api/reference/spec/build.js +66 -0
  540. package/dist/api/reference/spec/caller.d.ts +9 -0
  541. package/dist/api/reference/spec/caller.js +262 -0
  542. package/dist/api/reference/spec/collection.d.ts +17 -0
  543. package/dist/api/reference/spec/collection.js +146 -0
  544. package/dist/api/reference/spec/components.d.ts +4 -0
  545. package/dist/api/reference/spec/components.js +38 -0
  546. package/dist/api/reference/spec/consistency.d.ts +10 -0
  547. package/dist/api/reference/spec/consistency.js +10 -0
  548. package/dist/api/reference/spec/errors.d.ts +11 -0
  549. package/dist/api/reference/spec/errors.js +85 -0
  550. package/dist/api/reference/spec/invites.d.ts +5 -0
  551. package/dist/api/reference/spec/invites.js +92 -0
  552. package/dist/api/reference/spec/item.d.ts +6 -0
  553. package/dist/api/reference/spec/item.js +95 -0
  554. package/dist/api/reference/spec/jobs.d.ts +5 -0
  555. package/dist/api/reference/spec/jobs.js +119 -0
  556. package/dist/api/reference/spec/layout.d.ts +5 -0
  557. package/dist/api/reference/spec/layout.js +25 -0
  558. package/dist/api/reference/spec/operation.d.ts +15 -0
  559. package/dist/api/reference/spec/operation.js +31 -0
  560. package/dist/api/reference/spec/params.d.ts +12 -0
  561. package/dist/api/reference/spec/params.js +126 -0
  562. package/dist/api/reference/spec/public.d.ts +7 -0
  563. package/dist/api/reference/spec/public.js +65 -0
  564. package/dist/api/reference/spec/query-route.d.ts +10 -0
  565. package/dist/api/reference/spec/query-route.js +55 -0
  566. package/dist/api/reference/spec/query.d.ts +6 -0
  567. package/dist/api/reference/spec/query.js +109 -0
  568. package/dist/api/reference/spec/schemas.d.ts +21 -0
  569. package/dist/api/reference/spec/schemas.js +204 -0
  570. package/dist/api/reference/spec/security.d.ts +10 -0
  571. package/dist/api/reference/spec/security.js +19 -0
  572. package/dist/api/reference/spec/styles.d.ts +8 -0
  573. package/dist/api/reference/spec/styles.js +55 -0
  574. package/dist/api/reference/spec/types.d.ts +9 -0
  575. package/dist/api/reference/spec/types.js +2 -0
  576. package/dist/api/reference/store-api.d.ts +34 -0
  577. package/dist/api/reference/store-api.js +37 -0
  578. package/dist/api/reference/stores/memory.d.ts +29 -0
  579. package/dist/api/reference/stores/memory.js +66 -0
  580. package/dist/api/reference/stores/postgres-driver.d.ts +9 -0
  581. package/dist/api/reference/stores/postgres-driver.js +27 -0
  582. package/dist/api/reference/stores/postgres.d.ts +62 -0
  583. package/dist/api/reference/stores/postgres.js +188 -0
  584. package/dist/api/reference/stores/sql-compile.d.ts +53 -0
  585. package/dist/api/reference/stores/sql-compile.js +105 -0
  586. package/dist/api/reference/stores/sqlite-driver.d.ts +54 -0
  587. package/dist/api/reference/stores/sqlite-driver.js +100 -0
  588. package/dist/api/reference/stores/sqlite.d.ts +58 -0
  589. package/dist/api/reference/stores/sqlite.js +219 -0
  590. package/dist/api/report/confidence.d.ts +32 -0
  591. package/dist/api/report/confidence.js +134 -0
  592. package/dist/api/report/console/bypass.d.ts +13 -0
  593. package/dist/api/report/console/bypass.js +29 -0
  594. package/dist/api/report/console/catalog-checks.d.ts +9 -0
  595. package/dist/api/report/console/catalog-checks.js +106 -0
  596. package/dist/api/report/console/catalog.d.ts +45 -0
  597. package/dist/api/report/console/catalog.js +73 -0
  598. package/dist/api/report/console/describe.d.ts +27 -0
  599. package/dist/api/report/console/describe.js +58 -0
  600. package/dist/api/report/console/doctor-facts.d.ts +61 -0
  601. package/dist/api/report/console/doctor-facts.js +50 -0
  602. package/dist/api/report/console/doctor-notes.d.ts +12 -0
  603. package/dist/api/report/console/doctor-notes.js +77 -0
  604. package/dist/api/report/console/doctor-text.d.ts +12 -0
  605. package/dist/api/report/console/doctor-text.js +68 -0
  606. package/dist/api/report/console/doctor.d.ts +26 -0
  607. package/dist/api/report/console/doctor.js +78 -0
  608. package/dist/api/report/console/gaps.d.ts +9 -0
  609. package/dist/api/report/console/gaps.js +23 -0
  610. package/dist/api/report/console/plan.d.ts +19 -0
  611. package/dist/api/report/console/plan.js +138 -0
  612. package/dist/api/report/console/report.d.ts +8 -0
  613. package/dist/api/report/console/report.js +5 -0
  614. package/dist/api/report/console/roots.d.ts +28 -0
  615. package/dist/api/report/console/roots.js +34 -0
  616. package/dist/api/report/console/security-text.d.ts +8 -0
  617. package/dist/api/report/console/security-text.js +106 -0
  618. package/dist/api/report/console/security.d.ts +93 -0
  619. package/dist/api/report/console/security.js +153 -0
  620. package/dist/api/report/console/tags.d.ts +23 -0
  621. package/dist/api/report/console/tags.js +113 -0
  622. package/dist/api/report/diff.d.ts +57 -0
  623. package/dist/api/report/diff.js +95 -0
  624. package/dist/api/report/matrix/band.d.ts +7 -0
  625. package/dist/api/report/matrix/band.js +113 -0
  626. package/dist/api/report/matrix/cards.d.ts +9 -0
  627. package/dist/api/report/matrix/cards.js +41 -0
  628. package/dist/api/report/matrix/catalog.d.ts +33 -0
  629. package/dist/api/report/matrix/catalog.js +152 -0
  630. package/dist/api/report/matrix/graph.d.ts +16 -0
  631. package/dist/api/report/matrix/graph.js +108 -0
  632. package/dist/api/report/matrix/invalidate.d.ts +7 -0
  633. package/dist/api/report/matrix/invalidate.js +30 -0
  634. package/dist/api/report/matrix/loom.d.ts +7 -0
  635. package/dist/api/report/matrix/loom.js +117 -0
  636. package/dist/api/report/matrix/mermaid.d.ts +7 -0
  637. package/dist/api/report/matrix/mermaid.js +65 -0
  638. package/dist/api/report/matrix/poster.d.ts +10 -0
  639. package/dist/api/report/matrix/poster.js +105 -0
  640. package/dist/api/report/matrix/rows.d.ts +34 -0
  641. package/dist/api/report/matrix/rows.js +68 -0
  642. package/dist/api/report/matrix/slice.d.ts +25 -0
  643. package/dist/api/report/matrix/slice.js +62 -0
  644. package/dist/api/report/matrix/strips.d.ts +5 -0
  645. package/dist/api/report/matrix/strips.js +23 -0
  646. package/dist/api/report/matrix/style.d.ts +4 -0
  647. package/dist/api/report/matrix/style.js +103 -0
  648. package/dist/api/report/matrix/summary.d.ts +8 -0
  649. package/dist/api/report/matrix/summary.js +49 -0
  650. package/dist/api/report/matrix/text.d.ts +6 -0
  651. package/dist/api/report/matrix/text.js +10 -0
  652. package/dist/api/report/matrix/types.d.ts +149 -0
  653. package/dist/api/report/matrix/types.js +6 -0
  654. package/dist/api/report/matrix/view.d.ts +6 -0
  655. package/dist/api/report/matrix/view.js +41 -0
  656. package/dist/api/report/render/coverage.d.ts +29 -0
  657. package/dist/api/report/render/coverage.js +78 -0
  658. package/dist/api/report/render/input.d.ts +88 -0
  659. package/dist/api/report/render/input.js +2 -0
  660. package/dist/api/report/render/json.d.ts +9 -0
  661. package/dist/api/report/render/json.js +108 -0
  662. package/dist/api/report/render/junit.d.ts +14 -0
  663. package/dist/api/report/render/junit.js +218 -0
  664. package/dist/api/report/render/markdown-findings.d.ts +8 -0
  665. package/dist/api/report/render/markdown-findings.js +53 -0
  666. package/dist/api/report/render/markdown-head.d.ts +8 -0
  667. package/dist/api/report/render/markdown-head.js +82 -0
  668. package/dist/api/report/render/markdown-sections.d.ts +35 -0
  669. package/dist/api/report/render/markdown-sections.js +125 -0
  670. package/dist/api/report/render/markdown.d.ts +12 -0
  671. package/dist/api/report/render/markdown.js +38 -0
  672. package/dist/api/report/render/repro.d.ts +13 -0
  673. package/dist/api/report/render/repro.js +47 -0
  674. package/dist/api/report/render/scope.d.ts +8 -0
  675. package/dist/api/report/render/scope.js +98 -0
  676. package/dist/api/report/render/step-summary.d.ts +17 -0
  677. package/dist/api/report/render/step-summary.js +153 -0
  678. package/dist/api/report/render/summary.d.ts +3 -0
  679. package/dist/api/report/render/summary.js +143 -0
  680. package/dist/api/report/render/text.d.ts +13 -0
  681. package/dist/api/report/render/text.js +54 -0
  682. package/dist/api/report/render/traffic.d.ts +37 -0
  683. package/dist/api/report/render/traffic.js +54 -0
  684. package/dist/api/report/render/verdicts.d.ts +10 -0
  685. package/dist/api/report/render/verdicts.js +33 -0
  686. package/dist/api/runtime/accounts/identity.d.ts +14 -0
  687. package/dist/api/runtime/accounts/identity.js +30 -0
  688. package/dist/api/runtime/accounts/ledger.d.ts +68 -0
  689. package/dist/api/runtime/accounts/ledger.js +96 -0
  690. package/dist/api/runtime/accounts/ops.d.ts +28 -0
  691. package/dist/api/runtime/accounts/ops.js +35 -0
  692. package/dist/api/runtime/accounts/watch.d.ts +19 -0
  693. package/dist/api/runtime/accounts/watch.js +66 -0
  694. package/dist/api/runtime/async.d.ts +95 -0
  695. package/dist/api/runtime/async.js +206 -0
  696. package/dist/api/runtime/baseline.d.ts +34 -0
  697. package/dist/api/runtime/baseline.js +103 -0
  698. package/dist/api/runtime/blocked-check.d.ts +14 -0
  699. package/dist/api/runtime/blocked-check.js +18 -0
  700. package/dist/api/runtime/body/encode.d.ts +20 -0
  701. package/dist/api/runtime/body/encode.js +50 -0
  702. package/dist/api/runtime/body/form-data.d.ts +16 -0
  703. package/dist/api/runtime/body/form-data.js +41 -0
  704. package/dist/api/runtime/body/form-pairs.d.ts +13 -0
  705. package/dist/api/runtime/body/form-pairs.js +26 -0
  706. package/dist/api/runtime/body/multipart.d.ts +7 -0
  707. package/dist/api/runtime/body/multipart.js +78 -0
  708. package/dist/api/runtime/body/schema.d.ts +12 -0
  709. package/dist/api/runtime/body/schema.js +68 -0
  710. package/dist/api/runtime/body/types.d.ts +33 -0
  711. package/dist/api/runtime/body/types.js +3 -0
  712. package/dist/api/runtime/body/upload-parts.d.ts +14 -0
  713. package/dist/api/runtime/body/upload-parts.js +53 -0
  714. package/dist/api/runtime/check-costs.d.ts +15 -0
  715. package/dist/api/runtime/check-costs.js +133 -0
  716. package/dist/api/runtime/check-ids.d.ts +35 -0
  717. package/dist/api/runtime/check-ids.js +204 -0
  718. package/dist/api/runtime/checks/core/check.d.ts +116 -0
  719. package/dist/api/runtime/checks/core/check.js +3 -0
  720. package/dist/api/runtime/checks/core/context.d.ts +175 -0
  721. package/dist/api/runtime/checks/core/context.js +10 -0
  722. package/dist/api/runtime/checks/core/define.d.ts +7 -0
  723. package/dist/api/runtime/checks/core/define.js +10 -0
  724. package/dist/api/runtime/checks/core/operation-context.d.ts +162 -0
  725. package/dist/api/runtime/checks/core/operation-context.js +3 -0
  726. package/dist/api/runtime/checks/core/operation.d.ts +20 -0
  727. package/dist/api/runtime/checks/core/operation.js +33 -0
  728. package/dist/api/runtime/checks/core/plan.d.ts +30 -0
  729. package/dist/api/runtime/checks/core/plan.js +24 -0
  730. package/dist/api/runtime/checks/core/registry.d.ts +12 -0
  731. package/dist/api/runtime/checks/core/registry.js +38 -0
  732. package/dist/api/runtime/checks/core/run.d.ts +26 -0
  733. package/dist/api/runtime/checks/core/run.js +65 -0
  734. package/dist/api/runtime/checks/families/composition/plans.d.ts +35 -0
  735. package/dist/api/runtime/checks/families/composition/plans.js +147 -0
  736. package/dist/api/runtime/checks/families/composition/query-axes-compose.d.ts +19 -0
  737. package/dist/api/runtime/checks/families/composition/query-axes-compose.js +89 -0
  738. package/dist/api/runtime/checks/families/composition/query-filter-and-select-compose.d.ts +20 -0
  739. package/dist/api/runtime/checks/families/composition/query-filter-and-select-compose.js +83 -0
  740. package/dist/api/runtime/checks/families/composition/query-filter-search-select-compose.d.ts +12 -0
  741. package/dist/api/runtime/checks/families/composition/query-filter-search-select-compose.js +81 -0
  742. package/dist/api/runtime/checks/families/composition/query-filter-search-sort-compose.d.ts +14 -0
  743. package/dist/api/runtime/checks/families/composition/query-filter-search-sort-compose.js +84 -0
  744. package/dist/api/runtime/checks/families/composition/query-filter-search-sort-select-compose.d.ts +9 -0
  745. package/dist/api/runtime/checks/families/composition/query-filter-search-sort-select-compose.js +75 -0
  746. package/dist/api/runtime/checks/families/composition/query-filter-selects-from-whole-set.d.ts +19 -0
  747. package/dist/api/runtime/checks/families/composition/query-filter-selects-from-whole-set.js +101 -0
  748. package/dist/api/runtime/checks/families/composition/query-filter-sort-select-compose.d.ts +17 -0
  749. package/dist/api/runtime/checks/families/composition/query-filter-sort-select-compose.js +89 -0
  750. package/dist/api/runtime/checks/families/composition/query-search-and-filter-compose.d.ts +18 -0
  751. package/dist/api/runtime/checks/families/composition/query-search-and-filter-compose.js +84 -0
  752. package/dist/api/runtime/checks/families/composition/query-search-and-select-compose.d.ts +8 -0
  753. package/dist/api/runtime/checks/families/composition/query-search-and-select-compose.js +57 -0
  754. package/dist/api/runtime/checks/families/composition/query-search-and-sort-compose.d.ts +7 -0
  755. package/dist/api/runtime/checks/families/composition/query-search-and-sort-compose.js +79 -0
  756. package/dist/api/runtime/checks/families/composition/query-sort-and-select-compose.d.ts +7 -0
  757. package/dist/api/runtime/checks/families/composition/query-sort-and-select-compose.js +57 -0
  758. package/dist/api/runtime/checks/families/composition/query-unknown-parameter-consistent.d.ts +13 -0
  759. package/dist/api/runtime/checks/families/composition/query-unknown-parameter-consistent.js +76 -0
  760. package/dist/api/runtime/checks/families/conformance/response-status-is-documented.d.ts +10 -0
  761. package/dist/api/runtime/checks/families/conformance/response-status-is-documented.js +117 -0
  762. package/dist/api/runtime/checks/families/conformance/response-write-only-not-returned.d.ts +13 -0
  763. package/dist/api/runtime/checks/families/conformance/response-write-only-not-returned.js +116 -0
  764. package/dist/api/runtime/checks/families/conformance/schema-error-response-matches-document.d.ts +10 -0
  765. package/dist/api/runtime/checks/families/conformance/schema-error-response-matches-document.js +119 -0
  766. package/dist/api/runtime/checks/families/conformance/schema-problem-json-shape.d.ts +11 -0
  767. package/dist/api/runtime/checks/families/conformance/schema-problem-json-shape.js +92 -0
  768. package/dist/api/runtime/checks/families/conformance/schema-read-response-matches-document.d.ts +15 -0
  769. package/dist/api/runtime/checks/families/conformance/schema-read-response-matches-document.js +111 -0
  770. package/dist/api/runtime/checks/families/conformance/schema-success-response-matches-document.d.ts +10 -0
  771. package/dist/api/runtime/checks/families/conformance/schema-success-response-matches-document.js +58 -0
  772. package/dist/api/runtime/checks/families/conformance/schema-verdict.d.ts +12 -0
  773. package/dist/api/runtime/checks/families/conformance/schema-verdict.js +27 -0
  774. package/dist/api/runtime/checks/families/consistency/bypass-is-fresh.d.ts +12 -0
  775. package/dist/api/runtime/checks/families/consistency/bypass-is-fresh.js +57 -0
  776. package/dist/api/runtime/checks/families/consistency/consistency-projections-agree.d.ts +28 -0
  777. package/dist/api/runtime/checks/families/consistency/consistency-projections-agree.js +165 -0
  778. package/dist/api/runtime/checks/families/consistency/freshness-write.d.ts +37 -0
  779. package/dist/api/runtime/checks/families/consistency/freshness-write.js +79 -0
  780. package/dist/api/runtime/checks/families/consistency/invalidation-declared-route-changes.d.ts +22 -0
  781. package/dist/api/runtime/checks/families/consistency/invalidation-declared-route-changes.js +130 -0
  782. package/dist/api/runtime/checks/families/consistency/list-item-matches-listed-row.d.ts +7 -0
  783. package/dist/api/runtime/checks/families/consistency/list-item-matches-listed-row.js +71 -0
  784. package/dist/api/runtime/checks/families/consistency/list-read-after-write.d.ts +5 -0
  785. package/dist/api/runtime/checks/families/consistency/list-read-after-write.js +101 -0
  786. package/dist/api/runtime/checks/families/consistency/staleness-schedule.d.ts +15 -0
  787. package/dist/api/runtime/checks/families/consistency/staleness-schedule.js +31 -0
  788. package/dist/api/runtime/checks/families/consistency/staleness-watch.d.ts +35 -0
  789. package/dist/api/runtime/checks/families/consistency/staleness-watch.js +32 -0
  790. package/dist/api/runtime/checks/families/consistency/staleness-within-bound.d.ts +18 -0
  791. package/dist/api/runtime/checks/families/consistency/staleness-within-bound.js +109 -0
  792. package/dist/api/runtime/checks/families/effects-async/async-reaches-terminal-state.d.ts +3 -0
  793. package/dist/api/runtime/checks/families/effects-async/async-reaches-terminal-state.js +161 -0
  794. package/dist/api/runtime/checks/families/effects-async/async-receipt-identifies-the-job.d.ts +3 -0
  795. package/dist/api/runtime/checks/families/effects-async/async-receipt-identifies-the-job.js +54 -0
  796. package/dist/api/runtime/checks/families/effects-async/effect-verdicts.d.ts +27 -0
  797. package/dist/api/runtime/checks/families/effects-async/effect-verdicts.js +133 -0
  798. package/dist/api/runtime/checks/families/effects-async/effects-declared-effect-occurs.d.ts +3 -0
  799. package/dist/api/runtime/checks/families/effects-async/effects-declared-effect-occurs.js +174 -0
  800. package/dist/api/runtime/checks/families/effects-async/effects-side-effect-arrives.d.ts +7 -0
  801. package/dist/api/runtime/checks/families/effects-async/effects-side-effect-arrives.js +99 -0
  802. package/dist/api/runtime/checks/families/effects-async/observe.d.ts +25 -0
  803. package/dist/api/runtime/checks/families/effects-async/observe.js +39 -0
  804. package/dist/api/runtime/checks/families/effects-async/requests.d.ts +9 -0
  805. package/dist/api/runtime/checks/families/effects-async/requests.js +23 -0
  806. package/dist/api/runtime/checks/families/filter/compound.d.ts +51 -0
  807. package/dist/api/runtime/checks/families/filter/compound.js +75 -0
  808. package/dist/api/runtime/checks/families/filter/error-malformed-filter-not-5xx.d.ts +3 -0
  809. package/dist/api/runtime/checks/families/filter/error-malformed-filter-not-5xx.js +46 -0
  810. package/dist/api/runtime/checks/families/filter/fields.d.ts +16 -0
  811. package/dist/api/runtime/checks/families/filter/fields.js +54 -0
  812. package/dist/api/runtime/checks/families/filter/filter-alias-matches-canonical.d.ts +3 -0
  813. package/dist/api/runtime/checks/families/filter/filter-alias-matches-canonical.js +60 -0
  814. package/dist/api/runtime/checks/families/filter/filter-and-composes-as-intersection.d.ts +10 -0
  815. package/dist/api/runtime/checks/families/filter/filter-and-composes-as-intersection.js +54 -0
  816. package/dist/api/runtime/checks/families/filter/filter-condition-cap-rejected.d.ts +7 -0
  817. package/dist/api/runtime/checks/families/filter/filter-condition-cap-rejected.js +39 -0
  818. package/dist/api/runtime/checks/families/filter/filter-contains-membership.d.ts +8 -0
  819. package/dist/api/runtime/checks/families/filter/filter-contains-membership.js +66 -0
  820. package/dist/api/runtime/checks/families/filter/filter-empty-in.d.ts +8 -0
  821. package/dist/api/runtime/checks/families/filter/filter-empty-in.js +54 -0
  822. package/dist/api/runtime/checks/families/filter/filter-equality-selects-exactly-one.d.ts +7 -0
  823. package/dist/api/runtime/checks/families/filter/filter-equality-selects-exactly-one.js +45 -0
  824. package/dist/api/runtime/checks/families/filter/filter-gte-is-gt-or-eq.d.ts +4 -0
  825. package/dist/api/runtime/checks/families/filter/filter-gte-is-gt-or-eq.js +21 -0
  826. package/dist/api/runtime/checks/families/filter/filter-ilike-is-case-insensitive.d.ts +10 -0
  827. package/dist/api/runtime/checks/families/filter/filter-ilike-is-case-insensitive.js +65 -0
  828. package/dist/api/runtime/checks/families/filter/filter-illegal-op-rejected.d.ts +17 -0
  829. package/dist/api/runtime/checks/families/filter/filter-illegal-op-rejected.js +103 -0
  830. package/dist/api/runtime/checks/families/filter/filter-in-is-union-of-eq.d.ts +10 -0
  831. package/dist/api/runtime/checks/families/filter/filter-in-is-union-of-eq.js +57 -0
  832. package/dist/api/runtime/checks/families/filter/filter-in-over-limit-rejected.d.ts +7 -0
  833. package/dist/api/runtime/checks/families/filter/filter-in-over-limit-rejected.js +38 -0
  834. package/dist/api/runtime/checks/families/filter/filter-is-null-selects-nulls.d.ts +8 -0
  835. package/dist/api/runtime/checks/families/filter/filter-is-null-selects-nulls.js +71 -0
  836. package/dist/api/runtime/checks/families/filter/filter-like-metacharacters-escaped.d.ts +6 -0
  837. package/dist/api/runtime/checks/families/filter/filter-like-metacharacters-escaped.js +56 -0
  838. package/dist/api/runtime/checks/families/filter/filter-lte-is-lt-or-eq.d.ts +4 -0
  839. package/dist/api/runtime/checks/families/filter/filter-lte-is-lt-or-eq.js +21 -0
  840. package/dist/api/runtime/checks/families/filter/filter-malformed-term-rejected.d.ts +11 -0
  841. package/dist/api/runtime/checks/families/filter/filter-malformed-term-rejected.js +72 -0
  842. package/dist/api/runtime/checks/families/filter/filter-negation-partitions-the-set.d.ts +8 -0
  843. package/dist/api/runtime/checks/families/filter/filter-negation-partitions-the-set.js +99 -0
  844. package/dist/api/runtime/checks/families/filter/filter-nested-and-or-distributes.d.ts +8 -0
  845. package/dist/api/runtime/checks/families/filter/filter-nested-and-or-distributes.js +80 -0
  846. package/dist/api/runtime/checks/families/filter/filter-nin-complements-in.d.ts +8 -0
  847. package/dist/api/runtime/checks/families/filter/filter-nin-complements-in.js +90 -0
  848. package/dist/api/runtime/checks/families/filter/filter-numeric-comparison-is-numeric.d.ts +32 -0
  849. package/dist/api/runtime/checks/families/filter/filter-numeric-comparison-is-numeric.js +125 -0
  850. package/dist/api/runtime/checks/families/filter/filter-or-composes-as-union.d.ts +10 -0
  851. package/dist/api/runtime/checks/families/filter/filter-or-composes-as-union.js +58 -0
  852. package/dist/api/runtime/checks/families/filter/filter-ordered-triple-partitions.d.ts +9 -0
  853. package/dist/api/runtime/checks/families/filter/filter-ordered-triple-partitions.js +103 -0
  854. package/dist/api/runtime/checks/families/filter/filter-unknown-field-rejected.d.ts +5 -0
  855. package/dist/api/runtime/checks/families/filter/filter-unknown-field-rejected.js +53 -0
  856. package/dist/api/runtime/checks/families/filter/filter-zero-match-returns-none.d.ts +5 -0
  857. package/dist/api/runtime/checks/families/filter/filter-zero-match-returns-none.js +38 -0
  858. package/dist/api/runtime/checks/families/filter/range.d.ts +16 -0
  859. package/dist/api/runtime/checks/families/filter/range.js +57 -0
  860. package/dist/api/runtime/checks/families/isolation/auth-invite-grants-then-revokes.d.ts +10 -0
  861. package/dist/api/runtime/checks/families/isolation/auth-invite-grants-then-revokes.js +138 -0
  862. package/dist/api/runtime/checks/families/isolation/auth-rank-is-monotonic-on-writes.d.ts +14 -0
  863. package/dist/api/runtime/checks/families/isolation/auth-rank-is-monotonic-on-writes.js +127 -0
  864. package/dist/api/runtime/checks/families/isolation/auth-rank-is-monotonic.d.ts +18 -0
  865. package/dist/api/runtime/checks/families/isolation/auth-rank-is-monotonic.js +74 -0
  866. package/dist/api/runtime/checks/families/isolation/invite-flow.d.ts +66 -0
  867. package/dist/api/runtime/checks/families/isolation/invite-flow.js +160 -0
  868. package/dist/api/runtime/checks/families/isolation/tenant-denial-does-not-reveal-existence.d.ts +21 -0
  869. package/dist/api/runtime/checks/families/isolation/tenant-denial-does-not-reveal-existence.js +71 -0
  870. package/dist/api/runtime/checks/families/isolation/tenant-filter-does-not-bypass-scope.d.ts +8 -0
  871. package/dist/api/runtime/checks/families/isolation/tenant-filter-does-not-bypass-scope.js +68 -0
  872. package/dist/api/runtime/checks/families/isolation/tenant-item-not-readable-cross-tenant.d.ts +9 -0
  873. package/dist/api/runtime/checks/families/isolation/tenant-item-not-readable-cross-tenant.js +60 -0
  874. package/dist/api/runtime/checks/families/isolation/tenant-item-not-writable-cross-tenant.d.ts +18 -0
  875. package/dist/api/runtime/checks/families/isolation/tenant-item-not-writable-cross-tenant.js +120 -0
  876. package/dist/api/runtime/checks/families/isolation/tenant-parent-not-reachable-from-another-root.d.ts +17 -0
  877. package/dist/api/runtime/checks/families/isolation/tenant-parent-not-reachable-from-another-root.js +137 -0
  878. package/dist/api/runtime/checks/families/isolation/tenant.d.ts +8 -0
  879. package/dist/api/runtime/checks/families/isolation/tenant.js +11 -0
  880. package/dist/api/runtime/checks/families/pagination/count-consistent-with-returned-page.d.ts +10 -0
  881. package/dist/api/runtime/checks/families/pagination/count-consistent-with-returned-page.js +43 -0
  882. package/dist/api/runtime/checks/families/pagination/count-matches-filtered-set.d.ts +5 -0
  883. package/dist/api/runtime/checks/families/pagination/count-matches-filtered-set.js +44 -0
  884. package/dist/api/runtime/checks/families/pagination/pagination-bounds-handled.d.ts +14 -0
  885. package/dist/api/runtime/checks/families/pagination/pagination-bounds-handled.js +74 -0
  886. package/dist/api/runtime/checks/families/pagination/pagination-cursor-agrees-with-page.d.ts +3 -0
  887. package/dist/api/runtime/checks/families/pagination/pagination-cursor-agrees-with-page.js +109 -0
  888. package/dist/api/runtime/checks/families/pagination/pagination-has-more-is-accurate.d.ts +3 -0
  889. package/dist/api/runtime/checks/families/pagination/pagination-has-more-is-accurate.js +36 -0
  890. package/dist/api/runtime/checks/families/pagination/pagination-limit-bounds-enforced.d.ts +10 -0
  891. package/dist/api/runtime/checks/families/pagination/pagination-limit-bounds-enforced.js +54 -0
  892. package/dist/api/runtime/checks/families/pagination/pagination-limit-bounds-page-size.d.ts +3 -0
  893. package/dist/api/runtime/checks/families/pagination/pagination-limit-bounds-page-size.js +28 -0
  894. package/dist/api/runtime/checks/families/pagination/pagination-limit-respects-documented-max.d.ts +6 -0
  895. package/dist/api/runtime/checks/families/pagination/pagination-limit-respects-documented-max.js +39 -0
  896. package/dist/api/runtime/checks/families/pagination/pagination-page-walk-covers-set.d.ts +3 -0
  897. package/dist/api/runtime/checks/families/pagination/pagination-page-walk-covers-set.js +90 -0
  898. package/dist/api/runtime/checks/families/pagination/walk.d.ts +16 -0
  899. package/dist/api/runtime/checks/families/pagination/walk.js +23 -0
  900. package/dist/api/runtime/checks/families/search-select/search-case-insensitive.d.ts +6 -0
  901. package/dist/api/runtime/checks/families/search-select/search-case-insensitive.js +63 -0
  902. package/dist/api/runtime/checks/families/search-select/search-empty-q.d.ts +6 -0
  903. package/dist/api/runtime/checks/families/search-select/search-empty-q.js +51 -0
  904. package/dist/api/runtime/checks/families/search-select/search-mode-accepted.d.ts +3 -0
  905. package/dist/api/runtime/checks/families/search-select/search-mode-accepted.js +42 -0
  906. package/dist/api/runtime/checks/families/search-select/search-q-narrows-result.d.ts +5 -0
  907. package/dist/api/runtime/checks/families/search-select/search-q-narrows-result.js +38 -0
  908. package/dist/api/runtime/checks/families/search-select/search-tokens-and.d.ts +6 -0
  909. package/dist/api/runtime/checks/families/search-select/search-tokens-and.js +64 -0
  910. package/dist/api/runtime/checks/families/search-select/select-nested-honored.d.ts +10 -0
  911. package/dist/api/runtime/checks/families/search-select/select-nested-honored.js +60 -0
  912. package/dist/api/runtime/checks/families/search-select/select-projection-honored.d.ts +6 -0
  913. package/dist/api/runtime/checks/families/search-select/select-projection-honored.js +42 -0
  914. package/dist/api/runtime/checks/families/search-select/select-requested-fields-present.d.ts +6 -0
  915. package/dist/api/runtime/checks/families/search-select/select-requested-fields-present.js +45 -0
  916. package/dist/api/runtime/checks/families/search-select/select-unknown-field-rejected.d.ts +8 -0
  917. package/dist/api/runtime/checks/families/search-select/select-unknown-field-rejected.js +48 -0
  918. package/dist/api/runtime/checks/families/security/auth-alternative-accepted.d.ts +20 -0
  919. package/dist/api/runtime/checks/families/security/auth-alternative-accepted.js +84 -0
  920. package/dist/api/runtime/checks/families/security/auth-anonymous-operation-open.d.ts +6 -0
  921. package/dist/api/runtime/checks/families/security/auth-anonymous-operation-open.js +47 -0
  922. package/dist/api/runtime/checks/families/security/auth-cross-tenant-key-refused.d.ts +20 -0
  923. package/dist/api/runtime/checks/families/security/auth-cross-tenant-key-refused.js +89 -0
  924. package/dist/api/runtime/checks/families/security/auth-invalid-credential-refused.d.ts +16 -0
  925. package/dist/api/runtime/checks/families/security/auth-invalid-credential-refused.js +67 -0
  926. package/dist/api/runtime/checks/families/security/auth-login-throttled.d.ts +16 -0
  927. package/dist/api/runtime/checks/families/security/auth-login-throttled.js +91 -0
  928. package/dist/api/runtime/checks/families/security/auth-missing-credential-refused.d.ts +4 -0
  929. package/dist/api/runtime/checks/families/security/auth-missing-credential-refused.js +29 -0
  930. package/dist/api/runtime/checks/families/security/auth-privileged-field-ignored.d.ts +34 -0
  931. package/dist/api/runtime/checks/families/security/auth-privileged-field-ignored.js +210 -0
  932. package/dist/api/runtime/checks/families/security/auth-refresh-reuse-refused.d.ts +10 -0
  933. package/dist/api/runtime/checks/families/security/auth-refresh-reuse-refused.js +52 -0
  934. package/dist/api/runtime/checks/families/security/auth-revoked-credential-refused.d.ts +10 -0
  935. package/dist/api/runtime/checks/families/security/auth-revoked-credential-refused.js +57 -0
  936. package/dist/api/runtime/checks/families/security/auth-role-enforced.d.ts +21 -0
  937. package/dist/api/runtime/checks/families/security/auth-role-enforced.js +74 -0
  938. package/dist/api/runtime/checks/families/security/auth-scope-enforced.d.ts +10 -0
  939. package/dist/api/runtime/checks/families/security/auth-scope-enforced.js +89 -0
  940. package/dist/api/runtime/checks/families/security/auth-wrong-scheme-refused.d.ts +10 -0
  941. package/dist/api/runtime/checks/families/security/auth-wrong-scheme-refused.js +45 -0
  942. package/dist/api/runtime/checks/families/security/lifecycle.d.ts +70 -0
  943. package/dist/api/runtime/checks/families/security/lifecycle.js +161 -0
  944. package/dist/api/runtime/checks/families/security/privileged-signup.d.ts +44 -0
  945. package/dist/api/runtime/checks/families/security/privileged-signup.js +227 -0
  946. package/dist/api/runtime/checks/families/security/probing.d.ts +77 -0
  947. package/dist/api/runtime/checks/families/security/probing.js +148 -0
  948. package/dist/api/runtime/checks/families/security/writable.d.ts +19 -0
  949. package/dist/api/runtime/checks/families/security/writable.js +40 -0
  950. package/dist/api/runtime/checks/families/sort/sort-default-order-applied.d.ts +5 -0
  951. package/dist/api/runtime/checks/families/sort/sort-default-order-applied.js +47 -0
  952. package/dist/api/runtime/checks/families/sort/sort-invalid-direction-rejected.d.ts +10 -0
  953. package/dist/api/runtime/checks/families/sort/sort-invalid-direction-rejected.js +56 -0
  954. package/dist/api/runtime/checks/families/sort/sort-multi-key-tiebreak.d.ts +8 -0
  955. package/dist/api/runtime/checks/families/sort/sort-multi-key-tiebreak.js +76 -0
  956. package/dist/api/runtime/checks/families/sort/sort-nulls-first-last.d.ts +8 -0
  957. package/dist/api/runtime/checks/families/sort/sort-nulls-first-last.js +67 -0
  958. package/dist/api/runtime/checks/families/sort/sort-numeric-order-is-numeric.d.ts +6 -0
  959. package/dist/api/runtime/checks/families/sort/sort-numeric-order-is-numeric.js +44 -0
  960. package/dist/api/runtime/checks/families/sort/sort-order-is-applied.d.ts +5 -0
  961. package/dist/api/runtime/checks/families/sort/sort-order-is-applied.js +54 -0
  962. package/dist/api/runtime/checks/families/sort/sort-reverse-symmetry.d.ts +5 -0
  963. package/dist/api/runtime/checks/families/sort/sort-reverse-symmetry.js +115 -0
  964. package/dist/api/runtime/checks/families/sort/sort-stable-tiebreak.d.ts +6 -0
  965. package/dist/api/runtime/checks/families/sort/sort-stable-tiebreak.js +80 -0
  966. package/dist/api/runtime/checks/families/sort/sort-unknown-field-rejected.d.ts +3 -0
  967. package/dist/api/runtime/checks/families/sort/sort-unknown-field-rejected.js +38 -0
  968. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-filterable-is-filterable.d.ts +18 -0
  969. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-filterable-is-filterable.js +139 -0
  970. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-filterable-ops-accepted.d.ts +3 -0
  971. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-filterable-ops-accepted.js +90 -0
  972. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-rate-limit-is-honored.d.ts +14 -0
  973. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-rate-limit-is-honored.js +62 -0
  974. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-selectable-is-selectable.d.ts +8 -0
  975. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-selectable-is-selectable.js +79 -0
  976. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-sortable-is-sortable.d.ts +8 -0
  977. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-sortable-is-sortable.js +76 -0
  978. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-sortable-nulls-accepted.d.ts +3 -0
  979. package/dist/api/runtime/checks/families/spec-declarations/spec-declared-sortable-nulls-accepted.js +52 -0
  980. package/dist/api/runtime/checks/families/validation/bodies.d.ts +16 -0
  981. package/dist/api/runtime/checks/families/validation/bodies.js +30 -0
  982. package/dist/api/runtime/checks/families/validation/invalid-body.d.ts +29 -0
  983. package/dist/api/runtime/checks/families/validation/invalid-body.js +52 -0
  984. package/dist/api/runtime/checks/families/validation/request-invalid-body-refused.d.ts +18 -0
  985. package/dist/api/runtime/checks/families/validation/request-invalid-body-refused.js +152 -0
  986. package/dist/api/runtime/checks/families/validation/undeliverable.d.ts +3 -0
  987. package/dist/api/runtime/checks/families/validation/undeliverable.js +40 -0
  988. package/dist/api/runtime/checks/families/validation/validation-content-type-enforced.d.ts +9 -0
  989. package/dist/api/runtime/checks/families/validation/validation-content-type-enforced.js +50 -0
  990. package/dist/api/runtime/checks/families/validation/validation-enum-enforced.d.ts +6 -0
  991. package/dist/api/runtime/checks/families/validation/validation-enum-enforced.js +44 -0
  992. package/dist/api/runtime/checks/families/validation/validation-max-length-enforced.d.ts +6 -0
  993. package/dist/api/runtime/checks/families/validation/validation-max-length-enforced.js +44 -0
  994. package/dist/api/runtime/checks/families/validation/validation-required-enforced.d.ts +6 -0
  995. package/dist/api/runtime/checks/families/validation/validation-required-enforced.js +40 -0
  996. package/dist/api/runtime/checks/families/write/concurrency-if-match-enforced.d.ts +23 -0
  997. package/dist/api/runtime/checks/families/write/concurrency-if-match-enforced.js +154 -0
  998. package/dist/api/runtime/checks/families/write/concurrency-no-lost-update.d.ts +14 -0
  999. package/dist/api/runtime/checks/families/write/concurrency-no-lost-update.js +216 -0
  1000. package/dist/api/runtime/checks/families/write/create-keeps-submitted-identity.d.ts +11 -0
  1001. package/dist/api/runtime/checks/families/write/create-keeps-submitted-identity.js +122 -0
  1002. package/dist/api/runtime/checks/families/write/create-persists-submitted-fields.d.ts +20 -0
  1003. package/dist/api/runtime/checks/families/write/create-persists-submitted-fields.js +209 -0
  1004. package/dist/api/runtime/checks/families/write/create-status-matches-document.d.ts +7 -0
  1005. package/dist/api/runtime/checks/families/write/create-status-matches-document.js +34 -0
  1006. package/dist/api/runtime/checks/families/write/create-unique-conflict-rejected.d.ts +11 -0
  1007. package/dist/api/runtime/checks/families/write/create-unique-conflict-rejected.js +172 -0
  1008. package/dist/api/runtime/checks/families/write/delete-absent-record-returns-404.d.ts +7 -0
  1009. package/dist/api/runtime/checks/families/write/delete-absent-record-returns-404.js +46 -0
  1010. package/dist/api/runtime/checks/families/write/idempotency-replay-does-not-duplicate.d.ts +21 -0
  1011. package/dist/api/runtime/checks/families/write/idempotency-replay-does-not-duplicate.js +132 -0
  1012. package/dist/api/runtime/checks/families/write/patch-immutable-field-rejected.d.ts +8 -0
  1013. package/dist/api/runtime/checks/families/write/patch-immutable-field-rejected.js +65 -0
  1014. package/dist/api/runtime/checks/families/write/patch-minimality.d.ts +8 -0
  1015. package/dist/api/runtime/checks/families/write/patch-minimality.js +160 -0
  1016. package/dist/api/runtime/checks/families/write/payload-cases.d.ts +37 -0
  1017. package/dist/api/runtime/checks/families/write/payload-cases.js +132 -0
  1018. package/dist/api/runtime/checks/families/write/payload-claims.d.ts +28 -0
  1019. package/dist/api/runtime/checks/families/write/payload-claims.js +46 -0
  1020. package/dist/api/runtime/checks/families/write/payload-probe.d.ts +48 -0
  1021. package/dist/api/runtime/checks/families/write/payload-probe.js +172 -0
  1022. package/dist/api/runtime/checks/families/write/payload-string-survives.d.ts +9 -0
  1023. package/dist/api/runtime/checks/families/write/payload-string-survives.js +135 -0
  1024. package/dist/api/runtime/checks/families/write/records.d.ts +16 -0
  1025. package/dist/api/runtime/checks/families/write/records.js +51 -0
  1026. package/dist/api/runtime/checks/families/write/softdelete-absent-from-default-list.d.ts +6 -0
  1027. package/dist/api/runtime/checks/families/write/softdelete-absent-from-default-list.js +56 -0
  1028. package/dist/api/runtime/checks/families/write/update-persists-submitted-fields.d.ts +17 -0
  1029. package/dist/api/runtime/checks/families/write/update-persists-submitted-fields.js +150 -0
  1030. package/dist/api/runtime/checks/families/write/update-unique-conflict-rejected.d.ts +9 -0
  1031. package/dist/api/runtime/checks/families/write/update-unique-conflict-rejected.js +140 -0
  1032. package/dist/api/runtime/checks/isolation/scratch.d.ts +38 -0
  1033. package/dist/api/runtime/checks/isolation/scratch.js +74 -0
  1034. package/dist/api/runtime/checks/payloads/body.d.ts +36 -0
  1035. package/dist/api/runtime/checks/payloads/body.js +122 -0
  1036. package/dist/api/runtime/checks/payloads/create.d.ts +18 -0
  1037. package/dist/api/runtime/checks/payloads/create.js +26 -0
  1038. package/dist/api/runtime/checks/payloads/identity.d.ts +29 -0
  1039. package/dist/api/runtime/checks/payloads/identity.js +81 -0
  1040. package/dist/api/runtime/checks/payloads/item-schema.d.ts +20 -0
  1041. package/dist/api/runtime/checks/payloads/item-schema.js +39 -0
  1042. package/dist/api/runtime/checks/payloads/lanes.d.ts +12 -0
  1043. package/dist/api/runtime/checks/payloads/lanes.js +10 -0
  1044. package/dist/api/runtime/checks/payloads/stored-as.d.ts +7 -0
  1045. package/dist/api/runtime/checks/payloads/stored-as.js +14 -0
  1046. package/dist/api/runtime/checks/payloads/update-drops.d.ts +10 -0
  1047. package/dist/api/runtime/checks/payloads/update-drops.js +16 -0
  1048. package/dist/api/runtime/checks/planning/declarations.d.ts +7 -0
  1049. package/dist/api/runtime/checks/planning/declarations.js +11 -0
  1050. package/dist/api/runtime/checks/planning/refusal.d.ts +21 -0
  1051. package/dist/api/runtime/checks/planning/refusal.js +39 -0
  1052. package/dist/api/runtime/checks/planning/stand-down.d.ts +26 -0
  1053. package/dist/api/runtime/checks/planning/stand-down.js +47 -0
  1054. package/dist/api/runtime/checks/planning/subjects.d.ts +32 -0
  1055. package/dist/api/runtime/checks/planning/subjects.js +51 -0
  1056. package/dist/api/runtime/checks/query/capabilities.d.ts +66 -0
  1057. package/dist/api/runtime/checks/query/capabilities.js +169 -0
  1058. package/dist/api/runtime/checks/query/order.d.ts +56 -0
  1059. package/dist/api/runtime/checks/query/order.js +145 -0
  1060. package/dist/api/runtime/checks/registry.d.ts +3 -0
  1061. package/dist/api/runtime/checks/registry.js +289 -0
  1062. package/dist/api/runtime/checks/sets/compare.d.ts +76 -0
  1063. package/dist/api/runtime/checks/sets/compare.js +148 -0
  1064. package/dist/api/runtime/checks/sets/list.d.ts +44 -0
  1065. package/dist/api/runtime/checks/sets/list.js +77 -0
  1066. package/dist/api/runtime/checks/sets/read.d.ts +58 -0
  1067. package/dist/api/runtime/checks/sets/read.js +196 -0
  1068. package/dist/api/runtime/contract/calls.d.ts +7 -0
  1069. package/dist/api/runtime/contract/calls.js +88 -0
  1070. package/dist/api/runtime/contract/check.d.ts +13 -0
  1071. package/dist/api/runtime/contract/check.js +19 -0
  1072. package/dist/api/runtime/contract/deletes.d.ts +8 -0
  1073. package/dist/api/runtime/contract/deletes.js +131 -0
  1074. package/dist/api/runtime/contract/judge.d.ts +9 -0
  1075. package/dist/api/runtime/contract/judge.js +47 -0
  1076. package/dist/api/runtime/contract/made-by-run.d.ts +17 -0
  1077. package/dist/api/runtime/contract/made-by-run.js +53 -0
  1078. package/dist/api/runtime/contract/params.d.ts +26 -0
  1079. package/dist/api/runtime/contract/params.js +73 -0
  1080. package/dist/api/runtime/contract/request.d.ts +43 -0
  1081. package/dist/api/runtime/contract/request.js +232 -0
  1082. package/dist/api/runtime/contract/types.d.ts +90 -0
  1083. package/dist/api/runtime/contract/types.js +2 -0
  1084. package/dist/api/runtime/cookies/jar.d.ts +27 -0
  1085. package/dist/api/runtime/cookies/jar.js +112 -0
  1086. package/dist/api/runtime/cookies/redirect.d.ts +28 -0
  1087. package/dist/api/runtime/cookies/redirect.js +40 -0
  1088. package/dist/api/runtime/cookies/save-as.d.ts +30 -0
  1089. package/dist/api/runtime/cookies/save-as.js +50 -0
  1090. package/dist/api/runtime/cookies/set-cookie.d.ts +12 -0
  1091. package/dist/api/runtime/cookies/set-cookie.js +83 -0
  1092. package/dist/api/runtime/create-tracker.d.ts +41 -0
  1093. package/dist/api/runtime/create-tracker.js +181 -0
  1094. package/dist/api/runtime/created-id.d.ts +84 -0
  1095. package/dist/api/runtime/created-id.js +162 -0
  1096. package/dist/api/runtime/credential-records.d.ts +21 -0
  1097. package/dist/api/runtime/credential-records.js +34 -0
  1098. package/dist/api/runtime/disposable/after.d.ts +26 -0
  1099. package/dist/api/runtime/disposable/after.js +96 -0
  1100. package/dist/api/runtime/disposable/check.d.ts +21 -0
  1101. package/dist/api/runtime/disposable/check.js +33 -0
  1102. package/dist/api/runtime/disposable/lists.d.ts +13 -0
  1103. package/dist/api/runtime/disposable/lists.js +47 -0
  1104. package/dist/api/runtime/disposable/one.d.ts +15 -0
  1105. package/dist/api/runtime/disposable/one.js +98 -0
  1106. package/dist/api/runtime/disposable/run.d.ts +7 -0
  1107. package/dist/api/runtime/disposable/run.js +54 -0
  1108. package/dist/api/runtime/disposable/signup.d.ts +11 -0
  1109. package/dist/api/runtime/disposable/signup.js +14 -0
  1110. package/dist/api/runtime/disposable/types.d.ts +48 -0
  1111. package/dist/api/runtime/disposable/types.js +2 -0
  1112. package/dist/api/runtime/dummy.d.ts +23 -0
  1113. package/dist/api/runtime/dummy.js +218 -0
  1114. package/dist/api/runtime/effects/bind.d.ts +31 -0
  1115. package/dist/api/runtime/effects/bind.js +98 -0
  1116. package/dist/api/runtime/effects/cardinality.d.ts +27 -0
  1117. package/dist/api/runtime/effects/cardinality.js +26 -0
  1118. package/dist/api/runtime/effects/ids.d.ts +15 -0
  1119. package/dist/api/runtime/effects/ids.js +95 -0
  1120. package/dist/api/runtime/effects/pointer.d.ts +6 -0
  1121. package/dist/api/runtime/effects/pointer.js +40 -0
  1122. package/dist/api/runtime/effects/scope.d.ts +45 -0
  1123. package/dist/api/runtime/effects/scope.js +87 -0
  1124. package/dist/api/runtime/evidence.d.ts +27 -0
  1125. package/dist/api/runtime/evidence.js +246 -0
  1126. package/dist/api/runtime/exchange.d.ts +141 -0
  1127. package/dist/api/runtime/exchange.js +96 -0
  1128. package/dist/api/runtime/exchanges/blobs.d.ts +19 -0
  1129. package/dist/api/runtime/exchanges/blobs.js +40 -0
  1130. package/dist/api/runtime/exchanges/bytes.d.ts +6 -0
  1131. package/dist/api/runtime/exchanges/bytes.js +21 -0
  1132. package/dist/api/runtime/exchanges/files.d.ts +11 -0
  1133. package/dist/api/runtime/exchanges/files.js +29 -0
  1134. package/dist/api/runtime/exchanges/form-parts.d.ts +14 -0
  1135. package/dist/api/runtime/exchanges/form-parts.js +19 -0
  1136. package/dist/api/runtime/exchanges/journal.d.ts +68 -0
  1137. package/dist/api/runtime/exchanges/journal.js +144 -0
  1138. package/dist/api/runtime/exchanges/media.d.ts +5 -0
  1139. package/dist/api/runtime/exchanges/media.js +23 -0
  1140. package/dist/api/runtime/exchanges/persist.d.ts +6 -0
  1141. package/dist/api/runtime/exchanges/persist.js +84 -0
  1142. package/dist/api/runtime/exit.d.ts +59 -0
  1143. package/dist/api/runtime/exit.js +94 -0
  1144. package/dist/api/runtime/feature-gate.d.ts +14 -0
  1145. package/dist/api/runtime/feature-gate.js +47 -0
  1146. package/dist/api/runtime/fence.d.ts +29 -0
  1147. package/dist/api/runtime/fence.js +39 -0
  1148. package/dist/api/runtime/fill-path.d.ts +8 -0
  1149. package/dist/api/runtime/fill-path.js +16 -0
  1150. package/dist/api/runtime/finding-key.d.ts +12 -0
  1151. package/dist/api/runtime/finding-key.js +33 -0
  1152. package/dist/api/runtime/finding.d.ts +142 -0
  1153. package/dist/api/runtime/finding.js +151 -0
  1154. package/dist/api/runtime/fixture.d.ts +87 -0
  1155. package/dist/api/runtime/fixture.js +197 -0
  1156. package/dist/api/runtime/generate/algebra.d.ts +14 -0
  1157. package/dist/api/runtime/generate/algebra.js +112 -0
  1158. package/dist/api/runtime/generate/array.d.ts +4 -0
  1159. package/dist/api/runtime/generate/array.js +45 -0
  1160. package/dist/api/runtime/generate/branches.d.ts +12 -0
  1161. package/dist/api/runtime/generate/branches.js +63 -0
  1162. package/dist/api/runtime/generate/expand.d.ts +3 -0
  1163. package/dist/api/runtime/generate/expand.js +66 -0
  1164. package/dist/api/runtime/generate/format.d.ts +7 -0
  1165. package/dist/api/runtime/generate/format.js +61 -0
  1166. package/dist/api/runtime/generate/generate.d.ts +18 -0
  1167. package/dist/api/runtime/generate/generate.js +43 -0
  1168. package/dist/api/runtime/generate/identifiers.d.ts +14 -0
  1169. package/dist/api/runtime/generate/identifiers.js +64 -0
  1170. package/dist/api/runtime/generate/instance.d.ts +4 -0
  1171. package/dist/api/runtime/generate/instance.js +59 -0
  1172. package/dist/api/runtime/generate/nonce.d.ts +3 -0
  1173. package/dist/api/runtime/generate/nonce.js +8 -0
  1174. package/dist/api/runtime/generate/number.d.ts +5 -0
  1175. package/dist/api/runtime/generate/number.js +64 -0
  1176. package/dist/api/runtime/generate/object.d.ts +4 -0
  1177. package/dist/api/runtime/generate/object.js +31 -0
  1178. package/dist/api/runtime/generate/pattern.d.ts +9 -0
  1179. package/dist/api/runtime/generate/pattern.js +46 -0
  1180. package/dist/api/runtime/generate/probes.d.ts +9 -0
  1181. package/dist/api/runtime/generate/probes.js +36 -0
  1182. package/dist/api/runtime/generate/string-constraints.d.ts +19 -0
  1183. package/dist/api/runtime/generate/string-constraints.js +48 -0
  1184. package/dist/api/runtime/generate/string.d.ts +5 -0
  1185. package/dist/api/runtime/generate/string.js +80 -0
  1186. package/dist/api/runtime/generate/text.d.ts +6 -0
  1187. package/dist/api/runtime/generate/text.js +20 -0
  1188. package/dist/api/runtime/generate/types.d.ts +45 -0
  1189. package/dist/api/runtime/generate/types.js +3 -0
  1190. package/dist/api/runtime/generate/unconstructible.d.ts +7 -0
  1191. package/dist/api/runtime/generate/unconstructible.js +11 -0
  1192. package/dist/api/runtime/grades.d.ts +40 -0
  1193. package/dist/api/runtime/grades.js +47 -0
  1194. package/dist/api/runtime/headers.d.ts +6 -0
  1195. package/dist/api/runtime/headers.js +16 -0
  1196. package/dist/api/runtime/inferred-create.d.ts +31 -0
  1197. package/dist/api/runtime/inferred-create.js +99 -0
  1198. package/dist/api/runtime/input.d.ts +13 -0
  1199. package/dist/api/runtime/input.js +47 -0
  1200. package/dist/api/runtime/network/fetch.d.ts +19 -0
  1201. package/dist/api/runtime/network/fetch.js +86 -0
  1202. package/dist/api/runtime/network/gate.d.ts +23 -0
  1203. package/dist/api/runtime/network/gate.js +63 -0
  1204. package/dist/api/runtime/network/interfaces.d.ts +6 -0
  1205. package/dist/api/runtime/network/interfaces.js +17 -0
  1206. package/dist/api/runtime/network/policy.d.ts +17 -0
  1207. package/dist/api/runtime/network/policy.js +25 -0
  1208. package/dist/api/runtime/network/probe.d.ts +8 -0
  1209. package/dist/api/runtime/network/probe.js +29 -0
  1210. package/dist/api/runtime/no-security.d.ts +4 -0
  1211. package/dist/api/runtime/no-security.js +9 -0
  1212. package/dist/api/runtime/nonexistent-identity.d.ts +9 -0
  1213. package/dist/api/runtime/nonexistent-identity.js +18 -0
  1214. package/dist/api/runtime/one-shot.d.ts +27 -0
  1215. package/dist/api/runtime/one-shot.js +76 -0
  1216. package/dist/api/runtime/own-record.d.ts +76 -0
  1217. package/dist/api/runtime/own-record.js +188 -0
  1218. package/dist/api/runtime/payloads.d.ts +25 -0
  1219. package/dist/api/runtime/payloads.js +252 -0
  1220. package/dist/api/runtime/poll.d.ts +29 -0
  1221. package/dist/api/runtime/poll.js +59 -0
  1222. package/dist/api/runtime/principals.d.ts +66 -0
  1223. package/dist/api/runtime/principals.js +133 -0
  1224. package/dist/api/runtime/privileged-create.d.ts +13 -0
  1225. package/dist/api/runtime/privileged-create.js +21 -0
  1226. package/dist/api/runtime/probe-judging.d.ts +9 -0
  1227. package/dist/api/runtime/probe-judging.js +26 -0
  1228. package/dist/api/runtime/profile.d.ts +36 -0
  1229. package/dist/api/runtime/profile.js +63 -0
  1230. package/dist/api/runtime/progress/columns.d.ts +14 -0
  1231. package/dist/api/runtime/progress/columns.js +49 -0
  1232. package/dist/api/runtime/progress/fields.d.ts +27 -0
  1233. package/dist/api/runtime/progress/fields.js +78 -0
  1234. package/dist/api/runtime/progress/format.d.ts +6 -0
  1235. package/dist/api/runtime/progress/format.js +96 -0
  1236. package/dist/api/runtime/progress/pump.d.ts +16 -0
  1237. package/dist/api/runtime/progress/pump.js +69 -0
  1238. package/dist/api/runtime/progress/types.d.ts +39 -0
  1239. package/dist/api/runtime/progress/types.js +3 -0
  1240. package/dist/api/runtime/proven-id.d.ts +31 -0
  1241. package/dist/api/runtime/proven-id.js +38 -0
  1242. package/dist/api/runtime/query-capabilities.d.ts +27 -0
  1243. package/dist/api/runtime/query-capabilities.js +69 -0
  1244. package/dist/api/runtime/query.d.ts +11 -0
  1245. package/dist/api/runtime/query.js +21 -0
  1246. package/dist/api/runtime/rate-limit/bucket.d.ts +21 -0
  1247. package/dist/api/runtime/rate-limit/bucket.js +54 -0
  1248. package/dist/api/runtime/rate-limit/limiter.d.ts +52 -0
  1249. package/dist/api/runtime/rate-limit/limiter.js +103 -0
  1250. package/dist/api/runtime/rate-limit/match.d.ts +26 -0
  1251. package/dist/api/runtime/rate-limit/match.js +55 -0
  1252. package/dist/api/runtime/rate-limit/retry-after.d.ts +40 -0
  1253. package/dist/api/runtime/rate-limit/retry-after.js +81 -0
  1254. package/dist/api/runtime/rate-limit/rules.d.ts +35 -0
  1255. package/dist/api/runtime/rate-limit/rules.js +61 -0
  1256. package/dist/api/runtime/root-read.d.ts +22 -0
  1257. package/dist/api/runtime/root-read.js +78 -0
  1258. package/dist/api/runtime/run/account-hook.d.ts +19 -0
  1259. package/dist/api/runtime/run/account-hook.js +67 -0
  1260. package/dist/api/runtime/run/accounts.d.ts +22 -0
  1261. package/dist/api/runtime/run/accounts.js +215 -0
  1262. package/dist/api/runtime/run/acting.d.ts +5 -0
  1263. package/dist/api/runtime/run/acting.js +36 -0
  1264. package/dist/api/runtime/run/check-accounts.d.ts +5 -0
  1265. package/dist/api/runtime/run/check-accounts.js +28 -0
  1266. package/dist/api/runtime/run/client-setup.d.ts +8 -0
  1267. package/dist/api/runtime/run/client-setup.js +117 -0
  1268. package/dist/api/runtime/run/context.d.ts +141 -0
  1269. package/dist/api/runtime/run/context.js +2 -0
  1270. package/dist/api/runtime/run/contract-floor.d.ts +7 -0
  1271. package/dist/api/runtime/run/contract-floor.js +51 -0
  1272. package/dist/api/runtime/run/credential-records.d.ts +12 -0
  1273. package/dist/api/runtime/run/credential-records.js +91 -0
  1274. package/dist/api/runtime/run/disposable.d.ts +14 -0
  1275. package/dist/api/runtime/run/disposable.js +90 -0
  1276. package/dist/api/runtime/run/entity/actors.d.ts +5 -0
  1277. package/dist/api/runtime/run/entity/actors.js +55 -0
  1278. package/dist/api/runtime/run/entity/capabilities.d.ts +19 -0
  1279. package/dist/api/runtime/run/entity/capabilities.js +32 -0
  1280. package/dist/api/runtime/run/entity/check-context.d.ts +5 -0
  1281. package/dist/api/runtime/run/entity/check-context.js +108 -0
  1282. package/dist/api/runtime/run/entity/check-loop.d.ts +16 -0
  1283. package/dist/api/runtime/run/entity/check-loop.js +118 -0
  1284. package/dist/api/runtime/run/entity/direct.d.ts +8 -0
  1285. package/dist/api/runtime/run/entity/direct.js +19 -0
  1286. package/dist/api/runtime/run/entity/fallback.d.ts +25 -0
  1287. package/dist/api/runtime/run/entity/fallback.js +55 -0
  1288. package/dist/api/runtime/run/entity/root-read.d.ts +5 -0
  1289. package/dist/api/runtime/run/entity/root-read.js +39 -0
  1290. package/dist/api/runtime/run/entity/run-check.d.ts +45 -0
  1291. package/dist/api/runtime/run/entity/run-check.js +173 -0
  1292. package/dist/api/runtime/run/entity/seed-cohort.d.ts +11 -0
  1293. package/dist/api/runtime/run/entity/seed-cohort.js +136 -0
  1294. package/dist/api/runtime/run/entity/seed-failure.d.ts +9 -0
  1295. package/dist/api/runtime/run/entity/seed-failure.js +92 -0
  1296. package/dist/api/runtime/run/entity/seed.d.ts +17 -0
  1297. package/dist/api/runtime/run/entity/seed.js +65 -0
  1298. package/dist/api/runtime/run/entity/self.d.ts +5 -0
  1299. package/dist/api/runtime/run/entity/self.js +24 -0
  1300. package/dist/api/runtime/run/entity/state.d.ts +59 -0
  1301. package/dist/api/runtime/run/entity/state.js +11 -0
  1302. package/dist/api/runtime/run/entity/test-entity.d.ts +17 -0
  1303. package/dist/api/runtime/run/entity/test-entity.js +91 -0
  1304. package/dist/api/runtime/run/errors.d.ts +8 -0
  1305. package/dist/api/runtime/run/errors.js +11 -0
  1306. package/dist/api/runtime/run/exclusion.d.ts +3 -0
  1307. package/dist/api/runtime/run/exclusion.js +29 -0
  1308. package/dist/api/runtime/run/floor-credentials.d.ts +15 -0
  1309. package/dist/api/runtime/run/floor-credentials.js +91 -0
  1310. package/dist/api/runtime/run/fresh.d.ts +31 -0
  1311. package/dist/api/runtime/run/fresh.js +87 -0
  1312. package/dist/api/runtime/run/identity.d.ts +9 -0
  1313. package/dist/api/runtime/run/identity.js +28 -0
  1314. package/dist/api/runtime/run/index.d.ts +4 -0
  1315. package/dist/api/runtime/run/index.js +3 -0
  1316. package/dist/api/runtime/run/interrupt.d.ts +6 -0
  1317. package/dist/api/runtime/run/interrupt.js +15 -0
  1318. package/dist/api/runtime/run/lanes.d.ts +23 -0
  1319. package/dist/api/runtime/run/lanes.js +147 -0
  1320. package/dist/api/runtime/run/load.d.ts +17 -0
  1321. package/dist/api/runtime/run/load.js +95 -0
  1322. package/dist/api/runtime/run/network.d.ts +33 -0
  1323. package/dist/api/runtime/run/network.js +82 -0
  1324. package/dist/api/runtime/run/origins.d.ts +36 -0
  1325. package/dist/api/runtime/run/origins.js +146 -0
  1326. package/dist/api/runtime/run/own-records.d.ts +5 -0
  1327. package/dist/api/runtime/run/own-records.js +41 -0
  1328. package/dist/api/runtime/run/peer.d.ts +9 -0
  1329. package/dist/api/runtime/run/peer.js +10 -0
  1330. package/dist/api/runtime/run/pipeline.d.ts +19 -0
  1331. package/dist/api/runtime/run/pipeline.js +96 -0
  1332. package/dist/api/runtime/run/principals.d.ts +19 -0
  1333. package/dist/api/runtime/run/principals.js +134 -0
  1334. package/dist/api/runtime/run/probe-credentials.d.ts +9 -0
  1335. package/dist/api/runtime/run/probe-credentials.js +68 -0
  1336. package/dist/api/runtime/run/progress.d.ts +49 -0
  1337. package/dist/api/runtime/run/progress.js +128 -0
  1338. package/dist/api/runtime/run/public-gets.d.ts +4 -0
  1339. package/dist/api/runtime/run/public-gets.js +14 -0
  1340. package/dist/api/runtime/run/record-scope.d.ts +4 -0
  1341. package/dist/api/runtime/run/record-scope.js +17 -0
  1342. package/dist/api/runtime/run/result.d.ts +22 -0
  1343. package/dist/api/runtime/run/result.js +98 -0
  1344. package/dist/api/runtime/run/scenarios.d.ts +4 -0
  1345. package/dist/api/runtime/run/scenarios.js +50 -0
  1346. package/dist/api/runtime/run/scope-plan.d.ts +7 -0
  1347. package/dist/api/runtime/run/scope-plan.js +64 -0
  1348. package/dist/api/runtime/run/security-target.d.ts +39 -0
  1349. package/dist/api/runtime/run/security-target.js +139 -0
  1350. package/dist/api/runtime/run/security-throwaway.d.ts +27 -0
  1351. package/dist/api/runtime/run/security-throwaway.js +126 -0
  1352. package/dist/api/runtime/run/security.d.ts +11 -0
  1353. package/dist/api/runtime/run/security.js +172 -0
  1354. package/dist/api/runtime/run/server-errors.d.ts +4 -0
  1355. package/dist/api/runtime/run/server-errors.js +15 -0
  1356. package/dist/api/runtime/run/state.d.ts +58 -0
  1357. package/dist/api/runtime/run/state.js +33 -0
  1358. package/dist/api/runtime/run/store.d.ts +24 -0
  1359. package/dist/api/runtime/run/store.js +106 -0
  1360. package/dist/api/runtime/run/target-version.d.ts +7 -0
  1361. package/dist/api/runtime/run/target-version.js +16 -0
  1362. package/dist/api/runtime/run/teardown.d.ts +31 -0
  1363. package/dist/api/runtime/run/teardown.js +146 -0
  1364. package/dist/api/runtime/run/transcript-options.d.ts +4 -0
  1365. package/dist/api/runtime/run/transcript-options.js +35 -0
  1366. package/dist/api/runtime/run/types.d.ts +238 -0
  1367. package/dist/api/runtime/run/types.js +2 -0
  1368. package/dist/api/runtime/runs.d.ts +33 -0
  1369. package/dist/api/runtime/runs.js +80 -0
  1370. package/dist/api/runtime/scenario/failure.d.ts +19 -0
  1371. package/dist/api/runtime/scenario/failure.js +28 -0
  1372. package/dist/api/runtime/scenario/grade.d.ts +20 -0
  1373. package/dist/api/runtime/scenario/grade.js +51 -0
  1374. package/dist/api/runtime/scenario/lineage.d.ts +40 -0
  1375. package/dist/api/runtime/scenario/lineage.js +55 -0
  1376. package/dist/api/runtime/scenario/poll.d.ts +10 -0
  1377. package/dist/api/runtime/scenario/poll.js +20 -0
  1378. package/dist/api/runtime/scenario/record.d.ts +20 -0
  1379. package/dist/api/runtime/scenario/record.js +100 -0
  1380. package/dist/api/runtime/scenario/request.d.ts +8 -0
  1381. package/dist/api/runtime/scenario/request.js +89 -0
  1382. package/dist/api/runtime/scenario/run.d.ts +7 -0
  1383. package/dist/api/runtime/scenario/run.js +90 -0
  1384. package/dist/api/runtime/scenario/state.d.ts +10 -0
  1385. package/dist/api/runtime/scenario/state.js +40 -0
  1386. package/dist/api/runtime/scenario/step.d.ts +8 -0
  1387. package/dist/api/runtime/scenario/step.js +51 -0
  1388. package/dist/api/runtime/scenario/types.d.ts +63 -0
  1389. package/dist/api/runtime/scenario/types.js +2 -0
  1390. package/dist/api/runtime/scenario/validate.d.ts +17 -0
  1391. package/dist/api/runtime/scenario/validate.js +64 -0
  1392. package/dist/api/runtime/scenario/want.d.ts +21 -0
  1393. package/dist/api/runtime/scenario/want.js +59 -0
  1394. package/dist/api/runtime/scope/entities.d.ts +44 -0
  1395. package/dist/api/runtime/scope/entities.js +158 -0
  1396. package/dist/api/runtime/scope/grading.d.ts +20 -0
  1397. package/dist/api/runtime/scope/grading.js +42 -0
  1398. package/dist/api/runtime/scope/match.d.ts +9 -0
  1399. package/dist/api/runtime/scope/match.js +22 -0
  1400. package/dist/api/runtime/scope/operation-for.d.ts +5 -0
  1401. package/dist/api/runtime/scope/operation-for.js +29 -0
  1402. package/dist/api/runtime/scope/plan.d.ts +10 -0
  1403. package/dist/api/runtime/scope/plan.js +81 -0
  1404. package/dist/api/runtime/scope/reason.d.ts +13 -0
  1405. package/dist/api/runtime/scope/reason.js +37 -0
  1406. package/dist/api/runtime/scope/report.d.ts +3 -0
  1407. package/dist/api/runtime/scope/report.js +68 -0
  1408. package/dist/api/runtime/scope/scope-error.d.ts +5 -0
  1409. package/dist/api/runtime/scope/scope-error.js +5 -0
  1410. package/dist/api/runtime/scope/sufficiency.d.ts +8 -0
  1411. package/dist/api/runtime/scope/sufficiency.js +19 -0
  1412. package/dist/api/runtime/scope/target.d.ts +4 -0
  1413. package/dist/api/runtime/scope/target.js +62 -0
  1414. package/dist/api/runtime/scope/targeting.d.ts +19 -0
  1415. package/dist/api/runtime/scope/targeting.js +82 -0
  1416. package/dist/api/runtime/scope/types.d.ts +149 -0
  1417. package/dist/api/runtime/scope/types.js +11 -0
  1418. package/dist/api/runtime/seed-error.d.ts +23 -0
  1419. package/dist/api/runtime/seed-error.js +19 -0
  1420. package/dist/api/runtime/self/actions.d.ts +12 -0
  1421. package/dist/api/runtime/self/actions.js +59 -0
  1422. package/dist/api/runtime/self/check.d.ts +3 -0
  1423. package/dist/api/runtime/self/check.js +26 -0
  1424. package/dist/api/runtime/self/create.d.ts +26 -0
  1425. package/dist/api/runtime/self/create.js +96 -0
  1426. package/dist/api/runtime/self/guard.d.ts +16 -0
  1427. package/dist/api/runtime/self/guard.js +56 -0
  1428. package/dist/api/runtime/self/identity.d.ts +4 -0
  1429. package/dist/api/runtime/self/identity.js +94 -0
  1430. package/dist/api/runtime/self/input.d.ts +19 -0
  1431. package/dist/api/runtime/self/input.js +2 -0
  1432. package/dist/api/runtime/self/locate.d.ts +10 -0
  1433. package/dist/api/runtime/self/locate.js +31 -0
  1434. package/dist/api/runtime/self/operations.d.ts +15 -0
  1435. package/dist/api/runtime/self/operations.js +34 -0
  1436. package/dist/api/runtime/self/probe-field.d.ts +10 -0
  1437. package/dist/api/runtime/self/probe-field.js +88 -0
  1438. package/dist/api/runtime/self/requests.d.ts +22 -0
  1439. package/dist/api/runtime/self/requests.js +27 -0
  1440. package/dist/api/runtime/self/verdicts.d.ts +41 -0
  1441. package/dist/api/runtime/self/verdicts.js +95 -0
  1442. package/dist/api/runtime/server-errors.d.ts +29 -0
  1443. package/dist/api/runtime/server-errors.js +74 -0
  1444. package/dist/api/runtime/sse.d.ts +38 -0
  1445. package/dist/api/runtime/sse.js +115 -0
  1446. package/dist/api/runtime/steps/engine.d.ts +27 -0
  1447. package/dist/api/runtime/steps/engine.js +134 -0
  1448. package/dist/api/runtime/steps/interpolate.d.ts +3 -0
  1449. package/dist/api/runtime/steps/interpolate.js +30 -0
  1450. package/dist/api/runtime/steps/jwt.d.ts +3 -0
  1451. package/dist/api/runtime/steps/jwt.js +13 -0
  1452. package/dist/api/runtime/steps/out-of-band.d.ts +27 -0
  1453. package/dist/api/runtime/steps/out-of-band.js +53 -0
  1454. package/dist/api/runtime/steps/request.d.ts +39 -0
  1455. package/dist/api/runtime/steps/request.js +117 -0
  1456. package/dist/api/runtime/steps/runner.d.ts +5 -0
  1457. package/dist/api/runtime/steps/runner.js +19 -0
  1458. package/dist/api/runtime/target-version.d.ts +34 -0
  1459. package/dist/api/runtime/target-version.js +68 -0
  1460. package/dist/api/runtime/teardown/ledger.d.ts +68 -0
  1461. package/dist/api/runtime/teardown/ledger.js +124 -0
  1462. package/dist/api/runtime/teardown/never-seen.d.ts +10 -0
  1463. package/dist/api/runtime/teardown/never-seen.js +27 -0
  1464. package/dist/api/runtime/teardown/remove.d.ts +27 -0
  1465. package/dist/api/runtime/teardown/remove.js +110 -0
  1466. package/dist/api/runtime/teardown/render.d.ts +7 -0
  1467. package/dist/api/runtime/teardown/render.js +51 -0
  1468. package/dist/api/runtime/teardown/routes.d.ts +26 -0
  1469. package/dist/api/runtime/teardown/routes.js +83 -0
  1470. package/dist/api/runtime/teardown/still-listed.d.ts +29 -0
  1471. package/dist/api/runtime/teardown/still-listed.js +116 -0
  1472. package/dist/api/runtime/teardown/types.d.ts +76 -0
  1473. package/dist/api/runtime/teardown/types.js +2 -0
  1474. package/dist/api/runtime/teardown/unwind.d.ts +20 -0
  1475. package/dist/api/runtime/teardown/unwind.js +83 -0
  1476. package/dist/api/runtime/teardown/verify-gone.d.ts +21 -0
  1477. package/dist/api/runtime/teardown/verify-gone.js +87 -0
  1478. package/dist/api/runtime/teardown/verify-hook.d.ts +20 -0
  1479. package/dist/api/runtime/teardown/verify-hook.js +61 -0
  1480. package/dist/api/runtime/transcript/compact-request.d.ts +5 -0
  1481. package/dist/api/runtime/transcript/compact-request.js +65 -0
  1482. package/dist/api/runtime/transcript/compact-response.d.ts +4 -0
  1483. package/dist/api/runtime/transcript/compact-response.js +70 -0
  1484. package/dist/api/runtime/transcript/live.d.ts +13 -0
  1485. package/dist/api/runtime/transcript/live.js +21 -0
  1486. package/dist/api/runtime/transcript/payload.d.ts +9 -0
  1487. package/dist/api/runtime/transcript/payload.js +45 -0
  1488. package/dist/api/runtime/transcript/release.d.ts +6 -0
  1489. package/dist/api/runtime/transcript/release.js +15 -0
  1490. package/dist/api/runtime/transcript/spool.d.ts +42 -0
  1491. package/dist/api/runtime/transcript/spool.js +102 -0
  1492. package/dist/api/runtime/transcript/sse-payload.d.ts +5 -0
  1493. package/dist/api/runtime/transcript/sse-payload.js +65 -0
  1494. package/dist/api/runtime/transcript/types.d.ts +22 -0
  1495. package/dist/api/runtime/transcript/types.js +3 -0
  1496. package/dist/api/runtime/unique.d.ts +80 -0
  1497. package/dist/api/runtime/unique.js +169 -0
  1498. package/dist/api/runtime/upload-each.d.ts +14 -0
  1499. package/dist/api/runtime/upload-each.js +69 -0
  1500. package/dist/api/runtime/upload.d.ts +58 -0
  1501. package/dist/api/runtime/upload.js +241 -0
  1502. package/dist/api/runtime/validate.d.ts +41 -0
  1503. package/dist/api/runtime/validate.js +145 -0
  1504. package/dist/api/runtime/wait.d.ts +48 -0
  1505. package/dist/api/runtime/wait.js +105 -0
  1506. package/dist/api/runtime/world/adopt.d.ts +6 -0
  1507. package/dist/api/runtime/world/adopt.js +18 -0
  1508. package/dist/api/runtime/world/ancestor-create.d.ts +13 -0
  1509. package/dist/api/runtime/world/ancestor-create.js +129 -0
  1510. package/dist/api/runtime/world/client-identity.d.ts +42 -0
  1511. package/dist/api/runtime/world/client-identity.js +77 -0
  1512. package/dist/api/runtime/world/cohort.d.ts +47 -0
  1513. package/dist/api/runtime/world/cohort.js +123 -0
  1514. package/dist/api/runtime/world/confirm.d.ts +33 -0
  1515. package/dist/api/runtime/world/confirm.js +57 -0
  1516. package/dist/api/runtime/world/created-record.d.ts +29 -0
  1517. package/dist/api/runtime/world/created-record.js +57 -0
  1518. package/dist/api/runtime/world/list-existing.d.ts +12 -0
  1519. package/dist/api/runtime/world/list-existing.js +29 -0
  1520. package/dist/api/runtime/world/path-scope.d.ts +16 -0
  1521. package/dist/api/runtime/world/path-scope.js +98 -0
  1522. package/dist/api/runtime/world/plan-limit.d.ts +8 -0
  1523. package/dist/api/runtime/world/plan-limit.js +41 -0
  1524. package/dist/api/runtime/world/probe-fixtures.d.ts +7 -0
  1525. package/dist/api/runtime/world/probe-fixtures.js +23 -0
  1526. package/dist/api/runtime/world/read-back.d.ts +61 -0
  1527. package/dist/api/runtime/world/read-back.js +120 -0
  1528. package/dist/api/runtime/world/records.d.ts +29 -0
  1529. package/dist/api/runtime/world/records.js +45 -0
  1530. package/dist/api/runtime/world/schema.d.ts +7 -0
  1531. package/dist/api/runtime/world/schema.js +21 -0
  1532. package/dist/api/runtime/world/seed-cohort.d.ts +8 -0
  1533. package/dist/api/runtime/world/seed-cohort.js +193 -0
  1534. package/dist/api/runtime/world/types.d.ts +118 -0
  1535. package/dist/api/runtime/world/types.js +3 -0
  1536. package/dist/api/runtime/world/upload-context.d.ts +5 -0
  1537. package/dist/api/runtime/world/upload-context.js +7 -0
  1538. package/dist/api/security/credential-names.d.ts +7 -0
  1539. package/dist/api/security/credential-names.js +30 -0
  1540. package/dist/api/security/issued-secrets.d.ts +9 -0
  1541. package/dist/api/security/issued-secrets.js +50 -0
  1542. package/dist/api/security/redact.d.ts +51 -0
  1543. package/dist/api/security/redact.js +222 -0
  1544. package/dist/api/security/strip.d.ts +7 -0
  1545. package/dist/api/security/strip.js +18 -0
  1546. package/dist/api/spec/allow.d.ts +28 -0
  1547. package/dist/api/spec/allow.js +83 -0
  1548. package/dist/api/spec/collection/cursor.d.ts +7 -0
  1549. package/dist/api/spec/collection/cursor.js +11 -0
  1550. package/dist/api/spec/collection/effective.d.ts +9 -0
  1551. package/dist/api/spec/collection/effective.js +49 -0
  1552. package/dist/api/spec/collection/identity.d.ts +13 -0
  1553. package/dist/api/spec/collection/identity.js +43 -0
  1554. package/dist/api/spec/collection/request.d.ts +19 -0
  1555. package/dist/api/spec/collection/request.js +67 -0
  1556. package/dist/api/spec/collection/responses.d.ts +6 -0
  1557. package/dist/api/spec/collection/responses.js +32 -0
  1558. package/dist/api/spec/collection/shape.d.ts +47 -0
  1559. package/dist/api/spec/collection/shape.js +123 -0
  1560. package/dist/api/spec/configured-model.d.ts +22 -0
  1561. package/dist/api/spec/configured-model.js +58 -0
  1562. package/dist/api/spec/conventions/derive.d.ts +26 -0
  1563. package/dist/api/spec/conventions/derive.js +125 -0
  1564. package/dist/api/spec/conventions/envelope-names.d.ts +21 -0
  1565. package/dist/api/spec/conventions/envelope-names.js +25 -0
  1566. package/dist/api/spec/conventions/filter.d.ts +31 -0
  1567. package/dist/api/spec/conventions/filter.js +51 -0
  1568. package/dist/api/spec/conventions/infer.d.ts +22 -0
  1569. package/dist/api/spec/conventions/infer.js +59 -0
  1570. package/dist/api/spec/conventions/query-params.d.ts +27 -0
  1571. package/dist/api/spec/conventions/query-params.js +44 -0
  1572. package/dist/api/spec/conventions/roles.d.ts +28 -0
  1573. package/dist/api/spec/conventions/roles.js +153 -0
  1574. package/dist/api/spec/conventions/select.d.ts +9 -0
  1575. package/dist/api/spec/conventions/select.js +19 -0
  1576. package/dist/api/spec/conventions/sort.d.ts +14 -0
  1577. package/dist/api/spec/conventions/sort.js +25 -0
  1578. package/dist/api/spec/conventions/types.d.ts +106 -0
  1579. package/dist/api/spec/conventions/types.js +15 -0
  1580. package/dist/api/spec/endpoints.d.ts +4 -0
  1581. package/dist/api/spec/endpoints.js +42 -0
  1582. package/dist/api/spec/extensions/async.d.ts +24 -0
  1583. package/dist/api/spec/extensions/async.js +38 -0
  1584. package/dist/api/spec/extensions/consistency.d.ts +18 -0
  1585. package/dist/api/spec/extensions/consistency.js +27 -0
  1586. package/dist/api/spec/extensions/effects.d.ts +13 -0
  1587. package/dist/api/spec/extensions/effects.js +36 -0
  1588. package/dist/api/spec/extensions/entity.d.ts +28 -0
  1589. package/dist/api/spec/extensions/entity.js +103 -0
  1590. package/dist/api/spec/extensions/flags.d.ts +30 -0
  1591. package/dist/api/spec/extensions/flags.js +59 -0
  1592. package/dist/api/spec/extensions/gaps.d.ts +11 -0
  1593. package/dist/api/spec/extensions/gaps.js +8 -0
  1594. package/dist/api/spec/extensions/invite.d.ts +33 -0
  1595. package/dist/api/spec/extensions/invite.js +30 -0
  1596. package/dist/api/spec/extensions/privileged.d.ts +27 -0
  1597. package/dist/api/spec/extensions/privileged.js +84 -0
  1598. package/dist/api/spec/extensions/query-tag.d.ts +36 -0
  1599. package/dist/api/spec/extensions/query-tag.js +92 -0
  1600. package/dist/api/spec/extensions/routes.d.ts +5 -0
  1601. package/dist/api/spec/extensions/routes.js +19 -0
  1602. package/dist/api/spec/extensions/tag.d.ts +16 -0
  1603. package/dist/api/spec/extensions/tag.js +22 -0
  1604. package/dist/api/spec/extensions/tenant.d.ts +9 -0
  1605. package/dist/api/spec/extensions/tenant.js +35 -0
  1606. package/dist/api/spec/extensions/unique.d.ts +20 -0
  1607. package/dist/api/spec/extensions/unique.js +63 -0
  1608. package/dist/api/spec/grammar-overrides.d.ts +23 -0
  1609. package/dist/api/spec/grammar-overrides.js +70 -0
  1610. package/dist/api/spec/graph/build.d.ts +18 -0
  1611. package/dist/api/spec/graph/build.js +89 -0
  1612. package/dist/api/spec/graph/dangling.d.ts +19 -0
  1613. package/dist/api/spec/graph/dangling.js +94 -0
  1614. package/dist/api/spec/graph/demote.d.ts +14 -0
  1615. package/dist/api/spec/graph/demote.js +94 -0
  1616. package/dist/api/spec/graph/entities.d.ts +7 -0
  1617. package/dist/api/spec/graph/entities.js +77 -0
  1618. package/dist/api/spec/graph/identity.d.ts +19 -0
  1619. package/dist/api/spec/graph/identity.js +14 -0
  1620. package/dist/api/spec/graph/naming.d.ts +9 -0
  1621. package/dist/api/spec/graph/naming.js +71 -0
  1622. package/dist/api/spec/graph/operation.d.ts +16 -0
  1623. package/dist/api/spec/graph/operation.js +176 -0
  1624. package/dist/api/spec/graph/paging.d.ts +16 -0
  1625. package/dist/api/spec/graph/paging.js +23 -0
  1626. package/dist/api/spec/graph/parameters.d.ts +46 -0
  1627. package/dist/api/spec/graph/parameters.js +119 -0
  1628. package/dist/api/spec/graph/resolver.d.ts +25 -0
  1629. package/dist/api/spec/graph/resolver.js +38 -0
  1630. package/dist/api/spec/graph/roots.d.ts +32 -0
  1631. package/dist/api/spec/graph/roots.js +89 -0
  1632. package/dist/api/spec/graph/segments.d.ts +10 -0
  1633. package/dist/api/spec/graph/segments.js +19 -0
  1634. package/dist/api/spec/graph/statuses.d.ts +7 -0
  1635. package/dist/api/spec/graph/statuses.js +26 -0
  1636. package/dist/api/spec/graph/surface.d.ts +21 -0
  1637. package/dist/api/spec/graph/surface.js +59 -0
  1638. package/dist/api/spec/graph/types.d.ts +162 -0
  1639. package/dist/api/spec/graph/types.js +3 -0
  1640. package/dist/api/spec/graph/unmodeled.d.ts +18 -0
  1641. package/dist/api/spec/graph/unmodeled.js +65 -0
  1642. package/dist/api/spec/load/bundle.d.ts +16 -0
  1643. package/dist/api/spec/load/bundle.js +112 -0
  1644. package/dist/api/spec/load/defs.d.ts +7 -0
  1645. package/dist/api/spec/load/defs.js +9 -0
  1646. package/dist/api/spec/load/dereference.d.ts +23 -0
  1647. package/dist/api/spec/load/dereference.js +55 -0
  1648. package/dist/api/spec/load/parse.d.ts +16 -0
  1649. package/dist/api/spec/load/parse.js +76 -0
  1650. package/dist/api/spec/load/pointer.d.ts +6 -0
  1651. package/dist/api/spec/load/pointer.js +24 -0
  1652. package/dist/api/spec/load/source.d.ts +27 -0
  1653. package/dist/api/spec/load/source.js +58 -0
  1654. package/dist/api/spec/load/version.d.ts +14 -0
  1655. package/dist/api/spec/load/version.js +16 -0
  1656. package/dist/api/spec/load/walk.d.ts +44 -0
  1657. package/dist/api/spec/load/walk.js +162 -0
  1658. package/dist/api/spec/methods.d.ts +31 -0
  1659. package/dist/api/spec/methods.js +37 -0
  1660. package/dist/api/spec/operation-name.d.ts +23 -0
  1661. package/dist/api/spec/operation-name.js +46 -0
  1662. package/dist/api/spec/overlay.d.ts +18 -0
  1663. package/dist/api/spec/overlay.js +72 -0
  1664. package/dist/api/spec/prepare.d.ts +18 -0
  1665. package/dist/api/spec/prepare.js +16 -0
  1666. package/dist/api/spec/query/catalog-layers.d.ts +10 -0
  1667. package/dist/api/spec/query/catalog-layers.js +80 -0
  1668. package/dist/api/spec/query/effective.d.ts +68 -0
  1669. package/dist/api/spec/query/effective.js +9 -0
  1670. package/dist/api/spec/query/field-ops.d.ts +10 -0
  1671. package/dist/api/spec/query/field-ops.js +39 -0
  1672. package/dist/api/spec/query/harvest.d.ts +14 -0
  1673. package/dist/api/spec/query/harvest.js +29 -0
  1674. package/dist/api/spec/query/hook.d.ts +8 -0
  1675. package/dist/api/spec/query/hook.js +46 -0
  1676. package/dist/api/spec/query/infer-type.d.ts +6 -0
  1677. package/dist/api/spec/query/infer-type.js +34 -0
  1678. package/dist/api/spec/query/json-path.d.ts +6 -0
  1679. package/dist/api/spec/query/json-path.js +87 -0
  1680. package/dist/api/spec/query/merge.d.ts +9 -0
  1681. package/dist/api/spec/query/merge.js +118 -0
  1682. package/dist/api/spec/query/ops.d.ts +14 -0
  1683. package/dist/api/spec/query/ops.js +33 -0
  1684. package/dist/api/spec/query/parse-blocks.d.ts +13 -0
  1685. package/dist/api/spec/query/parse-blocks.js +103 -0
  1686. package/dist/api/spec/query/parse-catalog.d.ts +11 -0
  1687. package/dist/api/spec/query/parse-catalog.js +97 -0
  1688. package/dist/api/spec/query/parse-fields.d.ts +12 -0
  1689. package/dist/api/spec/query/parse-fields.js +54 -0
  1690. package/dist/api/spec/query/sendable.d.ts +60 -0
  1691. package/dist/api/spec/query/sendable.js +113 -0
  1692. package/dist/api/spec/query/tag.d.ts +36 -0
  1693. package/dist/api/spec/query/tag.js +3 -0
  1694. package/dist/api/spec/query/union.d.ts +7 -0
  1695. package/dist/api/spec/query/union.js +22 -0
  1696. package/dist/api/spec/render/filter-combine.d.ts +17 -0
  1697. package/dist/api/spec/render/filter-combine.js +62 -0
  1698. package/dist/api/spec/render/filter-describe.d.ts +5 -0
  1699. package/dist/api/spec/render/filter-describe.js +29 -0
  1700. package/dist/api/spec/render/filter-parse-steps.d.ts +55 -0
  1701. package/dist/api/spec/render/filter-parse-steps.js +155 -0
  1702. package/dist/api/spec/render/filter-parse.d.ts +8 -0
  1703. package/dist/api/spec/render/filter-parse.js +77 -0
  1704. package/dist/api/spec/render/filter-presets.d.ts +6 -0
  1705. package/dist/api/spec/render/filter-presets.js +55 -0
  1706. package/dist/api/spec/render/filter-probe.d.ts +24 -0
  1707. package/dist/api/spec/render/filter-probe.js +57 -0
  1708. package/dist/api/spec/render/filter-term.d.ts +17 -0
  1709. package/dist/api/spec/render/filter-term.js +100 -0
  1710. package/dist/api/spec/render/filter-types.d.ts +77 -0
  1711. package/dist/api/spec/render/filter-types.js +10 -0
  1712. package/dist/api/spec/render/sort-parse.d.ts +14 -0
  1713. package/dist/api/spec/render/sort-parse.js +56 -0
  1714. package/dist/api/spec/render/sort.d.ts +48 -0
  1715. package/dist/api/spec/render/sort.js +45 -0
  1716. package/dist/api/spec/routes.d.ts +16 -0
  1717. package/dist/api/spec/routes.js +48 -0
  1718. package/dist/api/spec/schema.d.ts +36 -0
  1719. package/dist/api/spec/schema.js +265 -0
  1720. package/dist/api/spec/security/placement.d.ts +11 -0
  1721. package/dist/api/spec/security/placement.js +16 -0
  1722. package/dist/api/spec/security/requirements.d.ts +19 -0
  1723. package/dist/api/spec/security/requirements.js +21 -0
  1724. package/dist/api/spec/security/schemes.d.ts +40 -0
  1725. package/dist/api/spec/security/schemes.js +86 -0
  1726. package/dist/api/spec/sign-in.d.ts +4 -0
  1727. package/dist/api/spec/sign-in.js +4 -0
  1728. package/dist/api/spec/sign-up.d.ts +34 -0
  1729. package/dist/api/spec/sign-up.js +77 -0
  1730. package/dist/api/spec/tags/checks.d.ts +23 -0
  1731. package/dist/api/spec/tags/checks.js +47 -0
  1732. package/dist/api/spec/tags/query.d.ts +4 -0
  1733. package/dist/api/spec/tags/query.js +113 -0
  1734. package/dist/api/spec/tags/validate.d.ts +12 -0
  1735. package/dist/api/spec/tags/validate.js +117 -0
  1736. package/dist/api/spec/types.d.ts +120 -0
  1737. package/dist/api/spec/types.js +3 -0
  1738. package/dist/api/steps/external.d.ts +31 -0
  1739. package/dist/api/steps/external.js +17 -0
  1740. package/dist/api/steps/index.d.ts +9 -0
  1741. package/dist/api/steps/index.js +5 -0
  1742. package/dist/api/steps/out-of-band.d.ts +17 -0
  1743. package/dist/api/steps/out-of-band.js +19 -0
  1744. package/dist/api/steps/request.d.ts +30 -0
  1745. package/dist/api/steps/request.js +72 -0
  1746. package/dist/api/steps/scenario.d.ts +18 -0
  1747. package/dist/api/steps/scenario.js +18 -0
  1748. package/dist/api/steps/sender.d.ts +34 -0
  1749. package/dist/api/steps/sender.js +53 -0
  1750. package/dist/api/steps/steps.d.ts +51 -0
  1751. package/dist/api/steps/steps.js +30 -0
  1752. package/dist/api/steps/types.d.ts +90 -0
  1753. package/dist/api/steps/types.js +7 -0
  1754. package/dist/api/steps/view.d.ts +20 -0
  1755. package/dist/api/steps/view.js +41 -0
  1756. package/dist/cli/main.d.ts +8 -0
  1757. package/dist/cli/main.js +38 -0
  1758. package/dist/cli.d.ts +3 -0
  1759. package/dist/cli.js +11 -0
  1760. package/docs/api/api.md +78 -0
  1761. package/docs/api/assumptions.md +119 -0
  1762. package/docs/api/checks.md +265 -0
  1763. package/docs/api/commands.md +309 -0
  1764. package/docs/api/configuration/hooks.md +162 -0
  1765. package/docs/api/configuration/origins-and-uploads.md +85 -0
  1766. package/docs/api/configuration/principals-and-security.md +173 -0
  1767. package/docs/api/configuration/reference.md +283 -0
  1768. package/docs/api/limits.md +23 -0
  1769. package/docs/api/migrating-0.25.md +40 -0
  1770. package/docs/api/migrating-from-oat.md +70 -0
  1771. package/docs/api/model.md +230 -0
  1772. package/docs/api/reference-defects.md +181 -0
  1773. package/docs/api/releasing.md +52 -0
  1774. package/docs/api/reports.md +287 -0
  1775. package/docs/api/roadmaps/1-freshness-program-20261028T232448Z.md +90 -0
  1776. package/docs/api/steps.md +162 -0
  1777. package/docs/api/tags.md +536 -0
  1778. package/labs/api/README.md +130 -0
  1779. package/labs/api/annotated-openapi.yaml +421 -0
  1780. package/labs/api/demo.mjs +119 -0
  1781. package/labs/api/local.config.ts +33 -0
  1782. package/labs/api/minimal.config.ts +31 -0
  1783. package/labs/api/oob-auth.config.ts +152 -0
  1784. package/package.json +145 -5
@@ -0,0 +1,70 @@
1
+ # testing api — Migrating from oat
2
+
3
+ [← back to the overview](../../README.md)
4
+
5
+ `@lovrozagar/oat` 0.31 became `@workerstack/testing` 0.32, and oat itself became its `/api` subpath:
6
+ the API tester. The checks, the config shape and the reports are the same; every name changed. This page
7
+ lists each one, old to new. Nothing reads the old names, so change all of them at once.
8
+
9
+ ## Install and run
10
+
11
+ | oat 0.31 | @workerstack/testing 0.32 |
12
+ | ----------------------------------------- | ------------------------------------------------ |
13
+ | `npm i -D @lovrozagar/oat` | `npm i -D @workerstack/testing` |
14
+ | `oat <command>` (`oat run`, `oat doctor`) | `testing api <command>` (`testing api run`, ...) |
15
+ | `oat help` | `testing api help`; `testing` lists the subpaths |
16
+ | `node dist/cli.js <command>` | `node dist/api/cli.js <command>` |
17
+ | `oat: <message>` | `testing api: <message>` |
18
+
19
+ ## Imports and types
20
+
21
+ | oat 0.31 | @workerstack/testing 0.32 |
22
+ | ------------------------------------------------ | --------------------------------------------------------- |
23
+ | `import { defineConfig } from "@lovrozagar/oat"` | `import { defineConfig } from "@workerstack/testing/api"` |
24
+ | `import { steps } from "@lovrozagar/oat/steps"` | `import { steps } from "@workerstack/testing/api/steps"` |
25
+ | `OatConfig` | `ApiConfig` |
26
+
27
+ The package has no root export: `import "@workerstack/testing"` fails with `ERR_PACKAGE_PATH_NOT_EXPORTED`.
28
+
29
+ ## Files and folders
30
+
31
+ | oat 0.31 | @workerstack/testing 0.32 |
32
+ | ---------------------------------- | ----------------------------------------- |
33
+ | `oat.config.ts` (`.mjs`, `.json`) | `testing.api.config.ts` (`.mjs`, `.json`) |
34
+ | `.oat/runs/<datetime>/` | `.testing/api/runs/<datetime>/` |
35
+ | `oat-report.md`, `oat-report.json` | `report.md`, `report.json` |
36
+ | `.oat/credentials.json` | `.testing/api/credentials.json` |
37
+ | `oat.baseline.json` | `testing.api.baseline.json` |
38
+ | `oat-out/` | `testing-out/` |
39
+
40
+ `--config` is always explicit, so an `oat.config.ts` still runs when you pass it by that name; `testing api
41
+ init` writes `testing.api.config.ts`. Runs under `.oat/runs` are not read: `testing api baseline --from` or
42
+ `testing api diff` pointed at one says so. Make a new baseline from a new run.
43
+
44
+ ## Environment
45
+
46
+ | oat 0.31 | @workerstack/testing 0.32 |
47
+ | -------------------------------------- | ---------------------------------------------- |
48
+ | `OAT_<SCHEME>_TOKEN` written by `init` | `TESTING_API_<SCHEME>_TOKEN` written by `init` |
49
+ | `OAT_DEFER_ENV` | `TESTING_API_DEFER_ENV` |
50
+ | `OAT_HEAP_SNAPSHOTS` | `TESTING_API_HEAP_SNAPSHOTS` |
51
+
52
+ A config reads the env names it names with `env("...")`, so a config `oat init` wrote keeps reading its
53
+ `OAT_*` variables until you rename them. Rename them with the config, so the two stay in step.
54
+
55
+ ## Reports, specs and data
56
+
57
+ | oat 0.31 | @workerstack/testing 0.32 |
58
+ | ----------------------------------------------------- | -------------------------------------------- |
59
+ | matrix `"kind": "oat.matrix"` | `"kind": "testing.api.matrix"` |
60
+ | JUnit suite `oat.run` | `testing.api.run` |
61
+ | loader keys `x-oat-defs`, `x-oat-external`, ... | `x-testing-defs`, `x-testing-external`, ... |
62
+ | reference backend bypass `x-oat-fresh: 1` | `x-testing-fresh: 1` |
63
+ | generated values `oat-absent-...`, `oat-baseline-...` | `testing-absent-...`, `testing-baseline-...` |
64
+ | generated names `oat_unknown_parameter` | `testing_unknown_parameter` |
65
+
66
+ A cleanup script or a log filter that matches `oat-` on records the tester created should match `testing-`.
67
+
68
+ ## Lint plugin (contributors)
69
+
70
+ The repo's own oxlint plugin is `testing`: rule ids are `testing/<rule>` instead of `oat/<rule>`.
@@ -0,0 +1,230 @@
1
+ # testing api — How the API tester reads a document
2
+
3
+ [← back to the overview](../../README.md)
4
+
5
+ ## How a run works
6
+
7
+ 1. **Load** the OpenAPI document (URL or path). Internal `$ref`s are inlined, and a file's relative `$ref`s to files in its own folder are read in. URL `$ref`s are reported, never fetched.
8
+ 2. **Model** entities by inverting `x-invalidate` (or path heuristics) into a read surface per entity.
9
+ 3. **Authenticate** every configured principal with the recipe for each scheme the document declares. Credentials refresh on a countdown from `exp` (default 30s buffer) before every dispatch and each async poll.
10
+ 4. **Seed** a cohort of records per entity, in parent-before-child order, using each entity's create operation.
11
+ 5. **Test** the matrix entity by entity: foundations first, then composition, writes, isolation, declared effects. Entities that can see each other's writes (a parent and its children, a route one invalidates, an effect one lands on another) run in series; entities that share nothing run side by side. Checks inside an entity stay ordered.
12
+ 6. **Destructive** operations (`x-destructive`) run as a second user signed up for the purpose, never the suite caller.
13
+ 7. **Scenarios** run the flows the config declares for operations the matrix cannot reach on its own (a payment, a consent, an invite accepted by a second user).
14
+ 8. **Floor**: every operation nothing above graded is called once with a request built from its schema. A delete that only answered 2xx is read back once.
15
+ 9. **Teardown** everything the run created, unless `--keep-fixtures` / `keepFixtures: true`.
16
+
17
+ Every pass names its tier. `verified`: a later exchange shows a value from the call, such as the read holding the created id, the list without the deleted one, or the session refused after the logout. `contract`: the call got a documented success and its body matched the schema, and nothing later showed more. An operation the API tester could not call at all stays `untested` with the reason (`unresolved param team_id`, `contract call returned 409 …`); declare a scenario for it.
18
+
19
+ The writer is the principal `writer` names, or the first one. Isolation needs a second principal with a different `tenant`. A rank lattice needs two or more principals that share a `tenant` and differ in `rank`. Invite checks need `x-invite` plus a peer with `inviteAs`.
20
+
21
+ The API tester never needs ground truth about your data. A filter and its negation must partition the set; a page walk must cover the collection; a record read four ways must read the same.
22
+
23
+ Each operation is sent the credentials its OpenAPI `security` requires, placed where its scheme says, from the config's recipe for that scheme (see [Security recipes](configuration/principals-and-security.md#security-recipes)). The primary origin is `baseUrl`; extra hosts go in `origins[]`, each with its own spec. A request step whose `path` is an absolute `http(s)` URL is a recorded hop on that URL (a mailed consume page), not an `origins[]` entry. Request bodies follow the document: JSON, `multipart/form-data` (scalars plus dummy, pool, `each` or `resolveUpload` files), or `application/x-www-form-urlencoded`. `hooks.resolveInput` can replace a generated JSON field (a Stripe test `pm_…`); `hooks.resolveHeaders` can attach a one-shot header (Turnstile) per request.
24
+
25
+ ## How the model is derived
26
+
27
+ `testing api plan` is this model. Checks never see raw paths; they see entities, actions, and query **roles**.
28
+
29
+ ### Entity name and action
30
+
31
+ **Explicit:** `x-entity: { name, action, identity? }` on the operation.
32
+
33
+ **Heuristic** (when the tag is absent):
34
+
35
+ 1. Split the path on `/`. Ignore `{param}` segments.
36
+ 2. The last non-parameter segment is the noun. `v1` / `v2` / `vN` is never a noun.
37
+ 3. Singularize that noun (`stores` → `store`, `batches` → `batch`). Irregulars include `people→person`, `categories→category`, `campuses→campus`, `statuses→status`, `children→child`, `companies→company`, `addresses→address`, `indices→index`, `queries→query`, `properties→property`, `entities→entity`, `inboxes→inbox`. Endings `us|ss|is|os|as|ics|ews|ess|ous|sis` are left alone (`status` stays `status`).
38
+ 4. If a non-parameter segment follows the noun (`/rows/aggregate`, `/tables/{id}/restore`), action is `action`.
39
+ 5. Otherwise: `GET` collection → `list`, `GET` item → `read`, `POST` collection → `create`, `POST` item → `action`, `PUT`/`PATCH` → `update`, `DELETE` → `delete`.
40
+
41
+ If no noun can be found, the operation is untracked and `doctor` records an `x-entity` gap.
42
+
43
+ `--only` and report entity names are these singular names.
44
+
45
+ ### Identity
46
+
47
+ `x-entity.identity` wins. Else the first of `id`, `uuid`, `slug`, `key`, `name` that is **required** on the item schema, else the first of those that exists, else the trailing path-param suffix (`{table_id}` → `id`). Without an identity the entity is not trackable.
48
+
49
+ ### Read surface
50
+
51
+ The set of `GET` routes through which an instance is visible.
52
+
53
+ - Declared: every `"METHOD /path"` in any `x-invalidate` that refers to this entity.
54
+ - Inferred: sibling collection and item routes on the same path prefix as a mutator.
55
+
56
+ `invalidation.declared-route-changes` only runs when a mutator's `x-invalidate` names **another** entity's route.
57
+
58
+ ### Generated / immutable / soft-delete / tenant
59
+
60
+ See [OpenAPI meta tags](tags.md#openapi-meta-tags). Fallbacks:
61
+
62
+ - `readOnly: true` counts as generated (omitted from create bodies).
63
+ - No immutability testing without `x-immutable`.
64
+ - Tenant param: `x-tenant` or a path param matching `org|organization|tenant|workspace|account|project|app` + optional `_id`/`_slug`. Inferred tenants make a cross-tenant read `AMBIGUITY`, not `SECURITY`. With neither a tag nor an inferred name, the check does not apply.
65
+
66
+ ### Idempotency
67
+
68
+ No meta tag. If create declares a header matching `Idempotency-Key` / `Idempotence-Key` / `X-Idempotency-Key` (spaces ignored, case-insensitive), `idempotency.replay-does-not-duplicate` runs.
69
+
70
+ ### Methods
71
+
72
+ The API tester reads every operation field of an OAS 3.2 Path Item: `get`, `put`, `post`, `delete`, `options`, `head`, `patch`, `trace` and `query`. `GET`, `HEAD`, `OPTIONS`, `TRACE` and `QUERY` are safe: a read-only check may send them, they never count as writes, and a contract call may send one to any record the run saw. `PUT` and `DELETE` are idempotent too, so a network failure resends them, as it does a safe method. A `QUERY` carries its question in a JSON body like any other request body. A `TRACE` operation is listed but never sent, because fetch refuses the method: the contract call records it as untested with that reason, and the model flags it (`unsendable`).
73
+
74
+ ### Parameters
75
+
76
+ A required parameter the caller leaves unset is sent with the value the document declares for it (`example`, `examples`, `const`, the first `enum` value, or `default`), in the query, as a header, or as a cookie. An object or array value is kept whole. A header parameter named `Accept`, `Content-Type` or a credential header, and the idempotency key, are never sent from the document. A declared header or cookie under a name the operation's credential is placed in is never sent either; a caller's header there still collides with the credential.
77
+
78
+ Each value is written in the parameter's OAS `style` and `explode`: `form`, `spaceDelimited`, `pipeDelimited` and `deepObject` in the query and cookies, and `simple`, `label` and `matrix` in the path and headers. The OAS defaults hold when the document says nothing: `form` exploded in the query and cookies, `simple` unexploded in the path and headers. Values are percent-encoded per RFC 3986 unless the parameter sets `allowReserved`; a header is never percent-encoded. A urlencoded body's `encoding` uses the same serializer.
79
+
80
+ ### Discriminated unions
81
+
82
+ A `oneOf` or `anyOf` of `$ref`s beside a `discriminator` pins each branch to its tag: the `mapping` values that reach the branch's schema, or else its component name. Each branch then requires `propertyName` with one of its own values, so a response whose tag names one branch and whose fields fit another fails its schema, and a generated body carries the tag of the branch it was made from. A union's branch turns with the record's index, as an enum value does, so a cohort makes every branch. A union with a branch that is not a `$ref`, or one the API tester cannot name, stays as JSON Schema reads it. Not read: the `allOf` inheritance pattern, where a parent schema holds the `discriminator` and each child extends the parent with `allOf`; such a parent's tag is not pinned. A `mapping` value that names a schema in another file falls back to that branch's component name, and the union stays unpinned when no name is left. A tag marked `readOnly` (in a request) or `writeOnly` (in a response) leaves the union unpinned, read from the union and each branch's own `properties`, not from inside an `allOf`.
83
+
84
+ ## Seeding
85
+
86
+ Per entity, the API tester POSTs the create body built from the request schema (JSON, multipart, or urlencoded).
87
+
88
+ An entity with no create of its own — a table's exports, a webhook's deliveries — is read through its list. When that list sits under a parent (`/tables/{table_id}/exports`), the API tester makes the parent the way it makes any ancestor, sharing the one it already made for this principal, so the entity's checks have a list to read. A path parameter names whatever the collection before it creates, so `/organizations/{organization_id}/webhooks/{id}` finds the webhook even when the model calls it `organization-webhook`.
89
+
90
+ Default cohort is **7** records, one of each variant, sliced by `cohortSize`:
91
+
92
+ | variant | what it is for |
93
+ | --------------- | -------------------------------------------------- |
94
+ | `baseline` | `"Quarterly Report N"` |
95
+ | `lexical-first` | sorts first (`"aaa first alphabetically"`) |
96
+ | `lexical-last` | sorts last (`"zzz last alphabetically"`) |
97
+ | `null-heavy` | `null` on every nullable field |
98
+ | `unicode` | `"äöüß čćžšđ 日本語 中文 한글 привет مرحبا 🙂"` |
99
+ | `metacharacter` | `"100% _off_ *everything*"` — LIKE / escape probes |
100
+ | `boundary` | empty / maxLength / numeric `maximum` |
101
+
102
+ Numbers use the ladder `1, 2, 5, 10, 20, 50, 100` so **lexical order ≠ numeric order** (otherwise a TEXT compare looks correct). Enums walk `index % enum.length`. `readOnly` / `x-generated` fields are omitted. Required fields that cannot be generated get a type fallback (`0`, `false`, `[]`, `{}`, `"value"`). Arrays honor `minItems` (never send `[]` when `minItems ≥ 1`). Nested objects stop at depth 4.
103
+
104
+ Empty schemas (`{}`, `true`, `additionalProperties: {}`) and cyclic `$ref`s after inlining stop the walk — they become a scalar or `{}`, never another object descent. A `RangeError` during generation is a `COVERAGE_GAP` on that entity naming the operationId and JSON pointer (`fixture generation overflow on table.create (/)`), not `blocked by unknown`.
105
+
106
+ String fields honor `format`, `pattern`, and `minLength` together: `email` → `testing-{variant}-{index}@example.test`, `uri` / `url` → `https://example.test/...`, `uuid` → a fixed-shape UUID, `pattern` → a string that matches (or the field is omitted / the entity is a gap). A generated string is padded to `minLength` (repeat the last character) without breaking `pattern`. `"Quarterly Report N"` is only used when the document does not constrain the string. `minLength` greater than `maxLength` omits an optional field and records `missingRequired` on a required one.
107
+
108
+ An operation with `x-invite` is not `entity.create`. The API tester does not POST a generated invitee. The invite check sends `granteeField` = the peer's `inviteAs`. Missing `inviteAs` is a coverage gap naming the tag.
109
+
110
+ A create whose `operationId` appears in any principal `auth.steps`, or that declares `x-fresh-principal`, is not seeded. Those rows were provisioned by the auth flow.
111
+
112
+ Parent path parameters are created first (depth-first through the owning entity's create). Each principal's `scope` (or a login's `scope.<parameter>` claim, or `hooks.resolvePathValue`) fills parameters the API tester cannot create.
113
+
114
+ A create that returns `>= 300` on the first variant fails the entity (downstream checks `BLOCKED`). Later variants that fail just shorten the cohort — a partial cohort is still used.
115
+
116
+ HTTP 429 is retried first — `Retry-After` or exponential backoff, up to five times — on seed, checks, and teardown, whether or not the operation declared `x-rate-limit`. The first 429 is never a seed failure. A leftover 429 after those retries is a gap, not a backend defect. A `Retry-After` longer than `network.maxRetryAfterMs` (default 60s) is not waited for: that 429 stands at once, unretried, and the gap names the wait it asked for.
117
+
118
+ A 503 with `Retry-After` is waited out and asked again, up to three times, as a well-behaved client would. A 503 that names no wait, or a wait longer than `network.maxRetryAfterMs`, stands, and a read meeting it is not asked again. A read (`GET`, `HEAD`) that meets a 502, 503 or 504 — what a gateway answers on its own, without the request reaching the API — is asked once more after a second; a write never is. Every server error left standing fails its operation (`response.no-server-error`); a lasting 503 is reported as the operation being unavailable, any other 5xx as a crash.
119
+
120
+ A request that times out is a network outcome only when the host has stopped answering. When the origin still answers a probe, the timeout fails that one operation and the run goes on.
121
+
122
+ A 402 / plan-limit (`payment_required`, `*_plan_limit`) on create is not a backend defect when the same-tenant list already has a row — typically an earlier `x-effects` create that filled a free-plan quota. The API tester reuses that id so children (a `row` after extract created a `table`) can still seed. It does not invent records. Write-path checks on the adopted entity stand down.
123
+
124
+ A documented feature-gate 403 is the exception: if create declares `x-feature-gate` and the body is `vars.type: feature_gate` (and `vars.feature` matches the tag when present), the API tester records a `COVERAGE_GAP` naming the tag rather than a seed defect. See [`x-feature-gate`](tags.md#x-feature-gate).
125
+
126
+ When create is tagged `x-unique`, a first-variant seed **409** with a nonempty same-tenant list **adopts** that row (`world.seed` `COVERAGE_GAP` naming `x-unique` — the create could not insert). Unique-conflict checks still run against that row. Write-path oracles that need a body the API tester submitted stay skipped. 409 with an empty list stays `BLOCKED` (`could not seed`). A 409 without the tag is still today's seed failure. The seed 409 itself is not `create.unique-conflict-rejected` passing — that check is the explicit second POST. See [`x-unique`](tags.md#x-unique). Later variants that 409 only shorten the cohort. Generated values for unique body columns differ across variants (a suffix) without weakening `maxLength` / `pattern`; if the document cannot express two distinct values, the API tester records a gap and skips extra variants.
127
+
128
+ `--seed` / `seed` makes the bodies identical across runs. It does not make server-assigned ids identical.
129
+
130
+ A record belongs to the configured principal whose credential its create carried, whatever sent it: a seed, a check, a probe the backend should have refused, a scenario step, a create declared as `PUT`. The API tester reads every answer as it arrives, and each 2xx from an entity's create is ledgered under that principal, scoped where the create's own path put it — a path value wins over the principal's root of the same name, so a create sent under another tenant's root is removed under that root. A principal configured with no credential owns the requests that carry none. A create sent with a credential no configured principal holds — a scenario's own account — is outside the ledger: the scenario that made it cleans it up. Accounts are never ledgered here: the caller's own account (`x-entity.identity: self`) and the record a sign-up creates belong to the account ledger, which removes each as itself, by an admin, or by `hooks.teardownPrincipal` (see [principals](configuration/reference.md)).
131
+
132
+ Teardown DELETEs created rows (or the `x-cleanup` route) newest-first, and only by an id the backend gave back: a create's response, a listing, an async receipt, or — for a create that answers only an acknowledgment — the entity's read under the id the API tester sent, showing that id and every field the API tester submitted. An id the API tester merely sent is never recorded, so a server that ignores a client-chosen id cannot make the API tester delete somebody else's row. A record whose delete is refused counts as removed when a delete on the same path succeeded earlier in the run: a tenant its creator has left can refuse every later request. A write the backend accepted to a key it should have refused — a tenant or parent id — may have moved a record out of every scope the API tester can reach, so its creator's 404 no longer counts as removal: the record is a leftover, named with the write that moved it. Each record is deleted with its creator's credential first. Failures and missing delete routes are printed as leftovers, each naming the principal that created the record, not as check findings. After each level of deletes, and before the parents above it go, each list is read again with the creator's credential, page by page as the list declares its paging (largest page, at most 50 pages), until it ends or holds every record being looked for: a record still listed after its delete answered 2xx is a leftover too, with that reason. A read that is fenced or cannot be sent verifies nothing and claims nothing; `teardown: { verify: false }` skips it. Every read and listing by a record's creator during the run counts as having seen it; a record its creator never saw is read once with the creator's credential before its delete, and one still unseen after a 2xx delete is a leftover, since nothing HTTP said could have shown it gone — unless the record, or an ancestor of it, was deleted earlier in the run (compared by path segments). An entity with no read makes no such claim. `hooks.verifyRemoved` can settle each record from outside HTTP; see [Proving a record gone](configuration/hooks.md#proving-a-record-gone). `keepFixtures: true` skips teardown altogether.
133
+
134
+ ## Query roles and grammars
135
+
136
+ Checks do not look for a parameter _named_ `filter`. They resolve **roles** from aliases, then write values in the grammar the document demonstrates.
137
+
138
+ | role | aliases (normalized: case, `_` / `-`, `perPage` → `per_page`) |
139
+ | ----------------- | ----------------------------------------------------------------------------------- |
140
+ | filter | `filter`, `where`, `query`, `conditions` |
141
+ | order | `order`, `order_by`, `sort`, `sort_by`, `ordering` |
142
+ | select | `select`, `fields`, `field`, `include_fields`, `projection`, `only` |
143
+ | search | `q`, `search`, `query_text`, `term`, `keyword`, `text` |
144
+ | search mode | `search_mode`, `searchmode`, `search_type`, `mode` (only if a search role exists) |
145
+ | limit (page size) | `limit`, `per_page`, `page_size`, `pagesize`, `count`, `max_results`, `top`, `size` |
146
+ | page | `page`, `page_number`, `pagenum`, `p` |
147
+ | offset | `offset`, `skip`, `start`, `from` |
148
+ | cursor | `cursor`, `after`, `starting_after`, `next`, `page_token`, `continuation` |
149
+
150
+ A bracketed suffix is a _value_ in the name (`fields[articles]`, `filter[status]`), not part of the role. `count` is a page size only when it looks like one (has `maximum` or a default); otherwise it is treated as a total.
151
+
152
+ A search alias whose declaration says it takes structured input is not free text, and the API tester passes over it for the next alias: a scalar schema that is not a string, a `pattern` containing `:`, or examples or a description that spell `key:value` (`key1:value2` too). Keycloak's `q`, described as `'key1:value2 key2:value2'`, is an attribute query, so its users list searches by `search`. The rule is kept that narrow: a colon in an example (`role:admin`) or the word "attribute" alone can belong to free text.
153
+
154
+ A bounded integer with a default that matches no alias is still taken as page size. A 1-based integer with no maximum is taken as page number.
155
+
156
+ **Filter grammars** — how the API tester **writes** a term:
157
+
158
+ | name | example | `and` / `or` |
159
+ | ----------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------- |
160
+ | `postgrest` | `status.eq.active`, `name.neq.x`, `id.in.(a,b)`, `name.ilike.FOO`, `note.is.null`, `tags.contains.x` | `and(a.eq.1,b.eq.2)`, `or(...)` |
161
+ | `colon` | `filter=status=eq:active` (comma-joined terms; no grouping) | not expressible; those checks skip |
162
+ | `equality` | `?status=active` (one query param per field). Only `eq` is expressible | not expressible |
163
+
164
+ Operators the **postgrest** writer can emit: `eq`, `ne`, `neq`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`, `like`, `ilike`, `is`, `contains`. Colon stays on `eq` / `neq` / `gt` / `gte` / `lt` / `lte` / `like`. Equality is `eq` only. Anything a grammar cannot write becomes **did not apply**, not a failed request.
165
+
166
+ A check that needs `in`, `ilike`, `is`, `contains`, a search mode, or `nullsfirst` / `nullslast` also needs that capability **declared**. The API tester does not infer new operators, modes, or nulls tokens onto an API that never listed them.
167
+
168
+ **Sort grammars:** `name.asc` (dotted), `-name` (prefixed / JSON:API; ascending is the bare name), `name:asc` (colon), `name asc` (spaced). Dotted (PostgREST-shaped) can also emit `name.asc.nullsfirst` / `name.desc.nullslast` when the capability map allows that token. Colon / prefixed / spaced stay as they are.
169
+
170
+ **Select grammars:** `id,name` (csv) or `fields[table]=id,name` (bracketed). If the parameter is already named `fields[articles]`, that name is used verbatim.
171
+
172
+ ### How a grammar is inferred
173
+
174
+ `x-query.grammar` wins when it is `postgrest` | `colon` | `equality`.
175
+
176
+ Otherwise the API tester concatenates the filter/order/select parameter's `example`, `examples`, and `description`:
177
+
178
+ - Filter: `/postgrest/i` or `field.op.value` / `status.eq.active` → `postgrest`; `status=eq:` → `colon`; else `equality`. A free-text `filter` string that still looks like equality produces an `x-query` gap telling you to declare the grammar.
179
+ - Sort: `name.asc` → dotted; `name:desc` → colon; `name desc` → spaced; leading `-field` → prefixed; else dotted.
180
+ - Select: parameter name or description contains `fields[…]` → bracketed; else csv.
181
+
182
+ Without `x-query`, if a filter/order/select/search role resolves, the API tester assumes **every scalar** is filterable/sortable/selectable (`string` / `number` / `integer` / `boolean`, including nullable unions). Sortable-without-tag leaves out the list's own path parameters (`project_id` under `/projects/{project_id}/tables`): every listed record holds the same value, so ordering by it shows nothing. Searchable-without-tag is further narrowed to names matching `name|title|slug|label|description|email`. `doctor` warns. Pagination-only lists stay uncovered.
183
+
184
+ A query probe goes only to a parameter the list operation declares. Without a declared order, search or select parameter, that axis is empty, whatever `x-query` or config lists for it. Under one parameter per field (`equality`, or a template with `param: "{field}"`), the guessed filterable fields are cut to those the list declares as query parameters; a field `x-query`, config, a harvest or the hook names is kept. A check that needed what was cut does not apply, and its reason names the missing parameter (``the `id` query parameter, which the list operation does not declare``). `doctor` shows the cut map.
185
+
186
+ That heuristic runs **only** for an axis that was not tagged and not set in config. An explicit empty claim — `filterable: []`, `searchable: null`, `selectable: []`, `sortable: []` — is a claim of none. The API tester will not infer scalars over it.
187
+
188
+ Searchable / filterable / sortable / selectable from the tag are used as given. `maxLimit` is also taken from a page-size parameter's `schema.maximum` when the tag omits it.
189
+
190
+ ### Declared or skip
191
+
192
+ Every list check consults one **effective capability map** per entity. Precedence, unchanged in spirit:
193
+
194
+ | order | source | what it contributes |
195
+ | ----- | ------------------------------- | ---------------------------------------------------------------------------------------------------- |
196
+ | 1 | `x-query` on the list operation | fields, structured rows, operators, modes, caps, harvest |
197
+ | 2 | `config.entities[name].query` | union of fields; overlay of ops / modes / caps |
198
+ | 3 | `config.query` | global defaults for the same keys |
199
+ | 4 | heuristic | today's scalars / name-regex searchable — **only if that axis was not tagged and not set in config** |
200
+ | 5 | skip | the check does not apply |
201
+
202
+ `hooks.resolveQueryCapabilities` runs after 1–3 (and after any `*From` harvest) and may add or replace any axis. Return `null` to keep the merge. Called once per entity after seed, with the seeded parent scope so a follow-up GET can run.
203
+
204
+ Missing capability → the check does not apply / unresolved. Never `BACKEND_BUG` for an undeclared op, mode, or nulls option.
205
+
206
+ ## Pagination and envelopes
207
+
208
+ Three page models, all first-class:
209
+
210
+ - **Page number** (`page` + `limit` roles).
211
+ - **Offset** (`offset` + `limit`). Checks that say "page 3" translate to `offset = (page - 1) * size` (size defaults to 20 only for that translation).
212
+ - **Cursor** (`cursor` role + envelope `nextCursor` or a `Link: rel=next` header).
213
+
214
+ `hasMore` is taken from the body (`hasMore`, `has_more`, `hasNextPage`, `more`) **or** from a documented `Link` response header. Under Link pagination, **absence** of `rel="next"` means no more pages.
215
+
216
+ Collection shape is derived from the success JSON schema, not from hardcoded wrapper names:
217
+
218
+ - Response `type: array` → the body is the list (`key: null`).
219
+ - Otherwise the array property whose items are objects, skipping sidecar names `error(s)`, `warning(s)`, `message(s)`, `meta`, `links`. Resource-named envelopes (`{ tables: [...] }`) work.
220
+ - Sibling keys become envelope fields:
221
+
222
+ | role | accepted property names |
223
+ | ---------- | ----------------------------------------------------------- |
224
+ | total | `count`, `total`, `totalCount`, `total_count`, `totalItems` |
225
+ | hasMore | `hasMore`, `has_more`, `hasNextPage`, `more` |
226
+ | nextCursor | `nextCursor`, `next_cursor`, `cursor`, `next`, `endCursor` |
227
+ | page | `page`, `pageNumber`, `page_number`, `offset` |
228
+ | limit | `limit`, `perPage`, `per_page`, `pageSize`, `page_size` |
229
+
230
+ Success schema is the first JSON media type on responses `200`, `201`, `202`, `2XX`, or `default`. Request schema is taken from `requestBody` preferring `multipart/form-data`, then `application/x-www-form-urlencoded`, then JSON. A success response that lists `text/event-stream` is a stream: the API tester consumes it to the end and does not treat the raw body as a JSON schema defect. Media type is the stream tag — there is no `x-stream`.
@@ -0,0 +1,181 @@
1
+ # testing api — Reference defects
2
+
3
+ [← back to the overview](../../README.md)
4
+
5
+ ## Reference defects (`testing api serve --defects`)
6
+
7
+ Comma-separated. Each is one named lie the demo API can tell. Primary check is what conformance asserts; extras in parentheses are accepted additional symptoms of the same lie.
8
+
9
+ | defect | primary check | the lie |
10
+ | -------------------------------------------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
11
+ | `STALE_LIST` | `list.read-after-write` | create succeeds, list does not show the row |
12
+ | `CREATE_DROPS_FIELD` | `create.persists-submitted-fields` | a submitted field is dropped |
13
+ | `UPDATE_DROPS_FIELD` | `update.persists-submitted-fields` | an update answers 200 and leaves the table's submitted `description` unchanged |
14
+ | `READ_DROPS_FIELD` | `consistency.projections-agree` | the item read leaves out a field the record and its listing still hold |
15
+ | `STRING_PAYLOAD_MANGLED` | `payload.string-survives` | non-ASCII / surrounding whitespace stripped on write |
16
+ | `CREATE_500_ON_NON_ASCII` | `create.does-not-error` | a create whose string holds non-ASCII text answers 500 (also string-survives, status-is-documented, no-server-error) |
17
+ | `RESPONSE_STATUS_UNDECLARED` | `response.status-is-documented` | PATCH returns 201 when the document names 200 |
18
+ | `CREATED_201_AS_200` | `create.status-matches-document` | create returns 200 when the spec says 201 |
19
+ | `RESPONSE_SCHEMA_DRIFT` | `schema.success-response-matches-document` | success body does not match the schema (also read-response-matches-document) |
20
+ | `READ_BODY_DIVERGES` | `schema.read-response-matches-document` | the item read answers a member its documented schema does not declare; the create and the listing answer as documented |
21
+ | `WRITE_ONLY_LEAKED` | `response.write-only-not-returned` | behind write-only-field, the item read answers the writeOnly `secret` (also read-response-matches-document: the schema is closed) |
22
+ | `KEY_DELETE_CROSS_TENANT` | `tenant.item-not-writable-cross-tenant` | behind key-lifecycle, another tenant's revoke of an API key succeeds; proved on a key made for the probe, never the run's own |
23
+ | `STALE_PAST_BOUND` | `consistency.staleness-within-bound` | behind cached-reads, the read cache keeps a copy 2500 ms where the reads declare a 1 s staleness |
24
+ | `BYPASS_IGNORED` | `consistency.bypass-is-fresh` | behind cached-reads, the declared `x-testing-fresh: 1` bypass is accepted and the cache answers anyway |
25
+ | `ERROR_SCHEMA_DRIFT` | `schema.error-response-matches-document` | error body does not match the schema |
26
+ | `PROBLEM_JSON_MALFORMED` | `schema.problem-json-shape` | the 412 problem detail says `status: 400`; its body still fits the declared schema |
27
+ | `DISCRIMINATOR_BRANCH_WRONG` | `response.contract-call` | the search answers a card's fields under `kind: bank`, or a bank account's under `kind: card` |
28
+ | `PUBLIC_GET_NOT_SUCCESS` | `response.public-get-returns-success` | the public `GET /health` answers 500 |
29
+ | `TOKEN_EXPIRY_AS_STRING` | `response.contract-call` | the token exchange answers `expires_in` as a string where the document declares an integer |
30
+ | `LIMIT_IGNORED` | `pagination.limit-bounds-page-size` | `limit` is accepted and ignored |
31
+ | `LIMIT_EXCEEDS_MAX` | `pagination.limit-respects-documented-max` | documented max is not capped |
32
+ | `LIMIT_OUT_OF_RANGE_SERVED` | `pagination.limit-bounds-enforced` | a page size of 0 or past the maximum is served, though the document declares it refused |
33
+ | `HASMORE_ALWAYS_FALSE` | `pagination.has-more-is-accurate` | `hasMore` is always false |
34
+ | `OFF_BY_ONE_PAGE` | `pagination.page-walk-covers-set` | page walk skips or repeats |
35
+ | `PAGE_PAST_END_REPEATS` | `pagination.bounds-handled` | a page past the end repeats the last page |
36
+ | `UNSTABLE_SORT` | `pagination.page-walk-covers-set` | default order is not a total order |
37
+ | `CURSOR_DRIFT` | `pagination.cursor-agrees-with-page` | cursor and page disagree |
38
+ | `FILTER_IGNORED` | `filter.unknown-field-rejected` | unknown filter field is ignored |
39
+ | `UNKNOWN_PARAM_EMPTIES_LIST` | `query.unknown-parameter-consistent` | an unknown query parameter empties the listing |
40
+ | `FILTER_EQ_NOT_APPLIED` | `filter.equality-selects-exactly-one` | equality filter is ignored |
41
+ | `EMPTY_RESULT_RETURNS_ALL` | `filter.zero-match-returns-none` | empty match returns the whole set |
42
+ | `NEQ_DROPS_NULLS` | `filter.negation-partitions-the-set` | `neq` drops nulls so the partition leaks |
43
+ | `FILTER_GROUP_COMBINATOR_SWAPPED` | `filter.and-composes-as-intersection` | `and`/`or` are swapped |
44
+ | `LIKE_UNESCAPED` | `filter.like-metacharacters-escaped` | `%`/`_` are wildcards in values |
45
+ | `NUMERIC_COMPARED_AS_TEXT` | `filter.numeric-comparison-is-numeric` | numbers compared as strings |
46
+ | `ERROR_500_ON_BAD_FILTER` | `error.malformed-filter-not-5xx` | bad filter is 500 |
47
+ | `FILTER_AFTER_PAGINATION` | `query.filter-selects-from-whole-set` | filter applied after the page is cut |
48
+ | `ORDER_IGNORED` | `sort.order-is-applied` | sort param is ignored |
49
+ | `SORT_DESC_DROPS_NULLS` | `sort.reverse-symmetry` | desc drops nulls |
50
+ | `SORT_NULLS_MODIFIER_IGNORED` | `sort.nulls-first-last` | `nullsfirst` / `nullslast` are parsed and ignored |
51
+ | `SORT_UNKNOWN_FIELD_IGNORED` | `sort.unknown-field-rejected` | a sort on an unknown field is dropped instead of refused |
52
+ | `SEARCH_IGNORED` | `search.q-narrows-result` | search param is ignored |
53
+ | `SEARCH_ONLY_FIRST_TOKEN` | `search.tokens-and` | only the first search token is applied |
54
+ | `SEARCH_CASE_SENSITIVE` | `search.case-insensitive` | search is case-sensitive though the document declares `searchCase: insensitive` |
55
+ | `SEARCH_EMPTY_MATCHES_NONE` | `search.empty-q` | `q=` matches nothing though the document declares `searchEmpty: match-all` |
56
+ | `SEARCH_MODE_REJECTED` | `search.mode-accepted` | the declared `prefix` search mode is refused |
57
+ | `SELECT_IGNORED` | `select.projection-honored` | select param is ignored |
58
+ | `SELECT_UNKNOWN_IGNORED` | `select.unknown-field-rejected` | an unknown select field is dropped though the document declares `select.unknown: reject` |
59
+ | `NESTED_SELECT_IGNORED` | `select.nested-honored` | a nested select returns every field of the relation |
60
+ | `COUNT_ALWAYS_ZERO` | `count.consistent-with-returned-page` | total is always 0 |
61
+ | `COUNT_IGNORES_FILTER` | `count.matches-filtered-set` | total ignores the filter |
62
+ | `FILTER_DROPPED_WHEN_SORTED` | `query.axes-compose` | sort drops the filter |
63
+ | `FILTER_DROPPED_WHEN_SELECTED` | `query.filter-and-select-compose` | select drops the filter |
64
+ | `FILTER_DROPPED_WHEN_SEARCHED` | `query.search-and-filter-compose` | search drops the filter |
65
+ | `FILTER_DROPPED_WHEN_SORTED_AND_SELECTED` | `query.filter-sort-select-compose` | the triple drops the filter |
66
+ | `FILTER_DROPPED_WHEN_SORTED_AND_SEARCHED` | `query.filter-search-sort-compose` | the triple drops the filter |
67
+ | `FILTER_DROPPED_WHEN_SEARCHED_AND_SELECTED` | `query.filter-search-select-compose` | the triple drops the filter |
68
+ | `FILTER_DROPPED_WHEN_SORTED_SEARCHED_AND_SELECTED` | `query.filter-search-sort-select-compose` | all four axes together drop the filter; every pair and triple composes |
69
+ | `SEARCH_DROPPED_WHEN_SELECTED` | `query.search-and-select-compose` | select drops the search (also the triples and the four with search and select) |
70
+ | `SEARCH_DROPPED_WHEN_SORTED` | `query.search-and-sort-compose` | sort drops the search (also the triples and the four with search and sort) |
71
+ | `ORDER_DROPPED_WHEN_SELECTED` | `query.sort-and-select-compose` | select drops the sort (also the triples and the four with sort and select) |
72
+ | `SPEC_OVERCLAIMS_FILTERABLE` | `spec.declared-filterable-is-filterable` | `x-query` lists a field that 400s |
73
+ | `SPEC_OVERCLAIMS_SORTABLE` | `spec.declared-sortable-is-sortable` | same for sort |
74
+ | `SPEC_OVERCLAIMS_SELECTABLE` | `spec.declared-selectable-is-selectable` | same for select |
75
+ | `SPEC_OVERCLAIMS_FILTER_OP` | `spec.declared-filterable-ops-accepted` | `x-query` lists `like` on `slug`, and the backend refuses it |
76
+ | `FILTER_IN_FIRST_ONLY` | `filter.in-is-union-of-eq` | `in.(a,b)` matches only the first value |
77
+ | `FILTER_NIN_FIRST_ONLY` | `filter.nin-complements-in` | `nin.(a,b)` excludes only the first value |
78
+ | `FILTER_IN_CAP_IGNORED` | `filter.in-over-limit-rejected` | an `in` list over `maxInValues` is evaluated instead of refused |
79
+ | `FILTER_GTE_IS_GT` | `filter.gte-is-gt-or-eq` | `gte` is compiled as `gt` |
80
+ | `FILTER_LTE_IS_LT` | `filter.lte-is-lt-or-eq` | `lte` is compiled as `lt` |
81
+ | `FILTER_LT_IS_LTE` | `filter.ordered-triple-partitions` | `lt` is compiled as `lte`, so a boundary value is both below and equal to itself |
82
+ | `FILTER_ILIKE_IS_LIKE` | `filter.ilike-is-case-insensitive` | `ilike` is compiled as `like` |
83
+ | `FILTER_IS_NULL_MATCHES_ALL` | `filter.is-null-selects-nulls` | `is.null` matches every row |
84
+ | `CONTAINS_MATCHES_SUBSTRING` | `filter.contains-membership` | `contains` matches the array as text, so an element containing the value matches too |
85
+ | `FILTER_ALIAS_MISMAPPED` | `filter.alias-matches-canonical` | the `ne` alias is read as `eq` (also illegal-op) |
86
+ | `FILTER_CONDITION_CAP_IGNORED` | `filter.condition-cap-rejected` | a filter over `maxFilterConditions` is evaluated instead of refused |
87
+ | `FILTER_NESTED_COMBINATOR_LEAKS` | `filter.nested-and-or-distributes` | a nested group's combinator replaces the enclosing group's for its remaining terms |
88
+ | `FILTER_ILLEGAL_OP_IGNORED` | `filter.illegal-op-rejected` | an operator outside the allowlist, or one the grammar does not have, is ignored |
89
+ | `IGNORES_MALFORMED_FILTER` | `filter.malformed-term-rejected` | a filter term the grammar cannot parse is dropped (200 with the whole set) |
90
+ | `IGNORES_BAD_SORT_DIRECTION` | `sort.invalid-direction-rejected` | an unknown sort direction is read as ascending (`template` dialect, the one declaring its sort) |
91
+ | `SORT_NUMERIC_AS_TEXT` | `sort.numeric-order-is-numeric` | a numeric field is ordered lexicographically |
92
+ | `SORT_MULTI_KEY_IGNORED` | `sort.multi-key-tiebreak` | the second sort key is ignored |
93
+ | `TIEBREAK_NOT_APPLIED` | `sort.stable-tiebreak` | ties are broken by another field than the declared one |
94
+ | `DEFAULT_ORDER_IGNORED` | `sort.default-order-applied` | with no sort requested, the listing ignores the documented `defaultOrder` |
95
+ | `RATE_LIMIT_STRICTER_THAN_DECLARED` | `spec.declared-rate-limit-is-honored` | 429 well inside the declared `x-rate-limit` rate |
96
+ | `ACTION_CRASHES` | `response.no-server-error` | starting a job answers 500 instead of starting it |
97
+ | `SELECT_FIELD_MISSING` | `select.requested-fields-present` | a requested select field is dropped |
98
+ | `CROSS_TENANT_READ` | `tenant.item-not-readable-cross-tenant` | item GET is global by id |
99
+ | `CLIENT_ID_IGNORED` | `create.keeps-submitted-identity` | a create stores the record under its own id, not the one the client chose (`client-ids` shape) |
100
+ | `CLIENT_ID_OVERWRITES` | `create.unique-conflict-rejected` | a create with an id the tenant already holds overwrites that record (`client-ids` shape) |
101
+ | `CROSS_TENANT_WRITE` | `tenant.item-not-writable-cross-tenant` | update and delete reach another tenant's record |
102
+ | `EXISTENCE_LEAK_VIA_STATUS` | `tenant.denial-does-not-reveal-existence` | 403 vs 404 reveals the other tenant's row |
103
+ | `TENANT_LEAK_VIA_FILTER` | `tenant.filter-does-not-bypass-scope` | filter drops the tenant predicate |
104
+ | `FOREIGN_PARENT_ACCEPTED` | `tenant.parent-not-reachable-from-another-root` | another tenant's parent is accepted under one's own root |
105
+ | `ROLE_MONOTONICITY_BROKEN` | `auth.rank-is-monotonic` | a lower rank can do more |
106
+ | `ROLE_WRITE_INVERTED` | `auth.rank-is-monotonic-on-writes` | a lower rank can update where a higher rank cannot |
107
+ | `INVITE_NEVER_GRANTS` | `auth.invite-grants-then-revokes` | accept does not grant |
108
+ | `REVOKE_IGNORED` | `auth.invite-grants-then-revokes` | revoke leaves the grant |
109
+ | `CALLER_UPDATE_DROPPED` | `auth.self-is-the-caller` | a PATCH of the signed-up caller (`/v1/me`) answers 200 and changes nothing |
110
+ | `ROOT_READ_OPEN` | `read.matches-caller-root` | the caller's project overview answers with no token (also missing-credential, invalid-credential, wrong-scheme) |
111
+ | `DISPOSABLE_KILLS_CALLER` | `auth.destructive-spares-the-caller` | logout ends every account's sessions, the suite caller's included (also `auth.blocked`) |
112
+ | `IMMUTABLE_WRITABLE` | `patch.immutable-field-rejected` | immutable fields accept writes |
113
+ | `SOFT_DELETE_LEAK` | `softdelete.absent-from-default-list` | tombstone stays on the default list |
114
+ | `PARENT_PROJECTION_STALE` | `invalidation.declared-route-changes` | child write does not bump the parent |
115
+ | `EFFECT_NOT_APPLIED` | `effects.declared-effect-occurs` | declared cardinality delta does not happen |
116
+ | `SIDE_EFFECT_NEVER_ARRIVES` | `effects.side-effect-arrives` | the side effect a write declares with `x-wait` never arrives |
117
+ | `ASYNC_NEVER_COMPLETES` | `async.reaches-terminal-state` | job stays pending |
118
+ | `ASYNC_RECEIPT_MISSING_ID` | `async.receipt-identifies-the-job` | receipt has no id |
119
+ | `PATCH_REPLACES` | `patch.minimality` | PATCH is implemented as replace (also read-response-matches-document behind rich-schema) |
120
+ | `IDEMPOTENCY_IGNORED` | `idempotency.replay-does-not-duplicate` | Idempotency-Key is ignored |
121
+ | `IDEMPOTENT_REPLAY_INSERTS` | `idempotency.replay-does-not-duplicate` | a replay returns the original but inserts another row |
122
+ | `HIDDEN_FROM_CREATOR` | `payload.string-survives` | a row holding a given value is never served, even to its creator, and outlives its delete |
123
+ | `UNIQUE_NOT_ENFORCED` | `create.unique-conflict-rejected` | a duplicate unique-set write is 2xx instead of 409 |
124
+ | `DELETE_MISSING_OK` | `delete.absent-record-returns-404` | DELETE missing returns 200 |
125
+ | `DELETE_KEEPS_ROW` | `delete.absent-record-returns-404` | a delete answers success and keeps the row; teardown also lists each such record as a leftover |
126
+ | `CONCURRENT_WRITE_LOST` | `concurrency.no-lost-update` | full-row write clobbers a parallel PATCH |
127
+ | `ETAG_IGNORED` | `concurrency.if-match-enforced` | an update under a stale `If-Match` is applied instead of refused with 412 |
128
+ | `ENUM_NOT_VALIDATED` | `validation.enum-enforced` | enum is not enforced (also read-response-matches-document: the listing serves it) |
129
+ | `MAXLENGTH_NOT_VALIDATED` | `validation.max-length-enforced` | maxLength is not enforced (also read-response-matches-document: the listing serves it) |
130
+ | `REQUIRED_NOT_VALIDATED` | `validation.required-enforced` | required is not enforced on a create, nor on a replacing PUT update (`request.invalid-body-refused` under `put-update`) |
131
+ | `CONTENT_TYPE_NOT_ENFORCED` | `validation.content-type-enforced` | wrong Content-Type is accepted |
132
+ | `WRITE_BODY_NOT_VALIDATED` | `request.invalid-body-refused` | a table or row update applies what parses of an invalid body and answers 200 |
133
+ | `LIST_DETAIL_DISAGREE` | `consistency.projections-agree` | list and item show different values (also read-response-matches-document) |
134
+ | `LISTED_GET_DIFFERS` | `list.item-matches-listed-row` | the get of a listed notice answers another `title` than the list |
135
+ | `COLUMN_NAME_MISMATCH` | `create.persists-submitted-fields` | SQL identifier does not match the field (SQL backends) |
136
+ | `COLLATION_INCONSISTENT` | `pagination.cursor-agrees-with-page` | cursor order ≠ page order (SQL) |
137
+ | `AUTH_IGNORED_ON_ROUTE` | `auth.missing-credential-refused` | one secured route (the notices list) answers with no credential (also invalid-credential, wrong-scheme) |
138
+ | `TOKEN_NOT_VERIFIED` | `auth.invalid-credential-refused` | a JWT whose signature was altered still authenticates |
139
+ | `ANY_SCHEME_ACCEPTED` | `auth.wrong-scheme-refused` | a route the document secures with jwt alone takes an API key too |
140
+ | `SCOPE_NOT_CHECKED` | `auth.scope-enforced` | an API key authenticates an operation whose scope it was never granted |
141
+ | `APIKEY_ALTERNATIVE_BROKEN` | `auth.alternative-accepted` | a record route documented as jwt or a scoped API key refuses every API key |
142
+ | `PUBLIC_ROUTE_GUARDED` | `auth.anonymous-operation-open` | the login the document declares `security: []` demands a credential |
143
+ | `REVOKED_TOKEN_ACCEPTED` | `auth.revoked-credential-refused` | a logged-out or revoked token, and a revoked API key, keep working (also destructive-spares) |
144
+ | `REFRESH_REUSE_ACCEPTED` | `auth.refresh-reuse-refused` | a rotated refresh token still refreshes, and its family is never revoked |
145
+ | `ROLE_NOT_CHECKED` | `auth.role-enforced` | a viewer can create, update and delete |
146
+ | `CROSS_TENANT_KEY_ACCEPTED` | `auth.cross-tenant-key-refused` | an API key is honored under another tenant's project |
147
+ | `PRIVILEGED_FIELD_WRITABLE` | `auth.privileged-field-ignored` | a member's or a viewer's write sets a table's `x-privileged` `verified` |
148
+ | `PRIVILEGED_FIELD_ON_SIGNUP` | `auth.privileged-field-ignored` | a sign-up that sets the register's `x-privileged` `staff` gets it, as `signup.list` shows |
149
+ | `LOGIN_NOT_THROTTLED` | `auth.login-throttled` | with `throttleLogins` on, failed logins never answer 429 |
150
+
151
+ ```bash
152
+ testing api serve --defects STALE_LIST,PATCH_REPLACES
153
+ testing api run --config labs/api/local.config.ts --base-url <url>
154
+ ```
155
+
156
+ `COLUMN_NAME_MISMATCH` is SQL-only in conformance (the in-memory store has no physical column names). `CONCURRENT_WRITE_LOST` runs on the in-memory engine only: the race it times does not depend on the store.
157
+
158
+ The `offset-total` shape pages by rows skipped and taken (`skip` / `take`, bounded by each entity's maximum) and answers `{ data, totalCount }` with no more-pages flag; its baseline must be clean and its recall pass runs every common defect.
159
+
160
+ The `wrapped-rows` shape answers each listed row as `{ document, highlights }`, the record under `document` as a search engine answers it, and its document declares `x-entity.recordPath: $.<rows>[*].document` on every list; its baseline must be clean and its recall pass runs every common defect.
161
+
162
+ The `template` dialect (`testing api serve --dialect template`) speaks a grammar the API tester knows only from its declaration: `where=and_status_eq_active`, repeated once per term, `ne` for not-equal, `and_x_is_null` / `and_x_isn_null`, comma-joined `in` lists, `_` in a value written `~`, `like` as a bare substring, and sort keys `name_ascending` / `name_descending`. Its document declares both grammars as templates on `x-query`; the reference parses them with its own expressions, never the API tester's renderer.
163
+
164
+ `STALE_PAST_BOUND` and `BYPASS_IGNORED` exist only behind the `cached-reads` shape, where every item and list read goes through a per-caller cache that keeps an answer 400 ms, declares `x-consistency: { staleness: "1s", bypass: "x-testing-fresh: 1" }`, and answers `Cache-Status: testing-reference; hit` with `Age`, or `fwd=uri-miss` / `fwd=bypass`. A write never clears it: the API tester's verification reads pass because they carry the bypass, and the staleness check measures the window by reading without it.
165
+
166
+ `CLIENT_ID_IGNORED` and `CLIENT_ID_OVERWRITES` exist only behind the `client-ids` shape, where the client picks a table's integer id (1–999), the create answers `{ "success": true }`, and tables are already present before the API tester arrives. The shape is a correct backend; its recall pass runs these two on top of the common defects.
167
+
168
+ The security defects lie about the reference's auth. Its document declares two schemes: `jwt`, an HTTP bearer JWT that `auth.token` and `auth.login` issue and `auth.refresh` rotates, and `apiKey`, sent as `Authorization: ApiKey ak_…`, minted by `apiKey.create` with a set of scopes and revoked by `apiKey.revoke`. Record routes take jwt or a key holding `<entity>:read` or `<entity>:write`; key, member and invite management take jwt alone; `auth.token`, `auth.login`, `auth.refresh`, `auth.register`, `gateway.health`, `styles.read` (a deepObject `range` and a pipe-delimited `ids`, refused with 400 in any other style) and `search.query` (an OAS 3.2 `QUERY` whose JSON body and answer are a card or a bank account, a `oneOf` told apart by its `kind` discriminator; a body whose fields fit the other kind is refused with 400) are public. A table's `verified` is marked `x-privileged`, so only admin may set it. Conformance signs each principal in at `auth.token`, rotates the session at `auth.refresh`, and mints scoped keys with `apiKey.create`.
169
+
170
+ `LOGIN_NOT_THROTTLED` shows only behind its opt-ins: the reference runs with `throttleLogins` (429 with `Retry-After` once one identity fails 5 logins within a minute), and the API tester runs with `checks: { "auth.login-throttled": true }`. Conformance switches both on for that defect alone.
171
+
172
+ ### What every conformance case also asserts
173
+
174
+ Besides its defect, every case — clean baseline or injected defect — fails when the API tester:
175
+
176
+ - leaves a record behind after teardown (baselines),
177
+ - leaves a record behind without reporting it (any case: `left N record(s) behind without reporting them`) — teardown must name it as failed, or a create the API tester could not identify must account for it,
178
+ - deletes or changes a record that existed before the run (`touched N record(s) it did not create`), or
179
+ - ledgers for teardown an id the server never issued or stored (`ledgered N id(s) the server never created`) — an id the API tester only sent, say. An id a defective server handed back without storing the record counts as issued.
180
+
181
+ A defect that by design rewrites other rows would be listed in `DAMAGES_BYSTANDERS` (`src/api/reference/defects/bystanders.ts`) with its reason; none is today.
@@ -0,0 +1,52 @@
1
+ # testing api — Releasing
2
+
3
+ [← back to the overview](../../README.md)
4
+
5
+ A release is a git tag. Pushing `vX.Y.Z` runs [`.github/workflows/release.yml`](../../.github/workflows/release.yml),
6
+ which waits for CI's verdict and the changelog check on the tagged commit, publishes `@workerstack/testing` to npm with provenance and to GitHub
7
+ Packages, and then creates the GitHub Release. npm is the registry people install from; GitHub
8
+ Releases follow npm versions.
9
+
10
+ ## Cutting a release
11
+
12
+ 1. On `main`, with CI green, set `version` in `package.json` to `X.Y.Z` and add its `## X.Y.Z`
13
+ heading to `CHANGELOG.md`. Commit and push through the hooks, as any change.
14
+ 2. Tag that commit `vX.Y.Z` and push the tag: `git tag vX.Y.Z && git push origin vX.Y.Z`.
15
+ 3. Watch the run. It publishes only when every job before it passed.
16
+ 4. Check the result: `npm view @workerstack/testing@X.Y.Z` answers the version, its page on npmjs.com
17
+ shows the provenance badge, and the GitHub Release `vX.Y.Z` exists with generated notes.
18
+
19
+ A tag the workflow could not publish is run again from the Actions tab (`workflow_dispatch`) with
20
+ the tag as input. A version npm or GitHub Packages already has is skipped, not republished.
21
+
22
+ ## What the workflow runs
23
+
24
+ A tag matches `v*`. Its jobs, in order:
25
+
26
+ | job | what it does |
27
+ | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
28
+ | `gates` | `bun scripts/release-gates.ts vX.Y.Z`: passes once `ci.yml` passed on the tagged commit; fails on a red run; runs `ci.yml` on the tag when a later push canceled the commit's run |
29
+ | `changelog` | `bun scripts/changelog-has.ts vX.Y.Z`: fails unless `CHANGELOG.md` has a `## X.Y.Z` heading |
30
+ | `npmjs.com` | after both, checks the tag equals `package.json`'s `version`, then `npm publish --access public --provenance` |
31
+ | `GitHub Packages` | after both, publishes the same build to `npm.pkg.github.com` |
32
+ | `GitHub Release` | `gh release create vX.Y.Z --generate-notes` |
33
+
34
+ A release therefore passes exactly the gates `main` does, without running them a second time, and
35
+ nothing is published until they and the changelog check pass.
36
+
37
+ The npm job also fails on a tag that does not equal `package.json`'s `version`, so a mistyped tag
38
+ publishes nothing.
39
+
40
+ ## Trusted publishing
41
+
42
+ The npm job holds no token. It exchanges the job's GitHub OIDC token for a short-lived npm publish
43
+ token, which npm grants only to the publisher configured on the package, and `--provenance` links
44
+ the published version to the workflow run that built it. Configure that publisher once, on
45
+ npmjs.com → `@workerstack/testing` → Settings → Trusted Publisher, exactly as:
46
+
47
+ ```
48
+ GitHub Actions / workerstack / testing / release.yml / environment empty / allow npm publish
49
+ ```
50
+
51
+ A `404` or a non-`201` from the token exchange in the job's log means the saved publisher does not
52
+ match this workflow; the job prints the same line to compare against.