@shapeshift-labs/frontier-swarm-codex 0.5.134 → 0.5.136

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 (83) hide show
  1. package/README.md +5 -2
  2. package/dist/cli-args.d.ts +11 -7
  3. package/dist/cli-args.d.ts.map +1 -1
  4. package/dist/cli-args.js +4 -4
  5. package/dist/cli-args.js.map +1 -1
  6. package/dist/cli-help.d.ts.map +1 -1
  7. package/dist/cli-help.js +6 -0
  8. package/dist/cli-help.js.map +1 -1
  9. package/dist/cli-run-events-args.d.ts +1 -0
  10. package/dist/cli-run-events-args.d.ts.map +1 -1
  11. package/dist/cli-run-events-args.js +22 -0
  12. package/dist/cli-run-events-args.js.map +1 -1
  13. package/dist/cli.js +51 -2
  14. package/dist/cli.js.map +1 -1
  15. package/dist/codex-events.d.ts +2 -0
  16. package/dist/codex-events.d.ts.map +1 -1
  17. package/dist/codex-events.js +4 -0
  18. package/dist/codex-events.js.map +1 -1
  19. package/dist/codex-run-swarm.d.ts.map +1 -1
  20. package/dist/codex-run-swarm.js +26 -2
  21. package/dist/codex-run-swarm.js.map +1 -1
  22. package/dist/collect.d.ts.map +1 -1
  23. package/dist/collect.js +5 -1
  24. package/dist/collect.js.map +1 -1
  25. package/dist/constants.d.ts +2 -0
  26. package/dist/constants.d.ts.map +1 -1
  27. package/dist/constants.js +2 -0
  28. package/dist/constants.js.map +1 -1
  29. package/dist/continuation.js +5 -1
  30. package/dist/continuation.js.map +1 -1
  31. package/dist/distributed-pilot-events.d.ts +22 -0
  32. package/dist/distributed-pilot-events.d.ts.map +1 -0
  33. package/dist/distributed-pilot-events.js +157 -0
  34. package/dist/distributed-pilot-events.js.map +1 -0
  35. package/dist/distributed-pilot-gates.d.ts +3 -0
  36. package/dist/distributed-pilot-gates.d.ts.map +1 -0
  37. package/dist/distributed-pilot-gates.js +47 -0
  38. package/dist/distributed-pilot-gates.js.map +1 -0
  39. package/dist/distributed-pilot-lease.d.ts +4 -0
  40. package/dist/distributed-pilot-lease.d.ts.map +1 -0
  41. package/dist/distributed-pilot-lease.js +110 -0
  42. package/dist/distributed-pilot-lease.js.map +1 -0
  43. package/dist/distributed-pilot-plan.d.ts +11 -0
  44. package/dist/distributed-pilot-plan.d.ts.map +1 -0
  45. package/dist/distributed-pilot-plan.js +68 -0
  46. package/dist/distributed-pilot-plan.js.map +1 -0
  47. package/dist/distributed-pilot-proof.d.ts +3 -0
  48. package/dist/distributed-pilot-proof.d.ts.map +1 -0
  49. package/dist/distributed-pilot-proof.js +85 -0
  50. package/dist/distributed-pilot-proof.js.map +1 -0
  51. package/dist/distributed-pilot-queue.d.ts +4 -0
  52. package/dist/distributed-pilot-queue.d.ts.map +1 -0
  53. package/dist/distributed-pilot-queue.js +96 -0
  54. package/dist/distributed-pilot-queue.js.map +1 -0
  55. package/dist/distributed-pilot-telemetry.d.ts +4 -0
  56. package/dist/distributed-pilot-telemetry.d.ts.map +1 -0
  57. package/dist/distributed-pilot-telemetry.js +79 -0
  58. package/dist/distributed-pilot-telemetry.js.map +1 -0
  59. package/dist/distributed-pilot-types.d.ts +126 -0
  60. package/dist/distributed-pilot-types.d.ts.map +1 -0
  61. package/dist/distributed-pilot-types.js +10 -0
  62. package/dist/distributed-pilot-types.js.map +1 -0
  63. package/dist/distributed-pilot.d.ts +5 -0
  64. package/dist/distributed-pilot.d.ts.map +1 -0
  65. package/dist/distributed-pilot.js +103 -0
  66. package/dist/distributed-pilot.js.map +1 -0
  67. package/dist/index.d.ts +5 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +3 -1
  70. package/dist/index.js.map +1 -1
  71. package/dist/run-sync.d.ts +65 -0
  72. package/dist/run-sync.d.ts.map +1 -0
  73. package/dist/run-sync.js +220 -0
  74. package/dist/run-sync.js.map +1 -0
  75. package/dist/types-collection.d.ts +6 -0
  76. package/dist/types-collection.d.ts.map +1 -1
  77. package/dist/types-continuation.d.ts +5 -0
  78. package/dist/types-continuation.d.ts.map +1 -1
  79. package/dist/types-dashboard.d.ts +2 -0
  80. package/dist/types-dashboard.d.ts.map +1 -1
  81. package/dist/types-run.d.ts +8 -0
  82. package/dist/types-run.d.ts.map +1 -1
  83. package/package.json +2 -2
@@ -0,0 +1,110 @@
1
+ import path from 'node:path';
2
+ import { acquireSwarmCoordinatorSemanticLease, createSwarmHierarchicalMergeQueue, createSwarmMergeBundle, createSwarmMergeIndex, createSwarmSemanticLeaseStateForMergeQueue, validateSwarmCoordinatorSemanticLeaseFence } from '@shapeshift-labs/frontier-swarm';
3
+ import { writeJsonAtomic } from './common.js';
4
+ import { FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_LEASE_FILE } from './distributed-pilot-types.js';
5
+ export async function writePilotLeaseArtifacts(repo, plan, generatedAt) {
6
+ const bundle = createPilotMergeBundle(plan);
7
+ const index = createSwarmMergeIndex({
8
+ id: 'distributed-pilot-merge-index',
9
+ runId: plan.runId,
10
+ planId: plan.id,
11
+ bundles: [bundle],
12
+ metadata: {
13
+ source: FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND,
14
+ runId: plan.runId,
15
+ repository: repo.repoRoot
16
+ }
17
+ });
18
+ const mergeQueue = createSwarmHierarchicalMergeQueue({
19
+ id: 'distributed-pilot-merge-queue',
20
+ index,
21
+ metadata: {
22
+ source: FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND,
23
+ runId: plan.runId,
24
+ repository: repo.repoRoot
25
+ }
26
+ });
27
+ const assignment = mergeQueue.assignments[0];
28
+ if (!assignment)
29
+ throw new Error('distributed pilot merge queue did not create an assignment');
30
+ let state = createSwarmSemanticLeaseStateForMergeQueue(mergeQueue, {
31
+ repository: repo.repoRoot,
32
+ packageId: '@shapeshift-labs/frontier-swarm-codex',
33
+ metadata: { runId: plan.runId }
34
+ });
35
+ const leaseClaim = acquireSwarmCoordinatorSemanticLease({
36
+ queue: mergeQueue,
37
+ assignment,
38
+ state,
39
+ ownerId: repo.actorId,
40
+ holderId: repo.actorId,
41
+ ttlMs: 30_000,
42
+ purpose: 'distributed pilot coordinator apply',
43
+ reason: 'same-machine multi-repo proof',
44
+ repository: repo.repoRoot,
45
+ packageId: '@shapeshift-labs/frontier-swarm-codex',
46
+ metadata: { runId: plan.runId }
47
+ });
48
+ state = leaseClaim.state;
49
+ if (!leaseClaim.lease)
50
+ throw new Error('distributed pilot semantic lease was not granted');
51
+ const fence = {
52
+ leaseId: leaseClaim.lease.id,
53
+ token: leaseClaim.lease.token,
54
+ fencingToken: leaseClaim.lease.fencingToken,
55
+ ownerId: leaseClaim.lease.ownerId,
56
+ ...(leaseClaim.lease.holderId ? { holderId: leaseClaim.lease.holderId } : {}),
57
+ expiresAt: leaseClaim.lease.expiresAt,
58
+ scopeKeys: [...leaseClaim.lease.scopeKeys]
59
+ };
60
+ const fenceValidation = validateSwarmCoordinatorSemanticLeaseFence({
61
+ assignment,
62
+ state,
63
+ lease: leaseClaim.lease,
64
+ token: fence.token,
65
+ fencingToken: fence.fencingToken,
66
+ requiredSemanticLeaseScopes: leaseClaim.scopes
67
+ });
68
+ const summary = {
69
+ kind: 'frontier.swarm-codex.distributed-pilot.semantic-lease',
70
+ version: 1,
71
+ generatedAt,
72
+ runId: plan.runId,
73
+ queueId: mergeQueue.id,
74
+ state,
75
+ leaseClaim,
76
+ fence,
77
+ fenceValidation,
78
+ requiredLeaseScopeIds: leaseClaim.requiredLeaseScopeIds,
79
+ requiredLeaseKeys: leaseClaim.requiredLeaseKeys,
80
+ granted: Boolean(leaseClaim.lease),
81
+ fenceValid: Boolean(fenceValidation.ok)
82
+ };
83
+ const semanticLeasePath = path.join(repo.runDir, FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_LEASE_FILE);
84
+ await writeJsonAtomic(semanticLeasePath, summary);
85
+ return { semanticLeasePath, summary };
86
+ }
87
+ function createPilotMergeBundle(plan) {
88
+ return createSwarmMergeBundle({
89
+ id: 'distributed-pilot-bundle',
90
+ runId: plan.runId,
91
+ planId: plan.id,
92
+ job: plan.jobs[0],
93
+ result: {
94
+ jobId: plan.jobs[0]?.id ?? 'distributed-pilot-job',
95
+ status: 'completed',
96
+ mergeReadiness: 'verified-patch',
97
+ mergeDisposition: 'ready',
98
+ riskLevel: 'low',
99
+ queueItemIds: ['distributed-pilot-task'],
100
+ changedPaths: ['packages/frontier-swarm-codex/src/distributed-pilot.ts'],
101
+ verification: [{ name: 'distributed-pilot-smoke', command: ['node', 'test/smoke/distributed-pilot.mjs'], status: 0, required: true }],
102
+ evidencePaths: []
103
+ },
104
+ queueItemIds: ['distributed-pilot-task'],
105
+ riskLevel: 'low',
106
+ disposition: 'ready',
107
+ metadata: { source: FRONTIER_SWARM_CODEX_DISTRIBUTED_PILOT_KIND }
108
+ });
109
+ }
110
+ //# sourceMappingURL=distributed-pilot-lease.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot-lease.js","sourceRoot":"","sources":["../src/distributed-pilot-lease.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { FrontierSwarmPlan } from '@shapeshift-labs/frontier-swarm';
2
+ import type { FrontierCodexDistributedPilotOptions, PilotRepo } from './distributed-pilot-types.js';
3
+ export declare function createPilotPlan(runId: string): FrontierSwarmPlan;
4
+ export declare function createPilotRepos(input: {
5
+ cwd: string;
6
+ outDir: string;
7
+ runId: string;
8
+ options: FrontierCodexDistributedPilotOptions;
9
+ }): Promise<[PilotRepo, PilotRepo]>;
10
+ export declare function slugTime(value: string): string;
11
+ //# sourceMappingURL=distributed-pilot-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot-plan.d.ts","sourceRoot":"","sources":["../src/distributed-pilot-plan.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,OAAO,KAAK,EAAE,oCAAoC,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEpG,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CA4BhE;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,oCAAoC,CAAC;CAC/C,GAAG,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAyBlC;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9C"}
@@ -0,0 +1,68 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { runProcess } from './common.js';
4
+ import { createCodexSwarmPlan } from './plan.js';
5
+ export function createPilotPlan(runId) {
6
+ const plan = createCodexSwarmPlan({
7
+ manifest: {
8
+ id: 'distributed-run-pilot',
9
+ compute: [
10
+ { id: 'fast', kind: 'codex', model: 'gpt-5.4-mini', reasoningEffort: 'medium', metadata: { modelTier: 'cheap' } },
11
+ { id: 'deep', kind: 'codex', model: 'gpt-5.5', reasoningEffort: 'high', metadata: { modelTier: 'deep' } }
12
+ ],
13
+ lanes: [
14
+ { id: 'distributed-runtime', allowedGlobs: ['packages/frontier-swarm-codex/**'] }
15
+ ],
16
+ policy: { defaultCompute: 'fast', defaultConcurrency: 1 }
17
+ },
18
+ tasks: {
19
+ items: [{
20
+ id: 'distributed-pilot-task',
21
+ lane: 'distributed-runtime',
22
+ surfaceKind: 'runtime',
23
+ workKind: 'implementation',
24
+ ownedFiles: ['packages/frontier-swarm-codex/src/distributed-pilot.ts'],
25
+ acceptanceChecks: [
26
+ { description: 'two repos exchange frontier-run events' },
27
+ { description: 'queue, lease, gate, telemetry, and dashboard artifacts exist' }
28
+ ]
29
+ }]
30
+ }
31
+ });
32
+ return { ...plan, runId };
33
+ }
34
+ export async function createPilotRepos(input) {
35
+ const requested = input.options.repos?.length ? [...input.options.repos] : [];
36
+ const repoCount = Math.max(2, Math.floor(input.options.repoCount ?? requested.length ?? 2));
37
+ const roots = Array.from({ length: repoCount }, (_, index) => path.resolve(input.cwd, requested[index] ?? path.join(input.outDir, `repo-${String.fromCharCode(97 + index)}`)));
38
+ const repos = [];
39
+ for (let index = 0; index < roots.length; index += 1) {
40
+ const repoRoot = roots[index];
41
+ await fs.mkdir(repoRoot, { recursive: true });
42
+ await fs.writeFile(path.join(repoRoot, 'README.md'), `# Distributed pilot ${index + 1}\n\nRun: ${input.runId}\n`);
43
+ if (input.options.initializeGit !== false)
44
+ await ensureGitRepo(repoRoot);
45
+ const runDir = path.join(repoRoot, '.frontier-run', input.runId.replace(/[^a-zA-Z0-9._-]+/g, '-'));
46
+ await fs.mkdir(runDir, { recursive: true });
47
+ repos.push({
48
+ id: `repo-${String.fromCharCode(97 + index)}`,
49
+ actorId: `pilot:${String.fromCharCode(97 + index)}`,
50
+ repoRoot,
51
+ runDir,
52
+ runEventsPath: path.join(runDir, 'run-events.jsonl'),
53
+ runDashboardPath: path.join(runDir, 'run-dashboard.json')
54
+ });
55
+ }
56
+ return [repos[0], repos[1]];
57
+ }
58
+ export function slugTime(value) {
59
+ return value.replace(/[^a-zA-Z0-9._-]+/g, '-').replace(/^-+|-+$/g, '') || 'run';
60
+ }
61
+ async function ensureGitRepo(repoRoot) {
62
+ await runProcess('git', ['init'], { cwd: repoRoot });
63
+ await runProcess('git', ['config', 'user.email', 'frontier-distributed-pilot@example.invalid'], { cwd: repoRoot });
64
+ await runProcess('git', ['config', 'user.name', 'Frontier Distributed Pilot'], { cwd: repoRoot });
65
+ await runProcess('git', ['add', 'README.md'], { cwd: repoRoot });
66
+ await runProcess('git', ['commit', '-m', 'Seed distributed pilot repo'], { cwd: repoRoot, allowFailure: true });
67
+ }
68
+ //# sourceMappingURL=distributed-pilot-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot-plan.js","sourceRoot":"","sources":["../src/distributed-pilot-plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type FrontierCodexDistributedPilotProof, type PilotProofInput } from './distributed-pilot-types.js';
2
+ export declare function createPilotProof(input: PilotProofInput): FrontierCodexDistributedPilotProof;
3
+ //# sourceMappingURL=distributed-pilot-proof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-pilot-proof.d.ts","sourceRoot":"","sources":["../src/distributed-pilot-proof.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kCAAkC,EACvC,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAC;AAEtC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,kCAAkC,CAkF3F"}
@@ -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":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,OAAO,EACL,gCAAgC,EAChC,qCAAqC,EACrC,gCAAgC,EAChC,8BAA8B,EAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EACL,kCAAkC,EAClC,oCAAoC,EACpC,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,2CAA2C,EAI5C,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,IAAe,EACf,IAAuB,EACvB,aAAiC,EACjC,WAAmB;IAEnB,MAAM,KAAK,GAAG,kCAAkC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3G,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAiC,CAAC;IACzD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACzE,MAAM,MAAM,GAAgC,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IACrG,MAAM,kCAAkC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;IACnG,MAAM,SAAS,GAAG,MAAM,oCAAoC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,qCAAqC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;IACxG,MAAM,cAAc,GAAG,gCAAgC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/G,MAAM,UAAU,GAAG,gCAAgC,CAAC;QAClD,IAAI;QACJ,OAAO,EAAE,CAAC,MAAgD,CAAC;QAC3D,OAAO,EAAE,cAAc;QACvB,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,aAAa;KAC3B,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;IACvF,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACpF,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;IACzF,MAAM,8BAA8B,CAAC;QACnC,KAAK,EAAE,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE;QACnF,OAAO,EAAE,cAAc;QACvB,UAAU;QACV,OAAO,EAAE,CAAC,UAAU,CAAC;KACtB,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,SAAS,CAAC,qBAAqB,IAAI,4BAA4B,CAAC,CAAC,MAAM,CAAQ,EAAE;QACxG,WAAW,EAAE,aAAa;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,aAAa,EAAE,KAAK,CAAC,kBAAkB;KACxC,CAAC,CAAC;IACH,OAAO;QACL,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC;QAC/F,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,8BAA8B,CAAC;QACpH,qBAAqB;QACrB,yBAAyB;QACzB,sBAAsB;QACtB,gBAAgB,EAAE,gBAAsD;QACxE,cAAc,EAAE;YACd,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;YACnD,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM;YAC1C,WAAW,EAAE,UAAU,CAAC,WAAW;SACpC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAqB,EACrB,aAAiC,EACjC,aAAqB;IAErB,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,MAAM,EAAE,WAAW;QACnB,cAAc,EAAE,gBAAgB;QAChC,gBAAgB,EAAE,OAAO;QACzB,SAAS,EAAE,aAAa;QACxB,UAAU,EAAE,aAAa,GAAG,EAAE;QAC9B,YAAY,EAAE,CAAC,wDAAwD,CAAC;QACxE,aAAa,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,aAAa,CAAC,eAAe,CAAC;QAChF,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,kCAAkC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACpG,QAAQ,EAAE;YACR,MAAM,EAAE,2CAA2C;YACnD,wBAAwB,EAAE;gBACxB,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;gBACpD,eAAe,EAAE,aAAa,CAAC,eAAe;aAC/C;YACD,aAAa,EAAE;gBACb,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE;gBAC1D,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,mBAAmB,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE;aAC/F;SACF;KACF,CAAC;AACJ,CAAC"}