@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
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/witness/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/witness/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,qCAAqC,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,oBAAoB,IAAI,2BAA2B,GAEpD,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,OAAO,oBAAqB,SAAQ,2BAA2B;IACnE,YAAY,WAAkC,QAAQ;QACpD,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;CACF"}
@@ -1,42 +1,10 @@
1
- import { type Classification } from '@gate-forge/core';
2
- /** The reporter-visible projection of one resource's classification. */
3
- export interface ClassificationView {
4
- primaryKey: string[];
5
- exposure: string;
6
- plane: string;
7
- evidenceAdapter?: string;
8
- /**
9
- * Which evidence lane proves user-facing reachability (`'claims'` =
10
- * the http.endpoint lane; adapter-free). MUST ride along: without it a
11
- * claims-lane entry (user-facing, no adapter) re-validates downstream
12
- * as "user-facing resources require an 'evidenceAdapter'" and the
13
- * reporter grades the claim unclassified.
14
- */
15
- evidenceLane?: 'adapter' | 'claims';
16
- lifecycle: {
17
- create: boolean;
18
- read: boolean;
19
- update: boolean;
20
- delete: boolean;
21
- deleteSemantics?: 'hard' | 'archive';
22
- archiveFields?: Record<string, string | number | boolean>;
23
- updateableFields?: string[];
24
- };
25
- }
26
1
  /**
27
- * Loads the classifications document.
2
+ * Compatibility re-export: `witness/classifications` now lives in the runner-neutral
3
+ * `@gate-forge/witness` package (plan 2026-09-25 phase 1).
28
4
  *
29
- * Args:
30
- * path: absolute path to the classifications YAML (or null/'' = none).
31
- *
32
- * Returns:
33
- * Record<string, Classification>: validated per-resource map (empty
34
- * when no document is configured).
35
- *
36
- * Throws:
37
- * AdapterRegistryError: fail-closed load/validation problems.
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.
38
8
  */
39
- export declare function loadClassifications(path: string | null | undefined): Record<string, Classification>;
40
- /** Projects a classification for the reporter surface. */
41
- export declare function toClassificationView(entry: Classification): ClassificationView;
9
+ export * from '@gate-forge/witness/witness/classifications';
42
10
  //# sourceMappingURL=classifications.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"classifications.d.ts","sourceRoot":"","sources":["../../src/witness/classifications.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAG1B,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACpC,SAAS,EAAE;QACT,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,EAAE,OAAO,CAAC;QACd,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;QAC1D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;CACH;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAkCnG;AAED,0DAA0D;AAC1D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,kBAAkB,CAuB9E"}
1
+ {"version":3,"file":"classifications.d.ts","sourceRoot":"","sources":["../../src/witness/classifications.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,6CAA6C,CAAC"}
@@ -1,87 +1,10 @@
1
1
  /**
2
- * Classification loading for the witness (engine-side).
2
+ * Compatibility re-export: `witness/classifications` now lives in the runner-neutral
3
+ * `@gate-forge/witness` package (plan 2026-09-25 phase 1).
3
4
  *
4
- * The witness needs each resource's `primaryKey` (to bind/stamp
5
- * persistence records consistently with ADR 0001 D3) and the
6
- * `evidenceAdapter` alias (resourceId -> adapter file name). It loads
7
- * the SAME classifications document the run's pipeline uses —
8
- * `GATEFORGE_CLASSIFICATIONS` — validated fail-closed with the frozen
9
- * core schema. The map is exposed (primaryKey only) on
10
- * `GET /classifications` so the reporter can compute faithful per-claim
11
- * ledger verdicts via `evaluateObligation`.
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.
12
8
  */
13
- import { readFileSync } from 'node:fs';
14
- import { parse as parseYaml } from 'yaml';
15
- import { ClassificationFileSchema, } from '@gate-forge/core';
16
- import { AdapterRegistryError } from './adapter-registry.js';
17
- /**
18
- * Loads the classifications document.
19
- *
20
- * Args:
21
- * path: absolute path to the classifications YAML (or null/'' = none).
22
- *
23
- * Returns:
24
- * Record<string, Classification>: validated per-resource map (empty
25
- * when no document is configured).
26
- *
27
- * Throws:
28
- * AdapterRegistryError: fail-closed load/validation problems.
29
- */
30
- export function loadClassifications(path) {
31
- if (path === null || path === undefined || path === '')
32
- return {};
33
- let raw;
34
- try {
35
- raw = readFileSync(path, 'utf8');
36
- }
37
- catch (error) {
38
- throw new AdapterRegistryError(`cannot read classifications file '${path}': ${error.message}`);
39
- }
40
- let document;
41
- try {
42
- document = parseYaml(raw);
43
- }
44
- catch (error) {
45
- throw new AdapterRegistryError(`classifications file '${path}' is not valid YAML: ${error.message}`);
46
- }
47
- const parsed = ClassificationFileSchema.safeParse(document);
48
- if (!parsed.success) {
49
- const issue = parsed.error.issues[0];
50
- throw new AdapterRegistryError(`classifications file '${path}' is invalid: ` +
51
- `${issue === undefined ? 'unknown issue' : `${issue.path.join('.')}: ${issue.message}`}`);
52
- }
53
- // Normalize keys to plane-qualified resource ids (ADR 0001 D5.3):
54
- // a bare `accounts:` entry with `plane: tenant` is keyed
55
- // `tenant.accounts`; an already-qualified key passes through.
56
- const qualified = {};
57
- for (const [key, entry] of Object.entries(parsed.data.resources)) {
58
- qualified[key.includes('.') ? key : `${entry.plane}.${key}`] = entry;
59
- }
60
- return qualified;
61
- }
62
- /** Projects a classification for the reporter surface. */
63
- export function toClassificationView(entry) {
64
- return {
65
- primaryKey: [...entry.primaryKey],
66
- exposure: entry.exposure,
67
- plane: entry.plane,
68
- ...(entry.evidenceAdapter === undefined ? {} : { evidenceAdapter: entry.evidenceAdapter }),
69
- ...(entry.evidenceLane === undefined ? {} : { evidenceLane: entry.evidenceLane }),
70
- lifecycle: {
71
- create: entry.lifecycle.create,
72
- read: entry.lifecycle.read,
73
- update: entry.lifecycle.update,
74
- delete: entry.lifecycle.delete,
75
- ...(entry.lifecycle.deleteSemantics === undefined
76
- ? {}
77
- : { deleteSemantics: entry.lifecycle.deleteSemantics }),
78
- ...(entry.lifecycle.archiveFields === undefined
79
- ? {}
80
- : { archiveFields: entry.lifecycle.archiveFields }),
81
- ...(entry.lifecycle.updateableFields === undefined
82
- ? {}
83
- : { updateableFields: [...entry.lifecycle.updateableFields] }),
84
- },
85
- };
86
- }
9
+ export * from '@gate-forge/witness/witness/classifications';
87
10
  //# sourceMappingURL=classifications.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"classifications.js","sourceRoot":"","sources":["../../src/witness/classifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classifications.js","sourceRoot":"","sources":["../../src/witness/classifications.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,6CAA6C,CAAC"}
@@ -1,98 +1,10 @@
1
- import { type PinDnsLookup } from './loopback-pins.js';
2
- /** One failed attestation, carrying the actionable diagnostic. */
3
- export declare class AttestationError extends Error {
4
- constructor(message: string);
5
- }
6
1
  /**
7
- * Whether a base URL is loopback. Accepts the standard loopback
8
- * hostnames/IPs (localhost, 127.0.0.0/8, ::1).
2
+ * Compatibility re-export: `witness/env-attestation` now lives in the runner-neutral
3
+ * `@gate-forge/witness` package (plan 2026-09-25 phase 1).
9
4
  *
10
- * Args:
11
- * baseUrl: absolute http(s) URL.
12
- *
13
- * Returns:
14
- * boolean: true when the host is a recognized loopback host.
15
- */
16
- export declare function isLoopbackUrl(baseUrl: string): boolean;
17
- /**
18
- * Asserts the attestation subject is loopback (GF-10). Called at witness
19
- * startup for the target and before EVERY adapter read for the read
20
- * base. Hostnames that are not literally loopback are resolved through
21
- * the OS resolver (hosts file + DNS): a name whose addresses are ALL
22
- * loopback (127.0.0.0/8, ::1) is loopback by construction — the
23
- * disposable-stack pattern of tenant subdomains mapped to 127.0.0.1.
24
- * Mixed records, unresolvable names, and lookup failures all reject
25
- * (fail closed). Approved addresses are PINNED per hostname for the
26
- * process lifetime (see `loopback-pins.ts`): later DNS changes never
27
- * move established connections — the check validates
28
- * OPERATOR-provided bases (never suite input — suites cannot set
29
- * target/adapter bases), and every egress binds to the startup
30
- * approval.
31
- *
32
- * Args:
33
- * baseUrl: the base to verify.
34
- * what: human label for diagnostics ("attestation subject", "adapter 'x'").
35
- *
36
- * Throws:
37
- * AttestationError: when the base is not loopback — the run is BLOCKED
38
- * before any request is constructed (plan invariant 5).
39
- */
40
- export declare function assertLoopback(baseUrl: string, what: string): Promise<void>;
41
- /** Signature of the DNS lookup injected for tests (defaults to the OS resolver). */
42
- export type DnsLookup = PinDnsLookup;
43
- /** Clears the pin store (tests only — production paths pin once and bind). */
44
- export declare function clearLoopbackCacheForTests(): void;
45
- /**
46
- * Whether a base URL is loopback, resolving non-literal hostnames. The
47
- * sync string check (`isLoopbackUrl`) runs first; only names it rejects
48
- * reach the resolver, which pins all-loopback answers (see
49
- * `loopback-pins.ts` — first resolution wins, later DNS changes never
50
- * replace the pins).
51
- *
52
- * Args:
53
- * baseUrl: absolute http(s) URL.
54
- * lookupFn: DNS lookup (default: OS resolver via `node:dns/promises`).
55
- *
56
- * Returns:
57
- * Promise<boolean>: true when literally loopback or ALL resolved
58
- * addresses are loopback. False on mixed records, unresolvable names,
59
- * lookup failures, and non-http(s) URLs.
60
- */
61
- export declare function isLoopbackUrlResolving(baseUrl: string, lookupFn?: DnsLookup): Promise<boolean>;
62
- /** The observed fingerprint + attestation scope of one target probe. */
63
- export interface EnvProbe {
64
- /** Fingerprint marker value, or null when the target presents none. */
65
- fingerprint: string | null;
66
- /** Attestation-scope marker value, or null. */
67
- scope: string | null;
68
- }
69
- /**
70
- * Probes a target's env fingerprint: GET the base and read the marker
71
- * header. Any transport failure probes as `{fingerprint: null, scope:
72
- * null}` — absence is a mismatch, never a pass (fail closed).
73
- *
74
- * Args:
75
- * baseUrl: target base to probe.
76
- * timeoutMs: per-request timeout.
77
- *
78
- * Returns:
79
- * EnvProbe: observed markers (null when absent/unreachable).
80
- */
81
- export declare function probeEnvFingerprint(baseUrl: string, timeoutMs: number): Promise<EnvProbe>;
82
- /**
83
- * The same-environment rule for one adapter read (GF-13). The adapter
84
- * base must present a marker EQUAL to the adapter's declared
85
- * environmentFingerprint, and (when the run pins one) that fingerprint
86
- * must equal the run's target fingerprint — the adapter may not read a
87
- * different environment than the UI under test.
88
- *
89
- * Args:
90
- * probe: observed markers at the adapter base.
91
- * adapterFingerprint: the adapter's declared environmentFingerprint.
92
- * targetFingerprint: the run's pinned fingerprint, or null when unset.
93
- *
94
- * Returns:
95
- * string | null: mismatch description, or null when attested.
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.
96
8
  */
97
- export declare function envFingerprintMismatch(probe: EnvProbe, adapterFingerprint: string, targetFingerprint: string | null): string | null;
9
+ export * from '@gate-forge/witness/witness/env-attestation';
98
10
  //# sourceMappingURL=env-attestation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-attestation.d.ts","sourceRoot":"","sources":["../../src/witness/env-attestation.ts"],"names":[],"mappings":"AAuBA,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAK5B,kEAAkE;AAClE,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAatD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjF;AAED,oFAAoF;AACpF,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC;AAErC,8EAA8E;AAC9E,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,SAAyB,GAClC,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,wEAAwE;AACxE,MAAM,WAAW,QAAQ;IACvB,uEAAuE;IACvE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAAC,CAsBnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,QAAQ,EACf,kBAAkB,EAAE,MAAM,EAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,MAAM,GAAG,IAAI,CAef"}
1
+ {"version":3,"file":"env-attestation.d.ts","sourceRoot":"","sources":["../../src/witness/env-attestation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,6CAA6C,CAAC"}
@@ -1,202 +1,10 @@
1
1
  /**
2
- * Minimal v1 environment attestation (GF-10, GF-13; ADR 0002, plan
3
- * invariant 5, docs/research/environment_attestation.md L0/L1 spirit).
2
+ * Compatibility re-export: `witness/env-attestation` now lives in the runner-neutral
3
+ * `@gate-forge/witness` package (plan 2026-09-25 phase 1).
4
4
  *
5
- * Two positive checks, both fail-closed:
6
- *
7
- * 1. Loopback-only targets (GF-10): the attestation subject (the SUT the
8
- * UI drives) and every adapter read base MUST be a loopback address.
9
- * A non-loopback target blocks the run BEFORE any adapter read is
10
- * constructed — the witness never builds a request against an
11
- * unattested base.
12
- * 2. Env-fingerprint marker (GF-13, minimal v1 attestation): every
13
- * adapter base must answer GET `/` with an
14
- * `x-gateforge-env-fingerprint` header equal to the adapter's
15
- * declared `environmentFingerprint`; when the run also pins
16
- * `targetFingerprint`, the adapter must read the SAME environment
17
- * the UI drives (adapter fingerprint === run fingerprint). Absent or
18
- * mismatched markers reject the record — never `satisfied`.
19
- *
20
- * L2 signed statements are deferred per ADR 0002 ("L2 signing deferred").
21
- */
22
- import { lookup } from 'node:dns/promises';
23
- import { ATTESTATION_SCOPE_HEADER, ENV_FINGERPRINT_HEADER, LOOPBACK_HOSTS } from '../constants.js';
24
- import { clearPinnedLoopbackForTests, pinLoopbackIps, pinnedGet, } from './loopback-pins.js';
25
- /** Default DNS lookup: the OS resolver, all records. */
26
- const defaultLookup = (host) => lookup(host, { all: true, verbatim: true });
27
- /** One failed attestation, carrying the actionable diagnostic. */
28
- export class AttestationError extends Error {
29
- constructor(message) {
30
- super(message);
31
- this.name = 'AttestationError';
32
- }
33
- }
34
- /**
35
- * Whether a base URL is loopback. Accepts the standard loopback
36
- * hostnames/IPs (localhost, 127.0.0.0/8, ::1).
37
- *
38
- * Args:
39
- * baseUrl: absolute http(s) URL.
40
- *
41
- * Returns:
42
- * boolean: true when the host is a recognized loopback host.
43
- */
44
- export function isLoopbackUrl(baseUrl) {
45
- let parsed;
46
- try {
47
- parsed = new URL(baseUrl);
48
- }
49
- catch {
50
- return false;
51
- }
52
- if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:')
53
- return false;
54
- const host = parsed.hostname;
55
- if (LOOPBACK_HOSTS[host])
56
- return true;
57
- if (/^127(\.\d{1,3}){3}$/.test(host))
58
- return true;
59
- if (host === '0.0.0.0')
60
- return true;
61
- return false;
62
- }
63
- /**
64
- * Asserts the attestation subject is loopback (GF-10). Called at witness
65
- * startup for the target and before EVERY adapter read for the read
66
- * base. Hostnames that are not literally loopback are resolved through
67
- * the OS resolver (hosts file + DNS): a name whose addresses are ALL
68
- * loopback (127.0.0.0/8, ::1) is loopback by construction — the
69
- * disposable-stack pattern of tenant subdomains mapped to 127.0.0.1.
70
- * Mixed records, unresolvable names, and lookup failures all reject
71
- * (fail closed). Approved addresses are PINNED per hostname for the
72
- * process lifetime (see `loopback-pins.ts`): later DNS changes never
73
- * move established connections — the check validates
74
- * OPERATOR-provided bases (never suite input — suites cannot set
75
- * target/adapter bases), and every egress binds to the startup
76
- * approval.
77
- *
78
- * Args:
79
- * baseUrl: the base to verify.
80
- * what: human label for diagnostics ("attestation subject", "adapter 'x'").
81
- *
82
- * Throws:
83
- * AttestationError: when the base is not loopback — the run is BLOCKED
84
- * before any request is constructed (plan invariant 5).
85
- */
86
- export async function assertLoopback(baseUrl, what) {
87
- if (!(await isLoopbackUrlResolving(baseUrl))) {
88
- throw new AttestationError(`${what} base '${baseUrl}' is not loopback; gateforge only attests disposable ` +
89
- 'loopback environments (plan invariant 5, GF-10). A bare URL with no provider ' +
90
- 'contract is not a mutation target.');
91
- }
92
- }
93
- /** Clears the pin store (tests only — production paths pin once and bind). */
94
- export function clearLoopbackCacheForTests() {
95
- clearPinnedLoopbackForTests();
96
- }
97
- /**
98
- * Whether a base URL is loopback, resolving non-literal hostnames. The
99
- * sync string check (`isLoopbackUrl`) runs first; only names it rejects
100
- * reach the resolver, which pins all-loopback answers (see
101
- * `loopback-pins.ts` — first resolution wins, later DNS changes never
102
- * replace the pins).
103
- *
104
- * Args:
105
- * baseUrl: absolute http(s) URL.
106
- * lookupFn: DNS lookup (default: OS resolver via `node:dns/promises`).
107
- *
108
- * Returns:
109
- * Promise<boolean>: true when literally loopback or ALL resolved
110
- * addresses are loopback. False on mixed records, unresolvable names,
111
- * lookup failures, and non-http(s) URLs.
112
- */
113
- export async function isLoopbackUrlResolving(baseUrl, lookupFn = defaultLookup) {
114
- if (isLoopbackUrl(baseUrl))
115
- return true;
116
- let host;
117
- try {
118
- const parsed = new URL(baseUrl);
119
- if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:')
120
- return false;
121
- host = parsed.hostname;
122
- }
123
- catch {
124
- return false;
125
- }
126
- try {
127
- await pinLoopbackIps(host, lookupFn);
128
- return true;
129
- }
130
- catch {
131
- return false;
132
- }
133
- }
134
- /**
135
- * Probes a target's env fingerprint: GET the base and read the marker
136
- * header. Any transport failure probes as `{fingerprint: null, scope:
137
- * null}` — absence is a mismatch, never a pass (fail closed).
138
- *
139
- * Args:
140
- * baseUrl: target base to probe.
141
- * timeoutMs: per-request timeout.
142
- *
143
- * Returns:
144
- * EnvProbe: observed markers (null when absent/unreachable).
145
- */
146
- export async function probeEnvFingerprint(baseUrl, timeoutMs) {
147
- try {
148
- const controller = new AbortController();
149
- const timer = setTimeout(() => controller.abort(), timeoutMs);
150
- try {
151
- // Pinned egress: attested hostnames connect to their
152
- // startup-approved loopback IPs (Host preserved); unpinned names
153
- // behave exactly as before.
154
- const response = await pinnedGet(baseUrl, {
155
- timeoutMs,
156
- signal: controller.signal,
157
- });
158
- return {
159
- fingerprint: response.headers.get(ENV_FINGERPRINT_HEADER),
160
- scope: response.headers.get(ATTESTATION_SCOPE_HEADER),
161
- };
162
- }
163
- finally {
164
- clearTimeout(timer);
165
- }
166
- }
167
- catch {
168
- return { fingerprint: null, scope: null };
169
- }
170
- }
171
- /**
172
- * The same-environment rule for one adapter read (GF-13). The adapter
173
- * base must present a marker EQUAL to the adapter's declared
174
- * environmentFingerprint, and (when the run pins one) that fingerprint
175
- * must equal the run's target fingerprint — the adapter may not read a
176
- * different environment than the UI under test.
177
- *
178
- * Args:
179
- * probe: observed markers at the adapter base.
180
- * adapterFingerprint: the adapter's declared environmentFingerprint.
181
- * targetFingerprint: the run's pinned fingerprint, or null when unset.
182
- *
183
- * Returns:
184
- * string | null: mismatch description, or null when attested.
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.
185
8
  */
186
- export function envFingerprintMismatch(probe, adapterFingerprint, targetFingerprint) {
187
- if (probe.fingerprint === null) {
188
- return `adapter target presents no '${ENV_FINGERPRINT_HEADER}' marker; ` +
189
- 'the environment is not attested (GF-13)';
190
- }
191
- if (probe.fingerprint !== adapterFingerprint) {
192
- return `adapter target fingerprint '${probe.fingerprint}' does not match the adapter's ` +
193
- `declared environmentFingerprint '${adapterFingerprint}' (GF-13)`;
194
- }
195
- if (targetFingerprint !== null && probe.fingerprint !== targetFingerprint) {
196
- return `adapter target fingerprint '${probe.fingerprint}' differs from the run's attested ` +
197
- `target fingerprint '${targetFingerprint}': the adapter would read a different ` +
198
- 'environment than the UI under test (GF-13)';
199
- }
200
- return null;
201
- }
9
+ export * from '@gate-forge/witness/witness/env-attestation';
202
10
  //# sourceMappingURL=env-attestation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-attestation.js","sourceRoot":"","sources":["../../src/witness/env-attestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-attestation.js","sourceRoot":"","sources":["../../src/witness/env-attestation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,6CAA6C,CAAC"}
@@ -1,86 +1,10 @@
1
- /** One leased actor: identity/tenant/roles plus a private credential handle. */
2
- export interface ActorLease {
3
- /** Stable principal id within the fixture recipe. */
4
- principalId: string;
5
- /** Owning tenant, or null for tenant-less principals. */
6
- tenantId: string | null;
7
- /** Role names the actor holds for this lease. */
8
- roles: string[];
9
- /**
10
- * Private engine-side credential reference (opaque handle). NEVER token
11
- * bytes, NEVER suite-visible.
12
- */
13
- credentialRef: string;
14
- }
15
- /** One isolated fixture lease for a single required case. */
16
- export interface FixtureLease {
17
- /** Witness-issued lease id (UUID). */
18
- leaseId: string;
19
- /** Unique isolated namespace for this case execution. */
20
- namespace: string;
21
- /** Authoritative generated subject identities, keyed by recipe name. */
22
- subjects: Record<string, unknown>;
23
- /** Leased actors, keyed by recipe profile name. */
24
- actors: Record<string, ActorLease>;
25
- }
26
- /** Input to {@link FixtureProvider.prepare}. */
27
- export interface FixturePrepareInput {
28
- /** Approved fixture recipe key (never a suite-supplied callback). */
29
- recipe: string;
30
- /** Run id the lease belongs to. */
31
- runId: string;
32
- /** Required case id the lease belongs to. */
33
- caseId: string;
34
- }
35
- /** Engine-side credential material (never suite-visible, never logged). */
36
- export interface CredentialMaterial {
37
- /** Headers the engine driver attaches to the principal request. */
38
- headers: Record<string, string>;
39
- }
40
- /** Trusted fixture/actor provider interface. */
41
- export interface FixtureProvider {
42
- /** Mints a fresh isolated lease for one required case. */
43
- prepare(input: FixturePrepareInput): Promise<FixtureLease> | FixtureLease;
44
- /** Releases a lease namespace (idempotent; errors never flip verdicts). */
45
- release(leaseId: string): Promise<void> | void;
46
- /**
47
- * Resolves a lease credentialRef to request material, engine-side
48
- * only. Returns null for unknown/expired references. The bytes never
49
- * leave the controller/engine boundary.
50
- */
51
- resolveCredential?(credentialRef: string): Promise<CredentialMaterial | null> | CredentialMaterial | null;
52
- }
53
1
  /**
54
- * Loads the approved fixture provider from the engine-owned bundle
55
- * directory (a `fixture-provider.mjs` default export implementing the
56
- * interface). Returns null when the bundle provides none — strong cases
57
- * then block with a missing-provider cause instead of falling back to
58
- * suite-supplied fixtures.
2
+ * Compatibility re-export: `witness/fixture-provider` now lives in the runner-neutral
3
+ * `@gate-forge/witness` package (plan 2026-09-25 phase 1).
59
4
  *
60
- * Args:
61
- * bundleDir: absolute engine-owned bundle directory, or null.
62
- *
63
- * Returns:
64
- * Promise<FixtureProvider | null>: the approved provider or null.
65
- *
66
- * Throws:
67
- * Error: when the module exists but does not implement the interface
68
- * (fail closed — a half-shaped provider is never used).
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.
69
8
  */
70
- export declare function loadFixtureProvider(bundleDir: string | null): Promise<FixtureProvider | null>;
71
- /** In-memory provider for witness tests (engine-side only, never a worker API). */
72
- export declare function createMemoryFixtureProvider(options?: {
73
- /** Actor profiles available to recipes: profile name → lease template. */
74
- actors?: Record<string, {
75
- principalId: string;
76
- tenantId: string | null;
77
- roles: string[];
78
- }>;
79
- /** Engine-side credential headers per actor profile (test secrets, never suite-visible). */
80
- credentials?: Record<string, Record<string, string>>;
81
- /** Fixture subjects per recipe: recipe name → subject key → value. */
82
- subjects?: Record<string, Record<string, unknown>>;
83
- }): FixtureProvider & {
84
- leases(): FixtureLease[];
85
- };
9
+ export * from '@gate-forge/witness/witness/fixture-provider';
86
10
  //# sourceMappingURL=fixture-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixture-provider.d.ts","sourceRoot":"","sources":["../../src/witness/fixture-provider.ts"],"names":[],"mappings":"AAqBA,gFAAgF;AAChF,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iDAAiD;IACjD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACpC;AAED,gDAAgD;AAChD,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;IAC1E,2EAA2E;IAC3E,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/C;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,kBAAkB,GAAG,IAAI,CAAC;CAC3G;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAgBnG;AAED,mFAAmF;AACnF,wBAAgB,2BAA2B,CAAC,OAAO,GAAE;IACnD,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAC3F,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC/C,GAAG,eAAe,GAAG;IAAE,MAAM,IAAI,YAAY,EAAE,CAAA;CAAE,CAmDtD"}
1
+ {"version":3,"file":"fixture-provider.d.ts","sourceRoot":"","sources":["../../src/witness/fixture-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,8CAA8C,CAAC"}