@dev.fast/whiteboard 0.2.3 → 0.2.4-preview.20261009.108
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-DLE9XZhi.js → account-alias-_1_7vROx.js} +1 -1
- package/dist/agent-cli-BJ_SxT1P.js +2 -0
- package/dist/{agent-cli-DRRQfHQ-.js → agent-cli-BYMMEOlO.js} +6 -6
- package/dist/{agent-client-DoaODH6I.js → agent-client-B_b1GtUc.js} +2 -2
- package/dist/{authoring-tools-F_q8cC7J.js → authoring-tools-CUJ_56bd.js} +2 -2
- package/dist/build-info.json +1 -1
- package/dist/{cli-DtolttUF.js → cli-gRGxkwc0.js} +1 -1
- package/dist/{cli-runner-Cwg5PeH2.js → cli-runner-CyBLX8Oj.js} +11 -11
- package/dist/cli.js +2 -2
- package/dist/{client-D01H2KOV.js → client-BFClfQLO.js} +2 -2
- package/dist/{desktop-discovery-DK2HoBy5.js → desktop-discovery-C-Qz54wO.js} +1 -1
- package/dist/{headless-host-Dd_-zkC4.js → headless-host-wMPUx0Aj.js} +2 -2
- package/dist/{local-data-D-EoJfPx.js → local-data-BfAaQmqC.js} +5 -5
- package/dist/{mcp-BAE5rMgB.js → mcp-BWp_kC0V.js} +3 -3
- package/dist/{process-error-telemetry-mzRG988B.js → process-error-telemetry-WjZ2FTnX.js} +12 -9
- package/dist/{profile-WzZu7Spt.js → profile-CviK33_F.js} +1 -1
- package/dist/profile-YLwWPRQp.js +2 -0
- package/dist/{request-origin-DlHTFCrQ.js → request-origin-DA4K1qWY.js} +1 -1
- package/dist/{review-telemetry-Pp4ZsVrh.js → review-telemetry-DBy3eVCo.js} +2 -2
- package/dist/server/desktop-host.js +10 -10
- package/dist/sharing/index.d.ts +3 -1
- package/dist/sharing/index.js +1 -1
- package/dist/{src-DHiDJQDy.js → src-WCbabvdS.js} +3 -2
- package/dist/{stored-document-migration-T9Uj5MkN.js → stored-document-migration-BxZWQQjv.js} +1 -1
- package/dist/{tool-failure-Djeeax6q.js → tool-failure-DJmTieh5.js} +1 -1
- package/package.json +6 -6
- package/src/review-api/comparison-coverage.ts +6 -1
- package/src/review-api/http.ts +11 -0
- package/src/server/diffr-config.ts +1 -1
- package/src/server/structural-diff.ts +3 -2
- package/dist/agent-cli-50KJgMKi.js +0 -2
- package/dist/profile-Cqztt-9-.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h as ReviewCliInstallStampSchema } from "./src-
|
|
1
|
+
import { h as ReviewCliInstallStampSchema } from "./src-WCbabvdS.js";
|
|
2
2
|
import { G as readStoreAuth, Z as StoreClient } from "./review-agent-traces-DNJFYzc8.js";
|
|
3
3
|
import { A as devReviewHome, N as writeFileAtomicAsync, O as withFileLock, P as writePrivateJsonAtomic } from "./s3-config-CAxhO9u_.js";
|
|
4
4
|
import { B as installHarnessHooks, C as disableTraceMachine, E as traceMachineStatus, F as listTraceRepositoryRoots, G as traceScope, I as traceRepositoryStatus, N as disableAllTraceRepositories, P as enableTraceRepository, R as AGENT_TRACE_HOOK_AGENTS, S as configureTraceMachine, T as traceMachineEnabled, V as removeAgentTraceHook, n as reviewDesktopStateDir, z as describeTraceHookOwners } from "./review-home-paths-6zZH-1c9.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { n as isJsonObject, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
2
|
-
import { a as toolResultText, i as connectReviewInstance, s as ReviewApiError } from "./agent-client-
|
|
2
|
+
import { a as toolResultText, i as connectReviewInstance, s as ReviewApiError } from "./agent-client-B_b1GtUc.js";
|
|
3
3
|
import { A as devReviewHome } from "./s3-config-CAxhO9u_.js";
|
|
4
4
|
import { T as traceMachineEnabled } from "./review-home-paths-6zZH-1c9.js";
|
|
5
|
-
import { d as selectReviewInstance, t as REVIEW_INSTANCE_ENV } from "./desktop-discovery-
|
|
6
|
-
import { n as reviewSessionAgent } from "./review-telemetry-
|
|
7
|
-
import { n as REVIEW_VIA_HEADER, t as REVIEW_AGENT_HEADER } from "./request-origin-
|
|
8
|
-
import { i as publicTool, n as RECOVERY, r as callPublicTool, t as toolFailure } from "./tool-failure-
|
|
5
|
+
import { d as selectReviewInstance, t as REVIEW_INSTANCE_ENV } from "./desktop-discovery-C-Qz54wO.js";
|
|
6
|
+
import { n as reviewSessionAgent } from "./review-telemetry-DBy3eVCo.js";
|
|
7
|
+
import { n as REVIEW_VIA_HEADER, t as REVIEW_AGENT_HEADER } from "./request-origin-DA4K1qWY.js";
|
|
8
|
+
import { i as publicTool, n as RECOVERY, r as callPublicTool, t as toolFailure } from "./tool-failure-DJmTieh5.js";
|
|
9
9
|
//#region src/review-api/agent-cli.ts
|
|
10
10
|
const reviewAgentCliHelp = "whiteboard api tools (one line per tool)\nwhiteboard api tools <tool-name> (its description and input schema)\nwhiteboard api <tool-name> '<json>'\nwhiteboard api <tool-name> - (read JSON from stdin)\nwhiteboard mcp (stdio MCP adapter; Whiteboard Desktop or whiteboard server start must be running)\nSelect headless state with DEV_REVIEW_SERVER_DIR or whiteboard --state-dir <path> api/mcp.\n";
|
|
11
11
|
async function runReviewAgentCli(input) {
|
|
@@ -23,7 +23,7 @@ async function runReviewAgentCli(input) {
|
|
|
23
23
|
[REVIEW_AGENT_HEADER]: reviewSessionAgent(env)
|
|
24
24
|
};
|
|
25
25
|
if (mode === "mcp") {
|
|
26
|
-
const { serveReviewMcp } = await import("./mcp-
|
|
26
|
+
const { serveReviewMcp } = await import("./mcp-BWp_kC0V.js");
|
|
27
27
|
await serveReviewMcp(async (key, agentKind) => {
|
|
28
28
|
const connected = await connectReviewInstance(key ? {
|
|
29
29
|
...env,
|
|
@@ -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-WCbabvdS.js";
|
|
3
3
|
import { t as ReviewInputError } from "./input-error-OLgB_h31.js";
|
|
4
|
-
import { d as selectReviewInstance, i as healthyReviewInstance, n as ReviewInstanceUnavailableError, u as reviewInstanceUnavailable } from "./desktop-discovery-
|
|
4
|
+
import { d as selectReviewInstance, i as healthyReviewInstance, n as ReviewInstanceUnavailableError, u as reviewInstanceUnavailable } from "./desktop-discovery-C-Qz54wO.js";
|
|
5
5
|
import { a as reviewServerIsHealthy, n as readReviewServerDiscovery, o as reviewServerStateDir, s as serverNotReady } from "./server-discovery-Dbzn3w6Z.js";
|
|
6
6
|
//#region ../review-protocol/src/review-api-client.ts
|
|
7
7
|
const defaultRequest = (url, init) => fetch(url, init);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { g as activityUpdateSchema, h as activityEndSchema, i as commandSchema, m as activityBeginSchema, n as uploadSchema } from "./local-data-
|
|
2
|
-
import { x as publishedEditSchema, y as pathTargetSchema } from "./stored-document-migration-
|
|
1
|
+
import { g as activityUpdateSchema, h as activityEndSchema, i as commandSchema, m as activityBeginSchema, n as uploadSchema } from "./local-data-BfAaQmqC.js";
|
|
2
|
+
import { x as publishedEditSchema, y as pathTargetSchema } from "./stored-document-migration-BxZWQQjv.js";
|
|
3
3
|
import { t as ReviewInputError } from "./input-error-OLgB_h31.js";
|
|
4
4
|
import { t as findReviewPackageRoot } from "./package-paths-B6-zxvIO.js";
|
|
5
5
|
import { z } from "zod";
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.2.
|
|
1
|
+
{"version":"0.2.4-preview.20261009.108","commit":"449d5ddd42bb5bd075544be06a5dd3ff5826ab52","dirty":true,"builtAt":"2026-10-09T02:49:52.008Z"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { C as __commonJSMin, S as setLocalVcsCommandObserver, T as __toESM, w as __require } from "./src-CmdiBL20.js";
|
|
2
2
|
import { c as jsonString, n as isJsonObject, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
3
|
-
import { a as parseReviewVerbResponse } from "./src-
|
|
3
|
+
import { a as parseReviewVerbResponse } from "./src-WCbabvdS.js";
|
|
4
4
|
import { $ as emitJsonEvent, G as readStoreAuth, H as DEFAULT_STORE_ORIGIN, J as runStoreLogout, N as requireTraceConsent, P as resolveTraceRepositoryTarget, Q as withStoreAuthorization, V as readTraceUserConfig, X as StoreApiError, Y as runStoreWhoami, Z as StoreClient, b as selectTraceStorage, et as failWithJsonError, g as describeSelection, nt as jsonRequestedInArgv, q as runStoreLogin, tt as humanStream, v as loadS3TraceStorage } from "./review-agent-traces-DNJFYzc8.js";
|
|
5
|
-
import { o as ReviewApiClient, s as ReviewApiError } from "./agent-client-
|
|
5
|
+
import { o as ReviewApiClient, s as ReviewApiError } from "./agent-client-B_b1GtUc.js";
|
|
6
6
|
import { t as resolveReviewRoot } from "./runtime-CKiWhGrf.js";
|
|
7
7
|
import { A as devReviewHome, C as s3ProfileSchema, D as processIsAlive, E as writeTraceConfigFile, S as readTraceConfigFile, T as sameS3Profile, _ as emptyTraceConfig, c as resolveS3Setup, g as currentStore, h as TraceConfigurationError, i as isS3MockMode, j as normalizeStoreOrigin, k as DEV_REVIEW_HOME_ENV, n as clearTraceEnvCache, o as readTraceEnvFile, p as traceSettingsPath, w as s3Store } from "./s3-config-CAxhO9u_.js";
|
|
8
8
|
import { t as errorMessage } from "./error-message-OtiDonty.js";
|
|
9
9
|
import { A as runTraceSessions, D as runTraceAllow, E as traceMachineStatus, G as traceScope, H as resolveTraceCommand, I as traceRepositoryStatus, L as HOSTED_CAPTURE_SCOPE_DESCRIPTION, M as runTraceStoreInfo, O as runTraceDeny, T as traceMachineEnabled, W as traceHomeDir, _ as runTraceRepair, b as runTraceGitHook, c as registerTraceCommands, d as runTraceList$1, f as runTracePull$1, g as runTraceInstallMachine, h as runTraceEnable, j as runTraceStoreDelete, k as runTraceOnboard, l as resolveTraceReadStorage, m as runTraceDisable, p as runTraceShow, u as runTraceBlame, v as runTraceStatus, w as readLegacyCaptureSettings, x as runTraceHook, y as runTraceSync } from "./review-home-paths-6zZH-1c9.js";
|
|
10
10
|
import { i as readReviewPackageVersion, r as readBuildInfo, t as findReviewPackageRoot } from "./package-paths-B6-zxvIO.js";
|
|
11
|
-
import { a as readDefaultReviewInstance, d as selectReviewInstance, f as writeDefaultReviewInstance, i as healthyReviewInstance, l as reviewInstanceStartHint, n as ReviewInstanceUnavailableError, o as readReviewInstances, r as clearDefaultReviewInstance, s as requireHealthyReviewDesktop, t as REVIEW_INSTANCE_ENV, u as reviewInstanceUnavailable } from "./desktop-discovery-
|
|
12
|
-
import { t as ReviewTelemetry } from "./review-telemetry-
|
|
13
|
-
import { a as isOwnedShim, f as windowsInstallerCommand, m as connectPrompts, o as pathShimPath, p as scanLegacySkills, t as aliasInstallationToAccount } from "./account-alias-
|
|
11
|
+
import { a as readDefaultReviewInstance, d as selectReviewInstance, f as writeDefaultReviewInstance, i as healthyReviewInstance, l as reviewInstanceStartHint, n as ReviewInstanceUnavailableError, o as readReviewInstances, r as clearDefaultReviewInstance, s as requireHealthyReviewDesktop, t as REVIEW_INSTANCE_ENV, u as reviewInstanceUnavailable } from "./desktop-discovery-C-Qz54wO.js";
|
|
12
|
+
import { t as ReviewTelemetry } from "./review-telemetry-DBy3eVCo.js";
|
|
13
|
+
import { a as isOwnedShim, f as windowsInstallerCommand, m as connectPrompts, o as pathShimPath, p as scanLegacySkills, t as aliasInstallationToAccount } from "./account-alias-_1_7vROx.js";
|
|
14
14
|
import { t as fuzzyRank } from "./fuzzy-match-BoAmcyak.js";
|
|
15
15
|
import { n as readReviewServerDiscovery, o as reviewServerStateDir, r as readReviewServerHealth, s as serverNotReady } from "./server-discovery-Dbzn3w6Z.js";
|
|
16
|
-
import { t as reviewAgentCliHelp } from "./agent-cli-
|
|
16
|
+
import { t as reviewAgentCliHelp } from "./agent-cli-BYMMEOlO.js";
|
|
17
17
|
import { closeSync, existsSync, fstatSync, mkdirSync, mkdtempSync, openSync, readSync, renameSync, writeFileSync } from "node:fs";
|
|
18
18
|
import { realpath } from "node:fs/promises";
|
|
19
19
|
import path from "node:path";
|
|
@@ -4495,7 +4495,7 @@ async function runReviewCli(input) {
|
|
|
4495
4495
|
process.once("SIGINT", stop);
|
|
4496
4496
|
process.once("SIGTERM", stop);
|
|
4497
4497
|
try {
|
|
4498
|
-
const { runHeadlessServer } = await import("./headless-host-
|
|
4498
|
+
const { runHeadlessServer } = await import("./headless-host-wMPUx0Aj.js");
|
|
4499
4499
|
await runHeadlessServer({
|
|
4500
4500
|
stateDir,
|
|
4501
4501
|
port,
|
|
@@ -4546,7 +4546,7 @@ async function runReviewCli(input) {
|
|
|
4546
4546
|
if (problem) throw new Error(`Cannot tell whether a Whiteboard Desktop is using ${stateDir}: ${problem.message}`);
|
|
4547
4547
|
const inUse = () => /* @__PURE__ */ new Error(`A Whiteboard server is using ${stateDir}. Stop it first, then run whiteboard server reset-id again.`);
|
|
4548
4548
|
if (desktops.instances.some(({ discovery }) => [discovery.appPid, discovery.serverPid].some((pid) => processIsAlive(pid)))) throw inUse();
|
|
4549
|
-
const [{ openReviewProfile }, { withHeadlessServerLock }] = await Promise.all([import("./profile-
|
|
4549
|
+
const [{ openReviewProfile }, { withHeadlessServerLock }] = await Promise.all([import("./profile-YLwWPRQp.js"), import("./headless-host-wMPUx0Aj.js")]);
|
|
4550
4550
|
const reset = await withHeadlessServerLock(await realpath(stateDir), async () => {
|
|
4551
4551
|
const local = await openReviewProfile(stateDir, { manageWorkspaces: false });
|
|
4552
4552
|
try {
|
|
@@ -4686,14 +4686,14 @@ async function runReviewCli(input) {
|
|
|
4686
4686
|
command.showHelpAfterError(false).error("Markdown review migration is no longer supported. Ask your agent to migrate your old Whiteboard reviews.");
|
|
4687
4687
|
});
|
|
4688
4688
|
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) => {
|
|
4689
|
-
const { runShareCli } = await import("./cli-
|
|
4689
|
+
const { runShareCli } = await import("./cli-gRGxkwc0.js");
|
|
4690
4690
|
state.exitCode = await runShareCli({
|
|
4691
4691
|
...input,
|
|
4692
4692
|
...options,
|
|
4693
4693
|
env: authoringEnv()
|
|
4694
4694
|
});
|
|
4695
4695
|
}).command("revoke <share-id>").description("Revoke future downloads of a share"), "plain").action(async (shareId, options) => {
|
|
4696
|
-
const { runShareCli } = await import("./cli-
|
|
4696
|
+
const { runShareCli } = await import("./cli-gRGxkwc0.js");
|
|
4697
4697
|
state.exitCode = await runShareCli({
|
|
4698
4698
|
...input,
|
|
4699
4699
|
...options,
|
|
@@ -4774,7 +4774,7 @@ async function runReviewCli(input) {
|
|
|
4774
4774
|
return commands;
|
|
4775
4775
|
} });
|
|
4776
4776
|
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) => {
|
|
4777
|
-
const { runReviewAgentCli } = await import("./agent-cli-
|
|
4777
|
+
const { runReviewAgentCli } = await import("./agent-cli-BJ_SxT1P.js");
|
|
4778
4778
|
state.exitCode = await runReviewAgentCli({
|
|
4779
4779
|
...input,
|
|
4780
4780
|
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-WCbabvdS.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-CyBLX8Oj.js");
|
|
21
21
|
return runReviewCli({
|
|
22
22
|
argv,
|
|
23
23
|
cliPaths: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { d as gitAt } from "./src-CmdiBL20.js";
|
|
2
2
|
import { n as isJsonObject, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
3
|
-
import "./src-
|
|
4
|
-
import { B as parseMarkdown, C as resourceReferences, E as sourceReferences, K as sourceAnchors, M as lensSchema, N as lensSelections, O as checkReferences, S as resourceReference, _ as hasCodeReferences, b as pinsSchema, c as traceSchema, h as elements, l as textIncludesQuote, n as migrateStoredDocument, o as normalizedSoftwareElementSchema, p as documentSchema, r as migrateStoredLenses, s as normalizedSoftwareRelationshipSchema, t as liftFileLenses, u as anchorPins, z as markdownNodes } from "./stored-document-migration-
|
|
3
|
+
import "./src-WCbabvdS.js";
|
|
4
|
+
import { B as parseMarkdown, C as resourceReferences, E as sourceReferences, K as sourceAnchors, M as lensSchema, N as lensSelections, O as checkReferences, S as resourceReference, _ as hasCodeReferences, b as pinsSchema, c as traceSchema, h as elements, l as textIncludesQuote, n as migrateStoredDocument, o as normalizedSoftwareElementSchema, p as documentSchema, r as migrateStoredLenses, s as normalizedSoftwareRelationshipSchema, t as liftFileLenses, u as anchorPins, z as markdownNodes } from "./stored-document-migration-BxZWQQjv.js";
|
|
5
5
|
import { t as ReviewInputError } from "./input-error-OLgB_h31.js";
|
|
6
6
|
import { createHash, randomUUID } from "node:crypto";
|
|
7
7
|
import { z } from "zod";
|
|
@@ -1,5 +1,5 @@
|
|
|
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-
|
|
2
|
+
import { n as parseReviewDesktopDiscovery } from "./src-WCbabvdS.js";
|
|
3
3
|
import { a as reviewInstancesDir, o as reviewLegacyDiscoveryPath, r as reviewDevInstanceKey, t as reviewDefaultInstancePath } from "./review-home-paths-6zZH-1c9.js";
|
|
4
4
|
import { mkdir, readFile, readdir, rm, writeFile } from "node:fs/promises";
|
|
5
5
|
import path from "node:path";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { p as isObjectValue } from "./src-X9phtB2j.js";
|
|
2
2
|
import { O as withFileLock, P as writePrivateJsonAtomic } from "./s3-config-CAxhO9u_.js";
|
|
3
3
|
import "./review-home-paths-6zZH-1c9.js";
|
|
4
|
-
import { t as openReviewProfile } from "./profile-
|
|
5
|
-
import { i as createWhiteboardCore, l as createNodeRequestListener, m as migrateDiffrConfig, n as installProcessErrorTelemetry, p as GlobalReviewDesktopVerbRelay, t as drainServerCrashReport } from "./process-error-telemetry-
|
|
4
|
+
import { t as openReviewProfile } from "./profile-CviK33_F.js";
|
|
5
|
+
import { i as createWhiteboardCore, l as createNodeRequestListener, m as migrateDiffrConfig, n as installProcessErrorTelemetry, p as GlobalReviewDesktopVerbRelay, t as drainServerCrashReport } from "./process-error-telemetry-WjZ2FTnX.js";
|
|
6
6
|
import { i as reviewServerDiscoveryPath, t as headlessServerLockPath } from "./server-discovery-Dbzn3w6Z.js";
|
|
7
7
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
8
8
|
import { mkdir, realpath, rm } from "node:fs/promises";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as readFileAtCommit, b as resolveRevision, c as diffTrees, f as gitCommonDir, g as parseGitRemote, h as listTrackedFilesAtCommit, i as diff, l as diffWorkingTree, m as listCommitRange, n as createBlobBatchReader, o as diffFileSummariesTrees, p as jjRevisionIsConflicted, r as detectLocalVcs, s as diffFileSummariesWorkingTree, t as LocalVcsToolsMissingError, u as git, v as resolveRepoContext, y as resolveRepoContextSync } from "./src-CmdiBL20.js";
|
|
2
2
|
import { c as jsonString, o as jsonObject, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
3
|
-
import { _ as SCRATCHPAD_REVIEW_ID, b as structuralChangeCounts, g as ReviewSelectedDiffSchema, m as ReviewApiSelectionSourceSchema, y as decodeStructuralDiffEvent } from "./src-
|
|
4
|
-
import { $ as unionIntervals, A as applyLensEdit, C as resourceReferences, D as summarizeEdit, E as sourceReferences, F as checkSourcePath, I as fileLineRangeSchema, K as sourceAnchors, L as requireVisibleSource, N as lensSelections, O as checkReferences, P as SourceRangeError, Q as subtractIntervals, R as sliceSourceRange, S as resourceReference, X as intersectIntervals, Y as emptyCoverage, a as defineSoftwareMap, b as pinsSchema, c as traceSchema, d as applyEdit, et as updateCoverage, f as assignFreshIds, g as explicitPins, h as elements, i as SoftwareModelValidationError, j as lensEditSchema, l as textIncludesQuote, m as editSchema, n as migrateStoredDocument, p as documentSchema, q as coverageSchema, r as migrateStoredLenses, t as liftFileLenses, u as anchorPins, v as isUnit, w as reviewTargetSchema } from "./stored-document-migration-
|
|
3
|
+
import { _ as SCRATCHPAD_REVIEW_ID, b as structuralChangeCounts, g as ReviewSelectedDiffSchema, m as ReviewApiSelectionSourceSchema, y as decodeStructuralDiffEvent } from "./src-WCbabvdS.js";
|
|
4
|
+
import { $ as unionIntervals, A as applyLensEdit, C as resourceReferences, D as summarizeEdit, E as sourceReferences, F as checkSourcePath, I as fileLineRangeSchema, K as sourceAnchors, L as requireVisibleSource, N as lensSelections, O as checkReferences, P as SourceRangeError, Q as subtractIntervals, R as sliceSourceRange, S as resourceReference, X as intersectIntervals, Y as emptyCoverage, a as defineSoftwareMap, b as pinsSchema, c as traceSchema, d as applyEdit, et as updateCoverage, f as assignFreshIds, g as explicitPins, h as elements, i as SoftwareModelValidationError, j as lensEditSchema, l as textIncludesQuote, m as editSchema, n as migrateStoredDocument, p as documentSchema, q as coverageSchema, r as migrateStoredLenses, t as liftFileLenses, u as anchorPins, v as isUnit, w as reviewTargetSchema } from "./stored-document-migration-BxZWQQjv.js";
|
|
5
5
|
import { t as ReviewInputError } from "./input-error-OLgB_h31.js";
|
|
6
6
|
import { D as processIsAlive, O as withFileLock, P as writePrivateJsonAtomic } from "./s3-config-CAxhO9u_.js";
|
|
7
7
|
import { t as errorMessage } from "./error-message-OtiDonty.js";
|
|
@@ -18,7 +18,7 @@ import { execFile, spawn } from "node:child_process";
|
|
|
18
18
|
import { promisify } from "node:util";
|
|
19
19
|
import { DatabaseSync } from "node:sqlite";
|
|
20
20
|
import { createInterface } from "node:readline";
|
|
21
|
-
//#region ../../
|
|
21
|
+
//#region ../../diffr/diffr-ts/dist/binary.js
|
|
22
22
|
/** The diffr executable from the installed platform package, if npm installed one for this machine. */
|
|
23
23
|
function diffrBinaryPath() {
|
|
24
24
|
const name = process.platform === "win32" ? "diffr.exe" : "diffr";
|
|
@@ -462,7 +462,7 @@ async function* structuralDiff(input) {
|
|
|
462
462
|
try {
|
|
463
463
|
for await (const line of lines) {
|
|
464
464
|
idle.refresh();
|
|
465
|
-
if (Buffer.byteLength(line) >
|
|
465
|
+
if (Buffer.byteLength(line) > 100663296) throw new Error("Structural diff record exceeded 96 MiB.");
|
|
466
466
|
if (!line.trim()) continue;
|
|
467
467
|
const event = decodeStructuralDiffEvent(line);
|
|
468
468
|
if (completed) throw new Error("diffr emitted data after completion.");
|
|
@@ -1024,7 +1024,7 @@ async function comparisonCoverage(data, reviewId, pins, mode, signal, publish) {
|
|
|
1024
1024
|
const path = (event.file.rhs ?? event.file.lhs).path;
|
|
1025
1025
|
if (!remaining.delete(path)) throw new Error(`Unexpected structural result: ${path}`);
|
|
1026
1026
|
if (event.error) {
|
|
1027
|
-
if (event.error.code !== "unsupported_file_type") throw new Error(`Cannot count ${path}: ${event.error.message}`);
|
|
1027
|
+
if (event.error.code !== "unsupported_file_type" && event.error.code !== "not_utf8") throw new Error(`Cannot count ${path}: ${event.error.message}`);
|
|
1028
1028
|
if (!remaining.size) break;
|
|
1029
1029
|
continue;
|
|
1030
1030
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as toolResultText, s as ReviewApiError } from "./agent-client-
|
|
1
|
+
import { a as toolResultText, s as ReviewApiError } from "./agent-client-B_b1GtUc.js";
|
|
2
2
|
import { t as ReviewInputError } from "./input-error-OLgB_h31.js";
|
|
3
|
-
import { n as REVIEW_STATUS_TOOL, t as authoringTools } from "./authoring-tools-
|
|
4
|
-
import { i as publicTool, n as RECOVERY, r as callPublicTool, t as toolFailure } from "./tool-failure-
|
|
3
|
+
import { n as REVIEW_STATUS_TOOL, t as authoringTools } from "./authoring-tools-CUJ_56bd.js";
|
|
4
|
+
import { i as publicTool, n as RECOVERY, r as callPublicTool, t as toolFailure } from "./tool-failure-DJmTieh5.js";
|
|
5
5
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
6
6
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
7
7
|
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { c as jsonString, m as isStringValue, n as isJsonObject, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
2
|
-
import { a as sharedReviewId, c as verifyShareRepository, d as StreamLimitError, f as readBoundedStream, l as exportShare, m as shareIdSchema, n as ShareClient, p as parseShareLink, r as SharePreflightError, s as readShareRepository, t as ShareAuthError, u as validateShareSources } from "./client-
|
|
3
|
-
import { _ as invalidateStructuralComparisons, a as inspectSnapshot, c as askAgentIds, d as askQuestionSchema, f as AgentSelectionSchema, i as commandSchema, l as askChoiceKinds, p as selectionMarkdown, r as SCRATCHPAD_ID, s as applyAskChange, u as askPicksSchema, v as diffrExecutable, y as diffrMissingError } from "./local-data-
|
|
4
|
-
import { d as REVIEW_CLIENT_REMOTE, i as parseReviewVerbRequest, r as parseReviewDesktopVerbResult, u as REVIEW_CLIENT_HEADER, v as reviewDiffrSummarizerInputSchema, y as decodeStructuralDiffEvent } from "./src-
|
|
2
|
+
import { a as sharedReviewId, c as verifyShareRepository, d as StreamLimitError, f as readBoundedStream, l as exportShare, m as shareIdSchema, n as ShareClient, p as parseShareLink, r as SharePreflightError, s as readShareRepository, t as ShareAuthError, u as validateShareSources } from "./client-BFClfQLO.js";
|
|
3
|
+
import { _ as invalidateStructuralComparisons, a as inspectSnapshot, c as askAgentIds, d as askQuestionSchema, f as AgentSelectionSchema, i as commandSchema, l as askChoiceKinds, p as selectionMarkdown, r as SCRATCHPAD_ID, s as applyAskChange, u as askPicksSchema, v as diffrExecutable, y as diffrMissingError } from "./local-data-BfAaQmqC.js";
|
|
4
|
+
import { d as REVIEW_CLIENT_REMOTE, i as parseReviewVerbRequest, r as parseReviewDesktopVerbResult, u as REVIEW_CLIENT_HEADER, v as reviewDiffrSummarizerInputSchema, y as decodeStructuralDiffEvent } from "./src-WCbabvdS.js";
|
|
5
5
|
import { C as TraceStorageDeniedError, G as readStoreAuth, H as DEFAULT_STORE_ORIGIN, U as clearStoreAuth, W as openUrlInBrowser, _ as isTraceStorageConfigured, b as selectTraceStorage, o as listReviewTraceSessions, q as runStoreLogin, s as loadReviewAgentTrace, y as resolveTraceStorage } from "./review-agent-traces-DNJFYzc8.js";
|
|
6
|
-
import { $ as unionIntervals, G as selectionKey, H as comparisonKey, I as fileLineRangeSchema, J as coverageSources, N as lensSelections, Q as subtractIntervals, T as selectionReferences, U as formatAnchor, V as anchorSelection, W as resolveDiffSelection, Y as emptyCoverage, Z as scopedCoverage, h as elements, k as UNCATEGORIZED_LENS_ID, u as anchorPins } from "./stored-document-migration-
|
|
6
|
+
import { $ as unionIntervals, G as selectionKey, H as comparisonKey, I as fileLineRangeSchema, J as coverageSources, N as lensSelections, Q as subtractIntervals, T as selectionReferences, U as formatAnchor, V as anchorSelection, W as resolveDiffSelection, Y as emptyCoverage, Z as scopedCoverage, h as elements, k as UNCATEGORIZED_LENS_ID, u as anchorPins } from "./stored-document-migration-BxZWQQjv.js";
|
|
7
7
|
import { t as ReviewInputError } from "./input-error-OLgB_h31.js";
|
|
8
8
|
import { A as devReviewHome, h as TraceConfigurationError, i as isS3MockMode } from "./s3-config-CAxhO9u_.js";
|
|
9
9
|
import { t as errorMessage } from "./error-message-OtiDonty.js";
|
|
10
10
|
import { T as traceMachineEnabled } from "./review-home-paths-6zZH-1c9.js";
|
|
11
11
|
import { i as readReviewPackageVersion, n as readBuildCommit } from "./package-paths-B6-zxvIO.js";
|
|
12
|
-
import { a as REVIEW_APP_SESSION_ID_HEADER, c as sanitizeUiTelemetryEvent, i as BUNDLE_FRAME_PATTERN, l as cleanTelemetryText, r as reviewRequestOrigin, s as isReportableCleanedMessage } from "./request-origin-
|
|
13
|
-
import { a as scratchpadAvailable, c as readQuerySchemas, i as renderInstructions, o as inspectQuerySchema, r as instructionsQuerySchema, s as queryAnchor, t as authoringTools } from "./authoring-tools-
|
|
12
|
+
import { a as REVIEW_APP_SESSION_ID_HEADER, c as sanitizeUiTelemetryEvent, i as BUNDLE_FRAME_PATTERN, l as cleanTelemetryText, r as reviewRequestOrigin, s as isReportableCleanedMessage } from "./request-origin-DA4K1qWY.js";
|
|
13
|
+
import { a as scratchpadAvailable, c as readQuerySchemas, i as renderInstructions, o as inspectQuerySchema, r as instructionsQuerySchema, s as queryAnchor, t as authoringTools } from "./authoring-tools-CUJ_56bd.js";
|
|
14
14
|
import { t as fuzzyRank } from "./fuzzy-match-BoAmcyak.js";
|
|
15
15
|
import { createRequire } from "node:module";
|
|
16
16
|
import crypto$1, { createHash, randomUUID } from "node:crypto";
|
|
@@ -49,7 +49,7 @@ function diffrArgv(args) {
|
|
|
49
49
|
case "set": return [
|
|
50
50
|
"config",
|
|
51
51
|
"set",
|
|
52
|
-
"
|
|
52
|
+
"-",
|
|
53
53
|
"--json"
|
|
54
54
|
];
|
|
55
55
|
case "migrate": return [
|
|
@@ -3294,7 +3294,10 @@ function createReviewApi(store, data, open, shared, capabilities = () => ({
|
|
|
3294
3294
|
const input = progressUpdateSchema.parse(await readBoundedRequestJson(context.req.raw));
|
|
3295
3295
|
const id = context.req.param("id");
|
|
3296
3296
|
const snapshot = store.read(id);
|
|
3297
|
-
const
|
|
3297
|
+
const pins = snapshot.pins ? (await data.resolveSource(snapshot)).pins : void 0;
|
|
3298
|
+
const coverage = pins && data.coverageSnapshot(id, pins, input.mode);
|
|
3299
|
+
const partial = coverage && coverage.pending ? coverage.comparison : void 0;
|
|
3300
|
+
const progress = await reviewProgress(store, data, snapshot, context.req.raw.signal, input.mode, partial);
|
|
3298
3301
|
const files = input.files.map((update) => {
|
|
3299
3302
|
const file = progress.files.find((file) => file.path === update.path);
|
|
3300
3303
|
if (!file || file.fingerprint !== update.fingerprint) throw new ReviewInputError("This file changed. Reload before marking it viewed.", 409);
|
|
@@ -3306,7 +3309,7 @@ function createReviewApi(store, data, open, shared, capabilities = () => ({
|
|
|
3306
3309
|
});
|
|
3307
3310
|
if (store.read(id).version !== snapshot.version) throw new ReviewInputError("Review changed during this update. Try again.", 409);
|
|
3308
3311
|
store.updateViewedCoverage(id, files, input.viewed);
|
|
3309
|
-
return context.json(await reviewProgress(store, data, store.read(id, input.version), context.req.raw.signal, input.mode));
|
|
3312
|
+
return context.json(await reviewProgress(store, data, store.read(id, input.version), context.req.raw.signal, input.mode, partial));
|
|
3310
3313
|
});
|
|
3311
3314
|
app.get("/:id/lenses", async (context) => {
|
|
3312
3315
|
if (!data) throw new ReviewInputError("Source data is unavailable.", 409);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as initializeReviewStoreSchema, t as openLocalReviewStore } from "./local-data-
|
|
1
|
+
import { o as initializeReviewStoreSchema, t as openLocalReviewStore } from "./local-data-BfAaQmqC.js";
|
|
2
2
|
import { O as withFileLock } from "./s3-config-CAxhO9u_.js";
|
|
3
3
|
import "./review-home-paths-6zZH-1c9.js";
|
|
4
4
|
import { access, mkdir } from "node:fs/promises";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as jsonNumber, c as jsonString, i as jsonBoolean, n as isJsonObject } from "./src-X9phtB2j.js";
|
|
2
|
-
import { f as REVIEW_DIFF_LAYOUTS, p as REVIEW_THEME_CHOICES } from "./src-
|
|
2
|
+
import { f as REVIEW_DIFF_LAYOUTS, p as REVIEW_THEME_CHOICES } from "./src-WCbabvdS.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/telemetry-clean-text.ts
|
|
5
5
|
const USER_DATA_REGEXES = [
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { c as jsonString, l as jsonValueSchema, o as jsonObject, u as parseJsonText } from "./src-X9phtB2j.js";
|
|
2
|
-
import "./src-
|
|
2
|
+
import "./src-WCbabvdS.js";
|
|
3
3
|
import { A as devReviewHome, D as processIsAlive, M as writeFileAtomic, O as withFileLock } from "./s3-config-CAxhO9u_.js";
|
|
4
4
|
import "./review-home-paths-6zZH-1c9.js";
|
|
5
5
|
import { i as readReviewPackageVersion, t as findReviewPackageRoot } from "./package-paths-B6-zxvIO.js";
|
|
6
|
-
import "./request-origin-
|
|
6
|
+
import "./request-origin-DA4K1qWY.js";
|
|
7
7
|
import { createHmac, randomUUID } from "node:crypto";
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
import { existsSync, readFileSync, rmSync } from "node:fs";
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { a as diffFileSummaries, b as resolveRevision, i as diff, x as splitGitPatchFiles } from "../src-CmdiBL20.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 { i as SharedReviewStore } from "../client-
|
|
5
|
-
import { c as ReviewBugReportRequestSchema, l as parseReviewBugReportResponse, o as parseZod, s as ReviewBugReportMetaV2Schema, t as parseReviewCliInstallApplyRequest, v as reviewDiffrSummarizerInputSchema } from "../src-
|
|
6
|
-
import { C as resourceReferences, p as documentSchema } from "../stored-document-migration-
|
|
4
|
+
import { i as SharedReviewStore } from "../client-BFClfQLO.js";
|
|
5
|
+
import { c as ReviewBugReportRequestSchema, l as parseReviewBugReportResponse, o as parseZod, s as ReviewBugReportMetaV2Schema, t as parseReviewCliInstallApplyRequest, v as reviewDiffrSummarizerInputSchema } from "../src-WCbabvdS.js";
|
|
6
|
+
import { C as resourceReferences, p as documentSchema } from "../stored-document-migration-BxZWQQjv.js";
|
|
7
7
|
import { t as ReviewInputError } from "../input-error-OLgB_h31.js";
|
|
8
8
|
import { A as devReviewHome, P as writePrivateJsonAtomic } from "../s3-config-CAxhO9u_.js";
|
|
9
9
|
import { U as shellQuote, i as reviewInstanceDiscoveryPath, o as reviewLegacyDiscoveryPath } from "../review-home-paths-6zZH-1c9.js";
|
|
10
10
|
import { i as readReviewPackageVersion, t as findReviewPackageRoot } from "../package-paths-B6-zxvIO.js";
|
|
11
|
-
import { c as reviewInstanceIdentity, t as REVIEW_INSTANCE_ENV } from "../desktop-discovery-
|
|
12
|
-
import { t as openReviewProfile } from "../profile-
|
|
13
|
-
import { r as reviewTelemetryChannel, t as ReviewTelemetry } from "../review-telemetry-
|
|
14
|
-
import { o as REVIEW_TELEMETRY_TABS } from "../request-origin-
|
|
15
|
-
import { c as removeLegacyReviewSkills, d as skipCliInstall, i as finishCliInstallUpdate, l as resetCliInstall, n as applyCliInstall, r as declineCliInstall, s as removeCliInstall, t as aliasInstallationToAccount, u as resolveCliInstallStatus } from "../account-alias-
|
|
16
|
-
import { _ as setDiffrConfigValue, a as serverJson, c as recordClientError, d as HttpJsonError, f as ReviewServerError, g as saveDiffrSummarizer, h as readDiffrConfig, i as createWhiteboardCore, l as createNodeRequestListener, m as migrateDiffrConfig, n as installProcessErrorTelemetry, o as captureSanitizedUiTelemetry, p as GlobalReviewDesktopVerbRelay, r as serverCrashReportPath, s as clientErrorsForSession, t as drainServerCrashReport, u as readBoundedRequestJson, v as testDiffrSummarizer } from "../process-error-telemetry-
|
|
17
|
-
import { c as readQuerySchemas } from "../authoring-tools-
|
|
11
|
+
import { c as reviewInstanceIdentity, t as REVIEW_INSTANCE_ENV } from "../desktop-discovery-C-Qz54wO.js";
|
|
12
|
+
import { t as openReviewProfile } from "../profile-CviK33_F.js";
|
|
13
|
+
import { r as reviewTelemetryChannel, t as ReviewTelemetry } from "../review-telemetry-DBy3eVCo.js";
|
|
14
|
+
import { o as REVIEW_TELEMETRY_TABS } from "../request-origin-DA4K1qWY.js";
|
|
15
|
+
import { c as removeLegacyReviewSkills, d as skipCliInstall, i as finishCliInstallUpdate, l as resetCliInstall, n as applyCliInstall, r as declineCliInstall, s as removeCliInstall, t as aliasInstallationToAccount, u as resolveCliInstallStatus } from "../account-alias-_1_7vROx.js";
|
|
16
|
+
import { _ as setDiffrConfigValue, a as serverJson, c as recordClientError, d as HttpJsonError, f as ReviewServerError, g as saveDiffrSummarizer, h as readDiffrConfig, i as createWhiteboardCore, l as createNodeRequestListener, m as migrateDiffrConfig, n as installProcessErrorTelemetry, o as captureSanitizedUiTelemetry, p as GlobalReviewDesktopVerbRelay, r as serverCrashReportPath, s as clientErrorsForSession, t as drainServerCrashReport, u as readBoundedRequestJson, v as testDiffrSummarizer } from "../process-error-telemetry-WjZ2FTnX.js";
|
|
17
|
+
import { c as readQuerySchemas } from "../authoring-tools-CUJ_56bd.js";
|
|
18
18
|
import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
19
19
|
import { z } from "zod";
|
|
20
20
|
import fs, { existsSync } from "node:fs";
|
package/dist/sharing/index.d.ts
CHANGED
|
@@ -67,7 +67,7 @@ interface LocalVcsCommitSummary {
|
|
|
67
67
|
deletions: number;
|
|
68
68
|
}
|
|
69
69
|
//#endregion
|
|
70
|
-
//#region ../../
|
|
70
|
+
//#region ../../diffr/diffr-ts/dist/contract.d.ts
|
|
71
71
|
/** A pairing always has at least one side; additions/deletions omit the other. */
|
|
72
72
|
type StructuralPairing<T> = {
|
|
73
73
|
lhs: T;
|
|
@@ -171,6 +171,8 @@ type StructuralRegion = {
|
|
|
171
171
|
type StructuralNode = {
|
|
172
172
|
kind: "leaf";
|
|
173
173
|
alignment_id: number;
|
|
174
|
+
/** The partner leaf's `id` on the other side; absent when added or deleted. */
|
|
175
|
+
pair?: number;
|
|
174
176
|
changed?: StructuralSpan[];
|
|
175
177
|
} | {
|
|
176
178
|
kind: "fold";
|
package/dist/sharing/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as sharedReviewId, c as verifyShareRepository, i as SharedReviewStore, l as exportShare, n as ShareClient, o as validateShareBundle } from "../client-
|
|
1
|
+
import { a as sharedReviewId, c as verifyShareRepository, i as SharedReviewStore, l as exportShare, n as ShareClient, o as validateShareBundle } from "../client-BFClfQLO.js";
|
|
2
2
|
export { ShareClient, SharedReviewStore, exportShare, sharedReviewId, validateShareBundle, verifyShareRepository };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as isJsonObject } from "./src-X9phtB2j.js";
|
|
2
2
|
import { _ as ReviewAgentTraceEventSchema, v as ReviewAgentTraceSessionSchema } from "./src-CGP5ytbV.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
//#region ../../
|
|
4
|
+
//#region ../../diffr/diffr-ts/dist/contract.js
|
|
5
5
|
/**
|
|
6
6
|
* Mirrors crates/diffr-core/src/protocol/mod.rs and crates/diffr-core/src/pairing.rs. See ../README.md for sync checks.
|
|
7
7
|
* Import only zod: Review embeds this file in generated source.
|
|
@@ -128,6 +128,7 @@ const StructuralRegionSchema = z.lazy(() => z.object({
|
|
|
128
128
|
const StructuralNodeSchema = z.lazy(() => z.union([z.object({
|
|
129
129
|
kind: z.literal("leaf"),
|
|
130
130
|
alignment_id: structuralU32,
|
|
131
|
+
pair: structuralU32.optional(),
|
|
131
132
|
changed: z.array(StructuralSpanSchema).optional()
|
|
132
133
|
}), z.object({
|
|
133
134
|
kind: z.literal("fold"),
|
|
@@ -158,7 +159,7 @@ const StructuralLineCountsSchema = z.lazy(() => z.object({
|
|
|
158
159
|
removed: structuralU32
|
|
159
160
|
}));
|
|
160
161
|
//#endregion
|
|
161
|
-
//#region ../../
|
|
162
|
+
//#region ../../diffr/diffr-ts/dist/stream.js
|
|
162
163
|
function decodeStructuralDiffEvent(line) {
|
|
163
164
|
try {
|
|
164
165
|
return StructuralDiffEventSchema.parse(JSON.parse(line));
|
package/dist/{stored-document-migration-T9Uj5MkN.js → stored-document-migration-BxZWQQjv.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { f as isNumberValue, l as jsonValueSchema, m as isStringValue, n as isJsonObject } from "./src-X9phtB2j.js";
|
|
2
|
-
import "./src-
|
|
2
|
+
import "./src-WCbabvdS.js";
|
|
3
3
|
import { t as ReviewInputError } from "./input-error-OLgB_h31.js";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { fromMarkdown } from "mdast-util-from-markdown";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { m as isStringValue, n as isJsonObject } from "./src-X9phtB2j.js";
|
|
2
|
-
import { n as callAuthoringTool, s as ReviewApiError, t as ToolText } from "./agent-client-
|
|
2
|
+
import { n as callAuthoringTool, s as ReviewApiError, t as ToolText } from "./agent-client-B_b1GtUc.js";
|
|
3
3
|
import { t as ReviewInputError } from "./input-error-OLgB_h31.js";
|
|
4
4
|
//#region src/review-api/public-tools.ts
|
|
5
5
|
function publicDescription(text) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dev.fast/whiteboard",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4-preview.20261009.108",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -43,7 +43,6 @@
|
|
|
43
43
|
"@agentclientprotocol/claude-agent-acp": "0.84.0",
|
|
44
44
|
"@agentclientprotocol/codex-acp": "2.0.0",
|
|
45
45
|
"@agentclientprotocol/sdk": "1.5.1",
|
|
46
|
-
"@dev.fast/diffr": "0.1.15",
|
|
47
46
|
"@hono/node-server": "2.0.12",
|
|
48
47
|
"@img/sharp-wasm32": "0.35.5",
|
|
49
48
|
"@modelcontextprotocol/sdk": "1.31.0",
|
|
@@ -59,7 +58,8 @@
|
|
|
59
58
|
"semver": "7.8.5",
|
|
60
59
|
"sharp": "0.35.5",
|
|
61
60
|
"smol-toml": "1.9.0",
|
|
62
|
-
"zod": "4.6.5"
|
|
61
|
+
"zod": "4.6.5",
|
|
62
|
+
"@dev.fast/diffr": "0.1.17"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@dev.fast/local-vcs": "^0.1.0",
|
|
@@ -71,10 +71,10 @@
|
|
|
71
71
|
"tsx": "4.21.0",
|
|
72
72
|
"typescript": "6.0.3",
|
|
73
73
|
"vitest": "4.1.11",
|
|
74
|
-
"@dev.fast/json": "0.0.0",
|
|
75
74
|
"@dev.fast/review-protocol": "0.0.0",
|
|
76
75
|
"@dev.fast/review-share-protocol": "0.1.2",
|
|
77
76
|
"@dev.fast/trace-core": "0.0.0",
|
|
77
|
+
"@dev.fast/json": "0.0.0",
|
|
78
78
|
"@dev.fast/trace-protocol": "0.5.0"
|
|
79
79
|
},
|
|
80
80
|
"engines": {
|
|
@@ -85,14 +85,14 @@
|
|
|
85
85
|
"repo": "devdotfast/review",
|
|
86
86
|
"docs": "packages/review/instructions/authoring.md"
|
|
87
87
|
},
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "449d5ddd42bb5bd075544be06a5dd3ff5826ab52",
|
|
89
89
|
"scripts": {
|
|
90
90
|
"prebuild": "pnpm run build:workspace-deps",
|
|
91
91
|
"build": "node --max-old-space-size=8192 node_modules/tsdown/dist/run.mjs",
|
|
92
92
|
"build:tutorial-assets": "tsx scripts/build-tutorial-assets.ts",
|
|
93
93
|
"ensure:tutorial-assets": "tsx scripts/ensure-tutorial-assets.ts",
|
|
94
94
|
"check:tutorial": "tsx scripts/check-tutorial.ts",
|
|
95
|
-
"build:workspace-deps": "pnpm --filter @dev.fast/json --filter @dev.fast/local-vcs --filter @dev.fast/review-protocol --filter @dev.fast/review-share-protocol --filter @dev.fast/trace-protocol --filter @dev.fast/trace-core build",
|
|
95
|
+
"build:workspace-deps": "pnpm --filter @dev.fast/diffr --filter @dev.fast/json --filter @dev.fast/local-vcs --filter @dev.fast/review-protocol --filter @dev.fast/review-share-protocol --filter @dev.fast/trace-protocol --filter @dev.fast/trace-core build",
|
|
96
96
|
"pretypecheck": "pnpm run ensure:tutorial-assets",
|
|
97
97
|
"pretest": "pnpm run ensure:tutorial-assets",
|
|
98
98
|
"pretest:node": "pnpm run ensure:tutorial-assets",
|
|
@@ -166,7 +166,12 @@ export async function comparisonCoverage(
|
|
|
166
166
|
throw new Error(`Unexpected structural result: ${path}`);
|
|
167
167
|
|
|
168
168
|
if (event.error) {
|
|
169
|
-
|
|
169
|
+
// Neither kind has line ranges to count. Keep the rest of the review
|
|
170
|
+
// available when a repository contains non-UTF-8 fixtures or links.
|
|
171
|
+
if (
|
|
172
|
+
event.error.code !== "unsupported_file_type" &&
|
|
173
|
+
event.error.code !== "not_utf8"
|
|
174
|
+
)
|
|
170
175
|
throw new Error(`Cannot count ${path}: ${event.error.message}`);
|
|
171
176
|
|
|
172
177
|
if (!remaining.size) break;
|
package/src/review-api/http.ts
CHANGED
|
@@ -389,12 +389,22 @@ export function createReviewApi(
|
|
|
389
389
|
|
|
390
390
|
const snapshot = store.read(id);
|
|
391
391
|
|
|
392
|
+
const pins = snapshot.pins
|
|
393
|
+
? (await data.resolveSource(snapshot)).pins
|
|
394
|
+
: undefined;
|
|
395
|
+
|
|
396
|
+
const coverage = pins && data.coverageSnapshot(id, pins, input.mode);
|
|
397
|
+
|
|
398
|
+
const partial =
|
|
399
|
+
coverage && coverage.pending ? coverage.comparison : undefined;
|
|
400
|
+
|
|
392
401
|
const progress = await reviewProgress(
|
|
393
402
|
store,
|
|
394
403
|
data,
|
|
395
404
|
snapshot,
|
|
396
405
|
context.req.raw.signal,
|
|
397
406
|
input.mode,
|
|
407
|
+
partial,
|
|
398
408
|
);
|
|
399
409
|
|
|
400
410
|
const files = input.files.map((update) => {
|
|
@@ -427,6 +437,7 @@ export function createReviewApi(
|
|
|
427
437
|
store.read(id, input.version),
|
|
428
438
|
context.req.raw.signal,
|
|
429
439
|
input.mode,
|
|
440
|
+
partial,
|
|
430
441
|
),
|
|
431
442
|
);
|
|
432
443
|
});
|
|
@@ -51,7 +51,7 @@ function diffrArgv(args: DiffrArguments): string[] {
|
|
|
51
51
|
case "show":
|
|
52
52
|
return ["config", "show", "--json", ...(args.reveal ? ["--reveal"] : [])];
|
|
53
53
|
case "set":
|
|
54
|
-
return ["config", "set", "
|
|
54
|
+
return ["config", "set", "-", "--json"];
|
|
55
55
|
case "migrate":
|
|
56
56
|
return ["config", "migrate", "--json"];
|
|
57
57
|
case "diff":
|
|
@@ -108,8 +108,9 @@ export async function* structuralDiff(
|
|
|
108
108
|
|
|
109
109
|
// Bound individual records, not the entire streamed comparison: a
|
|
110
110
|
// directory move can legitimately contain thousands of small files.
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
// Generated parsers in diffr can exceed 64 MiB after JSON encoding.
|
|
112
|
+
if (Buffer.byteLength(line) > 96 * 1024 * 1024)
|
|
113
|
+
throw new Error("Structural diff record exceeded 96 MiB.");
|
|
113
114
|
|
|
114
115
|
if (!line.trim()) continue;
|
|
115
116
|
const event = decodeStructuralDiffEvent(line);
|
package/dist/profile-Cqztt-9-.js
DELETED