zelari-code 2.0.0-alpha.6 → 2.0.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 (47) hide show
  1. package/dist/cli/headless.js +9 -0
  2. package/dist/cli/headless.js.map +1 -1
  3. package/dist/cli/headlessE2eSession.test.js +189 -0
  4. package/dist/cli/headlessE2eSession.test.js.map +1 -0
  5. package/dist/cli/headlessSpine.js +6 -0
  6. package/dist/cli/headlessSpine.js.map +1 -1
  7. package/dist/cli/hooks/chatState.js.map +1 -1
  8. package/dist/cli/hooks/eventsToMessages.js.map +1 -1
  9. package/dist/cli/hooks/useChatTurn.js +5 -3
  10. package/dist/cli/hooks/useChatTurn.js.map +1 -1
  11. package/dist/cli/hooks/useSession.js +0 -2
  12. package/dist/cli/hooks/useSession.js.map +1 -1
  13. package/dist/cli/kraken/evidenceAnchoring.test.js +92 -0
  14. package/dist/cli/kraken/evidenceAnchoring.test.js.map +1 -0
  15. package/dist/cli/kraken/nativeVerification.js +113 -0
  16. package/dist/cli/kraken/nativeVerification.js.map +1 -0
  17. package/dist/cli/kraken/nativeVerification.test.js +207 -0
  18. package/dist/cli/kraken/nativeVerification.test.js.map +1 -0
  19. package/dist/cli/kraken/strictDefaults.test.js +149 -0
  20. package/dist/cli/kraken/strictDefaults.test.js.map +1 -0
  21. package/dist/cli/kraken/verificationBridge.js +86 -8
  22. package/dist/cli/kraken/verificationBridge.js.map +1 -1
  23. package/dist/cli/kraken/verificationBridge.session.test.js +2 -2
  24. package/dist/cli/kraken/verificationBridge.session.test.js.map +1 -1
  25. package/dist/cli/kraken/verificationBridge.test.js +38 -22
  26. package/dist/cli/kraken/verificationBridge.test.js.map +1 -1
  27. package/dist/cli/kraken/verifierAdvisoryLock.test.js +154 -0
  28. package/dist/cli/kraken/verifierAdvisoryLock.test.js.map +1 -0
  29. package/dist/cli/kraken/verifierResolution.js +28 -0
  30. package/dist/cli/kraken/verifierResolution.js.map +1 -0
  31. package/dist/cli/kraken/verifierRoundTrip.test.js +166 -0
  32. package/dist/cli/kraken/verifierRoundTrip.test.js.map +1 -0
  33. package/dist/cli/legacyContextIsolation.test.js +3 -2
  34. package/dist/cli/legacyContextIsolation.test.js.map +1 -1
  35. package/dist/cli/main.bundled.js +707 -314
  36. package/dist/cli/main.bundled.js.map +4 -4
  37. package/dist/cli/missionContinuation.test.js +117 -0
  38. package/dist/cli/missionContinuation.test.js.map +1 -0
  39. package/dist/cli/profileMatrix.test.js +130 -0
  40. package/dist/cli/profileMatrix.test.js.map +1 -0
  41. package/dist/cli/runHeadless.js +39 -4
  42. package/dist/cli/runHeadless.js.map +1 -1
  43. package/dist/cli/sessionSpine.js +29 -3
  44. package/dist/cli/sessionSpine.js.map +1 -1
  45. package/dist/cli/zelariMission.js +16 -0
  46. package/dist/cli/zelariMission.js.map +1 -1
  47. package/package.json +2 -2
@@ -0,0 +1,117 @@
1
+ /**
2
+ * F4 integration — the mission loop records advisory continuation without
3
+ * obeying it: advice on every implementation slice, deterministic stop rules
4
+ * untouched, spine round-trip of mission.progress state events.
5
+ */
6
+ import { describe, expect, it, vi } from 'vitest';
7
+ import { runZelariMission, } from './zelariMission.js';
8
+ import { SessionStore, readSessionLog, buildProjection, } from '@zelari/core/session';
9
+ import { deriveMissionState } from '@zelari/core/mission';
10
+ import * as path from 'node:path';
11
+ import * as os from 'node:os';
12
+ import { promises as fs } from 'node:fs';
13
+ const brief = {
14
+ goal: 'vertical slice',
15
+ deliverableThisMission: 'one module',
16
+ phases: [{ mode: 'implementation', focus: 'impl' }],
17
+ sliceMvp: { id: 'slice-1', summary: 'mvp', acceptance: [] },
18
+ };
19
+ function fakeMemory() {
20
+ return {
21
+ init: vi.fn(async () => { }),
22
+ add: vi.fn(async () => { }),
23
+ search: vi.fn(async () => []),
24
+ };
25
+ }
26
+ function deps(overrides = {}) {
27
+ return {
28
+ projectRoot: os.tmpdir(),
29
+ memory: fakeMemory(),
30
+ runSlice: vi.fn(async () => ({ completionOk: true, ran: true, writeCount: 2 })),
31
+ emit: vi.fn(),
32
+ env: { ZELARI_CHECKPOINT: '0', ZELARI_MISSION_MAX_ITER: '3' },
33
+ ...overrides,
34
+ };
35
+ }
36
+ describe('runZelariMission — advisory continuation (F4)', () => {
37
+ it('records advice on each implementation slice but never obeys it for done-by-score', async () => {
38
+ const onMissionProgress = vi.fn();
39
+ // Slice 1: claims completion but wrote 0 files → NOT done.
40
+ // Slice 2: real green → done. The loop must follow its own deterministic
41
+ // rules; the advice is only recorded.
42
+ const results = [
43
+ { completionOk: true, ran: true, writeCount: 0 },
44
+ { completionOk: true, ran: true, writeCount: 3 },
45
+ ];
46
+ let i = 0;
47
+ const d = deps({
48
+ runSlice: vi.fn(async () => results[i++]),
49
+ onMissionProgress,
50
+ });
51
+ const state = await runZelariMission('do it', brief, d);
52
+ expect(state.status).toBe('success');
53
+ expect(state.iteration).toBeGreaterThanOrEqual(2);
54
+ expect(onMissionProgress).toHaveBeenCalled();
55
+ const first = onMissionProgress.mock.calls[0][0];
56
+ expect(first.doneByScore).toBe(false);
57
+ expect(first.goalRewrite).toBe(false);
58
+ expect(['continue', 'wind-down', 'hold-for-user']).toContain(first.recommendation);
59
+ });
60
+ it('emits a wind-down advice only when the deterministic gate is green', async () => {
61
+ const seen = [];
62
+ const d = deps({
63
+ runSlice: vi.fn(async () => ({ completionOk: true, ran: true, writeCount: 1 })),
64
+ onMissionProgress: (advice) => seen.push(advice.recommendation),
65
+ });
66
+ const state = await runZelariMission('go', brief, d);
67
+ expect(state.status).toBe('success');
68
+ expect(seen[seen.length - 1]).toBe('wind-down');
69
+ });
70
+ it('budget-exhausted run holds for the user instead of claiming done', async () => {
71
+ const onMissionProgress = vi.fn();
72
+ const d = deps({
73
+ runSlice: vi.fn(async () => ({ completionOk: false, ran: true, writeCount: 1 })),
74
+ onMissionProgress,
75
+ });
76
+ const state = await runZelariMission('go', brief, d);
77
+ expect(state.status).toBe('stopped');
78
+ const last = onMissionProgress.mock.calls.at(-1)[0];
79
+ expect(['hold-for-user', 'continue']).toContain(last.recommendation);
80
+ });
81
+ });
82
+ describe('mission.progress spine round-trip', () => {
83
+ it('advice events replay as state (lastAdvice) and never join the model surface', async () => {
84
+ const tmp = await fs.mkdtemp(path.join(os.tmpdir(), 'f4-'));
85
+ const store = new SessionStore(tmp);
86
+ const { sessionId, writer } = await store.create({ profile: 'mission/v1' });
87
+ await writer.append({
88
+ kind: 'mission.phase',
89
+ actor: { type: 'system' },
90
+ data: { phase: 'build' },
91
+ });
92
+ await writer.append({
93
+ kind: 'mission.progress',
94
+ actor: { type: 'system' },
95
+ data: {
96
+ recommendation: 'continue',
97
+ rationale: 'required criteria incomplete → no early-stop',
98
+ blockers: ['1/1 required criteria not passing'],
99
+ iteration: 2,
100
+ },
101
+ });
102
+ await writer.close();
103
+ const report = await readSessionLog(path.join(tmp, sessionId, 'events.jsonl'));
104
+ const events = report.events;
105
+ const projection = buildProjection(events, report.issues);
106
+ expect(projection.missionAdvice).toHaveLength(1);
107
+ expect(projection.missionAdvice[0].recommendation).toBe('continue');
108
+ const state = deriveMissionState(projection);
109
+ expect(state.phase).toBe('build');
110
+ expect(state.lastAdvice?.rationale).toContain('no early-stop');
111
+ const { isModelSurfaceEvent } = await import('@zelari/core/session');
112
+ const adviceEvent = events.find((e) => e.kind === 'mission.progress');
113
+ expect(adviceEvent).toBeDefined();
114
+ expect(isModelSurfaceEvent(adviceEvent)).toBe(false);
115
+ });
116
+ });
117
+ //# sourceMappingURL=missionContinuation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missionContinuation.test.js","sourceRoot":"","sources":["../../src/cli/missionContinuation.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * profileMatrix — F7 (Exit-3.2, doc §10) profile × phase smoke matrix.
3
+ *
4
+ * Cells (§10 minimum): minimal+plan/build, kraken+plan/build, council+plan,
5
+ * mission+build. For each cell the smoke walks the three real wiring legs:
6
+ *
7
+ * 1. profile loader — mode/--profile resolves to the expected versioned
8
+ * profile (ADR-0022); explicit ids win over mode defaults
9
+ * 2. session metadata — the spine `session.started` header records profile +
10
+ * toolManifestHash of the declared profile, so same-task/same-profile
11
+ * runs stay comparable
12
+ * 3. capability gate — the REAL registry built for that phase: plan strips
13
+ * every PLAN_BLOCKED_TOOLS mutator while keeping the plan-domain tools
14
+ * (task_create/update/list + explore-only `task`); build registers the
15
+ * full mutator set; declared profile tools are a subset of the build
16
+ * registry (declarative 2.0 manifest ⊆ real 1.x registry)
17
+ *
18
+ * Wiring invariants that live inside runHeadless (mission slices never run in
19
+ * plan; kraken/council registries derive planMode from the phase) are locked
20
+ * as source assertions — same pattern as legacyContextIsolation.test.ts.
21
+ */
22
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
23
+ import { promises as fs } from 'node:fs';
24
+ import { readFileSync } from 'node:fs';
25
+ import path from 'node:path';
26
+ import os from 'node:os';
27
+ import { fileURLToPath } from 'node:url';
28
+ import { readSessionLog } from '@zelari/core/session';
29
+ import { MINIMAL_V1, KRAKEN_V1, MISSION_V1, toolManifestHash } from '@zelari/core/runtime';
30
+ import { openHeadlessSpine, resolveHeadlessProfileId } from './headlessSpine.js';
31
+ import { createBuiltinToolRegistry } from './toolRegistry.js';
32
+ import { PLAN_BLOCKED_TOOLS } from './phase.js';
33
+ const REPO_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
34
+ function readCli(rel) {
35
+ return readFileSync(path.join(REPO_ROOT, 'src', 'cli', rel), 'utf8');
36
+ }
37
+ const MATRIX = [
38
+ { mode: 'kraken', profile: 'minimal/v1', explicitProfile: 'minimal/v1', phase: 'plan', declaredTools: MINIMAL_V1.tools },
39
+ { mode: 'kraken', profile: 'minimal/v1', explicitProfile: 'minimal/v1', phase: 'build', declaredTools: MINIMAL_V1.tools },
40
+ { mode: 'kraken', profile: 'kraken/v1', phase: 'plan', declaredTools: KRAKEN_V1.tools },
41
+ { mode: 'kraken', profile: 'kraken/v1', phase: 'build', declaredTools: KRAKEN_V1.tools },
42
+ { mode: 'council', profile: 'council/v1', phase: 'plan', declaredTools: [...MINIMAL_V1.tools, 'write_file'] },
43
+ // §10 + mission contract: mission runs BUILD only (slices implement on disk).
44
+ { mode: 'zelari', profile: 'mission/v1', phase: 'build', declaredTools: MISSION_V1.tools },
45
+ ];
46
+ let tmp;
47
+ beforeEach(async () => {
48
+ tmp = await fs.mkdtemp(path.join(os.tmpdir(), 'zelari-profile-matrix-'));
49
+ });
50
+ afterEach(async () => {
51
+ await fs.rm(tmp, { recursive: true, force: true });
52
+ });
53
+ describe('F7 profile × phase smoke matrix (Exit-3.2)', () => {
54
+ it.each(MATRIX)('cell $mode/$phase → $profile: loader, session metadata and phase capability gate', async (cell) => {
55
+ // Leg 1 — profile loader: explicit id wins, otherwise the mode default.
56
+ expect(resolveHeadlessProfileId(cell.mode, cell.explicitProfile)).toBe(cell.profile);
57
+ // Leg 2 — session metadata on the spine header.
58
+ const sessionId = `mx-${cell.mode}-${cell.phase}`;
59
+ const handle = await openHeadlessSpine({ sessionId, mode: cell.mode, profile: cell.explicitProfile, baseDir: tmp, quiet: true });
60
+ expect(handle.profileId).toBe(cell.profile);
61
+ const report = await readSessionLog(path.join(tmp, sessionId, 'events.jsonl'));
62
+ expect(report.ok).toBe(true);
63
+ const started = report.events.find((e) => e.kind === 'session.started');
64
+ expect(started).toBeDefined();
65
+ const startedData = (started?.data ?? {});
66
+ expect(startedData.profile).toBe(cell.profile);
67
+ // The manifest hash is the DECLARED profile tool set (ADR-0022) — the
68
+ // comparability contract, distinct from the phase-gated live registry.
69
+ expect(startedData.toolManifestHash).toBe(toolManifestHash(cell.declaredTools));
70
+ // Leg 3 — real registry for the phase (no tool is invoked: zero side effects).
71
+ const { registry } = createBuiltinToolRegistry({
72
+ root: tmp,
73
+ sessionId,
74
+ planMode: cell.phase === 'plan',
75
+ lifecycleHooks: null,
76
+ lspProvider: null,
77
+ });
78
+ const names = new Set(registry.list());
79
+ // Observe builtins exist in BOTH phases.
80
+ for (const observe of ['read_file', 'grep_content', 'list_files']) {
81
+ expect(names.has(observe), `${observe} must exist in ${cell.phase}`).toBe(true);
82
+ }
83
+ if (cell.phase === 'plan') {
84
+ // No mutating builtin survives plan (no unauthorized side effects).
85
+ for (const blocked of PLAN_BLOCKED_TOOLS) {
86
+ expect(names.has(blocked), `${blocked} must be stripped in plan`).toBe(false);
87
+ }
88
+ // Plan-domain tools stay: durable plan tasks + explore-only delegation.
89
+ for (const planTool of ['task_create', 'task_update', 'task_list', 'task']) {
90
+ expect(names.has(planTool), `${planTool} must exist in plan`).toBe(true);
91
+ }
92
+ }
93
+ else {
94
+ // Build: the full mutator set is available.
95
+ for (const mutator of ['write_file', 'edit_file', 'apply_diff', 'bash', 'task']) {
96
+ expect(names.has(mutator), `${mutator} must exist in build`).toBe(true);
97
+ }
98
+ // Declared 2.0 profile tools are a subset of the real build registry.
99
+ for (const declared of cell.declaredTools) {
100
+ expect(names.has(declared), `declared tool ${declared} missing from build registry`).toBe(true);
101
+ }
102
+ }
103
+ }, 30_000);
104
+ });
105
+ describe('F7 wiring invariants (source-level, legacyContextIsolation pattern)', () => {
106
+ it('kraken and council registries derive planMode from the resolved phase', () => {
107
+ const src = readCli('runHeadless.ts');
108
+ // Kraken parent registry (headless hot path).
109
+ expect(src).toContain('planMode: planModeFromOpts(opts),');
110
+ // Council pipelines: explicit phase (design leg) and soft-gated variant.
111
+ expect(src).toContain('planModeFromOpts(opts) || softGated,');
112
+ expect(src).toContain('planModeFromOpts(opts),');
113
+ // planModeFromOpts is the single phase→planMode derivation.
114
+ expect(src).toContain("return (opts.phase ?? 'build') === 'plan';");
115
+ });
116
+ it('mission implementation slices are hard-wired to BUILD (never planMode)', () => {
117
+ const src = readCli('runHeadless.ts');
118
+ const lines = src.split(/\r?\n/);
119
+ const idx = lines.findIndex((l) => l.includes('const { registry: agentRegistry } = createBuiltinToolRegistry({'));
120
+ expect(idx).toBeGreaterThan(-1);
121
+ const window = lines.slice(idx, idx + 12).join('\n');
122
+ expect(window).toContain('planMode: false');
123
+ expect(window).not.toContain('planMode: true');
124
+ });
125
+ it('PLAN_BLOCKED_TOOLS stays exactly the mutating builtins', () => {
126
+ // If a new mutator lands without a plan gate, this reminds the author.
127
+ expect([...PLAN_BLOCKED_TOOLS].sort()).toEqual(['apply_diff', 'bash', 'edit_file', 'write_file']);
128
+ });
129
+ });
130
+ //# sourceMappingURL=profileMatrix.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileMatrix.test.js","sourceRoot":"","sources":["../../src/cli/profileMatrix.test.ts"],"names":[],"mappings":"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"}
@@ -332,6 +332,8 @@ async function runHeadlessKrakenGraph(opts, provider, model) {
332
332
  emitEvent({ type: 'message_delta', delta: finalAscii });
333
333
  emitEvent({ type: 'message_end' });
334
334
  emitEvent({ type: 'agent_end', reason: summary.converged ? 'completed' : 'error' });
335
+ // COMPAT MIRROR (ADR-0024): the session spine is the canonical context;
336
+ // history_snapshot is one-shot legacy-host replay only (F13 cleanup, doc §8).
335
337
  emitEvent({
336
338
  type: 'history_snapshot',
337
339
  messages: [
@@ -801,7 +803,7 @@ async function runHeadlessSingle(opts, provider, model, providerStream) {
801
803
  opts.mode === 'kraken' &&
802
804
  isKrakenSelectionEnabled() &&
803
805
  !planModeFromOpts(opts)) {
804
- const strictGate = evaluateStrictBuildGate('build');
806
+ const strictGate = await evaluateStrictBuildGate('build', { emit: (input) => spine.appendEvent(input) });
805
807
  const gate = strictGate.gate;
806
808
  const verificationPayload = strictGateEventPayload(strictGate);
807
809
  spine.verificationRun(verificationPayload);
@@ -835,7 +837,7 @@ async function runHeadlessSingle(opts, provider, model, providerStream) {
835
837
  successfulWrites: pass.successfulWrites + repair.successfulWrites,
836
838
  emittedWrites: pass.emittedWrites + repair.emittedWrites,
837
839
  };
838
- const after = evaluateStrictBuildGate('build');
840
+ const after = await evaluateStrictBuildGate('build', { emit: (input) => spine.appendEvent(input) });
839
841
  const afterPayload = strictGateEventPayload(after);
840
842
  spine.verificationRun(afterPayload);
841
843
  if (opts.output === 'json') {
@@ -866,6 +868,7 @@ async function runHeadlessSingle(opts, provider, model, providerStream) {
866
868
  }
867
869
  process.stdout.write('');
868
870
  // v1.10.0: emit a history_snapshot so the desktop can replay this turn.
871
+ // COMPAT MIRROR (ADR-0024): session spine is canonical — see emit sites below.
869
872
  // Include the user turn + final assistant text (user/assistant only).
870
873
  if (pass.finalReason !== 'error' && opts.output === 'json') {
871
874
  try {
@@ -903,6 +906,8 @@ async function runHeadlessSingle(opts, provider, model, providerStream) {
903
906
  : []),
904
907
  ];
905
908
  if (snapshot.length > 0) {
909
+ // COMPAT MIRROR (ADR-0024): the session spine is the canonical context;
910
+ // history_snapshot is one-shot legacy-host replay only (F13 cleanup, doc §8).
906
911
  emitEvent({ type: 'history_snapshot', messages: snapshot });
907
912
  }
908
913
  }
@@ -1100,6 +1105,8 @@ async function runHeadlessCouncil(opts, provider, model, providerStream) {
1100
1105
  ? [{ role: 'assistant', content: lastAssistantText }]
1101
1106
  : []),
1102
1107
  ];
1108
+ // COMPAT MIRROR (ADR-0024): the session spine is the canonical context;
1109
+ // history_snapshot is one-shot legacy-host replay only (F13 cleanup, doc §8).
1103
1110
  emitEvent({ type: 'history_snapshot', messages: snapshot });
1104
1111
  }
1105
1112
  catch {
@@ -1209,6 +1216,13 @@ async function runHeadlessZelari(opts, provider, model, providerStream) {
1209
1216
  emit,
1210
1217
  buildViaAgent,
1211
1218
  onMissionPhase: (phase, note) => spine.missionPhase(phase, note),
1219
+ onMissionProgress: (advice, iteration) => spine.missionProgress({
1220
+ recommendation: advice.recommendation,
1221
+ rationale: advice.rationale,
1222
+ blockers: advice.blockers,
1223
+ ...(advice.trend ? { trend: advice.trend } : {}),
1224
+ iteration,
1225
+ }),
1212
1226
  runSlice: async ({ userMessage: slicePrompt, runMode, ragContext, implementerRetry, }) => {
1213
1227
  const effectiveRunMode = planModeFromOpts(opts) ? 'design-phase' : runMode;
1214
1228
  // design-phase always council; implementation uses agent when policy ON
@@ -1422,8 +1436,27 @@ async function runHeadlessZelari(opts, provider, model, providerStream) {
1422
1436
  if (state.status === 'error')
1423
1437
  exitCode = exitCode || 3;
1424
1438
  else if (state.status === 'success') {
1425
- exitCode = 0;
1426
- spine.missionPhase('done', 'mission-success');
1439
+ // ADR-0025: missions close under the strict evidence gate by default
1440
+ // (opt-out: ZELARI_MISSION_STRICT=0). A blocked gate never exits 0 —
1441
+ // the mission "success" becomes the strict exit code and the spine
1442
+ // records mission-strict-blocked instead of mission-success.
1443
+ const missionGate = await evaluateStrictBuildGate('build', {
1444
+ emit: (input) => spine.appendEvent(input),
1445
+ surface: 'mission',
1446
+ });
1447
+ const missionVerificationPayload = strictGateEventPayload(missionGate);
1448
+ spine.verificationRun(missionVerificationPayload);
1449
+ if (opts.output === 'json') {
1450
+ emitEvent({ type: 'verification_run', ...missionVerificationPayload });
1451
+ }
1452
+ if (missionGate.blocked) {
1453
+ exitCode = strictGateExitCode(missionGate);
1454
+ spine.missionPhase('verification', 'mission-strict-blocked');
1455
+ }
1456
+ else {
1457
+ exitCode = 0;
1458
+ spine.missionPhase('done', 'mission-success');
1459
+ }
1427
1460
  }
1428
1461
  else if (state.status === 'stalled' || state.status === 'stopped') {
1429
1462
  exitCode = exitCode || 0;
@@ -1464,6 +1497,8 @@ async function runHeadlessZelari(opts, provider, model, providerStream) {
1464
1497
  }
1465
1498
  if (opts.output === 'json') {
1466
1499
  try {
1500
+ // COMPAT MIRROR (ADR-0024): the session spine is the canonical context;
1501
+ // history_snapshot is one-shot legacy-host replay only (F13 cleanup, doc §8).
1467
1502
  emitEvent({
1468
1503
  type: 'history_snapshot',
1469
1504
  messages: [
@@ -1 +1 @@
1
- {"version":3,"file":"runHeadless.js","sourceRoot":"","sources":["../../src/cli/runHeadless.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runHeadless.js","sourceRoot":"","sources":["../../src/cli/runHeadless.ts"],"names":[],"mappings":"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"}