@shapeshift-labs/frontier-swarm-codex 0.5.135 → 0.5.137

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 (115) hide show
  1. package/README.md +2 -2
  2. package/dist/apply-admission.d.ts +23 -0
  3. package/dist/apply-admission.d.ts.map +1 -0
  4. package/dist/apply-admission.js +187 -0
  5. package/dist/apply-admission.js.map +1 -0
  6. package/dist/apply-evidence.d.ts +3 -0
  7. package/dist/apply-evidence.d.ts.map +1 -0
  8. package/dist/apply-evidence.js +266 -0
  9. package/dist/apply-evidence.js.map +1 -0
  10. package/dist/apply.d.ts +1 -1
  11. package/dist/apply.d.ts.map +1 -1
  12. package/dist/apply.js +37 -276
  13. package/dist/apply.js.map +1 -1
  14. package/dist/cli-args.d.ts +4 -1
  15. package/dist/cli-args.d.ts.map +1 -1
  16. package/dist/cli-args.js +4 -2
  17. package/dist/cli-args.js.map +1 -1
  18. package/dist/cli-help.d.ts.map +1 -1
  19. package/dist/cli-help.js +7 -0
  20. package/dist/cli-help.js.map +1 -1
  21. package/dist/cli-run-events-args.d.ts +1 -0
  22. package/dist/cli-run-events-args.d.ts.map +1 -1
  23. package/dist/cli-run-events-args.js +26 -0
  24. package/dist/cli-run-events-args.js.map +1 -1
  25. package/dist/cli.js +28 -3
  26. package/dist/cli.js.map +1 -1
  27. package/dist/codex-run-metadata.d.ts +1 -0
  28. package/dist/codex-run-metadata.d.ts.map +1 -1
  29. package/dist/codex-run-metadata.js +2 -1
  30. package/dist/codex-run-metadata.js.map +1 -1
  31. package/dist/codex-run-swarm.d.ts.map +1 -1
  32. package/dist/codex-run-swarm.js +65 -25
  33. package/dist/codex-run-swarm.js.map +1 -1
  34. package/dist/codex-run-timeline.d.ts +5 -2
  35. package/dist/codex-run-timeline.d.ts.map +1 -1
  36. package/dist/codex-run-timeline.js +119 -10
  37. package/dist/codex-run-timeline.js.map +1 -1
  38. package/dist/codex-run.d.ts.map +1 -1
  39. package/dist/codex-run.js +6 -2
  40. package/dist/codex-run.js.map +1 -1
  41. package/dist/collect.d.ts.map +1 -1
  42. package/dist/collect.js +6 -1
  43. package/dist/collect.js.map +1 -1
  44. package/dist/continuation-run-events.d.ts +36 -0
  45. package/dist/continuation-run-events.d.ts.map +1 -0
  46. package/dist/continuation-run-events.js +264 -0
  47. package/dist/continuation-run-events.js.map +1 -0
  48. package/dist/continuation.d.ts.map +1 -1
  49. package/dist/continuation.js +38 -8
  50. package/dist/continuation.js.map +1 -1
  51. package/dist/distributed-pilot-events.d.ts +22 -0
  52. package/dist/distributed-pilot-events.d.ts.map +1 -0
  53. package/dist/distributed-pilot-events.js +157 -0
  54. package/dist/distributed-pilot-events.js.map +1 -0
  55. package/dist/distributed-pilot-gates.d.ts +3 -0
  56. package/dist/distributed-pilot-gates.d.ts.map +1 -0
  57. package/dist/distributed-pilot-gates.js +47 -0
  58. package/dist/distributed-pilot-gates.js.map +1 -0
  59. package/dist/distributed-pilot-lease.d.ts +4 -0
  60. package/dist/distributed-pilot-lease.d.ts.map +1 -0
  61. package/dist/distributed-pilot-lease.js +110 -0
  62. package/dist/distributed-pilot-lease.js.map +1 -0
  63. package/dist/distributed-pilot-plan.d.ts +11 -0
  64. package/dist/distributed-pilot-plan.d.ts.map +1 -0
  65. package/dist/distributed-pilot-plan.js +68 -0
  66. package/dist/distributed-pilot-plan.js.map +1 -0
  67. package/dist/distributed-pilot-proof.d.ts +3 -0
  68. package/dist/distributed-pilot-proof.d.ts.map +1 -0
  69. package/dist/distributed-pilot-proof.js +85 -0
  70. package/dist/distributed-pilot-proof.js.map +1 -0
  71. package/dist/distributed-pilot-queue.d.ts +4 -0
  72. package/dist/distributed-pilot-queue.d.ts.map +1 -0
  73. package/dist/distributed-pilot-queue.js +96 -0
  74. package/dist/distributed-pilot-queue.js.map +1 -0
  75. package/dist/distributed-pilot-telemetry.d.ts +4 -0
  76. package/dist/distributed-pilot-telemetry.d.ts.map +1 -0
  77. package/dist/distributed-pilot-telemetry.js +79 -0
  78. package/dist/distributed-pilot-telemetry.js.map +1 -0
  79. package/dist/distributed-pilot-types.d.ts +126 -0
  80. package/dist/distributed-pilot-types.d.ts.map +1 -0
  81. package/dist/distributed-pilot-types.js +10 -0
  82. package/dist/distributed-pilot-types.js.map +1 -0
  83. package/dist/distributed-pilot.d.ts +5 -0
  84. package/dist/distributed-pilot.d.ts.map +1 -0
  85. package/dist/distributed-pilot.js +103 -0
  86. package/dist/distributed-pilot.js.map +1 -0
  87. package/dist/distributed-run-proof.d.ts +18 -0
  88. package/dist/distributed-run-proof.d.ts.map +1 -0
  89. package/dist/distributed-run-proof.js +54 -0
  90. package/dist/distributed-run-proof.js.map +1 -0
  91. package/dist/distributed-run.d.ts +37 -0
  92. package/dist/distributed-run.d.ts.map +1 -0
  93. package/dist/distributed-run.js +206 -0
  94. package/dist/distributed-run.js.map +1 -0
  95. package/dist/human-actions.js +3 -3
  96. package/dist/human-actions.js.map +1 -1
  97. package/dist/index.d.ts +5 -0
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +3 -0
  100. package/dist/index.js.map +1 -1
  101. package/dist/types-apply.d.ts +114 -0
  102. package/dist/types-apply.d.ts.map +1 -0
  103. package/dist/types-apply.js +2 -0
  104. package/dist/types-apply.js.map +1 -0
  105. package/dist/types-collection.d.ts +4 -85
  106. package/dist/types-collection.d.ts.map +1 -1
  107. package/dist/types-continuation.d.ts +14 -0
  108. package/dist/types-continuation.d.ts.map +1 -1
  109. package/dist/types-distributed-run.d.ts +116 -0
  110. package/dist/types-distributed-run.d.ts.map +1 -0
  111. package/dist/types-distributed-run.js +2 -0
  112. package/dist/types-distributed-run.js.map +1 -0
  113. package/dist/types-run.d.ts +3 -0
  114. package/dist/types-run.d.ts.map +1 -1
  115. package/package.json +2 -2
@@ -0,0 +1,85 @@
1
+ import { FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_VERSION } from './distributed-pilot-types.js';
2
+ export function createPilotProof(input) {
3
+ const syncEvidencePaths = [
4
+ input.firstSync.runSyncEvidencePath,
5
+ input.secondSync.runSyncEvidencePath
6
+ ].filter((value) => Boolean(value));
7
+ const syncHistoryPaths = [
8
+ input.firstSync.runSyncHistoryPath,
9
+ input.secondSync.runSyncHistoryPath
10
+ ].filter((value) => Boolean(value));
11
+ const gitRepoCount = input.repos.filter((repo) => repo.gitDirExists).length;
12
+ const actorCount = new Set(input.repos.map((repo) => repo.actorId)).size;
13
+ const sync = {
14
+ exchangeCount: input.firstSync.summary.exchangeCount + input.secondSync.summary.exchangeCount,
15
+ pulledEventCount: input.firstSync.summary.pulledEventCount + input.secondSync.summary.pulledEventCount,
16
+ pushedEventCount: input.firstSync.summary.pushedEventCount + input.secondSync.summary.pushedEventCount,
17
+ acceptedEventCount: input.firstSync.summary.acceptedEventCount + input.secondSync.summary.acceptedEventCount,
18
+ conflictCount: input.firstSync.summary.conflictCount + input.secondSync.summary.conflictCount,
19
+ evidencePaths: syncEvidencePaths,
20
+ historyPaths: syncHistoryPaths
21
+ };
22
+ const gatePackageScope = input.gateArtifacts.gateSummary.packageScope;
23
+ const packageMaintenance = Array.isArray(gatePackageScope)
24
+ && gatePackageScope.includes('@shapeshift-labs/frontier-swarm-codex');
25
+ const sharedRunId = input.repos.every((repo) => repo.runIds.length === 1 && repo.runIds[0] === input.runId);
26
+ const coverage = {
27
+ packageMaintenance,
28
+ distributedRunPilot: input.repos.length >= 2 && input.repos.every((repo) => repo.eventCount >= 3),
29
+ durableQueue: Number(input.queueArtifacts.summary.terminalOutcomeCount ?? 0) >= 1,
30
+ semanticLeases: input.leaseArtifacts.summary.granted === true && input.leaseArtifacts.summary.fenceValid === true,
31
+ coordinatorApplyEngine: input.leaseArtifacts.summary.fenceValid === true && Boolean(input.leaseArtifacts.summary.leaseClaim),
32
+ gateContract: input.gateArtifacts.gateSummary.failed === 0
33
+ && input.gateArtifacts.gateSummary.blocked === 0
34
+ && input.gateArtifacts.gateSummary.passed >= 1,
35
+ dashboardProjection: input.repos.every((repo) => Number(repo.dashboardCounts.decision ?? 0) >= 1),
36
+ telemetryRouting: Number(input.telemetryArtifacts.telemetrySummary.recordCount ?? 0) >= 1
37
+ && Number(input.telemetryArtifacts.routingSummary.policySignalCount ?? 0) >= 0
38
+ };
39
+ const ok = Object.values(coverage).every(Boolean)
40
+ && input.repos.length >= 2
41
+ && gitRepoCount >= 2
42
+ && actorCount >= 2
43
+ && sharedRunId
44
+ && sync.acceptedEventCount > 0
45
+ && sync.conflictCount === 0
46
+ && input.ackEvent.parents.length > 0;
47
+ return {
48
+ kind: FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND,
49
+ version: FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_VERSION,
50
+ ok,
51
+ generatedAt: input.generatedAt,
52
+ runId: input.runId,
53
+ outDir: input.outDir,
54
+ proofPath: input.proofPath,
55
+ repoCount: input.repos.length,
56
+ gitRepoCount,
57
+ actorCount,
58
+ sharedRunId,
59
+ ...(input.ackEvent.parents[0] ? { causalAckParentId: input.ackEvent.parents[0] } : {}),
60
+ sync,
61
+ artifacts: {
62
+ queueStatePath: input.queueArtifacts.queueStatePath,
63
+ queueEventsPath: input.queueArtifacts.queueEventsPath,
64
+ queueSummaryPath: input.queueArtifacts.queueSummaryPath,
65
+ semanticLeasePath: input.leaseArtifacts.semanticLeasePath,
66
+ gateExecutionsPath: input.gateArtifacts.gateExecutionsPath,
67
+ gateSummaryPath: input.gateArtifacts.gateSummaryPath,
68
+ modelTelemetryPath: input.telemetryArtifacts.modelTelemetryPath,
69
+ modelTelemetrySummaryPath: input.telemetryArtifacts.modelTelemetrySummaryPath,
70
+ liveRoutingPolicyPath: input.telemetryArtifacts.liveRoutingPolicyPath,
71
+ liveRoutingControllerPath: input.telemetryArtifacts.liveRoutingControllerPath,
72
+ liveRoutingHistoryPath: input.telemetryArtifacts.liveRoutingHistoryPath
73
+ },
74
+ coverage,
75
+ repos: input.repos,
76
+ summaries: {
77
+ queue: input.queueArtifacts.summary,
78
+ lease: input.leaseArtifacts.summary,
79
+ gate: input.gateArtifacts.gateSummary,
80
+ telemetry: input.telemetryArtifacts.telemetrySummary,
81
+ routing: input.telemetryArtifacts.routingSummary
82
+ }
83
+ };
84
+ }
85
+ //# sourceMappingURL=distributed-pilot-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot-proof.js","sourceRoot":"","sources":["../src/distributed-pilot-proof.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type FrontierSwarmPlan } from '@shapeshift-labs/frontier-swarm';
2
+ import { type PilotQueueArtifacts, type PilotRepo } from './distributed-pilot-types.js';
3
+ export declare function writePilotQueueArtifacts(repo: PilotRepo, plan: FrontierSwarmPlan, generatedAt: string): Promise<PilotQueueArtifacts>;
4
+ //# sourceMappingURL=distributed-pilot-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot-queue.d.ts","sourceRoot":"","sources":["../src/distributed-pilot-queue.ts"],"names":[],"mappings":"AAYA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAElG,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACf,MAAM,8BAA8B,CAAC;AAEtC,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,iBAAiB,EACvB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAuF9B"}
@@ -0,0 +1,96 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { completeQueueJob, createQueueEvidence, createQueueState, encodeQueueJsonl, enqueueQueueJob, inspectQueueState, leaseQueueJobs } from '@shapeshift-labs/frontier-queue';
4
+ import { createSwarmQueueOverlay } from '@shapeshift-labs/frontier-swarm';
5
+ import { stableHash, writeJsonAtomic } from './common.js';
6
+ import { FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_EVENTS_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_STATE_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_SUMMARY_FILE } from './distributed-pilot-types.js';
7
+ export async function writePilotQueueArtifacts(repo, plan, generatedAt) {
8
+ const queueStatePath = path.join(repo.runDir, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_STATE_FILE);
9
+ const queueEventsPath = path.join(repo.runDir, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_EVENTS_FILE);
10
+ const queueSummaryPath = path.join(repo.runDir, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_SUMMARY_FILE);
11
+ const now = Date.parse(generatedAt);
12
+ let state = createQueueState({
13
+ id: `distributed-pilot:${plan.runId}`,
14
+ defaults: {
15
+ queue: 'distributed-pilot',
16
+ leaseMs: 30_000,
17
+ maxStalls: 0,
18
+ retry: { maxAttempts: 1, initialDelayMs: 0, maxDelayMs: 0, backoff: 1, jitter: 'none' },
19
+ deadLetterQueue: 'distributed-pilot:dead'
20
+ },
21
+ metadata: {
22
+ source: FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND,
23
+ planId: plan.id,
24
+ runId: plan.runId,
25
+ repoId: repo.id
26
+ }
27
+ });
28
+ state = enqueueQueueJob(state, {
29
+ id: 'distributed-pilot-job',
30
+ queue: 'distributed-pilot',
31
+ payload: { taskId: 'distributed-pilot-task', repoId: repo.id },
32
+ dedupeKey: stableHash(['distributed-pilot', plan.runId, 'distributed-pilot-task']),
33
+ dedupeMode: 'drop',
34
+ priority: 100,
35
+ runAt: now,
36
+ leaseMs: 30_000,
37
+ maxAttempts: 1,
38
+ maxStalls: 0,
39
+ tags: ['frontier-swarm-codex', 'distributed-pilot'],
40
+ metadata: { planId: plan.id, runId: plan.runId, lane: 'distributed-runtime' }
41
+ }, { now }).state;
42
+ const leased = leaseQueueJobs(state, {
43
+ queue: 'distributed-pilot',
44
+ workerId: repo.actorId,
45
+ count: 1,
46
+ now: now + 1,
47
+ leaseMs: 30_000
48
+ });
49
+ state = leased.state;
50
+ const leaseToken = leased.jobs?.[0]?.lease?.token;
51
+ if (!leaseToken)
52
+ throw new Error('distributed pilot queue lease was not created');
53
+ state = completeQueueJob(state, {
54
+ jobId: 'distributed-pilot-job',
55
+ leaseToken,
56
+ workerId: repo.actorId,
57
+ now: now + 2,
58
+ metadata: { completedBy: repo.actorId, source: FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND }
59
+ }).state;
60
+ const evidence = createQueueEvidence(state);
61
+ const inspection = inspectQueueState(state);
62
+ const overlay = createSwarmQueueOverlay({
63
+ runId: plan.runId,
64
+ results: [{
65
+ jobId: 'distributed-pilot-job',
66
+ status: 'completed',
67
+ mergeReadiness: 'verified-patch',
68
+ mergeDisposition: 'ready',
69
+ queueItemIds: ['distributed-pilot-task'],
70
+ changedPaths: ['packages/frontier-swarm-codex/src/distributed-pilot.ts'],
71
+ evidencePaths: [queueSummaryPath],
72
+ riskLevel: 'low',
73
+ metadata: { queueId: state.id, terminalOutcomeCount: state.terminalOutcomes.length }
74
+ }],
75
+ metadata: { source: FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND }
76
+ });
77
+ const summary = {
78
+ kind: 'frontier.swarm-codex.distributed-pilot.queue-summary',
79
+ version: 1,
80
+ generatedAt,
81
+ runId: plan.runId,
82
+ planId: plan.id,
83
+ queueId: state.id,
84
+ inspection,
85
+ evidence,
86
+ overlay,
87
+ terminalOutcomeCount: state.terminalOutcomes.length,
88
+ eventCount: state.events.length,
89
+ completed: inspection.completed
90
+ };
91
+ await writeJsonAtomic(queueStatePath, state);
92
+ await fs.writeFile(queueEventsPath, encodeQueueJsonl(state.events));
93
+ await writeJsonAtomic(queueSummaryPath, summary);
94
+ return { queueStatePath, queueEventsPath, queueSummaryPath, summary };
95
+ }
96
+ //# sourceMappingURL=distributed-pilot-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot-queue.js","sourceRoot":"","sources":["../src/distributed-pilot-queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { FrontierSwarmPlan } from '@shapeshift-labs/frontier-swarm';
2
+ import { type PilotGateArtifacts, type PilotRepo, type PilotTelemetryArtifacts } from './distributed-pilot-types.js';
3
+ export declare function writePilotTelemetryArtifacts(repo: PilotRepo, plan: FrontierSwarmPlan, gateArtifacts: PilotGateArtifacts, generatedAt: string): Promise<PilotTelemetryArtifacts>;
4
+ //# sourceMappingURL=distributed-pilot-telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot-telemetry.d.ts","sourceRoot":"","sources":["../src/distributed-pilot-telemetry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AAazC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAC;AAEtC,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,iBAAiB,EACvB,aAAa,EAAE,kBAAkB,EACjC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC,CA+ClC"}
@@ -0,0 +1,79 @@
1
+ import path from 'node:path';
2
+ import { createCodexLiveRoutingController, createCodexLiveRoutingTelemetryRecord, normalizeCodexLiveRoutingOptions, writeCodexLiveRoutingArtifacts } from './live-routing.js';
3
+ import { resolveCodexRuntimeProjectionPaths } from './runtime-projection-common.js';
4
+ import { appendCodexRuntimeProjectionResult, finalizeCodexRuntimeProjectionStores, summarizeCodexModelTelemetry } from './runtime-projections.js';
5
+ import { FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND } from './distributed-pilot-types.js';
6
+ export async function writePilotTelemetryArtifacts(repo, plan, gateArtifacts, generatedAt) {
7
+ const paths = resolveCodexRuntimeProjectionPaths({ outDir: repo.runDir, cwd: repo.repoRoot }, repo.runDir);
8
+ const generatedAtMs = Date.parse(generatedAt);
9
+ const job = plan.jobs[0];
10
+ if (!job)
11
+ throw new Error('distributed pilot plan did not create a job');
12
+ const result = createTelemetryResult(job, gateArtifacts, generatedAtMs);
13
+ await appendCodexRuntimeProjectionResult({ paths, plan, job, result, generatedAt: generatedAtMs });
14
+ const finalized = await finalizeCodexRuntimeProjectionStores({ paths, plan, generatedAt: generatedAtMs });
15
+ const record = createCodexLiveRoutingTelemetryRecord({ plan, job, result, generatedAt: generatedAtMs });
16
+ const routingOptions = normalizeCodexLiveRoutingOptions({ enabled: true, routingMode: 'fill', minSamples: 1 });
17
+ const controller = createCodexLiveRoutingController({
18
+ plan,
19
+ records: [record],
20
+ options: routingOptions,
21
+ completedJobIds: [job.id],
22
+ generatedAt: generatedAtMs
23
+ });
24
+ const liveRoutingPolicyPath = path.join(repo.runDir, 'model-routing-policy.live.json');
25
+ const liveRoutingControllerPath = path.join(repo.runDir, 'routing-controller.json');
26
+ const liveRoutingHistoryPath = path.join(repo.runDir, 'routing-controller-history.json');
27
+ await writeCodexLiveRoutingArtifacts({
28
+ paths: { liveRoutingPolicyPath, liveRoutingControllerPath, liveRoutingHistoryPath },
29
+ options: routingOptions,
30
+ controller,
31
+ history: [controller]
32
+ });
33
+ const telemetrySummary = finalized.modelTelemetrySummary ?? summarizeCodexModelTelemetry([record], {
34
+ generatedAt: generatedAtMs,
35
+ runId: plan.runId,
36
+ planId: plan.id,
37
+ telemetryPath: paths.modelTelemetryPath
38
+ });
39
+ return {
40
+ modelTelemetryPath: paths.modelTelemetryPath ?? path.join(repo.runDir, 'model-telemetry.jsonl'),
41
+ modelTelemetrySummaryPath: paths.modelTelemetrySummaryPath ?? path.join(repo.runDir, 'model-telemetry-summary.json'),
42
+ liveRoutingPolicyPath,
43
+ liveRoutingControllerPath,
44
+ liveRoutingHistoryPath,
45
+ telemetrySummary: telemetrySummary,
46
+ routingSummary: {
47
+ kind: controller.kind,
48
+ id: controller.id,
49
+ policySignalCount: controller.policy.signals.length,
50
+ decisionCount: controller.decisions.length,
51
+ generatedAt: controller.generatedAt
52
+ }
53
+ };
54
+ }
55
+ function createTelemetryResult(job, gateArtifacts, generatedAtMs) {
56
+ return {
57
+ jobId: job.id,
58
+ status: 'completed',
59
+ mergeReadiness: 'verified-patch',
60
+ mergeDisposition: 'ready',
61
+ startedAt: generatedAtMs,
62
+ finishedAt: generatedAtMs + 10,
63
+ changedPaths: ['packages/frontier-swarm-codex/src/distributed-pilot.ts'],
64
+ evidencePaths: [gateArtifacts.gateExecutionsPath, gateArtifacts.gateSummaryPath],
65
+ verification: [{ command: ['node', 'test/smoke/distributed-pilot.mjs'], status: 0, required: true }],
66
+ metadata: {
67
+ source: FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND,
68
+ verificationGateEvidence: {
69
+ gateExecutionsPath: gateArtifacts.gateExecutionsPath,
70
+ gateSummaryPath: gateArtifacts.gateSummaryPath
71
+ },
72
+ contextBudget: {
73
+ measured: { promptBytes: 1024, estimatedInputTokens: 256 },
74
+ usage: { inputTokens: 320, cachedInputTokens: 80, uncachedInputTokens: 240, outputTokens: 96 }
75
+ }
76
+ }
77
+ };
78
+ }
79
+ //# sourceMappingURL=distributed-pilot-telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot-telemetry.js","sourceRoot":"","sources":["../src/distributed-pilot-telemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ import type { FrontierRunEvent } from '@shapeshift-labs/frontier-run';
2
+ import type { FrontierCodexRunSyncResult } from './run-sync.js';
3
+ export declare const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND = "frontier.swarm-codex.distributed-pilot";
4
+ export declare const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_VERSION = 1;
5
+ export declare const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_PROOF_FILE = "distributed-pilot-proof.json";
6
+ export declare const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_STATE_FILE = "queue-state.json";
7
+ export declare const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_EVENTS_FILE = "queue-events.jsonl";
8
+ export declare const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_SUMMARY_FILE = "queue-summary.json";
9
+ export declare const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_LEASE_FILE = "semantic-lease.json";
10
+ export declare const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_GATE_EXECUTIONS_FILE = "gate-executions.json";
11
+ export declare const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_GATE_SUMMARY_FILE = "gate-summary.json";
12
+ export interface FrontierCodexDistributedPilotOptions {
13
+ outDir?: string;
14
+ cwd?: string;
15
+ runId?: string;
16
+ repos?: readonly string[];
17
+ repoCount?: number;
18
+ initializeGit?: boolean;
19
+ generatedAt?: string;
20
+ }
21
+ export interface PilotRepo {
22
+ id: string;
23
+ actorId: string;
24
+ repoRoot: string;
25
+ runDir: string;
26
+ runEventsPath: string;
27
+ runDashboardPath: string;
28
+ }
29
+ export interface FrontierCodexDistributedPilotRepoResult extends PilotRepo {
30
+ gitDir: string;
31
+ gitDirExists: boolean;
32
+ eventCount: number;
33
+ runIds: string[];
34
+ actorIds: string[];
35
+ dashboardCounts: Record<string, number>;
36
+ }
37
+ export interface PilotQueueArtifacts {
38
+ queueStatePath: string;
39
+ queueEventsPath: string;
40
+ queueSummaryPath: string;
41
+ summary: Record<string, unknown>;
42
+ }
43
+ export interface PilotLeaseArtifacts {
44
+ semanticLeasePath: string;
45
+ summary: Record<string, unknown>;
46
+ }
47
+ export interface PilotGateArtifacts {
48
+ gateExecutionsPath: string;
49
+ gateSummaryPath: string;
50
+ gateExecution: unknown;
51
+ gateSummary: {
52
+ failed: number;
53
+ blocked: number;
54
+ passed: number;
55
+ [key: string]: unknown;
56
+ };
57
+ }
58
+ export interface PilotTelemetryArtifacts {
59
+ modelTelemetryPath: string;
60
+ modelTelemetrySummaryPath: string;
61
+ liveRoutingPolicyPath: string;
62
+ liveRoutingControllerPath: string;
63
+ liveRoutingHistoryPath: string;
64
+ telemetrySummary: Record<string, unknown>;
65
+ routingSummary: Record<string, unknown>;
66
+ }
67
+ export interface FrontierCodexDistributedPilotProof {
68
+ kind: typeof FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND;
69
+ version: typeof FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_VERSION;
70
+ ok: boolean;
71
+ generatedAt: string;
72
+ runId: string;
73
+ outDir: string;
74
+ proofPath: string;
75
+ repoCount: number;
76
+ gitRepoCount: number;
77
+ actorCount: number;
78
+ sharedRunId: boolean;
79
+ causalAckParentId?: string;
80
+ sync: {
81
+ exchangeCount: number;
82
+ pulledEventCount: number;
83
+ pushedEventCount: number;
84
+ acceptedEventCount: number;
85
+ conflictCount: number;
86
+ evidencePaths: string[];
87
+ historyPaths: string[];
88
+ };
89
+ artifacts: {
90
+ queueStatePath: string;
91
+ queueEventsPath: string;
92
+ queueSummaryPath: string;
93
+ semanticLeasePath: string;
94
+ gateExecutionsPath: string;
95
+ gateSummaryPath: string;
96
+ modelTelemetryPath: string;
97
+ modelTelemetrySummaryPath: string;
98
+ liveRoutingPolicyPath: string;
99
+ liveRoutingControllerPath: string;
100
+ liveRoutingHistoryPath: string;
101
+ };
102
+ coverage: Record<string, boolean>;
103
+ repos: FrontierCodexDistributedPilotRepoResult[];
104
+ summaries: {
105
+ queue: Record<string, unknown>;
106
+ lease: Record<string, unknown>;
107
+ gate: Record<string, unknown>;
108
+ telemetry: Record<string, unknown>;
109
+ routing: Record<string, unknown>;
110
+ };
111
+ }
112
+ export interface PilotProofInput {
113
+ generatedAt: string;
114
+ runId: string;
115
+ outDir: string;
116
+ proofPath: string;
117
+ repos: FrontierCodexDistributedPilotRepoResult[];
118
+ firstSync: FrontierCodexRunSyncResult;
119
+ secondSync: FrontierCodexRunSyncResult;
120
+ ackEvent: FrontierRunEvent;
121
+ queueArtifacts: PilotQueueArtifacts;
122
+ leaseArtifacts: PilotLeaseArtifacts;
123
+ gateArtifacts: PilotGateArtifacts;
124
+ telemetryArtifacts: PilotTelemetryArtifacts;
125
+ }
126
+ //# sourceMappingURL=distributed-pilot-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot-types.d.ts","sourceRoot":"","sources":["../src/distributed-pilot-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND = 'frontier.swarm-codex.distributed-pilot';
2
+ export const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_VERSION = 1;
3
+ export const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_PROOF_FILE = 'distributed-pilot-proof.json';
4
+ export const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_STATE_FILE = 'queue-state.json';
5
+ export const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_EVENTS_FILE = 'queue-events.jsonl';
6
+ export const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_SUMMARY_FILE = 'queue-summary.json';
7
+ export const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_LEASE_FILE = 'semantic-lease.json';
8
+ export const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_GATE_EXECUTIONS_FILE = 'gate-executions.json';
9
+ export const FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_GATE_SUMMARY_FILE = 'gate-summary.json';
10
+ //# sourceMappingURL=distributed-pilot-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot-types.js","sourceRoot":"","sources":["../src/distributed-pilot-types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,2CAA2C,GAAG,wCAAwC,CAAC;AACpG,MAAM,CAAC,MAAM,8CAA8C,GAAG,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,iDAAiD,GAAG,8BAA8B,CAAC;AAChG,MAAM,CAAC,MAAM,uDAAuD,GAAG,kBAAkB,CAAC;AAC1F,MAAM,CAAC,MAAM,wDAAwD,GAAG,oBAAoB,CAAC;AAC7F,MAAM,CAAC,MAAM,yDAAyD,GAAG,oBAAoB,CAAC;AAC9F,MAAM,CAAC,MAAM,iDAAiD,GAAG,qBAAqB,CAAC;AACvF,MAAM,CAAC,MAAM,2DAA2D,GAAG,sBAAsB,CAAC;AAClG,MAAM,CAAC,MAAM,wDAAwD,GAAG,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type FrontierCodexDistributedPilotOptions, type FrontierCodexDistributedPilotProof } from './distributed-pilot-types.js';
2
+ export type { FrontierCodexDistributedPilotOptions, FrontierCodexDistributedPilotProof, FrontierCodexDistributedPilotRepoResult } from './distributed-pilot-types.js';
3
+ export { FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_GATE_EXECUTIONS_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_GATE_SUMMARY_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_LEASE_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_PROOF_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_EVENTS_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_STATE_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_SUMMARY_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_VERSION } from './distributed-pilot-types.js';
4
+ export declare function runCodexDistributedPilot(options?: FrontierCodexDistributedPilotOptions): Promise<FrontierCodexDistributedPilotProof>;
5
+ //# sourceMappingURL=distributed-pilot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot.d.ts","sourceRoot":"","sources":["../src/distributed-pilot.ts"],"names":[],"mappings":"AAmBA,OAAO,EAEL,KAAK,oCAAoC,EACzC,KAAK,kCAAkC,EACxC,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,oCAAoC,EACpC,kCAAkC,EAClC,uCAAuC,EACxC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,2DAA2D,EAC3D,wDAAwD,EACxD,2CAA2C,EAC3C,iDAAiD,EACjD,iDAAiD,EACjD,wDAAwD,EACxD,uDAAuD,EACvD,yDAAyD,EACzD,8CAA8C,EAC/C,MAAM,8BAA8B,CAAC;AAEtC,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,oCAAyC,GACjD,OAAO,CAAC,kCAAkC,CAAC,CAsE7C"}
@@ -0,0 +1,103 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { createRunEvent } from '@shapeshift-labs/frontier-run';
4
+ import { writeJsonAtomic } from './common.js';
5
+ import { appendCodexRunEvents, readCodexRunEvents } from './run-events.js';
6
+ import { syncCodexRunEventPeers } from './run-sync.js';
7
+ import { writePilotQueueArtifacts } from './distributed-pilot-queue.js';
8
+ import { writePilotLeaseArtifacts } from './distributed-pilot-lease.js';
9
+ import { writePilotGateArtifacts } from './distributed-pilot-gates.js';
10
+ import { writePilotTelemetryArtifacts } from './distributed-pilot-telemetry.js';
11
+ import { createPilotPeerRunEvents, createPilotRunEvents, latestEventIdByActor, readPilotRepoResult, refreshRepoDashboard } from './distributed-pilot-events.js';
12
+ import { createPilotPlan, createPilotRepos, slugTime } from './distributed-pilot-plan.js';
13
+ import { createPilotProof } from './distributed-pilot-proof.js';
14
+ import { FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_PROOF_FILE } from './distributed-pilot-types.js';
15
+ export { FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_GATE_EXECUTIONS_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_GATE_SUMMARY_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_LEASE_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_PROOF_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_EVENTS_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_STATE_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_QUEUE_SUMMARY_FILE, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_VERSION } from './distributed-pilot-types.js';
16
+ export async function runCodexDistributedPilot(options = {}) {
17
+ const cwd = path.resolve(options.cwd ?? process.cwd());
18
+ const runId = options.runId ?? `frontier-distributed-pilot:${Date.now().toString(36)}`;
19
+ const generatedAt = options.generatedAt ?? new Date().toISOString();
20
+ const outDir = path.resolve(cwd, options.outDir ?? path.join('agent-runs', 'distributed-pilot', slugTime(generatedAt)));
21
+ await fs.mkdir(outDir, { recursive: true });
22
+ const plan = createPilotPlan(runId);
23
+ const repos = await createPilotRepos({ cwd, outDir, runId, options });
24
+ const queueArtifacts = await writePilotQueueArtifacts(repos[0], plan, generatedAt);
25
+ const leaseArtifacts = await writePilotLeaseArtifacts(repos[0], plan, generatedAt);
26
+ const gateArtifacts = await writePilotGateArtifacts(repos[0], generatedAt);
27
+ const telemetryArtifacts = await writePilotTelemetryArtifacts(repos[0], plan, gateArtifacts, generatedAt);
28
+ await writeInitialRunEvents({ runId, repos, plan, queueArtifacts, leaseArtifacts, gateArtifacts, telemetryArtifacts, generatedAt });
29
+ const firstSync = await syncCodexRunEventPeers({
30
+ cwd,
31
+ run: repos[0].runDir,
32
+ peers: [repos[1].runDir],
33
+ direction: 'bidirectional',
34
+ runId,
35
+ runSyncEvidencePath: path.join(repos[0].runDir, 'run-sync-evidence.json'),
36
+ runSyncHistoryPath: path.join(repos[0].runDir, 'run-sync-history.jsonl'),
37
+ generatedAt
38
+ });
39
+ if (!firstSync)
40
+ throw new Error('distributed pilot sync did not produce first exchange evidence');
41
+ const repoAEvents = await readCodexRunEvents(repos[0].runEventsPath);
42
+ const parentFromRepoA = latestEventIdByActor(repoAEvents, repos[0].actorId);
43
+ const ackEvent = createRunEvent({
44
+ runId,
45
+ actorId: repos[1].actorId,
46
+ actorSeq: 3,
47
+ parents: parentFromRepoA ? [parentFromRepoA] : [],
48
+ time: generatedAt,
49
+ type: 'note.recorded',
50
+ payload: { note: { id: `ack:${repos[1].id}->${repos[0].id}`, text: `${repos[1].id} received ${repos[0].id} frontier-run events` } }
51
+ });
52
+ await appendCodexRunEvents(repos[1].runEventsPath, [ackEvent]);
53
+ const secondSync = await syncCodexRunEventPeers({
54
+ cwd,
55
+ run: repos[1].runDir,
56
+ peers: [repos[0].runDir],
57
+ direction: 'bidirectional',
58
+ runId,
59
+ runSyncEvidencePath: path.join(repos[1].runDir, 'run-sync-evidence.json'),
60
+ runSyncHistoryPath: path.join(repos[1].runDir, 'run-sync-history.jsonl'),
61
+ generatedAt
62
+ });
63
+ if (!secondSync)
64
+ throw new Error('distributed pilot sync did not produce second exchange evidence');
65
+ await Promise.all(repos.map((repo) => refreshRepoDashboard(repo, runId, generatedAt)));
66
+ const proofPath = path.join(outDir, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_PROOF_FILE);
67
+ const proof = createPilotProof({
68
+ generatedAt,
69
+ runId,
70
+ outDir,
71
+ proofPath,
72
+ repos: await Promise.all(repos.map((repo) => readPilotRepoResult(repo))),
73
+ firstSync,
74
+ secondSync,
75
+ ackEvent,
76
+ queueArtifacts,
77
+ leaseArtifacts,
78
+ gateArtifacts,
79
+ telemetryArtifacts
80
+ });
81
+ await writeJsonAtomic(proofPath, proof);
82
+ return proof;
83
+ }
84
+ async function writeInitialRunEvents(input) {
85
+ const [primary, peer] = input.repos;
86
+ await appendCodexRunEvents(primary.runEventsPath, createPilotRunEvents({
87
+ runId: input.runId,
88
+ repo: primary,
89
+ plan: input.plan,
90
+ queueSummaryPath: input.queueArtifacts.queueSummaryPath,
91
+ leasePath: input.leaseArtifacts.semanticLeasePath,
92
+ gateSummaryPath: input.gateArtifacts.gateSummaryPath,
93
+ telemetrySummaryPath: input.telemetryArtifacts.modelTelemetrySummaryPath,
94
+ generatedAt: input.generatedAt
95
+ }));
96
+ await appendCodexRunEvents(peer.runEventsPath, createPilotPeerRunEvents({
97
+ runId: input.runId,
98
+ repo: peer,
99
+ generatedAt: input.generatedAt
100
+ }));
101
+ await Promise.all(input.repos.map((repo) => refreshRepoDashboard(repo, input.runId, input.generatedAt)));
102
+ }
103
+ //# sourceMappingURL=distributed-pilot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot.js","sourceRoot":"","sources":["../src/distributed-pilot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { FrontierCodexLiveRoutingPaths } from './live-routing.js';
2
+ import type { FrontierCodexQueueRuntimeSummary } from './queue-runtime.js';
3
+ import type { FrontierCodexRunSyncResult } from './run-sync.js';
4
+ import type { FrontierCodexHumanActionBrokerState, FrontierCodexModelTelemetrySummary } from './runtime-projections.js';
5
+ import type { FrontierCodexDistributedRunArtifactPaths, FrontierCodexDistributedRunProof, FrontierCodexDistributedRunResolvedOptions, FrontierCodexDistributedWorkerRunRecord } from './types-distributed-run.js';
6
+ import type { FrontierSwarmPlan } from '@shapeshift-labs/frontier-swarm';
7
+ export declare function writeCodexDistributedRunProof(input: {
8
+ plan: FrontierSwarmPlan;
9
+ paths: FrontierCodexDistributedRunArtifactPaths;
10
+ options: FrontierCodexDistributedRunResolvedOptions;
11
+ workerRunRecords: readonly FrontierCodexDistributedWorkerRunRecord[];
12
+ runSync?: FrontierCodexRunSyncResult;
13
+ queueSummary?: FrontierCodexQueueRuntimeSummary;
14
+ modelTelemetrySummary?: FrontierCodexModelTelemetrySummary;
15
+ humanActionState?: FrontierCodexHumanActionBrokerState;
16
+ liveRoutingPaths?: FrontierCodexLiveRoutingPaths;
17
+ }): Promise<FrontierCodexDistributedRunProof | undefined>;
18
+ //# sourceMappingURL=distributed-run-proof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-run-proof.d.ts","sourceRoot":"","sources":["../src/distributed-run-proof.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EACV,mCAAmC,EACnC,kCAAkC,EACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,wCAAwC,EACxC,gCAAgC,EAChC,0CAA0C,EAC1C,uCAAuC,EACxC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,wBAAsB,6BAA6B,CAAC,KAAK,EAAE;IACzD,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,wCAAwC,CAAC;IAChD,OAAO,EAAE,0CAA0C,CAAC;IACpD,gBAAgB,EAAE,SAAS,uCAAuC,EAAE,CAAC;IACrE,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,YAAY,CAAC,EAAE,gCAAgC,CAAC;IAChD,qBAAqB,CAAC,EAAE,kCAAkC,CAAC;IAC3D,gBAAgB,CAAC,EAAE,mCAAmC,CAAC;IACvD,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;CAClD,GAAG,OAAO,CAAC,gCAAgC,GAAG,SAAS,CAAC,CAgDxD"}