@jterrazz/test 16.1.1 → 18.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 (309) hide show
  1. package/README.md +45 -171
  2. package/dist/browser/index.js +1 -2980
  3. package/dist/browser/services.js +1 -0
  4. package/dist/browser/stubs.js +1 -0
  5. package/dist/browser-shared-index.browser.js +3233 -0
  6. package/dist/checker.d.ts +6 -1
  7. package/dist/checker.js +3721 -2624
  8. package/dist/config.d.ts +40 -0
  9. package/dist/config.js +309 -0
  10. package/dist/in-place.global-setup.d.ts +12 -0
  11. package/dist/in-place.global-setup.js +21 -0
  12. package/dist/index.d.ts +1641 -3004
  13. package/dist/index.js +5095 -3835
  14. package/dist/mobile-session.global-setup.d.ts +15 -0
  15. package/dist/mobile-session.global-setup.js +31 -0
  16. package/dist/oxlint.cjs +6069 -5634
  17. package/dist/oxlint.d.cts +43 -7212
  18. package/dist/oxlint.d.ts +43 -7212
  19. package/dist/oxlint.js +3979 -5799
  20. package/dist/route-coverage.global-setup.d.ts +43 -0
  21. package/dist/route-coverage.global-setup.js +1 -0
  22. package/dist/services.d.ts +3 -0
  23. package/dist/services.global-setup.d.ts +43 -0
  24. package/dist/services.global-setup.js +1 -0
  25. package/dist/services.js +597 -0
  26. package/dist/shared-appium.adapter.js +428 -0
  27. package/dist/shared-artifacts.js +34 -0
  28. package/dist/shared-chapter.js +7 -0
  29. package/dist/shared-container.port.d.ts +31 -0
  30. package/dist/shared-derived-projects.js +73 -0
  31. package/dist/shared-device.port.d.ts +189 -0
  32. package/dist/shared-exchange.js +447 -0
  33. package/dist/shared-in-place.js +172 -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-listened-port.js +19 -0
  40. package/dist/shared-literate-plugin.js +184 -0
  41. package/dist/shared-manifest.js +1321 -0
  42. package/dist/shared-pause.js +22 -0
  43. package/dist/shared-peer.js +88 -0
  44. package/dist/shared-playwright.adapter.js +328 -0
  45. package/dist/shared-process-alive.js +13 -0
  46. package/dist/shared-process.adapter.js +74 -0
  47. package/dist/shared-record-key.js +13 -0
  48. package/dist/shared-refusal.js +35 -0
  49. package/dist/shared-resolve.js +24 -0
  50. package/dist/shared-route-coverage.global-setup.js +187 -0
  51. package/dist/shared-scenario-failure.js +198 -0
  52. package/dist/shared-serve.js +407 -0
  53. package/dist/shared-service-images.js +10 -0
  54. package/dist/shared-services.global-setup.js +174 -0
  55. package/dist/shared-session-ledger.js +305 -0
  56. package/dist/shared-setup-entry.js +12 -0
  57. package/dist/shared-source-scan.js +133 -0
  58. package/dist/shared-spec-document.js +303 -0
  59. package/dist/shared-spec-grammar.js +66 -0
  60. package/dist/shared-specifications.js +26 -0
  61. package/dist/shared-specs-modules.js +1033 -0
  62. package/dist/shared-stub-reply.js +167 -0
  63. package/dist/shared-stub-server.js +142 -0
  64. package/dist/shared-temp-root.global-setup.js +73 -0
  65. package/dist/shared-test-baseline.js +26 -0
  66. package/dist/shared-test-section.js +58 -0
  67. package/dist/shared-testcontainers.adapter.js +306 -0
  68. package/dist/shared-tokens.js +55 -0
  69. package/dist/shared-yaml-document.js +119 -0
  70. package/dist/stubs.d.ts +2 -0
  71. package/dist/stubs.js +657 -0
  72. package/dist/temp-root.global-setup.d.ts +7 -0
  73. package/dist/temp-root.global-setup.js +1 -0
  74. package/dist/vitest.d.ts +93 -164
  75. package/dist/vitest.js +382 -550
  76. package/docs/README.md +82 -36
  77. package/docs/concepts/architecture.md +118 -0
  78. package/docs/concepts/conventions.md +333 -0
  79. package/docs/guides/api-specs.md +374 -0
  80. package/docs/guides/cli-specs.md +566 -0
  81. package/docs/guides/component-specs.md +252 -0
  82. package/docs/guides/develop.md +97 -0
  83. package/docs/guides/integration-specs.md +181 -0
  84. package/docs/guides/job-specs.md +180 -0
  85. package/docs/guides/lint-specs.md +174 -0
  86. package/docs/guides/mobile-specs.md +319 -0
  87. package/docs/guides/module-tests.md +149 -0
  88. package/docs/guides/release.md +44 -0
  89. package/docs/guides/spec-documents.md +189 -0
  90. package/docs/guides/website-specs.md +413 -0
  91. package/docs/reference/assertions.md +345 -0
  92. package/docs/reference/glossary.md +20 -0
  93. package/docs/reference/linting.md +483 -0
  94. package/docs/reference/services.md +236 -0
  95. package/docs/reference/stubs.md +500 -0
  96. package/docs/reference/time-and-doubles.md +137 -0
  97. package/docs/reference/tokens.md +258 -0
  98. package/docs/reference/visitor.md +221 -0
  99. package/docs/start/getting-started.md +187 -0
  100. package/docs/start/set-up-a-project.md +228 -0
  101. package/package.json +56 -36
  102. package/schema/spec.schema.json +43 -17
  103. package/dist/appium.adapter.js +0 -489
  104. package/dist/artifacts.js +0 -32
  105. package/dist/fixtures.js +0 -110
  106. package/dist/literate.js +0 -1747
  107. package/dist/match.js +0 -804
  108. package/dist/playwright.adapter.js +0 -438
  109. package/dist/server.js +0 -160
  110. package/dist/stream.js +0 -321
  111. package/dist/substring-warning.js +0 -282
  112. package/docs/01-architecture.md +0 -95
  113. package/docs/02-developing.md +0 -351
  114. package/docs/03-testing.md +0 -495
  115. package/docs/04-operating.md +0 -101
  116. package/docs/05-module-tests.md +0 -152
  117. package/docs/06-integration.md +0 -180
  118. package/docs/07-component.md +0 -246
  119. package/docs/08-website.md +0 -404
  120. package/docs/09-mobile.md +0 -270
  121. package/docs/10-api.md +0 -264
  122. package/docs/11-jobs.md +0 -157
  123. package/docs/12-cli.md +0 -677
  124. package/docs/13-elements.md +0 -248
  125. package/docs/14-assertions.md +0 -314
  126. package/docs/15-tokens.md +0 -253
  127. package/docs/16-contracts.md +0 -438
  128. package/docs/17-services.md +0 -188
  129. package/docs/18-conventions.md +0 -332
  130. package/docs/19-linting.md +0 -512
  131. package/docs/decisions/001-v9-conventions-on-three-channels.md +0 -50
  132. package/docs/decisions/002-the-statique-channel-holds-only-what-upstream-does-not.md +0 -49
  133. package/docs/decisions/003-a-rendered-component-is-a-facet-on-vitest-browser-mode.md +0 -84
  134. package/docs/decisions/004-a-module-against-real-services-or-a-golden-is-the-integration-facet.md +0 -81
  135. package/docs/decisions/005-the-doubles-ladder-is-closed.md +0 -86
  136. package/docs/decisions/006-the-catalogue-reaches-a-file-by-its-role.md +0 -245
  137. package/docs/decisions/007-compose-mode-leaves-the-package.md +0 -53
  138. package/docs/decisions/008-vitest-5-node-24-and-the-native-seams-as-optional-peers.md +0 -75
  139. package/docs/decisions/_template.md +0 -22
  140. package/docs/reference/classes/Matcher.md +0 -120
  141. package/docs/reference/classes/ProcessHandle.md +0 -368
  142. package/docs/reference/functions/defineContract.md +0 -39
  143. package/docs/reference/functions/defineContracts.md +0 -36
  144. package/docs/reference/functions/disabled.md +0 -28
  145. package/docs/reference/functions/enabled.md +0 -20
  146. package/docs/reference/functions/focused.md +0 -26
  147. package/docs/reference/functions/mockOf.md +0 -79
  148. package/docs/reference/functions/postgres.md +0 -31
  149. package/docs/reference/functions/process.md +0 -33
  150. package/docs/reference/functions/redis.md +0 -28
  151. package/docs/reference/functions/required.md +0 -41
  152. package/docs/reference/functions/selected.md +0 -26
  153. package/docs/reference/functions/sqlite.md +0 -33
  154. package/docs/reference/functions/testId.md +0 -20
  155. package/docs/reference/functions/text.md +0 -40
  156. package/docs/reference/functions/valued.md +0 -28
  157. package/docs/reference/functions/waitUntil.md +0 -46
  158. package/docs/reference/functions/within.md +0 -29
  159. package/docs/reference/index.md +0 -196
  160. package/docs/reference/interfaces/BaseResult.md +0 -87
  161. package/docs/reference/interfaces/CallResult.md +0 -160
  162. package/docs/reference/interfaces/CaptureScope.md +0 -82
  163. package/docs/reference/interfaces/CliResult.md +0 -253
  164. package/docs/reference/interfaces/ContainerAccessor.md +0 -166
  165. package/docs/reference/interfaces/DirectoryAccessor.md +0 -33
  166. package/docs/reference/interfaces/FetchResult.md +0 -180
  167. package/docs/reference/interfaces/FilesystemAccessor.md +0 -46
  168. package/docs/reference/interfaces/HttpResult.md +0 -126
  169. package/docs/reference/interfaces/JsonAccessor.md +0 -46
  170. package/docs/reference/interfaces/PageResult.md +0 -356
  171. package/docs/reference/interfaces/RenderResult.md +0 -72
  172. package/docs/reference/interfaces/RenderedText.md +0 -110
  173. package/docs/reference/interfaces/ResponseAccessor.md +0 -47
  174. package/docs/reference/interfaces/ScreenResult.md +0 -128
  175. package/docs/reference/interfaces/TableAccessor.md +0 -26
  176. package/docs/reference/interfaces/TextAccessor.md +0 -96
  177. package/docs/reference/type-aliases/ApiHandle.md +0 -68
  178. package/docs/reference/type-aliases/ApiSpecification.md +0 -213
  179. package/docs/reference/type-aliases/ApiSpecificationOptions.md +0 -68
  180. package/docs/reference/type-aliases/BrowserConsoleMessage.md +0 -30
  181. package/docs/reference/type-aliases/BrowserLinkElement.md +0 -50
  182. package/docs/reference/type-aliases/BrowserMetaElement.md +0 -40
  183. package/docs/reference/type-aliases/BrowserOpenOptions.md +0 -87
  184. package/docs/reference/type-aliases/BrowserPage.md +0 -132
  185. package/docs/reference/type-aliases/BrowserPort.md +0 -51
  186. package/docs/reference/type-aliases/CliEnv.md +0 -11
  187. package/docs/reference/type-aliases/CliHandle.md +0 -80
  188. package/docs/reference/type-aliases/CliInput.md +0 -36
  189. package/docs/reference/type-aliases/CliOutput.md +0 -46
  190. package/docs/reference/type-aliases/CliPort.md +0 -58
  191. package/docs/reference/type-aliases/CliSpecification.md +0 -144
  192. package/docs/reference/type-aliases/CliSpecificationOptions.md +0 -134
  193. package/docs/reference/type-aliases/ComponentChain.md +0 -156
  194. package/docs/reference/type-aliases/ComponentScenario.md +0 -20
  195. package/docs/reference/type-aliases/ComponentUi.md +0 -47
  196. package/docs/reference/type-aliases/ComponentVisitor.md +0 -10
  197. package/docs/reference/type-aliases/ContainerPort.md +0 -113
  198. package/docs/reference/type-aliases/Contract.md +0 -68
  199. package/docs/reference/type-aliases/ContractInput.md +0 -13
  200. package/docs/reference/type-aliases/ContractRequest.md +0 -95
  201. package/docs/reference/type-aliases/ContractResponder.md +0 -23
  202. package/docs/reference/type-aliases/ContractResponse.md +0 -78
  203. package/docs/reference/type-aliases/ContractResponseValue.md +0 -13
  204. package/docs/reference/type-aliases/Contracts.md +0 -48
  205. package/docs/reference/type-aliases/DatabaseKeys.md +0 -16
  206. package/docs/reference/type-aliases/DatabasePort.md +0 -72
  207. package/docs/reference/type-aliases/DeviceOpenOptions.md +0 -46
  208. package/docs/reference/type-aliases/DevicePort.md +0 -51
  209. package/docs/reference/type-aliases/DeviceScreen.md +0 -32
  210. package/docs/reference/type-aliases/DeviceTimeouts.md +0 -39
  211. package/docs/reference/type-aliases/DockerSpecConfig.md +0 -43
  212. package/docs/reference/type-aliases/DomMount.md +0 -21
  213. package/docs/reference/type-aliases/ElementKind.md +0 -27
  214. package/docs/reference/type-aliases/ElementMatch.md +0 -74
  215. package/docs/reference/type-aliases/ElementOptions.md +0 -29
  216. package/docs/reference/type-aliases/ElementRef.md +0 -128
  217. package/docs/reference/type-aliases/ExecOptions.md +0 -37
  218. package/docs/reference/type-aliases/FileAccessor.md +0 -54
  219. package/docs/reference/type-aliases/HonoApp.md +0 -31
  220. package/docs/reference/type-aliases/HttpContractFilter.md +0 -49
  221. package/docs/reference/type-aliases/HttpResponseInit.md +0 -46
  222. package/docs/reference/type-aliases/HttpStreamInit.md +0 -58
  223. package/docs/reference/type-aliases/IntegrationHandle.md +0 -46
  224. package/docs/reference/type-aliases/IntegrationSpecification.md +0 -111
  225. package/docs/reference/type-aliases/IntegrationSpecificationOptions.md +0 -42
  226. package/docs/reference/type-aliases/Intercept.md +0 -19
  227. package/docs/reference/type-aliases/InterceptOptions.md +0 -28
  228. package/docs/reference/type-aliases/InterceptScope.md +0 -11
  229. package/docs/reference/type-aliases/IsolationStrategy.md +0 -75
  230. package/docs/reference/type-aliases/JobHandle.md +0 -34
  231. package/docs/reference/type-aliases/JobsHandle.md +0 -57
  232. package/docs/reference/type-aliases/JobsResult.md +0 -16
  233. package/docs/reference/type-aliases/JobsSpecification.md +0 -94
  234. package/docs/reference/type-aliases/JobsSpecificationOptions.md +0 -56
  235. package/docs/reference/type-aliases/LandmarkKind.md +0 -20
  236. package/docs/reference/type-aliases/LiterateRunFlags.md +0 -27
  237. package/docs/reference/type-aliases/LiterateServeRegistration.md +0 -70
  238. package/docs/reference/type-aliases/MatchFixtureOptions.md +0 -27
  239. package/docs/reference/type-aliases/MatchableRequest.md +0 -61
  240. package/docs/reference/type-aliases/MatcherKind.md +0 -34
  241. package/docs/reference/type-aliases/MobileBackendOptions.md +0 -28
  242. package/docs/reference/type-aliases/MobileElementKind.md +0 -14
  243. package/docs/reference/type-aliases/MobileElementMatch.md +0 -60
  244. package/docs/reference/type-aliases/MobileElementRef.md +0 -20
  245. package/docs/reference/type-aliases/MobileHandle.md +0 -65
  246. package/docs/reference/type-aliases/MobileScenario.md +0 -20
  247. package/docs/reference/type-aliases/MobileSpecification.md +0 -51
  248. package/docs/reference/type-aliases/MobileSpecificationOptions.md +0 -126
  249. package/docs/reference/type-aliases/MobileVisitor.md +0 -81
  250. package/docs/reference/type-aliases/MockOfOptions.md +0 -26
  251. package/docs/reference/type-aliases/MockPort.md +0 -10
  252. package/docs/reference/type-aliases/PinnedClock.md +0 -10
  253. package/docs/reference/type-aliases/PostgresOptions.md +0 -32
  254. package/docs/reference/type-aliases/ProcessOptions.md +0 -112
  255. package/docs/reference/type-aliases/RedisOptions.md +0 -20
  256. package/docs/reference/type-aliases/RenderSubject.md +0 -12
  257. package/docs/reference/type-aliases/ScreenNode.md +0 -67
  258. package/docs/reference/type-aliases/ServerPort.md +0 -36
  259. package/docs/reference/type-aliases/ServerResponse.md +0 -46
  260. package/docs/reference/type-aliases/ServerSpec.md +0 -21
  261. package/docs/reference/type-aliases/ServiceHandle.md +0 -216
  262. package/docs/reference/type-aliases/ServiceRecord.md +0 -12
  263. package/docs/reference/type-aliases/SpecDocument.md +0 -84
  264. package/docs/reference/type-aliases/SpecEnvToken.md +0 -21
  265. package/docs/reference/type-aliases/SpecFileAssertion.md +0 -27
  266. package/docs/reference/type-aliases/SpecFixture.md +0 -30
  267. package/docs/reference/type-aliases/SpecKind.md +0 -8
  268. package/docs/reference/type-aliases/SpecRun.md +0 -108
  269. package/docs/reference/type-aliases/SpecServeEntry.md +0 -40
  270. package/docs/reference/type-aliases/SpecStream.md +0 -32
  271. package/docs/reference/type-aliases/SpecificationConfig.md +0 -290
  272. package/docs/reference/type-aliases/SqliteOptions.md +0 -36
  273. package/docs/reference/type-aliases/SseEvent.md +0 -58
  274. package/docs/reference/type-aliases/StreamBody.md +0 -61
  275. package/docs/reference/type-aliases/TextFilter.md +0 -22
  276. package/docs/reference/type-aliases/VisitScenario.md +0 -20
  277. package/docs/reference/type-aliases/Visitor.md +0 -215
  278. package/docs/reference/type-aliases/WaitUntilOptions.md +0 -46
  279. package/docs/reference/type-aliases/WebsiteBackendOptions.md +0 -37
  280. package/docs/reference/type-aliases/WebsiteHandle.md +0 -51
  281. package/docs/reference/type-aliases/WebsiteSpecification.md +0 -118
  282. package/docs/reference/type-aliases/WebsiteSpecificationOptions.md +0 -40
  283. package/docs/reference/variables/anthropic.md +0 -19
  284. package/docs/reference/variables/banner.md +0 -10
  285. package/docs/reference/variables/button.md +0 -10
  286. package/docs/reference/variables/clock.md +0 -16
  287. package/docs/reference/variables/complementary.md +0 -10
  288. package/docs/reference/variables/component.md +0 -10
  289. package/docs/reference/variables/content.md +0 -10
  290. package/docs/reference/variables/contentinfo.md +0 -10
  291. package/docs/reference/variables/dialog.md +0 -10
  292. package/docs/reference/variables/field.md +0 -10
  293. package/docs/reference/variables/form.md +0 -10
  294. package/docs/reference/variables/heading.md +0 -10
  295. package/docs/reference/variables/http.md +0 -40
  296. package/docs/reference/variables/intercept.md +0 -11
  297. package/docs/reference/variables/link.md +0 -10
  298. package/docs/reference/variables/listitem.md +0 -10
  299. package/docs/reference/variables/main.md +0 -10
  300. package/docs/reference/variables/match.md +0 -8
  301. package/docs/reference/variables/navigation.md +0 -10
  302. package/docs/reference/variables/openai.md +0 -21
  303. package/docs/reference/variables/option.md +0 -17
  304. package/docs/reference/variables/region.md +0 -10
  305. package/docs/reference/variables/row.md +0 -10
  306. package/docs/reference/variables/search.md +0 -10
  307. package/docs/reference/variables/specification.md +0 -8
  308. package/docs/reference/variables/status.md +0 -10
  309. 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()`.