@dev.fast/whiteboard 0.3.5-preview.20261021.133 → 0.3.5-preview.20261023.135
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-BRRpaO9U.js → account-alias-2yTAxoBx.js} +6 -7
- package/dist/agent-cli-B388TP61.js +2 -0
- package/dist/{agent-cli-CFX3bHJV.js → agent-cli-BMm7SuZF.js} +9 -8
- package/dist/{agent-client-H53ajvrm.js → agent-client-Dc0vHFJt.js} +3 -3
- package/dist/{authoring-tools-BCquUsB3.js → authoring-tools-BQW10hIy.js} +3 -3
- package/dist/{background-server-Xom8cA_u.js → background-server-DHWHzpo5.js} +4 -4
- package/dist/{background-server-BSYXD9au.js → background-server-DyWnPJyZ.js} +1 -1
- package/dist/build-info.json +1 -1
- package/dist/{cli-BOnV4cCh.js → cli-qZomwJmK.js} +1 -1
- package/dist/{cli-runner-nE62FMPA.js → cli-runner-BTIv01OF.js} +25 -24
- package/dist/cli.js +2 -2
- package/dist/{client-UH1bEG7Z.js → client-p9WB8Sj0.js} +13 -9
- package/dist/{fuzzy-match-SsirV9Ap.js → fuzzy-match-CfSxqzBF.js} +4 -4
- package/dist/{headless-host-DN6rrMrK.js → headless-host-BqhXupMu.js} +1 -1
- package/dist/{headless-host-CG1XSd5n.js → headless-host-Sg_3jomq.js} +87 -37
- package/dist/{lens-selection-BxPk53c8.js → lens-selection-9byzEgvU.js} +1 -1
- package/dist/{local-data-mbCb1HDH.js → local-data-HEAXumv5.js} +190 -500
- package/dist/{mcp-cBtzXsmN.js → mcp-mroZC5-9.js} +3 -3
- package/dist/{package-paths-BkeQsdaw.js → package-paths-BeYHYjeR.js} +1 -1
- package/dist/{profile-duqp5uPa.js → profile-BuyV9AEf.js} +2 -2
- package/dist/profile-wmzgPWK8.js +2 -0
- package/dist/{remote-attach-BeKuMm_x.js → remote-attach-DSGpTOJ4.js} +4 -4
- package/dist/{remote-extensions-CYWNTVSf.js → remote-extensions-CsI_BJ_f.js} +3 -3
- package/dist/{remote-extensions-CX2fAec1.js → remote-extensions-WtJO7pkb.js} +1 -1
- package/dist/{remote-language-server-DLWluAeR.js → remote-language-server-Dx13Mg2m.js} +4 -4
- package/dist/{remote-uninstall-Y3S0YmJs.js → remote-uninstall-Dp2o3qz0.js} +5 -5
- package/dist/{request-origin-BxaWyOpO.js → request-origin-CNSLVn7x.js} +3 -3
- package/dist/{review-app-launcher-DZvG5ZAh.js → review-app-launcher-BZAnR8Vp.js} +2 -2
- package/dist/review-home-paths-CG-sb9Cw.js +39 -0
- package/dist/{review-telemetry-Vnb2zKyn.js → review-telemetry-BM-_KdLi.js} +5 -4
- package/dist/{runtime-CF4JXdb8.js → runtime-C6_1K-3Z.js} +1 -1
- package/dist/runtime.js +1 -1
- package/dist/server/desktop-host.js +17 -17
- package/dist/{server-discovery-DeVTdcqK.js → server-discovery-DKLIOgg3.js} +3 -2
- package/dist/sharing/index.d.ts +36 -60
- package/dist/sharing/index.js +1 -1
- package/dist/{src-DYZLCUP_.js → src-DYHVzX3b.js} +0 -11
- package/dist/{review-home-paths-BwH08ihj.js → src-Z1x4-Qmb.js} +5 -39
- package/dist/{stored-document-migration-B29lve9-.js → stored-document-migration-DEt8iwem.js} +486 -6
- package/dist/{thread-state-BPpvKFwQ.js → thread-state-CO97FUqK.js} +1 -1
- package/dist/{tool-failure-CQhyLht3.js → tool-failure-C1L1vJyz.js} +2 -2
- package/package.json +4 -4
- package/src/cli-install.ts +1 -6
- package/src/github-pr-graph.ts +97 -0
- package/src/review-api/http.ts +14 -18
- package/src/review-api/local-data.ts +124 -11
- package/src/review-api/origin.ts +13 -5
- package/src/review-api/store.ts +213 -56
- package/src/review-stack.ts +125 -22
- package/src/sharing/client.ts +11 -1
- package/src/sharing/import.ts +6 -8
- package/src/software-map-model.ts +30 -1
- package/dist/agent-cli-D2P4EoAk.js +0 -2
- package/dist/profile-Dbyidrcr.js +0 -2
- package/dist/{src-DtfSndqS.js → src-X9ZebeOD.js} +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
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-DYHVzX3b.js";
|
|
3
|
+
import { G as removeAgentTraceHook, H as AGENT_TRACE_HOOK_AGENTS, I as disableAllTraceRepositories, L as enableTraceRepository, Q as readStoreAuth, R as listTraceRepositoryRoots, U as describeTraceHookOwners, W as installHarnessHooks, Y as traceScope, g as disableTraceMachine, h as configureTraceMachine, rt as StoreClient, v as traceMachineEnabled, y as traceMachineStatus, z as traceRepositoryStatus } from "./src-Z1x4-Qmb.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-
|
|
5
|
+
import { i as readReviewPackageVersion } from "./package-paths-BeYHYjeR.js";
|
|
6
|
+
import { n as reviewDesktopStateDir } from "./review-home-paths-CG-sb9Cw.js";
|
|
6
7
|
import { n as isFile, t as isDirectory } from "./fs-utils-BMPLt0cr.js";
|
|
7
|
-
import { c as findExecutable, s as executableCommand } from "./fuzzy-match-
|
|
8
|
+
import { c as findExecutable, s as executableCommand } from "./fuzzy-match-CfSxqzBF.js";
|
|
8
9
|
import { createHash } from "node:crypto";
|
|
9
10
|
import { constants } from "node:fs";
|
|
10
11
|
import { access, chmod, lstat, mkdir, readFile, rm, stat, writeFile } from "node:fs/promises";
|
|
@@ -821,7 +822,7 @@ async function resyncCliInstallUnlocked(input) {
|
|
|
821
822
|
const chunks = [];
|
|
822
823
|
let shimPath;
|
|
823
824
|
let userPath = stamp.userPath;
|
|
824
|
-
if (stamp.shimPath
|
|
825
|
+
if (stamp.shimPath) {
|
|
825
826
|
const installed = await installShim(input, chunks);
|
|
826
827
|
if (installed.code !== 0) return installed;
|
|
827
828
|
shimPath = installed.shimPath;
|
|
@@ -886,7 +887,6 @@ async function applyCliInstallUnlocked(input) {
|
|
|
886
887
|
};
|
|
887
888
|
const stampShimPath = shimPath ?? (granted ? previous.shimPath : void 0);
|
|
888
889
|
if (stampShimPath) stamp.shimPath = stampShimPath;
|
|
889
|
-
if (granted && previous.commandDisabled && input.shim !== true) stamp.commandDisabled = true;
|
|
890
890
|
if (input.trace !== void 0 || granted && previous.traceManaged) stamp.traceManaged = true;
|
|
891
891
|
const stampUserPath = userPath ?? (granted && !shimPath ? previous.userPath : void 0);
|
|
892
892
|
if (stampUserPath) stamp.userPath = stampUserPath;
|
|
@@ -1053,7 +1053,6 @@ async function removeCliInstallUnlocked(input) {
|
|
|
1053
1053
|
};
|
|
1054
1054
|
if (previous.fingerprint) stamp.fingerprint = previous.fingerprint;
|
|
1055
1055
|
if (!input.shim && previous.shimPath) stamp.shimPath = previous.shimPath;
|
|
1056
|
-
if (input.shim || previous.commandDisabled) stamp.commandDisabled = true;
|
|
1057
1056
|
if (!input.trace && previous.traceManaged) stamp.traceManaged = true;
|
|
1058
1057
|
if (!input.shim && previous.userPath) stamp.userPath = previous.userPath;
|
|
1059
1058
|
await writeCurrentStamp(env, stamp);
|
|
@@ -1,12 +1,13 @@
|
|
|
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 { v as traceMachineEnabled } from "./src-Z1x4-Qmb.js";
|
|
3
|
+
import { a as toolResultText, i as connectReviewInstance, s as ReviewApiError } from "./agent-client-Dc0vHFJt.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 {
|
|
9
|
-
import {
|
|
5
|
+
import { n as readBuildCommit } from "./package-paths-BeYHYjeR.js";
|
|
6
|
+
import "./review-home-paths-CG-sb9Cw.js";
|
|
7
|
+
import { b as selectReviewInstance, u as REVIEW_INSTANCE_ENV } from "./server-discovery-DKLIOgg3.js";
|
|
8
|
+
import { n as reviewSessionAgent } from "./review-telemetry-BM-_KdLi.js";
|
|
9
|
+
import { a as REVIEW_VIA_HEADER, i as REVIEW_THREAD_HEADER, n as REVIEW_AGENT_HEADER, t as ASK_THREAD_ENV } from "./request-origin-CNSLVn7x.js";
|
|
10
|
+
import { i as publicTool, n as RECOVERY, r as callPublicTool, t as toolFailure } from "./tool-failure-C1L1vJyz.js";
|
|
10
11
|
import { existsSync } from "node:fs";
|
|
11
12
|
import path from "node:path";
|
|
12
13
|
//#region src/review-api/install-update.ts
|
|
@@ -43,7 +44,7 @@ async function runReviewAgentCli(input) {
|
|
|
43
44
|
[REVIEW_THREAD_HEADER, thread ?? ""]
|
|
44
45
|
]);
|
|
45
46
|
if (mode === "mcp") {
|
|
46
|
-
const { serveReviewMcp } = await import("./mcp-
|
|
47
|
+
const { serveReviewMcp } = await import("./mcp-mroZC5-9.js");
|
|
47
48
|
exitOnInstallUpdate(input.stderr);
|
|
48
49
|
await serveReviewMcp(async (key, agentKind) => {
|
|
49
50
|
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-DYHVzX3b.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-DKLIOgg3.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-DyWnPJyZ.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-HEAXumv5.js";
|
|
3
|
+
import { L as publishedEditSchema, N as pathTargetSchema } from "./stored-document-migration-DEt8iwem.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-BeYHYjeR.js";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { readFile } from "node:fs/promises";
|
|
8
8
|
import path from "node:path";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import "./
|
|
1
|
+
import "./src-Z1x4-Qmb.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-BeYHYjeR.js";
|
|
4
|
+
import { a as readReviewServerHealth, c as reviewServerStateDir, i as readReviewServerDiscovery, n as desktopOwnsHome, p as desktopUsesHome, r as headlessServerLockPath } from "./server-discovery-DKLIOgg3.js";
|
|
5
|
+
import { t as desktopApplicationInstalled } from "./review-app-launcher-BZAnR8Vp.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";
|
|
@@ -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-DHWHzpo5.js";
|
|
2
2
|
export { ensureBackgroundServer, ensureServerWithoutDesktop, headlessServerOwner, stopBackgroundServer };
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.3.5-preview.
|
|
1
|
+
{"version":"0.3.5-preview.20261023.135","commit":"df0b0764e064a9868ca27f0ea13db56c272bd223","dirty":true,"builtAt":"2026-10-23T06:38:34.826Z"}
|
|
@@ -1,26 +1,27 @@
|
|
|
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-X9ZebeOD.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-
|
|
6
|
-
import { t as resolveReviewRoot } from "./runtime-CF4JXdb8.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-DYHVzX3b.js";
|
|
4
|
+
import { $ as runStoreLogin, A as loadS3TraceStorage, B as readTraceUserConfig, C as runTraceDeny, D as runTraceStoreInfo, E as runTraceStoreDelete, F as resolveTraceRepositoryTarget, J as traceHomeDir, K as resolveTraceCommand, M as selectTraceStorage, O as describeSelection, P as requireTraceConsent, Q as readStoreAuth, S as runTraceAllow, T as runTraceSessions, V as HOSTED_CAPTURE_SCOPE_DESCRIPTION, X as DEFAULT_STORE_ORIGIN, Y as traceScope, _ as readLegacyCaptureSettings, a as runTracePull$1, at as emitJsonEvent, c as runTraceEnable, ct as jsonRequestedInArgv, d as runTraceStatus, et as runStoreLogout, f as runTraceSync, i as runTraceList$1, it as withStoreAuthorization, l as runTraceInstallMachine, m as runTraceHook, n as resolveTraceReadStorage, nt as StoreApiError, o as runTraceShow, ot as failWithJsonError, p as runTraceGitHook, r as runTraceBlame, rt as StoreClient, s as runTraceDisable, st as humanStream, t as registerTraceCommands, tt as runStoreWhoami, u as runTraceRepair, v as traceMachineEnabled, w as runTraceOnboard, y as traceMachineStatus, z as traceRepositoryStatus } from "./src-Z1x4-Qmb.js";
|
|
5
|
+
import { o as ReviewApiClient, s as ReviewApiError } from "./agent-client-Dc0vHFJt.js";
|
|
7
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";
|
|
8
7
|
import { t as errorMessage } from "./error-message-OtiDonty.js";
|
|
9
|
-
import { i as readReviewPackageVersion, r as readBuildInfo, t as findReviewPackageRoot } from "./package-paths-
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
12
|
-
import { t as
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { t as
|
|
8
|
+
import { i as readReviewPackageVersion, r as readBuildInfo, t as findReviewPackageRoot } from "./package-paths-BeYHYjeR.js";
|
|
9
|
+
import { t as resolveReviewRoot } from "./runtime-C6_1K-3Z.js";
|
|
10
|
+
import "./review-home-paths-CG-sb9Cw.js";
|
|
11
|
+
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-DKLIOgg3.js";
|
|
12
|
+
import { t as ReviewTelemetry } from "./review-telemetry-BM-_KdLi.js";
|
|
13
|
+
import { t as fuzzyRank } from "./fuzzy-match-CfSxqzBF.js";
|
|
14
|
+
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-2yTAxoBx.js";
|
|
15
|
+
import { n as focusReviewDesktop, r as runReviewAppLaunch } from "./review-app-launcher-BZAnR8Vp.js";
|
|
16
|
+
import { t as reviewAgentCliHelp } from "./agent-cli-BMm7SuZF.js";
|
|
16
17
|
import { existsSync, mkdirSync, renameSync, writeFileSync } from "node:fs";
|
|
17
18
|
import { realpath } from "node:fs/promises";
|
|
18
19
|
import path from "node:path";
|
|
19
|
-
import os from "node:os";
|
|
20
|
-
import { fileURLToPath } from "node:url";
|
|
21
20
|
import { Writable } from "node:stream";
|
|
22
21
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
22
|
+
import os from "node:os";
|
|
23
23
|
import { Argument, Command, CommanderError, Option } from "commander";
|
|
24
|
+
import { fileURLToPath } from "node:url";
|
|
24
25
|
import { emitKeypressEvents } from "node:readline";
|
|
25
26
|
import { createInterface as createInterface$1 } from "node:readline/promises";
|
|
26
27
|
import pino from "pino";
|
|
@@ -4333,7 +4334,7 @@ async function runReviewCli(input) {
|
|
|
4333
4334
|
if (!Number.isInteger(port) || port < 0 || port > 65535) throw new ReviewCliUsageError("--port must be an integer between 0 and 65535.");
|
|
4334
4335
|
const stateDir = reviewServerStateDir(authoringEnv(options.stateDir));
|
|
4335
4336
|
if (options.detach) {
|
|
4336
|
-
const { ensureBackgroundServer } = await import("./background-server-
|
|
4337
|
+
const { ensureBackgroundServer } = await import("./background-server-DyWnPJyZ.js");
|
|
4337
4338
|
const { discovery, started } = await ensureBackgroundServer({
|
|
4338
4339
|
stateDir,
|
|
4339
4340
|
env,
|
|
@@ -4355,7 +4356,7 @@ async function runReviewCli(input) {
|
|
|
4355
4356
|
process.once("SIGINT", stop);
|
|
4356
4357
|
process.once("SIGTERM", stop);
|
|
4357
4358
|
process.once(DESKTOP_TAKEOVER_SIGNAL, takeover);
|
|
4358
|
-
const { HeadlessServerBusyError, runHeadlessServer } = await import("./headless-host-
|
|
4359
|
+
const { HeadlessServerBusyError, runHeadlessServer } = await import("./headless-host-BqhXupMu.js");
|
|
4359
4360
|
try {
|
|
4360
4361
|
await runHeadlessServer({
|
|
4361
4362
|
stateDir,
|
|
@@ -4392,7 +4393,7 @@ async function runReviewCli(input) {
|
|
|
4392
4393
|
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) => {
|
|
4393
4394
|
const options = command.optsWithGlobals();
|
|
4394
4395
|
const stateDir = reviewServerStateDir(authoringEnv(options.stateDir));
|
|
4395
|
-
const { headlessServerOwner, stopBackgroundServer } = await import("./background-server-
|
|
4396
|
+
const { headlessServerOwner, stopBackgroundServer } = await import("./background-server-DyWnPJyZ.js");
|
|
4396
4397
|
const owner = await headlessServerOwner(stateDir);
|
|
4397
4398
|
const discovery = await readReviewServerDiscovery(stateDir);
|
|
4398
4399
|
if (owner === void 0) {
|
|
@@ -4420,7 +4421,7 @@ async function runReviewCli(input) {
|
|
|
4420
4421
|
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.`);
|
|
4421
4422
|
const inUse = `A Whiteboard server is using ${stateDir}. Stop it first, then run whiteboard server reset-id again.`;
|
|
4422
4423
|
if (await desktopUsesHome(stateDir, env)) return refuse(inUse, options.json);
|
|
4423
|
-
const [{ openReviewProfile }, { withHeadlessServerLock }] = await Promise.all([import("./profile-
|
|
4424
|
+
const [{ openReviewProfile }, { withHeadlessServerLock }] = await Promise.all([import("./profile-wmzgPWK8.js"), import("./headless-host-BqhXupMu.js")]);
|
|
4424
4425
|
const reset = await withHeadlessServerLock(await realpath(stateDir), async () => {
|
|
4425
4426
|
const local = await openReviewProfile(stateDir, { manageWorkspaces: false });
|
|
4426
4427
|
try {
|
|
@@ -4442,7 +4443,7 @@ async function runReviewCli(input) {
|
|
|
4442
4443
|
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) => {
|
|
4443
4444
|
const options = command.optsWithGlobals();
|
|
4444
4445
|
const stateDir = reviewServerStateDir(authoringEnv(options.stateDir));
|
|
4445
|
-
const { remoteAttach } = await import("./remote-attach-
|
|
4446
|
+
const { remoteAttach } = await import("./remote-attach-DSGpTOJ4.js");
|
|
4446
4447
|
let attach;
|
|
4447
4448
|
try {
|
|
4448
4449
|
attach = await remoteAttach({
|
|
@@ -4469,7 +4470,7 @@ async function runReviewCli(input) {
|
|
|
4469
4470
|
});
|
|
4470
4471
|
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) => {
|
|
4471
4472
|
const { json, groups } = command.optsWithGlobals();
|
|
4472
|
-
const { ensureRemoteExtensions } = await import("./remote-extensions-
|
|
4473
|
+
const { ensureRemoteExtensions } = await import("./remote-extensions-WtJO7pkb.js");
|
|
4473
4474
|
const result = await ensureRemoteExtensions({
|
|
4474
4475
|
env,
|
|
4475
4476
|
groups: groups?.split(",").map((group) => group.trim())
|
|
@@ -4484,7 +4485,7 @@ async function runReviewCli(input) {
|
|
|
4484
4485
|
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) => {
|
|
4485
4486
|
const options = command.optsWithGlobals();
|
|
4486
4487
|
const stateDir = reviewServerStateDir(authoringEnv(options.stateDir));
|
|
4487
|
-
const { remoteUninstall } = await import("./remote-uninstall-
|
|
4488
|
+
const { remoteUninstall } = await import("./remote-uninstall-Dp2o3qz0.js");
|
|
4488
4489
|
let deleteReviews = options.deleteReviews ? true : options.keepReviews ? false : void 0;
|
|
4489
4490
|
if (deleteReviews === void 0 && !options.json && input.stdin?.isTTY) {
|
|
4490
4491
|
const prompt = createInterface$1({
|
|
@@ -4706,14 +4707,14 @@ async function runReviewCli(input) {
|
|
|
4706
4707
|
command.showHelpAfterError(false).error("Markdown review migration is no longer supported. Ask your agent to migrate your old Whiteboard reviews.");
|
|
4707
4708
|
});
|
|
4708
4709
|
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) => {
|
|
4709
|
-
const { runShareCli } = await import("./cli-
|
|
4710
|
+
const { runShareCli } = await import("./cli-qZomwJmK.js");
|
|
4710
4711
|
state.exitCode = await runShareCli({
|
|
4711
4712
|
...input,
|
|
4712
4713
|
...options,
|
|
4713
4714
|
env: authoringEnv()
|
|
4714
4715
|
});
|
|
4715
4716
|
}).command("revoke <share-id>").description("Revoke future downloads of a share"), "plain").action(async (shareId, options) => {
|
|
4716
|
-
const { runShareCli } = await import("./cli-
|
|
4717
|
+
const { runShareCli } = await import("./cli-qZomwJmK.js");
|
|
4717
4718
|
state.exitCode = await runShareCli({
|
|
4718
4719
|
...input,
|
|
4719
4720
|
...options,
|
|
@@ -4794,7 +4795,7 @@ async function runReviewCli(input) {
|
|
|
4794
4795
|
return commands;
|
|
4795
4796
|
} });
|
|
4796
4797
|
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) => {
|
|
4797
|
-
const { runReviewAgentCli } = await import("./agent-cli-
|
|
4798
|
+
const { runReviewAgentCli } = await import("./agent-cli-B388TP61.js");
|
|
4798
4799
|
state.exitCode = await runReviewAgentCli({
|
|
4799
4800
|
...input,
|
|
4800
4801
|
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-DYHVzX3b.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-BTIv01OF.js");
|
|
21
21
|
return runReviewCli({
|
|
22
22
|
argv,
|
|
23
23
|
cliPaths: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { f as gitAt } from "./src-
|
|
1
|
+
import { f as gitAt } from "./src-X9ZebeOD.js";
|
|
2
2
|
import { n as isJsonObject, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
3
|
-
import "./src-
|
|
4
|
-
import { f as sourceAnchors } from "./lens-selection-
|
|
5
|
-
import {
|
|
3
|
+
import "./src-DYHVzX3b.js";
|
|
4
|
+
import { f as sourceAnchors } from "./lens-selection-9byzEgvU.js";
|
|
5
|
+
import { B as resourceReferences, D as boardRepositoryId, I as pinsSchema, J as checkReferences, K as sourceReferences, R as readsAtBoardPins, S as anchorPins, b as textIncludesQuote, c as traceSchema, et as lensSchema, j as elements, k as documentSchema, lt as parseMarkdown, n as migrateStoredDocument, r as migrateStoredLenses, s as softwareModelDataSchema, st as markdownNodes, t as liftFileLenses, tt as lensSelections, u as pullRequestUrl, z as resourceReference } from "./stored-document-migration-DEt8iwem.js";
|
|
6
6
|
import { t as ReviewInputError } from "./input-error-OLgB_h31.js";
|
|
7
7
|
import { createHash, randomUUID } from "node:crypto";
|
|
8
8
|
import { z } from "zod";
|
|
@@ -483,9 +483,11 @@ const sharedSnapshotSchema = z.strictObject({
|
|
|
483
483
|
origin: z.strictObject({
|
|
484
484
|
branch: z.string().optional(),
|
|
485
485
|
baseRef: z.string().optional(),
|
|
486
|
+
baseBranch: z.string().optional(),
|
|
486
487
|
pullRequestNumber: z.number().int().positive().optional(),
|
|
487
|
-
pullRequestUrl:
|
|
488
|
+
pullRequestUrl: pullRequestUrl.optional(),
|
|
488
489
|
pullRequestTitle: z.string().optional(),
|
|
490
|
+
pullRequestBaseBranch: z.string().optional(),
|
|
489
491
|
revision: z.string().optional()
|
|
490
492
|
}).optional()
|
|
491
493
|
});
|
|
@@ -494,11 +496,9 @@ const counts = z.strictObject({
|
|
|
494
496
|
additions: count,
|
|
495
497
|
deletions: count
|
|
496
498
|
});
|
|
497
|
-
const mapSchema =
|
|
499
|
+
const mapSchema = softwareModelDataSchema.extend({
|
|
498
500
|
commit: z.string().regex(COMMIT_ID),
|
|
499
501
|
side: z.enum(["base", "head"]),
|
|
500
|
-
elements: z.array(normalizedSoftwareElementSchema),
|
|
501
|
-
relationships: z.array(normalizedSoftwareRelationshipSchema),
|
|
502
502
|
countsByElementPath: z.record(z.string(), counts),
|
|
503
503
|
unmappedByElementPath: z.record(z.string(), counts.extend({ files: z.array(counts.extend({
|
|
504
504
|
file: z.string(),
|
|
@@ -1139,7 +1139,11 @@ var ShareClient = class {
|
|
|
1139
1139
|
if (!response.ok && response.status !== 412) throw new Error(`Object upload failed (${response.status}).`);
|
|
1140
1140
|
}
|
|
1141
1141
|
async create(bundle, requestId = randomUUID(), beforeUpload) {
|
|
1142
|
-
|
|
1142
|
+
try {
|
|
1143
|
+
validateShareBundle(bundle);
|
|
1144
|
+
} catch (cause) {
|
|
1145
|
+
throw new SharePreflightError(new Error("Whiteboard could not prepare this review for sharing. Please report this issue.", { cause }));
|
|
1146
|
+
}
|
|
1143
1147
|
const manifestBytes = Buffer.from(JSON.stringify(bundle.manifest));
|
|
1144
1148
|
const created = createdSchema.parse(await this.api("/api/shares", "POST", {
|
|
1145
1149
|
requestId,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import "./
|
|
1
|
+
import "./src-Z1x4-Qmb.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-CO97FUqK.js";
|
|
4
|
+
import { t as ASK_THREAD_ENV } from "./request-origin-CNSLVn7x.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";
|
|
8
8
|
import path from "node:path";
|
|
9
|
+
import { Readable, Writable } from "node:stream";
|
|
9
10
|
import { homedir } from "node:os";
|
|
10
11
|
import { execFile, spawn } from "node:child_process";
|
|
11
12
|
import { promisify } from "node:util";
|
|
12
|
-
import { Readable, Writable } from "node:stream";
|
|
13
13
|
import { ndJsonStream } from "@agentclientprotocol/sdk";
|
|
14
14
|
import fuzzysort from "fuzzysort";
|
|
15
15
|
//#region src/ask/pi-mcp.ts
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as withHeadlessServerLock, n as runHeadlessServer, r as takeOverServerHome, t as HeadlessServerBusyError } from "./headless-host-
|
|
1
|
+
import { i as withHeadlessServerLock, n as runHeadlessServer, r as takeOverServerHome, t as HeadlessServerBusyError } from "./headless-host-Sg_3jomq.js";
|
|
2
2
|
export { HeadlessServerBusyError, runHeadlessServer, takeOverServerHome, withHeadlessServerLock };
|