@jterrazz/test 16.1.0 → 17.0.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 (304) hide show
  1. package/README.md +45 -171
  2. package/dist/browser/index.js +2 -2867
  3. package/dist/browser/services.js +2 -0
  4. package/dist/browser/stubs.js +2 -0
  5. package/dist/checker.d.ts +6 -1
  6. package/dist/checker.js +4551 -2612
  7. package/dist/config.d.ts +40 -0
  8. package/dist/config.js +309 -0
  9. package/dist/in-place.global-setup.d.ts +11 -0
  10. package/dist/in-place.global-setup.js +21 -0
  11. package/dist/index.d.ts +1653 -3002
  12. package/dist/index.js +5226 -3845
  13. package/dist/mobile-session.global-setup.d.ts +14 -0
  14. package/dist/mobile-session.global-setup.js +31 -0
  15. package/dist/oxlint.cjs +6073 -5616
  16. package/dist/oxlint.d.cts +43 -7212
  17. package/dist/oxlint.d.ts +43 -7212
  18. package/dist/oxlint.js +6065 -5609
  19. package/dist/route-coverage.global-setup.d.ts +42 -0
  20. package/dist/route-coverage.global-setup.js +2 -0
  21. package/dist/services.d.ts +3 -0
  22. package/dist/services.global-setup.d.ts +43 -0
  23. package/dist/services.global-setup.js +2 -0
  24. package/dist/services.js +597 -0
  25. package/dist/shared-appium.adapter.js +428 -0
  26. package/dist/shared-artifacts.js +32 -0
  27. package/dist/shared-chapter.js +7 -0
  28. package/dist/shared-container.port.d.ts +31 -0
  29. package/dist/shared-derived-projects.js +58 -0
  30. package/dist/shared-device.port.d.ts +189 -0
  31. package/dist/shared-exchange.js +447 -0
  32. package/dist/shared-in-place.js +172 -0
  33. package/dist/shared-index.browser.js +3191 -0
  34. package/dist/shared-index.services.d.ts +346 -0
  35. package/dist/shared-index.stubs.d.ts +287 -0
  36. package/dist/shared-json-shape.js +17 -0
  37. package/dist/shared-landmarks.js +71 -0
  38. package/dist/shared-ledger.js +68 -0
  39. package/dist/shared-literate-plugin.js +183 -0
  40. package/dist/shared-manifest.js +1321 -0
  41. package/dist/shared-pause.js +11 -0
  42. package/dist/shared-peer.js +88 -0
  43. package/dist/shared-playwright.adapter.js +330 -0
  44. package/dist/shared-process.adapter.js +74 -0
  45. package/dist/shared-refusal.js +35 -0
  46. package/dist/shared-resolve.js +24 -0
  47. package/dist/shared-route-coverage.global-setup.js +187 -0
  48. package/dist/shared-scenario-failure.js +198 -0
  49. package/dist/shared-serve.js +365 -0
  50. package/dist/shared-service-images.js +10 -0
  51. package/dist/shared-services.global-setup.js +179 -0
  52. package/dist/shared-session-ledger.js +301 -0
  53. package/dist/shared-setup-entry.js +12 -0
  54. package/dist/shared-source-scan.js +133 -0
  55. package/dist/shared-spec-document.js +365 -0
  56. package/dist/shared-specifications.js +26 -0
  57. package/dist/shared-stream-body.js +130 -0
  58. package/dist/shared-stub-server.js +190 -0
  59. package/dist/shared-temp-root.global-setup.js +80 -0
  60. package/dist/shared-test-baseline.js +26 -0
  61. package/dist/shared-test-section.js +58 -0
  62. package/dist/shared-testcontainers.adapter.js +203 -0
  63. package/dist/shared-tokens.js +55 -0
  64. package/dist/shared-yaml-document.js +119 -0
  65. package/dist/stubs.d.ts +2 -0
  66. package/dist/stubs.js +657 -0
  67. package/dist/temp-root.global-setup.d.ts +7 -0
  68. package/dist/temp-root.global-setup.js +2 -0
  69. package/dist/vitest.d.ts +97 -163
  70. package/dist/vitest.js +374 -507
  71. package/docs/README.md +82 -36
  72. package/docs/concepts/architecture.md +118 -0
  73. package/docs/concepts/conventions.md +333 -0
  74. package/docs/guides/api-specs.md +374 -0
  75. package/docs/guides/cli-specs.md +564 -0
  76. package/docs/guides/component-specs.md +252 -0
  77. package/docs/guides/develop.md +94 -0
  78. package/docs/guides/integration-specs.md +181 -0
  79. package/docs/guides/job-specs.md +180 -0
  80. package/docs/guides/lint-specs.md +174 -0
  81. package/docs/guides/mobile-specs.md +319 -0
  82. package/docs/guides/module-tests.md +149 -0
  83. package/docs/guides/release.md +43 -0
  84. package/docs/guides/spec-documents.md +189 -0
  85. package/docs/guides/website-specs.md +413 -0
  86. package/docs/reference/assertions.md +345 -0
  87. package/docs/reference/glossary.md +20 -0
  88. package/docs/reference/linting.md +483 -0
  89. package/docs/reference/services.md +236 -0
  90. package/docs/reference/stubs.md +498 -0
  91. package/docs/reference/time-and-doubles.md +137 -0
  92. package/docs/reference/tokens.md +258 -0
  93. package/docs/reference/visitor.md +221 -0
  94. package/docs/start/getting-started.md +187 -0
  95. package/docs/start/set-up-a-project.md +214 -0
  96. package/package.json +50 -30
  97. package/schema/spec.schema.json +43 -17
  98. package/dist/appium.adapter.js +0 -489
  99. package/dist/artifacts.js +0 -32
  100. package/dist/fixtures.js +0 -110
  101. package/dist/literate.js +0 -1747
  102. package/dist/match.js +0 -804
  103. package/dist/playwright.adapter.js +0 -349
  104. package/dist/server.js +0 -160
  105. package/dist/stream.js +0 -321
  106. package/dist/substring-warning.js +0 -244
  107. package/docs/01-architecture.md +0 -95
  108. package/docs/02-developing.md +0 -351
  109. package/docs/03-testing.md +0 -495
  110. package/docs/04-operating.md +0 -101
  111. package/docs/05-module-tests.md +0 -152
  112. package/docs/06-integration.md +0 -180
  113. package/docs/07-component.md +0 -246
  114. package/docs/08-website.md +0 -404
  115. package/docs/09-mobile.md +0 -270
  116. package/docs/10-api.md +0 -264
  117. package/docs/11-jobs.md +0 -157
  118. package/docs/12-cli.md +0 -677
  119. package/docs/13-elements.md +0 -242
  120. package/docs/14-assertions.md +0 -314
  121. package/docs/15-tokens.md +0 -253
  122. package/docs/16-contracts.md +0 -438
  123. package/docs/17-services.md +0 -188
  124. package/docs/18-conventions.md +0 -305
  125. package/docs/19-linting.md +0 -510
  126. package/docs/decisions/001-v9-conventions-on-three-channels.md +0 -50
  127. package/docs/decisions/002-the-statique-channel-holds-only-what-upstream-does-not.md +0 -49
  128. package/docs/decisions/003-a-rendered-component-is-a-facet-on-vitest-browser-mode.md +0 -84
  129. package/docs/decisions/004-a-module-against-real-services-or-a-golden-is-the-integration-facet.md +0 -81
  130. package/docs/decisions/005-the-doubles-ladder-is-closed.md +0 -86
  131. package/docs/decisions/006-the-catalogue-reaches-a-file-by-its-role.md +0 -245
  132. package/docs/decisions/007-compose-mode-leaves-the-package.md +0 -53
  133. package/docs/decisions/008-vitest-5-node-24-and-the-native-seams-as-optional-peers.md +0 -75
  134. package/docs/decisions/_template.md +0 -22
  135. package/docs/reference/classes/Matcher.md +0 -120
  136. package/docs/reference/classes/ProcessHandle.md +0 -368
  137. package/docs/reference/functions/defineContract.md +0 -39
  138. package/docs/reference/functions/defineContracts.md +0 -36
  139. package/docs/reference/functions/disabled.md +0 -28
  140. package/docs/reference/functions/enabled.md +0 -20
  141. package/docs/reference/functions/focused.md +0 -26
  142. package/docs/reference/functions/mockOf.md +0 -79
  143. package/docs/reference/functions/postgres.md +0 -31
  144. package/docs/reference/functions/process.md +0 -33
  145. package/docs/reference/functions/redis.md +0 -28
  146. package/docs/reference/functions/required.md +0 -41
  147. package/docs/reference/functions/selected.md +0 -26
  148. package/docs/reference/functions/sqlite.md +0 -33
  149. package/docs/reference/functions/testId.md +0 -20
  150. package/docs/reference/functions/text.md +0 -40
  151. package/docs/reference/functions/valued.md +0 -28
  152. package/docs/reference/functions/waitUntil.md +0 -46
  153. package/docs/reference/functions/within.md +0 -29
  154. package/docs/reference/index.md +0 -196
  155. package/docs/reference/interfaces/BaseResult.md +0 -87
  156. package/docs/reference/interfaces/CallResult.md +0 -160
  157. package/docs/reference/interfaces/CaptureScope.md +0 -82
  158. package/docs/reference/interfaces/CliResult.md +0 -253
  159. package/docs/reference/interfaces/ContainerAccessor.md +0 -166
  160. package/docs/reference/interfaces/DirectoryAccessor.md +0 -33
  161. package/docs/reference/interfaces/FetchResult.md +0 -180
  162. package/docs/reference/interfaces/FilesystemAccessor.md +0 -46
  163. package/docs/reference/interfaces/HttpResult.md +0 -126
  164. package/docs/reference/interfaces/JsonAccessor.md +0 -46
  165. package/docs/reference/interfaces/PageResult.md +0 -356
  166. package/docs/reference/interfaces/RenderResult.md +0 -72
  167. package/docs/reference/interfaces/RenderedText.md +0 -110
  168. package/docs/reference/interfaces/ResponseAccessor.md +0 -47
  169. package/docs/reference/interfaces/ScreenResult.md +0 -128
  170. package/docs/reference/interfaces/TableAccessor.md +0 -26
  171. package/docs/reference/interfaces/TextAccessor.md +0 -96
  172. package/docs/reference/type-aliases/ApiHandle.md +0 -68
  173. package/docs/reference/type-aliases/ApiSpecification.md +0 -213
  174. package/docs/reference/type-aliases/ApiSpecificationOptions.md +0 -68
  175. package/docs/reference/type-aliases/BrowserConsoleMessage.md +0 -30
  176. package/docs/reference/type-aliases/BrowserLinkElement.md +0 -50
  177. package/docs/reference/type-aliases/BrowserMetaElement.md +0 -40
  178. package/docs/reference/type-aliases/BrowserOpenOptions.md +0 -87
  179. package/docs/reference/type-aliases/BrowserPage.md +0 -132
  180. package/docs/reference/type-aliases/BrowserPort.md +0 -51
  181. package/docs/reference/type-aliases/CliEnv.md +0 -11
  182. package/docs/reference/type-aliases/CliHandle.md +0 -80
  183. package/docs/reference/type-aliases/CliInput.md +0 -36
  184. package/docs/reference/type-aliases/CliOutput.md +0 -46
  185. package/docs/reference/type-aliases/CliPort.md +0 -58
  186. package/docs/reference/type-aliases/CliSpecification.md +0 -144
  187. package/docs/reference/type-aliases/CliSpecificationOptions.md +0 -134
  188. package/docs/reference/type-aliases/ComponentChain.md +0 -156
  189. package/docs/reference/type-aliases/ComponentScenario.md +0 -20
  190. package/docs/reference/type-aliases/ComponentUi.md +0 -47
  191. package/docs/reference/type-aliases/ComponentVisitor.md +0 -10
  192. package/docs/reference/type-aliases/ContainerPort.md +0 -113
  193. package/docs/reference/type-aliases/Contract.md +0 -68
  194. package/docs/reference/type-aliases/ContractInput.md +0 -13
  195. package/docs/reference/type-aliases/ContractRequest.md +0 -95
  196. package/docs/reference/type-aliases/ContractResponder.md +0 -23
  197. package/docs/reference/type-aliases/ContractResponse.md +0 -78
  198. package/docs/reference/type-aliases/ContractResponseValue.md +0 -13
  199. package/docs/reference/type-aliases/Contracts.md +0 -48
  200. package/docs/reference/type-aliases/DatabaseKeys.md +0 -16
  201. package/docs/reference/type-aliases/DatabasePort.md +0 -72
  202. package/docs/reference/type-aliases/DeviceOpenOptions.md +0 -46
  203. package/docs/reference/type-aliases/DevicePort.md +0 -51
  204. package/docs/reference/type-aliases/DeviceScreen.md +0 -32
  205. package/docs/reference/type-aliases/DeviceTimeouts.md +0 -39
  206. package/docs/reference/type-aliases/DockerSpecConfig.md +0 -43
  207. package/docs/reference/type-aliases/DomMount.md +0 -21
  208. package/docs/reference/type-aliases/ElementKind.md +0 -27
  209. package/docs/reference/type-aliases/ElementMatch.md +0 -74
  210. package/docs/reference/type-aliases/ElementOptions.md +0 -29
  211. package/docs/reference/type-aliases/ElementRef.md +0 -128
  212. package/docs/reference/type-aliases/ExecOptions.md +0 -37
  213. package/docs/reference/type-aliases/FileAccessor.md +0 -54
  214. package/docs/reference/type-aliases/HonoApp.md +0 -31
  215. package/docs/reference/type-aliases/HttpContractFilter.md +0 -49
  216. package/docs/reference/type-aliases/HttpResponseInit.md +0 -46
  217. package/docs/reference/type-aliases/HttpStreamInit.md +0 -58
  218. package/docs/reference/type-aliases/IntegrationHandle.md +0 -46
  219. package/docs/reference/type-aliases/IntegrationSpecification.md +0 -111
  220. package/docs/reference/type-aliases/IntegrationSpecificationOptions.md +0 -42
  221. package/docs/reference/type-aliases/Intercept.md +0 -19
  222. package/docs/reference/type-aliases/InterceptOptions.md +0 -28
  223. package/docs/reference/type-aliases/InterceptScope.md +0 -11
  224. package/docs/reference/type-aliases/IsolationStrategy.md +0 -75
  225. package/docs/reference/type-aliases/JobHandle.md +0 -34
  226. package/docs/reference/type-aliases/JobsHandle.md +0 -57
  227. package/docs/reference/type-aliases/JobsResult.md +0 -16
  228. package/docs/reference/type-aliases/JobsSpecification.md +0 -94
  229. package/docs/reference/type-aliases/JobsSpecificationOptions.md +0 -56
  230. package/docs/reference/type-aliases/LandmarkKind.md +0 -20
  231. package/docs/reference/type-aliases/LiterateRunFlags.md +0 -27
  232. package/docs/reference/type-aliases/LiterateServeRegistration.md +0 -70
  233. package/docs/reference/type-aliases/MatchFixtureOptions.md +0 -27
  234. package/docs/reference/type-aliases/MatchableRequest.md +0 -61
  235. package/docs/reference/type-aliases/MatcherKind.md +0 -34
  236. package/docs/reference/type-aliases/MobileBackendOptions.md +0 -28
  237. package/docs/reference/type-aliases/MobileElementKind.md +0 -14
  238. package/docs/reference/type-aliases/MobileElementMatch.md +0 -60
  239. package/docs/reference/type-aliases/MobileElementRef.md +0 -20
  240. package/docs/reference/type-aliases/MobileHandle.md +0 -65
  241. package/docs/reference/type-aliases/MobileScenario.md +0 -20
  242. package/docs/reference/type-aliases/MobileSpecification.md +0 -51
  243. package/docs/reference/type-aliases/MobileSpecificationOptions.md +0 -126
  244. package/docs/reference/type-aliases/MobileVisitor.md +0 -81
  245. package/docs/reference/type-aliases/MockOfOptions.md +0 -26
  246. package/docs/reference/type-aliases/MockPort.md +0 -10
  247. package/docs/reference/type-aliases/PinnedClock.md +0 -10
  248. package/docs/reference/type-aliases/PostgresOptions.md +0 -32
  249. package/docs/reference/type-aliases/ProcessOptions.md +0 -112
  250. package/docs/reference/type-aliases/RedisOptions.md +0 -20
  251. package/docs/reference/type-aliases/RenderSubject.md +0 -12
  252. package/docs/reference/type-aliases/ScreenNode.md +0 -67
  253. package/docs/reference/type-aliases/ServerPort.md +0 -36
  254. package/docs/reference/type-aliases/ServerResponse.md +0 -46
  255. package/docs/reference/type-aliases/ServerSpec.md +0 -21
  256. package/docs/reference/type-aliases/ServiceHandle.md +0 -216
  257. package/docs/reference/type-aliases/ServiceRecord.md +0 -12
  258. package/docs/reference/type-aliases/SpecDocument.md +0 -84
  259. package/docs/reference/type-aliases/SpecEnvToken.md +0 -21
  260. package/docs/reference/type-aliases/SpecFileAssertion.md +0 -27
  261. package/docs/reference/type-aliases/SpecFixture.md +0 -30
  262. package/docs/reference/type-aliases/SpecKind.md +0 -8
  263. package/docs/reference/type-aliases/SpecRun.md +0 -108
  264. package/docs/reference/type-aliases/SpecServeEntry.md +0 -40
  265. package/docs/reference/type-aliases/SpecStream.md +0 -32
  266. package/docs/reference/type-aliases/SpecificationConfig.md +0 -290
  267. package/docs/reference/type-aliases/SqliteOptions.md +0 -36
  268. package/docs/reference/type-aliases/SseEvent.md +0 -58
  269. package/docs/reference/type-aliases/StreamBody.md +0 -61
  270. package/docs/reference/type-aliases/TextFilter.md +0 -22
  271. package/docs/reference/type-aliases/VisitScenario.md +0 -20
  272. package/docs/reference/type-aliases/Visitor.md +0 -215
  273. package/docs/reference/type-aliases/WaitUntilOptions.md +0 -46
  274. package/docs/reference/type-aliases/WebsiteBackendOptions.md +0 -37
  275. package/docs/reference/type-aliases/WebsiteHandle.md +0 -51
  276. package/docs/reference/type-aliases/WebsiteSpecification.md +0 -118
  277. package/docs/reference/type-aliases/WebsiteSpecificationOptions.md +0 -40
  278. package/docs/reference/variables/anthropic.md +0 -19
  279. package/docs/reference/variables/banner.md +0 -10
  280. package/docs/reference/variables/button.md +0 -10
  281. package/docs/reference/variables/clock.md +0 -16
  282. package/docs/reference/variables/complementary.md +0 -10
  283. package/docs/reference/variables/component.md +0 -10
  284. package/docs/reference/variables/content.md +0 -10
  285. package/docs/reference/variables/contentinfo.md +0 -10
  286. package/docs/reference/variables/dialog.md +0 -10
  287. package/docs/reference/variables/field.md +0 -10
  288. package/docs/reference/variables/form.md +0 -10
  289. package/docs/reference/variables/heading.md +0 -10
  290. package/docs/reference/variables/http.md +0 -40
  291. package/docs/reference/variables/intercept.md +0 -11
  292. package/docs/reference/variables/link.md +0 -10
  293. package/docs/reference/variables/listitem.md +0 -10
  294. package/docs/reference/variables/main.md +0 -10
  295. package/docs/reference/variables/match.md +0 -8
  296. package/docs/reference/variables/navigation.md +0 -10
  297. package/docs/reference/variables/openai.md +0 -21
  298. package/docs/reference/variables/option.md +0 -17
  299. package/docs/reference/variables/region.md +0 -10
  300. package/docs/reference/variables/row.md +0 -10
  301. package/docs/reference/variables/search.md +0 -10
  302. package/docs/reference/variables/specification.md +0 -8
  303. package/docs/reference/variables/status.md +0 -10
  304. package/docs/reference/variables/table.md +0 -10
@@ -1,13 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ContractInput
3
-
4
- ```ts
5
- type ContractInput =
6
- | Contract
7
- | Contract[]
8
- | Contracts;
9
- ```
10
-
11
- Defined in: [src/model/contracts/contract.ts:50](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L50)
12
-
13
- Any accepted contract input: one, a list, or a composite.
@@ -1,95 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ContractRequest
3
-
4
- ```ts
5
- type ContractRequest = object;
6
- ```
7
-
8
- Defined in: [src/model/contracts/types.ts:26](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L26)
9
-
10
- The request half of a contract: which outgoing call it speaks for.
11
-
12
- `url` is either an absolute URL (string or RegExp), or a PATH FORM starting
13
- with `/` (`/articles/{{uuid}}`) which matches any origin — the shape a
14
- website/mobile app's own backend calls take. `{{token}}` segments compare
15
- structurally, declared query params are a subset of the observed ones.
16
-
17
- ## Properties
18
-
19
- ### adapter
20
-
21
- ```ts
22
- adapter: string;
23
- ```
24
-
25
- Defined in: [src/model/contracts/types.ts:28](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L28)
26
-
27
- Adapter name — `http` | `openai` | `anthropic`.
28
-
29
- ***
30
-
31
- ### match?
32
-
33
- ```ts
34
- optional match?: (request) => boolean;
35
- ```
36
-
37
- Defined in: [src/model/contracts/types.ts:34](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L34)
38
-
39
- Optional request matcher — the contract only fires if this returns true.
40
-
41
- #### Parameters
42
-
43
- | Parameter | Type |
44
- | ------ | ------ |
45
- | `request` | [`MatchableRequest`](MatchableRequest.md) |
46
-
47
- #### Returns
48
-
49
- `boolean`
50
-
51
- ***
52
-
53
- ### method
54
-
55
- ```ts
56
- method: string;
57
- ```
58
-
59
- Defined in: [src/model/contracts/types.ts:30](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L30)
60
-
61
- HTTP method to match. `*` matches any method.
62
-
63
- ***
64
-
65
- ### url
66
-
67
- ```ts
68
- url: RegExp | string;
69
- ```
70
-
71
- Defined in: [src/model/contracts/types.ts:32](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L32)
72
-
73
- Absolute URL (string | RegExp) or an any-origin path form (`/articles/{{uuid}}`).
74
-
75
- ***
76
-
77
- ### wrap
78
-
79
- ```ts
80
- wrap: (data) => ContractResponse;
81
- ```
82
-
83
- Defined in: [src/model/contracts/types.ts:36](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L36)
84
-
85
- Transform raw data into a provider-specific response envelope.
86
-
87
- #### Parameters
88
-
89
- | Parameter | Type |
90
- | ------ | ------ |
91
- | `data` | `unknown` |
92
-
93
- #### Returns
94
-
95
- [`ContractResponse`](ContractResponse.md)
@@ -1,23 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ContractResponder
3
-
4
- ```ts
5
- type ContractResponder = (request) => ContractResponse;
6
- ```
7
-
8
- Defined in: [src/model/contracts/types.ts:105](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L105)
9
-
10
- A dynamic response: computed from the observed request at the moment the
11
- contract is served, rather than fixed ahead of time. Handed the same
12
- [MatchableRequest](MatchableRequest.md) the request half matched on, so the reply can echo
13
- or derive from the body/headers/url.
14
-
15
- ## Parameters
16
-
17
- | Parameter | Type |
18
- | ------ | ------ |
19
- | `request` | [`MatchableRequest`](MatchableRequest.md) |
20
-
21
- ## Returns
22
-
23
- [`ContractResponse`](ContractResponse.md)
@@ -1,78 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ContractResponse
3
-
4
- ```ts
5
- type ContractResponse = object;
6
- ```
7
-
8
- Defined in: [src/model/contracts/types.ts:42](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L42)
9
-
10
- The response half of a contract: what to reply when the request matches.
11
-
12
- ## Properties
13
-
14
- ### body
15
-
16
- ```ts
17
- body: unknown;
18
- ```
19
-
20
- Defined in: [src/model/contracts/types.ts:50](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L50)
21
-
22
- Response body — an object is JSON, a string is text, `null`/`undefined`
23
- is empty, and a [StreamBody](StreamBody.md) (built by `http.stream()` /
24
- `http.sse()`) arrives in pieces.
25
-
26
- ***
27
-
28
- ### delay?
29
-
30
- ```ts
31
- optional delay?: number;
32
- ```
33
-
34
- Defined in: [src/model/contracts/types.ts:54](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L54)
35
-
36
- Delay in ms before responding (for timeout testing).
37
-
38
- ***
39
-
40
- ### headers?
41
-
42
- ```ts
43
- optional headers?: Record<string, string>;
44
- ```
45
-
46
- Defined in: [src/model/contracts/types.ts:52](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L52)
47
-
48
- Response headers.
49
-
50
- ***
51
-
52
- ### status?
53
-
54
- ```ts
55
- optional status?: number;
56
- ```
57
-
58
- Defined in: [src/model/contracts/types.ts:44](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L44)
59
-
60
- HTTP status code (default: 200).
61
-
62
- ***
63
-
64
- ### transport?
65
-
66
- ```ts
67
- optional transport?: "network-error";
68
- ```
69
-
70
- Defined in: [src/model/contracts/types.ts:64](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L64)
71
-
72
- A transport failure instead of a reply: the request never reached a
73
- server, so `fetch` rejects. `status`, `body` and `headers` say nothing
74
- here — there is no response to carry them.
75
-
76
- The one thing a status code cannot express. A component's "the server did
77
- not answer, check that it is running" branch is reached by a rejected
78
- `fetch`, and a 503 stand-in tests the other branch entirely.
@@ -1,13 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ContractResponseValue
3
-
4
- ```ts
5
- type ContractResponseValue =
6
- | ContractResponder
7
- | ContractResponse;
8
- ```
9
-
10
- Defined in: [src/model/contracts/types.ts:111](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L111)
11
-
12
- What a contract replies with: either a fixed [ContractResponse](ContractResponse.md) or a
13
- [ContractResponder](ContractResponder.md) evaluated per served request.
@@ -1,48 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: Contracts
3
-
4
- ```ts
5
- type Contracts = object;
6
- ```
7
-
8
- Defined in: [src/model/contracts/contract.ts:37](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L37)
9
-
10
- A composite of contracts — the unit tests import. Flat, ordered, immutable;
11
- `.with()` derives a variant without touching the original.
12
-
13
- ## Properties
14
-
15
- ### contracts
16
-
17
- ```ts
18
- readonly contracts: readonly Contract[];
19
- ```
20
-
21
- Defined in: [src/model/contracts/contract.ts:39](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L39)
22
-
23
- The flattened contracts, in selection order.
24
-
25
- ***
26
-
27
- ### with
28
-
29
- ```ts
30
- with: (...overrides) => Contracts;
31
- ```
32
-
33
- Defined in: [src/model/contracts/contract.ts:46](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L46)
34
-
35
- Derive a new composite: every base contract sharing a route with an
36
- override is REPLACED, and the overrides are PREPENDED — so a
37
- more-specific override wins first-match selection over a generic base
38
- route it does not replace.
39
-
40
- #### Parameters
41
-
42
- | Parameter | Type |
43
- | ------ | ------ |
44
- | ...`overrides` | ([`Contract`](Contract.md) \| [`Contract`](Contract.md)[] \| `Contracts`)[] |
45
-
46
- #### Returns
47
-
48
- `Contracts`
@@ -1,16 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: DatabaseKeys\<Services\>
3
-
4
- ```ts
5
- type DatabaseKeys<Services> = { [K in keyof Services]: Services[K] extends DatabasePort ? K & string : never }[keyof Services];
6
- ```
7
-
8
- Defined in: [src/model/chain/services.ts:19](https://github.com/jterrazz/package-test/blob/main/src/model/chain/services.ts#L19)
9
-
10
- Keys of a services record whose handles are databases.
11
-
12
- ## Type Parameters
13
-
14
- | Type Parameter |
15
- | ------ |
16
- | `Services` *extends* [`ServiceRecord`](ServiceRecord.md) |
@@ -1,72 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: DatabasePort
3
-
4
- ```ts
5
- type DatabasePort = object;
6
- ```
7
-
8
- Defined in: [src/model/ports/database.port.ts:5](https://github.com/jterrazz/package-test/blob/main/src/model/ports/database.port.ts#L5)
9
-
10
- Abstract database interface for specification runners.
11
- Implement this to plug in your database stack (e.g. Postgres, SQLite).
12
-
13
- ## Properties
14
-
15
- ### query
16
-
17
- ```ts
18
- query: (table, columns) => Promise<unknown[][]>;
19
- ```
20
-
21
- Defined in: [src/model/ports/database.port.ts:10](https://github.com/jterrazz/package-test/blob/main/src/model/ports/database.port.ts#L10)
22
-
23
- Query a table and return rows as arrays of values.
24
-
25
- #### Parameters
26
-
27
- | Parameter | Type |
28
- | ------ | ------ |
29
- | `table` | `string` |
30
- | `columns` | `string`[] |
31
-
32
- #### Returns
33
-
34
- `Promise`\<`unknown`[][]\>
35
-
36
- ***
37
-
38
- ### reset
39
-
40
- ```ts
41
- reset: () => Promise<void>;
42
- ```
43
-
44
- Defined in: [src/model/ports/database.port.ts:13](https://github.com/jterrazz/package-test/blob/main/src/model/ports/database.port.ts#L13)
45
-
46
- Reset database to clean state between tests.
47
-
48
- #### Returns
49
-
50
- `Promise`\<`void`\>
51
-
52
- ***
53
-
54
- ### seed
55
-
56
- ```ts
57
- seed: (sql) => Promise<void>;
58
- ```
59
-
60
- Defined in: [src/model/ports/database.port.ts:7](https://github.com/jterrazz/package-test/blob/main/src/model/ports/database.port.ts#L7)
61
-
62
- Execute raw SQL (for seeding test data).
63
-
64
- #### Parameters
65
-
66
- | Parameter | Type |
67
- | ------ | ------ |
68
- | `sql` | `string` |
69
-
70
- #### Returns
71
-
72
- `Promise`\<`void`\>
@@ -1,46 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: DeviceOpenOptions
3
-
4
- ```ts
5
- type DeviceOpenOptions = object;
6
- ```
7
-
8
- Defined in: [src/model/ports/device.port.ts:89](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L89)
9
-
10
- Per-open options forwarded to the device session.
11
-
12
- ## Properties
13
-
14
- ### bundleId
15
-
16
- ```ts
17
- bundleId: string;
18
- ```
19
-
20
- Defined in: [src/model/ports/device.port.ts:91](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L91)
21
-
22
- The app under test — terminated and relaunched for a fresh, deterministic state.
23
-
24
- ***
25
-
26
- ### deepLink?
27
-
28
- ```ts
29
- optional deepLink?: string;
30
- ```
31
-
32
- Defined in: [src/model/ports/device.port.ts:93](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L93)
33
-
34
- Deep link applied after the relaunch (`news://events`); absent opens the app plainly.
35
-
36
- ***
37
-
38
- ### scenario?
39
-
40
- ```ts
41
- optional scenario?: MobileScenario;
42
- ```
43
-
44
- Defined in: [src/model/ports/device.port.ts:95](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L95)
45
-
46
- The interaction scenario to run after launch; the capture reflects the final state.
@@ -1,51 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: DevicePort
3
-
4
- ```ts
5
- type DevicePort = object;
6
- ```
7
-
8
- Defined in: [src/model/ports/device.port.ts:123](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L123)
9
-
10
- Abstract device interface for the mobile specification runner.
11
- One implementation lives in `integrations/appium/` — a single driver
12
- session per runner, created on the first `open()` and reused; each open
13
- terminates and relaunches the app for a deterministic fresh state.
14
-
15
- ## Properties
16
-
17
- ### close
18
-
19
- ```ts
20
- close: () => Promise<void>;
21
- ```
22
-
23
- Defined in: [src/model/ports/device.port.ts:125](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L125)
24
-
25
- End the driver session (idempotent).
26
-
27
- #### Returns
28
-
29
- `Promise`\<`void`\>
30
-
31
- ***
32
-
33
- ### open
34
-
35
- ```ts
36
- open: (options) => Promise<DeviceScreen>;
37
- ```
38
-
39
- Defined in: [src/model/ports/device.port.ts:127](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L127)
40
-
41
- Relaunch the app, apply the deep link, run the scenario, capture the final screen.
42
-
43
- #### Parameters
44
-
45
- | Parameter | Type |
46
- | ------ | ------ |
47
- | `options` | [`DeviceOpenOptions`](DeviceOpenOptions.md) |
48
-
49
- #### Returns
50
-
51
- `Promise`\<[`DeviceScreen`](DeviceScreen.md)\>
@@ -1,32 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: DeviceScreen
3
-
4
- ```ts
5
- type DeviceScreen = object;
6
- ```
7
-
8
- Defined in: [src/model/ports/device.port.ts:83](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L83)
9
-
10
- The screen captured by a device open — the FINAL state when a scenario
11
- ran. The tree is the projected page source; `texts` are the visible
12
- labels/values in document order, consecutive duplicates collapsed.
13
-
14
- ## Properties
15
-
16
- ### texts
17
-
18
- ```ts
19
- texts: string[];
20
- ```
21
-
22
- Defined in: [src/model/ports/device.port.ts:84](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L84)
23
-
24
- ***
25
-
26
- ### tree
27
-
28
- ```ts
29
- tree: ScreenNode;
30
- ```
31
-
32
- Defined in: [src/model/ports/device.port.ts:85](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L85)
@@ -1,39 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: DeviceTimeouts
3
-
4
- ```ts
5
- type DeviceTimeouts = object;
6
- ```
7
-
8
- Defined in: [src/model/ports/device.port.ts:104](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L104)
9
-
10
- How long a device session waits, in milliseconds. Every field is optional
11
- and falls back to the framework's own default, so a runner states only the
12
- wait it needs to move — the defaults suit a release build, and a project
13
- that drives a DEV build pays for its bundler's cold boot.
14
-
15
- ## Properties
16
-
17
- ### action?
18
-
19
- ```ts
20
- optional action?: number;
21
- ```
22
-
23
- Defined in: [src/model/ports/device.port.ts:109](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L109)
24
-
25
- How long every verb polls for a visible match before refusing.
26
- Default: `30_000` — enough for a cold app boot on a release bundle.
27
-
28
- ***
29
-
30
- ### launch?
31
-
32
- ```ts
33
- optional launch?: number;
34
- ```
35
-
36
- Defined in: [src/model/ports/device.port.ts:114](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L114)
37
-
38
- How long the FIRST session waits for WebDriverAgent to build and
39
- launch on the simulator. Default: `240_000`.
@@ -1,43 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: DockerSpecConfig
3
-
4
- ```ts
5
- type DockerSpecConfig = object;
6
- ```
7
-
8
- Defined in: [src/model/chain/builder.ts:47](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L47)
9
-
10
- Configuration for the docker-aware cli mode. When set on
11
- [SpecificationConfig](SpecificationConfig.md), the cli runner generates a test-run id, injects
12
- it into the child env under `envVar`, then queries Docker for every
13
- container carrying `testRunLabel=<id>` after the command exits.
14
-
15
- ## Properties
16
-
17
- ### envVar
18
-
19
- ```ts
20
- envVar: string;
21
- ```
22
-
23
- Defined in: [src/model/chain/builder.ts:48](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L48)
24
-
25
- ***
26
-
27
- ### nameLabel
28
-
29
- ```ts
30
- nameLabel: string;
31
- ```
32
-
33
- Defined in: [src/model/chain/builder.ts:49](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L49)
34
-
35
- ***
36
-
37
- ### testRunLabel
38
-
39
- ```ts
40
- testRunLabel: string;
41
- ```
42
-
43
- Defined in: [src/model/chain/builder.ts:50](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L50)
@@ -1,21 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: DomMount
3
-
4
- ```ts
5
- type DomMount = (container) => (() => void) | void;
6
- ```
7
-
8
- Defined in: [src/seams/vitest-browser/ui.ts:18](https://github.com/jterrazz/package-test/blob/main/src/seams/vitest-browser/ui.ts#L18)
9
-
10
- A vanilla DOM subject: a function handed the container it must fill. Its
11
- optional return is the teardown, the way a DOM library states one.
12
-
13
- ## Parameters
14
-
15
- | Parameter | Type |
16
- | ------ | ------ |
17
- | `container` | `HTMLElement` |
18
-
19
- ## Returns
20
-
21
- (() => `void`) \| `void`
@@ -1,27 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ElementKind
3
-
4
- ```ts
5
- type ElementKind =
6
- | "button"
7
- | "dialog"
8
- | "field"
9
- | "heading"
10
- | "link"
11
- | "listitem"
12
- | "option"
13
- | "row"
14
- | "status"
15
- | "table"
16
- | "testId"
17
- | "text";
18
- ```
19
-
20
- Defined in: [src/model/ports/browser.port.ts:24](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L24)
21
-
22
- The interactive/textual element kinds — what a visitor actually acts on.
23
-
24
- `dialog`, `status`, `table`, `row`, `listitem` and `option` are ARIA roles
25
- like the landmarks, but they are not CONTAINERS of a page: they are things a
26
- visitor reads and acts on, and they are the roles the estate's UI specs were
27
- already reaching for through `getByRole` or, worse, through `.first()`.