@dev.fast/whiteboard 0.4.1-preview.20261027.141 → 0.4.1-preview.20261028.142
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-AJ6miBT5.js → account-alias-D1iIc7j5.js} +4 -5
- package/dist/{agent-cli-DIC2tBpL.js → agent-cli-B_gSzrhA.js} +8 -9
- package/dist/agent-cli-DtjnkDSL.js +2 -0
- package/dist/{agent-client-DyNmSHfO.js → agent-client-DudPjH3I.js} +3 -3
- package/dist/{authoring-tools-B9MhiKw4.js → authoring-tools-B-OyXmtR.js} +5 -5
- package/dist/{background-server-CZaB8zFH.js → background-server-CORnMQmu.js} +1 -1
- package/dist/{background-server-DlgbnDVt.js → background-server-CesuMV6N.js} +7 -6
- package/dist/build-info.json +1 -1
- package/dist/{cli-D7Lpc4ws.js → cli-CIP_-Fvm.js} +1 -1
- package/dist/{cli-runner-JPkbHD7I.js → cli-runner-dHnKnyNw.js} +22 -23
- package/dist/cli.js +2 -2
- package/dist/{fuzzy-match-rWIeloqo.js → fuzzy-match-CTvayutE.js} +3 -3
- package/dist/{headless-host-Cn6WDmaL.js → headless-host-CWuFw-CO.js} +118 -218
- package/dist/{headless-host-DmuAjcgt.js → headless-host-Cnu-o0xk.js} +1 -1
- package/dist/{import-CUNdl3NP.js → import-FOpJL22V.js} +198 -505
- package/dist/{lens-selection-BQxqiuWY.js → lens-selection-B_LTVyTB.js} +1 -1
- package/dist/{local-data-DxkQXCNG.js → local-data-BhNZ1Yep.js} +72 -91
- package/dist/{mcp-B154Vpj0.js → mcp-2bWqlJNW.js} +3 -3
- package/dist/{package-paths-LcO6HNp_.js → package-paths-Cg6fnaGp.js} +1 -1
- package/dist/profile-BmtFpq8d.js +2 -0
- package/dist/{profile-hC1iAoRB.js → profile-DnwIJvlh.js} +2 -2
- package/dist/{remote-attach-DhvNHMe1.js → remote-attach-C79X5M2Z.js} +4 -4
- package/dist/{remote-extensions-VLpt_4Tn.js → remote-extensions-Bw029iIS.js} +1 -1
- package/dist/{remote-extensions-DMKyDjAs.js → remote-extensions-MUUgbLJn.js} +2 -2
- package/dist/{remote-language-server-zgvAe8wb.js → remote-language-server-Dw1o27aF.js} +4 -4
- package/dist/{remote-uninstall-BR-rIuvK.js → remote-uninstall-Aza0u1_3.js} +5 -5
- package/dist/{request-origin-BnA7Nnca.js → request-origin-DEQd09Db.js} +3 -3
- package/dist/{review-app-launcher-B0Z4B8By.js → review-app-launcher-L7xKjTLQ.js} +2 -2
- package/dist/{src-KTjWplV9.js → review-home-paths-LdGS4SpR.js} +48 -8
- package/dist/{review-telemetry-yuCLNpDu.js → review-telemetry-lmK8HPLI.js} +4 -5
- package/dist/{runtime-5WG8rRgg.js → runtime-Bhk5L_SN.js} +1 -1
- package/dist/runtime.js +1 -1
- package/dist/server/desktop-host.js +34 -48
- package/dist/{server-discovery-Dj_xSDSa.js → server-discovery-D-2vz5gG.js} +2 -3
- package/dist/sharing/index.d.ts +51 -144
- package/dist/sharing/index.js +2 -2
- package/dist/{src-BJ_MeEmN.js → src-Bew3mW9I.js} +1 -1
- package/dist/{src-BTCRHmRM.js → src-Y30gweiK.js} +7 -1
- package/dist/{stored-document-migration-fQWLDqDx.js → stored-document-migration-CZe65mkx.js} +20 -6
- package/dist/{thread-state-BburMvgn.js → thread-state-XgVKaQ3-.js} +1 -1
- package/dist/{tool-failure-BuvwfVeF.js → tool-failure-Bi_-Zck-.js} +2 -2
- package/instructions/animation.md +18 -68
- package/instructions/authoring.md +1 -1
- package/package.json +5 -5
- package/src/review-api/README.md +5 -5
- package/src/review-api/ask-history.ts +3 -13
- package/src/review-api/authoring-tools.ts +2 -2
- package/src/review-api/blocks/animation.ts +50 -0
- package/src/review-api/http.ts +213 -383
- package/src/review-api/local-data.ts +24 -53
- package/src/review-api/review-progress.ts +1 -5
- package/src/review-api/store.ts +95 -16
- package/src/review-api/workspaces.ts +17 -48
- package/src/review-checkout-paths.ts +2 -5
- package/src/review-head-checkout.ts +3 -14
- package/src/server/background-server.ts +4 -2
- package/src/server/desktop-host.ts +17 -9
- package/src/server/desktop-server.ts +4 -6
- package/src/server/json-review-reporting.ts +4 -23
- package/src/server/review-gateway-pushes.ts +1 -10
- package/src/server/review-server-core.ts +8 -13
- package/src/sharing/client.ts +86 -2
- package/src/sharing/host.ts +111 -88
- package/src/sharing/import.ts +173 -710
- package/src/sharing/index.ts +1 -7
- package/src/sharing/repository.ts +18 -49
- package/dist/agent-cli-BDcF54b3.js +0 -2
- package/dist/profile-BLToeYh6.js +0 -2
- package/dist/review-home-paths-CjHB5c8m.js +0 -39
- package/src/sharing/routes.ts +0 -35
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { n as isJsonObject } from "./src-X9phtB2j.js";
|
|
2
|
-
import { E as ReviewCliInstallStampSchema } from "./src-
|
|
3
|
-
import {
|
|
2
|
+
import { E as ReviewCliInstallStampSchema } from "./src-Bew3mW9I.js";
|
|
3
|
+
import { C as disableTraceMachine, E as traceMachineStatus, G as listTraceRepositoryRoots, K as traceRepositoryStatus, Q as removeAgentTraceHook, S as configureTraceMachine, T as traceMachineEnabled, U as disableAllTraceRepositories, W as enableTraceRepository, X as describeTraceHookOwners, Y as AGENT_TRACE_HOOK_AGENTS, Z as installHarnessHooks, at as readStoreAuth, n as reviewDesktopStateDir, nt as traceScope, ut as StoreClient } from "./review-home-paths-LdGS4SpR.js";
|
|
4
4
|
import { I as writeFileAtomicAsync, L as writePrivateJsonAtomic, N as devReviewHome, j as withFileLock } from "./s3-config-CjcLyFV5.js";
|
|
5
|
-
import { i as readReviewPackageVersion } from "./package-paths-
|
|
6
|
-
import { n as reviewDesktopStateDir } from "./review-home-paths-CjHB5c8m.js";
|
|
5
|
+
import { i as readReviewPackageVersion } from "./package-paths-Cg6fnaGp.js";
|
|
7
6
|
import { n as isFile, t as isDirectory } from "./fs-utils-BMPLt0cr.js";
|
|
8
|
-
import { c as findExecutable, s as executableCommand } from "./fuzzy-match-
|
|
7
|
+
import { c as findExecutable, s as executableCommand } from "./fuzzy-match-CTvayutE.js";
|
|
9
8
|
import { createHash } from "node:crypto";
|
|
10
9
|
import { constants } from "node:fs";
|
|
11
10
|
import { access, chmod, lstat, mkdir, readFile, rm, stat, writeFile } from "node:fs/promises";
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { n as isJsonObject, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as toolResultText, i as connectReviewInstance, s as ReviewApiError } from "./agent-client-
|
|
2
|
+
import { T as traceMachineEnabled } from "./review-home-paths-LdGS4SpR.js";
|
|
3
|
+
import { a as toolResultText, i as connectReviewInstance, s as ReviewApiError } from "./agent-client-DudPjH3I.js";
|
|
4
4
|
import { N as devReviewHome } from "./s3-config-CjcLyFV5.js";
|
|
5
|
-
import { n as readBuildCommit } from "./package-paths-
|
|
6
|
-
import "./
|
|
7
|
-
import {
|
|
8
|
-
import { n as
|
|
9
|
-
import {
|
|
10
|
-
import { i as publicTool, n as RECOVERY, r as callPublicTool, t as toolFailure } from "./tool-failure-BuvwfVeF.js";
|
|
5
|
+
import { n as readBuildCommit } from "./package-paths-Cg6fnaGp.js";
|
|
6
|
+
import { b as selectReviewInstance, u as REVIEW_INSTANCE_ENV } from "./server-discovery-D-2vz5gG.js";
|
|
7
|
+
import { n as reviewSessionAgent } from "./review-telemetry-lmK8HPLI.js";
|
|
8
|
+
import { a as REVIEW_VIA_HEADER, i as REVIEW_THREAD_HEADER, n as REVIEW_AGENT_HEADER, t as ASK_THREAD_ENV } from "./request-origin-DEQd09Db.js";
|
|
9
|
+
import { i as publicTool, n as RECOVERY, r as callPublicTool, t as toolFailure } from "./tool-failure-Bi_-Zck-.js";
|
|
11
10
|
import { existsSync } from "node:fs";
|
|
12
11
|
import path from "node:path";
|
|
13
12
|
//#region src/review-api/install-update.ts
|
|
@@ -44,7 +43,7 @@ async function runReviewAgentCli(input) {
|
|
|
44
43
|
[REVIEW_THREAD_HEADER, thread ?? ""]
|
|
45
44
|
]);
|
|
46
45
|
if (mode === "mcp") {
|
|
47
|
-
const { serveReviewMcp } = await import("./mcp-
|
|
46
|
+
const { serveReviewMcp } = await import("./mcp-2bWqlJNW.js");
|
|
48
47
|
exitOnInstallUpdate(input.stderr);
|
|
49
48
|
await serveReviewMcp(async (key, agentKind) => {
|
|
50
49
|
const connected = await connectReviewInstance(key ? {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { d as isBooleanValue, f as isNumberValue, m as isStringValue, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
2
|
-
import "./src-
|
|
2
|
+
import "./src-Bew3mW9I.js";
|
|
3
3
|
import { t as ReviewInputError } from "./input-error-OLgB_h31.js";
|
|
4
|
-
import { b as selectReviewInstance, c as reviewServerStateDir, d as ReviewInstanceUnavailableError, i as readReviewServerDiscovery, l as serverNotReady, m as healthyReviewInstance, s as reviewServerIsHealthy, y as reviewInstanceUnavailable } from "./server-discovery-
|
|
4
|
+
import { b as selectReviewInstance, c as reviewServerStateDir, d as ReviewInstanceUnavailableError, i as readReviewServerDiscovery, l as serverNotReady, m as healthyReviewInstance, s as reviewServerIsHealthy, y as reviewInstanceUnavailable } from "./server-discovery-D-2vz5gG.js";
|
|
5
5
|
//#region ../review-protocol/src/review-api-client.ts
|
|
6
6
|
const defaultRequest = (url, init) => fetch(url, init);
|
|
7
7
|
/** A non-2xx reply; the status tells a caller whether retrying can help. */
|
|
@@ -259,7 +259,7 @@ async function connectReviewInstance(env = process.env, headers = {}, options =
|
|
|
259
259
|
const selection = await selectReviewInstance({ env });
|
|
260
260
|
const discovery = healthyReviewInstance(selection);
|
|
261
261
|
if (!discovery) {
|
|
262
|
-
const { ensureServerWithoutDesktop } = await import("./background-server-
|
|
262
|
+
const { ensureServerWithoutDesktop } = await import("./background-server-CORnMQmu.js");
|
|
263
263
|
const server = await ensureServerWithoutDesktop({
|
|
264
264
|
selection,
|
|
265
265
|
env,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as isJsonObject } from "./src-X9phtB2j.js";
|
|
2
|
-
import { c as activityBeginSchema, l as activityEndSchema, n as uploadSchema, r as commandSchema, u as activityUpdateSchema } from "./local-data-
|
|
3
|
-
import {
|
|
2
|
+
import { c as activityBeginSchema, l as activityEndSchema, n as uploadSchema, r as commandSchema, u as activityUpdateSchema } from "./local-data-BhNZ1Yep.js";
|
|
3
|
+
import { P as pathTargetSchema, R as publishedEdits } from "./stored-document-migration-CZe65mkx.js";
|
|
4
4
|
import { t as ReviewInputError } from "./input-error-OLgB_h31.js";
|
|
5
|
-
import { t as findReviewPackageRoot } from "./package-paths-
|
|
5
|
+
import { t as findReviewPackageRoot } from "./package-paths-Cg6fnaGp.js";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { readFile } from "node:fs/promises";
|
|
8
8
|
import path from "node:path";
|
|
@@ -231,8 +231,8 @@ function authoringTools(traceEnabled = false, animationsEnabled = false) {
|
|
|
231
231
|
}), "GET", "/:reviewId/inspect"),
|
|
232
232
|
tool("lens_get", "Read the review's Diff-view lenses as authored (ids, titles, targets), each lens's resolved fileCount (and unavailable reason, if any), and uncategorized: the changed lines no lens selects yet, by file.", z.strictObject(review), "GET", "/:reviewId/lenses"),
|
|
233
233
|
tool("history", "List saved document versions.", z.strictObject(review), "GET", "/:reviewId/history"),
|
|
234
|
-
tool("open", "Show an active review immediately; restore it from Trash before opening it. Prepare
|
|
235
|
-
tool("environment", "Acquire and recheck this review's current
|
|
234
|
+
tool("open", "Show an active review immediately; restore it from Trash before opening it. Prepare its pinned checkout in the background. Returns softwareMapEnabled and any already-recorded environmentIssues. Missing optional setup is not an issue; use review_environment to recheck.", z.strictObject(review), "POST", "/:reviewId/open"),
|
|
235
|
+
tool("environment", "Acquire and recheck this review's current head language checkout (not historical or selected commits). Returns acquisition issues, not full LSP health. Missing optional setup and failed setup with a usable checkout stay silent. Set retry:true to rerun failed preparation after an actual language-feature failure; preparation runs in the background.", z.strictObject({
|
|
236
236
|
...review,
|
|
237
237
|
retry: z.boolean().optional()
|
|
238
238
|
}), "POST", "/:reviewId/environment"),
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as headlessServerOwner, c as stopBackgroundServer, i as ensureServerWithoutDesktop, r as ensureBackgroundServer } from "./background-server-
|
|
1
|
+
import { a as headlessServerOwner, c as stopBackgroundServer, i as ensureServerWithoutDesktop, r as ensureBackgroundServer } from "./background-server-CesuMV6N.js";
|
|
2
2
|
export { ensureBackgroundServer, ensureServerWithoutDesktop, headlessServerOwner, stopBackgroundServer };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import "./
|
|
1
|
+
import "./review-home-paths-LdGS4SpR.js";
|
|
2
2
|
import { D as liveLockOwner, k as processIsAlive } from "./s3-config-CjcLyFV5.js";
|
|
3
|
-
import { t as findReviewPackageRoot } from "./package-paths-
|
|
4
|
-
import { a as readReviewServerHealth, c as reviewServerStateDir, i as readReviewServerDiscovery, n as desktopOwnsHome, p as desktopUsesHome, r as headlessServerLockPath } from "./server-discovery-
|
|
5
|
-
import { t as desktopApplicationInstalled } from "./review-app-launcher-
|
|
3
|
+
import { t as findReviewPackageRoot } from "./package-paths-Cg6fnaGp.js";
|
|
4
|
+
import { a as readReviewServerHealth, c as reviewServerStateDir, i as readReviewServerDiscovery, n as desktopOwnsHome, p as desktopUsesHome, r as headlessServerLockPath } from "./server-discovery-D-2vz5gG.js";
|
|
5
|
+
import { t as desktopApplicationInstalled } from "./review-app-launcher-L7xKjTLQ.js";
|
|
6
6
|
import { mkdir, open, readFile, realpath, stat } from "node:fs/promises";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { spawn } from "node:child_process";
|
|
@@ -30,9 +30,10 @@ async function ensureBackgroundServer(input) {
|
|
|
30
30
|
let respawned = false;
|
|
31
31
|
while (Date.now() < deadline) {
|
|
32
32
|
const discovery = await healthyDiscovery(stateDir);
|
|
33
|
-
|
|
33
|
+
const started = discovery?.serverPid === child.pid;
|
|
34
|
+
if (discovery && (started || child.exited)) return {
|
|
34
35
|
discovery,
|
|
35
|
-
started
|
|
36
|
+
started
|
|
36
37
|
};
|
|
37
38
|
if (child.error) throw new Error(`Could not start the Whiteboard server: ${child.error.message}`);
|
|
38
39
|
if (child.exited && await headlessServerOwner(stateDir) === void 0) {
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.4.1-preview.
|
|
1
|
+
{"version":"0.4.1-preview.20261028.142","commit":"bedb61d18982132726ec118b55337804e8992238","dirty":true,"builtAt":"2026-10-28T15:47:13.214Z"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { D as __commonJSMin, E as setLocalVcsCommandObserver, O as __require, k as __toESM } from "./src-
|
|
1
|
+
import { D as __commonJSMin, E as setLocalVcsCommandObserver, O as __require, k as __toESM } from "./src-Y30gweiK.js";
|
|
2
2
|
import { c as jsonString, n as isJsonObject, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
3
|
-
import { S as REVIEW_REMOTE_ATTACH_END, b as REVIEW_REMOTE_AGENT_IDS, h as REVIEW_CLI_INSTALL_TARGET_LABELS, l as boardTitle, x as REVIEW_REMOTE_ATTACH_BEGIN } from "./src-
|
|
4
|
-
import { $ as
|
|
5
|
-
import { o as ReviewApiClient, s as ReviewApiError } from "./agent-client-
|
|
3
|
+
import { S as REVIEW_REMOTE_ATTACH_END, b as REVIEW_REMOTE_AGENT_IDS, h as REVIEW_CLI_INSTALL_TARGET_LABELS, l as boardTitle, x as REVIEW_REMOTE_ATTACH_BEGIN } from "./src-Bew3mW9I.js";
|
|
4
|
+
import { $ as resolveTraceCommand, A as runTraceDeny, E as traceMachineStatus, F as describeSelection, H as resolveTraceRepositoryTarget, J as HOSTED_CAPTURE_SCOPE_DESCRIPTION, K as traceRepositoryStatus, L as loadS3TraceStorage, M as runTraceSessions, N as runTraceStoreDelete, P as runTraceStoreInfo, T as traceMachineEnabled, V as requireTraceConsent, _ as runTraceRepair, at as readStoreAuth, b as runTraceGitHook, c as registerTraceCommands, ct as runStoreWhoami, d as runTraceList$1, dt as withStoreAuthorization, f as runTracePull$1, ft as emitJsonEvent, g as runTraceInstallMachine, h as runTraceEnable, ht as jsonRequestedInArgv, j as runTraceOnboard, k as runTraceAllow, l as resolveTraceReadStorage, lt as StoreApiError, m as runTraceDisable, mt as humanStream, nt as traceScope, ot as runStoreLogin, p as runTraceShow, pt as failWithJsonError, q as readTraceUserConfig, rt as DEFAULT_STORE_ORIGIN, st as runStoreLogout, tt as traceHomeDir, u as runTraceBlame, ut as StoreClient, v as runTraceStatus, w as readLegacyCaptureSettings, x as runTraceHook, y as runTraceSync, z as selectTraceStorage } from "./review-home-paths-LdGS4SpR.js";
|
|
5
|
+
import { o as ReviewApiClient, s as ReviewApiError } from "./agent-client-DudPjH3I.js";
|
|
6
6
|
import { C as s3ProfileSchema, E as writeTraceConfigFile, N as devReviewHome, P as normalizeStoreOrigin, S as readTraceConfigFile, T as sameS3Profile, _ as emptyTraceConfig, c as resolveS3Setup, g as currentStore, h as TraceConfigurationError, i as isS3MockMode, n as clearTraceEnvCache, o as readTraceEnvFile, p as traceSettingsPath, w as s3Store } from "./s3-config-CjcLyFV5.js";
|
|
7
7
|
import { t as errorMessage } from "./error-message-OtiDonty.js";
|
|
8
|
-
import { i as readReviewPackageVersion, r as readBuildInfo, t as findReviewPackageRoot } from "./package-paths-
|
|
9
|
-
import { t as resolveReviewRoot } from "./runtime-
|
|
10
|
-
import "./
|
|
11
|
-
import {
|
|
12
|
-
import { t as
|
|
13
|
-
import { t as
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { t as reviewAgentCliHelp } from "./agent-cli-DIC2tBpL.js";
|
|
8
|
+
import { i as readReviewPackageVersion, r as readBuildInfo, t as findReviewPackageRoot } from "./package-paths-Cg6fnaGp.js";
|
|
9
|
+
import { t as resolveReviewRoot } from "./runtime-Bhk5L_SN.js";
|
|
10
|
+
import { a as readReviewServerHealth, b as selectReviewInstance, c as reviewServerStateDir, d as ReviewInstanceUnavailableError, f as clearDefaultReviewInstance, g as requireHealthyReviewDesktop, h as readDefaultReviewInstance, i as readReviewServerDiscovery, l as serverNotReady, m as healthyReviewInstance, p as desktopUsesHome, t as DESKTOP_TAKEOVER_SIGNAL, u as REVIEW_INSTANCE_ENV, x as writeDefaultReviewInstance, y as reviewInstanceUnavailable } from "./server-discovery-D-2vz5gG.js";
|
|
11
|
+
import { t as ReviewTelemetry } from "./review-telemetry-lmK8HPLI.js";
|
|
12
|
+
import { t as fuzzyRank } from "./fuzzy-match-CTvayutE.js";
|
|
13
|
+
import { _ as isInstallTarget, a as isOwnedShim, f as windowsInstallerCommand, g as ALL_INSTALL_TARGETS, h as detectConnectAgents, m as connectAgent, o as pathShimPath, p as scanLegacySkills, t as aliasInstallationToAccount, v as connectPrompts } from "./account-alias-D1iIc7j5.js";
|
|
14
|
+
import { n as focusReviewDesktop, r as runReviewAppLaunch } from "./review-app-launcher-L7xKjTLQ.js";
|
|
15
|
+
import { t as reviewAgentCliHelp } from "./agent-cli-B_gSzrhA.js";
|
|
17
16
|
import { existsSync, mkdirSync, renameSync, writeFileSync } from "node:fs";
|
|
18
17
|
import { realpath } from "node:fs/promises";
|
|
19
18
|
import path from "node:path";
|
|
@@ -4334,7 +4333,7 @@ async function runReviewCli(input) {
|
|
|
4334
4333
|
if (!Number.isInteger(port) || port < 0 || port > 65535) throw new ReviewCliUsageError("--port must be an integer between 0 and 65535.");
|
|
4335
4334
|
const stateDir = reviewServerStateDir(authoringEnv(options.stateDir));
|
|
4336
4335
|
if (options.detach) {
|
|
4337
|
-
const { ensureBackgroundServer } = await import("./background-server-
|
|
4336
|
+
const { ensureBackgroundServer } = await import("./background-server-CORnMQmu.js");
|
|
4338
4337
|
const { discovery, started } = await ensureBackgroundServer({
|
|
4339
4338
|
stateDir,
|
|
4340
4339
|
env,
|
|
@@ -4356,7 +4355,7 @@ async function runReviewCli(input) {
|
|
|
4356
4355
|
process.once("SIGINT", stop);
|
|
4357
4356
|
process.once("SIGTERM", stop);
|
|
4358
4357
|
process.once(DESKTOP_TAKEOVER_SIGNAL, takeover);
|
|
4359
|
-
const { HeadlessServerBusyError, runHeadlessServer } = await import("./headless-host-
|
|
4358
|
+
const { HeadlessServerBusyError, runHeadlessServer } = await import("./headless-host-Cnu-o0xk.js");
|
|
4360
4359
|
try {
|
|
4361
4360
|
await runHeadlessServer({
|
|
4362
4361
|
stateDir,
|
|
@@ -4393,7 +4392,7 @@ async function runReviewCli(input) {
|
|
|
4393
4392
|
configureJsonOutput(serverCommand.command("stop").description("Stop a background server started by --detach, the CLI, or Desktop").option("--state-dir <path>", "directory selected when starting the server"), "plain").action(async (_options, command) => {
|
|
4394
4393
|
const options = command.optsWithGlobals();
|
|
4395
4394
|
const stateDir = reviewServerStateDir(authoringEnv(options.stateDir));
|
|
4396
|
-
const { headlessServerOwner, stopBackgroundServer } = await import("./background-server-
|
|
4395
|
+
const { headlessServerOwner, stopBackgroundServer } = await import("./background-server-CORnMQmu.js");
|
|
4397
4396
|
const owner = await headlessServerOwner(stateDir);
|
|
4398
4397
|
const discovery = await readReviewServerDiscovery(stateDir);
|
|
4399
4398
|
if (owner === void 0) {
|
|
@@ -4421,7 +4420,7 @@ async function runReviewCli(input) {
|
|
|
4421
4420
|
if (!existsSync(path.join(stateDir, "review-api.db"))) throw new Error(`No saved reviews in ${stateDir}, so there is no server id to reset. Check --state-dir.`);
|
|
4422
4421
|
const inUse = `A Whiteboard server is using ${stateDir}. Stop it first, then run whiteboard server reset-id again.`;
|
|
4423
4422
|
if (await desktopUsesHome(stateDir, env)) return refuse(inUse, options.json);
|
|
4424
|
-
const [{ openReviewProfile }, { withHeadlessServerLock }] = await Promise.all([import("./profile-
|
|
4423
|
+
const [{ openReviewProfile }, { withHeadlessServerLock }] = await Promise.all([import("./profile-BmtFpq8d.js"), import("./headless-host-Cnu-o0xk.js")]);
|
|
4425
4424
|
const reset = await withHeadlessServerLock(await realpath(stateDir), async () => {
|
|
4426
4425
|
const local = await openReviewProfile(stateDir, { manageWorkspaces: false });
|
|
4427
4426
|
try {
|
|
@@ -4443,7 +4442,7 @@ async function runReviewCli(input) {
|
|
|
4443
4442
|
configureJsonOutput(remote.command("attach").description("Start a background server if none is healthy and report how to reach it").option("--state-dir <path>", "directory for saved reviews and server discovery").option("--groups <groups>", "comma-separated optional extension groups the Desktop has enabled, such as go").option("--replace", "stop a running server of another version that the CLI or Desktop started, and start this one"), "plain").action(async (_options, command) => {
|
|
4444
4443
|
const options = command.optsWithGlobals();
|
|
4445
4444
|
const stateDir = reviewServerStateDir(authoringEnv(options.stateDir));
|
|
4446
|
-
const { remoteAttach } = await import("./remote-attach-
|
|
4445
|
+
const { remoteAttach } = await import("./remote-attach-C79X5M2Z.js");
|
|
4447
4446
|
let attach;
|
|
4448
4447
|
try {
|
|
4449
4448
|
attach = await remoteAttach({
|
|
@@ -4470,7 +4469,7 @@ async function runReviewCli(input) {
|
|
|
4470
4469
|
});
|
|
4471
4470
|
configureJsonOutput(remote.command("extensions").description("Language extensions for the language server on a remote").command("ensure").description("Download the curated extensions for this machine and list them for the language server").option("--groups <groups>", "comma-separated optional extension groups the Desktop has enabled, such as go"), "plain").action(async (_options, command) => {
|
|
4472
4471
|
const { json, groups } = command.optsWithGlobals();
|
|
4473
|
-
const { ensureRemoteExtensions } = await import("./remote-extensions-
|
|
4472
|
+
const { ensureRemoteExtensions } = await import("./remote-extensions-Bw029iIS.js");
|
|
4474
4473
|
const result = await ensureRemoteExtensions({
|
|
4475
4474
|
env,
|
|
4476
4475
|
groups: groups?.split(",").map((group) => group.trim())
|
|
@@ -4485,7 +4484,7 @@ async function runReviewCli(input) {
|
|
|
4485
4484
|
configureJsonOutput(remote.command("uninstall").description("Remove what Whiteboard Desktop installed on this host, stopping a server it started").addOption(new Option("--keep-reviews", "leave the saved reviews in place").conflicts("deleteReviews")).addOption(new Option("--delete-reviews", "also delete the saved reviews")).option("--state-dir <path>", "directory for saved reviews and server discovery"), "plain").action(async (_options, command) => {
|
|
4486
4485
|
const options = command.optsWithGlobals();
|
|
4487
4486
|
const stateDir = reviewServerStateDir(authoringEnv(options.stateDir));
|
|
4488
|
-
const { remoteUninstall } = await import("./remote-uninstall-
|
|
4487
|
+
const { remoteUninstall } = await import("./remote-uninstall-Aza0u1_3.js");
|
|
4489
4488
|
let deleteReviews = options.deleteReviews ? true : options.keepReviews ? false : void 0;
|
|
4490
4489
|
if (deleteReviews === void 0 && !options.json && input.stdin?.isTTY) {
|
|
4491
4490
|
const prompt = createInterface$1({
|
|
@@ -4707,14 +4706,14 @@ async function runReviewCli(input) {
|
|
|
4707
4706
|
command.showHelpAfterError(false).error("Markdown review migration is no longer supported. Ask your agent to migrate your old Whiteboard reviews.");
|
|
4708
4707
|
});
|
|
4709
4708
|
configureJsonOutput(configureJsonOutput(program.command("share").description("Upload an immutable review snapshot and return its share link"), "plain").option("--review <id>", "review ID").option("--version <number>", "Saved version to share").option("--preview", "Open the share link in Whiteboard Preview by default").option("--request-id <uuid>", "Reuse this ID when retrying the same immutable upload").action(async (options) => {
|
|
4710
|
-
const { runShareCli } = await import("./cli-
|
|
4709
|
+
const { runShareCli } = await import("./cli-CIP_-Fvm.js");
|
|
4711
4710
|
state.exitCode = await runShareCli({
|
|
4712
4711
|
...input,
|
|
4713
4712
|
...options,
|
|
4714
4713
|
env: authoringEnv()
|
|
4715
4714
|
});
|
|
4716
4715
|
}).command("revoke <share-id>").description("Revoke future downloads of a share"), "plain").action(async (shareId, options) => {
|
|
4717
|
-
const { runShareCli } = await import("./cli-
|
|
4716
|
+
const { runShareCli } = await import("./cli-CIP_-Fvm.js");
|
|
4718
4717
|
state.exitCode = await runShareCli({
|
|
4719
4718
|
...input,
|
|
4720
4719
|
...options,
|
|
@@ -4795,7 +4794,7 @@ async function runReviewCli(input) {
|
|
|
4795
4794
|
return commands;
|
|
4796
4795
|
} });
|
|
4797
4796
|
for (const [name, description] of [["api", "Call a JSON review authoring tool on the running server"], ["mcp", "Serve the JSON review authoring tools over stdio MCP"]]) configureOutput(program.command(name).description(description).argument("[args...]", "tool name and JSON input").allowUnknownOption().allowExcessArguments().helpOption(false).passThroughOptions().addHelpText("after", `\n${reviewAgentCliHelp}`), "plain").action(async (args) => {
|
|
4798
|
-
const { runReviewAgentCli } = await import("./agent-cli-
|
|
4797
|
+
const { runReviewAgentCli } = await import("./agent-cli-DtjnkDSL.js");
|
|
4799
4798
|
state.exitCode = await runReviewAgentCli({
|
|
4800
4799
|
...input,
|
|
4801
4800
|
env: authoringEnv(),
|
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { a as jsonNumber, c as jsonString, o as jsonObject, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
3
|
-
import "./src-
|
|
3
|
+
import "./src-Bew3mW9I.js";
|
|
4
4
|
import { existsSync, readFileSync, readdirSync, realpathSync } from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import os from "node:os";
|
|
@@ -17,7 +17,7 @@ async function runCli(effectivePath) {
|
|
|
17
17
|
`);
|
|
18
18
|
return 1;
|
|
19
19
|
}
|
|
20
|
-
const { runReviewCli } = await import("./cli-runner-
|
|
20
|
+
const { runReviewCli } = await import("./cli-runner-dHnKnyNw.js");
|
|
21
21
|
return runReviewCli({
|
|
22
22
|
argv,
|
|
23
23
|
cliPaths: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./
|
|
1
|
+
import "./review-home-paths-LdGS4SpR.js";
|
|
2
2
|
import { N as devReviewHome } from "./s3-config-CjcLyFV5.js";
|
|
3
|
-
import { n as askAgentIds } from "./thread-state-
|
|
4
|
-
import { t as ASK_THREAD_ENV } from "./request-origin-
|
|
3
|
+
import { n as askAgentIds } from "./thread-state-XgVKaQ3-.js";
|
|
4
|
+
import { t as ASK_THREAD_ENV } from "./request-origin-DEQd09Db.js";
|
|
5
5
|
import { createRequire } from "node:module";
|
|
6
6
|
import { constants } from "node:fs";
|
|
7
7
|
import { access, chmod, mkdir, readFile, rename, stat, writeFile } from "node:fs/promises";
|