@gate-forge/pack-playwright 0.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 (140) hide show
  1. package/LICENSE +202 -0
  2. package/bin/gateforge-witness.js +40 -0
  3. package/dist/attestation/proxy.d.ts +40 -0
  4. package/dist/attestation/proxy.d.ts.map +1 -0
  5. package/dist/attestation/proxy.js +78 -0
  6. package/dist/attestation/proxy.js.map +1 -0
  7. package/dist/constants.d.ts +130 -0
  8. package/dist/constants.d.ts.map +1 -0
  9. package/dist/constants.js +138 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/discovery/adapters.d.ts +167 -0
  12. package/dist/discovery/adapters.d.ts.map +1 -0
  13. package/dist/discovery/adapters.js +276 -0
  14. package/dist/discovery/adapters.js.map +1 -0
  15. package/dist/discovery/discover.d.ts +57 -0
  16. package/dist/discovery/discover.d.ts.map +1 -0
  17. package/dist/discovery/discover.js +544 -0
  18. package/dist/discovery/discover.js.map +1 -0
  19. package/dist/discovery/index.d.ts +15 -0
  20. package/dist/discovery/index.d.ts.map +1 -0
  21. package/dist/discovery/index.js +15 -0
  22. package/dist/discovery/index.js.map +1 -0
  23. package/dist/discovery/inference.d.ts +63 -0
  24. package/dist/discovery/inference.d.ts.map +1 -0
  25. package/dist/discovery/inference.js +173 -0
  26. package/dist/discovery/inference.js.map +1 -0
  27. package/dist/discovery/pytest-adapter.d.ts +205 -0
  28. package/dist/discovery/pytest-adapter.d.ts.map +1 -0
  29. package/dist/discovery/pytest-adapter.js +548 -0
  30. package/dist/discovery/pytest-adapter.js.map +1 -0
  31. package/dist/discovery/reconcile.d.ts +106 -0
  32. package/dist/discovery/reconcile.d.ts.map +1 -0
  33. package/dist/discovery/reconcile.js +268 -0
  34. package/dist/discovery/reconcile.js.map +1 -0
  35. package/dist/discovery/runner-env.d.ts +80 -0
  36. package/dist/discovery/runner-env.d.ts.map +1 -0
  37. package/dist/discovery/runner-env.js +139 -0
  38. package/dist/discovery/runner-env.js.map +1 -0
  39. package/dist/discovery/static-discovery.d.ts +121 -0
  40. package/dist/discovery/static-discovery.d.ts.map +1 -0
  41. package/dist/discovery/static-discovery.js +1028 -0
  42. package/dist/discovery/static-discovery.js.map +1 -0
  43. package/dist/discovery/supervised-run.d.ts +110 -0
  44. package/dist/discovery/supervised-run.d.ts.map +1 -0
  45. package/dist/discovery/supervised-run.js +328 -0
  46. package/dist/discovery/supervised-run.js.map +1 -0
  47. package/dist/discovery/trusted-config.d.ts +103 -0
  48. package/dist/discovery/trusted-config.d.ts.map +1 -0
  49. package/dist/discovery/trusted-config.js +117 -0
  50. package/dist/discovery/trusted-config.js.map +1 -0
  51. package/dist/fixture/evidence.d.ts +191 -0
  52. package/dist/fixture/evidence.d.ts.map +1 -0
  53. package/dist/fixture/evidence.js +366 -0
  54. package/dist/fixture/evidence.js.map +1 -0
  55. package/dist/fixture/fixture.d.ts +37 -0
  56. package/dist/fixture/fixture.d.ts.map +1 -0
  57. package/dist/fixture/fixture.js +38 -0
  58. package/dist/fixture/fixture.js.map +1 -0
  59. package/dist/fixture/witness-client.d.ts +164 -0
  60. package/dist/fixture/witness-client.d.ts.map +1 -0
  61. package/dist/fixture/witness-client.js +253 -0
  62. package/dist/fixture/witness-client.js.map +1 -0
  63. package/dist/index.d.ts +64 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +55 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/json.d.ts +16 -0
  68. package/dist/json.d.ts.map +1 -0
  69. package/dist/json.js +21 -0
  70. package/dist/json.js.map +1 -0
  71. package/dist/reporter/ledger.d.ts +105 -0
  72. package/dist/reporter/ledger.d.ts.map +1 -0
  73. package/dist/reporter/ledger.js +197 -0
  74. package/dist/reporter/ledger.js.map +1 -0
  75. package/dist/reporter/reporter.cjs +105 -0
  76. package/dist/reporter/reporter.cjs.map +1 -0
  77. package/dist/reporter/reporter.d.cts +35 -0
  78. package/dist/reporter/reporter.d.cts.map +1 -0
  79. package/dist/reporter/reporter.d.ts +167 -0
  80. package/dist/reporter/reporter.d.ts.map +1 -0
  81. package/dist/reporter/reporter.js +673 -0
  82. package/dist/reporter/reporter.js.map +1 -0
  83. package/dist/setup.d.ts +49 -0
  84. package/dist/setup.d.ts.map +1 -0
  85. package/dist/setup.js +167 -0
  86. package/dist/setup.js.map +1 -0
  87. package/dist/supervisor/client.d.ts +73 -0
  88. package/dist/supervisor/client.d.ts.map +1 -0
  89. package/dist/supervisor/client.js +164 -0
  90. package/dist/supervisor/client.js.map +1 -0
  91. package/dist/supervisor/drain.d.ts +45 -0
  92. package/dist/supervisor/drain.d.ts.map +1 -0
  93. package/dist/supervisor/drain.js +235 -0
  94. package/dist/supervisor/drain.js.map +1 -0
  95. package/dist/supervisor/index.d.ts +16 -0
  96. package/dist/supervisor/index.d.ts.map +1 -0
  97. package/dist/supervisor/index.js +13 -0
  98. package/dist/supervisor/index.js.map +1 -0
  99. package/dist/supervisor/spool.d.ts +137 -0
  100. package/dist/supervisor/spool.d.ts.map +1 -0
  101. package/dist/supervisor/spool.js +263 -0
  102. package/dist/supervisor/spool.js.map +1 -0
  103. package/dist/surface.d.ts +134 -0
  104. package/dist/surface.d.ts.map +1 -0
  105. package/dist/surface.js +139 -0
  106. package/dist/surface.js.map +1 -0
  107. package/dist/witness/adapter-registry.d.ts +38 -0
  108. package/dist/witness/adapter-registry.d.ts.map +1 -0
  109. package/dist/witness/adapter-registry.js +158 -0
  110. package/dist/witness/adapter-registry.js.map +1 -0
  111. package/dist/witness/bin.d.ts +21 -0
  112. package/dist/witness/bin.d.ts.map +1 -0
  113. package/dist/witness/bin.js +172 -0
  114. package/dist/witness/bin.js.map +1 -0
  115. package/dist/witness/browser.d.ts +173 -0
  116. package/dist/witness/browser.d.ts.map +1 -0
  117. package/dist/witness/browser.js +580 -0
  118. package/dist/witness/browser.js.map +1 -0
  119. package/dist/witness/classifications.d.ts +42 -0
  120. package/dist/witness/classifications.d.ts.map +1 -0
  121. package/dist/witness/classifications.js +87 -0
  122. package/dist/witness/classifications.js.map +1 -0
  123. package/dist/witness/env-attestation.d.ts +98 -0
  124. package/dist/witness/env-attestation.d.ts.map +1 -0
  125. package/dist/witness/env-attestation.js +202 -0
  126. package/dist/witness/env-attestation.js.map +1 -0
  127. package/dist/witness/loopback-pins.d.ts +79 -0
  128. package/dist/witness/loopback-pins.d.ts.map +1 -0
  129. package/dist/witness/loopback-pins.js +244 -0
  130. package/dist/witness/loopback-pins.js.map +1 -0
  131. package/dist/witness/server.d.ts +34 -0
  132. package/dist/witness/server.d.ts.map +1 -0
  133. package/dist/witness/server.js +2539 -0
  134. package/dist/witness/server.js.map +1 -0
  135. package/dist/witness/types.d.ts +643 -0
  136. package/dist/witness/types.d.ts.map +1 -0
  137. package/dist/witness/types.js +2 -0
  138. package/dist/witness/types.js.map +1 -0
  139. package/package.json +64 -0
  140. package/python/gateforge_persistence_intents.py +100 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/reporter/reporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Playwright global setup/teardown for gateforge runs (deterministic
3
+ * witness wiring, no races).
4
+ *
5
+ * `globalSetup` runs in the runner's MAIN process and COMPLETES before
6
+ * any worker spawns, so the spawned witness URL is known before the
7
+ * first test can post evidence. Two channels reach the fixtures:
8
+ * `GATEFORGE_WITNESS_URL` in the process env (inherited by workers) and
9
+ * `witness-url.json` in the run-state dir (a file fallback).
10
+ *
11
+ * When `GATEFORGE_WITNESS_URL` is already set (`gateforge test-gates
12
+ * --witness-url <url>`) the setup does nothing — the caller's witness
13
+ * is authoritative. Without a run-state dir + token (a standalone
14
+ * playwright run outside test-gates) the setup logs a warning and skips
15
+ * fail-closed wiring: evidence primitives then fail tests with an
16
+ * actionable error instead of silently degrading.
17
+ */
18
+ import { type ChildProcess } from 'node:child_process';
19
+ /**
20
+ * Starts the witness service as a child process and waits for it to
21
+ * answer `/health`.
22
+ *
23
+ * Args:
24
+ * env: environment for the child (must carry GATEFORGE_RUN_ID /
25
+ * GATEFORGE_RUN_TOKEN; the witness derivations are documented in the
26
+ * pack README). GATEFORGE_PROXY_TARGET / GATEFORGE_MOUNT_PATH start
27
+ * the observation proxy (see the `gateforge-witness --help` surface).
28
+ * timeoutMs: startup timeout.
29
+ *
30
+ * Returns:
31
+ * {child, url, proxyUrl}: running child, its loopback URL, and the
32
+ * observation-proxy URL when one is active (null otherwise).
33
+ *
34
+ * Throws:
35
+ * Error: when the child exits early or never becomes ready.
36
+ */
37
+ export declare function startWitnessProcess(env: NodeJS.ProcessEnv, timeoutMs?: number): Promise<{
38
+ child: ChildProcess;
39
+ url: string;
40
+ proxyUrl: string | null;
41
+ }>;
42
+ /**
43
+ * Playwright `globalSetup`: spawn the witness when the run has a state
44
+ * dir + token and no external witness URL is configured.
45
+ */
46
+ export declare function gateforgeGlobalSetup(): Promise<void>;
47
+ /** Playwright `globalTeardown`: stop the spawned witness. */
48
+ export declare function gateforgeGlobalTeardown(): Promise<void>;
49
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAkB9D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,SAAS,SAAQ,GAChB,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAkDxE;AAsBD;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiC1D;AAED,6DAA6D;AAC7D,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB7D"}
package/dist/setup.js ADDED
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Playwright global setup/teardown for gateforge runs (deterministic
3
+ * witness wiring, no races).
4
+ *
5
+ * `globalSetup` runs in the runner's MAIN process and COMPLETES before
6
+ * any worker spawns, so the spawned witness URL is known before the
7
+ * first test can post evidence. Two channels reach the fixtures:
8
+ * `GATEFORGE_WITNESS_URL` in the process env (inherited by workers) and
9
+ * `witness-url.json` in the run-state dir (a file fallback).
10
+ *
11
+ * When `GATEFORGE_WITNESS_URL` is already set (`gateforge test-gates
12
+ * --witness-url <url>`) the setup does nothing — the caller's witness
13
+ * is authoritative. Without a run-state dir + token (a standalone
14
+ * playwright run outside test-gates) the setup logs a warning and skips
15
+ * fail-closed wiring: evidence primitives then fail tests with an
16
+ * actionable error instead of silently degrading.
17
+ */
18
+ import { spawn } from 'node:child_process';
19
+ import { mkdirSync, writeFileSync } from 'node:fs';
20
+ import { join } from 'node:path';
21
+ import { fileURLToPath } from 'node:url';
22
+ import { ENV_RUN_ID, ENV_RUN_TOKEN, ENV_STATE_DIR, ENV_WITNESS_URL, WITNESS_URL_FILE, } from './constants.js';
23
+ /** The child witness process started by globalSetup (teardown kills it). */
24
+ let spawned = null;
25
+ /** In-progress spawn (avoids double-start in watch mode). */
26
+ let pending = null;
27
+ /**
28
+ * Starts the witness service as a child process and waits for it to
29
+ * answer `/health`.
30
+ *
31
+ * Args:
32
+ * env: environment for the child (must carry GATEFORGE_RUN_ID /
33
+ * GATEFORGE_RUN_TOKEN; the witness derivations are documented in the
34
+ * pack README). GATEFORGE_PROXY_TARGET / GATEFORGE_MOUNT_PATH start
35
+ * the observation proxy (see the `gateforge-witness --help` surface).
36
+ * timeoutMs: startup timeout.
37
+ *
38
+ * Returns:
39
+ * {child, url, proxyUrl}: running child, its loopback URL, and the
40
+ * observation-proxy URL when one is active (null otherwise).
41
+ *
42
+ * Throws:
43
+ * Error: when the child exits early or never becomes ready.
44
+ */
45
+ export async function startWitnessProcess(env, timeoutMs = 15000) {
46
+ // Package-root relative (works for both src/ and dist/ layouts — the
47
+ // bin ships beside the package, not beside the compiled module).
48
+ const pkgPath = fileURLToPath(new URL('../package.json', import.meta.url));
49
+ const bin = join(pkgPath.slice(0, -'package.json'.length), 'bin', 'gateforge-witness.js');
50
+ const child = spawn(process.execPath, [bin], {
51
+ env: { ...process.env, ...env },
52
+ stdio: ['ignore', 'pipe', 'pipe'],
53
+ });
54
+ const urlPromise = new Promise((resolveUrl, rejectUrl) => {
55
+ let stdout = '';
56
+ let stderr = '';
57
+ let proxyUrl = null;
58
+ const timer = setTimeout(() => {
59
+ child.kill('SIGKILL');
60
+ rejectUrl(new Error('witness child did not report its URL in time'));
61
+ }, timeoutMs);
62
+ child.stdout?.on('data', (chunk) => {
63
+ stdout += chunk.toString('utf8');
64
+ const proxyMatch = /^GATEFORGE_WITNESS_PROXY_URL=(.+)$/m.exec(stdout);
65
+ if (proxyMatch !== null)
66
+ proxyUrl = proxyMatch[1] ?? null;
67
+ const match = /^GATEFORGE_WITNESS_URL=(.+)$/m.exec(stdout);
68
+ if (match !== null) {
69
+ clearTimeout(timer);
70
+ resolveUrl({ url: match[1], proxyUrl });
71
+ }
72
+ });
73
+ child.stderr?.on('data', (chunk) => {
74
+ stderr += chunk.toString('utf8');
75
+ });
76
+ child.once('error', (error) => {
77
+ clearTimeout(timer);
78
+ rejectUrl(new Error(`witness child failed to start: ${error.message}`));
79
+ });
80
+ child.once('exit', (code) => {
81
+ clearTimeout(timer);
82
+ if (code !== 0) {
83
+ rejectUrl(new Error(`witness child exited early (code ${String(code)}): ${stdout.slice(0, 500)}` +
84
+ (stderr.length > 0 ? ` stderr: ${stderr.slice(0, 2000)}` : '')));
85
+ }
86
+ });
87
+ });
88
+ const { url, proxyUrl } = await urlPromise;
89
+ await waitForHealth(url, env[ENV_RUN_TOKEN] ?? '', timeoutMs);
90
+ return { child, url, proxyUrl };
91
+ }
92
+ /** Polls the witness health endpoint until ready (or timeout). */
93
+ async function waitForHealth(url, token, timeoutMs) {
94
+ const deadline = Date.now() + timeoutMs;
95
+ for (;;) {
96
+ try {
97
+ const response = await fetch(`${url}/health`, {
98
+ headers: { 'x-gateforge-run': token },
99
+ signal: AbortSignal.timeout(1000),
100
+ });
101
+ if (response.ok)
102
+ return;
103
+ }
104
+ catch {
105
+ // not ready yet
106
+ }
107
+ if (Date.now() > deadline) {
108
+ throw new Error(`witness at ${url} did not become healthy in time`);
109
+ }
110
+ await new Promise((resolveSleep) => setTimeout(resolveSleep, 100));
111
+ }
112
+ }
113
+ /**
114
+ * Playwright `globalSetup`: spawn the witness when the run has a state
115
+ * dir + token and no external witness URL is configured.
116
+ */
117
+ export async function gateforgeGlobalSetup() {
118
+ const token = process.env[ENV_RUN_TOKEN];
119
+ const stateDir = process.env[ENV_STATE_DIR];
120
+ const runId = process.env[ENV_RUN_ID];
121
+ const existing = process.env[ENV_WITNESS_URL];
122
+ if (existing !== undefined && existing !== '') {
123
+ return; // caller-wired witness (--witness-url) is authoritative
124
+ }
125
+ if (token === undefined || token === '' || stateDir === undefined || stateDir === '') {
126
+ console.warn('[gateforge] no run state wired (GATEFORGE_STATE_DIR/GATEFORGE_RUN_TOKEN): ' +
127
+ 'reporter will not write claims/records and evidence primitives will fail closed');
128
+ return;
129
+ }
130
+ pending ??= startWitnessProcess({
131
+ GATEFORGE_RUN_ID: runId ?? '',
132
+ GATEFORGE_RUN_TOKEN: token,
133
+ GATEFORGE_STATE_DIR: stateDir,
134
+ }).then((handle) => {
135
+ spawned = handle;
136
+ return handle;
137
+ });
138
+ const handle = await pending;
139
+ process.env[ENV_WITNESS_URL] = handle.url;
140
+ mkdirSync(stateDir, { recursive: true });
141
+ writeFileSync(join(stateDir, WITNESS_URL_FILE),
142
+ // proxyUrl lets harnesses point the browser at the observation proxy
143
+ // when GATEFORGE_PROXY_TARGET was wired for this run.
144
+ `${JSON.stringify({ url: handle.url, proxyUrl: handle.proxyUrl })}\n`, 'utf8');
145
+ }
146
+ /** Playwright `globalTeardown`: stop the spawned witness. */
147
+ export async function gateforgeGlobalTeardown() {
148
+ const handle = spawned;
149
+ spawned = null;
150
+ pending = null;
151
+ if (handle !== null) {
152
+ handle.child.kill('SIGTERM');
153
+ // A short grace period lets the witness append its recordIds to the
154
+ // run manifest before the runner reports completion.
155
+ await new Promise((resolveWait) => {
156
+ const timer = setTimeout(() => {
157
+ handle.child.kill('SIGKILL');
158
+ resolveWait();
159
+ }, 2000);
160
+ handle.child.once('exit', () => {
161
+ clearTimeout(timer);
162
+ resolveWait();
163
+ });
164
+ });
165
+ }
166
+ }
167
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,4EAA4E;AAC5E,IAAI,OAAO,GAAyE,IAAI,CAAC;AAEzF,6DAA6D;AAC7D,IAAI,OAAO,GAAkF,IAAI,CAAC;AAElG;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAsB,EACtB,SAAS,GAAG,KAAK;IAEjB,qEAAqE;IACrE,iEAAiE;IACjE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE;QAC3C,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;QAC/B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,OAAO,CAA2C,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE;QACjG,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,SAAS,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACvE,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,UAAU,GAAG,qCAAqC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtE,IAAI,UAAU,KAAK,IAAI;gBAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAC1D,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS,CAAC,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,SAAS,CACP,IAAI,KAAK,CACP,oCAAoC,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBAC1E,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACjE,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,CAAC;IAC3C,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED,kEAAkE;AAClE,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,KAAa,EAAE,SAAiB;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC;QACR,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,SAAS,EAAE;gBAC5C,OAAO,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;gBACrC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,EAAE;gBAAE,OAAO;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,iCAAiC,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC9C,OAAO,CAAC,wDAAwD;IAClE,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACrF,OAAO,CAAC,IAAI,CACV,4EAA4E;YAC1E,iFAAiF,CACpF,CAAC;QACF,OAAO;IACT,CAAC;IACD,OAAO,KAAK,mBAAmB,CAAC;QAC9B,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC7B,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,QAAQ;KAC9B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACjB,OAAO,GAAG,MAAM,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;IAC1C,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,aAAa,CACX,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAChC,qEAAqE;IACrE,sDAAsD;IACtD,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EACrE,MAAM,CACP,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,GAAG,IAAI,CAAC;IACf,OAAO,GAAG,IAAI,CAAC;IACf,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,oEAAoE;QACpE,qDAAqD;QACrD,MAAM,IAAI,OAAO,CAAO,CAAC,WAAW,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,WAAW,EAAE,CAAC;YAChB,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC7B,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,WAAW,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,73 @@
1
+ import type { ExpectedSetRequest, ExpectedSetResponse, ExecutionTraceResponse, ServerE2eDeclarationsRequest, ServerE2eDeclarationsResponse, ServerPersistenceIntentRequest, ServerPersistenceResponse, ServerPreObservationResponse, SessionCloseRequest, SessionCloseResponse, SessionOpenRequest, SessionOpenResponse } from '../witness/types.js';
2
+ /**
3
+ * The supervisor-grade witness client.
4
+ *
5
+ * Args:
6
+ * url: witness base URL (loopback).
7
+ * token: the run token (outer auth gate).
8
+ * verifierKey: the witness verifier key (the supervisor capability;
9
+ * the tested suite never receives it).
10
+ * timeoutMs: per-call timeout.
11
+ */
12
+ export declare class SupervisorClient {
13
+ readonly url: string;
14
+ readonly token: string;
15
+ readonly verifierKey: string;
16
+ readonly timeoutMs: number;
17
+ constructor(url: string, token: string, verifierKey: string, timeoutMs?: number);
18
+ /**
19
+ * POST /runs/expected-set (fix 2a): registers the expected test set
20
+ * BEFORE the run; idempotent for an identical set.
21
+ *
22
+ * Args:
23
+ * request: the expected tests (identity-shaped).
24
+ *
25
+ * Returns:
26
+ * Promise<ExpectedSetResponse>: bound + enumeration digest + count.
27
+ *
28
+ * Throws:
29
+ * WitnessRequestError: on any refusal (401/403/409/400) — the CLI
30
+ * turns a refusal into a fail-closed run block.
31
+ */
32
+ registerExpectedSet(request: ExpectedSetRequest): Promise<ExpectedSetResponse>;
33
+ /**
34
+ * POST /sessions/open (fix 3): opens one test session on the
35
+ * supervisor's behalf (drained from the runner's lifecycle spool).
36
+ */
37
+ openSession(request: SessionOpenRequest): Promise<SessionOpenResponse>;
38
+ /**
39
+ * POST /sessions/close (fix 3): seals the session with the observed
40
+ * outcome; sealing is final.
41
+ */
42
+ closeSession(request: SessionCloseRequest): Promise<SessionCloseResponse>;
43
+ /**
44
+ * POST /runs/server-e2e-declarations: registers the obligations the
45
+ * trusted mapping layer declared kind `server-e2e` — the witness then
46
+ * (and only then) stamps `channel: 'server'` records for them.
47
+ */
48
+ registerServerE2eDeclarations(request: ServerE2eDeclarationsRequest): Promise<ServerE2eDeclarationsResponse>;
49
+ /**
50
+ * POST /witness/server-persistence: forwards one drained persistence
51
+ * claim intent. The witness executes the adapter SERVER PROBE itself
52
+ * and either stamps a witnessed `channel: 'server'` record (post) or
53
+ * stores its before-state (pre) — or answers a TYPED failure (the
54
+ * cause code rides `WitnessRequestError.detail`), which is never
55
+ * satisfaction.
56
+ */
57
+ verifyServerPersistence(request: ServerPersistenceIntentRequest): Promise<ServerPersistenceResponse | ServerPreObservationResponse>;
58
+ /**
59
+ * GET /runs/execution-trace (fix 2b): the witness-side session record
60
+ * — THE execution authority supervision grades completeness from.
61
+ *
62
+ * Returns:
63
+ * Promise<ExecutionTraceResponse | null>: the trace, or null when
64
+ * the witness cannot serve it (fail closed downstream — never an
65
+ * empty success).
66
+ */
67
+ executionTrace(): Promise<ExecutionTraceResponse | null>;
68
+ /** The supervisor headers (run token + verifier key). */
69
+ private headers;
70
+ /** POST with supervisor headers; errors map to typed WitnessRequestError. */
71
+ private request;
72
+ }
73
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/supervisor/client.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,EAC5B,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAG7B;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAGzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAmC;IAQhD;;;;;;;;;;;;;OAaG;IACG,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIpF;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI5E;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI/E;;;;OAIG;IACG,6BAA6B,CACjC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,6BAA6B,CAAC;IAIzC;;;;;;;OAOG;IACG,uBAAuB,CAC3B,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,yBAAyB,GAAG,4BAA4B,CAAC;IAOpE;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAuB9D,yDAAyD;IACzD,OAAO,CAAC,OAAO;IAUf,6EAA6E;YAC/D,OAAO;CAkCtB"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * The SUPERVISOR's witness transport (enforcement-review fixes 2a/3):
3
+ * every call here requires BOTH the run token (outer gate) and the
4
+ * verifier key (`x-gateforge-verifier`) — the capability the tested
5
+ * suite never receives. This client is meant to run ONLY inside the
6
+ * orchestrating CLI process: it registers the expected set, opens and
7
+ * closes test sessions on the supervisor's behalf (draining the
8
+ * runner's lifecycle spool), and fetches the witness-side execution
9
+ * trace that supervision grades completeness from. The suite-side
10
+ * `WitnessClient` deliberately has none of these methods.
11
+ */
12
+ import { VERIFIER_HEADER, RUN_HEADER, DEFAULT_REQUEST_TIMEOUT_MS } from '../constants.js';
13
+ import { WitnessRequestError } from '../fixture/witness-client.js';
14
+ /**
15
+ * The supervisor-grade witness client.
16
+ *
17
+ * Args:
18
+ * url: witness base URL (loopback).
19
+ * token: the run token (outer auth gate).
20
+ * verifierKey: the witness verifier key (the supervisor capability;
21
+ * the tested suite never receives it).
22
+ * timeoutMs: per-call timeout.
23
+ */
24
+ export class SupervisorClient {
25
+ url;
26
+ token;
27
+ verifierKey;
28
+ timeoutMs;
29
+ constructor(url, token, verifierKey, timeoutMs = DEFAULT_REQUEST_TIMEOUT_MS) {
30
+ this.url = url;
31
+ this.token = token;
32
+ this.verifierKey = verifierKey;
33
+ this.timeoutMs = timeoutMs;
34
+ }
35
+ /**
36
+ * POST /runs/expected-set (fix 2a): registers the expected test set
37
+ * BEFORE the run; idempotent for an identical set.
38
+ *
39
+ * Args:
40
+ * request: the expected tests (identity-shaped).
41
+ *
42
+ * Returns:
43
+ * Promise<ExpectedSetResponse>: bound + enumeration digest + count.
44
+ *
45
+ * Throws:
46
+ * WitnessRequestError: on any refusal (401/403/409/400) — the CLI
47
+ * turns a refusal into a fail-closed run block.
48
+ */
49
+ async registerExpectedSet(request) {
50
+ return this.request('/runs/expected-set', request);
51
+ }
52
+ /**
53
+ * POST /sessions/open (fix 3): opens one test session on the
54
+ * supervisor's behalf (drained from the runner's lifecycle spool).
55
+ */
56
+ async openSession(request) {
57
+ return this.request('/sessions/open', request);
58
+ }
59
+ /**
60
+ * POST /sessions/close (fix 3): seals the session with the observed
61
+ * outcome; sealing is final.
62
+ */
63
+ async closeSession(request) {
64
+ return this.request('/sessions/close', request);
65
+ }
66
+ /**
67
+ * POST /runs/server-e2e-declarations: registers the obligations the
68
+ * trusted mapping layer declared kind `server-e2e` — the witness then
69
+ * (and only then) stamps `channel: 'server'` records for them.
70
+ */
71
+ async registerServerE2eDeclarations(request) {
72
+ return this.request('/runs/server-e2e-declarations', request);
73
+ }
74
+ /**
75
+ * POST /witness/server-persistence: forwards one drained persistence
76
+ * claim intent. The witness executes the adapter SERVER PROBE itself
77
+ * and either stamps a witnessed `channel: 'server'` record (post) or
78
+ * stores its before-state (pre) — or answers a TYPED failure (the
79
+ * cause code rides `WitnessRequestError.detail`), which is never
80
+ * satisfaction.
81
+ */
82
+ async verifyServerPersistence(request) {
83
+ return this.request('/witness/server-persistence', request);
84
+ }
85
+ /**
86
+ * GET /runs/execution-trace (fix 2b): the witness-side session record
87
+ * — THE execution authority supervision grades completeness from.
88
+ *
89
+ * Returns:
90
+ * Promise<ExecutionTraceResponse | null>: the trace, or null when
91
+ * the witness cannot serve it (fail closed downstream — never an
92
+ * empty success).
93
+ */
94
+ async executionTrace() {
95
+ const controller = new AbortController();
96
+ const timer = setTimeout(() => controller.abort(), this.timeoutMs);
97
+ let response;
98
+ try {
99
+ response = await fetch(`${this.url}/runs/execution-trace`, {
100
+ method: 'GET',
101
+ headers: this.headers(),
102
+ signal: controller.signal,
103
+ });
104
+ }
105
+ catch {
106
+ return null; // transport failure: the caller fails closed
107
+ }
108
+ finally {
109
+ clearTimeout(timer);
110
+ }
111
+ if (!response.ok)
112
+ return null;
113
+ try {
114
+ return (await response.json());
115
+ }
116
+ catch {
117
+ return null;
118
+ }
119
+ }
120
+ /** The supervisor headers (run token + verifier key). */
121
+ headers() {
122
+ return {
123
+ [RUN_HEADER]: this.token,
124
+ [VERIFIER_HEADER]: this.verifierKey,
125
+ 'content-type': 'application/json',
126
+ accept: 'application/json',
127
+ connection: 'close',
128
+ };
129
+ }
130
+ /** POST with supervisor headers; errors map to typed WitnessRequestError. */
131
+ async request(path, payload) {
132
+ const controller = new AbortController();
133
+ const timer = setTimeout(() => controller.abort(), this.timeoutMs);
134
+ let response;
135
+ try {
136
+ response = await fetch(`${this.url}${path}`, {
137
+ method: 'POST',
138
+ headers: this.headers(),
139
+ body: JSON.stringify(payload),
140
+ signal: controller.signal,
141
+ });
142
+ }
143
+ catch (error) {
144
+ clearTimeout(timer);
145
+ throw new WitnessRequestError(0, `supervisor call to ${path} failed: ${error.message}`);
146
+ }
147
+ clearTimeout(timer);
148
+ let body;
149
+ try {
150
+ body = await response.json();
151
+ }
152
+ catch {
153
+ body = null;
154
+ }
155
+ if (!response.ok) {
156
+ const record = typeof body === 'object' && body !== null ? body : {};
157
+ throw new WitnessRequestError(response.status, typeof record['error'] === 'string'
158
+ ? record['error']
159
+ : `witness answered HTTP ${String(response.status)} for ${path}`, typeof record['detail'] === 'string' ? record['detail'] : null);
160
+ }
161
+ return body;
162
+ }
163
+ }
164
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/supervisor/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /** Default cadence between spool polls (the fixture's resolve waits 5s). */
2
+ export declare const DEFAULT_DRAIN_POLL_MS = 50;
3
+ /** Handle for a running drain (see {@link startSupervisorSpoolDrain}). */
4
+ export interface SpoolDrainHandle {
5
+ /**
6
+ * Stops the drain: performs one final sweep of both spools (lifecycle
7
+ * events AND persistence intents), then force-closes every session the
8
+ * runner left open (outcome unknown — the supervisor did not observe a
9
+ * completed test). Resolves with the lifecycle CONFLICTS observed
10
+ * (empty in a genuine run): a re-begin over an open worker slot, an
11
+ * end without a matching begin, or a second end for the same test —
12
+ * plus the TYPED server-persistence intent failures (each names the
13
+ * intent, the witness cause, and the next action). Genuine serial
14
+ * reporter events never conflict — any conflict is worker-side forgery
15
+ * or runner confusion and must fail the run closed downstream.
16
+ */
17
+ stop: () => Promise<{
18
+ conflicts: string[];
19
+ intentFailures: string[];
20
+ }>;
21
+ }
22
+ /**
23
+ * Starts the spool drain loop for one supervised run.
24
+ *
25
+ * Args:
26
+ * options: stateDir + runId locate the spools; witnessUrl/runToken/
27
+ * verifierKey authenticate the supervisor channel; pollMs tunes the
28
+ * poll cadence (tests only); serverE2eObligations, when provided,
29
+ * are registered BEFORE any intent forwarding (the trusted mapping
30
+ * layer's `kind: server-e2e` declarations — the witness stamps
31
+ * server-channel records for these obligations only).
32
+ *
33
+ * Returns:
34
+ * SpoolDrainHandle: awaitable stop (final drain + force-close).
35
+ */
36
+ export declare function startSupervisorSpoolDrain(options: {
37
+ stateDir: string;
38
+ runId: string;
39
+ witnessUrl: string;
40
+ runToken: string;
41
+ verifierKey: string;
42
+ pollMs?: number;
43
+ serverE2eObligations?: readonly string[];
44
+ }): SpoolDrainHandle;
45
+ //# sourceMappingURL=drain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drain.d.ts","sourceRoot":"","sources":["../../src/supervisor/drain.ts"],"names":[],"mappings":"AAoCA,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAQxC,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;OAWG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C,GAAG,gBAAgB,CA8MnB"}