@monotykamary/localterm-server 2.4.1 → 2.5.1

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.
Files changed (41) hide show
  1. package/dist/constants.d.ts +19 -0
  2. package/dist/constants.d.ts.map +1 -1
  3. package/dist/constants.js +44 -0
  4. package/dist/constants.js.map +1 -1
  5. package/dist/git-diff-watcher.d.ts.map +1 -1
  6. package/dist/git-diff-watcher.js +12 -1
  7. package/dist/git-diff-watcher.js.map +1 -1
  8. package/dist/git-diff.d.ts +3 -1
  9. package/dist/git-diff.d.ts.map +1 -1
  10. package/dist/git-diff.js +41 -8
  11. package/dist/git-diff.js.map +1 -1
  12. package/dist/git-worktrees.d.ts +6 -2
  13. package/dist/git-worktrees.d.ts.map +1 -1
  14. package/dist/git-worktrees.js +95 -20
  15. package/dist/git-worktrees.js.map +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +86 -4
  18. package/dist/index.js.map +1 -1
  19. package/dist/protocol.d.ts +2 -2
  20. package/dist/protocol.d.ts.map +1 -1
  21. package/dist/protocol.js +1 -1
  22. package/dist/protocol.js.map +1 -1
  23. package/dist/schemas.d.ts +85 -0
  24. package/dist/schemas.d.ts.map +1 -1
  25. package/dist/schemas.js +81 -2
  26. package/dist/schemas.js.map +1 -1
  27. package/dist/types.d.ts +10 -1
  28. package/dist/types.d.ts.map +1 -1
  29. package/dist/utils/copy-worktree-includes.d.ts +2 -0
  30. package/dist/utils/copy-worktree-includes.d.ts.map +1 -0
  31. package/dist/utils/copy-worktree-includes.js +102 -0
  32. package/dist/utils/copy-worktree-includes.js.map +1 -0
  33. package/dist/utils/worktree-sweep.d.ts +4 -0
  34. package/dist/utils/worktree-sweep.d.ts.map +1 -0
  35. package/dist/utils/worktree-sweep.js +68 -0
  36. package/dist/utils/worktree-sweep.js.map +1 -0
  37. package/dist/worktree-config-store.d.ts +12 -0
  38. package/dist/worktree-config-store.d.ts.map +1 -0
  39. package/dist/worktree-config-store.js +112 -0
  40. package/dist/worktree-config-store.js.map +1 -0
  41. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-sweep.js","sourceRoot":"","sources":["../../src/utils/worktree-sweep.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { WorktreeRepoConfig } from "./types.js";
2
+ export declare class WorktreeConfigStore {
3
+ private readonly stateDirectory;
4
+ constructor(stateDirectory: string);
5
+ private configPathFor;
6
+ get(cwd: string): Promise<WorktreeRepoConfig>;
7
+ update(cwd: string, patch: Partial<WorktreeRepoConfig>): Promise<WorktreeRepoConfig>;
8
+ private readStored;
9
+ private persist;
10
+ }
11
+ export declare const worktreeConfigPathFor: (stateDirectory: string, mainRoot: string) => string;
12
+ //# sourceMappingURL=worktree-config-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-config-store.d.ts","sourceRoot":"","sources":["../src/worktree-config-store.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAyB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAmD5E,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,MAAM;IAInD,OAAO,CAAC,aAAa,CAC4D;IAE3E,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAK7C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAkB5E,UAAU;YA0BV,OAAO;CAStB;AAID,eAAO,MAAM,qBAAqB,GAAI,gBAAgB,MAAM,EAAE,UAAU,MAAM,KAAG,MACD,CAAC"}
@@ -0,0 +1,112 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { MAX_WORKTREE_OPEN_IN_COMMANDS, MAX_WORKTREE_OPEN_IN_COMMAND_LENGTH, MAX_WORKTREE_OPEN_IN_ID_LENGTH, MAX_WORKTREE_OPEN_IN_LABEL_LENGTH, MAX_WORKTREE_SETUP_SCRIPT_LENGTH, WORKTREE_CONFIG_DIRNAME, WORKTREE_CONFIG_FILE_VERSION, } from "./constants.js";
4
+ import { mainWorktreeRoot, repoId } from "./git-worktrees.js";
5
+ import { worktreeRepoConfigFileSchema } from "./schemas.js";
6
+ // A fresh repo behaves like pre-config worktrees: no setup, no open-in commands,
7
+ // base ref "fresh" (new worktrees branch from origin/HEAD when a remote exists,
8
+ // else HEAD). All fields default off so upgrading is a no-op until configured.
9
+ const DEFAULT_CONFIG = {
10
+ version: WORKTREE_CONFIG_FILE_VERSION,
11
+ setupScript: "",
12
+ openInCommands: [],
13
+ baseRef: "fresh",
14
+ };
15
+ const sanitizeSetupScript = (value) => (value ?? "").slice(0, MAX_WORKTREE_SETUP_SCRIPT_LENGTH);
16
+ // Drop empties, cap label/command/id lengths, dedupe by id (last wins), and cap
17
+ // the count. ids are client-stable so the editor can key rows across edits.
18
+ const sanitizeOpenInCommands = (commands) => {
19
+ const seen = new Map();
20
+ for (const raw of commands ?? []) {
21
+ const id = raw.id.slice(0, MAX_WORKTREE_OPEN_IN_ID_LENGTH).trim();
22
+ const label = raw.label.trim().slice(0, MAX_WORKTREE_OPEN_IN_LABEL_LENGTH);
23
+ const command = raw.command.trim().slice(0, MAX_WORKTREE_OPEN_IN_COMMAND_LENGTH);
24
+ if (!id || !label || !command)
25
+ continue;
26
+ seen.set(id, { id, label, command });
27
+ }
28
+ return [...seen.values()].slice(0, MAX_WORKTREE_OPEN_IN_COMMANDS);
29
+ };
30
+ const toWire = (stored) => ({
31
+ setupScript: stored.setupScript,
32
+ openInCommands: stored.openInCommands,
33
+ baseRef: stored.baseRef,
34
+ });
35
+ // Owns per-repo worktree preferences (~/.localterm/worktree-configs/<repo-id>.json):
36
+ // the setup script run in each fresh worktree, the custom "Open in…" launchers,
37
+ // and the default base ref new worktrees branch from. The repo id is a stable
38
+ // hash of the main worktree's absolute path, so the config survives regardless
39
+ // of the auto-created folder name and is shared across every linked worktree.
40
+ // Mirrors CaffeinatePreferencesStore's load/persist shape (zod-validated read,
41
+ // atomic tmp+rename write).
42
+ export class WorktreeConfigStore {
43
+ stateDirectory;
44
+ constructor(stateDirectory) {
45
+ this.stateDirectory = stateDirectory;
46
+ }
47
+ // The path the config for a given repo id lives at. Exposed so callers (tests,
48
+ // sweeps) can locate or clean it; the store reads/writes through this path.
49
+ configPathFor = (repoIdValue) => path.join(this.stateDirectory, WORKTREE_CONFIG_DIRNAME, `${repoIdValue}.json`);
50
+ async get(cwd) {
51
+ const stored = await this.readStored(cwd);
52
+ return toWire(stored);
53
+ }
54
+ async update(cwd, patch) {
55
+ const current = await this.readStored(cwd);
56
+ const next = {
57
+ version: WORKTREE_CONFIG_FILE_VERSION,
58
+ setupScript: patch.setupScript !== undefined
59
+ ? sanitizeSetupScript(patch.setupScript)
60
+ : current.setupScript,
61
+ openInCommands: patch.openInCommands !== undefined
62
+ ? sanitizeOpenInCommands(patch.openInCommands)
63
+ : current.openInCommands,
64
+ baseRef: patch.baseRef ?? current.baseRef,
65
+ };
66
+ await this.persist(cwd, next);
67
+ return toWire(next);
68
+ }
69
+ async readStored(cwd) {
70
+ const mainRoot = await mainWorktreeRoot(cwd);
71
+ if (!mainRoot)
72
+ return { ...DEFAULT_CONFIG };
73
+ const filePath = this.configPathFor(repoId(mainRoot));
74
+ let raw;
75
+ try {
76
+ raw = fs.readFileSync(filePath, "utf8");
77
+ }
78
+ catch {
79
+ return { ...DEFAULT_CONFIG };
80
+ }
81
+ let json;
82
+ try {
83
+ json = JSON.parse(raw);
84
+ }
85
+ catch {
86
+ return { ...DEFAULT_CONFIG };
87
+ }
88
+ const parsed = worktreeRepoConfigFileSchema.safeParse(json);
89
+ if (!parsed.success)
90
+ return { ...DEFAULT_CONFIG };
91
+ return {
92
+ version: parsed.data.version,
93
+ setupScript: parsed.data.setupScript,
94
+ openInCommands: sanitizeOpenInCommands(parsed.data.openInCommands),
95
+ baseRef: parsed.data.baseRef,
96
+ };
97
+ }
98
+ async persist(cwd, config) {
99
+ const mainRoot = await mainWorktreeRoot(cwd);
100
+ if (!mainRoot)
101
+ return;
102
+ const filePath = this.configPathFor(repoId(mainRoot));
103
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
104
+ const tmpPath = `${filePath}.tmp`;
105
+ fs.writeFileSync(tmpPath, `${JSON.stringify(config, null, 2)}\n`, "utf8");
106
+ fs.renameSync(tmpPath, filePath);
107
+ }
108
+ }
109
+ // Re-exported so tests can compute the expected config path for a repo dir
110
+ // without re-deriving the hash.
111
+ export const worktreeConfigPathFor = (stateDirectory, mainRoot) => path.join(stateDirectory, WORKTREE_CONFIG_DIRNAME, `${repoId(mainRoot)}.json`);
112
+ //# sourceMappingURL=worktree-config-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-config-store.js","sourceRoot":"","sources":["../src/worktree-config-store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monotykamary/localterm-server",
3
- "version": "2.4.1",
3
+ "version": "2.5.1",
4
4
  "description": "PTY-backed HTTP/WebSocket server that powers localterm, built on Hono + node-pty.",
5
5
  "keywords": [
6
6
  "hono",