@jterrazz/test 16.1.0 → 17.0.0

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