@dev.fast/whiteboard 0.3.4-preview.20261019.127 → 0.3.4
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/{account-alias-B5-HYi1D.js → account-alias-CprZojXd.js} +8 -13
- package/dist/agent-cli-C6SPSII0.js +2 -0
- package/dist/{agent-cli-CohHf6Ua.js → agent-cli-CThN7Q59.js} +10 -15
- package/dist/{agent-client-Dtc-Kn_w.js → agent-client-BOOi7EUR.js} +3 -13
- package/dist/{authoring-tools-B7KU04f7.js → authoring-tools-BNwuMnz6.js} +27 -34
- package/dist/{background-server-C03RKxKS.js → background-server-CkvxA-6O.js} +5 -5
- package/dist/{background-server-CB9C4uoc.js → background-server-DLSDogkI.js} +1 -1
- package/dist/build-info.json +1 -1
- package/dist/{cli-CJaEb7zC.js → cli-R4yfa5DT.js} +1 -1
- package/dist/{cli-runner-DGDIqh3V.js → cli-runner-Cuc9FSzu.js} +26 -26
- package/dist/cli.js +3 -4
- package/dist/{client-lKVF_Elo.js → client-BN_FDxFr.js} +47 -253
- package/dist/{fuzzy-match-BmVJJm9I.js → fuzzy-match-BO9bK37N.js} +4 -6
- package/dist/{headless-host-DRtjf9WA.js → headless-host-CVBOQyRS.js} +1 -1
- package/dist/{headless-host-XhL1X4vX.js → headless-host-Cog6SpS9.js} +140 -513
- package/dist/{local-data-Cpl4ENbJ.js → local-data-D_9tvdsp.js} +323 -2419
- package/dist/{mcp-ovmiUE_x.js → mcp-D1hziANa.js} +9 -5
- package/dist/{package-paths-BWxO-UEL.js → package-paths-C--__jEv.js} +1 -1
- package/dist/profile-CYPmvBoA.js +2 -0
- package/dist/{profile-BadSkCkI.js → profile-DokFw782.js} +8 -20
- package/dist/{remote-attach-Dd-YobM6.js → remote-attach-CEJ-kvDY.js} +4 -4
- package/dist/{remote-extensions-CNXwqK0D.js → remote-extensions-Blcjr9Ze.js} +3 -3
- package/dist/{remote-extensions-VP-kfq0C.js → remote-extensions-GN8Gf_qG.js} +1 -1
- package/dist/{remote-language-server-BXk87KCr.js → remote-language-server-BTKBQ7x4.js} +5 -5
- package/dist/{remote-uninstall-DuOzsvaD.js → remote-uninstall-DW7Gdryh.js} +6 -6
- package/dist/{request-origin-B9qCPiVB.js → request-origin-Zcn_CjX4.js} +12 -45
- package/dist/{review-app-launcher-C7el2Uoy.js → review-app-launcher-CkwLclzR.js} +2 -2
- package/dist/{review-home-paths-D8AoCdd2.js → review-home-paths-j2BRAaNv.js} +17 -19
- package/dist/{review-telemetry-BsoRMC2w.js → review-telemetry-BLNwYnLV.js} +5 -5
- package/dist/runtime-CKiWhGrf.js +52 -0
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.js +1 -1
- package/dist/{s3-CsG2EWED.js → s3-DtJFWC0G.js} +1 -1
- package/dist/{s3-config-CjcLyFV5.js → s3-config-BTO12tCC.js} +2 -4
- package/dist/{s3-config-zz4GWh2T.js → s3-config-CSy3fx8H.js} +1 -1
- package/dist/server/desktop-host.js +76 -29
- package/dist/{server-discovery-CKjw3-6h.js → server-discovery-Bey8IqXH.js} +3 -3
- package/dist/sharing/index.d.ts +70 -484
- package/dist/sharing/index.js +1 -1
- package/dist/{src-WPaQn75m.js → src-BMPuxWv4.js} +73 -208
- package/dist/{src-BiWNbcF_.js → src-DsM3jO8G.js} +12 -89
- package/dist/{stored-document-migration-dFbewRTG.js → stored-document-migration-CChxtFAy.js} +269 -270
- package/dist/{thread-state-Do5LX10I.js → thread-state-5pYr6_zM.js} +2 -7
- package/dist/{tool-failure-DvI-gys2.js → tool-failure-C9MpbXJJ.js} +3 -10
- package/instructions/authoring.md +2 -3
- package/instructions/scratchpad.md +23 -0
- package/package.json +4 -4
- package/src/ask/agents.ts +1 -13
- package/src/ask/checkout-files.ts +5 -2
- package/src/ask/thread-state.ts +0 -4
- package/src/ask/thread.ts +0 -16
- package/src/ask/threads.ts +3 -24
- package/src/cli-install.ts +2 -13
- package/src/cli-runner.ts +1 -4
- package/src/cli.ts +1 -4
- package/src/diff-selection-migration.ts +34 -48
- package/src/lens-selection.ts +2 -38
- package/src/review-api/README.md +13 -52
- package/src/review-api/activity.ts +4 -1
- package/src/review-api/agent-cli.ts +1 -9
- package/src/review-api/anchor-quotes.ts +7 -14
- package/src/review-api/ask-history.ts +51 -137
- package/src/review-api/authoring-tools.ts +30 -45
- package/src/review-api/blocks/definition.ts +1 -1
- package/src/review-api/blocks/markdown.ts +2 -2
- package/src/review-api/document-headings.ts +27 -58
- package/src/review-api/document-text.ts +2 -31
- package/src/review-api/document.ts +34 -281
- package/src/review-api/github-provider.ts +13 -51
- package/src/review-api/http.ts +123 -702
- package/src/review-api/instructions.ts +19 -0
- package/src/review-api/local-data.ts +46 -310
- package/src/review-api/mcp.ts +11 -3
- package/src/review-api/onboarding.ts +1 -1
- package/src/review-api/profile.ts +6 -37
- package/src/review-api/public-tools.ts +2 -24
- package/src/review-api/pull-request.ts +49 -82
- package/src/review-api/request-origin.ts +0 -10
- package/src/review-api/review-progress.ts +27 -61
- package/src/review-api/store-schema.ts +29 -38
- package/src/review-api/store.ts +478 -2142
- package/src/review-api/worktree-events.ts +5 -3
- package/src/review-api/worktree-source.ts +7 -3
- package/src/review-api/worktree-structural.integration.ts +0 -72
- package/src/review-preferences.ts +88 -0
- package/src/review-stack.ts +23 -15
- package/src/runtime.ts +30 -4
- package/src/server/desktop-host.ts +1 -6
- package/src/server/desktop-server.ts +31 -1
- package/src/server/headless-host.ts +2 -0
- package/src/server/hono-http.ts +1 -2
- package/src/server/legacy-tutorial-cleanup.ts +3 -2
- package/src/server/review-gateway-list.ts +5 -3
- package/src/server/review-gateway-memory.ts +1 -1
- package/src/server/review-lifecycle-telemetry.ts +2 -2
- package/src/server/review-server-core.ts +5 -1
- package/src/server/structural-comparisons.ts +0 -47
- package/src/sharing/export.ts +7 -36
- package/src/sharing/host.ts +14 -34
- package/src/sharing/import.ts +24 -156
- package/src/sharing/repository.ts +20 -128
- package/src/startup-trace.ts +3 -3
- package/src/stored-document-migration.ts +19 -110
- package/src/ui-telemetry-events.ts +11 -33
- package/dist/agent-cli-_YyMIMRY.js +0 -2
- package/dist/lens-selection-CyJapcsl.js +0 -214
- package/dist/profile-DJvkBJNQ.js +0 -2
- package/dist/runtime-Bj2tD33R.js +0 -27
- package/src/heading-anchors.ts +0 -42
- package/src/review-api/board-order.ts +0 -144
- package/src/review-api/checkout-groups.ts +0 -560
- package/src/review-api/foreign-references.ts +0 -328
- package/src/review-api/link-preview.ts +0 -113
- package/src/review-api/scratchpad-plan-upgrade.ts +0 -250
- package/src/review-api/store-migrations.ts +0 -357
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { S as splitGitPatchFiles, a as diff, o as diffFileSummaries } from "../src-BMPuxWv4.js";
|
|
3
3
|
import { c as jsonString, i as jsonBoolean, n as isJsonObject, p as isObjectValue, s as jsonProperty, u as parseJsonText } from "../src-X9phtB2j.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { i as reviewInstanceDiscoveryPath, o as reviewLegacyDiscoveryPath } from "../review-home-paths-
|
|
8
|
-
import {
|
|
4
|
+
import { d as StreamLimitError, f as readBoundedStream, i as SharedReviewStore } from "../client-BN_FDxFr.js";
|
|
5
|
+
import { u as pullRequestProvider } from "../local-data-D_9tvdsp.js";
|
|
6
|
+
import { M as reviewDiffrSummarizerInputSchema, O as ReviewGatewayHostSchema, T as ReviewConnectRequestSchema, c as ReviewBugReportMetaV2Schema, d as REVIEW_CLIENT_HEADER, f as REVIEW_CLIENT_REMOTE, g as REVIEW_HOST_HEADER, l as ReviewBugReportRequestSchema, r as parseReviewDesktopVerbFrame, s as parseZod, t as parseReviewCliInstallApplyRequest, u as parseReviewBugReportResponse } from "../src-DsM3jO8G.js";
|
|
7
|
+
import { i as reviewInstanceDiscoveryPath, o as reviewLegacyDiscoveryPath } from "../review-home-paths-j2BRAaNv.js";
|
|
8
|
+
import { w as resourceReferences } from "../stored-document-migration-CChxtFAy.js";
|
|
9
9
|
import { t as ReviewInputError } from "../input-error-OLgB_h31.js";
|
|
10
|
-
import { L as writePrivateJsonAtomic, N as devReviewHome } from "../s3-config-
|
|
10
|
+
import { L as writePrivateJsonAtomic, N as devReviewHome } from "../s3-config-BTO12tCC.js";
|
|
11
11
|
import { t as errorMessage } from "../error-message-OtiDonty.js";
|
|
12
|
-
import { i as readReviewPackageVersion, t as findReviewPackageRoot } from "../package-paths-
|
|
13
|
-
import { _ as reviewInstanceIdentity, u as REVIEW_INSTANCE_ENV } from "../server-discovery-
|
|
14
|
-
import { t as openReviewProfile } from "../profile-
|
|
15
|
-
import { r as reviewTelemetryChannel, t as ReviewTelemetry } from "../review-telemetry-
|
|
16
|
-
import {
|
|
17
|
-
import { c as removeLegacyReviewSkills, d as skipCliInstall, h as detectConnectAgents, i as finishCliInstallUpdate, l as resetCliInstall, m as connectAgent, n as applyCliInstall, o as pathShimPath, r as declineCliInstall, s as removeCliInstall, t as aliasInstallationToAccount, u as resolveCliInstallStatus } from "../account-alias-
|
|
18
|
-
import { C as saveDiffrSummarizer, E as cliAskTools, S as readDiffrConfig, T as testDiffrSummarizer, _ as DEFAULT_MAX_REQUEST_BYTES, a as drainServerCrashReport, b as GlobalReviewDesktopVerbRelay, c as answerErrorsAsJson, d as legacyModeSchema, f as captureSanitizedUiTelemetry, g as readBoundedRequestJson, h as createNodeRequestListener, l as createWhiteboardCore, m as recordClientError, o as installProcessErrorTelemetry, p as clientErrorsForSession, r as takeOverServerHome, s as serverCrashReportPath, u as serverJson, v as HttpJsonError, w as setDiffrConfigValue, x as migrateDiffrConfig, y as ReviewServerError } from "../headless-host-
|
|
19
|
-
import {
|
|
12
|
+
import { i as readReviewPackageVersion, t as findReviewPackageRoot } from "../package-paths-C--__jEv.js";
|
|
13
|
+
import { _ as reviewInstanceIdentity, u as REVIEW_INSTANCE_ENV } from "../server-discovery-Bey8IqXH.js";
|
|
14
|
+
import { t as openReviewProfile } from "../profile-DokFw782.js";
|
|
15
|
+
import { r as reviewTelemetryChannel, t as ReviewTelemetry } from "../review-telemetry-BLNwYnLV.js";
|
|
16
|
+
import { o as REVIEW_TELEMETRY_TABS } from "../request-origin-Zcn_CjX4.js";
|
|
17
|
+
import { c as removeLegacyReviewSkills, d as skipCliInstall, h as detectConnectAgents, i as finishCliInstallUpdate, l as resetCliInstall, m as connectAgent, n as applyCliInstall, o as pathShimPath, r as declineCliInstall, s as removeCliInstall, t as aliasInstallationToAccount, u as resolveCliInstallStatus } from "../account-alias-CprZojXd.js";
|
|
18
|
+
import { C as saveDiffrSummarizer, E as cliAskTools, S as readDiffrConfig, T as testDiffrSummarizer, _ as DEFAULT_MAX_REQUEST_BYTES, a as drainServerCrashReport, b as GlobalReviewDesktopVerbRelay, c as answerErrorsAsJson, d as legacyModeSchema, f as captureSanitizedUiTelemetry, g as readBoundedRequestJson, h as createNodeRequestListener, l as createWhiteboardCore, m as recordClientError, o as installProcessErrorTelemetry, p as clientErrorsForSession, r as takeOverServerHome, s as serverCrashReportPath, u as serverJson, v as HttpJsonError, w as setDiffrConfigValue, x as migrateDiffrConfig, y as ReviewServerError } from "../headless-host-Cog6SpS9.js";
|
|
19
|
+
import { c as readQuerySchemas } from "../authoring-tools-BNwuMnz6.js";
|
|
20
20
|
import crypto, { createHash, randomBytes } from "node:crypto";
|
|
21
21
|
import { z } from "zod";
|
|
22
22
|
import fs, { existsSync, readFileSync } from "node:fs";
|
|
@@ -263,6 +263,39 @@ function listenForDesktopHostShutdown(hostProcess, onShutdown, onTelemetrySettin
|
|
|
263
263
|
return () => hostProcess.off("message", handleMessage);
|
|
264
264
|
}
|
|
265
265
|
//#endregion
|
|
266
|
+
//#region src/review-preferences.ts
|
|
267
|
+
const DEFAULT_REVIEW_PREFERENCES = { scratchpadEnabled: false };
|
|
268
|
+
function reviewPreferencesPath(devHome = devReviewHome()) {
|
|
269
|
+
return path.join(devHome, "preferences.json");
|
|
270
|
+
}
|
|
271
|
+
/** A missing or unreadable file falls back to the defaults; it never throws. */
|
|
272
|
+
async function readReviewPreferences(devHome) {
|
|
273
|
+
try {
|
|
274
|
+
return { scratchpadEnabled: parseScratchpadEnabled(parseJsonText(await readFile(reviewPreferencesPath(devHome), "utf8"))) };
|
|
275
|
+
} catch {
|
|
276
|
+
return { ...DEFAULT_REVIEW_PREFERENCES };
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
async function writeReviewPreferences(preferences, devHome) {
|
|
280
|
+
const next = { scratchpadEnabled: preferences.scratchpadEnabled === true };
|
|
281
|
+
await writePrivateJsonAtomic(reviewPreferencesPath(devHome), next);
|
|
282
|
+
return next;
|
|
283
|
+
}
|
|
284
|
+
/** Reads the scratchpad preference; a missing file means off. */
|
|
285
|
+
async function readScratchpadEnabled(devHome) {
|
|
286
|
+
return (await readReviewPreferences(devHome)).scratchpadEnabled;
|
|
287
|
+
}
|
|
288
|
+
/** Sets the scratchpad preference, keeping the other preferences as they are. */
|
|
289
|
+
async function writeScratchpadEnabled(enabled, devHome) {
|
|
290
|
+
return (await writeReviewPreferences({
|
|
291
|
+
...await readReviewPreferences(devHome),
|
|
292
|
+
scratchpadEnabled: enabled
|
|
293
|
+
}, devHome)).scratchpadEnabled;
|
|
294
|
+
}
|
|
295
|
+
function parseScratchpadEnabled(raw) {
|
|
296
|
+
return isJsonObject(raw) && raw.scratchpadEnabled === true;
|
|
297
|
+
}
|
|
298
|
+
//#endregion
|
|
266
299
|
//#region src/server/crash-report.ts
|
|
267
300
|
const CRASH_REPORT_URL = "https://bug.dev.fast/api/v2/crashes";
|
|
268
301
|
const gzipAsync = promisify(gzip);
|
|
@@ -777,7 +810,10 @@ function createJsonReviewReporting(store, telemetry, options = {}) {
|
|
|
777
810
|
async function removeLegacyTutorial(input) {
|
|
778
811
|
const tutorialRoot = input.root ?? path.join(devReviewHome(), "tutorial");
|
|
779
812
|
try {
|
|
780
|
-
await input.store.
|
|
813
|
+
for (const reviewId of input.store.legacyTutorialIds()) await input.store.execute({ operation: {
|
|
814
|
+
type: "delete",
|
|
815
|
+
reviewId
|
|
816
|
+
} });
|
|
781
817
|
for (const repository of input.store.repositories()) {
|
|
782
818
|
const relative = path.relative(tutorialRoot, repository.path);
|
|
783
819
|
if (relative && !relative.startsWith("..") && !path.isAbsolute(relative)) await input.data.forgetRepository(repository.id);
|
|
@@ -1134,9 +1170,9 @@ function decorate(entry, state, hostState) {
|
|
|
1134
1170
|
}).sentence;
|
|
1135
1171
|
return {
|
|
1136
1172
|
...entry,
|
|
1137
|
-
...entry.
|
|
1138
|
-
|
|
1139
|
-
|
|
1173
|
+
...entry.repositoryGroup && { repositoryGroup: {
|
|
1174
|
+
key: `${alias}:${entry.repositoryGroup.key}`,
|
|
1175
|
+
label: entry.repositoryGroup.label
|
|
1140
1176
|
} },
|
|
1141
1177
|
host: alias,
|
|
1142
1178
|
hostState,
|
|
@@ -1189,9 +1225,9 @@ const listEntrySchema = z.looseObject({
|
|
|
1189
1225
|
repositoryName: z.string(),
|
|
1190
1226
|
viewedAt: z.string().nullable(),
|
|
1191
1227
|
trashedAt: z.string().nullable(),
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1228
|
+
repositoryGroup: z.object({
|
|
1229
|
+
key: z.string(),
|
|
1230
|
+
label: z.string()
|
|
1195
1231
|
}).optional()
|
|
1196
1232
|
});
|
|
1197
1233
|
const listEntriesSchema = z.array(z.unknown()).transform((entries) => entries.filter((entry) => listEntrySchema.safeParse(entry).success));
|
|
@@ -1945,11 +1981,12 @@ function reviewLifecycleTelemetry(telemetry, firstCreatedAt, onLoggedIn, now = D
|
|
|
1945
1981
|
const authoring = /* @__PURE__ */ new Map();
|
|
1946
1982
|
const capture = (event, properties, reviewUuid) => void telemetry.captureEvent(event, properties, reviewUuid ? { reviewUuid } : void 0);
|
|
1947
1983
|
return {
|
|
1948
|
-
onReviewCreated: ({ reviewId, blocks, via, agentKind }) => {
|
|
1984
|
+
onReviewCreated: ({ reviewId, kind, blocks, via, agentKind }) => {
|
|
1949
1985
|
if (reported.has(reviewId)) return;
|
|
1950
1986
|
reported.add(reviewId);
|
|
1951
1987
|
if (via === "api" || via === "mcp") authoring.set(reviewId, agentKind);
|
|
1952
1988
|
const properties = {
|
|
1989
|
+
kind,
|
|
1953
1990
|
blocks,
|
|
1954
1991
|
via
|
|
1955
1992
|
};
|
|
@@ -2034,6 +2071,7 @@ function createGlobalReviewServer(input) {
|
|
|
2034
2071
|
const openWatchdog = new ReviewOpenWatchdog({ onTimeout: (context, elapsedMs) => void telemetry.captureEvent("review_open_timeout", { elapsed_ms: elapsedMs }, context) });
|
|
2035
2072
|
let closing = false;
|
|
2036
2073
|
const cliPath = path.join(input.packageRoot, "dist", "cli.js");
|
|
2074
|
+
let scratchpadEnabled = false;
|
|
2037
2075
|
const discovery = {
|
|
2038
2076
|
version: 3,
|
|
2039
2077
|
instanceId,
|
|
@@ -2058,6 +2096,7 @@ function createGlobalReviewServer(input) {
|
|
|
2058
2096
|
relay,
|
|
2059
2097
|
token,
|
|
2060
2098
|
instanceId,
|
|
2099
|
+
scratchpad: () => scratchpadEnabled,
|
|
2061
2100
|
status: () => {
|
|
2062
2101
|
const { key, channel, checkout, appVersion, cliVersion, instanceId } = discovery;
|
|
2063
2102
|
return {
|
|
@@ -2092,6 +2131,15 @@ function createGlobalReviewServer(input) {
|
|
|
2092
2131
|
app.all("/reviews-api", (context) => gateway.fetch(context.req.raw));
|
|
2093
2132
|
app.all("/reviews-api/*", (context) => gateway.fetch(context.req.raw));
|
|
2094
2133
|
app.get("/remote-hosts", () => serverJson(200, gateway.hosts()));
|
|
2134
|
+
app.get("/preferences/scratchpad", () => serverJson(200, { enabled: scratchpadEnabled }));
|
|
2135
|
+
app.put("/preferences/scratchpad", async (context) => {
|
|
2136
|
+
const request = z.object({ enabled: z.boolean() }).safeParse(await readBoundedRequestJson(context.req.raw));
|
|
2137
|
+
if (!request.success) throw new ReviewServerError("enabled must be a boolean.", 400);
|
|
2138
|
+
scratchpadEnabled = await writeScratchpadEnabled(request.data.enabled);
|
|
2139
|
+
if (scratchpadEnabled) await reviewStore.ensureScratchpad();
|
|
2140
|
+
reviewStore.invalidateCatalog();
|
|
2141
|
+
return serverJson(200, { enabled: scratchpadEnabled });
|
|
2142
|
+
});
|
|
2095
2143
|
app.post("/app/focus", async () => {
|
|
2096
2144
|
const result = await relay.dispatch({
|
|
2097
2145
|
name: "focusWindow",
|
|
@@ -2220,6 +2268,7 @@ function createGlobalReviewServer(input) {
|
|
|
2220
2268
|
store: reviewStore,
|
|
2221
2269
|
data: input.reviewData
|
|
2222
2270
|
});
|
|
2271
|
+
scratchpadEnabled = await readScratchpadEnabled();
|
|
2223
2272
|
boundPort = await listen(httpServer, input.port);
|
|
2224
2273
|
discovery.url = urlForBoundPort();
|
|
2225
2274
|
for (const discoveryPath of discoveryPaths) await writePrivateJsonAtomic(discoveryPath, discovery);
|
|
@@ -2257,7 +2306,7 @@ function sessionStartedSource(reviewStore, reviewUuid) {
|
|
|
2257
2306
|
if (!reviewUuid) return {};
|
|
2258
2307
|
try {
|
|
2259
2308
|
const snapshot = reviewStore.read(reviewUuid);
|
|
2260
|
-
const sourceKind = snapshot.target?.kind;
|
|
2309
|
+
const sourceKind = snapshot.kind === "scratchpad" ? snapshot.kind : snapshot.target?.kind;
|
|
2261
2310
|
const pullRequestUrl = snapshot.origin?.pullRequestUrl;
|
|
2262
2311
|
const prProvider = pullRequestUrl && prProviderOf(pullRequestUrl);
|
|
2263
2312
|
return {
|
|
@@ -2344,10 +2393,7 @@ async function runDesktopHost(env = process.env) {
|
|
|
2344
2393
|
await mkdir(home, { recursive: true });
|
|
2345
2394
|
const log = (message) => process.stdout.write(`[Whiteboard gateway] ${message}\n`);
|
|
2346
2395
|
const { local, shared, server } = await takeOverServerHome(home, async () => {
|
|
2347
|
-
const local = await openReviewProfile(home, {
|
|
2348
|
-
manageWorkspaces: true,
|
|
2349
|
-
pullRequestStates: true
|
|
2350
|
-
});
|
|
2396
|
+
const local = await openReviewProfile(home, { manageWorkspaces: true });
|
|
2351
2397
|
const shared = new SharedReviewStore(path.join(home, "shared-reviews"));
|
|
2352
2398
|
shared.connect(local.store, local.data);
|
|
2353
2399
|
await shared.load();
|
|
@@ -2421,7 +2467,8 @@ function requiredPositiveInteger(value, name) {
|
|
|
2421
2467
|
return parsed;
|
|
2422
2468
|
}
|
|
2423
2469
|
if (process.env.DEV_FAST_REVIEW_DESKTOP_HOST_AUTOSTART !== "0") runDesktopHost().catch((error) => {
|
|
2424
|
-
process.stderr.write(`${error instanceof Error ? error.stack ?? error.message : String(error)}\n
|
|
2470
|
+
process.stderr.write(`${error instanceof Error ? error.stack ?? error.message : String(error)}\n`);
|
|
2471
|
+
process.exitCode = 1;
|
|
2425
2472
|
});
|
|
2426
2473
|
//#endregion
|
|
2427
2474
|
export { runDesktopHost };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as jsonNumber, n as isJsonObject, s as jsonProperty, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
2
|
-
import { n as parseReviewDesktopDiscovery } from "./src-
|
|
3
|
-
import { a as reviewInstancesDir, o as reviewLegacyDiscoveryPath, r as reviewDevInstanceKey, t as reviewDefaultInstancePath } from "./review-home-paths-
|
|
4
|
-
import { M as DEV_REVIEW_HOME_ENV, N as devReviewHome, k as processIsAlive } from "./s3-config-
|
|
2
|
+
import { n as parseReviewDesktopDiscovery } from "./src-DsM3jO8G.js";
|
|
3
|
+
import { a as reviewInstancesDir, o as reviewLegacyDiscoveryPath, r as reviewDevInstanceKey, t as reviewDefaultInstancePath } from "./review-home-paths-j2BRAaNv.js";
|
|
4
|
+
import { M as DEV_REVIEW_HOME_ENV, N as devReviewHome, k as processIsAlive } from "./s3-config-BTO12tCC.js";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
import { mkdir, readFile, readdir, rm, writeFile } from "node:fs/promises";
|
|
7
7
|
import path from "node:path";
|