@telora/daemon 0.24.7 → 0.24.10

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 (172) hide show
  1. package/build-info.json +12 -3
  2. package/dist/backends/agent-backend.d.ts +10 -0
  3. package/dist/backends/agent-backend.d.ts.map +1 -1
  4. package/dist/backends/claude/claude-backend.d.ts +19 -0
  5. package/dist/backends/claude/claude-backend.d.ts.map +1 -1
  6. package/dist/backends/claude/claude-backend.js +41 -1
  7. package/dist/backends/claude/claude-backend.js.map +1 -1
  8. package/dist/backends/codex/codex-backend.d.ts.map +1 -1
  9. package/dist/backends/codex/codex-backend.js +50 -20
  10. package/dist/backends/codex/codex-backend.js.map +1 -1
  11. package/dist/backends/index.js +1 -1
  12. package/dist/ci/candidate-ref.js +1 -1
  13. package/dist/ci/candidate-ref.js.map +1 -1
  14. package/dist/ci/gate-ref.d.ts +150 -0
  15. package/dist/ci/gate-ref.d.ts.map +1 -0
  16. package/dist/ci/gate-ref.js +348 -0
  17. package/dist/ci/gate-ref.js.map +1 -0
  18. package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
  19. package/dist/completion/review-exit/review-exit-phase.js +11 -22
  20. package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
  21. package/dist/composition/execution-migrations-context.js +1 -1
  22. package/dist/composition/runtime-poll-context.d.ts +7 -1
  23. package/dist/composition/runtime-poll-context.d.ts.map +1 -1
  24. package/dist/composition/runtime-poll-context.js +14 -2
  25. package/dist/composition/runtime-poll-context.js.map +1 -1
  26. package/dist/composition/verification-context.d.ts.map +1 -1
  27. package/dist/composition/verification-context.js +56 -8
  28. package/dist/composition/verification-context.js.map +1 -1
  29. package/dist/delivery/delivery-reconciler.d.ts +10 -15
  30. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  31. package/dist/delivery/delivery-reconciler.js +17 -30
  32. package/dist/delivery/delivery-reconciler.js.map +1 -1
  33. package/dist/focus/focus-executor.d.ts.map +1 -1
  34. package/dist/focus/focus-executor.js +2 -6
  35. package/dist/focus/focus-executor.js.map +1 -1
  36. package/dist/focus/verify-routing-passes.d.ts +5 -1
  37. package/dist/focus/verify-routing-passes.d.ts.map +1 -1
  38. package/dist/focus/verify-routing-passes.js +1 -0
  39. package/dist/focus/verify-routing-passes.js.map +1 -1
  40. package/dist/host-control/load.d.ts.map +1 -1
  41. package/dist/host-control/load.js +2 -1
  42. package/dist/host-control/load.js.map +1 -1
  43. package/dist/nexus/file-escalation.d.ts.map +1 -1
  44. package/dist/nexus/file-escalation.js +1 -0
  45. package/dist/nexus/file-escalation.js.map +1 -1
  46. package/dist/nexus/intake.d.ts +14 -2
  47. package/dist/nexus/intake.d.ts.map +1 -1
  48. package/dist/nexus/intake.js +11 -2
  49. package/dist/nexus/intake.js.map +1 -1
  50. package/dist/nexus/pending-returns.d.ts +1 -1
  51. package/dist/nexus/pending-returns.d.ts.map +1 -1
  52. package/dist/prompt/team-prompt-base.d.ts +31 -2
  53. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  54. package/dist/prompt/team-prompt-base.js +52 -2
  55. package/dist/prompt/team-prompt-base.js.map +1 -1
  56. package/dist/prompt-sections/persona-sections.d.ts +7 -6
  57. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  58. package/dist/prompt-sections/persona-sections.js +17 -13
  59. package/dist/prompt-sections/persona-sections.js.map +1 -1
  60. package/dist/prompt-sections/role-sections.d.ts +12 -1
  61. package/dist/prompt-sections/role-sections.d.ts.map +1 -1
  62. package/dist/prompt-sections/role-sections.js +42 -1
  63. package/dist/prompt-sections/role-sections.js.map +1 -1
  64. package/dist/prompt-sections/shared.js +1 -1
  65. package/dist/queries/deliveries/falsified-effect-reopens.d.ts +33 -0
  66. package/dist/queries/deliveries/falsified-effect-reopens.d.ts.map +1 -0
  67. package/dist/queries/deliveries/falsified-effect-reopens.js +36 -0
  68. package/dist/queries/deliveries/falsified-effect-reopens.js.map +1 -0
  69. package/dist/queries/verification/verification.js +1 -1
  70. package/dist/resolvers/assembly-engine.js +1 -1
  71. package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
  72. package/dist/resolvers/git-diff-against-base.js +2 -1
  73. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  74. package/dist/session/session-lineage.d.ts +15 -6
  75. package/dist/session/session-lineage.d.ts.map +1 -1
  76. package/dist/session/session-lineage.js +17 -5
  77. package/dist/session/session-lineage.js.map +1 -1
  78. package/dist/spawn/model-routing.d.ts +1 -1
  79. package/dist/spawn/model-routing.d.ts.map +1 -1
  80. package/dist/spawn/model-routing.js +6 -4
  81. package/dist/spawn/model-routing.js.map +1 -1
  82. package/dist/spawn/prompt-assembly.d.ts +0 -9
  83. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  84. package/dist/spawn/prompt-assembly.js +61 -65
  85. package/dist/spawn/prompt-assembly.js.map +1 -1
  86. package/dist/spawn/spawn-decision.d.ts +8 -1
  87. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  88. package/dist/spawn/spawn-decision.js +10 -3
  89. package/dist/spawn/spawn-decision.js.map +1 -1
  90. package/dist/testing/fixtures/index.js +1 -1
  91. package/dist/testing/fixtures/verification-deps.d.ts +8 -67
  92. package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
  93. package/dist/testing/fixtures/verification-deps.js +94 -1
  94. package/dist/testing/fixtures/verification-deps.js.map +1 -1
  95. package/dist/testing/fixtures/vitest-failure-log.d.ts.map +1 -1
  96. package/dist/testing/fixtures/vitest-failure-log.js +1 -0
  97. package/dist/testing/fixtures/vitest-failure-log.js.map +1 -1
  98. package/dist/types/index.js +1 -1
  99. package/dist/verify/ci-gate/ci-gate-dispatch.d.ts +93 -0
  100. package/dist/verify/ci-gate/ci-gate-dispatch.d.ts.map +1 -0
  101. package/dist/verify/ci-gate/ci-gate-dispatch.js +304 -0
  102. package/dist/verify/ci-gate/ci-gate-dispatch.js.map +1 -0
  103. package/dist/verify/ci-gate/ci-gate-reruns.d.ts +51 -0
  104. package/dist/verify/ci-gate/ci-gate-reruns.d.ts.map +1 -0
  105. package/dist/verify/ci-gate/ci-gate-reruns.js +189 -0
  106. package/dist/verify/ci-gate/ci-gate-reruns.js.map +1 -0
  107. package/dist/verify/ci-gate/ci-gate-wait-record.d.ts +33 -0
  108. package/dist/verify/ci-gate/ci-gate-wait-record.d.ts.map +1 -0
  109. package/dist/verify/ci-gate/ci-gate-wait-record.js +89 -0
  110. package/dist/verify/ci-gate/ci-gate-wait-record.js.map +1 -0
  111. package/dist/verify/deterministic-gate/verification-deterministic.d.ts +6 -0
  112. package/dist/verify/deterministic-gate/verification-deterministic.d.ts.map +1 -1
  113. package/dist/verify/deterministic-gate/verification-deterministic.js +1 -20
  114. package/dist/verify/deterministic-gate/verification-deterministic.js.map +1 -1
  115. package/dist/verify/deterministic-gate/verification-gate-stages.d.ts.map +1 -1
  116. package/dist/verify/deterministic-gate/verification-gate-stages.js +1 -0
  117. package/dist/verify/deterministic-gate/verification-gate-stages.js.map +1 -1
  118. package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts +34 -5
  119. package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts.map +1 -1
  120. package/dist/verify/effect-reconciliation/verify-reconciliation.js +106 -27
  121. package/dist/verify/effect-reconciliation/verify-reconciliation.js.map +1 -1
  122. package/dist/verify/engine/verification-commit-sharing.d.ts +24 -0
  123. package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
  124. package/dist/verify/engine/verification-commit-sharing.js +93 -1
  125. package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
  126. package/dist/verify/engine/verification-deps.d.ts +9 -0
  127. package/dist/verify/engine/verification-deps.d.ts.map +1 -1
  128. package/dist/verify/engine/verification-deps.js +1 -1
  129. package/dist/verify/engine/verification-engine.d.ts.map +1 -1
  130. package/dist/verify/engine/verification-engine.js +19 -5
  131. package/dist/verify/engine/verification-engine.js.map +1 -1
  132. package/dist/verify/failing-test-rerun/failing-test-retry.d.ts.map +1 -1
  133. package/dist/verify/failing-test-rerun/failing-test-retry.js +2 -1
  134. package/dist/verify/failing-test-rerun/failing-test-retry.js.map +1 -1
  135. package/dist/verify/gate-config/judged-commit-gate.d.ts +11 -3
  136. package/dist/verify/gate-config/judged-commit-gate.d.ts.map +1 -1
  137. package/dist/verify/gate-config/judged-commit-gate.js +16 -5
  138. package/dist/verify/gate-config/judged-commit-gate.js.map +1 -1
  139. package/dist/verify/gate-config/verification-config.js +1 -1
  140. package/dist/verify/gate-config/verification-manifest.d.ts +18 -1
  141. package/dist/verify/gate-config/verification-manifest.d.ts.map +1 -1
  142. package/dist/verify/gate-config/verification-manifest.js +21 -21
  143. package/dist/verify/gate-config/verification-manifest.js.map +1 -1
  144. package/dist/verify/gate-verdicts/commit-verdict-record.d.ts +2 -0
  145. package/dist/verify/gate-verdicts/commit-verdict-record.d.ts.map +1 -1
  146. package/dist/verify/gate-verdicts/commit-verdict-record.js +11 -4
  147. package/dist/verify/gate-verdicts/commit-verdict-record.js.map +1 -1
  148. package/dist/verify/gate-verdicts/gate-run-registry.js +1 -1
  149. package/dist/verify/outcome-routing/failing-output-excerpt.d.ts +8 -0
  150. package/dist/verify/outcome-routing/failing-output-excerpt.d.ts.map +1 -0
  151. package/dist/verify/outcome-routing/failing-output-excerpt.js +41 -0
  152. package/dist/verify/outcome-routing/failing-output-excerpt.js.map +1 -0
  153. package/dist/verify/outcome-routing/falsified-effect-reopen.d.ts +17 -0
  154. package/dist/verify/outcome-routing/falsified-effect-reopen.d.ts.map +1 -0
  155. package/dist/verify/outcome-routing/falsified-effect-reopen.js +76 -0
  156. package/dist/verify/outcome-routing/falsified-effect-reopen.js.map +1 -0
  157. package/dist/verify/outcome-routing/verification-feedback.d.ts +2 -0
  158. package/dist/verify/outcome-routing/verification-feedback.d.ts.map +1 -1
  159. package/dist/verify/outcome-routing/verification-feedback.js +3 -0
  160. package/dist/verify/outcome-routing/verification-feedback.js.map +1 -1
  161. package/dist/verify/outcome-routing/verification-rework-issue.d.ts +7 -0
  162. package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
  163. package/dist/verify/outcome-routing/verification-rework-issue.js +30 -2
  164. package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
  165. package/dist/verify/run-selection/default-on-guards.js +1 -1
  166. package/dist/verify/run-selection/explicit-rearm.d.ts.map +1 -1
  167. package/dist/verify/run-selection/explicit-rearm.js +1 -0
  168. package/dist/verify/run-selection/explicit-rearm.js.map +1 -1
  169. package/dist/verify/run-selection/verification-default-on.d.ts.map +1 -1
  170. package/dist/verify/run-selection/verification-default-on.js +1 -0
  171. package/dist/verify/run-selection/verification-default-on.js.map +1 -1
  172. package/package.json +2 -2
@@ -0,0 +1,348 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/ci/gate-ci-contract.test.ts, packages/daemon/src/ci/gate-ref.test.ts,
3
+ // packages/daemon/src/verify/ci-gate/ci-gate-dispatch.test.ts,
4
+ // packages/daemon/src/verify/ci-gate/ci-gate-reruns.test.ts
5
+ // PINNED-BY-END
6
+ /**
7
+ * The per-HEAD GATE namespace: where the daemon hands a focus commit to the
8
+ * product's CI to run its gate command, and where CI hands the verdict and the
9
+ * log back -- for a product whose telora.verify.json says `"gateRunner": "ci"`
10
+ * (verify/ci-gate/). Why: docs/runbook-verify-gate-in-ci.md.
11
+ *
12
+ * FOUR names, all git-native, all read and written over the daemon's existing
13
+ * git channel (no Gitea API client, no token):
14
+ *
15
+ * refs/heads/telora-gate/<focusId> the judged commit, force-pushed. A BRANCH
16
+ * because Gitea Actions fires `push` only
17
+ * for branches and tags (as with
18
+ * ci/candidate-ref.ts). One per focus. A
19
+ * run at another commit than the judged
20
+ * HEAD (attribution's base) is pushed as a
21
+ * HARNESS commit over it
22
+ * ({@link buildHarnessCommit}): that commit
23
+ * may predate the gate job and its script.
24
+ * refs/telora-gate-spec/<focusId> a commit whose message is the run's
25
+ * GateRunSpec (JSON): the commit it judges,
26
+ * the command, the timeout, the boundary
27
+ * env (TELORA_VERIFY_BASE_REF,
28
+ * TELORA_VERIFY_RECORDED_COMMIT_COUNT) and
29
+ * the run key. Pushed in the SAME push as
30
+ * the branch, so the job triggered by the
31
+ * branch always finds the spec beside it.
32
+ * refs/telora-gate-status/<sha>/<key>/<run>/<state>
33
+ * what CI publishes: the state in the ref
34
+ * NAME (success | failure), the run number
35
+ * ordering runs, and the ref POINTING AT a
36
+ * commit whose tree holds `gate.log` and
37
+ * `gate-result.json` -- so one ls-remote
38
+ * reads the verdict and names the log.
39
+ *
40
+ * DISTINCT from the candidate namespace on purpose. A completed focus's
41
+ * integration candidate (telora-candidate/**, refs/ci-status) and a focus HEAD's
42
+ * gate are different questions -- the full suite on the combined tree vs the
43
+ * product's per-HEAD gate command -- and can be asked of the same sha. Sharing
44
+ * refs/ci-status would let one answer the other.
45
+ *
46
+ * The run KEY is the gate's identity: the same hash the per-commit verdict record
47
+ * is keyed by (verify/gate-verdicts/commit-verdict-record.ts imports
48
+ * {@link gateRunKey} from here, so the two can never disagree). A verdict under
49
+ * one command or timeout says nothing about another, so a status published under
50
+ * another key is never read as this gate's.
51
+ *
52
+ * NAMED ONCE HERE. `.github/workflows/ci.yml` triggers on
53
+ * {@link GATE_BRANCH_TRIGGER_GLOB}; scripts/ci-gate-run.sh runs the spec and
54
+ * publishes under {@link GATE_STATUS_REF_PREFIX}; ci/gate-ci-contract.test.ts
55
+ * executes that script against a real bare repo and reads its output back
56
+ * through the readers below.
57
+ *
58
+ * Fail-closed throughout: an unreadable remote, an absent ref or a malformed one
59
+ * classifies to 'unknown', and the caller holds.
60
+ *
61
+ * @module ci/gate-ref
62
+ */
63
+ import { execFileSync } from 'node:child_process';
64
+ import { createHash, randomUUID } from 'node:crypto';
65
+ import { rmSync } from 'node:fs';
66
+ import { tmpdir } from 'node:os';
67
+ import { join } from 'node:path';
68
+ import { classifyGitNativeCiStatus } from './ci-status.js';
69
+ /** Branch prefix of the gate namespace (under refs/heads/). */
70
+ export const GATE_BRANCH_PREFIX = 'telora-gate';
71
+ /** The ci.yml `on.push.branches` glob that admits every gate branch. */
72
+ export const GATE_BRANCH_TRIGGER_GLOB = `${GATE_BRANCH_PREFIX}/**`;
73
+ /** Where the spec of a focus's latest gate push lives. */
74
+ export const GATE_SPEC_REF_PREFIX = 'refs/telora-gate-spec';
75
+ /** Where CI publishes a gate run's verdict (in the ref name) and log (in the commit it points at). */
76
+ export const GATE_STATUS_REF_PREFIX = 'refs/telora-gate-status';
77
+ /** The file in a published status commit holding the run's combined output. */
78
+ export const GATE_LOG_FILE = 'gate.log';
79
+ /** The file in a published status commit holding the run's exit facts (JSON). */
80
+ export const GATE_RESULT_FILE = 'gate-result.json';
81
+ /** The spec format this daemon writes; the CI script refuses any other. */
82
+ export const GATE_SPEC_VERSION = 1;
83
+ /** Identity the daemon commits the spec as (a runner or a host may have no git identity). */
84
+ const SPEC_AUTHOR = ['-c', 'user.name=telora-daemon', '-c', 'user.email=telora-daemon@localhost'];
85
+ /** A gate log can run to megabytes; the shared runGit caps output at Node's 1 MiB default. */
86
+ const GIT_MAX_BUFFER = 256 * 1024 * 1024;
87
+ const GIT_TIMEOUT_MS = 120_000;
88
+ /** git, synchronously, with room for a whole gate log; never throws. */
89
+ export const gateGit = (args, cwd, env) => {
90
+ try {
91
+ const output = execFileSync('git', args, {
92
+ cwd, encoding: 'utf-8', stdio: ['ignore', 'pipe', 'pipe'], timeout: GIT_TIMEOUT_MS, maxBuffer: GIT_MAX_BUFFER,
93
+ ...(env ? { env: { ...process.env, ...env } } : {}),
94
+ });
95
+ return { success: true, output: output.trim() };
96
+ }
97
+ catch (err) {
98
+ const e = err;
99
+ return { success: false, output: e.stdout?.toString() ?? '', error: e.stderr?.toString() || e.message || 'git failed' };
100
+ }
101
+ };
102
+ const SHA40 = /^[0-9a-f]{40}$/i;
103
+ const KEY_RE = /^[0-9a-f]{12}$/;
104
+ /**
105
+ * A gate's identity: its command + timeout, hashed (12 hex). The ONE definition
106
+ * the per-commit verdict record keys its files by and CI publishes under.
107
+ */
108
+ export function gateRunKey(gate) {
109
+ return createHash('sha256').update(JSON.stringify([gate.command, gate.timeoutMs])).digest('hex').slice(0, 12);
110
+ }
111
+ /** The gate branch name for a focus (one per focus; force-pushed per run). */
112
+ export function gateBranchForFocus(focusId) {
113
+ return `${GATE_BRANCH_PREFIX}/${focusId}`;
114
+ }
115
+ /** The spec ref for a focus. */
116
+ export function gateSpecRefForFocus(focusId) {
117
+ return `${GATE_SPEC_REF_PREFIX}/${focusId}`;
118
+ }
119
+ /** Whether a branch name (or full refs/heads/ ref) is in the gate namespace. */
120
+ export function isGateBranch(ref) {
121
+ const name = ref.startsWith('refs/heads/') ? ref.slice('refs/heads/'.length) : ref;
122
+ return name.startsWith(`${GATE_BRANCH_PREFIX}/`);
123
+ }
124
+ /** Build the spec for one run; its key is the gate identity of `command` + `timeoutMs`. Pure. */
125
+ export function buildGateRunSpec(params) {
126
+ return {
127
+ version: GATE_SPEC_VERSION,
128
+ purpose: params.purpose,
129
+ focusId: params.focusId,
130
+ sha: params.sha,
131
+ key: gateRunKey(params),
132
+ command: params.command,
133
+ timeoutMs: params.timeoutMs,
134
+ env: { ...(params.env ?? {}) },
135
+ };
136
+ }
137
+ function isStringRecord(value) {
138
+ return typeof value === 'object' && value !== null && !Array.isArray(value)
139
+ && Object.values(value).every((v) => typeof v === 'string');
140
+ }
141
+ /** Parse a spec (the spec commit's message); null when it is not a well-formed spec of this version. Pure. */
142
+ export function parseGateRunSpec(text) {
143
+ let raw;
144
+ try {
145
+ raw = JSON.parse(text.trim());
146
+ }
147
+ catch {
148
+ return null;
149
+ }
150
+ if (typeof raw !== 'object' || raw === null)
151
+ return null;
152
+ const r = raw;
153
+ if (r.version !== GATE_SPEC_VERSION)
154
+ return null;
155
+ if (r.purpose !== 'gate' && r.purpose !== 'rerun' && r.purpose !== 'base')
156
+ return null;
157
+ if (typeof r.focusId !== 'string' || typeof r.sha !== 'string' || !SHA40.test(r.sha))
158
+ return null;
159
+ if (typeof r.key !== 'string' || !KEY_RE.test(r.key))
160
+ return null;
161
+ if (typeof r.command !== 'string' || r.command.trim() === '')
162
+ return null;
163
+ if (typeof r.timeoutMs !== 'number' || !(r.timeoutMs > 0))
164
+ return null;
165
+ if (!isStringRecord(r.env))
166
+ return null;
167
+ return {
168
+ version: r.version, purpose: r.purpose, focusId: r.focusId, sha: r.sha, key: r.key,
169
+ command: r.command, timeoutMs: r.timeoutMs, env: { ...r.env },
170
+ };
171
+ }
172
+ /** The sha a ref points at on origin via a scoped ls-remote; null when absent or git fails. */
173
+ function lsRemoteSha(repoPath, ref, git) {
174
+ const result = git(['ls-remote', 'origin', ref], repoPath);
175
+ if (!result.success || !result.output)
176
+ return null;
177
+ const sha = result.output.split('\n')[0]?.split('\t')[0]?.trim() ?? '';
178
+ return SHA40.test(sha) ? sha : null;
179
+ }
180
+ /** The sha the focus's gate branch points at on origin; null when never pushed or git fails. */
181
+ export function readPushedGateSha(repoPath, focusId, git) {
182
+ return lsRemoteSha(repoPath, `refs/heads/${gateBranchForFocus(focusId)}`, git);
183
+ }
184
+ /** Remove the focus's gate branch from origin. Best-effort: false when git refused (e.g. nothing to delete). */
185
+ export function deleteGateBranch(repoPath, focusId, git) {
186
+ return git(['push', 'origin', '--delete', `refs/heads/${gateBranchForFocus(focusId)}`], repoPath).success;
187
+ }
188
+ /** Write the spec as a commit (empty tree, the JSON as its message); its sha, or null when git failed. */
189
+ function writeSpecCommit(repoPath, spec, git) {
190
+ const tree = git(['hash-object', '-t', 'tree', '-w', '/dev/null'], repoPath);
191
+ const treeSha = tree.output.trim();
192
+ if (!tree.success || !SHA40.test(treeSha))
193
+ return null;
194
+ const commit = git([...SPEC_AUTHOR, 'commit-tree', treeSha, '-m', JSON.stringify(spec)], repoPath);
195
+ const sha = commit.output.trim();
196
+ return commit.success && SHA40.test(sha) ? sha : null;
197
+ }
198
+ /**
199
+ * What a CI run needs from the repo besides the code it judges: the workflows that
200
+ * define the gate job, and the script the job runs. A commit from before the
201
+ * product adopted the CI gate (a focus base, for attribution) carries neither, so
202
+ * pushing it alone would start no run at all.
203
+ */
204
+ export const GATE_HARNESS_PATHS = ['.github/workflows', '.gitea/workflows', 'scripts/ci-gate-run.sh'];
205
+ /** The subject a harness commit opens with; scripts/ci-gate-run.sh accepts only a commit carrying it. */
206
+ export const GATE_HARNESS_SUBJECT = 'telora-gate-harness';
207
+ /**
208
+ * A HARNESS commit for running `sourceSha` on CI with the gate harness of
209
+ * `harnessFrom`: its only parent is `sourceSha`, and its tree is `sourceSha`'s
210
+ * with {@link GATE_HARNESS_PATHS} replaced by `harnessFrom`'s -- so the push
211
+ * triggers the gate job, and the job (scripts/ci-gate-run.sh) checks out
212
+ * `sourceSha` itself before it runs the command: the run executes at the source
213
+ * commit exactly, and only the harness comes from the installed revision. Built
214
+ * in a scratch index, so no working tree or real index is touched. Null when git
215
+ * fails.
216
+ */
217
+ export function buildHarnessCommit(repoPath, sourceSha, harnessFrom, git) {
218
+ const index = join(tmpdir(), `telora-gate-harness-${process.pid}-${randomUUID()}.index`);
219
+ const env = { GIT_INDEX_FILE: index };
220
+ try {
221
+ if (!git(['read-tree', sourceSha], repoPath, env).success)
222
+ return null;
223
+ if (!git(['rm', '-r', '--cached', '--ignore-unmatch', '--quiet', '--', ...GATE_HARNESS_PATHS], repoPath, env).success)
224
+ return null;
225
+ const listed = git(['ls-tree', '-r', harnessFrom, '--', ...GATE_HARNESS_PATHS], repoPath);
226
+ if (!listed.success)
227
+ return null;
228
+ for (const line of listed.output.split('\n').filter(Boolean)) {
229
+ const [meta = '', path = ''] = line.split('\t');
230
+ const [mode = '', , oid = ''] = meta.split(' ');
231
+ if (!git(['update-index', '--add', '--cacheinfo', `${mode},${oid},${path}`], repoPath, env).success)
232
+ return null;
233
+ }
234
+ const tree = git(['write-tree'], repoPath, env);
235
+ if (!tree.success || !SHA40.test(tree.output.trim()))
236
+ return null;
237
+ const subject = `${GATE_HARNESS_SUBJECT}: run ${sourceSha} with the gate harness of ${harnessFrom}`;
238
+ const commit = git([...SPEC_AUTHOR, 'commit-tree', tree.output.trim(), '-p', sourceSha, '-m', subject], repoPath);
239
+ const sha = commit.output.trim();
240
+ return commit.success && SHA40.test(sha) ? sha : null;
241
+ }
242
+ finally {
243
+ rmSync(index, { force: true });
244
+ }
245
+ }
246
+ /**
247
+ * Hand `spec` to CI: push the spec commit to the focus's spec ref and `spec.sha`
248
+ * to its gate branch, in ONE push (both refs land before the push triggers the
249
+ * job). When the branch already points at `spec.sha` -- a re-push, or a re-run
250
+ * of the same commit -- it is deleted first, because re-pushing an unchanged sha
251
+ * to an existing branch triggers nothing. With `harnessFrom` naming another commit
252
+ * than `spec.sha` (the judged HEAD, for a run at the focus base), a harness commit
253
+ * over `spec.sha` carrying `harnessFrom`'s gate job and script is pushed instead
254
+ * ({@link buildHarnessCommit}); the job still runs at `spec.sha` and publishes
255
+ * under it. Returns false on any git failure; the caller holds and asks again.
256
+ */
257
+ export function pushGateRun(repoPath, spec, git, harnessFrom) {
258
+ const specSha = writeSpecCommit(repoPath, spec, git);
259
+ if (specSha === null)
260
+ return false;
261
+ const pushed = harnessFrom !== undefined && harnessFrom !== spec.sha ? buildHarnessCommit(repoPath, spec.sha, harnessFrom, git) : spec.sha;
262
+ if (pushed === null)
263
+ return false;
264
+ const branch = `refs/heads/${gateBranchForFocus(spec.focusId)}`;
265
+ if (lsRemoteSha(repoPath, branch, git) === pushed.toLowerCase())
266
+ deleteGateBranch(repoPath, spec.focusId, git);
267
+ const result = git(['push', '--force', 'origin', `${specSha}:${gateSpecRefForFocus(spec.focusId)}`, `${pushed}:${branch}`], repoPath);
268
+ return result.success;
269
+ }
270
+ /** Parse one ls-remote line under `<prefix>/<sha>/<key>/`; null when it is not a well-formed status ref. */
271
+ function parseStatusLine(line, prefix) {
272
+ const [oid = '', ref = ''] = line.trim().split('\t').map((s) => s.trim());
273
+ if (!SHA40.test(oid) || !ref.startsWith(prefix))
274
+ return null;
275
+ const [run = '', state = '', ...rest] = ref.slice(prefix.length).split('/');
276
+ if (rest.length > 0 || !/^[0-9]+$/.test(run))
277
+ return null;
278
+ const runNumber = Number(run);
279
+ if (!Number.isSafeInteger(runNumber))
280
+ return null;
281
+ const mapped = classifyGitNativeCiStatus([`refs/ci-status/x/${runNumber}/${state}`]);
282
+ if (mapped !== 'green' && mapped !== 'red' && mapped !== 'pending')
283
+ return null;
284
+ return { ref, oid, runNumber, state: mapped };
285
+ }
286
+ /** Every status CI published for `sha` under `key` (scoped, read-only ls-remote); [] on any failure. */
287
+ export function listGateStatus(repoPath, sha, key, git) {
288
+ const prefix = `${GATE_STATUS_REF_PREFIX}/${sha}/${key}/`;
289
+ const result = git(['ls-remote', 'origin', `${prefix}*`], repoPath);
290
+ if (!result.success || !result.output)
291
+ return [];
292
+ return result.output.split('\n').map((line) => parseStatusLine(line, prefix)).filter((s) => s !== null);
293
+ }
294
+ /**
295
+ * Classify the statuses published for one (sha, key) exactly as an integration
296
+ * tip is classified (ci/ci-status.ts classifyGitNativeCiStatus: red wins within a
297
+ * run, any completed green wins across runs, none = unknown), and name the run
298
+ * that decided it: a green run for green, the newest red run for red. Pure.
299
+ */
300
+ export function classifyGateStatus(published) {
301
+ const status = classifyGitNativeCiStatus(published.map((p) => `refs/ci-status/x/${p.runNumber}/${p.state === 'green' ? 'success' : p.state === 'red' ? 'failure' : 'pending'}`));
302
+ if (status !== 'green' && status !== 'red')
303
+ return { status, decidedBy: null };
304
+ const deciding = published.filter((p) => p.state === status).sort((a, b) => b.runNumber - a.runNumber)[0] ?? null;
305
+ return { status, decidedBy: deciding };
306
+ }
307
+ /** Read the verdict CI published for `sha` under `key`. Fail-closed: anything unreadable is 'unknown'. */
308
+ export function readGateRunVerdict(repoPath, sha, key, git) {
309
+ try {
310
+ return classifyGateStatus(listGateStatus(repoPath, sha, key, git));
311
+ }
312
+ catch {
313
+ return { status: 'unknown', decidedBy: null };
314
+ }
315
+ }
316
+ /** Parse gate-result.json; null when it is not well-formed. Pure. */
317
+ export function parseGateRunResult(text) {
318
+ try {
319
+ const raw = JSON.parse(text);
320
+ if (typeof raw !== 'object' || raw === null)
321
+ return null;
322
+ return {
323
+ exitCode: typeof raw.exitCode === 'number' ? raw.exitCode : null,
324
+ timedOut: raw.timedOut === true,
325
+ durationMs: typeof raw.durationMs === 'number' ? raw.durationMs : null,
326
+ };
327
+ }
328
+ catch {
329
+ return null;
330
+ }
331
+ }
332
+ /**
333
+ * Fetch the log a published status points at: one scoped fetch of that ref
334
+ * (no FETCH_HEAD written, no local ref created), then the blob read out of the
335
+ * commit it named. Null when the fetch fails or the commit carries no log --
336
+ * the caller treats that as unavailable evidence, never as a pass.
337
+ */
338
+ export function readGateRunLog(repoPath, published, git) {
339
+ const fetched = git(['fetch', '--no-write-fetch-head', '--no-tags', 'origin', published.ref], repoPath);
340
+ if (!fetched.success)
341
+ return null;
342
+ const log = git(['cat-file', 'blob', `${published.oid}:${GATE_LOG_FILE}`], repoPath);
343
+ if (!log.success)
344
+ return null;
345
+ const result = git(['cat-file', 'blob', `${published.oid}:${GATE_RESULT_FILE}`], repoPath);
346
+ return { log: log.output, result: result.success ? parseGateRunResult(result.output) : null };
347
+ }
348
+ //# sourceMappingURL=gate-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-ref.js","sourceRoot":"","sources":["../../src/ci/gate-ref.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"review-exit-phase.d.ts","sourceRoot":"","sources":["../../../src/completion/review-exit/review-exit-phase.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9D;AAED,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMnE;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CA6lBf"}
1
+ {"version":3,"file":"review-exit-phase.d.ts","sourceRoot":"","sources":["../../../src/completion/review-exit/review-exit-phase.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9D;AAED,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMnE;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CAglBf"}
@@ -223,17 +223,13 @@ export async function runReviewExitHandler(params, deps) {
223
223
  let anyReopenedToVerifyFailed = false;
224
224
  for (const d of reviewDeliveries) {
225
225
  const isVerify = d.executionStatus === DELIVERY_STATUS.VERIFY;
226
- // A done delivery re-opens when EITHER the exiting session's gaps_found
227
- // verdict targets it (the verdict path, preserved) OR it owns an open,
228
- // blocking, review-filed gap in the focus-wide evidence set (the durability
229
- // path -- a finding that missed its window while the delivery was in verify,
230
- // routable by whichever session next reaches this handler). Either way the
231
- // reconciled path re-opens THAT delivery rather than failing whichever
232
- // sibling happens to be in verify.
233
- const isReopenableDone = d.executionStatus === DELIVERY_STATUS.DONE &&
234
- ((reviewOutcome === 'gaps_found' && attributedDeliveryIds.has(d.id)) ||
235
- reviewFiledTargetDeliveryIds.has(d.id));
236
- if (!isVerify && !isReopenableDone)
226
+ // A review exit routes VERIFY deliveries only. A done delivery is never
227
+ // re-opened here, by the verdict or by a review-filed gap: work a review
228
+ // finds after done is a Bug naming the met effect it falsifies -- re-opened
229
+ // by its own pass (verify/outcome-routing/falsified-effect-reopen.ts) -- or
230
+ // a new gap on a NEW delivery, so the done one keeps the anchor and
231
+ // evidence it was verified on (delivery/delivery-reconciler.ts DONE case).
232
+ if (!isVerify)
237
233
  continue;
238
234
  // A CLOSED review window has no authority to converge a delivery to done; it
239
235
  // is processed ONLY to route open review-filed gaps toward intent. Skip any
@@ -242,8 +238,7 @@ export async function runReviewExitHandler(params, deps) {
242
238
  // would otherwise reach the clean-session auto-approve branch).
243
239
  if (!windowOpen && !reviewFiledTargetDeliveryIds.has(d.id))
244
240
  continue;
245
- // The loop body runs ONLY for a verify or a re-openable done delivery.
246
- const fromStatus = isVerify ? DELIVERY_STATUS.VERIFY : DELIVERY_STATUS.DONE;
241
+ const fromStatus = DELIVERY_STATUS.VERIFY;
247
242
  try {
248
243
  const [issues, dWorkflow] = await Promise.all([
249
244
  deps.getDeliveryIssues(d.id),
@@ -275,16 +270,10 @@ export async function runReviewExitHandler(params, deps) {
275
270
  })),
276
271
  gitState: { worktreeCommitted: true },
277
272
  guardVerdict: null,
278
- reviewState: { reviewRequested: true, reportExists, sessionType, succeeded, outcome: reviewOutcome, inspected: reviewInspected, gapsAttribution, reviewFiledBlockingOnDone: reviewFiledTargetDeliveryIds.has(d.id) },
273
+ reviewState: { reviewRequested: true, reportExists, sessionType, succeeded, outcome: reviewOutcome, inspected: reviewInspected, gapsAttribution },
279
274
  },
280
275
  });
281
276
  const target = decision.target;
282
- // A re-openable done delivery's only action is re-open to verify_failed; if
283
- // the reconciler leaves it done (gap already closed) there is nothing to
284
- // write -- skip so the verify-only done branches below never fire for it.
285
- if (!isVerify && target !== DELIVERY_STATUS.VERIFY_FAILED) {
286
- continue;
287
- }
288
277
  // Operator-hold gate (FAIL-CLOSED): a delivery carrying an unresolved
289
278
  // needs_operator / external_wait escalation anchored to it must not
290
279
  // converge to done by ANY path -- including this auto-approve path, which
@@ -325,13 +314,13 @@ export async function runReviewExitHandler(params, deps) {
325
314
  modelHeldAny = true;
326
315
  continue;
327
316
  } // Awaited judge, or a verdict withheld on an undecided reopening.
328
- if (isVerify && target === DELIVERY_STATUS.VERIFY_FAILED && refusesReworkOnShortfallPark(d)) {
317
+ if (target === DELIVERY_STATUS.VERIFY_FAILED && refusesReworkOnShortfallPark(d)) {
329
318
  parkedAny = true;
330
319
  continue;
331
320
  }
332
321
  // Commit-verdict gate (review-exit-verdict-gate.ts): done where a done write follows; a verify delivery's verify_failed.
333
322
  const verdictGatedRoute = target === DELIVERY_STATUS.DONE ? (shortfallsClear && (reportExists || coverageComplete) ? 'done' : null)
334
- : isVerify && target === DELIVERY_STATUS.VERIFY_FAILED ? 'verify_failed' : null;
323
+ : target === DELIVERY_STATUS.VERIFY_FAILED ? 'verify_failed' : null;
335
324
  const verdictGate = verdictGatedRoute ? await holdForCommitVerdict(deps, params, current, d, verdictGatedRoute) : null;
336
325
  if (verdictGate?.held) {
337
326
  if (verdictGate.failed !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"review-exit-phase.js","sourceRoot":"","sources":["../../../src/completion/review-exit/review-exit-phase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-exit-phase.js","sourceRoot":"","sources":["../../../src/completion/review-exit/review-exit-phase.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: 21 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/composition/execution-migrations-context.ts
2
+ // Pinned by: 22 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/composition/execution-migrations-context.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * The production binding of the migration-numbering readers: the declaration's
@@ -3,6 +3,7 @@ import { type VerifyRoutingPasses } from '../focus/verify-routing-passes.js';
3
3
  import { type DiscoveryPollDeps } from '../host-control/discovery-poll.js';
4
4
  import { type PausedRevivalSweepDeps } from '../delivery/paused-revival.js';
5
5
  import { type FailedHeadWedgeDeps } from '../focus/failed-head-wedge.js';
6
+ import { type FalsifiedEffectReopenDeps } from '../verify/outcome-routing/falsified-effect-reopen.js';
6
7
  import { type ReworkIssueIO } from './verify-rework-context.js';
7
8
  import { type StrandedWorkRecordDeps, type UncommittedWorkBackstopDeps, type UncommittedWorkRecordDeps } from '../focus/uncommitted-work-backstop.js';
8
9
  /** The local-model discovery queries (queries/org-config/local-models.ts). */
@@ -35,6 +36,11 @@ export declare const PRODUCTION_WEDGE_IO: FailedHeadWedgeIO;
35
36
  * per-focus rework filing every failed-verdict path uses (composeFailedVerdictReworkDeps).
36
37
  */
37
38
  export declare function composeFailedHeadWedgeDeps(io: FailedHeadWedgeIO): FailedHeadWedgeDeps;
39
+ /**
40
+ * The falsified-effect reopen's collaborators: the candidate read, and the
41
+ * stage resolution and advancer status writer the gate-rework reopen binds.
42
+ */
43
+ export declare const PRODUCTION_FALSIFIED_EFFECT_REOPEN: FalsifiedEffectReopenDeps;
38
44
  /** The production backstop collaborators. */
39
45
  export declare function buildFailedHeadWedgeDeps(): FailedHeadWedgeDeps;
40
46
  /**
@@ -69,7 +75,7 @@ export declare function buildUncommittedWorkBackstopDeps(): UncommittedWorkBacks
69
75
  * replays held review exits through the installed review-exit context, the
70
76
  * failed-head wedge backstop over `wedgeIO`, then the uncommitted-work backstop.
71
77
  */
72
- export declare function composeVerifyRoutingPasses(wedgeIO: FailedHeadWedgeIO, uncommittedWork?: UncommittedWorkBackstopDeps): VerifyRoutingPasses;
78
+ export declare function composeVerifyRoutingPasses(wedgeIO: FailedHeadWedgeIO, uncommittedWork?: UncommittedWorkBackstopDeps, falsifiedReopen?: FalsifiedEffectReopenDeps): VerifyRoutingPasses;
73
79
  /** The production verify-routing phase. */
74
80
  export declare function buildVerifyRoutingPasses(): VerifyRoutingPasses;
75
81
  /** The per-product phases of one focus poll, in ProductPollPhases order. */
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-poll-context.d.ts","sourceRoot":"","sources":["../../src/composition/runtime-poll-context.ts"],"names":[],"mappings":"AA6BA,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAOrG,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AASnG,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAOpG,OAAO,EAAiC,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAMxG,OAAO,EAAwD,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtH,OAAO,EAKL,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC/B,MAAM,uCAAuC,CAAC;AAS/C,8EAA8E;AAC9E,wBAAgB,sBAAsB,IAAI,iBAAiB,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,sBAAsB,CAgC/D;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAC1D,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAChD,mBAAmB,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;IAChE,iBAAiB,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAC5D,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB;AAED,4GAA4G;AAC5G,eAAO,MAAM,mBAAmB,EAAE,iBAOjC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,iBAAiB,GAAG,mBAAmB,CAarF;AAED,6CAA6C;AAC7C,wBAAgB,wBAAwB,IAAI,mBAAmB,CAE9D;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB,EAAE,yBAAyB;IAC1F,gBAAgB,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;IAClE,WAAW,EAAE,2BAA2B,CAAC,aAAa,CAAC,CAAC;IACxD,mBAAmB,EAAE,2BAA2B,CAAC,qBAAqB,CAAC,CAAC;IACxE,oBAAoB,EAAE,2BAA2B,CAAC,sBAAsB,CAAC,CAAC;IAC1E,kBAAkB,EAAE,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;IACtE,cAAc,EAAE,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IAC9D,qBAAqB,EAAE,2BAA2B,CAAC,uBAAuB,CAAC,CAAC;IAC5E,qFAAqF;IACrF,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D;AAED,yBAAyB;AACzB,eAAO,MAAM,8BAA8B,EAAE,iBAiB5C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,EAAE,EAAE,iBAAiB,GAAG,2BAA2B,CAmBrG;AAED,8DAA8D;AAC9D,wBAAgB,gCAAgC,IAAI,2BAA2B,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,iBAAiB,EAC1B,eAAe,GAAE,2BAAgE,GAChF,mBAAmB,CAerB;AAED,2CAA2C;AAC3C,wBAAgB,wBAAwB,IAAI,mBAAmB,CAE9D;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,IAAI,iBAAiB,CA4B1D;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,IAAI,aAAa,CAgBlD;AAED,+FAA+F;AAC/F,wBAAgB,qBAAqB,IAAI,gBAAgB,CAOxD"}
1
+ {"version":3,"file":"runtime-poll-context.d.ts","sourceRoot":"","sources":["../../src/composition/runtime-poll-context.ts"],"names":[],"mappings":"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"}