rivet-design 0.11.11 → 0.11.13

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 (105) hide show
  1. package/dist/install/harnesses.d.ts.map +1 -1
  2. package/dist/install/harnesses.js +122 -4
  3. package/dist/install/harnesses.js.map +1 -1
  4. package/dist/mcp/agent-variants/SessionStore.d.ts +150 -10
  5. package/dist/mcp/agent-variants/SessionStore.d.ts.map +1 -1
  6. package/dist/mcp/agent-variants/SessionStore.js +468 -23
  7. package/dist/mcp/agent-variants/SessionStore.js.map +1 -1
  8. package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts +143 -51
  9. package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
  10. package/dist/mcp/agent-variants/WorktreeOrchestrator.js +465 -299
  11. package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +1 -1
  12. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts +5 -4
  13. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts.map +1 -1
  14. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js +24 -5
  15. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js.map +1 -1
  16. package/dist/mcp/agent-variants/contracts.d.ts +102 -89
  17. package/dist/mcp/agent-variants/contracts.d.ts.map +1 -1
  18. package/dist/mcp/agent-variants/contracts.js +29 -14
  19. package/dist/mcp/agent-variants/contracts.js.map +1 -1
  20. package/dist/mcp/agent-variants/index.d.ts +3 -3
  21. package/dist/mcp/agent-variants/index.d.ts.map +1 -1
  22. package/dist/mcp/agent-variants/index.js +1 -2
  23. package/dist/mcp/agent-variants/index.js.map +1 -1
  24. package/dist/mcp/agent-variants/previewQa.d.ts.map +1 -1
  25. package/dist/mcp/agent-variants/previewQa.js +0 -6
  26. package/dist/mcp/agent-variants/previewQa.js.map +1 -1
  27. package/dist/mcp/agent-variants/tools.d.ts +12 -4
  28. package/dist/mcp/agent-variants/tools.d.ts.map +1 -1
  29. package/dist/mcp/agent-variants/tools.js +69 -13
  30. package/dist/mcp/agent-variants/tools.js.map +1 -1
  31. package/dist/mcp/changeBatchClassification.d.ts +30 -0
  32. package/dist/mcp/changeBatchClassification.d.ts.map +1 -1
  33. package/dist/mcp/changeBatchClassification.js +76 -0
  34. package/dist/mcp/changeBatchClassification.js.map +1 -1
  35. package/dist/mcp/instructions.d.ts.map +1 -1
  36. package/dist/mcp/instructions.js +7 -1
  37. package/dist/mcp/instructions.js.map +1 -1
  38. package/dist/mcp/server.d.ts +51 -3
  39. package/dist/mcp/server.d.ts.map +1 -1
  40. package/dist/mcp/server.js +404 -156
  41. package/dist/mcp/server.js.map +1 -1
  42. package/dist/mcp/watchLoopResumePrompt.d.ts +16 -0
  43. package/dist/mcp/watchLoopResumePrompt.d.ts.map +1 -0
  44. package/dist/mcp/watchLoopResumePrompt.js +21 -0
  45. package/dist/mcp/watchLoopResumePrompt.js.map +1 -0
  46. package/dist/routes/agentVariants.d.ts +10 -1
  47. package/dist/routes/agentVariants.d.ts.map +1 -1
  48. package/dist/routes/agentVariants.js +214 -3
  49. package/dist/routes/agentVariants.js.map +1 -1
  50. package/dist/routes/mcp.d.ts.map +1 -1
  51. package/dist/routes/mcp.js +106 -47
  52. package/dist/routes/mcp.js.map +1 -1
  53. package/dist/services/BridgeBatchPipeline.d.ts +99 -0
  54. package/dist/services/BridgeBatchPipeline.d.ts.map +1 -0
  55. package/dist/services/BridgeBatchPipeline.js +278 -0
  56. package/dist/services/BridgeBatchPipeline.js.map +1 -0
  57. package/dist/services/BridgeQueueStore.d.ts +28 -0
  58. package/dist/services/BridgeQueueStore.d.ts.map +1 -0
  59. package/dist/services/BridgeQueueStore.js +88 -0
  60. package/dist/services/BridgeQueueStore.js.map +1 -0
  61. package/dist/services/InlineVariantGenerationService.d.ts.map +1 -1
  62. package/dist/services/InlineVariantGenerationService.js +15 -3
  63. package/dist/services/InlineVariantGenerationService.js.map +1 -1
  64. package/dist/services/SessionBridgeService.d.ts +127 -31
  65. package/dist/services/SessionBridgeService.d.ts.map +1 -1
  66. package/dist/services/SessionBridgeService.js +428 -83
  67. package/dist/services/SessionBridgeService.js.map +1 -1
  68. package/dist/services/TelemetryService.d.ts +30 -0
  69. package/dist/services/TelemetryService.d.ts.map +1 -1
  70. package/dist/services/TelemetryService.js +42 -0
  71. package/dist/services/TelemetryService.js.map +1 -1
  72. package/dist/services/WorktreeManager.d.ts +29 -2
  73. package/dist/services/WorktreeManager.d.ts.map +1 -1
  74. package/dist/services/WorktreeManager.js +73 -7
  75. package/dist/services/WorktreeManager.js.map +1 -1
  76. package/dist/services/createAgentVariantsOrchestrator.d.ts +0 -8
  77. package/dist/services/createAgentVariantsOrchestrator.d.ts.map +1 -1
  78. package/dist/services/createAgentVariantsOrchestrator.js +1 -18
  79. package/dist/services/createAgentVariantsOrchestrator.js.map +1 -1
  80. package/dist/utils/portUtils.d.ts +9 -0
  81. package/dist/utils/portUtils.d.ts.map +1 -1
  82. package/dist/utils/portUtils.js +26 -0
  83. package/dist/utils/portUtils.js.map +1 -1
  84. package/dist/utils/skills/claude-skill.d.ts +1 -1
  85. package/dist/utils/skills/claude-skill.d.ts.map +1 -1
  86. package/dist/utils/skills/claude-skill.js +31 -12
  87. package/dist/utils/skills/claude-skill.js.map +1 -1
  88. package/dist/utils/skills/cursor-rules.d.ts +1 -1
  89. package/dist/utils/skills/cursor-rules.d.ts.map +1 -1
  90. package/dist/utils/skills/cursor-rules.js +26 -11
  91. package/dist/utils/skills/cursor-rules.js.map +1 -1
  92. package/dist/utils/skills/shared-variants-protocol.d.ts +28 -0
  93. package/dist/utils/skills/shared-variants-protocol.d.ts.map +1 -1
  94. package/dist/utils/skills/shared-variants-protocol.js +88 -14
  95. package/dist/utils/skills/shared-variants-protocol.js.map +1 -1
  96. package/package.json +3 -2
  97. package/src/ui/dist/assets/main-DREt3GGU.css +1 -0
  98. package/src/ui/dist/assets/main-Dt7ShmjM.js +655 -0
  99. package/src/ui/dist/index.html +2 -2
  100. package/dist/mcp/agent-variants/designCritique.d.ts +0 -167
  101. package/dist/mcp/agent-variants/designCritique.d.ts.map +0 -1
  102. package/dist/mcp/agent-variants/designCritique.js +0 -774
  103. package/dist/mcp/agent-variants/designCritique.js.map +0 -1
  104. package/src/ui/dist/assets/main-B1LAuLK_.js +0 -655
  105. package/src/ui/dist/assets/main-D-YwdYjm.css +0 -1
@@ -0,0 +1,99 @@
1
+ import type { ChangeRequest } from '../types/change-request-types';
2
+ export type BatchChannelKind = 'apply' | 'variant';
3
+ export type BatchChannelConfig = {
4
+ kind: BatchChannelKind;
5
+ maxQueued: number;
6
+ maxConcurrentLeases: number;
7
+ queueFullReason: 'apply_queue_full' | 'variant_queue_full';
8
+ };
9
+ export type QueuedBatchRecord = {
10
+ intent: ChangeRequest;
11
+ enqueuedAt: number;
12
+ leaseId: string;
13
+ requestId: string;
14
+ };
15
+ export type LeasedBatchRecord = {
16
+ kind: BatchChannelKind;
17
+ intent: ChangeRequest;
18
+ enqueuedAt: number;
19
+ leaseId: string;
20
+ requestId: string;
21
+ mergedRequestIds: string[];
22
+ mergedFrom: number;
23
+ leasedAt: number;
24
+ };
25
+ export type ChannelSnapshot = {
26
+ queued: QueuedBatchRecord[];
27
+ leased: LeasedBatchRecord[];
28
+ };
29
+ export type EnqueueBatchInput = {
30
+ intent: ChangeRequest;
31
+ enqueuedAt: number;
32
+ leaseId: string;
33
+ requestId: string;
34
+ };
35
+ export type EnqueueResult = {
36
+ accepted: true;
37
+ } | {
38
+ accepted: false;
39
+ reason: 'apply_queue_full' | 'variant_queue_full';
40
+ };
41
+ export type LeaseResult = LeasedBatchRecord;
42
+ export type AckResult = {
43
+ acked: boolean;
44
+ mergedRequestIds: string[];
45
+ };
46
+ /**
47
+ * FIFO queued → leased → acked batch pipeline for one apply or variant channel.
48
+ */
49
+ export declare class BridgeBatchPipeline {
50
+ private readonly config;
51
+ private queued;
52
+ private leased;
53
+ constructor(config: BatchChannelConfig);
54
+ /** Push a batch onto the FIFO queue, rejecting at capacity. */
55
+ enqueue(batch: EnqueueBatchInput): EnqueueResult;
56
+ /** True when this channel can lease another batch from the queue. */
57
+ canLease(): boolean;
58
+ /**
59
+ * Lease a specific queued batch by request id without merging other batches.
60
+ */
61
+ leaseQueuedRequestId(requestId: string): LeaseResult | null;
62
+ /**
63
+ * Lease the next merge-eligible group from the queue, or return an existing
64
+ * lease when `requestId` matches an active lease (idempotent re-poll).
65
+ */
66
+ leaseNext(requestId?: string): LeaseResult | null;
67
+ /** Resolve an active lease by id. */
68
+ findLease(leaseId: string): LeasedBatchRecord | null;
69
+ /** Drop a lease after the agent completes work; idempotent on retry. */
70
+ ack(params: {
71
+ leaseId: string;
72
+ requestId?: string;
73
+ }): AckResult;
74
+ /** Requeue leases whose TTL has expired (recovery after agent crash). */
75
+ requeueExpiredLeases(now: number, ttlMs: number): number;
76
+ /** True when queued or leased batches remain on this channel. */
77
+ hasWork(): boolean;
78
+ /** Number of batches waiting in the FIFO queue. */
79
+ queuedDepth(): number;
80
+ /** Number of batches currently leased to an agent. */
81
+ leasedDepth(): number;
82
+ /** Oldest enqueue timestamp among queued batches, or null when empty. */
83
+ oldestQueuedEnqueuedAt(): number | null;
84
+ /** Non-destructive peek at queued batch intents. */
85
+ peekQueuedIntents(): ChangeRequest[];
86
+ /** Non-destructive peek at the oldest queued batch intent. */
87
+ peekHeadIntent(): ChangeRequest | null;
88
+ /**
89
+ * Replace or remove the FIFO head queued batch (mixed-variant rejection on apply).
90
+ */
91
+ replaceHeadQueuedBatch(nextIntent: ChangeRequest | null): ChangeRequest | null;
92
+ /** Enqueue timestamps aligned with {@link peekQueuedIntents}. */
93
+ peekQueuedEnqueuedAt(): number[];
94
+ /** Export channel state for disk persistence and status APIs. */
95
+ snapshot(): ChannelSnapshot;
96
+ /** Restore channel state from a persisted snapshot. */
97
+ hydrate(snapshot: ChannelSnapshot): void;
98
+ }
99
+ //# sourceMappingURL=BridgeBatchPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BridgeBatchPipeline.d.ts","sourceRoot":"","sources":["../../src/services/BridgeBatchPipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BridgeBatchPipeline = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const changeBatchClassification_1 = require("../mcp/changeBatchClassification");
6
+ const applyTargetKey = (intent) => {
7
+ if (intent.worktreePath) {
8
+ return `worktree:${intent.worktreePath}`;
9
+ }
10
+ if (intent.target) {
11
+ return `target:${intent.target.sessionId}:${intent.target.variantId}`;
12
+ }
13
+ if (intent.staticPreviewTarget) {
14
+ return `static:${intent.staticPreviewTarget.sessionId}:${intent.staticPreviewTarget.variantId}`;
15
+ }
16
+ return 'base';
17
+ };
18
+ const staticPreviewTargetKey = (intent) => {
19
+ if (intent.staticPreviewTarget) {
20
+ return `${intent.staticPreviewTarget.sessionId}:${intent.staticPreviewTarget.variantId}`;
21
+ }
22
+ const comment = intent.changes.find((change) => change.kind === 'comment' && change.staticPreviewTarget);
23
+ if (comment?.kind === 'comment' && comment.staticPreviewTarget) {
24
+ return `${comment.staticPreviewTarget.sessionId}:${comment.staticPreviewTarget.variantId}`;
25
+ }
26
+ return null;
27
+ };
28
+ const mergeIntents = (batches) => {
29
+ const first = batches[0].intent;
30
+ const sourceFileSet = new Set();
31
+ for (const batch of batches) {
32
+ for (const file of batch.intent.sourceFiles) {
33
+ sourceFileSet.add(file);
34
+ }
35
+ }
36
+ return {
37
+ ...first,
38
+ changes: batches.flatMap((batch) => batch.intent.changes),
39
+ sourceFiles: [...sourceFileSet],
40
+ };
41
+ };
42
+ const collectMergeGroup = (config, queued) => {
43
+ if (queued.length === 0) {
44
+ return [];
45
+ }
46
+ if (config.kind === 'apply') {
47
+ const targetKey = applyTargetKey(queued[0].intent);
48
+ const group = [queued[0]];
49
+ for (let i = 1; i < queued.length; i += 1) {
50
+ if (applyTargetKey(queued[i].intent) !== targetKey) {
51
+ break;
52
+ }
53
+ group.push(queued[i]);
54
+ }
55
+ return group;
56
+ }
57
+ const head = queued[0].intent;
58
+ if ((0, changeBatchClassification_1.isSingleVariantRequestBatch)(head)) {
59
+ return [queued[0]];
60
+ }
61
+ if (!(0, changeBatchClassification_1.isStaticPreviewRefineBatch)(head)) {
62
+ return [queued[0]];
63
+ }
64
+ const targetKey = staticPreviewTargetKey(head);
65
+ if (!targetKey) {
66
+ return [queued[0]];
67
+ }
68
+ const group = [queued[0]];
69
+ for (let i = 1; i < queued.length; i += 1) {
70
+ const next = queued[i].intent;
71
+ if ((0, changeBatchClassification_1.isSingleVariantRequestBatch)(next)) {
72
+ break;
73
+ }
74
+ if (!(0, changeBatchClassification_1.isStaticPreviewRefineBatch)(next)) {
75
+ break;
76
+ }
77
+ if (staticPreviewTargetKey(next) !== targetKey) {
78
+ break;
79
+ }
80
+ group.push(queued[i]);
81
+ }
82
+ return group;
83
+ };
84
+ /**
85
+ * FIFO queued → leased → acked batch pipeline for one apply or variant channel.
86
+ */
87
+ class BridgeBatchPipeline {
88
+ config;
89
+ queued = [];
90
+ leased = [];
91
+ constructor(config) {
92
+ this.config = config;
93
+ }
94
+ /** Push a batch onto the FIFO queue, rejecting at capacity. */
95
+ enqueue(batch) {
96
+ if (this.queued.length >= this.config.maxQueued) {
97
+ return { accepted: false, reason: this.config.queueFullReason };
98
+ }
99
+ this.queued.push({ ...batch });
100
+ return { accepted: true };
101
+ }
102
+ /** True when this channel can lease another batch from the queue. */
103
+ canLease() {
104
+ return (this.leased.length < this.config.maxConcurrentLeases &&
105
+ this.queued.length > 0);
106
+ }
107
+ /**
108
+ * Lease a specific queued batch by request id without merging other batches.
109
+ */
110
+ leaseQueuedRequestId(requestId) {
111
+ const existing = this.leased.find((lease) => lease.requestId === requestId ||
112
+ lease.mergedRequestIds.includes(requestId));
113
+ if (existing) {
114
+ return existing;
115
+ }
116
+ if (this.leased.length >= this.config.maxConcurrentLeases) {
117
+ return null;
118
+ }
119
+ const index = this.queued.findIndex((batch) => batch.requestId === requestId);
120
+ if (index === -1) {
121
+ return null;
122
+ }
123
+ const [batch] = this.queued.splice(index, 1);
124
+ const lease = {
125
+ kind: this.config.kind,
126
+ intent: batch.intent,
127
+ enqueuedAt: batch.enqueuedAt,
128
+ leaseId: batch.leaseId,
129
+ requestId: batch.requestId,
130
+ mergedRequestIds: [batch.requestId],
131
+ mergedFrom: 1,
132
+ leasedAt: Date.now(),
133
+ };
134
+ this.leased.push(lease);
135
+ return lease;
136
+ }
137
+ /**
138
+ * Lease the next merge-eligible group from the queue, or return an existing
139
+ * lease when `requestId` matches an active lease (idempotent re-poll).
140
+ */
141
+ leaseNext(requestId) {
142
+ if (requestId) {
143
+ const existing = this.leased.find((lease) => lease.requestId === requestId ||
144
+ lease.mergedRequestIds.includes(requestId));
145
+ if (existing) {
146
+ return existing;
147
+ }
148
+ const specific = this.leaseQueuedRequestId(requestId);
149
+ if (specific) {
150
+ return specific;
151
+ }
152
+ return null;
153
+ }
154
+ if (!this.canLease()) {
155
+ return null;
156
+ }
157
+ const mergeGroup = collectMergeGroup(this.config, this.queued);
158
+ if (mergeGroup.length === 0) {
159
+ return null;
160
+ }
161
+ this.queued.splice(0, mergeGroup.length);
162
+ const mergedIntent = mergeIntents(mergeGroup);
163
+ const mergedRequestIds = mergeGroup.map((batch) => batch.requestId);
164
+ const lease = {
165
+ kind: this.config.kind,
166
+ intent: mergedIntent,
167
+ enqueuedAt: mergeGroup[0].enqueuedAt,
168
+ leaseId: mergeGroup[0].leaseId,
169
+ requestId: mergeGroup[0].requestId,
170
+ mergedRequestIds,
171
+ mergedFrom: mergeGroup.length,
172
+ leasedAt: Date.now(),
173
+ };
174
+ this.leased.push(lease);
175
+ return lease;
176
+ }
177
+ /** Resolve an active lease by id. */
178
+ findLease(leaseId) {
179
+ return this.leased.find((lease) => lease.leaseId === leaseId) ?? null;
180
+ }
181
+ /** Drop a lease after the agent completes work; idempotent on retry. */
182
+ ack(params) {
183
+ const index = this.leased.findIndex((lease) => lease.leaseId === params.leaseId);
184
+ if (index === -1) {
185
+ return { acked: true, mergedRequestIds: [] };
186
+ }
187
+ const [removed] = this.leased.splice(index, 1);
188
+ void params.requestId;
189
+ return { acked: true, mergedRequestIds: removed.mergedRequestIds };
190
+ }
191
+ /** Requeue leases whose TTL has expired (recovery after agent crash). */
192
+ requeueExpiredLeases(now, ttlMs) {
193
+ let requeued = 0;
194
+ const stillLeased = [];
195
+ for (const lease of this.leased) {
196
+ if (now - lease.leasedAt >= ttlMs) {
197
+ for (const requestId of lease.mergedRequestIds) {
198
+ this.queued.unshift({
199
+ intent: lease.intent,
200
+ enqueuedAt: lease.enqueuedAt,
201
+ leaseId: (0, crypto_1.randomUUID)(),
202
+ requestId,
203
+ });
204
+ }
205
+ requeued += 1;
206
+ }
207
+ else {
208
+ stillLeased.push(lease);
209
+ }
210
+ }
211
+ this.leased = stillLeased;
212
+ return requeued;
213
+ }
214
+ /** True when queued or leased batches remain on this channel. */
215
+ hasWork() {
216
+ return this.queued.length > 0 || this.leased.length > 0;
217
+ }
218
+ /** Number of batches waiting in the FIFO queue. */
219
+ queuedDepth() {
220
+ return this.queued.length;
221
+ }
222
+ /** Number of batches currently leased to an agent. */
223
+ leasedDepth() {
224
+ return this.leased.length;
225
+ }
226
+ /** Oldest enqueue timestamp among queued batches, or null when empty. */
227
+ oldestQueuedEnqueuedAt() {
228
+ return this.queued.length > 0 ? this.queued[0].enqueuedAt : null;
229
+ }
230
+ /** Non-destructive peek at queued batch intents. */
231
+ peekQueuedIntents() {
232
+ return this.queued.map((batch) => batch.intent);
233
+ }
234
+ /** Non-destructive peek at the oldest queued batch intent. */
235
+ peekHeadIntent() {
236
+ return this.queued[0]?.intent ?? null;
237
+ }
238
+ /**
239
+ * Replace or remove the FIFO head queued batch (mixed-variant rejection on apply).
240
+ */
241
+ replaceHeadQueuedBatch(nextIntent) {
242
+ if (this.queued.length === 0) {
243
+ return null;
244
+ }
245
+ if (!nextIntent) {
246
+ this.queued.shift();
247
+ return null;
248
+ }
249
+ const head = this.queued[0];
250
+ this.queued[0] = { ...head, intent: nextIntent };
251
+ return nextIntent;
252
+ }
253
+ /** Enqueue timestamps aligned with {@link peekQueuedIntents}. */
254
+ peekQueuedEnqueuedAt() {
255
+ return this.queued.map((batch) => batch.enqueuedAt);
256
+ }
257
+ /** Export channel state for disk persistence and status APIs. */
258
+ snapshot() {
259
+ return {
260
+ queued: this.queued.map((batch) => ({ ...batch, intent: { ...batch.intent } })),
261
+ leased: this.leased.map((lease) => ({
262
+ ...lease,
263
+ intent: { ...lease.intent },
264
+ mergedRequestIds: [...lease.mergedRequestIds],
265
+ })),
266
+ };
267
+ }
268
+ /** Restore channel state from a persisted snapshot. */
269
+ hydrate(snapshot) {
270
+ this.queued = snapshot.queued.map((batch) => ({ ...batch }));
271
+ this.leased = snapshot.leased.map((lease) => ({
272
+ ...lease,
273
+ mergedRequestIds: [...lease.mergedRequestIds],
274
+ }));
275
+ }
276
+ }
277
+ exports.BridgeBatchPipeline = BridgeBatchPipeline;
278
+ //# sourceMappingURL=BridgeBatchPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BridgeBatchPipeline.js","sourceRoot":"","sources":["../../src/services/BridgeBatchPipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { ChannelSnapshot } from './BridgeBatchPipeline';
2
+ export declare const BRIDGE_QUEUE_SCHEMA_VERSION = 1;
3
+ /** Maximum serialized bridge queue file size (~2MB, mirrors variant batch budget). */
4
+ export declare const MAX_BRIDGE_QUEUE_BYTES: number;
5
+ export type BridgeQueueSnapshot = {
6
+ version: typeof BRIDGE_QUEUE_SCHEMA_VERSION;
7
+ apply: ChannelSnapshot;
8
+ variant: ChannelSnapshot;
9
+ roundsCompleted: number;
10
+ updatedAt: number;
11
+ projectPath: string;
12
+ };
13
+ export declare const emptyBridgeQueueSnapshot: (projectPath: string) => BridgeQueueSnapshot;
14
+ /**
15
+ * Persist bridge queue snapshots under `{projectPath}/.rivet/mcp-bridge/`.
16
+ */
17
+ export declare class BridgeQueueStore {
18
+ /**
19
+ * Load a persisted snapshot for the session, or null when missing/corrupt.
20
+ */
21
+ load(projectPath: string, sessionId: string): BridgeQueueSnapshot | null;
22
+ /** Write the snapshot atomically after queue mutations. */
23
+ save(projectPath: string, sessionId: string, snapshot: BridgeQueueSnapshot): void;
24
+ /** Remove the on-disk queue when the editor session ends. */
25
+ delete(projectPath: string, sessionId: string): void;
26
+ }
27
+ export declare const bridgeQueueStore: BridgeQueueStore;
28
+ //# sourceMappingURL=BridgeQueueStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BridgeQueueStore.d.ts","sourceRoot":"","sources":["../../src/services/BridgeQueueStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,QAAkB,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,2BAA2B,CAAC;IAC5C,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAOF,eAAO,MAAM,wBAAwB,GACnC,aAAa,MAAM,KAClB,mBAOD,CAAC;AAKH;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IA0BxE,2DAA2D;IAC3D,IAAI,CACF,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,mBAAmB,GAC5B,IAAI;IAiBP,6DAA6D;IAC7D,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAUrD;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bridgeQueueStore = exports.BridgeQueueStore = exports.emptyBridgeQueueSnapshot = exports.MAX_BRIDGE_QUEUE_BYTES = exports.BRIDGE_QUEUE_SCHEMA_VERSION = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const index_core_1 = require("../index-core");
7
+ const log = (0, index_core_1.createLogger)('BridgeQueueStore');
8
+ exports.BRIDGE_QUEUE_SCHEMA_VERSION = 1;
9
+ /** Maximum serialized bridge queue file size (~2MB, mirrors variant batch budget). */
10
+ exports.MAX_BRIDGE_QUEUE_BYTES = 2 * 1024 * 1024;
11
+ const emptyChannelSnapshot = () => ({
12
+ queued: [],
13
+ leased: [],
14
+ });
15
+ const emptyBridgeQueueSnapshot = (projectPath) => ({
16
+ version: exports.BRIDGE_QUEUE_SCHEMA_VERSION,
17
+ apply: emptyChannelSnapshot(),
18
+ variant: emptyChannelSnapshot(),
19
+ roundsCompleted: 0,
20
+ updatedAt: Date.now(),
21
+ projectPath,
22
+ });
23
+ exports.emptyBridgeQueueSnapshot = emptyBridgeQueueSnapshot;
24
+ const queueFilePath = (projectPath, sessionId) => (0, path_1.join)(projectPath, '.rivet', 'mcp-bridge', `${sessionId}.json`);
25
+ /**
26
+ * Persist bridge queue snapshots under `{projectPath}/.rivet/mcp-bridge/`.
27
+ */
28
+ class BridgeQueueStore {
29
+ /**
30
+ * Load a persisted snapshot for the session, or null when missing/corrupt.
31
+ */
32
+ load(projectPath, sessionId) {
33
+ const filePath = queueFilePath(projectPath, sessionId);
34
+ try {
35
+ const raw = (0, fs_1.readFileSync)(filePath, 'utf8');
36
+ if (Buffer.byteLength(raw) > exports.MAX_BRIDGE_QUEUE_BYTES) {
37
+ log.warn(`Bridge queue file too large (${filePath}); ignoring`);
38
+ return null;
39
+ }
40
+ const parsed = JSON.parse(raw);
41
+ if (parsed.version !== exports.BRIDGE_QUEUE_SCHEMA_VERSION) {
42
+ log.warn(`Bridge queue schema mismatch (${filePath}); ignoring`);
43
+ return null;
44
+ }
45
+ if (parsed.projectPath !== projectPath) {
46
+ log.warn(`Bridge queue projectPath mismatch (${filePath}); ignoring`);
47
+ return null;
48
+ }
49
+ return parsed;
50
+ }
51
+ catch (error) {
52
+ if (error.code !== 'ENOENT') {
53
+ log.warn(`Failed to read bridge queue file (${filePath})`, error);
54
+ }
55
+ return null;
56
+ }
57
+ }
58
+ /** Write the snapshot atomically after queue mutations. */
59
+ save(projectPath, sessionId, snapshot) {
60
+ const filePath = queueFilePath(projectPath, sessionId);
61
+ const payload = JSON.stringify({
62
+ ...snapshot,
63
+ projectPath,
64
+ updatedAt: Date.now(),
65
+ });
66
+ if (Buffer.byteLength(payload) > exports.MAX_BRIDGE_QUEUE_BYTES) {
67
+ log.warn(`Bridge queue snapshot exceeds byte budget (${Buffer.byteLength(payload)} > ${exports.MAX_BRIDGE_QUEUE_BYTES}); skipping persist`);
68
+ return;
69
+ }
70
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(filePath), { recursive: true });
71
+ (0, fs_1.writeFileSync)(filePath, payload, 'utf8');
72
+ }
73
+ /** Remove the on-disk queue when the editor session ends. */
74
+ delete(projectPath, sessionId) {
75
+ const filePath = queueFilePath(projectPath, sessionId);
76
+ try {
77
+ (0, fs_1.unlinkSync)(filePath);
78
+ }
79
+ catch (error) {
80
+ if (error.code !== 'ENOENT') {
81
+ log.warn(`Failed to delete bridge queue file (${filePath})`, error);
82
+ }
83
+ }
84
+ }
85
+ }
86
+ exports.BridgeQueueStore = BridgeQueueStore;
87
+ exports.bridgeQueueStore = new BridgeQueueStore();
88
+ //# sourceMappingURL=BridgeQueueStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BridgeQueueStore.js","sourceRoot":"","sources":["../../src/services/BridgeQueueStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InlineVariantGenerationService.d.ts","sourceRoot":"","sources":["../../src/services/InlineVariantGenerationService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAuC9D,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,gBAAgB,EAAE,CAAC,MAAM,EAAE;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACvC,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,YAAY,EAAE,yBAAyB,CAAC;IACxC,MAAM,EAAE,wBAAwB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AA2PF;;GAEG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,qCAAqC;IAU1D;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,sBAAsB,CAAC;IAqHlC;;OAEG;YACW,sBAAsB;IA+BpC;;OAEG;YACW,gBAAgB;IA2F9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAoB5B"}
1
+ {"version":3,"file":"InlineVariantGenerationService.d.ts","sourceRoot":"","sources":["../../src/services/InlineVariantGenerationService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAuC9D,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,gBAAgB,EAAE,CAAC,MAAM,EAAE;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACvC,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,YAAY,EAAE,yBAAyB,CAAC;IACxC,MAAM,EAAE,wBAAwB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAyQF;;GAEG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,qCAAqC;IAU1D;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,sBAAsB,CAAC;IAsHlC;;OAEG;YACW,sBAAsB;IA+BpC;;OAEG;YACW,gBAAgB;IA2F9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAoB5B"}
@@ -79,6 +79,17 @@ const getWorktreePath = (workItem) => {
79
79
  ? worktreePath
80
80
  : null;
81
81
  };
82
+ const resolveSourceVariantId = (request) => {
83
+ const batchTarget = request.target;
84
+ if (batchTarget?.kind === 'variant') {
85
+ return batchTarget.variantId;
86
+ }
87
+ const change = request.changes[0];
88
+ if (change?.kind === 'comment' && change.target?.kind === 'variant') {
89
+ return change.target.variantId;
90
+ }
91
+ return undefined;
92
+ };
82
93
  const getBrief = (workItem) => {
83
94
  const input = workItem.input && typeof workItem.input === 'object'
84
95
  ? workItem.input
@@ -270,19 +281,20 @@ class InlineVariantGenerationService {
270
281
  allowedRoots: [contextProjectPath],
271
282
  });
272
283
  }
284
+ const sourceVariantId = resolveSourceVariantId(request);
273
285
  const startResult = await this.orchestrator.startUnified({
274
286
  prompt: comment.instruction,
275
287
  target: deriveTarget(comment.element),
276
288
  ...(sessionId ? { sessionId } : {}),
277
289
  projectContext: {
278
290
  kind: 'existing',
279
- ...(variantContext && contextProjectPath
280
- ? { projectPath: contextProjectPath }
281
- : {}),
291
+ ...(contextProjectPath ? { projectPath: contextProjectPath } : {}),
282
292
  ...(variantContext ? { variantContext } : {}),
283
293
  },
284
294
  leaseOwner: `rivet-agent-${agentLabel.toLowerCase().replace(/\s+/g, '-')}`,
285
295
  briefs: buildInlineVariantBriefs(count),
296
+ allowAccumulate: true,
297
+ ...(sourceVariantId ? { sourceVariantId } : {}),
286
298
  });
287
299
  const leasedItems = startResult.leasedWorkItems ?? [];
288
300
  this.bridge.reportFeedback(`Creating ${leasedItems.length} worktrees.`);
@@ -1 +1 @@
1
- {"version":3,"file":"InlineVariantGenerationService.js","sourceRoot":"","sources":["../../src/services/InlineVariantGenerationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InlineVariantGenerationService.js","sourceRoot":"","sources":["../../src/services/InlineVariantGenerationService.ts"],"names":[],"mappings":"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"}