@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,215 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: Visitor
3
-
4
- ```ts
5
- type Visitor = object;
6
- ```
7
-
8
- Defined in: [src/model/ports/browser.port.ts:144](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L144)
9
-
10
- The visitor — the interaction vocabulary handed to a visit scenario.
11
- Every action auto-waits (playwright actionability); `see()` is the single
12
- synchronization primitive: it retries until the element is visible and
13
- fails at the timeout. There is no sleep and no conditional helper.
14
-
15
- ## Properties
16
-
17
- ### check
18
-
19
- ```ts
20
- check: (element) => Promise<void>;
21
- ```
22
-
23
- Defined in: [src/model/ports/browser.port.ts:146](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L146)
24
-
25
- Check a checkbox or radio.
26
-
27
- #### Parameters
28
-
29
- | Parameter | Type |
30
- | ------ | ------ |
31
- | `element` | [`ElementRef`](ElementRef.md) |
32
-
33
- #### Returns
34
-
35
- `Promise`\<`void`\>
36
-
37
- ***
38
-
39
- ### click
40
-
41
- ```ts
42
- click: (element) => Promise<void>;
43
- ```
44
-
45
- Defined in: [src/model/ports/browser.port.ts:148](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L148)
46
-
47
- Click the element.
48
-
49
- #### Parameters
50
-
51
- | Parameter | Type |
52
- | ------ | ------ |
53
- | `element` | [`ElementRef`](ElementRef.md) |
54
-
55
- #### Returns
56
-
57
- `Promise`\<`void`\>
58
-
59
- ***
60
-
61
- ### fill
62
-
63
- ```ts
64
- fill: (element, value) => Promise<void>;
65
- ```
66
-
67
- Defined in: [src/model/ports/browser.port.ts:150](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L150)
68
-
69
- Fill a form field with a value.
70
-
71
- #### Parameters
72
-
73
- | Parameter | Type |
74
- | ------ | ------ |
75
- | `element` | [`ElementRef`](ElementRef.md) |
76
- | `value` | `string` |
77
-
78
- #### Returns
79
-
80
- `Promise`\<`void`\>
81
-
82
- ***
83
-
84
- ### gone
85
-
86
- ```ts
87
- gone: (element) => Promise<void>;
88
- ```
89
-
90
- Defined in: [src/model/ports/browser.port.ts:156](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L156)
91
-
92
- Wait until the element is GONE — hidden, or never in the document. The
93
- absence primitive: `see()` cannot answer "the dialog closed", because an
94
- element that never appears and one that disappeared read the same to it.
95
-
96
- #### Parameters
97
-
98
- | Parameter | Type |
99
- | ------ | ------ |
100
- | `element` | [`ElementRef`](ElementRef.md) |
101
-
102
- #### Returns
103
-
104
- `Promise`\<`void`\>
105
-
106
- ***
107
-
108
- ### goto
109
-
110
- ```ts
111
- goto: (path) => Promise<void>;
112
- ```
113
-
114
- Defined in: [src/model/ports/browser.port.ts:158](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L158)
115
-
116
- Navigate to a path of the site under test.
117
-
118
- #### Parameters
119
-
120
- | Parameter | Type |
121
- | ------ | ------ |
122
- | `path` | `string` |
123
-
124
- #### Returns
125
-
126
- `Promise`\<`void`\>
127
-
128
- ***
129
-
130
- ### hover
131
-
132
- ```ts
133
- hover: (element) => Promise<void>;
134
- ```
135
-
136
- Defined in: [src/model/ports/browser.port.ts:160](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L160)
137
-
138
- Hover the element.
139
-
140
- #### Parameters
141
-
142
- | Parameter | Type |
143
- | ------ | ------ |
144
- | `element` | [`ElementRef`](ElementRef.md) |
145
-
146
- #### Returns
147
-
148
- `Promise`\<`void`\>
149
-
150
- ***
151
-
152
- ### press
153
-
154
- ```ts
155
- press: (key) => Promise<void>;
156
- ```
157
-
158
- Defined in: [src/model/ports/browser.port.ts:162](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L162)
159
-
160
- Press a key (e.g. `Enter`).
161
-
162
- #### Parameters
163
-
164
- | Parameter | Type |
165
- | ------ | ------ |
166
- | `key` | `string` |
167
-
168
- #### Returns
169
-
170
- `Promise`\<`void`\>
171
-
172
- ***
173
-
174
- ### see
175
-
176
- ```ts
177
- see: (element) => Promise<void>;
178
- ```
179
-
180
- Defined in: [src/model/ports/browser.port.ts:164](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L164)
181
-
182
- Wait until the element is visible — the only synchronization primitive.
183
-
184
- #### Parameters
185
-
186
- | Parameter | Type |
187
- | ------ | ------ |
188
- | `element` | [`ElementRef`](ElementRef.md) |
189
-
190
- #### Returns
191
-
192
- `Promise`\<`void`\>
193
-
194
- ***
195
-
196
- ### select
197
-
198
- ```ts
199
- select: (element, option) => Promise<void>;
200
- ```
201
-
202
- Defined in: [src/model/ports/browser.port.ts:166](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L166)
203
-
204
- Select an option in a select field.
205
-
206
- #### Parameters
207
-
208
- | Parameter | Type |
209
- | ------ | ------ |
210
- | `element` | [`ElementRef`](ElementRef.md) |
211
- | `option` | `string` |
212
-
213
- #### Returns
214
-
215
- `Promise`\<`void`\>
@@ -1,46 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: WaitUntilOptions
3
-
4
- ```ts
5
- type WaitUntilOptions = object;
6
- ```
7
-
8
- Defined in: [src/model/assertions/wait-until.ts:4](https://github.com/jterrazz/package-test/blob/main/src/model/assertions/wait-until.ts#L4)
9
-
10
- How long to wait, and how often to look.
11
-
12
- ## Properties
13
-
14
- ### interval?
15
-
16
- ```ts
17
- optional interval?: number;
18
- ```
19
-
20
- Defined in: [src/model/assertions/wait-until.ts:6](https://github.com/jterrazz/package-test/blob/main/src/model/assertions/wait-until.ts#L6)
21
-
22
- Milliseconds between two readings. Default 50.
23
-
24
- ***
25
-
26
- ### timeout?
27
-
28
- ```ts
29
- optional timeout?: number;
30
- ```
31
-
32
- Defined in: [src/model/assertions/wait-until.ts:8](https://github.com/jterrazz/package-test/blob/main/src/model/assertions/wait-until.ts#L8)
33
-
34
- How long the condition has to become true. Default 5 000 ms.
35
-
36
- ***
37
-
38
- ### why?
39
-
40
- ```ts
41
- optional why?: string;
42
- ```
43
-
44
- Defined in: [src/model/assertions/wait-until.ts:10](https://github.com/jterrazz/package-test/blob/main/src/model/assertions/wait-until.ts#L10)
45
-
46
- What the condition is, named in the failure. Default: the predicate's source.
@@ -1,37 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: WebsiteBackendOptions
3
-
4
- ```ts
5
- type WebsiteBackendOptions = object;
6
- ```
7
-
8
- Defined in: [src/facets/website/website.specification.ts:62](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L62)
9
-
10
- The declared stub backend behind the site under test — started before the
11
- server command, torn down with the runner. Its URL is injected into the
12
- server child's environment under `env`; the contracts each chain declares
13
- via `.intercept(...)` are what it serves.
14
-
15
- ## Properties
16
-
17
- ### env
18
-
19
- ```ts
20
- env: string;
21
- ```
22
-
23
- Defined in: [src/facets/website/website.specification.ts:64](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L64)
24
-
25
- Env var receiving the stub's URL in the server child (e.g. `'API_URL'`).
26
-
27
- ***
28
-
29
- ### port?
30
-
31
- ```ts
32
- optional port?: number;
33
- ```
34
-
35
- Defined in: [src/facets/website/website.specification.ts:66](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L66)
36
-
37
- Fixed port — pins a stable stub URL across runs. Default: a free OS-assigned port.
@@ -1,51 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: WebsiteHandle
3
-
4
- ```ts
5
- type WebsiteHandle = object;
6
- ```
7
-
8
- Defined in: [src/facets/website/website.specification.ts:213](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L213)
9
-
10
- The record returned by startWebsite \| specification.website.
11
- Destructure with the canonical names (CONVENTIONS A3):
12
-
13
- const { website, cleanup } = await specification.website(…);
14
-
15
- ## Properties
16
-
17
- ### cleanup
18
-
19
- ```ts
20
- cleanup: () => Promise<void>;
21
- ```
22
-
23
- Defined in: [src/facets/website/website.specification.ts:215](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L215)
24
-
25
- Stop the server process and the shared browser instance.
26
-
27
- #### Returns
28
-
29
- `Promise`\<`void`\>
30
-
31
- ***
32
-
33
- ### url
34
-
35
- ```ts
36
- url: string;
37
- ```
38
-
39
- Defined in: [src/facets/website/website.specification.ts:217](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L217)
40
-
41
- The base URL the specs run against.
42
-
43
- ***
44
-
45
- ### website
46
-
47
- ```ts
48
- website: WebsiteSpecification;
49
- ```
50
-
51
- Defined in: [src/facets/website/website.specification.ts:218](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L218)
@@ -1,118 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: WebsiteSpecification
3
-
4
- ```ts
5
- type WebsiteSpecification = object;
6
- ```
7
-
8
- Defined in: [src/model/chain/builder.ts:302](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L302)
9
-
10
- The `website` facet — page chain entry handed out by
11
- `specification.website()`. Setup methods chain; action methods are
12
- terminal. `.visit()` renders the page in the shared browser; `.fetch()`
13
- performs one raw HTTP exchange and never follows redirects.
14
-
15
- ## Properties
16
-
17
- ### clock
18
-
19
- ```ts
20
- clock: (iso) => WebsiteSpecification;
21
- ```
22
-
23
- Defined in: [src/model/chain/builder.ts:307](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L307)
24
-
25
- Pin the PAGE's `Date` at `iso` for this chain — what the site's own
26
- scripts read. A `.fetch()` opens no page and refuses the setup.
27
-
28
- #### Parameters
29
-
30
- | Parameter | Type |
31
- | ------ | ------ |
32
- | `iso` | `string` |
33
-
34
- #### Returns
35
-
36
- `WebsiteSpecification`
37
-
38
- ***
39
-
40
- ### fetch
41
-
42
- ```ts
43
- fetch: (path) => Promise<FetchResult>;
44
- ```
45
-
46
- Defined in: [src/model/chain/builder.ts:317](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L317)
47
-
48
- Perform one raw HTTP GET — redirects surface as 3xx results, never followed.
49
-
50
- #### Parameters
51
-
52
- | Parameter | Type |
53
- | ------ | ------ |
54
- | `path` | `string` |
55
-
56
- #### Returns
57
-
58
- `Promise`\<[`FetchResult`](../interfaces/FetchResult.md)\>
59
-
60
- ***
61
-
62
- ### headers
63
-
64
- ```ts
65
- headers: (headers) => WebsiteSpecification;
66
- ```
67
-
68
- Defined in: [src/model/chain/builder.ts:309](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L309)
69
-
70
- Set HTTP headers for the exchange (incl. User-Agent overrides). Multiple calls merge.
71
-
72
- #### Parameters
73
-
74
- | Parameter | Type |
75
- | ------ | ------ |
76
- | `headers` | `Record`\<`string`, `string`\> |
77
-
78
- #### Returns
79
-
80
- `WebsiteSpecification`
81
-
82
- ***
83
-
84
- ### intercept
85
-
86
- ```ts
87
- intercept: InterceptMethod<WebsiteSpecification>;
88
- ```
89
-
90
- Defined in: [src/model/chain/builder.ts:314](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L314)
91
-
92
- Declare the chain's backend contracts — served by the declared stub
93
- backend (requires the runner's `backend` option). Multiple calls append.
94
-
95
- ***
96
-
97
- ### visit
98
-
99
- ```ts
100
- visit: (path, scenario?) => Promise<PageResult>;
101
- ```
102
-
103
- Defined in: [src/model/chain/builder.ts:323](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L323)
104
-
105
- Render the page in the shared browser and resolve with the captured
106
- document. With a scenario, the visitor interacts first (the When) and
107
- the capture reflects the FINAL page state.
108
-
109
- #### Parameters
110
-
111
- | Parameter | Type |
112
- | ------ | ------ |
113
- | `path` | `string` |
114
- | `scenario?` | [`VisitScenario`](VisitScenario.md) |
115
-
116
- #### Returns
117
-
118
- `Promise`\<[`PageResult`](../interfaces/PageResult.md)\>
@@ -1,40 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: WebsiteSpecificationOptions\<Services\>
3
-
4
- ```ts
5
- type WebsiteSpecificationOptions<Services> = object &
6
- | {
7
- backend?: WebsiteBackendOptions;
8
- server: ServerSpec<Services>;
9
- url?: never;
10
- }
11
- | {
12
- backend?: never;
13
- server?: never;
14
- url: string;
15
- };
16
- ```
17
-
18
- Defined in: [src/facets/website/website.specification.ts:77](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L77)
19
-
20
- Options for startWebsite \| specification.website. `server` (start
21
- the site locally) and `url` (target a running site) are mutually
22
- exclusive BY TYPE — the union makes the invalid combinations
23
- inexpressible rather than runtime-checked. `backend` requires `server`
24
- mode for the same reason: a deployed site cannot be pointed at a local
25
- stub.
26
-
27
- ## Type Declaration
28
-
29
- | Name | Type | Description | Defined in |
30
- | ------ | ------ | ------ | ------ |
31
- | `external?` | `"allow"` \| `"block"` | Cross-origin request policy for visits. Default: `'block'` with a local `server` (deterministic — analytics and CDNs never leave the machine), `'allow'` with a deployed `url`. | [src/facets/website/website.specification.ts:83](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L83) |
32
- | `root?` | `string` | Project-root override (CONVENTIONS A9): the working directory of the `server` command. Auto-discovered from the calling file when absent. | [src/facets/website/website.specification.ts:88](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L88) |
33
- | `services?` | `Services` | Named services started with the runner, before the site is: a database the site reads, a `process()` backend it calls. They are started in declaration order and stopped with the specification, and `server` may be a function of them — which is how a site is handed the URL of the API it was started beside. | [src/facets/website/website.specification.ts:96](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L96) |
34
- | `transform()?` | (`text`) => `string` | Escape hatch: normaliser applied to every compared reading of a result — the head projection and the json-ld among them — before the comparison (CONVENTIONS D6). Does NOT mutate the raw `.text` accessor. Prefer `{{token}}` placeholders in fixtures; this is for what a token cannot name, a meta a FRAMEWORK owns and the page never asked for. | [src/facets/website/website.specification.ts:104](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L104) |
35
-
36
- ## Type Parameters
37
-
38
- | Type Parameter | Default type |
39
- | ------ | ------ |
40
- | `Services` *extends* [`ServiceRecord`](ServiceRecord.md) | [`ServiceRecord`](ServiceRecord.md) |
@@ -1,19 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: anthropic
3
-
4
- ```ts
5
- const anthropic: object;
6
- ```
7
-
8
- Defined in: [src/seams/anthropic/anthropic.ts:55](https://github.com/jterrazz/package-test/blob/main/src/seams/anthropic/anthropic.ts#L55)
9
-
10
- Anthropic API intercept helpers.
11
-
12
- ## Type Declaration
13
-
14
- | Name | Type | Description | Defined in |
15
- | ------ | ------ | ------ | ------ |
16
- | `error()` | (`status`, `message?`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: return an Anthropic error. | [src/seams/anthropic/anthropic.ts:91](https://github.com/jterrazz/package-test/blob/main/src/seams/anthropic/anthropic.ts#L91) |
17
- | `messages()` | (`filter?`, `url?`) => [`ContractRequest`](../type-aliases/ContractRequest.md) | Request: match Messages API calls, optionally routed through a custom gateway URL. When used with a JSON fixture file, the data is returned as-is (no wrapping) because Anthropic fixtures are typically already in the Messages API response shape. **Example** `anthropic.messages() anthropic.messages({ system: /classify/ }) anthropic.messages({ user: buildPrompt() }) // string = EXACT equality anthropic.messages({ user: /classify/ }, GATEWAY)` | [src/seams/anthropic/anthropic.ts:68](https://github.com/jterrazz/package-test/blob/main/src/seams/anthropic/anthropic.ts#L68) |
18
- | `reply()` | (`data`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: wrap data in Anthropic messages format. | [src/seams/anthropic/anthropic.ts:86](https://github.com/jterrazz/package-test/blob/main/src/seams/anthropic/anthropic.ts#L86) |
19
- | `timeout()` | () => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: simulate a timeout. | [src/seams/anthropic/anthropic.ts:105](https://github.com/jterrazz/package-test/blob/main/src/seams/anthropic/anthropic.ts#L105) |
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: banner
3
-
4
- ```ts
5
- const banner: LandmarkFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:80](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L80)
9
-
10
- The `banner` landmark — the page header.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: button
3
-
4
- ```ts
5
- const button: ElementFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:45](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L45)
9
-
10
- A button (or element with the button role), by accessible name.
@@ -1,16 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: clock
3
-
4
- ```ts
5
- const clock: object;
6
- ```
7
-
8
- Defined in: [src/model/clock/clock.ts:62](https://github.com/jterrazz/package-test/blob/main/src/model/clock/clock.ts#L62)
9
-
10
- ## Type Declaration
11
-
12
- | Name | Type | Description | Defined in |
13
- | ------ | ------ | ------ | ------ |
14
- | `advance()` | (`ms`) => `Promise`\<`void`\> | Move the pinned clock forward by `ms` — and, under [clock.run](#run), fire every callback that came due, awaiting what each of them started. Only a pinned clock moves: called with no clock taken, it says so rather than silently doing nothing to the real one. | [src/model/clock/clock.ts:70](https://github.com/jterrazz/package-test/blob/main/src/model/clock/clock.ts#L70) |
15
- | `at()` | (`iso`) => `Disposable` | Pin `Date` at `iso` for the current scope. `Date` ONLY: the scheduler stays real, so a subject that awaits, renders or polls keeps running. **Example** `using _ = clock.at('2026-03-04T09:30:00Z'); expect(stampedAt()).toBe('2026-03-04T09:30:00.000Z');` | [src/model/clock/clock.ts:88](https://github.com/jterrazz/package-test/blob/main/src/model/clock/clock.ts#L88) |
16
- | `run()` | (`iso?`) => `Disposable` | Take the scheduler as well as the calendar: `setTimeout`, `setInterval` and their friends queue instead of firing, and [clock.advance](#advance) is what makes them due. For a subject whose behaviour IS elapsed time — a debounce, a retry backoff, a poll — where waiting for real would be the arbitrary sleep J2 forbids. **Example** `using _ = clock.run('2026-03-04T09:30:00Z'); const pending = retrying(failsTwice); await clock.advance(5_000); await expect(pending).resolves.toBe('ok');` | [src/model/clock/clock.ts:105](https://github.com/jterrazz/package-test/blob/main/src/model/clock/clock.ts#L105) |
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: complementary
3
-
4
- ```ts
5
- const complementary: LandmarkFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:83](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L83)
9
-
10
- The `complementary` landmark — an `<aside>`, a sidebar.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: component
3
-
4
- ```ts
5
- const component: ComponentChain;
6
- ```
7
-
8
- Defined in: [src/facets/component/component.specification.ts:21](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.specification.ts#L21)
9
-
10
- Present, typed, and refusing — every setup and the terminal action alike.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: content
3
-
4
- ```ts
5
- const content: ElementFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:57](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L57)
9
-
10
- An element containing the given text.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: contentinfo
3
-
4
- ```ts
5
- const contentinfo: LandmarkFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:86](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L86)
9
-
10
- The `contentinfo` landmark — the page footer.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: dialog
3
-
4
- ```ts
5
- const dialog: LandmarkFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:127](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L127)
9
-
10
- A modal or non-modal `<dialog>`, by accessible name. A closed one is absent.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: field
3
-
4
- ```ts
5
- const field: ElementFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:48](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L48)
9
-
10
- A form field, by label.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: form
3
-
4
- ```ts
5
- const form: LandmarkFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:89](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L89)
9
-
10
- The `form` landmark — a form carrying an accessible name.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: heading
3
-
4
- ```ts
5
- const heading: ElementFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:51](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L51)
9
-
10
- A heading, by accessible name.