@jterrazz/test 16.0.0 → 16.1.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 (210) hide show
  1. package/dist/appium.adapter.js +59 -4
  2. package/dist/browser/index.js +88 -40
  3. package/dist/checker.js +272 -63
  4. package/dist/index.d.ts +33 -4
  5. package/dist/index.js +47 -24
  6. package/dist/oxlint.cjs +100 -27
  7. package/dist/oxlint.js +100 -27
  8. package/dist/playwright.adapter.js +14 -65
  9. package/dist/{ambiguity.js → substring-warning.js} +99 -1
  10. package/dist/vitest.js +71 -11
  11. package/docs/01-architecture.md +95 -0
  12. package/docs/02-developing.md +351 -0
  13. package/docs/03-testing.md +495 -0
  14. package/docs/04-operating.md +101 -0
  15. package/docs/05-module-tests.md +152 -0
  16. package/docs/06-integration.md +180 -0
  17. package/docs/07-component.md +246 -0
  18. package/docs/08-website.md +404 -0
  19. package/docs/09-mobile.md +270 -0
  20. package/docs/10-api.md +264 -0
  21. package/docs/11-jobs.md +157 -0
  22. package/docs/12-cli.md +677 -0
  23. package/docs/13-elements.md +242 -0
  24. package/docs/14-assertions.md +314 -0
  25. package/docs/15-tokens.md +253 -0
  26. package/docs/16-contracts.md +438 -0
  27. package/docs/17-services.md +188 -0
  28. package/docs/18-conventions.md +305 -0
  29. package/docs/19-linting.md +510 -0
  30. package/docs/README.md +36 -0
  31. package/docs/decisions/001-v9-conventions-on-three-channels.md +50 -0
  32. package/docs/decisions/002-the-statique-channel-holds-only-what-upstream-does-not.md +49 -0
  33. package/docs/decisions/003-a-rendered-component-is-a-facet-on-vitest-browser-mode.md +84 -0
  34. package/docs/decisions/004-a-module-against-real-services-or-a-golden-is-the-integration-facet.md +81 -0
  35. package/docs/decisions/005-the-doubles-ladder-is-closed.md +86 -0
  36. package/docs/decisions/006-the-catalogue-reaches-a-file-by-its-role.md +245 -0
  37. package/docs/decisions/007-compose-mode-leaves-the-package.md +53 -0
  38. package/docs/decisions/008-vitest-5-node-24-and-the-native-seams-as-optional-peers.md +75 -0
  39. package/docs/decisions/_template.md +22 -0
  40. package/docs/reference/classes/Matcher.md +120 -0
  41. package/docs/reference/classes/ProcessHandle.md +368 -0
  42. package/docs/reference/functions/defineContract.md +39 -0
  43. package/docs/reference/functions/defineContracts.md +36 -0
  44. package/docs/reference/functions/disabled.md +28 -0
  45. package/docs/reference/functions/enabled.md +20 -0
  46. package/docs/reference/functions/focused.md +26 -0
  47. package/docs/reference/functions/mockOf.md +79 -0
  48. package/docs/reference/functions/postgres.md +31 -0
  49. package/docs/reference/functions/process.md +33 -0
  50. package/docs/reference/functions/redis.md +28 -0
  51. package/docs/reference/functions/required.md +41 -0
  52. package/docs/reference/functions/selected.md +26 -0
  53. package/docs/reference/functions/sqlite.md +33 -0
  54. package/docs/reference/functions/testId.md +20 -0
  55. package/docs/reference/functions/text.md +40 -0
  56. package/docs/reference/functions/valued.md +28 -0
  57. package/docs/reference/functions/waitUntil.md +46 -0
  58. package/docs/reference/functions/within.md +29 -0
  59. package/docs/reference/index.md +196 -0
  60. package/docs/reference/interfaces/BaseResult.md +87 -0
  61. package/docs/reference/interfaces/CallResult.md +160 -0
  62. package/docs/reference/interfaces/CaptureScope.md +82 -0
  63. package/docs/reference/interfaces/CliResult.md +253 -0
  64. package/docs/reference/interfaces/ContainerAccessor.md +166 -0
  65. package/docs/reference/interfaces/DirectoryAccessor.md +33 -0
  66. package/docs/reference/interfaces/FetchResult.md +180 -0
  67. package/docs/reference/interfaces/FilesystemAccessor.md +46 -0
  68. package/docs/reference/interfaces/HttpResult.md +126 -0
  69. package/docs/reference/interfaces/JsonAccessor.md +46 -0
  70. package/docs/reference/interfaces/PageResult.md +356 -0
  71. package/docs/reference/interfaces/RenderResult.md +72 -0
  72. package/docs/reference/interfaces/RenderedText.md +110 -0
  73. package/docs/reference/interfaces/ResponseAccessor.md +47 -0
  74. package/docs/reference/interfaces/ScreenResult.md +128 -0
  75. package/docs/reference/interfaces/TableAccessor.md +26 -0
  76. package/docs/reference/interfaces/TextAccessor.md +96 -0
  77. package/docs/reference/type-aliases/ApiHandle.md +68 -0
  78. package/docs/reference/type-aliases/ApiSpecification.md +213 -0
  79. package/docs/reference/type-aliases/ApiSpecificationOptions.md +68 -0
  80. package/docs/reference/type-aliases/BrowserConsoleMessage.md +30 -0
  81. package/docs/reference/type-aliases/BrowserLinkElement.md +50 -0
  82. package/docs/reference/type-aliases/BrowserMetaElement.md +40 -0
  83. package/docs/reference/type-aliases/BrowserOpenOptions.md +87 -0
  84. package/docs/reference/type-aliases/BrowserPage.md +132 -0
  85. package/docs/reference/type-aliases/BrowserPort.md +51 -0
  86. package/docs/reference/type-aliases/CliEnv.md +11 -0
  87. package/docs/reference/type-aliases/CliHandle.md +80 -0
  88. package/docs/reference/type-aliases/CliInput.md +36 -0
  89. package/docs/reference/type-aliases/CliOutput.md +46 -0
  90. package/docs/reference/type-aliases/CliPort.md +58 -0
  91. package/docs/reference/type-aliases/CliSpecification.md +144 -0
  92. package/docs/reference/type-aliases/CliSpecificationOptions.md +134 -0
  93. package/docs/reference/type-aliases/ComponentChain.md +156 -0
  94. package/docs/reference/type-aliases/ComponentScenario.md +20 -0
  95. package/docs/reference/type-aliases/ComponentUi.md +47 -0
  96. package/docs/reference/type-aliases/ComponentVisitor.md +10 -0
  97. package/docs/reference/type-aliases/ContainerPort.md +113 -0
  98. package/docs/reference/type-aliases/Contract.md +68 -0
  99. package/docs/reference/type-aliases/ContractInput.md +13 -0
  100. package/docs/reference/type-aliases/ContractRequest.md +95 -0
  101. package/docs/reference/type-aliases/ContractResponder.md +23 -0
  102. package/docs/reference/type-aliases/ContractResponse.md +78 -0
  103. package/docs/reference/type-aliases/ContractResponseValue.md +13 -0
  104. package/docs/reference/type-aliases/Contracts.md +48 -0
  105. package/docs/reference/type-aliases/DatabaseKeys.md +16 -0
  106. package/docs/reference/type-aliases/DatabasePort.md +72 -0
  107. package/docs/reference/type-aliases/DeviceOpenOptions.md +46 -0
  108. package/docs/reference/type-aliases/DevicePort.md +51 -0
  109. package/docs/reference/type-aliases/DeviceScreen.md +32 -0
  110. package/docs/reference/type-aliases/DeviceTimeouts.md +39 -0
  111. package/docs/reference/type-aliases/DockerSpecConfig.md +43 -0
  112. package/docs/reference/type-aliases/DomMount.md +21 -0
  113. package/docs/reference/type-aliases/ElementKind.md +27 -0
  114. package/docs/reference/type-aliases/ElementMatch.md +74 -0
  115. package/docs/reference/type-aliases/ElementOptions.md +29 -0
  116. package/docs/reference/type-aliases/ElementRef.md +128 -0
  117. package/docs/reference/type-aliases/ExecOptions.md +37 -0
  118. package/docs/reference/type-aliases/FileAccessor.md +54 -0
  119. package/docs/reference/type-aliases/HonoApp.md +31 -0
  120. package/docs/reference/type-aliases/HttpContractFilter.md +49 -0
  121. package/docs/reference/type-aliases/HttpResponseInit.md +46 -0
  122. package/docs/reference/type-aliases/HttpStreamInit.md +58 -0
  123. package/docs/reference/type-aliases/IntegrationHandle.md +46 -0
  124. package/docs/reference/type-aliases/IntegrationSpecification.md +111 -0
  125. package/docs/reference/type-aliases/IntegrationSpecificationOptions.md +42 -0
  126. package/docs/reference/type-aliases/Intercept.md +19 -0
  127. package/docs/reference/type-aliases/InterceptOptions.md +28 -0
  128. package/docs/reference/type-aliases/InterceptScope.md +11 -0
  129. package/docs/reference/type-aliases/IsolationStrategy.md +75 -0
  130. package/docs/reference/type-aliases/JobHandle.md +34 -0
  131. package/docs/reference/type-aliases/JobsHandle.md +57 -0
  132. package/docs/reference/type-aliases/JobsResult.md +16 -0
  133. package/docs/reference/type-aliases/JobsSpecification.md +94 -0
  134. package/docs/reference/type-aliases/JobsSpecificationOptions.md +56 -0
  135. package/docs/reference/type-aliases/LandmarkKind.md +20 -0
  136. package/docs/reference/type-aliases/LiterateRunFlags.md +27 -0
  137. package/docs/reference/type-aliases/LiterateServeRegistration.md +70 -0
  138. package/docs/reference/type-aliases/MatchFixtureOptions.md +27 -0
  139. package/docs/reference/type-aliases/MatchableRequest.md +61 -0
  140. package/docs/reference/type-aliases/MatcherKind.md +34 -0
  141. package/docs/reference/type-aliases/MobileBackendOptions.md +28 -0
  142. package/docs/reference/type-aliases/MobileElementKind.md +14 -0
  143. package/docs/reference/type-aliases/MobileElementMatch.md +60 -0
  144. package/docs/reference/type-aliases/MobileElementRef.md +20 -0
  145. package/docs/reference/type-aliases/MobileHandle.md +65 -0
  146. package/docs/reference/type-aliases/MobileScenario.md +20 -0
  147. package/docs/reference/type-aliases/MobileSpecification.md +51 -0
  148. package/docs/reference/type-aliases/MobileSpecificationOptions.md +126 -0
  149. package/docs/reference/type-aliases/MobileVisitor.md +81 -0
  150. package/docs/reference/type-aliases/MockOfOptions.md +26 -0
  151. package/docs/reference/type-aliases/MockPort.md +10 -0
  152. package/docs/reference/type-aliases/PinnedClock.md +10 -0
  153. package/docs/reference/type-aliases/PostgresOptions.md +32 -0
  154. package/docs/reference/type-aliases/ProcessOptions.md +112 -0
  155. package/docs/reference/type-aliases/RedisOptions.md +20 -0
  156. package/docs/reference/type-aliases/RenderSubject.md +12 -0
  157. package/docs/reference/type-aliases/ScreenNode.md +67 -0
  158. package/docs/reference/type-aliases/ServerPort.md +36 -0
  159. package/docs/reference/type-aliases/ServerResponse.md +46 -0
  160. package/docs/reference/type-aliases/ServerSpec.md +21 -0
  161. package/docs/reference/type-aliases/ServiceHandle.md +216 -0
  162. package/docs/reference/type-aliases/ServiceRecord.md +12 -0
  163. package/docs/reference/type-aliases/SpecDocument.md +84 -0
  164. package/docs/reference/type-aliases/SpecEnvToken.md +21 -0
  165. package/docs/reference/type-aliases/SpecFileAssertion.md +27 -0
  166. package/docs/reference/type-aliases/SpecFixture.md +30 -0
  167. package/docs/reference/type-aliases/SpecKind.md +8 -0
  168. package/docs/reference/type-aliases/SpecRun.md +108 -0
  169. package/docs/reference/type-aliases/SpecServeEntry.md +40 -0
  170. package/docs/reference/type-aliases/SpecStream.md +32 -0
  171. package/docs/reference/type-aliases/SpecificationConfig.md +290 -0
  172. package/docs/reference/type-aliases/SqliteOptions.md +36 -0
  173. package/docs/reference/type-aliases/SseEvent.md +58 -0
  174. package/docs/reference/type-aliases/StreamBody.md +61 -0
  175. package/docs/reference/type-aliases/TextFilter.md +22 -0
  176. package/docs/reference/type-aliases/VisitScenario.md +20 -0
  177. package/docs/reference/type-aliases/Visitor.md +215 -0
  178. package/docs/reference/type-aliases/WaitUntilOptions.md +46 -0
  179. package/docs/reference/type-aliases/WebsiteBackendOptions.md +37 -0
  180. package/docs/reference/type-aliases/WebsiteHandle.md +51 -0
  181. package/docs/reference/type-aliases/WebsiteSpecification.md +118 -0
  182. package/docs/reference/type-aliases/WebsiteSpecificationOptions.md +40 -0
  183. package/docs/reference/variables/anthropic.md +19 -0
  184. package/docs/reference/variables/banner.md +10 -0
  185. package/docs/reference/variables/button.md +10 -0
  186. package/docs/reference/variables/clock.md +16 -0
  187. package/docs/reference/variables/complementary.md +10 -0
  188. package/docs/reference/variables/component.md +10 -0
  189. package/docs/reference/variables/content.md +10 -0
  190. package/docs/reference/variables/contentinfo.md +10 -0
  191. package/docs/reference/variables/dialog.md +10 -0
  192. package/docs/reference/variables/field.md +10 -0
  193. package/docs/reference/variables/form.md +10 -0
  194. package/docs/reference/variables/heading.md +10 -0
  195. package/docs/reference/variables/http.md +40 -0
  196. package/docs/reference/variables/intercept.md +11 -0
  197. package/docs/reference/variables/link.md +10 -0
  198. package/docs/reference/variables/listitem.md +10 -0
  199. package/docs/reference/variables/main.md +10 -0
  200. package/docs/reference/variables/match.md +8 -0
  201. package/docs/reference/variables/navigation.md +10 -0
  202. package/docs/reference/variables/openai.md +21 -0
  203. package/docs/reference/variables/option.md +17 -0
  204. package/docs/reference/variables/region.md +10 -0
  205. package/docs/reference/variables/row.md +10 -0
  206. package/docs/reference/variables/search.md +10 -0
  207. package/docs/reference/variables/specification.md +8 -0
  208. package/docs/reference/variables/status.md +10 -0
  209. package/docs/reference/variables/table.md +10 -0
  210. package/package.json +2 -1
@@ -0,0 +1,290 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: SpecificationConfig
3
+
4
+ ```ts
5
+ type SpecificationConfig = object;
6
+ ```
7
+
8
+ Defined in: [src/model/chain/builder.ts:54](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L54)
9
+
10
+ Adapter configuration passed to the specification facets at setup time.
11
+
12
+ ## Properties
13
+
14
+ ### backend?
15
+
16
+ ```ts
17
+ optional backend?: StubBackend;
18
+ ```
19
+
20
+ Defined in: [src/model/chain/builder.ts:59](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L59)
21
+
22
+ The declared stub backend (website/mobile facets) — armed with the
23
+ chain's contracts before every terminal action.
24
+
25
+ ***
26
+
27
+ ### backendUrl?
28
+
29
+ ```ts
30
+ optional backendUrl?: string;
31
+ ```
32
+
33
+ Defined in: [src/model/chain/builder.ts:64](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L64)
34
+
35
+ Base URL of the running stub backend — allow-listed through the
36
+ browser's `external: 'block'` policy so client-side fetches reach it.
37
+
38
+ ***
39
+
40
+ ### baseUrl?
41
+
42
+ ```ts
43
+ optional baseUrl?: string;
44
+ ```
45
+
46
+ Defined in: [src/model/chain/builder.ts:66](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L66)
47
+
48
+ Base URL of the website under test (website facet only).
49
+
50
+ ***
51
+
52
+ ### browser?
53
+
54
+ ```ts
55
+ optional browser?: () => Promise<BrowserPort>;
56
+ ```
57
+
58
+ Defined in: [src/model/chain/builder.ts:72](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L72)
59
+
60
+ Lazy browser accessor (website facet only). The first `.visit()`
61
+ launches the shared browser instance; `.fetch()`-only spec files never
62
+ pay the browser cost.
63
+
64
+ #### Returns
65
+
66
+ `Promise`\<[`BrowserPort`](BrowserPort.md)\>
67
+
68
+ ***
69
+
70
+ ### bundleId?
71
+
72
+ ```ts
73
+ optional bundleId?: string;
74
+ ```
75
+
76
+ Defined in: [src/model/chain/builder.ts:80](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L80)
77
+
78
+ Bundle id of the app under test (mobile facet only) — the app `.open()` relaunches.
79
+
80
+ ***
81
+
82
+ ### command?
83
+
84
+ ```ts
85
+ optional command?: CliPort;
86
+ ```
87
+
88
+ Defined in: [src/model/chain/builder.ts:81](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L81)
89
+
90
+ ***
91
+
92
+ ### database?
93
+
94
+ ```ts
95
+ optional database?: DatabasePort;
96
+ ```
97
+
98
+ Defined in: [src/model/chain/builder.ts:82](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L82)
99
+
100
+ ***
101
+
102
+ ### databaseKeys?
103
+
104
+ ```ts
105
+ optional databaseKeys?: string[];
106
+ ```
107
+
108
+ Defined in: [src/model/chain/builder.ts:88](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L88)
109
+
110
+ Keys of the declared services record that are databases. Drives the
111
+ CONVENTIONS A7 rule: with 2+ databases the `database` option is
112
+ mandatory on `.seed()` / `.table()`; with exactly one it is forbidden.
113
+
114
+ ***
115
+
116
+ ### databases?
117
+
118
+ ```ts
119
+ optional databases?: Map<string, DatabasePort>;
120
+ ```
121
+
122
+ Defined in: [src/model/chain/builder.ts:89](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L89)
123
+
124
+ ***
125
+
126
+ ### defaultEnv?
127
+
128
+ ```ts
129
+ optional defaultEnv?: CliEnv;
130
+ ```
131
+
132
+ Defined in: [src/model/chain/builder.ts:110](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L110)
133
+
134
+ Environment applied to every run of the declared binary
135
+ (`specification.cli({ defaults })`) — under a chain's own `.env()` and
136
+ under a document's `env:`, both of which win.
137
+
138
+ ***
139
+
140
+ ### device?
141
+
142
+ ```ts
143
+ optional device?: () => Promise<DevicePort>;
144
+ ```
145
+
146
+ Defined in: [src/model/chain/builder.ts:96](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L96)
147
+
148
+ Lazy device accessor (mobile facet only). The first `.open()` creates
149
+ the shared driver session; the appium/webdriverio integration stays a
150
+ lazy import so the optional peer is only loaded when a spec opens the
151
+ app.
152
+
153
+ #### Returns
154
+
155
+ `Promise`\<[`DevicePort`](DevicePort.md)\>
156
+
157
+ ***
158
+
159
+ ### dockerConfig?
160
+
161
+ ```ts
162
+ optional dockerConfig?: DockerSpecConfig;
163
+ ```
164
+
165
+ Defined in: [src/model/chain/builder.ts:97](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L97)
166
+
167
+ ***
168
+
169
+ ### dockerTestRunId?
170
+
171
+ ```ts
172
+ optional dockerTestRunId?: string;
173
+ ```
174
+
175
+ Defined in: [src/model/chain/builder.ts:104](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L104)
176
+
177
+ Unique id shared by every spec from this runner instance.
178
+ Stable for the runner's lifetime so multi-step tests (spawn in
179
+ one run, inspect in another) see the same container scope. The
180
+ facet factories auto-populate this when `dockerConfig` is present.
181
+
182
+ ***
183
+
184
+ ### envSets?
185
+
186
+ ```ts
187
+ optional envSets?: Record<string, CliEnv>;
188
+ ```
189
+
190
+ Defined in: [src/model/chain/builder.ts:115](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L115)
191
+
192
+ Named environment SETS a spec document may name by bare word
193
+ (`env: frozen`). Declared once per app in `specification.cli()`.
194
+
195
+ ***
196
+
197
+ ### external?
198
+
199
+ ```ts
200
+ optional external?: "allow" | "block";
201
+ ```
202
+
203
+ Defined in: [src/model/chain/builder.ts:78](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L78)
204
+
205
+ Cross-origin request policy for visits (website facet only): `'block'`
206
+ aborts requests leaving the site under test — the browser-side analog
207
+ of strict intercepts.
208
+
209
+ ***
210
+
211
+ ### jobs?
212
+
213
+ ```ts
214
+ optional jobs?: JobHandle[];
215
+ ```
216
+
217
+ Defined in: [src/model/chain/builder.ts:116](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L116)
218
+
219
+ ***
220
+
221
+ ### root?
222
+
223
+ ```ts
224
+ optional root?: string;
225
+ ```
226
+
227
+ Defined in: [src/model/chain/builder.ts:118](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L118)
228
+
229
+ The project root — the working directory a document's `serve:` command runs from.
230
+
231
+ ***
232
+
233
+ ### server?
234
+
235
+ ```ts
236
+ optional server?: ServerPort;
237
+ ```
238
+
239
+ Defined in: [src/model/chain/builder.ts:119](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L119)
240
+
241
+ ***
242
+
243
+ ### serveRegistry?
244
+
245
+ ```ts
246
+ optional serveRegistry?: Record<string, LiterateServeRegistration>;
247
+ ```
248
+
249
+ Defined in: [src/model/chain/builder.ts:124](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L124)
250
+
251
+ Named servers a spec document may start (`serve: [mcp]`). Declared once
252
+ per app in `specification.cli()`.
253
+
254
+ ***
255
+
256
+ ### services?
257
+
258
+ ```ts
259
+ optional services?: Record<string, ServiceHandle>;
260
+ ```
261
+
262
+ Defined in: [src/model/chain/builder.ts:131](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L131)
263
+
264
+ The declared services record. In cli mode, drives the automatic
265
+ connection-URL injection into the child env (CONVENTIONS B6):
266
+ `<KEY>_URL` per service, plus `DATABASE_URL` / `REDIS_URL` when
267
+ unambiguous.
268
+
269
+ ***
270
+
271
+ ### transform?
272
+
273
+ ```ts
274
+ optional transform?: (text) => string;
275
+ ```
276
+
277
+ Defined in: [src/model/chain/builder.ts:136](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L136)
278
+
279
+ Optional normaliser applied to command stdout/stderr before every
280
+ comparison. Does not mutate the raw `.text` accessor.
281
+
282
+ #### Parameters
283
+
284
+ | Parameter | Type |
285
+ | ------ | ------ |
286
+ | `text` | `string` |
287
+
288
+ #### Returns
289
+
290
+ `string`
@@ -0,0 +1,36 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: SqliteOptions
3
+
4
+ ```ts
5
+ type SqliteOptions = object;
6
+ ```
7
+
8
+ Defined in: [src/seams/sqlite/sqlite.ts:127](https://github.com/jterrazz/package-test/blob/main/src/seams/sqlite/sqlite.ts#L127)
9
+
10
+ ## Properties
11
+
12
+ ### init?
13
+
14
+ ```ts
15
+ optional init?: string;
16
+ ```
17
+
18
+ Defined in: [src/seams/sqlite/sqlite.ts:132](https://github.com/jterrazz/package-test/blob/main/src/seams/sqlite/sqlite.ts#L132)
19
+
20
+ Path to a SQL file used to initialize the database schema.
21
+ Mutually exclusive with `prismaSchema`.
22
+
23
+ ***
24
+
25
+ ### prismaSchema?
26
+
27
+ ```ts
28
+ optional prismaSchema?: string;
29
+ ```
30
+
31
+ Defined in: [src/seams/sqlite/sqlite.ts:139](https://github.com/jterrazz/package-test/blob/main/src/seams/sqlite/sqlite.ts#L139)
32
+
33
+ Path to a Prisma schema directory or file, resolved against the current
34
+ working directory. The adapter runs `prisma db push --schema <path>` to
35
+ create the template, so the schema needs no Prisma config at the cwd.
36
+ Mutually exclusive with `init`.
@@ -0,0 +1,58 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: SseEvent
3
+
4
+ ```ts
5
+ type SseEvent = object;
6
+ ```
7
+
8
+ Defined in: [src/model/contracts/http.ts:44](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L44)
9
+
10
+ One server-sent event, as `http.sse()` frames it.
11
+
12
+ ## Properties
13
+
14
+ ### data
15
+
16
+ ```ts
17
+ data: unknown;
18
+ ```
19
+
20
+ Defined in: [src/model/contracts/http.ts:46](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L46)
21
+
22
+ The `data:` payload. An object is serialised as JSON; a string is sent as-is.
23
+
24
+ ***
25
+
26
+ ### event?
27
+
28
+ ```ts
29
+ optional event?: string;
30
+ ```
31
+
32
+ Defined in: [src/model/contracts/http.ts:48](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L48)
33
+
34
+ The `event:` name. Omitted for an unnamed (default `message`) event.
35
+
36
+ ***
37
+
38
+ ### id?
39
+
40
+ ```ts
41
+ optional id?: string;
42
+ ```
43
+
44
+ Defined in: [src/model/contracts/http.ts:50](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L50)
45
+
46
+ The `id:` the client echoes as `Last-Event-ID` when it reconnects.
47
+
48
+ ***
49
+
50
+ ### retry?
51
+
52
+ ```ts
53
+ optional retry?: number;
54
+ ```
55
+
56
+ Defined in: [src/model/contracts/http.ts:52](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L52)
57
+
58
+ The `retry:` hint, in milliseconds.
@@ -0,0 +1,61 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: StreamBody
3
+
4
+ ```ts
5
+ type StreamBody = object;
6
+ ```
7
+
8
+ Defined in: [src/model/contracts/types.ts:84](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L84)
9
+
10
+ A body that arrives in pieces — what `http.stream()` and `http.sse()` build.
11
+
12
+ The chunks are written in order, `delayBetweenChunks` milliseconds apart,
13
+ and the connection closes after the last one. It is the chunks and their
14
+ ORDER that a streaming subject is specified against: a client that renders
15
+ tokens as they land, or one that reconnects on a half-read body.
16
+
17
+ ## Properties
18
+
19
+ ### chunks
20
+
21
+ ```ts
22
+ chunks: readonly string[];
23
+ ```
24
+
25
+ Defined in: [src/model/contracts/types.ts:86](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L86)
26
+
27
+ The pieces, written in order.
28
+
29
+ ***
30
+
31
+ ### contentType
32
+
33
+ ```ts
34
+ contentType: string;
35
+ ```
36
+
37
+ Defined in: [src/model/contracts/types.ts:88](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L88)
38
+
39
+ The `content-type` the stream is served under.
40
+
41
+ ***
42
+
43
+ ### delayBetweenChunks
44
+
45
+ ```ts
46
+ delayBetweenChunks: number;
47
+ ```
48
+
49
+ Defined in: [src/model/contracts/types.ts:90](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L90)
50
+
51
+ Milliseconds between two chunks. Default 0 — everything at once.
52
+
53
+ ***
54
+
55
+ ### kind
56
+
57
+ ```ts
58
+ kind: typeof STREAM_BODY;
59
+ ```
60
+
61
+ Defined in: [src/model/contracts/types.ts:91](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L91)
@@ -0,0 +1,22 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: TextFilter
3
+
4
+ ```ts
5
+ type TextFilter = Matcher | RegExp | string;
6
+ ```
7
+
8
+ Defined in: [src/model/contracts/filters.ts:20](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/filters.ts#L20)
9
+
10
+ A text filter on a provider request builder (`openai.chat({ user })`,
11
+ `anthropic.messages({ system })`, …).
12
+
13
+ A **string is EXACT**. That is deliberate: a substring filter silently
14
+ cross-matches — two prompts sharing a preamble both satisfy the first
15
+ contract, and the spec goes green on the wrong reply. Looser matching is
16
+ explicit, and says which looseness it means:
17
+
18
+ - a `RegExp` — pattern matching;
19
+ - `match.includes('…')` — containment, the code-only matcher (it never joins
20
+ the `{{token}}` file vocabulary, CONVENTIONS D4);
21
+ - any other `match.*` matcher, evaluated by the same structural engine the
22
+ assertions use.
@@ -0,0 +1,20 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: VisitScenario
3
+
4
+ ```ts
5
+ type VisitScenario = (visitor) => Promise<void>;
6
+ ```
7
+
8
+ Defined in: [src/model/ports/browser.port.ts:170](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L170)
9
+
10
+ The behavior of a visit — the When of the spec; assertions stay in the Then.
11
+
12
+ ## Parameters
13
+
14
+ | Parameter | Type |
15
+ | ------ | ------ |
16
+ | `visitor` | [`Visitor`](Visitor.md) |
17
+
18
+ ## Returns
19
+
20
+ `Promise`\<`void`\>
@@ -0,0 +1,215 @@
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`\>