@gate-forge/pack-playwright 0.7.1 → 0.8.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 (202) hide show
  1. package/README.md +31 -0
  2. package/dist/constants.d.ts +13 -140
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +13 -148
  5. package/dist/constants.js.map +1 -1
  6. package/dist/cypress/plugin.d.ts +53 -0
  7. package/dist/cypress/plugin.d.ts.map +1 -0
  8. package/dist/cypress/plugin.js +369 -0
  9. package/dist/cypress/plugin.js.map +1 -0
  10. package/dist/cypress/spec-scan.d.ts +39 -0
  11. package/dist/cypress/spec-scan.d.ts.map +1 -0
  12. package/dist/cypress/spec-scan.js +301 -0
  13. package/dist/cypress/spec-scan.js.map +1 -0
  14. package/dist/diagnosis.d.ts +39 -0
  15. package/dist/diagnosis.d.ts.map +1 -0
  16. package/dist/diagnosis.js +63 -0
  17. package/dist/diagnosis.js.map +1 -0
  18. package/dist/discovery/adapter-projection.d.ts +13 -0
  19. package/dist/discovery/adapter-projection.d.ts.map +1 -0
  20. package/dist/discovery/adapter-projection.js +84 -0
  21. package/dist/discovery/adapter-projection.js.map +1 -0
  22. package/dist/discovery/config-locations.d.ts +5 -0
  23. package/dist/discovery/config-locations.d.ts.map +1 -0
  24. package/dist/discovery/config-locations.js +19 -0
  25. package/dist/discovery/config-locations.js.map +1 -0
  26. package/dist/discovery/cypress-runner-adapter.d.ts +112 -0
  27. package/dist/discovery/cypress-runner-adapter.d.ts.map +1 -0
  28. package/dist/discovery/cypress-runner-adapter.js +501 -0
  29. package/dist/discovery/cypress-runner-adapter.js.map +1 -0
  30. package/dist/discovery/discover.d.ts +53 -1
  31. package/dist/discovery/discover.d.ts.map +1 -1
  32. package/dist/discovery/discover.js +100 -3
  33. package/dist/discovery/discover.js.map +1 -1
  34. package/dist/discovery/git-ignore.d.ts +13 -0
  35. package/dist/discovery/git-ignore.d.ts.map +1 -0
  36. package/dist/discovery/git-ignore.js +62 -0
  37. package/dist/discovery/git-ignore.js.map +1 -0
  38. package/dist/discovery/index.d.ts +9 -0
  39. package/dist/discovery/index.d.ts.map +1 -1
  40. package/dist/discovery/index.js +9 -0
  41. package/dist/discovery/index.js.map +1 -1
  42. package/dist/discovery/playwright-runner-adapter.d.ts +108 -0
  43. package/dist/discovery/playwright-runner-adapter.d.ts.map +1 -0
  44. package/dist/discovery/playwright-runner-adapter.js +185 -0
  45. package/dist/discovery/playwright-runner-adapter.js.map +1 -0
  46. package/dist/discovery/prepare-barrier.d.ts +522 -0
  47. package/dist/discovery/prepare-barrier.d.ts.map +1 -0
  48. package/dist/discovery/prepare-barrier.js +739 -0
  49. package/dist/discovery/prepare-barrier.js.map +1 -0
  50. package/dist/discovery/pytest-adapter.d.ts.map +1 -1
  51. package/dist/discovery/pytest-adapter.js +6 -2
  52. package/dist/discovery/pytest-adapter.js.map +1 -1
  53. package/dist/discovery/pytest-runner-adapter.d.ts +124 -0
  54. package/dist/discovery/pytest-runner-adapter.d.ts.map +1 -0
  55. package/dist/discovery/pytest-runner-adapter.js +454 -0
  56. package/dist/discovery/pytest-runner-adapter.js.map +1 -0
  57. package/dist/discovery/reconcile.d.ts +80 -11
  58. package/dist/discovery/reconcile.d.ts.map +1 -1
  59. package/dist/discovery/reconcile.js +395 -78
  60. package/dist/discovery/reconcile.js.map +1 -1
  61. package/dist/discovery/runner-env.d.ts +88 -2
  62. package/dist/discovery/runner-env.d.ts.map +1 -1
  63. package/dist/discovery/runner-env.js +142 -4
  64. package/dist/discovery/runner-env.js.map +1 -1
  65. package/dist/discovery/static-discovery.d.ts +38 -3
  66. package/dist/discovery/static-discovery.d.ts.map +1 -1
  67. package/dist/discovery/static-discovery.js +454 -15
  68. package/dist/discovery/static-discovery.js.map +1 -1
  69. package/dist/discovery/supervised-run.d.ts +199 -10
  70. package/dist/discovery/supervised-run.d.ts.map +1 -1
  71. package/dist/discovery/supervised-run.js +350 -39
  72. package/dist/discovery/supervised-run.js.map +1 -1
  73. package/dist/discovery/trusted-config.d.ts +180 -6
  74. package/dist/discovery/trusted-config.d.ts.map +1 -1
  75. package/dist/discovery/trusted-config.js +279 -10
  76. package/dist/discovery/trusted-config.js.map +1 -1
  77. package/dist/discovery/vitest-runner-adapter.d.ts +172 -0
  78. package/dist/discovery/vitest-runner-adapter.d.ts.map +1 -0
  79. package/dist/discovery/vitest-runner-adapter.js +607 -0
  80. package/dist/discovery/vitest-runner-adapter.js.map +1 -0
  81. package/dist/fixture/consumer-runner.d.ts +4 -0
  82. package/dist/fixture/consumer-runner.d.ts.map +1 -0
  83. package/dist/fixture/consumer-runner.js +38 -0
  84. package/dist/fixture/consumer-runner.js.map +1 -0
  85. package/dist/fixture/evidence.d.ts +27 -0
  86. package/dist/fixture/evidence.d.ts.map +1 -1
  87. package/dist/fixture/evidence.js +12 -0
  88. package/dist/fixture/evidence.js.map +1 -1
  89. package/dist/fixture/fixture.d.ts +2 -1
  90. package/dist/fixture/fixture.d.ts.map +1 -1
  91. package/dist/fixture/fixture.js +1 -17
  92. package/dist/fixture/fixture.js.map +1 -1
  93. package/dist/fixture/witness-client.d.ts +6 -174
  94. package/dist/fixture/witness-client.d.ts.map +1 -1
  95. package/dist/fixture/witness-client.js +6 -267
  96. package/dist/fixture/witness-client.js.map +1 -1
  97. package/dist/index.d.ts +9 -6
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +5 -4
  100. package/dist/index.js.map +1 -1
  101. package/dist/json.d.ts +6 -12
  102. package/dist/json.d.ts.map +1 -1
  103. package/dist/json.js +6 -17
  104. package/dist/json.js.map +1 -1
  105. package/dist/reporter/project-graph-reporter.d.ts +92 -0
  106. package/dist/reporter/project-graph-reporter.d.ts.map +1 -0
  107. package/dist/reporter/project-graph-reporter.js +92 -0
  108. package/dist/reporter/project-graph-reporter.js.map +1 -0
  109. package/dist/reporter/reporter.cjs.map +1 -1
  110. package/dist/reporter/reporter.d.ts +93 -4
  111. package/dist/reporter/reporter.d.ts.map +1 -1
  112. package/dist/reporter/reporter.js +174 -18
  113. package/dist/reporter/reporter.js.map +1 -1
  114. package/dist/runner-claims.d.ts +13 -0
  115. package/dist/runner-claims.d.ts.map +1 -0
  116. package/dist/runner-claims.js +46 -0
  117. package/dist/runner-claims.js.map +1 -0
  118. package/dist/runner-resolution.d.ts +3 -0
  119. package/dist/runner-resolution.d.ts.map +1 -0
  120. package/dist/runner-resolution.js +14 -0
  121. package/dist/runner-resolution.js.map +1 -0
  122. package/dist/supervisor/client.d.ts +23 -1
  123. package/dist/supervisor/client.d.ts.map +1 -1
  124. package/dist/supervisor/client.js +49 -0
  125. package/dist/supervisor/client.js.map +1 -1
  126. package/dist/supervisor/drain.d.ts +65 -0
  127. package/dist/supervisor/drain.d.ts.map +1 -1
  128. package/dist/supervisor/drain.js +353 -9
  129. package/dist/supervisor/drain.js.map +1 -1
  130. package/dist/supervisor/index.d.ts +7 -3
  131. package/dist/supervisor/index.d.ts.map +1 -1
  132. package/dist/supervisor/index.js +7 -3
  133. package/dist/supervisor/index.js.map +1 -1
  134. package/dist/supervisor/spool.d.ts +65 -2
  135. package/dist/supervisor/spool.d.ts.map +1 -1
  136. package/dist/supervisor/spool.js +47 -0
  137. package/dist/supervisor/spool.js.map +1 -1
  138. package/dist/surface.d.ts +6 -207
  139. package/dist/surface.d.ts.map +1 -1
  140. package/dist/surface.js +6 -264
  141. package/dist/surface.js.map +1 -1
  142. package/dist/vitest/index.d.ts +23 -0
  143. package/dist/vitest/index.d.ts.map +1 -0
  144. package/dist/vitest/index.js +356 -0
  145. package/dist/vitest/index.js.map +1 -0
  146. package/dist/vitest/reporter.d.ts +83 -0
  147. package/dist/vitest/reporter.d.ts.map +1 -0
  148. package/dist/vitest/reporter.js +211 -0
  149. package/dist/vitest/reporter.js.map +1 -0
  150. package/dist/vitest/worker-slot.d.ts +36 -0
  151. package/dist/vitest/worker-slot.d.ts.map +1 -0
  152. package/dist/vitest/worker-slot.js +51 -0
  153. package/dist/vitest/worker-slot.js.map +1 -0
  154. package/dist/witness/adapter-registry.d.ts +6 -50
  155. package/dist/witness/adapter-registry.d.ts.map +1 -1
  156. package/dist/witness/adapter-registry.js +6 -257
  157. package/dist/witness/adapter-registry.js.map +1 -1
  158. package/dist/witness/behavior-request.d.ts +6 -76
  159. package/dist/witness/behavior-request.d.ts.map +1 -1
  160. package/dist/witness/behavior-request.js +6 -273
  161. package/dist/witness/behavior-request.js.map +1 -1
  162. package/dist/witness/behavior.d.ts +6 -48
  163. package/dist/witness/behavior.d.ts.map +1 -1
  164. package/dist/witness/behavior.js +6 -114
  165. package/dist/witness/behavior.js.map +1 -1
  166. package/dist/witness/bin.d.ts +6 -17
  167. package/dist/witness/bin.d.ts.map +1 -1
  168. package/dist/witness/bin.js +6 -168
  169. package/dist/witness/bin.js.map +1 -1
  170. package/dist/witness/browser.d.ts +14 -206
  171. package/dist/witness/browser.d.ts.map +1 -1
  172. package/dist/witness/browser.js +15 -654
  173. package/dist/witness/browser.js.map +1 -1
  174. package/dist/witness/classifications.d.ts +6 -38
  175. package/dist/witness/classifications.d.ts.map +1 -1
  176. package/dist/witness/classifications.js +6 -83
  177. package/dist/witness/classifications.js.map +1 -1
  178. package/dist/witness/env-attestation.d.ts +6 -94
  179. package/dist/witness/env-attestation.d.ts.map +1 -1
  180. package/dist/witness/env-attestation.js +6 -198
  181. package/dist/witness/env-attestation.js.map +1 -1
  182. package/dist/witness/fixture-provider.d.ts +6 -82
  183. package/dist/witness/fixture-provider.d.ts.map +1 -1
  184. package/dist/witness/fixture-provider.js +6 -105
  185. package/dist/witness/fixture-provider.js.map +1 -1
  186. package/dist/witness/loopback-pins.d.ts +6 -75
  187. package/dist/witness/loopback-pins.d.ts.map +1 -1
  188. package/dist/witness/loopback-pins.js +6 -240
  189. package/dist/witness/loopback-pins.js.map +1 -1
  190. package/dist/witness/server.d.ts +8 -26
  191. package/dist/witness/server.d.ts.map +1 -1
  192. package/dist/witness/server.js +24 -3761
  193. package/dist/witness/server.js.map +1 -1
  194. package/dist/witness/types.d.ts +6 -882
  195. package/dist/witness/types.d.ts.map +1 -1
  196. package/dist/witness/types.js +9 -1
  197. package/dist/witness/types.js.map +1 -1
  198. package/examples/overlay-proof.spec.js +75 -0
  199. package/package.json +8 -2
  200. package/python/__pycache__/gateforge_persistence_intents.cpython-312.pyc +0 -0
  201. package/python/__pycache__/gateforge_persistence_intents.cpython-314.pyc +0 -0
  202. package/python/gateforge_pytest_plugin.py +462 -0
package/dist/surface.js CHANGED
@@ -1,268 +1,10 @@
1
1
  /**
2
- * The consumer-declared surface descriptor (plan Phase 1 item 7): the
3
- * APPLICATION-SPECIFIC half of evidence — how the rendered UI is
4
- * observed and driven (list page, rows and field cells, form templates,
5
- * archive control, status values). The pack ships selectors for NO
6
- * application; the consumer declares its own.
2
+ * Compatibility re-export: `surface` now lives in the runner-neutral
3
+ * `@gate-forge/witness` package (plan 2026-09-25 phase 1).
7
4
  *
8
- * OWNERSHIP: the descriptor's selectors are LOCATORS, never proof. The
9
- * engine-owned browser (witness `browser.ts`) drives the rendered app
10
- * with them and verifies navigation, the application request, the
11
- * visible outcome, and persistence itself — a lying descriptor fails
12
- * closed (elements never match) instead of manufacturing proof.
5
+ * The move is physical, not behavioural: this module forwards every
6
+ * export unchanged so `@gate-forge/pack-playwright`'s published import
7
+ * paths — which consumers pin — keep resolving to the same values.
13
8
  */
14
- /**
15
- * The current surface-descriptor version. Version 3 adds constrained
16
- * locator-based list fields; earlier cell-index descriptors stay valid.
17
- */
18
- export const SURFACE_DESCRIPTOR_VERSION = 3;
19
- /** Legacy surface-descriptor version (single-form create only). */
20
- export const SURFACE_DESCRIPTOR_VERSION_1 = 1;
21
- /** Surface-descriptor version with optional wizard create steps. */
22
- export const SURFACE_DESCRIPTOR_VERSION_2 = 2;
23
- /**
24
- * Substitutes `{id}` in a consumer-declared selector/path template with
25
- * the entity id. Fail closed on ids that could break selector context
26
- * (quotes/control characters) — a malformed id must error here, not
27
- * silently match a different element.
28
- */
29
- export function renderSurfaceTemplate(template, entityId) {
30
- if (/['"\r\n\\]/.test(entityId)) {
31
- throw new Error(`surface template '${template}' cannot be rendered for entity id ${JSON.stringify(entityId)}: ` +
32
- 'ids carrying quotes or control characters are rejected fail-closed');
33
- }
34
- return template.replaceAll('{id}', entityId);
35
- }
36
- /**
37
- * Structural validation of the consumer-declared surface descriptor
38
- * (fail closed with the EXACT missing piece — a misdeclared surface must
39
- * never surface later as a confusing selector timeout).
40
- *
41
- * Args:
42
- * surface: the candidate descriptor.
43
- *
44
- * Returns:
45
- * SurfaceDescriptor: the same descriptor, validated.
46
- *
47
- * Throws:
48
- * Error: naming the first structural problem found.
49
- */
50
- export function validateSurface(surface) {
51
- if (typeof surface !== 'object' || surface === null || Array.isArray(surface)) {
52
- throw new Error('surface must be a SurfaceDescriptor object declared by the consumer');
53
- }
54
- if (surface.schemaVersion !== SURFACE_DESCRIPTOR_VERSION_1 &&
55
- surface.schemaVersion !== SURFACE_DESCRIPTOR_VERSION_2 &&
56
- surface.schemaVersion !== SURFACE_DESCRIPTOR_VERSION) {
57
- throw new Error(`surface.schemaVersion ${String(surface.schemaVersion)} is not supported: this pack speaks ` +
58
- `surface-descriptor versions ${String(SURFACE_DESCRIPTOR_VERSION_1)} (legacy single-form ` +
59
- `create), ${String(SURFACE_DESCRIPTOR_VERSION_2)} (wizard steps), and ` +
60
- `${String(SURFACE_DESCRIPTOR_VERSION)} (relative list locators) — redeclare ` +
61
- 'the surface against a current version');
62
- }
63
- for (const section of ['list', 'create', 'edit', 'archive', 'status', 'afterAction']) {
64
- if (typeof surface[section] !== 'object' || surface[section] === null) {
65
- throw new Error(`surface.${section} is required by the surface descriptor`);
66
- }
67
- }
68
- for (const key of ['path', 'readySelector', 'rowSelector']) {
69
- if (typeof surface.list[key] !== 'string' || surface.list[key].length === 0) {
70
- throw new Error(`surface.list.${key} must be a non-empty string`);
71
- }
72
- }
73
- if (surface.schemaVersion === SURFACE_DESCRIPTOR_VERSION) {
74
- const hasRelativeLocators = 'idLocator' in surface.list || 'fieldLocators' in surface.list;
75
- if (hasRelativeLocators) {
76
- const locatorList = surface.list;
77
- if (typeof locatorList.idLocator !== 'string' || locatorList.idLocator.length === 0) {
78
- throw new Error('surface.list.idLocator must be a non-empty locator relative to the row');
79
- }
80
- requireSelectorMap('list.fieldLocators', locatorList.fieldLocators);
81
- if ('idCellIndex' in surface.list || 'fieldCellIndexes' in surface.list) {
82
- throw new Error('surface v3 list must not mix relative locators and cell indexes');
83
- }
84
- }
85
- else {
86
- // A v3 descriptor may keep an existing table-index map unchanged.
87
- const cellList = surface.list;
88
- if (!Number.isInteger(cellList.idCellIndex) || cellList.idCellIndex < 0) {
89
- throw new Error('surface.list.idLocator or a non-negative idCellIndex is required');
90
- }
91
- requireIndexMap('list.fieldCellIndexes', cellList.fieldCellIndexes);
92
- }
93
- }
94
- else {
95
- const cellList = surface.list;
96
- if (!Number.isInteger(cellList.idCellIndex) || cellList.idCellIndex < 0) {
97
- throw new Error('surface.list.idCellIndex must be a non-negative integer');
98
- }
99
- requireIndexMap('list.fieldCellIndexes', cellList.fieldCellIndexes);
100
- if ('idLocator' in surface.list || 'fieldLocators' in surface.list) {
101
- throw new Error('surface v1/v2 list must use cell indexes, not v3 relative locators');
102
- }
103
- }
104
- validateCreateFlow(surface.schemaVersion, surface.create);
105
- for (const key of ['linkSelector', 'formReadySelectorTemplate', 'saveSelectorTemplate']) {
106
- if (typeof surface.edit[key] !== 'string' || surface.edit[key].length === 0) {
107
- throw new Error(`surface.edit.${key} must be a non-empty string`);
108
- }
109
- }
110
- requireSelectorMap('edit.fields', surface.edit.fields);
111
- if (typeof surface.archive.controlSelectorTemplate !== 'string' ||
112
- surface.archive.controlSelectorTemplate.length === 0) {
113
- throw new Error('surface.archive.controlSelectorTemplate must be a non-empty string');
114
- }
115
- if (typeof surface.status.field !== 'string' || surface.status.field.length === 0) {
116
- throw new Error('surface.status.field must be a non-empty field name');
117
- }
118
- if (typeof surface.afterAction.path !== 'string' || surface.afterAction.path.length === 0) {
119
- throw new Error('surface.afterAction.path must be a non-empty path string');
120
- }
121
- requireSelectorMap('deleteFields', surface.deleteFields);
122
- return surface;
123
- }
124
- /**
125
- * Requires a field name → selector record (module-level: shared by the
126
- * descriptor validator and the create-flow validator).
127
- */
128
- function requireSelectorMap(where, map) {
129
- if (typeof map !== 'object' || map === null || Array.isArray(map)) {
130
- throw new Error(`surface.${where} must be a record of field name → selector`);
131
- }
132
- for (const [field, selector] of Object.entries(map)) {
133
- if (typeof selector !== 'string' || selector.length === 0) {
134
- throw new Error(`surface.${where}.${field} must be a non-empty selector string`);
135
- }
136
- }
137
- }
138
- /**
139
- * Requires a field name → cell index record (module-level: shared by
140
- * the descriptor validator and the create-flow validator).
141
- */
142
- function requireIndexMap(where, map) {
143
- if (typeof map !== 'object' || map === null || Array.isArray(map)) {
144
- throw new Error(`surface.${where} must be a record of field name → cell index`);
145
- }
146
- for (const [field, index] of Object.entries(map)) {
147
- if (!Number.isInteger(index) || index < 0) {
148
- throw new Error(`surface.${where}.${field} must be a non-negative integer cell index`);
149
- }
150
- }
151
- }
152
- /**
153
- * Validates the create flow: legacy single-form trio, or a wizard step
154
- * walk in versions 2 and 3. Mixed shapes fail closed.
155
- */
156
- function validateCreateFlow(schemaVersion, create) {
157
- if (typeof create !== 'object' || create === null || Array.isArray(create)) {
158
- throw new Error('surface.create must be an object (legacy form or v2 steps)');
159
- }
160
- const record = create;
161
- if ('steps' in record) {
162
- if (schemaVersion !== SURFACE_DESCRIPTOR_VERSION_2 && schemaVersion !== SURFACE_DESCRIPTOR_VERSION) {
163
- throw new Error('surface.create.steps requires surface-descriptor version ' +
164
- `${String(SURFACE_DESCRIPTOR_VERSION_2)} or ${String(SURFACE_DESCRIPTOR_VERSION)} ` +
165
- `(declared ${String(schemaVersion)})`);
166
- }
167
- for (const legacy of ['formPath', 'formReadySelector', 'submitSelector']) {
168
- if (record[legacy] !== undefined) {
169
- throw new Error(`surface.create mixes wizard steps with legacy '${legacy}' — declare steps or the ` +
170
- 'single form, never both');
171
- }
172
- }
173
- requireSelectorMap('create.fields', create.fields);
174
- validateSteps(create.steps, create.fields);
175
- return;
176
- }
177
- for (const key of ['formPath', 'formReadySelector', 'submitSelector']) {
178
- if (typeof create[key] !== 'string' || create[key].length === 0) {
179
- throw new Error(`surface.create.${key} must be a non-empty string`);
180
- }
181
- }
182
- requireSelectorMap('create.fields', create.fields);
183
- }
184
- /**
185
- * Validates one wizard step walk: non-empty, closed operation set,
186
- * non-empty selectors/paths, fills carrying exactly one of
187
- * field/value with the field in the declared vocabulary.
188
- */
189
- function validateSteps(steps, fields) {
190
- if (!Array.isArray(steps) || steps.length === 0) {
191
- throw new Error('surface.create.steps must be a non-empty array of wizard steps');
192
- }
193
- steps.forEach((step, index) => {
194
- const where = `surface.create.steps[${String(index)}]`;
195
- if (typeof step !== 'object' || step === null || Array.isArray(step)) {
196
- throw new Error(`${where} must be a single-operation step object`);
197
- }
198
- const keys = Object.keys(step);
199
- if (keys.length !== 1) {
200
- throw new Error(`${where} must carry exactly one operation (goto/click/fill/check/press/waitFor)`);
201
- }
202
- const operation = keys[0];
203
- const value = step[operation];
204
- switch (operation) {
205
- case 'goto':
206
- case 'click':
207
- case 'check':
208
- case 'waitFor':
209
- if (typeof value !== 'string' || value.length === 0) {
210
- throw new Error(`${where}.${operation} must be a non-empty string`);
211
- }
212
- if (operation === 'goto' && !value.startsWith('/')) {
213
- throw new Error(`${where}.goto must be an app-relative path starting with '/'`);
214
- }
215
- break;
216
- case 'press':
217
- if (value !== 'Escape' && value !== 'Enter') {
218
- throw new Error(`${where}.press must be 'Escape' or 'Enter'`);
219
- }
220
- break;
221
- case 'fill': {
222
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
223
- throw new Error(`${where}.fill must be {selector, field?/value?}`);
224
- }
225
- const fill = value;
226
- if (typeof fill['selector'] !== 'string' || fill['selector'].length === 0) {
227
- throw new Error(`${where}.fill.selector must be a non-empty string`);
228
- }
229
- const hasField = typeof fill['field'] === 'string' && fill['field'].length > 0;
230
- const hasValue = typeof fill['value'] === 'string';
231
- if (hasField === hasValue) {
232
- throw new Error(`${where}.fill needs exactly one of field/value (a test-input reference or a map literal)`);
233
- }
234
- if (hasField && !Object.prototype.hasOwnProperty.call(fields, fill['field'])) {
235
- throw new Error(`${where}.fill.field '${fill['field']}' is not in the declared create.fields ` +
236
- `vocabulary (${Object.keys(fields).sort().join(', ') || '<none>'})`);
237
- }
238
- break;
239
- }
240
- default:
241
- throw new Error(`${where} carries unknown operation '${String(operation)}' (allowed: goto/click/fill/check/press/waitFor)`);
242
- }
243
- });
244
- }
245
- /**
246
- * Fills descriptor input fields exactly: every declared key must be a
247
- * selector-known field with a string value (fail closed — the engine
248
- * never invents form fields the consumer did not declare).
249
- */
250
- export function declaredSurfaceFields(where, input, known) {
251
- const entries = Object.entries(input ?? {});
252
- if (entries.length === 0) {
253
- throw new Error(`${where} requires at least one input field the journey enters in the UI`);
254
- }
255
- const declared = {};
256
- for (const [field, value] of entries) {
257
- if (!(field in known)) {
258
- throw new Error(`${where} declares field '${field}' which the consumer's surface descriptor does not ` +
259
- `declare a selector for (declared fields: ${Object.keys(known).sort().join(', ')})`);
260
- }
261
- if (typeof value !== 'string') {
262
- throw new Error(`${where}.${field} must be a string (form inputs are text)`);
263
- }
264
- declared[field] = value;
265
- }
266
- return declared;
267
- }
9
+ export * from '@gate-forge/witness/surface';
268
10
  //# sourceMappingURL=surface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,23 @@
1
+ /** The minimal supertest surface the wrapper preserves. */
2
+ export type SupertestTest = Record<string, unknown>;
3
+ /** The supertest entry: a callable taking a URL string (host mode). */
4
+ export type SupertestLike = (url: string) => SupertestTest;
5
+ /**
6
+ * Wraps the suite's supertest entry with the gateforge session channel.
7
+ *
8
+ * Args:
9
+ * request: the suite's own supertest import (the callable). Only the
10
+ * URL-string host mode is supported: in-process supertest calls the
11
+ * app directly, which bypasses the witness proxy entirely.
12
+ *
13
+ * Returns:
14
+ * (target: string) => Promise<SupertestTest>: the tagged request
15
+ * factory. Pass it the app base URL (or an absolute URL) and AWAIT
16
+ * it: the session must be resolved from the supervisor before any
17
+ * request is addressed, so the suite reads
18
+ * `await (await gate(app)).post('/api/accounts').send(...)`. A
19
+ * non-string target (the app itself) throws immediately with the
20
+ * refusal, before any request is sent.
21
+ */
22
+ export declare function gateforgeSupertest(request: SupertestLike): (target: string) => Promise<SupertestTest>;
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vitest/index.ts"],"names":[],"mappings":"AAoDA,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD,uEAAuE;AACvE,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,aAAa,CAAC;AA8R3D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAqCrG"}