@jterrazz/test 15.3.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 (222) hide show
  1. package/README.md +120 -427
  2. package/dist/appium.adapter.js +71 -15
  3. package/dist/artifacts.js +25 -1735
  4. package/dist/browser/index.js +304 -233
  5. package/dist/checker.d.ts +1 -1
  6. package/dist/checker.js +1103 -97
  7. package/dist/fixtures.js +110 -0
  8. package/dist/index.d.ts +956 -971
  9. package/dist/index.js +2159 -2281
  10. package/dist/literate.js +1747 -0
  11. package/dist/match.js +625 -84
  12. package/dist/oxlint.cjs +3585 -1480
  13. package/dist/oxlint.d.cts +60 -48
  14. package/dist/oxlint.d.ts +60 -48
  15. package/dist/oxlint.js +3585 -1480
  16. package/dist/playwright.adapter.js +51 -8
  17. package/dist/{intercept.js → server.js} +2 -2
  18. package/dist/stream.js +6 -6
  19. package/dist/{ambiguity.js → substring-warning.js} +106 -7
  20. package/dist/vitest.d.ts +67 -48
  21. package/dist/vitest.js +229 -93
  22. package/docs/01-architecture.md +95 -0
  23. package/docs/02-developing.md +351 -0
  24. package/docs/03-testing.md +495 -0
  25. package/docs/04-operating.md +101 -0
  26. package/docs/05-module-tests.md +152 -0
  27. package/docs/06-integration.md +180 -0
  28. package/docs/07-component.md +246 -0
  29. package/docs/08-website.md +404 -0
  30. package/docs/09-mobile.md +270 -0
  31. package/docs/10-api.md +264 -0
  32. package/docs/11-jobs.md +157 -0
  33. package/docs/12-cli.md +677 -0
  34. package/docs/13-elements.md +242 -0
  35. package/docs/14-assertions.md +314 -0
  36. package/docs/15-tokens.md +253 -0
  37. package/docs/16-contracts.md +438 -0
  38. package/docs/17-services.md +188 -0
  39. package/docs/18-conventions.md +305 -0
  40. package/docs/19-linting.md +510 -0
  41. package/docs/README.md +36 -0
  42. package/docs/decisions/001-v9-conventions-on-three-channels.md +50 -0
  43. package/docs/decisions/002-the-statique-channel-holds-only-what-upstream-does-not.md +49 -0
  44. package/docs/decisions/003-a-rendered-component-is-a-facet-on-vitest-browser-mode.md +84 -0
  45. package/docs/decisions/004-a-module-against-real-services-or-a-golden-is-the-integration-facet.md +81 -0
  46. package/docs/decisions/005-the-doubles-ladder-is-closed.md +86 -0
  47. package/docs/decisions/006-the-catalogue-reaches-a-file-by-its-role.md +245 -0
  48. package/docs/decisions/007-compose-mode-leaves-the-package.md +53 -0
  49. package/docs/decisions/008-vitest-5-node-24-and-the-native-seams-as-optional-peers.md +75 -0
  50. package/docs/decisions/_template.md +22 -0
  51. package/docs/reference/classes/Matcher.md +120 -0
  52. package/docs/reference/classes/ProcessHandle.md +368 -0
  53. package/docs/reference/functions/defineContract.md +39 -0
  54. package/docs/reference/functions/defineContracts.md +36 -0
  55. package/docs/reference/functions/disabled.md +28 -0
  56. package/docs/reference/functions/enabled.md +20 -0
  57. package/docs/reference/functions/focused.md +26 -0
  58. package/docs/reference/functions/mockOf.md +79 -0
  59. package/docs/reference/functions/postgres.md +31 -0
  60. package/docs/reference/functions/process.md +33 -0
  61. package/docs/reference/functions/redis.md +28 -0
  62. package/docs/reference/functions/required.md +41 -0
  63. package/docs/reference/functions/selected.md +26 -0
  64. package/docs/reference/functions/sqlite.md +33 -0
  65. package/docs/reference/functions/testId.md +20 -0
  66. package/docs/reference/functions/text.md +40 -0
  67. package/docs/reference/functions/valued.md +28 -0
  68. package/docs/reference/functions/waitUntil.md +46 -0
  69. package/docs/reference/functions/within.md +29 -0
  70. package/docs/reference/index.md +196 -0
  71. package/docs/reference/interfaces/BaseResult.md +87 -0
  72. package/docs/reference/interfaces/CallResult.md +160 -0
  73. package/docs/reference/interfaces/CaptureScope.md +82 -0
  74. package/docs/reference/interfaces/CliResult.md +253 -0
  75. package/docs/reference/interfaces/ContainerAccessor.md +166 -0
  76. package/docs/reference/interfaces/DirectoryAccessor.md +33 -0
  77. package/docs/reference/interfaces/FetchResult.md +180 -0
  78. package/docs/reference/interfaces/FilesystemAccessor.md +46 -0
  79. package/docs/reference/interfaces/HttpResult.md +126 -0
  80. package/docs/reference/interfaces/JsonAccessor.md +46 -0
  81. package/docs/reference/interfaces/PageResult.md +356 -0
  82. package/docs/reference/interfaces/RenderResult.md +72 -0
  83. package/docs/reference/interfaces/RenderedText.md +110 -0
  84. package/docs/reference/interfaces/ResponseAccessor.md +47 -0
  85. package/docs/reference/interfaces/ScreenResult.md +128 -0
  86. package/docs/reference/interfaces/TableAccessor.md +26 -0
  87. package/docs/reference/interfaces/TextAccessor.md +96 -0
  88. package/docs/reference/type-aliases/ApiHandle.md +68 -0
  89. package/docs/reference/type-aliases/ApiSpecification.md +213 -0
  90. package/docs/reference/type-aliases/ApiSpecificationOptions.md +68 -0
  91. package/docs/reference/type-aliases/BrowserConsoleMessage.md +30 -0
  92. package/docs/reference/type-aliases/BrowserLinkElement.md +50 -0
  93. package/docs/reference/type-aliases/BrowserMetaElement.md +40 -0
  94. package/docs/reference/type-aliases/BrowserOpenOptions.md +87 -0
  95. package/docs/reference/type-aliases/BrowserPage.md +132 -0
  96. package/docs/reference/type-aliases/BrowserPort.md +51 -0
  97. package/docs/reference/type-aliases/CliEnv.md +11 -0
  98. package/docs/reference/type-aliases/CliHandle.md +80 -0
  99. package/docs/reference/type-aliases/CliInput.md +36 -0
  100. package/docs/reference/type-aliases/CliOutput.md +46 -0
  101. package/docs/reference/type-aliases/CliPort.md +58 -0
  102. package/docs/reference/type-aliases/CliSpecification.md +144 -0
  103. package/docs/reference/type-aliases/CliSpecificationOptions.md +134 -0
  104. package/docs/reference/type-aliases/ComponentChain.md +156 -0
  105. package/docs/reference/type-aliases/ComponentScenario.md +20 -0
  106. package/docs/reference/type-aliases/ComponentUi.md +47 -0
  107. package/docs/reference/type-aliases/ComponentVisitor.md +10 -0
  108. package/docs/reference/type-aliases/ContainerPort.md +113 -0
  109. package/docs/reference/type-aliases/Contract.md +68 -0
  110. package/docs/reference/type-aliases/ContractInput.md +13 -0
  111. package/docs/reference/type-aliases/ContractRequest.md +95 -0
  112. package/docs/reference/type-aliases/ContractResponder.md +23 -0
  113. package/docs/reference/type-aliases/ContractResponse.md +78 -0
  114. package/docs/reference/type-aliases/ContractResponseValue.md +13 -0
  115. package/docs/reference/type-aliases/Contracts.md +48 -0
  116. package/docs/reference/type-aliases/DatabaseKeys.md +16 -0
  117. package/docs/reference/type-aliases/DatabasePort.md +72 -0
  118. package/docs/reference/type-aliases/DeviceOpenOptions.md +46 -0
  119. package/docs/reference/type-aliases/DevicePort.md +51 -0
  120. package/docs/reference/type-aliases/DeviceScreen.md +32 -0
  121. package/docs/reference/type-aliases/DeviceTimeouts.md +39 -0
  122. package/docs/reference/type-aliases/DockerSpecConfig.md +43 -0
  123. package/docs/reference/type-aliases/DomMount.md +21 -0
  124. package/docs/reference/type-aliases/ElementKind.md +27 -0
  125. package/docs/reference/type-aliases/ElementMatch.md +74 -0
  126. package/docs/reference/type-aliases/ElementOptions.md +29 -0
  127. package/docs/reference/type-aliases/ElementRef.md +128 -0
  128. package/docs/reference/type-aliases/ExecOptions.md +37 -0
  129. package/docs/reference/type-aliases/FileAccessor.md +54 -0
  130. package/docs/reference/type-aliases/HonoApp.md +31 -0
  131. package/docs/reference/type-aliases/HttpContractFilter.md +49 -0
  132. package/docs/reference/type-aliases/HttpResponseInit.md +46 -0
  133. package/docs/reference/type-aliases/HttpStreamInit.md +58 -0
  134. package/docs/reference/type-aliases/IntegrationHandle.md +46 -0
  135. package/docs/reference/type-aliases/IntegrationSpecification.md +111 -0
  136. package/docs/reference/type-aliases/IntegrationSpecificationOptions.md +42 -0
  137. package/docs/reference/type-aliases/Intercept.md +19 -0
  138. package/docs/reference/type-aliases/InterceptOptions.md +28 -0
  139. package/docs/reference/type-aliases/InterceptScope.md +11 -0
  140. package/docs/reference/type-aliases/IsolationStrategy.md +75 -0
  141. package/docs/reference/type-aliases/JobHandle.md +34 -0
  142. package/docs/reference/type-aliases/JobsHandle.md +57 -0
  143. package/docs/reference/type-aliases/JobsResult.md +16 -0
  144. package/docs/reference/type-aliases/JobsSpecification.md +94 -0
  145. package/docs/reference/type-aliases/JobsSpecificationOptions.md +56 -0
  146. package/docs/reference/type-aliases/LandmarkKind.md +20 -0
  147. package/docs/reference/type-aliases/LiterateRunFlags.md +27 -0
  148. package/docs/reference/type-aliases/LiterateServeRegistration.md +70 -0
  149. package/docs/reference/type-aliases/MatchFixtureOptions.md +27 -0
  150. package/docs/reference/type-aliases/MatchableRequest.md +61 -0
  151. package/docs/reference/type-aliases/MatcherKind.md +34 -0
  152. package/docs/reference/type-aliases/MobileBackendOptions.md +28 -0
  153. package/docs/reference/type-aliases/MobileElementKind.md +14 -0
  154. package/docs/reference/type-aliases/MobileElementMatch.md +60 -0
  155. package/docs/reference/type-aliases/MobileElementRef.md +20 -0
  156. package/docs/reference/type-aliases/MobileHandle.md +65 -0
  157. package/docs/reference/type-aliases/MobileScenario.md +20 -0
  158. package/docs/reference/type-aliases/MobileSpecification.md +51 -0
  159. package/docs/reference/type-aliases/MobileSpecificationOptions.md +126 -0
  160. package/docs/reference/type-aliases/MobileVisitor.md +81 -0
  161. package/docs/reference/type-aliases/MockOfOptions.md +26 -0
  162. package/docs/reference/type-aliases/MockPort.md +10 -0
  163. package/docs/reference/type-aliases/PinnedClock.md +10 -0
  164. package/docs/reference/type-aliases/PostgresOptions.md +32 -0
  165. package/docs/reference/type-aliases/ProcessOptions.md +112 -0
  166. package/docs/reference/type-aliases/RedisOptions.md +20 -0
  167. package/docs/reference/type-aliases/RenderSubject.md +12 -0
  168. package/docs/reference/type-aliases/ScreenNode.md +67 -0
  169. package/docs/reference/type-aliases/ServerPort.md +36 -0
  170. package/docs/reference/type-aliases/ServerResponse.md +46 -0
  171. package/docs/reference/type-aliases/ServerSpec.md +21 -0
  172. package/docs/reference/type-aliases/ServiceHandle.md +216 -0
  173. package/docs/reference/type-aliases/ServiceRecord.md +12 -0
  174. package/docs/reference/type-aliases/SpecDocument.md +84 -0
  175. package/docs/reference/type-aliases/SpecEnvToken.md +21 -0
  176. package/docs/reference/type-aliases/SpecFileAssertion.md +27 -0
  177. package/docs/reference/type-aliases/SpecFixture.md +30 -0
  178. package/docs/reference/type-aliases/SpecKind.md +8 -0
  179. package/docs/reference/type-aliases/SpecRun.md +108 -0
  180. package/docs/reference/type-aliases/SpecServeEntry.md +40 -0
  181. package/docs/reference/type-aliases/SpecStream.md +32 -0
  182. package/docs/reference/type-aliases/SpecificationConfig.md +290 -0
  183. package/docs/reference/type-aliases/SqliteOptions.md +36 -0
  184. package/docs/reference/type-aliases/SseEvent.md +58 -0
  185. package/docs/reference/type-aliases/StreamBody.md +61 -0
  186. package/docs/reference/type-aliases/TextFilter.md +22 -0
  187. package/docs/reference/type-aliases/VisitScenario.md +20 -0
  188. package/docs/reference/type-aliases/Visitor.md +215 -0
  189. package/docs/reference/type-aliases/WaitUntilOptions.md +46 -0
  190. package/docs/reference/type-aliases/WebsiteBackendOptions.md +37 -0
  191. package/docs/reference/type-aliases/WebsiteHandle.md +51 -0
  192. package/docs/reference/type-aliases/WebsiteSpecification.md +118 -0
  193. package/docs/reference/type-aliases/WebsiteSpecificationOptions.md +40 -0
  194. package/docs/reference/variables/anthropic.md +19 -0
  195. package/docs/reference/variables/banner.md +10 -0
  196. package/docs/reference/variables/button.md +10 -0
  197. package/docs/reference/variables/clock.md +16 -0
  198. package/docs/reference/variables/complementary.md +10 -0
  199. package/docs/reference/variables/component.md +10 -0
  200. package/docs/reference/variables/content.md +10 -0
  201. package/docs/reference/variables/contentinfo.md +10 -0
  202. package/docs/reference/variables/dialog.md +10 -0
  203. package/docs/reference/variables/field.md +10 -0
  204. package/docs/reference/variables/form.md +10 -0
  205. package/docs/reference/variables/heading.md +10 -0
  206. package/docs/reference/variables/http.md +40 -0
  207. package/docs/reference/variables/intercept.md +11 -0
  208. package/docs/reference/variables/link.md +10 -0
  209. package/docs/reference/variables/listitem.md +10 -0
  210. package/docs/reference/variables/main.md +10 -0
  211. package/docs/reference/variables/match.md +8 -0
  212. package/docs/reference/variables/navigation.md +10 -0
  213. package/docs/reference/variables/openai.md +21 -0
  214. package/docs/reference/variables/option.md +17 -0
  215. package/docs/reference/variables/region.md +10 -0
  216. package/docs/reference/variables/row.md +10 -0
  217. package/docs/reference/variables/search.md +10 -0
  218. package/docs/reference/variables/specification.md +8 -0
  219. package/docs/reference/variables/status.md +10 -0
  220. package/docs/reference/variables/table.md +10 -0
  221. package/package.json +32 -11
  222. package/dist/spec-document.js +0 -651
@@ -0,0 +1,216 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: ServiceHandle
3
+
4
+ ```ts
5
+ type ServiceHandle = object;
6
+ ```
7
+
8
+ Defined in: [src/model/ports/service.port.ts:8](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L8)
9
+
10
+ A service handle — returned by factory functions like postgres(), redis().
11
+ Mutable: connectionString is populated after the orchestrator starts containers.
12
+
13
+ ## Properties
14
+
15
+ ### buildConnectionString
16
+
17
+ ```ts
18
+ buildConnectionString: (host, port) => string;
19
+ ```
20
+
21
+ Defined in: [src/model/ports/service.port.ts:37](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L37)
22
+
23
+ Build the connection string from host and port.
24
+
25
+ #### Parameters
26
+
27
+ | Parameter | Type |
28
+ | ------ | ------ |
29
+ | `host` | `string` |
30
+ | `port` | `number` |
31
+
32
+ #### Returns
33
+
34
+ `string`
35
+
36
+ ***
37
+
38
+ ### connectionString
39
+
40
+ ```ts
41
+ connectionString: string;
42
+ ```
43
+
44
+ Defined in: [src/model/ports/service.port.ts:31](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L31)
45
+
46
+ Connection string — populated after start.
47
+
48
+ ***
49
+
50
+ ### createDatabaseAdapter
51
+
52
+ ```ts
53
+ createDatabaseAdapter: () => DatabasePort | null;
54
+ ```
55
+
56
+ Defined in: [src/model/ports/service.port.ts:40](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L40)
57
+
58
+ Create a DatabasePort adapter (if this is a database). Returns null otherwise.
59
+
60
+ #### Returns
61
+
62
+ [`DatabasePort`](DatabasePort.md) \| `null`
63
+
64
+ ***
65
+
66
+ ### defaultImage
67
+
68
+ ```ts
69
+ readonly defaultImage: string;
70
+ ```
71
+
72
+ Defined in: [src/model/ports/service.port.ts:25](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L25)
73
+
74
+ Default Docker image for this service type.
75
+
76
+ ***
77
+
78
+ ### defaultPort
79
+
80
+ ```ts
81
+ readonly defaultPort: number;
82
+ ```
83
+
84
+ Defined in: [src/model/ports/service.port.ts:22](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L22)
85
+
86
+ Default container port for this service type.
87
+
88
+ ***
89
+
90
+ ### environment
91
+
92
+ ```ts
93
+ readonly environment: Record<string, string>;
94
+ ```
95
+
96
+ Defined in: [src/model/ports/service.port.ts:28](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L28)
97
+
98
+ Environment variables to pass to the container.
99
+
100
+ ***
101
+
102
+ ### healthcheck
103
+
104
+ ```ts
105
+ healthcheck: () => Promise<void>;
106
+ ```
107
+
108
+ Defined in: [src/model/ports/service.port.ts:43](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L43)
109
+
110
+ Verify the service is ready and accepting connections. Throws with context if not.
111
+
112
+ #### Returns
113
+
114
+ `Promise`\<`void`\>
115
+
116
+ ***
117
+
118
+ ### initialize
119
+
120
+ ```ts
121
+ initialize: (dockerDir, root) => Promise<void>;
122
+ ```
123
+
124
+ Defined in: [src/model/ports/service.port.ts:55](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L55)
125
+
126
+ Run initialization scripts (e.g., init.sql). Throws with SQL error
127
+ context if it fails.
128
+
129
+ `dockerDir` is `<root>/docker` — where a service reads its `init.sql`
130
+ from, under its own name. `root` is the project root the specification resolved
131
+ (A9), handed down so a service that CACHES something writes it under the
132
+ project's own `.artifacts/`, never in a machine-global directory two
133
+ checkouts would share.
134
+
135
+ #### Parameters
136
+
137
+ | Parameter | Type |
138
+ | ------ | ------ |
139
+ | `dockerDir` | `string` |
140
+ | `root` | `string` |
141
+
142
+ #### Returns
143
+
144
+ `Promise`\<`void`\>
145
+
146
+ ***
147
+
148
+ ### isolation
149
+
150
+ ```ts
151
+ isolation: () => IsolationStrategy;
152
+ ```
153
+
154
+ Defined in: [src/model/ports/service.port.ts:61](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L61)
155
+
156
+ Get the isolation strategy for parallel test execution.
157
+
158
+ #### Returns
159
+
160
+ [`IsolationStrategy`](IsolationStrategy.md)
161
+
162
+ ***
163
+
164
+ ### reset
165
+
166
+ ```ts
167
+ reset: () => Promise<void>;
168
+ ```
169
+
170
+ Defined in: [src/model/ports/service.port.ts:58](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L58)
171
+
172
+ Reset state between tests (truncate tables, flush cache, etc.)
173
+
174
+ #### Returns
175
+
176
+ `Promise`\<`void`\>
177
+
178
+ ***
179
+
180
+ ### serviceName
181
+
182
+ ```ts
183
+ serviceName: null | string;
184
+ ```
185
+
186
+ Defined in: [src/model/ports/service.port.ts:19](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L19)
187
+
188
+ The name this handle is known by. Left `null` until the orchestrator
189
+ assigns it at start time: it is the kebab-case form of the RECORD KEY,
190
+ so `{ analyticsDb: postgres() }` reports as `analytics-db` and reads its
191
+ init script from `docker/analytics-db/`. The key is the only name a
192
+ specification writes; a handle carries no second one of its own.
193
+
194
+ ***
195
+
196
+ ### started
197
+
198
+ ```ts
199
+ started: boolean;
200
+ ```
201
+
202
+ Defined in: [src/model/ports/service.port.ts:34](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L34)
203
+
204
+ Whether this service has been started.
205
+
206
+ ***
207
+
208
+ ### type
209
+
210
+ ```ts
211
+ readonly type: string;
212
+ ```
213
+
214
+ Defined in: [src/model/ports/service.port.ts:10](https://github.com/jterrazz/package-test/blob/main/src/model/ports/service.port.ts#L10)
215
+
216
+ Service type identifier.
@@ -0,0 +1,12 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: ServiceRecord
3
+
4
+ ```ts
5
+ type ServiceRecord = Record<string, ServiceHandle>;
6
+ ```
7
+
8
+ Defined in: [src/model/chain/services.ts:16](https://github.com/jterrazz/package-test/blob/main/src/model/chain/services.ts#L16)
9
+
10
+ Infrastructure services declared as a named record. Keys become the typed
11
+ vocabulary of the whole spec: the server factory receives the same record,
12
+ and `.seed()` / `.table()` target databases by key.
@@ -0,0 +1,84 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: SpecDocument
3
+
4
+ ```ts
5
+ type SpecDocument = object;
6
+ ```
7
+
8
+ Defined in: [src/model/literate/spec-document.ts:134](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L134)
9
+
10
+ A parsed `<case>.spec.yaml`.
11
+
12
+ ## Properties
13
+
14
+ ### description
15
+
16
+ ```ts
17
+ description: string;
18
+ ```
19
+
20
+ Defined in: [src/model/literate/spec-document.ts:136](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L136)
21
+
22
+ The vitest test title.
23
+
24
+ ***
25
+
26
+ ### descriptionLine
27
+
28
+ ```ts
29
+ descriptionLine: number;
30
+ ```
31
+
32
+ Defined in: [src/model/literate/spec-document.ts:138](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L138)
33
+
34
+ 1-based line of the `description:` key.
35
+
36
+ ***
37
+
38
+ ### env
39
+
40
+ ```ts
41
+ env: SpecEnvToken[];
42
+ ```
43
+
44
+ Defined in: [src/model/literate/spec-document.ts:139](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L139)
45
+
46
+ ***
47
+
48
+ ### fixtures
49
+
50
+ ```ts
51
+ fixtures: SpecFixture[];
52
+ ```
53
+
54
+ Defined in: [src/model/literate/spec-document.ts:140](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L140)
55
+
56
+ ***
57
+
58
+ ### kind
59
+
60
+ ```ts
61
+ kind: SpecKind;
62
+ ```
63
+
64
+ Defined in: [src/model/literate/spec-document.ts:141](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L141)
65
+
66
+ ***
67
+
68
+ ### runs
69
+
70
+ ```ts
71
+ runs: SpecRun[];
72
+ ```
73
+
74
+ Defined in: [src/model/literate/spec-document.ts:142](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L142)
75
+
76
+ ***
77
+
78
+ ### serve
79
+
80
+ ```ts
81
+ serve: SpecServeEntry[];
82
+ ```
83
+
84
+ Defined in: [src/model/literate/spec-document.ts:143](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L143)
@@ -0,0 +1,21 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: SpecEnvToken
3
+
4
+ ```ts
5
+ type SpecEnvToken =
6
+ | {
7
+ key: string;
8
+ kind: "pair";
9
+ line: number;
10
+ value: string;
11
+ }
12
+ | {
13
+ kind: "set";
14
+ line: number;
15
+ name: string;
16
+ };
17
+ ```
18
+
19
+ Defined in: [src/model/literate/spec-document.ts:80](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L80)
20
+
21
+ One `env:` entry — a bare word naming a registered set, or a `KEY=value` pair.
@@ -0,0 +1,27 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: SpecFileAssertion
3
+
4
+ ```ts
5
+ type SpecFileAssertion =
6
+ | {
7
+ contains: SpecStream[];
8
+ equals: null | SpecStream;
9
+ kind: "content";
10
+ line: number;
11
+ path: string;
12
+ }
13
+ | {
14
+ kind: "absent";
15
+ line: number;
16
+ path: string;
17
+ }
18
+ | {
19
+ kind: "exists";
20
+ line: number;
21
+ path: string;
22
+ };
23
+ ```
24
+
25
+ Defined in: [src/model/literate/spec-document.ts:105](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L105)
26
+
27
+ One `files:` assertion, keyed by a workdir-relative path.
@@ -0,0 +1,30 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: SpecFixture
3
+
4
+ ```ts
5
+ type SpecFixture = object;
6
+ ```
7
+
8
+ Defined in: [src/model/literate/spec-document.ts:92](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L92)
9
+
10
+ One `fixture:` entry — a path with the line it was declared on.
11
+
12
+ ## Properties
13
+
14
+ ### line
15
+
16
+ ```ts
17
+ line: number;
18
+ ```
19
+
20
+ Defined in: [src/model/literate/spec-document.ts:93](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L93)
21
+
22
+ ***
23
+
24
+ ### path
25
+
26
+ ```ts
27
+ path: string;
28
+ ```
29
+
30
+ Defined in: [src/model/literate/spec-document.ts:94](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L94)
@@ -0,0 +1,8 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: SpecKind
3
+
4
+ ```ts
5
+ type SpecKind = typeof SPEC_KINDS[number];
6
+ ```
7
+
8
+ Defined in: [src/model/literate/spec-document.ts:77](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L77)
@@ -0,0 +1,108 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Type Alias: SpecRun
3
+
4
+ ```ts
5
+ type SpecRun = object;
6
+ ```
7
+
8
+ Defined in: [src/model/literate/spec-document.ts:117](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L117)
9
+
10
+ One run: a command, what it must exit with, and what it must have produced.
11
+
12
+ ## Properties
13
+
14
+ ### command
15
+
16
+ ```ts
17
+ command: string;
18
+ ```
19
+
20
+ Defined in: [src/model/literate/spec-document.ts:118](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L118)
21
+
22
+ ***
23
+
24
+ ### commandLine
25
+
26
+ ```ts
27
+ commandLine: number;
28
+ ```
29
+
30
+ Defined in: [src/model/literate/spec-document.ts:120](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L120)
31
+
32
+ 1-based line of the `command:` key — the frame a failure points at.
33
+
34
+ ***
35
+
36
+ ### exitCode
37
+
38
+ ```ts
39
+ exitCode: number;
40
+ ```
41
+
42
+ Defined in: [src/model/literate/spec-document.ts:121](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L121)
43
+
44
+ ***
45
+
46
+ ### files
47
+
48
+ ```ts
49
+ files: SpecFileAssertion[];
50
+ ```
51
+
52
+ Defined in: [src/model/literate/spec-document.ts:122](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L122)
53
+
54
+ ***
55
+
56
+ ### stderr
57
+
58
+ ```ts
59
+ stderr: null | SpecStream;
60
+ ```
61
+
62
+ Defined in: [src/model/literate/spec-document.ts:124](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L124)
63
+
64
+ `null` when the key is absent, which asserts an empty stream.
65
+
66
+ ***
67
+
68
+ ### stdin
69
+
70
+ ```ts
71
+ stdin: null | string;
72
+ ```
73
+
74
+ Defined in: [src/model/literate/spec-document.ts:126](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L126)
75
+
76
+ Written to the child then closed; `null` keeps the empty-pipe EOF.
77
+
78
+ ***
79
+
80
+ ### stdout
81
+
82
+ ```ts
83
+ stdout: null | SpecStream;
84
+ ```
85
+
86
+ Defined in: [src/model/literate/spec-document.ts:127](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L127)
87
+
88
+ ***
89
+
90
+ ### timeout
91
+
92
+ ```ts
93
+ timeout: null | number;
94
+ ```
95
+
96
+ Defined in: [src/model/literate/spec-document.ts:128](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L128)
97
+
98
+ ***
99
+
100
+ ### waitFor
101
+
102
+ ```ts
103
+ waitFor: null | string;
104
+ ```
105
+
106
+ Defined in: [src/model/literate/spec-document.ts:130](https://github.com/jterrazz/package-test/blob/main/src/model/literate/spec-document.ts#L130)
107
+
108
+ Only ever on the LAST run — a long-running command ends the session.
@@ -0,0 +1,40 @@
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)
@@ -0,0 +1,32 @@
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)