tandem-editor 0.11.0 → 0.11.2
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/CHANGELOG.md +67 -37
- package/README.md +4 -0
- package/dist/channel/index.js +2 -0
- package/dist/channel/index.js.map +1 -1
- package/dist/cli/index.js +4 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/client/assets/CoworkSettings-DK3jjdwK.js +3 -0
- package/dist/client/assets/index-CfT503n4.js +297 -0
- package/dist/client/assets/index-DeJe09pn.css +1 -0
- package/dist/client/index.html +2 -2
- package/dist/monitor/index.js +2 -0
- package/dist/monitor/index.js.map +1 -1
- package/dist/server/index.js +24 -8
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/CoworkSettings-ChE5WuAe.js +0 -3
- package/dist/client/assets/index-BJKuWd_k.css +0 -1
- package/dist/client/assets/index-vu_QxvyU.js +0 -310
package/dist/server/index.js
CHANGED
|
@@ -40,12 +40,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
40
40
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
41
41
|
|
|
42
42
|
// src/shared/constants.ts
|
|
43
|
-
var DEFAULT_WS_PORT, DEFAULT_MCP_PORT, SUPPORTED_EXTENSIONS, MAX_FILE_SIZE, MAX_WS_PAYLOAD, IDLE_TIMEOUT, SESSION_MAX_AGE, TANDEM_MODE_DEFAULT, SELECTION_DWELL_DEFAULT_MS, SELECTION_DWELL_MIN_MS, SELECTION_DWELL_MAX_MS, CHARS_PER_PAGE, LARGE_FILE_PAGE_THRESHOLD, VERY_LARGE_FILE_PAGE_THRESHOLD, CTRL_ROOM, Y_MAP_ANNOTATIONS, Y_MAP_AWARENESS, Y_MAP_USER_AWARENESS, Y_MAP_MODE, Y_MAP_DWELL_MS, Y_MAP_CHAT, Y_MAP_DOCUMENT_META, Y_MAP_ANNOTATION_REPLIES, Y_MAP_SAVED_AT_VERSION, Y_MAP_AUTHORSHIP, Y_MAP_SELECTION, Y_MAP_ACTIVITY, Y_MAP_OPEN_DOCUMENTS, Y_MAP_ACTIVE_DOCUMENT_ID, Y_MAP_GENERATION_ID, Y_MAP_STORE_READ_ONLY, NOTIFICATION_BUFFER_SIZE, TUTORIAL_ANNOTATION_PREFIX, CHANNEL_EVENT_BUFFER_SIZE, CHANNEL_EVENT_BUFFER_AGE_MS, CHANNEL_SSE_KEEPALIVE_MS, TOKEN_FILE_NAME, DEFAULT_BIND_HOST, TANDEM_ALLOW_UNAUTHENTICATED_LAN_ENV, TAURI_HOSTNAME;
|
|
43
|
+
var DEFAULT_WS_PORT, DEFAULT_MCP_PORT, TANDEM_REPO_URL, TANDEM_ISSUES_NEW_URL, SUPPORTED_EXTENSIONS, MAX_FILE_SIZE, MAX_WS_PAYLOAD, IDLE_TIMEOUT, SESSION_MAX_AGE, TANDEM_MODE_DEFAULT, SELECTION_DWELL_DEFAULT_MS, SELECTION_DWELL_MIN_MS, SELECTION_DWELL_MAX_MS, CHARS_PER_PAGE, LARGE_FILE_PAGE_THRESHOLD, VERY_LARGE_FILE_PAGE_THRESHOLD, CTRL_ROOM, Y_MAP_ANNOTATIONS, Y_MAP_AWARENESS, Y_MAP_USER_AWARENESS, Y_MAP_MODE, Y_MAP_DWELL_MS, Y_MAP_CHAT, Y_MAP_DOCUMENT_META, Y_MAP_ANNOTATION_REPLIES, Y_MAP_SAVED_AT_VERSION, Y_MAP_AUTHORSHIP, Y_MAP_SELECTION, Y_MAP_ACTIVITY, Y_MAP_OPEN_DOCUMENTS, Y_MAP_ACTIVE_DOCUMENT_ID, Y_MAP_GENERATION_ID, Y_MAP_STORE_READ_ONLY, NOTIFICATION_BUFFER_SIZE, TUTORIAL_ANNOTATION_PREFIX, CHANNEL_EVENT_BUFFER_SIZE, CHANNEL_EVENT_BUFFER_AGE_MS, CHANNEL_SSE_KEEPALIVE_MS, TOKEN_FILE_NAME, DEFAULT_BIND_HOST, TANDEM_ALLOW_UNAUTHENTICATED_LAN_ENV, TAURI_HOSTNAME;
|
|
44
44
|
var init_constants = __esm({
|
|
45
45
|
"src/shared/constants.ts"() {
|
|
46
46
|
"use strict";
|
|
47
47
|
DEFAULT_WS_PORT = 3478;
|
|
48
48
|
DEFAULT_MCP_PORT = 3479;
|
|
49
|
+
TANDEM_REPO_URL = "https://github.com/bloknayrb/tandem";
|
|
50
|
+
TANDEM_ISSUES_NEW_URL = `${TANDEM_REPO_URL}/issues/new`;
|
|
49
51
|
SUPPORTED_EXTENSIONS = /* @__PURE__ */ new Set([".md", ".txt", ".html", ".htm", ".docx"]);
|
|
50
52
|
MAX_FILE_SIZE = 50 * 1024 * 1024;
|
|
51
53
|
MAX_WS_PAYLOAD = 10 * 1024 * 1024;
|
|
@@ -68462,7 +68464,7 @@ var init_env_paths = __esm({
|
|
|
68462
68464
|
});
|
|
68463
68465
|
|
|
68464
68466
|
// src/server/platform.ts
|
|
68465
|
-
import { execSync } from "child_process";
|
|
68467
|
+
import { execFileSync, execSync } from "child_process";
|
|
68466
68468
|
import net from "net";
|
|
68467
68469
|
import path4 from "path";
|
|
68468
68470
|
function resolveAppDataDir() {
|
|
@@ -68520,8 +68522,22 @@ function freePortWindows(port) {
|
|
|
68520
68522
|
});
|
|
68521
68523
|
const pid = out.trim().split(/\s+/).at(-1);
|
|
68522
68524
|
if (pid && /^\d+$/.test(pid)) {
|
|
68523
|
-
|
|
68524
|
-
|
|
68525
|
+
try {
|
|
68526
|
+
const killOut = execFileSync("taskkill", ["/PID", pid, "/F"], {
|
|
68527
|
+
encoding: "utf-8",
|
|
68528
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
68529
|
+
});
|
|
68530
|
+
const trimmed = killOut.trim();
|
|
68531
|
+
console.error(
|
|
68532
|
+
`[Tandem] Killed stale PID ${pid} holding port ${port}${trimmed ? `: ${trimmed}` : ""}`
|
|
68533
|
+
);
|
|
68534
|
+
} catch (err) {
|
|
68535
|
+
const stderr = err && typeof err === "object" && "stderr" in err ? String(err.stderr ?? "") : "";
|
|
68536
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
68537
|
+
console.error(
|
|
68538
|
+
`[Tandem] taskkill failed for PID ${pid} on port ${port}: ${message}${stderr ? ` \u2014 stderr: ${stderr.trim()}` : ""}`
|
|
68539
|
+
);
|
|
68540
|
+
}
|
|
68525
68541
|
}
|
|
68526
68542
|
}
|
|
68527
68543
|
function freePortUnix(port) {
|
|
@@ -116130,7 +116146,7 @@ function registerNavigationTools(server) {
|
|
|
116130
116146
|
|
|
116131
116147
|
// src/server/mcp/server.ts
|
|
116132
116148
|
var esmRequire = createRequire(import.meta.url);
|
|
116133
|
-
var APP_VERSION = true ? "0.11.
|
|
116149
|
+
var APP_VERSION = true ? "0.11.2" : _readVersionFromDisk();
|
|
116134
116150
|
var MCP_SDK_VERSION = true ? "1.27.1" : "0.0.0-unknown";
|
|
116135
116151
|
var __dirname3 = dirname3(fileURLToPath4(import.meta.url));
|
|
116136
116152
|
var CLIENT_DIST = join3(__dirname3, "../client");
|
|
@@ -116360,14 +116376,14 @@ var TUTORIAL_ANNOTATIONS = [
|
|
|
116360
116376
|
{
|
|
116361
116377
|
id: `${TUTORIAL_ANNOTATION_PREFIX}highlight-1`,
|
|
116362
116378
|
type: "highlight",
|
|
116363
|
-
targetText: "
|
|
116379
|
+
targetText: "highlight text and Claude sees it",
|
|
116364
116380
|
content: "This is a highlight \u2014 it marks text for attention without suggesting changes.",
|
|
116365
116381
|
color: "yellow"
|
|
116366
116382
|
},
|
|
116367
116383
|
{
|
|
116368
116384
|
id: `${TUTORIAL_ANNOTATION_PREFIX}comment-1`,
|
|
116369
116385
|
type: "comment",
|
|
116370
|
-
targetText: "
|
|
116386
|
+
targetText: "edit this document at the same time",
|
|
116371
116387
|
content: "Comments let you or Claude leave notes on specific text passages."
|
|
116372
116388
|
},
|
|
116373
116389
|
{
|
|
@@ -116687,7 +116703,7 @@ async function main2() {
|
|
|
116687
116703
|
try {
|
|
116688
116704
|
const versionStatus = await checkVersionChange(APP_VERSION, LAST_SEEN_VERSION_FILE);
|
|
116689
116705
|
if (versionStatus === "upgraded") {
|
|
116690
|
-
await openFileByPath(path16.join(projectRoot, "CHANGELOG.md"));
|
|
116706
|
+
await openFileByPath(path16.join(projectRoot, "CHANGELOG.md"), { readOnly: true });
|
|
116691
116707
|
console.error(`[Tandem] Opened CHANGELOG.md (upgraded to v${APP_VERSION})`);
|
|
116692
116708
|
}
|
|
116693
116709
|
} catch (err) {
|