rivet-design 0.11.13 → 0.11.14
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.
- package/dist/config/flags.d.ts +1 -1
- package/dist/config/flags.js +1 -1
- package/dist/config/proxy.d.ts +6 -0
- package/dist/config/proxy.d.ts.map +1 -1
- package/dist/config/proxy.js +36 -19
- package/dist/config/proxy.js.map +1 -1
- package/dist/install/harnesses.d.ts.map +1 -1
- package/dist/install/harnesses.js +78 -42
- package/dist/install/harnesses.js.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts +29 -0
- package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.js +472 -8
- package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js +64 -0
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js.map +1 -1
- package/dist/mcp/agent-variants/contracts.d.ts +378 -378
- package/dist/mcp/agent-variants/tools.d.ts +29 -1
- package/dist/mcp/agent-variants/tools.d.ts.map +1 -1
- package/dist/mcp/agent-variants/tools.js +142 -13
- package/dist/mcp/agent-variants/tools.js.map +1 -1
- package/dist/mcp/auth/tools.d.ts.map +1 -1
- package/dist/mcp/auth/tools.js +68 -2
- package/dist/mcp/auth/tools.js.map +1 -1
- package/dist/mcp/server.d.ts +54 -2
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +190 -41
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/toolAnalytics.d.ts +15 -0
- package/dist/mcp/toolAnalytics.d.ts.map +1 -0
- package/dist/mcp/toolAnalytics.js +87 -0
- package/dist/mcp/toolAnalytics.js.map +1 -0
- package/dist/onboarding/signin.d.ts +10 -0
- package/dist/onboarding/signin.d.ts.map +1 -1
- package/dist/onboarding/signin.js +41 -3
- package/dist/onboarding/signin.js.map +1 -1
- package/dist/routes/agentVariants.d.ts +2 -2
- package/dist/routes/agentVariants.d.ts.map +1 -1
- package/dist/routes/agentVariants.js +12 -7
- package/dist/routes/agentVariants.js.map +1 -1
- package/dist/routes/mcp.d.ts.map +1 -1
- package/dist/routes/mcp.js +153 -2
- package/dist/routes/mcp.js.map +1 -1
- package/dist/server.d.ts +6 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +52 -37
- package/dist/server.js.map +1 -1
- package/dist/services/BridgeBatchPipeline.d.ts +4 -0
- package/dist/services/BridgeBatchPipeline.d.ts.map +1 -1
- package/dist/services/BridgeBatchPipeline.js +18 -1
- package/dist/services/BridgeBatchPipeline.js.map +1 -1
- package/dist/services/MCPOnboardingTelemetry.d.ts +41 -0
- package/dist/services/MCPOnboardingTelemetry.d.ts.map +1 -0
- package/dist/services/MCPOnboardingTelemetry.js +158 -0
- package/dist/services/MCPOnboardingTelemetry.js.map +1 -0
- package/dist/services/MCPVariantsTelemetry.d.ts +59 -0
- package/dist/services/MCPVariantsTelemetry.d.ts.map +1 -0
- package/dist/services/MCPVariantsTelemetry.js +153 -0
- package/dist/services/MCPVariantsTelemetry.js.map +1 -0
- package/dist/services/SessionBridgeService.d.ts +28 -7
- package/dist/services/SessionBridgeService.d.ts.map +1 -1
- package/dist/services/SessionBridgeService.js +46 -9
- package/dist/services/SessionBridgeService.js.map +1 -1
- package/dist/services/TelemetryService.d.ts +108 -0
- package/dist/services/TelemetryService.d.ts.map +1 -1
- package/dist/services/TelemetryService.js +269 -1
- package/dist/services/TelemetryService.js.map +1 -1
- package/dist/services/WorktreeManager.d.ts.map +1 -1
- package/dist/services/WorktreeManager.js +3 -0
- package/dist/services/WorktreeManager.js.map +1 -1
- package/package.json +2 -2
- package/src/ui/dist/assets/main-CNVy90lr.css +1 -0
- package/src/ui/dist/assets/main-tL2Lt1OL.js +655 -0
- package/src/ui/dist/index.html +2 -2
- package/src/ui/dist/assets/main-DREt3GGU.css +0 -1
- package/src/ui/dist/assets/main-Dt7ShmjM.js +0 -655
package/dist/mcp/auth/tools.js
CHANGED
|
@@ -35,9 +35,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.withAuthGuard = exports.createAuthGuard = void 0;
|
|
37
37
|
exports.registerAuthTools = registerAuthTools;
|
|
38
|
+
const crypto_1 = require("crypto");
|
|
38
39
|
const v3_1 = require("zod/v3");
|
|
39
40
|
const ConfigManager_1 = require("../../services/ConfigManager");
|
|
40
41
|
const RequestAuthContext_1 = require("../../services/RequestAuthContext");
|
|
42
|
+
const MCPOnboardingTelemetry_1 = require("../../services/MCPOnboardingTelemetry");
|
|
41
43
|
const telemetry_1 = require("../../config/telemetry");
|
|
42
44
|
const logger_1 = require("../../utils/logger");
|
|
43
45
|
const log = (0, logger_1.createLogger)('mcp-auth');
|
|
@@ -119,11 +121,27 @@ function registerAuthTools(mcp, deps) {
|
|
|
119
121
|
const { authService, telemetry, mcpEditor, revokeBearerToken, mode = 'local', } = deps;
|
|
120
122
|
const isHosted = mode === 'hosted';
|
|
121
123
|
const loginHandler = async () => {
|
|
124
|
+
const onboardingAttemptId = (0, crypto_1.randomUUID)();
|
|
125
|
+
const authAttemptId = (0, crypto_1.randomUUID)();
|
|
126
|
+
telemetry?.trackMCPOnboardingStarted({
|
|
127
|
+
onboardingAttemptId,
|
|
128
|
+
mcpEditor,
|
|
129
|
+
});
|
|
122
130
|
try {
|
|
123
131
|
// Real validation — only short-circuit on a genuinely live session,
|
|
124
132
|
// never on a merely-present (possibly stale) token.
|
|
125
133
|
const existing = await authService.getValidatedProfile();
|
|
126
134
|
if (existing) {
|
|
135
|
+
telemetry?.trackMCPAuthFlowStarted({
|
|
136
|
+
onboardingAttemptId,
|
|
137
|
+
authAttemptId,
|
|
138
|
+
method: 'existing_session',
|
|
139
|
+
});
|
|
140
|
+
telemetry?.trackMCPAuthFlowCompleted({
|
|
141
|
+
onboardingAttemptId,
|
|
142
|
+
authAttemptId,
|
|
143
|
+
method: 'existing_session',
|
|
144
|
+
});
|
|
127
145
|
const requestContext = (0, RequestAuthContext_1.getRequestAuthContext)();
|
|
128
146
|
return jsonResponse({
|
|
129
147
|
success: true,
|
|
@@ -134,6 +152,17 @@ function registerAuthTools(mcp, deps) {
|
|
|
134
152
|
});
|
|
135
153
|
}
|
|
136
154
|
if (isHosted) {
|
|
155
|
+
telemetry?.trackMCPAuthFlowStarted({
|
|
156
|
+
onboardingAttemptId,
|
|
157
|
+
authAttemptId,
|
|
158
|
+
method: 'hosted_oauth',
|
|
159
|
+
});
|
|
160
|
+
telemetry?.trackMCPAuthFlowFailed({
|
|
161
|
+
onboardingAttemptId,
|
|
162
|
+
authAttemptId,
|
|
163
|
+
method: 'hosted_oauth',
|
|
164
|
+
failureReason: 'auth_required',
|
|
165
|
+
});
|
|
137
166
|
return jsonResponse({
|
|
138
167
|
success: false,
|
|
139
168
|
error: 'OAuth required',
|
|
@@ -145,13 +174,39 @@ function registerAuthTools(mcp, deps) {
|
|
|
145
174
|
editor: mcpEditor,
|
|
146
175
|
version: telemetry_1.RIVET_VERSION,
|
|
147
176
|
});
|
|
177
|
+
telemetry?.trackMCPAuthFlowStarted({
|
|
178
|
+
onboardingAttemptId,
|
|
179
|
+
authAttemptId,
|
|
180
|
+
method: 'google',
|
|
181
|
+
});
|
|
182
|
+
telemetry?.trackMCPOAuthRedirectStarted({
|
|
183
|
+
onboardingAttemptId,
|
|
184
|
+
authAttemptId,
|
|
185
|
+
oauthProvider: 'google',
|
|
186
|
+
handoffPathCategory: 'local_rivet',
|
|
187
|
+
});
|
|
148
188
|
// Open Rivet's own sign-in page (served by a short-lived local server)
|
|
149
189
|
// rather than shelling straight to Google. Its "Sign in with Google"
|
|
150
190
|
// button runs the OAuth flow and stores the token in the local config —
|
|
151
191
|
// the same config the short-circuit at the top of this handler reads.
|
|
152
192
|
const { runSignIn } = await Promise.resolve().then(() => __importStar(require('../../onboarding/signin')));
|
|
153
|
-
const signIn = await runSignIn({
|
|
193
|
+
const signIn = await runSignIn({
|
|
194
|
+
timeoutMs: MCP_SIGNIN_TIMEOUT_MS,
|
|
195
|
+
telemetry,
|
|
196
|
+
onboardingAttemptId,
|
|
197
|
+
authAttemptId,
|
|
198
|
+
mcpEditor,
|
|
199
|
+
});
|
|
154
200
|
if (!signIn.ok) {
|
|
201
|
+
const failureReason = signIn.timedOut
|
|
202
|
+
? 'timeout'
|
|
203
|
+
: (0, MCPOnboardingTelemetry_1.normalizeMCPFailureReason)(signIn.error ?? 'unknown');
|
|
204
|
+
telemetry?.trackMCPAuthFlowFailed({
|
|
205
|
+
onboardingAttemptId,
|
|
206
|
+
authAttemptId,
|
|
207
|
+
method: 'google',
|
|
208
|
+
failureReason,
|
|
209
|
+
});
|
|
155
210
|
telemetry?.track('mcp_login_failed', {
|
|
156
211
|
source: 'mcp',
|
|
157
212
|
error_type: signIn.timedOut ? 'Timeout' : 'unknown',
|
|
@@ -167,6 +222,11 @@ function registerAuthTools(mcp, deps) {
|
|
|
167
222
|
// Token is now in the local config; sync PostHog identity.
|
|
168
223
|
telemetry?.identifyUser();
|
|
169
224
|
telemetry?.track('mcp_login_completed', { source: 'mcp' });
|
|
225
|
+
telemetry?.trackMCPAuthFlowCompleted({
|
|
226
|
+
onboardingAttemptId,
|
|
227
|
+
authAttemptId,
|
|
228
|
+
method: 'google',
|
|
229
|
+
});
|
|
170
230
|
const profile = (await authService.getValidatedProfile())?.profile;
|
|
171
231
|
const requestContext = (0, RequestAuthContext_1.getRequestAuthContext)();
|
|
172
232
|
return jsonResponse({
|
|
@@ -180,10 +240,16 @@ function registerAuthTools(mcp, deps) {
|
|
|
180
240
|
}
|
|
181
241
|
catch (err) {
|
|
182
242
|
log.warn('login tool error:', err);
|
|
243
|
+
telemetry?.trackMCPAuthFlowFailed({
|
|
244
|
+
onboardingAttemptId,
|
|
245
|
+
authAttemptId,
|
|
246
|
+
method: 'google',
|
|
247
|
+
failureReason: (0, MCPOnboardingTelemetry_1.normalizeMCPFailureReason)(err),
|
|
248
|
+
});
|
|
183
249
|
return errorResponse(err instanceof Error ? err.message : 'Login failed', 'LOGIN_FAILED');
|
|
184
250
|
}
|
|
185
251
|
};
|
|
186
|
-
registerTool(mcp, 'login',
|
|
252
|
+
registerTool(mcp, 'login', "Authenticate this machine with Rivet via Google. Opens the user's browser to Rivet's sign-in page, then blocks (up to ~5 minutes) until they finish. If already signed in with a valid session, returns immediately. On timeout, returns success:false with a retryable message — call login again to keep waiting.", {}, loginHandler);
|
|
187
253
|
registerTool(mcp, 'mcp_auth', 'Authenticate this MCP server so the user can access all of its tools. When Rivet reports AUTH_REQUIRED, call this tool soon through your MCP tool-calling interface.', {}, loginHandler);
|
|
188
254
|
registerTool(mcp, 'logout', 'Sign this machine out of Rivet and clear the stored credentials.', {}, async () => {
|
|
189
255
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/auth/tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/auth/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { type DevServerHealth } from '../services/SessionBridgeService';
|
|
1
|
+
import { SessionBridgeService, type ActiveLeaseMetadata, type DevServerHealth } from '../services/SessionBridgeService';
|
|
2
2
|
import type { LeasedBatchRecord } from '../services/BridgeBatchPipeline';
|
|
3
|
+
import { TelemetryService } from '../services/TelemetryService';
|
|
3
4
|
import { type DroppedRefinement, type VisualEditorWatchAction } from './agent-variants';
|
|
4
5
|
import { type ImageContent } from './changeBatchClassification';
|
|
5
6
|
import type { ChangeRequest, CommentChangeItem, StaticPreviewChangeTarget } from '../types/change-request-types';
|
|
7
|
+
import type { WorkItemStatus } from './agent-variants/contracts';
|
|
6
8
|
import type { RivetMcpHandle } from './types';
|
|
7
9
|
type McpStdioLoggingDeps = {
|
|
8
10
|
env: Partial<Pick<NodeJS.ProcessEnv, 'RIVET_LOG_LEVEL'>>;
|
|
@@ -53,7 +55,7 @@ type StaticPreviewRefineTargetInstruction = {
|
|
|
53
55
|
requestId?: string;
|
|
54
56
|
};
|
|
55
57
|
export declare const buildMixedVariantBatchResponse: (rejectedRequest: ChangeRequest | null | undefined) => MCPTextResponse;
|
|
56
|
-
export declare const buildVariantRequestBatchResponse: (intent: ChangeRequest | null | undefined, lease?: LeasedBatchRecord) => MCPChangeResponse;
|
|
58
|
+
export declare const buildVariantRequestBatchResponse: (intent: ChangeRequest | null | undefined, lease?: LeasedBatchRecord, projectPath?: string | null) => MCPChangeResponse;
|
|
57
59
|
/**
|
|
58
60
|
* Resolves whether `watch_for_changes` / `get_pending_changes` should pass
|
|
59
61
|
* `requestId` into lease pickup. requestId is only for idempotent re-poll of
|
|
@@ -64,6 +66,14 @@ export declare const resolveLeasePickupRequestId: (args: {
|
|
|
64
66
|
ack_batch?: boolean;
|
|
65
67
|
requestId?: string;
|
|
66
68
|
}) => string | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Lease work for a poll. A matching requestId keeps idempotent re-polls on the
|
|
71
|
+
* same in-flight batch; a stale requestId must not strand unrelated queued work.
|
|
72
|
+
*/
|
|
73
|
+
export declare const leaseAvailableBatchForPoll: (args: {
|
|
74
|
+
bridge: SessionBridgeService;
|
|
75
|
+
requestId?: string;
|
|
76
|
+
}) => LeasedBatchRecord | null;
|
|
67
77
|
/**
|
|
68
78
|
* Builds a poll response for an empty apply queue.
|
|
69
79
|
*/
|
|
@@ -71,6 +81,7 @@ export declare const buildNoPendingChangesResponse: (params?: {
|
|
|
71
81
|
message?: string;
|
|
72
82
|
devServerHealth?: DevServerHealth | null;
|
|
73
83
|
pendingVariantRequests?: number;
|
|
84
|
+
activeLeases?: ActiveLeaseMetadata[];
|
|
74
85
|
}) => MCPTextResponse;
|
|
75
86
|
/**
|
|
76
87
|
* Builds a poll response for a normal apply batch.
|
|
@@ -90,7 +101,48 @@ export declare const buildLeasedVariantResponse: (params: {
|
|
|
90
101
|
isFreshStaticPreviewVariantRequestBatch: (intent: ChangeRequest) => boolean;
|
|
91
102
|
handleStaticPreviewRefineBatch: (intent: ChangeRequest, lease: LeasedBatchRecord) => MCPChangeResponse;
|
|
92
103
|
withPendingVariantRequests: (response: MCPChangeResponse) => MCPChangeResponse;
|
|
104
|
+
projectPath?: string | null;
|
|
93
105
|
}) => MCPChangeResponse;
|
|
106
|
+
type VariantRequestLeaseTracker = {
|
|
107
|
+
claim(args: {
|
|
108
|
+
requestId?: string;
|
|
109
|
+
sessionId: string;
|
|
110
|
+
workItemIds: string[];
|
|
111
|
+
}): void;
|
|
112
|
+
complete(args: {
|
|
113
|
+
sessionId: string;
|
|
114
|
+
workItemId: string;
|
|
115
|
+
status: WorkItemStatus;
|
|
116
|
+
requeuedForRegeneration?: boolean;
|
|
117
|
+
aborted?: boolean;
|
|
118
|
+
}): void;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Tracks a UI-originated variant request lease across the variant work items
|
|
122
|
+
* that satisfy it, releasing the bridge lease once the whole batch has
|
|
123
|
+
* finished.
|
|
124
|
+
*/
|
|
125
|
+
export declare const createVariantRequestLeaseTracker: (params: {
|
|
126
|
+
leaseRequest: (requestId: string) => LeasedBatchRecord | null;
|
|
127
|
+
ackRequest: (args: {
|
|
128
|
+
leaseId: string;
|
|
129
|
+
requestId?: string;
|
|
130
|
+
}) => void;
|
|
131
|
+
}) => VariantRequestLeaseTracker;
|
|
132
|
+
type MCPAckTelemetry = Pick<TelemetryService, 'trackMCPChangeAcked' | 'trackMCPChangeAckFailed'>;
|
|
133
|
+
export declare const ackApplyBridgeLease: (args: {
|
|
134
|
+
bridge: SessionBridgeService;
|
|
135
|
+
telemetry: MCPAckTelemetry;
|
|
136
|
+
sessionId: string;
|
|
137
|
+
leaseId: string;
|
|
138
|
+
requestId?: string;
|
|
139
|
+
}) => void;
|
|
140
|
+
export declare const ackVariantBridgeLease: (args: {
|
|
141
|
+
bridge: SessionBridgeService;
|
|
142
|
+
telemetry: MCPAckTelemetry;
|
|
143
|
+
leaseId?: string;
|
|
144
|
+
requestId?: string;
|
|
145
|
+
}) => void;
|
|
94
146
|
export type RivetMcpOptions = {
|
|
95
147
|
mcpEditor?: string;
|
|
96
148
|
revokeBearerToken?: (token: string) => void;
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AASA,OAAO,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|