rivet-design 0.8.4 → 0.8.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAmC,MAAM,GAAG,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAQ/D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAO/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAgDvE,eAAO,MAAM,YAAY,QAAkB,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG;IAC3E,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,qGAAqG;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wHAAwH;IACxH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,6BAA6B,CAAC,EAAE,MAAM,CAAC;KACxC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,SAAS,aAAa,KACrB,OAAO,CAAC,YAAY,CA+zBtB,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAmC,MAAM,GAAG,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAQ/D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAO/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAiDvE,eAAO,MAAM,YAAY,QAAkB,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG;IAC3E,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,qGAAqG;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wHAAwH;IACxH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,6BAA6B,CAAC,EAAE,MAAM,CAAC;KACxC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,SAAS,aAAa,KACrB,OAAO,CAAC,YAAY,CAm0BtB,CAAC"}
package/dist/server.js CHANGED
@@ -57,6 +57,7 @@ const static_1 = require("./routes/static");
57
57
  const ConfigManager_1 = require("./services/ConfigManager");
58
58
  const evaluateFlags_1 = require("./config/evaluateFlags");
59
59
  const FeatureFlagService_1 = require("./services/FeatureFlagService");
60
+ const DesktopVersionPolicyService_1 = require("./services/DesktopVersionPolicyService");
60
61
  const mcp_1 = require("./routes/mcp");
61
62
  const demo_1 = require("./routes/demo");
62
63
  const HostedDemoSessionService_1 = require("./services/HostedDemoSessionService");
@@ -602,7 +603,10 @@ const startServer = async (options) => {
602
603
  const activeSession = activeDemoSessionId
603
604
  ? demoSessionService?.getSession(activeDemoSessionId)
604
605
  : null;
605
- const featureFlags = await (0, evaluateFlags_1.getFeatureFlags)();
606
+ const [featureFlags, desktopVersionPolicy] = await Promise.all([
607
+ (0, evaluateFlags_1.getFeatureFlags)(),
608
+ (0, DesktopVersionPolicyService_1.getDesktopVersionPolicyService)().getPolicy(),
609
+ ]);
606
610
  res.json({
607
611
  agentModeAvailable: isAuthenticated,
608
612
  email,
@@ -612,6 +616,7 @@ const startServer = async (options) => {
612
616
  featureFlags,
613
617
  projectPath: activeSession?.projectPath ?? projectPath,
614
618
  demoMode: isDemoModeEnabled,
619
+ desktopVersionPolicy,
615
620
  });
616
621
  });
617
622
  // Store auth credentials after browser-based OAuth completion.
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { z } from 'zod/v3';
2
+ import { type FileExcerpt } from '../prompts/commentVariationPrompts';
2
3
  import type { ElementContext } from '../types/change-types';
4
+ export type { FileExcerpt };
3
5
  declare const variantSchema: z.ZodObject<{
4
6
  label: z.ZodString;
5
7
  summary: z.ZodString;
@@ -21,6 +23,7 @@ type GenerateParams = {
21
23
  projectPath?: string;
22
24
  model?: string;
23
25
  };
26
+ export declare const readFileExcerpts: (projectPath: string, element: ElementContext) => Promise<FileExcerpt[]>;
24
27
  /**
25
28
  * Generates style-variant directions for a commented element by calling the
26
29
  * gateway directly with a forced tool-use schema. Skips the agent loop because
@@ -28,5 +31,4 @@ type GenerateParams = {
28
31
  * contents are pre-loaded into the prompt.
29
32
  */
30
33
  export declare const generateCommentStyleVariants: ({ instruction, element, variantCount, projectPath, model, }: GenerateParams) => Promise<CommentStyleVariant[]>;
31
- export {};
32
34
  //# sourceMappingURL=CommentVariationService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommentVariationService.d.ts","sourceRoot":"","sources":["../../src/services/CommentVariationService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAM3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AA0B5D,QAAA,MAAM,aAAa;;;;;;;;;;;;EAIjB,CAAC;AAMH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AA4BhE,KAAK,cAAc,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA8BF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GAAU,6DAMhD,cAAc,KAAG,OAAO,CAAC,mBAAmB,EAAE,CAmDhD,CAAC"}
1
+ {"version":3,"file":"CommentVariationService.d.ts","sourceRoot":"","sources":["../../src/services/CommentVariationService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,YAAY,EAAE,WAAW,EAAE,CAAC;AAyB5B,QAAA,MAAM,aAAa;;;;;;;;;;;;EAIjB,CAAC;AAMH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AA6BhE,KAAK,cAAc,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,aAAa,MAAM,EACnB,SAAS,cAAc,KACtB,OAAO,CAAC,WAAW,EAAE,CAuBvB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GAAU,6DAMhD,cAAc,KAAG,OAAO,CAAC,mBAAmB,EAAE,CAoDhD,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateCommentStyleVariants = void 0;
6
+ exports.generateCommentStyleVariants = exports.readFileExcerpts = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const fs_1 = require("fs");
9
9
  const v3_1 = require("zod/v3");
@@ -39,6 +39,7 @@ const responseSchema = v3_1.z.object({
39
39
  });
40
40
  const SUBMIT_VARIANTS_TOOL = {
41
41
  name: 'submit_variants',
42
+ strict: true,
42
43
  description: 'Submit the final list of style variants for the commented element. Call this exactly once with all variants.',
43
44
  input_schema: {
44
45
  type: 'object',
@@ -85,6 +86,7 @@ const readFileExcerpts = async (projectPath, element) => {
85
86
  }
86
87
  return excerpts;
87
88
  };
89
+ exports.readFileExcerpts = readFileExcerpts;
88
90
  /**
89
91
  * Generates style-variant directions for a commented element by calling the
90
92
  * gateway directly with a forced tool-use schema. Skips the agent loop because
@@ -98,7 +100,7 @@ const generateCommentStyleVariants = async ({ instruction, element, variantCount
98
100
  throw new Error('variantCount must be an integer between 2 and 5');
99
101
  }
100
102
  const cwd = projectPath || DEFAULT_AGENT_CWD;
101
- const fileExcerpts = await readFileExcerpts(cwd, element);
103
+ const fileExcerpts = await (0, exports.readFileExcerpts)(cwd, element);
102
104
  const prompt = (0, commentVariationPrompts_1.buildCommentVariationPrompt)(instruction, element, variantCount, fileExcerpts);
103
105
  log.info(`Comment variation request — model=${model ?? DEFAULT_VARIATION_MODEL} files=${fileExcerpts.length} count=${variantCount}`);
104
106
  const gateway = new GatewayClient_1.GatewayClient();
@@ -110,6 +112,7 @@ const generateCommentStyleVariants = async ({ instruction, element, variantCount
110
112
  system: VARIATION_SYSTEM_PROMPT,
111
113
  prompt,
112
114
  tool: SUBMIT_VARIANTS_TOOL,
115
+ cacheSystemPrompt: true,
113
116
  });
114
117
  log.info(`Comment variation completed in ${Date.now() - startedAt}ms`);
115
118
  const parsed = responseSchema.safeParse(toolInput);
@@ -1 +1 @@
1
- {"version":3,"file":"CommentVariationService.js","sourceRoot":"","sources":["../../src/services/CommentVariationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommentVariationService.js","sourceRoot":"","sources":["../../src/services/CommentVariationService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export type DesktopVersionPolicy = {
2
+ minimumVersion: string;
3
+ latestVersion: string;
4
+ downloadUrl?: string;
5
+ sourceTimestamp: string;
6
+ };
7
+ declare class DesktopVersionPolicyService {
8
+ private cache;
9
+ private inFlightFetch;
10
+ private readonly policyUrl;
11
+ private readonly cacheTtlMs;
12
+ private readonly fetchTimeoutMs;
13
+ constructor();
14
+ private shouldUseFreshCache;
15
+ getPolicy(): Promise<DesktopVersionPolicy | null>;
16
+ private fetchAndCachePolicy;
17
+ }
18
+ export declare const getDesktopVersionPolicyService: () => DesktopVersionPolicyService;
19
+ export declare const resetDesktopVersionPolicyServiceForTests: () => void;
20
+ export {};
21
+ //# sourceMappingURL=DesktopVersionPolicyService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesktopVersionPolicyService.d.ts","sourceRoot":"","sources":["../../src/services/DesktopVersionPolicyService.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAuEF,cAAM,2BAA2B;IAC/B,OAAO,CAAC,KAAK,CAGX;IAEF,OAAO,CAAC,aAAa,CAAqD;IAE1E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;;IAsBxC,OAAO,CAAC,mBAAmB;IAOrB,SAAS,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAoBzC,mBAAmB;CAmClC;AAID,eAAO,MAAM,8BAA8B,QAAO,2BAKjD,CAAC;AAEF,eAAO,MAAM,wCAAwC,QAAO,IAE3D,CAAC"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resetDesktopVersionPolicyServiceForTests = exports.getDesktopVersionPolicyService = void 0;
4
+ const logger_1 = require("../utils/logger");
5
+ const log = (0, logger_1.createLogger)('DesktopVersionPolicyService');
6
+ const DEFAULT_POLICY_URL = 'https://releases.rivet.design/desktop-version-policy.json';
7
+ const DEFAULT_CACHE_TTL_MS = 5 * 60 * 1000;
8
+ const DEFAULT_POLICY_FETCH_TIMEOUT_MS = 5000;
9
+ const normalizeSemverCore = (version) => {
10
+ const [core] = version.trim().split('-');
11
+ const parts = core.split('.');
12
+ if (parts.length !== 3) {
13
+ return null;
14
+ }
15
+ const [major, minor, patch] = parts.map((part) => Number.parseInt(part, 10));
16
+ if (!Number.isInteger(major) ||
17
+ !Number.isInteger(minor) ||
18
+ !Number.isInteger(patch)) {
19
+ return null;
20
+ }
21
+ return `${major}.${minor}.${patch}`;
22
+ };
23
+ const computeMinorFloor = (version) => {
24
+ const normalized = normalizeSemverCore(version);
25
+ if (!normalized) {
26
+ return null;
27
+ }
28
+ const [major, minor] = normalized.split('.');
29
+ return `${major}.${minor}.0`;
30
+ };
31
+ const parseDesktopVersionPolicy = (payload) => {
32
+ if (!payload || typeof payload !== 'object') {
33
+ return null;
34
+ }
35
+ const record = payload;
36
+ if (typeof record.latestVersion !== 'string') {
37
+ return null;
38
+ }
39
+ const normalizedLatest = normalizeSemverCore(record.latestVersion);
40
+ if (!normalizedLatest) {
41
+ return null;
42
+ }
43
+ const normalizedMinimumFromPayload = typeof record.minimumVersion === 'string'
44
+ ? normalizeSemverCore(record.minimumVersion)
45
+ : null;
46
+ const minimumVersion = normalizedMinimumFromPayload ?? computeMinorFloor(normalizedLatest);
47
+ if (!minimumVersion) {
48
+ return null;
49
+ }
50
+ const sourceTimestamp = typeof record.publishedAt === 'string' && record.publishedAt.length > 0
51
+ ? record.publishedAt
52
+ : new Date().toISOString();
53
+ return {
54
+ minimumVersion,
55
+ latestVersion: normalizedLatest,
56
+ downloadUrl: typeof record.downloadUrl === 'string' ? record.downloadUrl : undefined,
57
+ sourceTimestamp,
58
+ };
59
+ };
60
+ class DesktopVersionPolicyService {
61
+ cache = {
62
+ value: null,
63
+ fetchedAtMs: 0,
64
+ };
65
+ inFlightFetch = null;
66
+ policyUrl;
67
+ cacheTtlMs;
68
+ fetchTimeoutMs;
69
+ constructor() {
70
+ this.policyUrl = process.env.RIVET_DESKTOP_POLICY_URL ?? DEFAULT_POLICY_URL;
71
+ const ttlFromEnv = Number.parseInt(process.env.RIVET_DESKTOP_POLICY_CACHE_TTL_MS ?? '', 10);
72
+ this.cacheTtlMs =
73
+ Number.isInteger(ttlFromEnv) && ttlFromEnv > 0
74
+ ? ttlFromEnv
75
+ : DEFAULT_CACHE_TTL_MS;
76
+ const timeoutFromEnv = Number.parseInt(process.env.RIVET_DESKTOP_POLICY_FETCH_TIMEOUT_MS ?? '', 10);
77
+ this.fetchTimeoutMs =
78
+ Number.isInteger(timeoutFromEnv) && timeoutFromEnv > 0
79
+ ? timeoutFromEnv
80
+ : DEFAULT_POLICY_FETCH_TIMEOUT_MS;
81
+ }
82
+ shouldUseFreshCache(nowMs) {
83
+ if (this.cache.fetchedAtMs <= 0) {
84
+ return false;
85
+ }
86
+ return nowMs - this.cache.fetchedAtMs < this.cacheTtlMs;
87
+ }
88
+ async getPolicy() {
89
+ const nowMs = Date.now();
90
+ if (this.shouldUseFreshCache(nowMs)) {
91
+ return this.cache.value;
92
+ }
93
+ if (!this.inFlightFetch) {
94
+ this.inFlightFetch = this.fetchAndCachePolicy().finally(() => {
95
+ this.inFlightFetch = null;
96
+ });
97
+ }
98
+ const fetched = await this.inFlightFetch;
99
+ if (fetched) {
100
+ return fetched;
101
+ }
102
+ // Fail open: stale cached value is still returned if network fetch fails.
103
+ return this.cache.value;
104
+ }
105
+ async fetchAndCachePolicy() {
106
+ try {
107
+ const abortController = new AbortController();
108
+ const timeoutId = setTimeout(() => abortController.abort(), this.fetchTimeoutMs);
109
+ const response = await fetch(this.policyUrl, {
110
+ signal: abortController.signal,
111
+ }).finally(() => {
112
+ clearTimeout(timeoutId);
113
+ });
114
+ if (!response.ok) {
115
+ throw new Error(`Policy request failed with status ${response.status}`);
116
+ }
117
+ const parsed = parseDesktopVersionPolicy(await response.json());
118
+ if (!parsed) {
119
+ throw new Error('Policy payload shape is invalid');
120
+ }
121
+ this.cache = {
122
+ value: parsed,
123
+ fetchedAtMs: Date.now(),
124
+ };
125
+ return parsed;
126
+ }
127
+ catch (error) {
128
+ log.warn('Failed to fetch desktop version policy:', error);
129
+ // Negative cache failures so repeated /api/config calls don't trigger
130
+ // a fresh network timeout every time while the policy endpoint is down.
131
+ this.cache = {
132
+ value: this.cache.value,
133
+ fetchedAtMs: Date.now(),
134
+ };
135
+ return null;
136
+ }
137
+ }
138
+ }
139
+ let instance = null;
140
+ const getDesktopVersionPolicyService = () => {
141
+ if (!instance) {
142
+ instance = new DesktopVersionPolicyService();
143
+ }
144
+ return instance;
145
+ };
146
+ exports.getDesktopVersionPolicyService = getDesktopVersionPolicyService;
147
+ const resetDesktopVersionPolicyServiceForTests = () => {
148
+ instance = null;
149
+ };
150
+ exports.resetDesktopVersionPolicyServiceForTests = resetDesktopVersionPolicyServiceForTests;
151
+ //# sourceMappingURL=DesktopVersionPolicyService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesktopVersionPolicyService.js","sourceRoot":"","sources":["../../src/services/DesktopVersionPolicyService.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,10 @@ type GatewayToolUseOptions = {
14
14
  name: string;
15
15
  description: string;
16
16
  input_schema: Record<string, unknown>;
17
+ strict?: boolean;
17
18
  };
19
+ /** Wrap the system prompt in a cache_control block for prompt caching. */
20
+ cacheSystemPrompt?: boolean;
18
21
  };
19
22
  export declare const asReasonText: (value: unknown) => string;
20
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GatewayClient.d.ts","sourceRoot":"","sources":["../../src/services/GatewayClient.ts"],"names":[],"mappings":"AAMA,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvC,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,MAsB7C,CAAC;AAEF;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAEb,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAKlD,sEAAsE;IAChE,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBlE;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;YAsB5D,YAAY;IA6D1B,+DAA+D;YACjD,kBAAkB;CAoCjC"}
1
+ {"version":3,"file":"GatewayClient.d.ts","sourceRoot":"","sources":["../../src/services/GatewayClient.ts"],"names":[],"mappings":"AAMA,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,MAsB7C,CAAC;AAEF;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAEb,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAKlD,sEAAsE;IAChE,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBlE;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;YA0B5D,YAAY;IAmE1B,+DAA+D;YACjD,kBAAkB;CAoCjC"}
@@ -63,15 +63,18 @@ class GatewayClient {
63
63
  * 'tool' }`, but we check anyway).
64
64
  */
65
65
  async sendToolUse(options) {
66
+ const systemContent = options.cacheSystemPrompt
67
+ ? [{ type: 'text', text: options.system, cache_control: { type: 'ephemeral' } }]
68
+ : options.system;
66
69
  const result = await this.postMessages({
67
70
  model: options.model,
68
71
  max_tokens: options.maxTokens,
69
72
  temperature: options.temperature,
70
- system: options.system,
73
+ system: systemContent,
71
74
  messages: [{ role: 'user', content: options.prompt }],
72
75
  tools: [options.tool],
73
76
  tool_choice: { type: 'tool', name: options.tool.name },
74
- }, 0);
77
+ }, 0, { enableCaching: options.cacheSystemPrompt });
75
78
  const toolUse = result.content
76
79
  ?.find((b) => b.type === 'tool_use');
77
80
  if (!toolUse || toolUse.input === undefined) {
@@ -79,19 +82,23 @@ class GatewayClient {
79
82
  }
80
83
  return toolUse.input;
81
84
  }
82
- async postMessages(body, retryCount) {
85
+ async postMessages(body, retryCount, options) {
83
86
  const authToken = this.configManager.getAuthToken();
84
87
  if (!authToken) {
85
88
  throw new Error('Not authenticated. Please run `rivet login` to authenticate.');
86
89
  }
90
+ const headers = {
91
+ Authorization: `Bearer ${authToken}`,
92
+ 'Content-Type': 'application/json',
93
+ 'anthropic-version': '2023-06-01',
94
+ };
95
+ if (options?.enableCaching) {
96
+ headers['anthropic-beta'] = 'prompt-caching-2024-07-31';
97
+ }
87
98
  const response = await fetch(`${this.gatewayUrl}/v1/messages`, {
88
99
  method: 'POST',
89
- headers: {
90
- Authorization: `Bearer ${authToken}`,
91
- 'Content-Type': 'application/json',
92
- 'anthropic-version': '2023-06-01',
93
- },
94
- body: JSON.stringify(body),
100
+ headers,
101
+ body: JSON.stringify({ ...body, service_tier: 'auto' }),
95
102
  });
96
103
  // Handle 401 — could be token expiry or a spend limit rejection from the gateway
97
104
  if (response.status === 401 && retryCount === 0) {
@@ -103,7 +110,7 @@ class GatewayClient {
103
110
  log.warn('Token expired, attempting to refresh...');
104
111
  const isRefreshed = await this.refreshAccessToken();
105
112
  if (isRefreshed) {
106
- return this.postMessages(body, retryCount + 1);
113
+ return this.postMessages(body, retryCount + 1, options);
107
114
  }
108
115
  throw new Error('Authentication expired. Please run `rivet logout` and `rivet login` to re-authenticate.');
109
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GatewayClient.js","sourceRoot":"","sources":["../../src/services/GatewayClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GatewayClient.js","sourceRoot":"","sources":["../../src/services/GatewayClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VariantCodeGeneratorService.d.ts","sourceRoot":"","sources":["../../src/services/VariantCodeGeneratorService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAEjC,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3C,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AA2BF,eAAO,MAAM,mBAAmB,GAAU,2GASvC,cAAc,KAAG,OAAO,CAAC,IAAI,CA8E/B,CAAC"}
1
+ {"version":3,"file":"VariantCodeGeneratorService.d.ts","sourceRoot":"","sources":["../../src/services/VariantCodeGeneratorService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM5D,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAEjC,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3C,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAsCF,eAAO,MAAM,mBAAmB,GAAU,2GASvC,cAAc,KAAG,OAAO,CAAC,IAAI,CAiF/B,CAAC"}
@@ -4,12 +4,18 @@ exports.generateVariantCode = void 0;
4
4
  const AgentCore_1 = require("./agent/AgentCore");
5
5
  const WorktreeManager_1 = require("./WorktreeManager");
6
6
  const logger_1 = require("../utils/logger");
7
+ const CommentVariationService_1 = require("./CommentVariationService");
7
8
  const log = (0, logger_1.createLogger)('VariantCodeGeneratorService');
8
- const buildAgentPrompt = (instruction, changeSpec, element) => {
9
+ const buildAgentPrompt = (instruction, changeSpec, element, fileExcerpts) => {
9
10
  const filePath = element.filePaths?.[0]?.filePath ?? 'unknown';
10
11
  const componentTree = element.componentTree
11
12
  ? element.componentTree.map((n) => n.name).join(' > ')
12
13
  : '';
14
+ const fileSection = fileExcerpts.length > 0
15
+ ? `\nRelevant source files (use these directly — no need to re-read):\n${fileExcerpts
16
+ .map((f) => `\`\`\`\n// ${f.path}\n${f.content}\n\`\`\``)
17
+ .join('\n\n')}`
18
+ : '';
13
19
  return `Implement this design direction in the codebase.
14
20
 
15
21
  Original user instruction: ${instruction}
@@ -22,8 +28,10 @@ Target element:
22
28
  - Tag: <${element.tagName}>
23
29
  - Component hierarchy: ${componentTree}
24
30
  - Text content: ${element.textContent?.slice(0, 80) ?? '(none)'}
25
-
26
- Read the relevant source files, then implement exactly the design direction described above. Focus only on this specific change. Make the minimal changes needed to achieve the direction. Do not make unrelated modifications.`;
31
+ ${fileSection}
32
+ ${fileExcerpts.length > 0
33
+ ? 'Implement exactly the design direction described above using the file contents above as your starting point.'
34
+ : 'Read the relevant source files, then implement exactly the design direction described above.'} Focus only on this specific change. Make the minimal changes needed to achieve the direction. Do not make unrelated modifications.`;
27
35
  };
28
36
  const generateVariantCode = async ({ sessionId, projectPath, instruction, element, variants, currentAppliedDiff, onEvent, abortController, }) => {
29
37
  const manager = new WorktreeManager_1.WorktreeManager(projectPath);
@@ -48,6 +56,7 @@ const generateVariantCode = async ({ sessionId, projectPath, instruction, elemen
48
56
  }
49
57
  }
50
58
  try {
59
+ const fileExcerpts = await (0, CommentVariationService_1.readFileExcerpts)(projectPath, element);
51
60
  worktreePaths = await manager.createWorktrees(sessionId, variants.length);
52
61
  await Promise.all(variants.map(async (variant, i) => {
53
62
  const worktreePath = worktreePaths[i];
@@ -55,13 +64,16 @@ const generateVariantCode = async ({ sessionId, projectPath, instruction, elemen
55
64
  try {
56
65
  const agentCore = new AgentCore_1.AgentCore();
57
66
  await agentCore.execute({
58
- systemPrompt: 'You are a frontend engineer implementing a specific design direction. Read the relevant files, then make the targeted code change described. Minimal, focused changes only.',
59
- userPrompt: buildAgentPrompt(instruction, variant.changeSpec, element),
67
+ systemPrompt: fileExcerpts.length > 0
68
+ ? 'You are a frontend engineer implementing a specific design direction. The relevant source files are already provided in the prompt — use them directly without re-reading. Make the targeted code change described. Minimal, focused changes only.'
69
+ : 'You are a frontend engineer implementing a specific design direction. Read the relevant files, then make the targeted code change described. Minimal, focused changes only.',
70
+ userPrompt: buildAgentPrompt(instruction, variant.changeSpec, element, fileExcerpts),
60
71
  allowedTools: ['Read', 'Glob', 'Grep', 'Edit', 'Write'],
61
72
  permissionMode: 'bypassPermissions',
62
73
  cwd: worktreePath,
63
74
  abortController,
64
75
  onProgress: () => { },
76
+ executionPolicy: { disableSubagents: true },
65
77
  });
66
78
  const diff = await manager.getDiff(worktreePath);
67
79
  onEvent({ type: 'variant_completed', variantIndex: variant.index, diff });