@neuralnomads/codenomad-dev 0.13.3-dev-20260413-1ce58b9d → 0.14.0-dev-20260417-9bf4d351

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 (51) hide show
  1. package/dist/index.js +22 -0
  2. package/dist/plugins/voice-mode.js +2 -1
  3. package/dist/server/http-server.js +5 -45
  4. package/dist/server/routes/plugin.js +5 -1
  5. package/dist/server/routes/workspaces.js +118 -0
  6. package/dist/workspaces/git-mutations.js +98 -0
  7. package/dist/workspaces/git-status.js +323 -0
  8. package/dist/workspaces/git-worktrees.js +18 -1
  9. package/dist/workspaces/worktree-directory.js +74 -0
  10. package/package.json +1 -1
  11. package/public/assets/{ChangesTab-CFkk3tAp.js → ChangesTab-DEgBUjVz.js} +2 -2
  12. package/public/assets/{DiffToolbar-CQQLR1mp.js → DiffToolbar-C0C8bWki.js} +1 -1
  13. package/public/assets/{FilesTab-CXgucPtN.js → FilesTab-B9WaUTzy.js} +2 -2
  14. package/public/assets/GitChangesTab-C2Asw384.js +2 -0
  15. package/public/assets/{SplitFilePanel-CupweEA5.js → SplitFilePanel-VxErPoCs.js} +1 -1
  16. package/public/assets/StatusTab-DTCwmZhf.js +1 -0
  17. package/public/assets/{bundle-full-B-5u6Iv3.js → bundle-full-CZ8BwlPh.js} +1 -1
  18. package/public/assets/{diff-viewer-_ehhYA-Z.js → diff-viewer-Djp9avVa.js} +1 -1
  19. package/public/assets/index-Br2gh9Q_.js +1 -0
  20. package/public/assets/index-CCdacqcD.js +1 -0
  21. package/public/assets/index-CMpU59Nd.js +1 -0
  22. package/public/assets/index-CP2CRaiZ.js +2 -0
  23. package/public/assets/{index-CxQr-wOF.js → index-CS8igigR.js} +1 -1
  24. package/public/assets/index-Cf8hOS2M.js +1 -0
  25. package/public/assets/index-CiwaMGVS.js +1 -0
  26. package/public/assets/{index-BwCEJ4BE.css → index-D6aXme8N.css} +1 -1
  27. package/public/assets/index-Dwg_Dz3e.js +1 -0
  28. package/public/assets/{index-BqiNjV6R.js → index-gOb9MvU2.js} +1 -1
  29. package/public/assets/{loading-Dck2H3XH.js → loading-Cr_BWqKy.js} +1 -1
  30. package/public/assets/main-CBLtYtDo.js +48 -0
  31. package/public/assets/{markdown-CFV9kR80.js → markdown-c_rVsd2S.js} +3 -3
  32. package/public/assets/monaco-viewer-DrmF2KUz.js +25 -0
  33. package/public/assets/{todo-Ghwirj-b.js → todo-DXEegYgH.js} +1 -1
  34. package/public/assets/{tool-call-BC2Pv3uG.js → tool-call-CTg71hze.js} +3 -3
  35. package/public/assets/{unified-picker-Dw0kTXoT.js → unified-picker-BgW5kaQo.js} +1 -1
  36. package/public/assets/{wrap-text-D2MJk2ad.js → wrap-text-DKmMMyWB.js} +1 -1
  37. package/public/index.html +4 -4
  38. package/public/loading.html +4 -4
  39. package/public/sw.js +1 -1
  40. package/public/ui-version.json +1 -1
  41. package/public/assets/GitChangesTab-BidSb28_.js +0 -2
  42. package/public/assets/StatusTab-C2Pl_Vce.js +0 -1
  43. package/public/assets/index-BnfDkr8C.js +0 -1
  44. package/public/assets/index-BntAaLZs.js +0 -1
  45. package/public/assets/index-DXaitXVC.js +0 -1
  46. package/public/assets/index-DzRzoTK8.js +0 -2
  47. package/public/assets/index-ShHad48G.js +0 -1
  48. package/public/assets/index-_EaXFUIj.js +0 -1
  49. package/public/assets/index-mMh5TJvW.js +0 -1
  50. package/public/assets/main-BsIf5lOY.js +0 -50
  51. package/public/assets/monaco-viewer-CMM6n0T3.js +0 -25
@@ -0,0 +1,323 @@
1
+ import { spawn } from "child_process";
2
+ import { readFile } from "fs/promises";
3
+ import path from "path";
4
+ import { normalizeGitWorktreeRelativePath } from "./git-mutations";
5
+ async function readFileAsDiffText(filePath) {
6
+ return readFile(filePath, "utf-8");
7
+ }
8
+ async function readGitBlobAsDiffText(resultPromise, missingOk = false) {
9
+ const result = await resultPromise;
10
+ if (!result.ok) {
11
+ return decodeGitShowResult(result, missingOk);
12
+ }
13
+ return result.stdout;
14
+ }
15
+ function runGit(args, cwd, acceptedExitCodes = [0]) {
16
+ return new Promise((resolve) => {
17
+ const child = spawn("git", args, { cwd, stdio: ["ignore", "pipe", "pipe"] });
18
+ let stdout = "";
19
+ let stderr = "";
20
+ child.stdout?.on("data", (chunk) => {
21
+ stdout += chunk.toString();
22
+ });
23
+ child.stderr?.on("data", (chunk) => {
24
+ stderr += chunk.toString();
25
+ });
26
+ child.once("error", (error) => {
27
+ resolve({ ok: false, error, stdout, stderr });
28
+ });
29
+ child.once("close", (code) => {
30
+ if (acceptedExitCodes.includes(code ?? 0)) {
31
+ resolve({ ok: true, stdout });
32
+ }
33
+ else {
34
+ const error = new Error(stderr.trim() || `git ${args.join(" ")} failed with code ${code}`);
35
+ resolve({ ok: false, error, stdout, stderr });
36
+ }
37
+ });
38
+ });
39
+ }
40
+ function ensureEntry(map, path) {
41
+ const existing = map.get(path);
42
+ if (existing)
43
+ return existing;
44
+ const next = {
45
+ path,
46
+ originalPath: null,
47
+ stagedStatus: null,
48
+ stagedAdditions: 0,
49
+ stagedDeletions: 0,
50
+ unstagedStatus: null,
51
+ unstagedAdditions: 0,
52
+ unstagedDeletions: 0,
53
+ };
54
+ map.set(path, next);
55
+ return next;
56
+ }
57
+ function normalizeGitStatusPath(value) {
58
+ return value.trim().replace(/\\+/g, "/");
59
+ }
60
+ function parseGitChangeKind(code) {
61
+ const normalized = code.trim().toUpperCase();
62
+ if (!normalized)
63
+ return null;
64
+ if (normalized === "A")
65
+ return "added";
66
+ if (normalized === "M")
67
+ return "modified";
68
+ if (normalized === "D")
69
+ return "deleted";
70
+ if (normalized.startsWith("R"))
71
+ return "renamed";
72
+ if (normalized.startsWith("C"))
73
+ return "copied";
74
+ if (normalized === "U")
75
+ return "unmerged";
76
+ return null;
77
+ }
78
+ function applyNameStatusOutput(map, output, target) {
79
+ const tokens = output.split("\0");
80
+ let index = 0;
81
+ while (index < tokens.length) {
82
+ const record = tokens[index++] ?? "";
83
+ if (!record)
84
+ continue;
85
+ const parts = record.split("\t");
86
+ const statusCode = parseGitChangeKind(parts[0] ?? "");
87
+ if (!statusCode)
88
+ continue;
89
+ const inlinePath = parts.slice(1).join("\t");
90
+ const firstPath = inlinePath || tokens[index++] || "";
91
+ const secondPath = statusCode === "renamed" || statusCode === "copied" ? tokens[index++] || "" : "";
92
+ const path = statusCode === "renamed" || statusCode === "copied" ? secondPath || firstPath : firstPath;
93
+ const normalizedPath = normalizeGitStatusPath(path);
94
+ if (!normalizedPath)
95
+ continue;
96
+ const entry = ensureEntry(map, normalizedPath);
97
+ entry[target] = statusCode;
98
+ if (statusCode === "renamed" || statusCode === "copied") {
99
+ const originalPath = normalizeGitStatusPath(firstPath);
100
+ entry.originalPath = originalPath || entry.originalPath || null;
101
+ }
102
+ }
103
+ }
104
+ function applyUntrackedOutput(map, output) {
105
+ for (const rawLine of output.split(/\r?\n/)) {
106
+ const path = normalizeGitStatusPath(rawLine);
107
+ if (!path)
108
+ continue;
109
+ ensureEntry(map, path).unstagedStatus = "untracked";
110
+ }
111
+ }
112
+ function parseSingleNumstat(output) {
113
+ for (const rawLine of output.split(/\r?\n/)) {
114
+ const line = rawLine.trim();
115
+ if (!line)
116
+ continue;
117
+ const parts = rawLine.split("\t");
118
+ const isBinary = parts[0] === "-" || parts[1] === "-";
119
+ return {
120
+ additions: isBinary ? 0 : Number.parseInt(parts[0] ?? "0", 10) || 0,
121
+ deletions: isBinary ? 0 : Number.parseInt(parts[1] ?? "0", 10) || 0,
122
+ isBinary,
123
+ found: true,
124
+ };
125
+ }
126
+ return { additions: 0, deletions: 0, isBinary: false, found: false };
127
+ }
128
+ async function getUntrackedFileNumstat(workspaceFolder, relativePath) {
129
+ const absolutePath = path.join(workspaceFolder, relativePath);
130
+ const result = await runGit(["diff", "--numstat", "--no-index", "--", "/dev/null", absolutePath], workspaceFolder, [0, 1]);
131
+ if (!result.ok) {
132
+ throw result.error;
133
+ }
134
+ const parsed = parseSingleNumstat(result.stdout);
135
+ return { additions: parsed.additions, deletions: parsed.deletions };
136
+ }
137
+ async function applyUntrackedFileStats(map, workspaceFolder) {
138
+ const pending = Array.from(map.values())
139
+ .filter((entry) => entry.unstagedStatus === "untracked")
140
+ .map(async (entry) => {
141
+ try {
142
+ const stats = await getUntrackedFileNumstat(workspaceFolder, entry.path);
143
+ entry.unstagedAdditions = stats.additions;
144
+ entry.unstagedDeletions = stats.deletions;
145
+ }
146
+ catch {
147
+ entry.unstagedAdditions = 0;
148
+ entry.unstagedDeletions = 0;
149
+ }
150
+ });
151
+ await Promise.all(pending);
152
+ }
153
+ function applyNumstatOutput(map, output, target) {
154
+ const tokens = output.split("\0");
155
+ let index = 0;
156
+ while (index < tokens.length) {
157
+ const record = tokens[index++] ?? "";
158
+ if (!record)
159
+ continue;
160
+ const parts = record.split("\t");
161
+ if (parts.length < 3)
162
+ continue;
163
+ const additions = parts[0] === "-" ? 0 : Number.parseInt(parts[0] ?? "0", 10);
164
+ const deletions = parts[1] === "-" ? 0 : Number.parseInt(parts[1] ?? "0", 10);
165
+ const inlinePath = parts.slice(2).join("\t");
166
+ const isRenameLike = inlinePath === "";
167
+ const originalPath = isRenameLike ? normalizeGitStatusPath(tokens[index++] ?? "") : null;
168
+ const normalizedPath = normalizeGitStatusPath(isRenameLike ? tokens[index++] ?? "" : inlinePath);
169
+ if (!normalizedPath)
170
+ continue;
171
+ const entry = ensureEntry(map, normalizedPath);
172
+ if (originalPath) {
173
+ entry.originalPath = originalPath;
174
+ }
175
+ if (target === "staged") {
176
+ entry.stagedAdditions = Number.isFinite(additions) ? additions : 0;
177
+ entry.stagedDeletions = Number.isFinite(deletions) ? deletions : 0;
178
+ }
179
+ else {
180
+ entry.unstagedAdditions = Number.isFinite(additions) ? additions : 0;
181
+ entry.unstagedDeletions = Number.isFinite(deletions) ? deletions : 0;
182
+ }
183
+ }
184
+ }
185
+ export async function getWorktreeGitStatus(params) {
186
+ const { workspaceFolder, logger } = params;
187
+ const [stagedResult, unstagedResult, untrackedResult, stagedNumstatResult, unstagedNumstatResult] = await Promise.all([
188
+ runGit(["diff", "--name-status", "-z", "--cached", "--find-renames", "--find-copies"], workspaceFolder),
189
+ runGit(["diff", "--name-status", "-z", "--find-renames", "--find-copies"], workspaceFolder),
190
+ runGit(["ls-files", "--others", "--exclude-standard"], workspaceFolder),
191
+ runGit(["diff", "--numstat", "-z", "--cached", "--find-renames", "--find-copies"], workspaceFolder),
192
+ runGit(["diff", "--numstat", "-z", "--find-renames", "--find-copies"], workspaceFolder),
193
+ ]);
194
+ for (const result of [stagedResult, unstagedResult, untrackedResult, stagedNumstatResult, unstagedNumstatResult]) {
195
+ if (!result.ok) {
196
+ logger?.warn?.({ workspaceFolder, err: result.error }, "Failed to read git status for worktree");
197
+ throw result.error;
198
+ }
199
+ }
200
+ const stagedOutput = stagedResult.stdout;
201
+ const unstagedOutput = unstagedResult.stdout;
202
+ const untrackedOutput = untrackedResult.stdout;
203
+ const stagedNumstatOutput = stagedNumstatResult.stdout;
204
+ const unstagedNumstatOutput = unstagedNumstatResult.stdout;
205
+ const entries = new Map();
206
+ applyNameStatusOutput(entries, stagedOutput, "stagedStatus");
207
+ applyNameStatusOutput(entries, unstagedOutput, "unstagedStatus");
208
+ applyUntrackedOutput(entries, untrackedOutput);
209
+ applyNumstatOutput(entries, stagedNumstatOutput, "staged");
210
+ applyNumstatOutput(entries, unstagedNumstatOutput, "unstaged");
211
+ await applyUntrackedFileStats(entries, workspaceFolder);
212
+ return Array.from(entries.values()).sort((a, b) => a.path.localeCompare(b.path));
213
+ }
214
+ function decodeGitShowResult(result, missingOk = false) {
215
+ if (result.ok)
216
+ return result.stdout;
217
+ const message = result.stderr?.trim() || result.error.message || "";
218
+ if (missingOk &&
219
+ (message.includes("exists on disk, but not in") ||
220
+ message.includes("Path '") ||
221
+ message.includes("does not exist") ||
222
+ message.includes("unknown revision or path not in the working tree"))) {
223
+ return "";
224
+ }
225
+ throw result.error;
226
+ }
227
+ async function readGitIndexBlob(workspaceFolder, normalizedPath) {
228
+ return runGit(["cat-file", "-p", `:${normalizedPath}`], workspaceFolder);
229
+ }
230
+ async function getTrackedDiffMetadata(params) {
231
+ const args = ["diff", "--numstat"];
232
+ if (params.scope === "staged") {
233
+ args.push("--cached");
234
+ }
235
+ args.push("--find-renames", "--find-copies", "--");
236
+ args.push(params.normalizedPath);
237
+ if (params.normalizedOriginalPath && params.normalizedOriginalPath !== params.normalizedPath) {
238
+ args.push(params.normalizedOriginalPath);
239
+ }
240
+ const result = await runGit(args, params.workspaceFolder);
241
+ if (!result.ok) {
242
+ throw result.error;
243
+ }
244
+ const parsed = parseSingleNumstat(result.stdout);
245
+ return { isBinary: parsed.isBinary, found: parsed.found };
246
+ }
247
+ async function getUntrackedDiffMetadata(params) {
248
+ const absolutePath = path.join(params.workspaceFolder, params.normalizedPath);
249
+ const result = await runGit(["diff", "--numstat", "--no-index", "--", "/dev/null", absolutePath], params.workspaceFolder, [0, 1]);
250
+ if (!result.ok) {
251
+ throw result.error;
252
+ }
253
+ return { isBinary: parseSingleNumstat(result.stdout).isBinary };
254
+ }
255
+ async function resolveUnstagedBeforePath(params) {
256
+ const currentPathResult = await readGitIndexBlob(params.workspaceFolder, params.normalizedPath);
257
+ if (currentPathResult.ok || !params.normalizedOriginalPath || params.normalizedOriginalPath === params.normalizedPath) {
258
+ return currentPathResult;
259
+ }
260
+ return readGitIndexBlob(params.workspaceFolder, params.normalizedOriginalPath);
261
+ }
262
+ export async function getWorktreeGitDiff(params) {
263
+ const normalizedPath = normalizeGitWorktreeRelativePath(params.path);
264
+ const normalizedOriginalPath = params.originalPath ? normalizeGitWorktreeRelativePath(params.originalPath) : null;
265
+ const trackedMetadata = await getTrackedDiffMetadata({
266
+ workspaceFolder: params.workspaceFolder,
267
+ scope: params.scope,
268
+ normalizedPath,
269
+ normalizedOriginalPath,
270
+ });
271
+ const diffMetadata = params.scope === "unstaged" && !trackedMetadata.found
272
+ ? await getUntrackedDiffMetadata({
273
+ workspaceFolder: params.workspaceFolder,
274
+ normalizedPath,
275
+ })
276
+ : trackedMetadata;
277
+ if (diffMetadata.isBinary) {
278
+ return {
279
+ path: normalizedPath,
280
+ originalPath: normalizedOriginalPath,
281
+ scope: params.scope,
282
+ before: "",
283
+ after: "",
284
+ isBinary: true,
285
+ };
286
+ }
287
+ if (params.scope === "staged") {
288
+ const [beforeResult, afterResult] = await Promise.all([
289
+ readGitBlobAsDiffText(runGit(["show", `HEAD:${normalizedOriginalPath ?? normalizedPath}`], params.workspaceFolder), true),
290
+ readGitBlobAsDiffText(readGitIndexBlob(params.workspaceFolder, normalizedPath), true),
291
+ ]);
292
+ return {
293
+ path: normalizedPath,
294
+ originalPath: normalizedOriginalPath,
295
+ scope: params.scope,
296
+ before: beforeResult,
297
+ after: afterResult,
298
+ isBinary: false,
299
+ };
300
+ }
301
+ const indexResult = await resolveUnstagedBeforePath({
302
+ workspaceFolder: params.workspaceFolder,
303
+ normalizedPath,
304
+ normalizedOriginalPath,
305
+ });
306
+ const beforeResult = await readGitBlobAsDiffText(Promise.resolve(indexResult), true);
307
+ let after = beforeResult;
308
+ const fsPath = path.join(params.workspaceFolder, normalizedPath);
309
+ try {
310
+ after = await readFileAsDiffText(fsPath);
311
+ }
312
+ catch {
313
+ after = "";
314
+ }
315
+ return {
316
+ path: normalizedPath,
317
+ originalPath: normalizedOriginalPath,
318
+ scope: params.scope,
319
+ before: beforeResult,
320
+ after,
321
+ isBinary: false,
322
+ };
323
+ }
@@ -1,6 +1,9 @@
1
1
  import path from "path";
2
2
  import { spawn } from "child_process";
3
3
  import { promises as fsp } from "fs";
4
+ function isGitUnavailableResult(result) {
5
+ return !result.ok && result.error?.code === "ENOENT";
6
+ }
4
7
  function runGit(args, cwd) {
5
8
  return new Promise((resolve) => {
6
9
  const child = spawn("git", args, { cwd, stdio: ["ignore", "pipe", "pipe"] });
@@ -28,6 +31,9 @@ function runGit(args, cwd) {
28
31
  }
29
32
  export async function resolveRepoRoot(folder, logger) {
30
33
  const result = await runGit(["rev-parse", "--show-toplevel"], folder);
34
+ if (isGitUnavailableResult(result)) {
35
+ throw new Error("Git is not installed or not available in PATH");
36
+ }
31
37
  if (!result.ok) {
32
38
  logger?.debug?.({ folder, err: result.error }, "Folder is not a Git repository; using workspace folder as root");
33
39
  return { repoRoot: folder, isGitRepo: false };
@@ -38,6 +44,10 @@ export async function resolveRepoRoot(folder, logger) {
38
44
  }
39
45
  return { repoRoot, isGitRepo: true };
40
46
  }
47
+ export async function isGitAvailable(folder) {
48
+ const result = await runGit(["--version"], folder);
49
+ return result.ok || !isGitUnavailableResult(result);
50
+ }
41
51
  function parseWorktreePorcelain(output) {
42
52
  const records = [];
43
53
  const lines = output.split(/\r?\n/);
@@ -75,13 +85,20 @@ function parseWorktreePorcelain(output) {
75
85
  }
76
86
  export async function listWorktrees(params) {
77
87
  const { repoRoot, workspaceFolder, logger } = params;
78
- const rootDescriptor = { slug: "root", directory: repoRoot, kind: "root" };
79
88
  const result = await runGit(["worktree", "list", "--porcelain"], workspaceFolder);
80
89
  if (!result.ok) {
90
+ const rootDescriptor = { slug: "root", directory: repoRoot, kind: "root" };
81
91
  logger?.debug?.({ repoRoot, err: result.error }, "Failed to list git worktrees; returning root only");
82
92
  return [rootDescriptor];
83
93
  }
84
94
  const records = parseWorktreePorcelain(result.stdout);
95
+ const rootRecord = records.find((record) => path.resolve(record.worktree) === path.resolve(repoRoot));
96
+ const rootDescriptor = {
97
+ slug: "root",
98
+ directory: repoRoot,
99
+ kind: "root",
100
+ branch: rootRecord?.branch,
101
+ };
85
102
  const worktrees = [rootDescriptor];
86
103
  const seen = new Set(["root"]);
87
104
  const normalizeSlug = (record) => {
@@ -0,0 +1,74 @@
1
+ import { realpath } from "fs/promises";
2
+ import { listWorktrees, resolveRepoRoot } from "./git-worktrees";
3
+ const WORKTREE_CACHE_TTL_MS = 2000;
4
+ const worktreeCache = new Map();
5
+ async function normalizeDirectoryPath(directory) {
6
+ const trimmed = (directory ?? "").trim();
7
+ if (!trimmed)
8
+ return "";
9
+ try {
10
+ return await realpath(trimmed);
11
+ }
12
+ catch {
13
+ return trimmed;
14
+ }
15
+ }
16
+ async function getCachedWorktrees(params) {
17
+ const cached = worktreeCache.get(params.workspaceId);
18
+ const now = Date.now();
19
+ if (cached && cached.expiresAt > now) {
20
+ return cached;
21
+ }
22
+ const { repoRoot } = await resolveRepoRoot(params.workspacePath, params.logger);
23
+ const worktrees = await listWorktrees({ repoRoot, workspaceFolder: params.workspacePath, logger: params.logger });
24
+ const entry = {
25
+ expiresAt: now + WORKTREE_CACHE_TTL_MS,
26
+ repoRoot,
27
+ worktrees: await Promise.all(worktrees.map(async (wt) => ({
28
+ slug: wt.slug,
29
+ directory: wt.directory,
30
+ normalizedDirectory: await normalizeDirectoryPath(wt.directory),
31
+ }))),
32
+ };
33
+ worktreeCache.set(params.workspaceId, entry);
34
+ return entry;
35
+ }
36
+ export async function resolveWorktreeDirectory(params) {
37
+ const cached = await getCachedWorktrees({
38
+ workspaceId: params.workspaceId,
39
+ workspacePath: params.workspacePath,
40
+ logger: params.logger,
41
+ });
42
+ const match = cached.worktrees.find((wt) => wt.slug === params.worktreeSlug);
43
+ if (match) {
44
+ return match.directory;
45
+ }
46
+ worktreeCache.delete(params.workspaceId);
47
+ const refreshed = await getCachedWorktrees({
48
+ workspaceId: params.workspaceId,
49
+ workspacePath: params.workspacePath,
50
+ logger: params.logger,
51
+ });
52
+ return refreshed.worktrees.find((wt) => wt.slug === params.worktreeSlug)?.directory ?? null;
53
+ }
54
+ export async function resolveWorktreeSlugForDirectory(params) {
55
+ const target = await normalizeDirectoryPath(params.directory ?? "");
56
+ if (!target)
57
+ return null;
58
+ const cached = await getCachedWorktrees({
59
+ workspaceId: params.workspaceId,
60
+ workspacePath: params.workspacePath,
61
+ logger: params.logger,
62
+ });
63
+ const match = cached.worktrees.find((wt) => wt.normalizedDirectory === target);
64
+ if (match) {
65
+ return match.slug;
66
+ }
67
+ worktreeCache.delete(params.workspaceId);
68
+ const refreshed = await getCachedWorktrees({
69
+ workspaceId: params.workspaceId,
70
+ workspacePath: params.workspacePath,
71
+ logger: params.logger,
72
+ });
73
+ return refreshed.worktrees.find((wt) => wt.normalizedDirectory === target)?.slug ?? null;
74
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralnomads/codenomad-dev",
3
- "version": "0.13.3-dev-20260413-1ce58b9d",
3
+ "version": "0.14.0-dev-20260417-9bf4d351",
4
4
  "description": "CodeNomad Server",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-viewer-CMM6n0T3.js","assets/git-diff-vendor-CSgooKT_.js","assets/fast-diff-vendor-DgdwVvTQ.js","assets/highlight-vendor-8FKMu9os.js","assets/git-diff-vendor-HAZkIolJ.css"])))=>i.map(i=>d[i]);
2
- import{_ as K}from"./index-DzRzoTK8.js";import{m as B,t as g,i as a,d as w,a as F,f as N}from"./monaco-viewer-CMM6n0T3.js";import{c as f,n as c,a as L,F as T,S as W,z as j,A as q}from"./git-diff-vendor-CSgooKT_.js";import{D as G}from"./DiffToolbar-CQQLR1mp.js";import{S as H}from"./SplitFilePanel-CupweEA5.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";import"./main-BsIf5lOY.js";import"./wrap-text-D2MJk2ad.js";var J=g('<div class="file-viewer-panel flex-1"><div class="file-viewer-content file-viewer-content--monaco">'),p=g("<div class=file-viewer-empty><span class=file-viewer-empty-text>"),Q=g('<div class="p-3 text-xs text-secondary">'),E=g("<div><div class=file-list-item-content><div class=file-list-item-path><span class=file-path-text></span></div><div class=file-list-item-stats><span class=file-list-item-additions>+</span><span class=file-list-item-deletions>-"),U=g("<span class=files-tab-selected-path><span class=file-path-text>"),X=g('<div class=files-tab-stats style="flex:0 0 auto"><span class="files-tab-stat files-tab-stat-additions"><span class=files-tab-stat-value>+</span></span><span class="files-tab-stat files-tab-stat-deletions"><span class=files-tab-stat-value>-'),Y=g("<div style=margin-left:auto>");const Z=q(()=>K(()=>import("./monaco-viewer-CMM6n0T3.js").then(e=>e.ad),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.MonacoDiffViewer}))),fe=e=>{const M=f(()=>e.activeSessionId()),S=f(()=>!!(M()&&M()!=="info")),D=f(()=>S()?e.activeSessionDiffs():null),m=f(()=>{const n=D();return Array.isArray(n)?[...n].sort((i,l)=>String(i.file||"").localeCompare(String(l.file||""))):[]}),R=f(()=>m().reduce((n,i)=>(n.additions+=typeof i.additions=="number"?i.additions:0,n.deletions+=typeof i.deletions=="number"?i.deletions:0,n),{additions:0,deletions:0})),I=f(()=>{const n=m();return n.length===0?null:n.reduce((i,l)=>{const v=typeof(i==null?void 0:i.additions)=="number"?i.additions:0,y=typeof(i==null?void 0:i.deletions)=="number"?i.deletions:0,x=v+y,k=typeof(l==null?void 0:l.additions)=="number"?l.additions:0,t=typeof(l==null?void 0:l.deletions)=="number"?l.deletions:0,r=k+t;return r>x?l:r<x?i:String(l.file||"").localeCompare(String((i==null?void 0:i.file)||""))<0?l:i},n[0])}),P=f(()=>{const n=e.selectedFile(),i=m();if(n){const l=i.find(v=>v.file===n);if(l)return l}return I()}),O=f(()=>`${e.instanceId}:${S()?M():"no-session"}`),V=f(()=>{if(!S())return e.t("instanceShell.sessionChanges.noSessionSelected");const n=D();return n===void 0?e.t("instanceShell.sessionChanges.loading"):!Array.isArray(n)||n.length===0?e.t("instanceShell.sessionChanges.empty"):e.t("instanceShell.filesShell.viewerEmpty")}),A=f(()=>{const n=P();return n!=null&&n.file?String(n.file):e.t("instanceShell.rightPanel.tabs.changes")});return B(()=>{const n=m(),i=R(),l=P(),v=()=>(()=>{var t=J(),r=t.firstChild;return a(r,c(W,{get when(){return l&&S()&&n.length>0?l:null},get fallback(){return(()=>{var d=p(),s=d.firstChild;return a(s,V),d})()},children:d=>c(j,{get fallback(){return(()=>{var s=p(),u=s.firstChild;return a(u,()=>e.t("instanceInfo.loading")),s})()},get children(){return c(Z,{get scopeKey(){return O()},get path(){return String(d().file||"")},get patch(){return String(d().patch||"")},get viewMode(){return e.diffViewMode()},get contextMode(){return e.diffContextMode()},get wordWrap(){return e.diffWordWrapMode()}})}})})),t})(),y=()=>(()=>{var t=Q();return a(t,V),t})();return c(H,{get header(){return[(()=>{var t=U(),r=t.firstChild;return a(r,A),L(()=>w(t,"title",A())),t})(),(()=>{var t=X(),r=t.firstChild,d=r.firstChild;d.firstChild;var s=r.nextSibling,u=s.firstChild;return u.firstChild,a(d,()=>i.additions,null),a(u,()=>i.deletions,null),t})(),(()=>{var t=Y();return a(t,c(G,{get viewMode(){return e.diffViewMode()},get contextMode(){return e.diffContextMode()},get wordWrapMode(){return e.diffWordWrapMode()},get onViewModeChange(){return e.onViewModeChange},get onContextModeChange(){return e.onContextModeChange},get onWordWrapModeChange(){return e.onWordWrapModeChange}})),t})()]},list:{panel:()=>c(W,{get when(){return n.length>0},get fallback(){return y()},get children(){return c(T,{each:n,children:t=>(()=>{var r=E(),d=r.firstChild,s=d.firstChild,u=s.firstChild,b=s.nextSibling,h=b.firstChild;h.firstChild;var C=h.nextSibling;return C.firstChild,r.$$click=()=>{e.onSelectFile(t.file,e.isPhoneLayout())},a(u,()=>t.file),a(h,()=>t.additions,null),a(C,()=>t.deletions,null),L(o=>{var _=`file-list-item ${(l==null?void 0:l.file)===t.file?"file-list-item-active":""}`,$=t.file;return _!==o.e&&F(r,o.e=_),$!==o.t&&w(s,"title",o.t=$),o},{e:void 0,t:void 0}),r})()})}}),overlay:()=>c(W,{get when(){return n.length>0},get fallback(){return y()},get children(){return c(T,{each:n,children:t=>(()=>{var r=E(),d=r.firstChild,s=d.firstChild,u=s.firstChild,b=s.nextSibling,h=b.firstChild;h.firstChild;var C=h.nextSibling;return C.firstChild,r.$$click=()=>{e.onSelectFile(t.file,!0)},a(u,()=>t.file),a(h,()=>t.additions,null),a(C,()=>t.deletions,null),L(o=>{var _=`file-list-item ${(l==null?void 0:l.file)===t.file?"file-list-item-active":""}`,$=t.file,z=t.file;return _!==o.e&&F(r,o.e=_),$!==o.t&&w(r,"title",o.t=$),z!==o.a&&w(s,"title",o.a=z),o},{e:void 0,t:void 0,a:void 0}),r})()})}})},get viewer(){return v()},get listOpen(){return e.listOpen()},get onToggleList(){return e.onToggleList},get splitWidth(){return e.splitWidth()},get onResizeMouseDown(){return e.onResizeMouseDown},get onResizeTouchStart(){return e.onResizeTouchStart},get isPhoneLayout(){return e.isPhoneLayout()},get overlayAriaLabel(){return e.t("instanceShell.rightPanel.tabs.changes")}})})};N(["click"]);export{fe as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-viewer-DrmF2KUz.js","assets/git-diff-vendor-CSgooKT_.js","assets/fast-diff-vendor-DgdwVvTQ.js","assets/highlight-vendor-8FKMu9os.js","assets/git-diff-vendor-HAZkIolJ.css"])))=>i.map(i=>d[i]);
2
+ import{_ as K}from"./index-CP2CRaiZ.js";import{m as B,t as g,i as a,d as w,a as F,f as N}from"./monaco-viewer-DrmF2KUz.js";import{c as f,n as c,a as L,F as T,S as W,z as j,A as q}from"./git-diff-vendor-CSgooKT_.js";import{D as G}from"./DiffToolbar-C0C8bWki.js";import{S as H}from"./SplitFilePanel-VxErPoCs.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";import"./main-CBLtYtDo.js";import"./wrap-text-DKmMMyWB.js";var J=g('<div class="file-viewer-panel flex-1"><div class="file-viewer-content file-viewer-content--monaco">'),p=g("<div class=file-viewer-empty><span class=file-viewer-empty-text>"),Q=g('<div class="p-3 text-xs text-secondary">'),E=g("<div><div class=file-list-item-content><div class=file-list-item-path><span class=file-path-text></span></div><div class=file-list-item-stats><span class=file-list-item-additions>+</span><span class=file-list-item-deletions>-"),U=g("<span class=files-tab-selected-path><span class=file-path-text>"),X=g('<div class=files-tab-stats style="flex:0 0 auto"><span class="files-tab-stat files-tab-stat-additions"><span class=files-tab-stat-value>+</span></span><span class="files-tab-stat files-tab-stat-deletions"><span class=files-tab-stat-value>-'),Y=g("<div style=margin-left:auto>");const Z=q(()=>K(()=>import("./monaco-viewer-DrmF2KUz.js").then(e=>e.ad),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.MonacoDiffViewer}))),fe=e=>{const M=f(()=>e.activeSessionId()),S=f(()=>!!(M()&&M()!=="info")),D=f(()=>S()?e.activeSessionDiffs():null),m=f(()=>{const n=D();return Array.isArray(n)?[...n].sort((i,l)=>String(i.file||"").localeCompare(String(l.file||""))):[]}),R=f(()=>m().reduce((n,i)=>(n.additions+=typeof i.additions=="number"?i.additions:0,n.deletions+=typeof i.deletions=="number"?i.deletions:0,n),{additions:0,deletions:0})),I=f(()=>{const n=m();return n.length===0?null:n.reduce((i,l)=>{const v=typeof(i==null?void 0:i.additions)=="number"?i.additions:0,y=typeof(i==null?void 0:i.deletions)=="number"?i.deletions:0,x=v+y,k=typeof(l==null?void 0:l.additions)=="number"?l.additions:0,t=typeof(l==null?void 0:l.deletions)=="number"?l.deletions:0,r=k+t;return r>x?l:r<x?i:String(l.file||"").localeCompare(String((i==null?void 0:i.file)||""))<0?l:i},n[0])}),P=f(()=>{const n=e.selectedFile(),i=m();if(n){const l=i.find(v=>v.file===n);if(l)return l}return I()}),O=f(()=>`${e.instanceId}:${S()?M():"no-session"}`),V=f(()=>{if(!S())return e.t("instanceShell.sessionChanges.noSessionSelected");const n=D();return n===void 0?e.t("instanceShell.sessionChanges.loading"):!Array.isArray(n)||n.length===0?e.t("instanceShell.sessionChanges.empty"):e.t("instanceShell.filesShell.viewerEmpty")}),A=f(()=>{const n=P();return n!=null&&n.file?String(n.file):e.t("instanceShell.rightPanel.tabs.changes")});return B(()=>{const n=m(),i=R(),l=P(),v=()=>(()=>{var t=J(),r=t.firstChild;return a(r,c(W,{get when(){return l&&S()&&n.length>0?l:null},get fallback(){return(()=>{var d=p(),s=d.firstChild;return a(s,V),d})()},children:d=>c(j,{get fallback(){return(()=>{var s=p(),u=s.firstChild;return a(u,()=>e.t("instanceInfo.loading")),s})()},get children(){return c(Z,{get scopeKey(){return O()},get path(){return String(d().file||"")},get patch(){return String(d().patch||"")},get viewMode(){return e.diffViewMode()},get contextMode(){return e.diffContextMode()},get wordWrap(){return e.diffWordWrapMode()}})}})})),t})(),y=()=>(()=>{var t=Q();return a(t,V),t})();return c(H,{get header(){return[(()=>{var t=U(),r=t.firstChild;return a(r,A),L(()=>w(t,"title",A())),t})(),(()=>{var t=X(),r=t.firstChild,d=r.firstChild;d.firstChild;var s=r.nextSibling,u=s.firstChild;return u.firstChild,a(d,()=>i.additions,null),a(u,()=>i.deletions,null),t})(),(()=>{var t=Y();return a(t,c(G,{get viewMode(){return e.diffViewMode()},get contextMode(){return e.diffContextMode()},get wordWrapMode(){return e.diffWordWrapMode()},get onViewModeChange(){return e.onViewModeChange},get onContextModeChange(){return e.onContextModeChange},get onWordWrapModeChange(){return e.onWordWrapModeChange}})),t})()]},list:{panel:()=>c(W,{get when(){return n.length>0},get fallback(){return y()},get children(){return c(T,{each:n,children:t=>(()=>{var r=E(),d=r.firstChild,s=d.firstChild,u=s.firstChild,b=s.nextSibling,h=b.firstChild;h.firstChild;var C=h.nextSibling;return C.firstChild,r.$$click=()=>{e.onSelectFile(t.file,e.isPhoneLayout())},a(u,()=>t.file),a(h,()=>t.additions,null),a(C,()=>t.deletions,null),L(o=>{var _=`file-list-item ${(l==null?void 0:l.file)===t.file?"file-list-item-active":""}`,$=t.file;return _!==o.e&&F(r,o.e=_),$!==o.t&&w(s,"title",o.t=$),o},{e:void 0,t:void 0}),r})()})}}),overlay:()=>c(W,{get when(){return n.length>0},get fallback(){return y()},get children(){return c(T,{each:n,children:t=>(()=>{var r=E(),d=r.firstChild,s=d.firstChild,u=s.firstChild,b=s.nextSibling,h=b.firstChild;h.firstChild;var C=h.nextSibling;return C.firstChild,r.$$click=()=>{e.onSelectFile(t.file,!0)},a(u,()=>t.file),a(h,()=>t.additions,null),a(C,()=>t.deletions,null),L(o=>{var _=`file-list-item ${(l==null?void 0:l.file)===t.file?"file-list-item-active":""}`,$=t.file,z=t.file;return _!==o.e&&F(r,o.e=_),$!==o.t&&w(r,"title",o.t=$),z!==o.a&&w(s,"title",o.a=z),o},{e:void 0,t:void 0,a:void 0}),r})()})}})},get viewer(){return v()},get listOpen(){return e.listOpen()},get onToggleList(){return e.onToggleList},get splitWidth(){return e.splitWidth()},get onResizeMouseDown(){return e.onResizeMouseDown},get onResizeTouchStart(){return e.onResizeTouchStart},get isPhoneLayout(){return e.isPhoneLayout()},get overlayAriaLabel(){return e.t("instanceShell.rightPanel.tabs.changes")}})})};N(["click"]);export{fe as default};
@@ -1 +1 @@
1
- import{t as g,i as c,m as W,d as i,a as S,f as C}from"./monaco-viewer-CMM6n0T3.js";import{u as T}from"./index-DzRzoTK8.js";import{n as o,m as $,a as V}from"./git-diff-vendor-CSgooKT_.js";import{I as U,S as A,O as I}from"./main-BsIf5lOY.js";import{A as D,W as E}from"./wrap-text-D2MJk2ad.js";const F=[["path",{d:"M12 22v-6",key:"6o8u61"}],["path",{d:"M12 8V2",key:"1wkif3"}],["path",{d:"M4 12H2",key:"rhcxmi"}],["path",{d:"M10 12H8",key:"s88cx1"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}],["path",{d:"m15 19-3 3-3-3",key:"11eu04"}],["path",{d:"m15 5-3-3-3 3",key:"itvq4r"}]],H=t=>o(U,$(t,{name:"UnfoldVertical",iconNode:F}));var N=g("<div class=file-viewer-toolbar><button type=button class=file-viewer-toolbar-icon-button></button><button type=button class=file-viewer-toolbar-icon-button></button><button type=button>");const R=t=>{const{t:a}=T(),r=()=>t.viewMode==="split"?"unified":"split",s=()=>t.contextMode==="collapsed"?"expanded":"collapsed",h=()=>t.wordWrapMode==="on"?"off":"on",f=()=>r()==="split"?a("instanceShell.diff.switchToSplit"):a("instanceShell.diff.switchToUnified"),v=()=>s()==="collapsed"?a("instanceShell.diff.hideUnchanged"):a("instanceShell.diff.showFull"),u=()=>h()==="on"?a("instanceShell.diff.enableWordWrap"):a("instanceShell.diff.disableWordWrap");return(()=>{var b=N(),n=b.firstChild,l=n.nextSibling,d=l.nextSibling;return n.$$click=()=>t.onViewModeChange(r()),c(n,(()=>{var e=W(()=>r()==="split");return()=>e()?o(A,{class:"h-4 w-4","aria-hidden":"true"}):o(D,{class:"h-4 w-4","aria-hidden":"true"})})()),l.$$click=()=>t.onContextModeChange(s()),c(l,(()=>{var e=W(()=>s()==="collapsed");return()=>e()?o(I,{class:"h-4 w-4","aria-hidden":"true"}):o(H,{class:"h-4 w-4","aria-hidden":"true"})})()),d.$$click=()=>t.onWordWrapModeChange(h()),c(d,o(E,{class:"h-4 w-4","aria-hidden":"true"})),V(e=>{var m=f(),w=f(),M=v(),p=v(),x=`file-viewer-toolbar-icon-button${t.wordWrapMode==="on"?" active":""}`,k=u(),y=u();return m!==e.e&&i(n,"aria-label",e.e=m),w!==e.t&&i(n,"title",e.t=w),M!==e.a&&i(l,"aria-label",e.a=M),p!==e.o&&i(l,"title",e.o=p),x!==e.i&&S(d,e.i=x),k!==e.n&&i(d,"aria-label",e.n=k),y!==e.s&&i(d,"title",e.s=y),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),b})()};C(["click"]);export{R as D};
1
+ import{t as g,i as c,m as W,d as i,a as S,f as T}from"./monaco-viewer-DrmF2KUz.js";import{u as C}from"./index-CP2CRaiZ.js";import{n as o,m as $,a as V}from"./git-diff-vendor-CSgooKT_.js";import{I as U,S as A,T as I}from"./main-CBLtYtDo.js";import{A as D,W as E}from"./wrap-text-DKmMMyWB.js";const F=[["path",{d:"M12 22v-6",key:"6o8u61"}],["path",{d:"M12 8V2",key:"1wkif3"}],["path",{d:"M4 12H2",key:"rhcxmi"}],["path",{d:"M10 12H8",key:"s88cx1"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}],["path",{d:"m15 19-3 3-3-3",key:"11eu04"}],["path",{d:"m15 5-3-3-3 3",key:"itvq4r"}]],H=t=>o(U,$(t,{name:"UnfoldVertical",iconNode:F}));var N=g("<div class=file-viewer-toolbar><button type=button class=file-viewer-toolbar-icon-button></button><button type=button class=file-viewer-toolbar-icon-button></button><button type=button>");const z=t=>{const{t:a}=C(),r=()=>t.viewMode==="split"?"unified":"split",s=()=>t.contextMode==="collapsed"?"expanded":"collapsed",h=()=>t.wordWrapMode==="on"?"off":"on",f=()=>r()==="split"?a("instanceShell.diff.switchToSplit"):a("instanceShell.diff.switchToUnified"),v=()=>s()==="collapsed"?a("instanceShell.diff.hideUnchanged"):a("instanceShell.diff.showFull"),u=()=>h()==="on"?a("instanceShell.diff.enableWordWrap"):a("instanceShell.diff.disableWordWrap");return(()=>{var b=N(),n=b.firstChild,l=n.nextSibling,d=l.nextSibling;return n.$$click=()=>t.onViewModeChange(r()),c(n,(()=>{var e=W(()=>r()==="split");return()=>e()?o(A,{class:"h-4 w-4","aria-hidden":"true"}):o(D,{class:"h-4 w-4","aria-hidden":"true"})})()),l.$$click=()=>t.onContextModeChange(s()),c(l,(()=>{var e=W(()=>s()==="collapsed");return()=>e()?o(I,{class:"h-4 w-4","aria-hidden":"true"}):o(H,{class:"h-4 w-4","aria-hidden":"true"})})()),d.$$click=()=>t.onWordWrapModeChange(h()),c(d,o(E,{class:"h-4 w-4","aria-hidden":"true"})),V(e=>{var m=f(),w=f(),M=v(),p=v(),x=`file-viewer-toolbar-icon-button${t.wordWrapMode==="on"?" active":""}`,k=u(),y=u();return m!==e.e&&i(n,"aria-label",e.e=m),w!==e.t&&i(n,"title",e.t=w),M!==e.a&&i(l,"aria-label",e.a=M),p!==e.o&&i(l,"title",e.o=p),x!==e.i&&S(d,e.i=x),k!==e.n&&i(d,"aria-label",e.n=k),y!==e.s&&i(d,"title",e.s=y),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),b})()};T(["click"]);export{z as D};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-viewer-CMM6n0T3.js","assets/git-diff-vendor-CSgooKT_.js","assets/fast-diff-vendor-DgdwVvTQ.js","assets/highlight-vendor-8FKMu9os.js","assets/git-diff-vendor-HAZkIolJ.css"])))=>i.map(i=>d[i]);
2
- import{_ as R}from"./index-DzRzoTK8.js";import{m as _,t as o,i as s,d as c,a as z,f as I}from"./monaco-viewer-CMM6n0T3.js";import{n as i,m as D,S as d,a as v,F,z as V,A as M}from"./git-diff-vendor-CSgooKT_.js";import{S as T}from"./SplitFilePanel-CupweEA5.js";import{I as A,R as y}from"./main-BsIf5lOY.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";const O=[["path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z",key:"1owoqh"}],["polyline",{points:"17 21 17 13 7 13 7 21",key:"1md35c"}],["polyline",{points:"7 3 7 8 15 8",key:"8nz8an"}]],q=e=>i(A,D(e,{name:"Save",iconNode:O}));var g=o("<div class=file-viewer-empty><span class=file-viewer-empty-text>"),K=o('<div class="file-viewer-panel flex-1"><div class="file-viewer-content file-viewer-content--monaco">'),N=o('<div class="p-3 text-xs text-secondary">'),W=o("<div class=file-list-item><div class=file-list-item-content><div class=file-list-item-path><span class=file-path-text>.."),H=o('<div><div class=file-list-item-content><div class=file-list-item-path><span class=file-path-text></span></div><div class=file-list-item-stats><span class="text-[10px] text-secondary">'),j=o("<span>"),B=o("<div class=files-tab-stats><span class=files-tab-stat><span class=files-tab-selected-path><span class=file-path-text>"),G=o("<button type=button class=files-header-icon-button style=margin-inline-start:auto>"),J=o("<button type=button class=files-header-icon-button>"),Q=o("<span class=text-error>");const U=M(()=>R(()=>import("./monaco-viewer-CMM6n0T3.js").then(e=>e.ae),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.MonacoFileViewer}))),ae=e=>{const C=()=>{const h=e.browserSelectedContent();h!=null&&e.onSave(h)};return _(()=>{const h=e.browserEntries(),P=[...h||[]].sort((t,n)=>{const r=t.type==="directory"?0:1,l=n.type==="directory"?0:1;return r!==l?r-l:String(t.name||"").localeCompare(String(n.name||""))}),L=e.parentPath(),w=()=>e.browserSelectedPath()||e.browserPath(),x=()=>e.browserLoading()&&h===null?e.t("instanceInfo.loading"):e.t("instanceShell.filesShell.viewerEmpty"),k=()=>(()=>{var t=K(),n=t.firstChild;return s(n,i(d,{get when(){return e.browserSelectedLoading()},get fallback(){return i(d,{get when(){return e.browserSelectedError()},get fallback(){return i(d,{get when(){return _(()=>!!(e.browserSelectedPath()&&e.browserSelectedContent()!==null))()?{path:e.browserSelectedPath(),content:e.browserSelectedContent()}:null},get fallback(){return(()=>{var r=g(),l=r.firstChild;return s(l,x),r})()},children:r=>i(V,{get fallback(){return(()=>{var l=g(),a=l.firstChild;return s(a,()=>e.t("instanceInfo.loading")),l})()},get children(){return i(U,{get scopeKey(){return e.scopeKey()},get path(){return r().path},get content(){return r().content},get onSave(){return e.onSave},get onContentChange(){return e.onContentChange}})}})})},children:r=>(()=>{var l=g(),a=l.firstChild;return s(a,r),l})()})},get children(){var r=g(),l=r.firstChild;return s(l,()=>e.t("instanceInfo.loading")),r}})),t})(),m=()=>[i(d,{when:L,children:t=>(()=>{var n=W(),r=n.firstChild,l=r.firstChild;return n.$$click=()=>e.onLoadEntries(t()),v(()=>c(l,"title",t())),n})()}),i(d,{get when(){return e.browserLoading()&&h===null},get children(){var t=N();return s(t,()=>e.t("instanceInfo.loading")),t}}),i(F,{each:P,children:t=>(()=>{var n=H(),r=n.firstChild,l=r.firstChild,a=l.firstChild,f=l.nextSibling,E=f.firstChild;return n.$$click=()=>{if(t.type==="directory"){e.onLoadEntries(t.path);return}e.onRequestOpenFile(t.path)},s(a,()=>t.name),s(E,()=>t.type),v(u=>{var b=`file-list-item ${e.browserSelectedPath()===t.path?"file-list-item-active":""}`,S=t.path,$=t.path;return b!==u.e&&z(n,u.e=b),S!==u.t&&c(n,"title",u.t=S),$!==u.a&&c(l,"title",u.a=$),u},{e:void 0,t:void 0,a:void 0}),n})()})];return i(T,{get header(){return[(()=>{var t=B(),n=t.firstChild,r=n.firstChild,l=r.firstChild;return s(l,w),s(t,i(d,{get when(){return e.browserLoading()},get children(){var a=j();return s(a,()=>e.t("instanceInfo.loading")),a}}),null),s(t,i(d,{get when(){return e.browserError()},children:a=>(()=>{var f=Q();return s(f,a),f})()}),null),v(()=>c(r,"title",w())),t})(),(()=>{var t=G();return t.$$click=C,s(t,i(d,{get when(){return e.browserSelectedSaving()},get fallback(){return i(q,{class:"h-4 w-4"})},get children(){return i(y,{class:"h-4 w-4 animate-spin"})}})),v(n=>{var r=e.t("instanceShell.rightPanel.actions.save")||"Save (Ctrl+S)",l=e.t("instanceShell.rightPanel.actions.save")||"Save",a=e.browserSelectedSaving()||!e.browserSelectedDirty();return r!==n.e&&c(t,"title",n.e=r),l!==n.t&&c(t,"aria-label",n.t=l),a!==n.a&&(t.disabled=n.a=a),n},{e:void 0,t:void 0,a:void 0}),t})(),(()=>{var t=J();return t.$$click=()=>e.onRefresh(),s(t,i(y,{get class(){return`h-4 w-4${e.browserLoading()?" animate-spin":""}`}})),v(n=>{var r=e.t("instanceShell.rightPanel.actions.refresh"),l=e.t("instanceShell.rightPanel.actions.refresh"),a=e.browserLoading();return r!==n.e&&c(t,"title",n.e=r),l!==n.t&&c(t,"aria-label",n.t=l),a!==n.a&&(t.disabled=n.a=a),n},{e:void 0,t:void 0,a:void 0}),t})()]},list:{panel:m,overlay:m},get viewer(){return k()},get listOpen(){return e.listOpen()},get onToggleList(){return e.onToggleList},get splitWidth(){return e.splitWidth()},get onResizeMouseDown(){return e.onResizeMouseDown},get onResizeTouchStart(){return e.onResizeTouchStart},get isPhoneLayout(){return e.isPhoneLayout()},get overlayAriaLabel(){return e.t("instanceShell.rightPanel.tabs.files")}})})};I(["click"]);export{ae as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-viewer-DrmF2KUz.js","assets/git-diff-vendor-CSgooKT_.js","assets/fast-diff-vendor-DgdwVvTQ.js","assets/highlight-vendor-8FKMu9os.js","assets/git-diff-vendor-HAZkIolJ.css"])))=>i.map(i=>d[i]);
2
+ import{_ as R}from"./index-CP2CRaiZ.js";import{m as _,t as o,i as s,d as c,a as z,f as I}from"./monaco-viewer-DrmF2KUz.js";import{n as i,m as D,S as d,a as v,F,z as V,A as M}from"./git-diff-vendor-CSgooKT_.js";import{S as T}from"./SplitFilePanel-VxErPoCs.js";import{I as A,R as y}from"./main-CBLtYtDo.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";const O=[["path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z",key:"1owoqh"}],["polyline",{points:"17 21 17 13 7 13 7 21",key:"1md35c"}],["polyline",{points:"7 3 7 8 15 8",key:"8nz8an"}]],q=e=>i(A,D(e,{name:"Save",iconNode:O}));var g=o("<div class=file-viewer-empty><span class=file-viewer-empty-text>"),K=o('<div class="file-viewer-panel flex-1"><div class="file-viewer-content file-viewer-content--monaco">'),N=o('<div class="p-3 text-xs text-secondary">'),W=o("<div class=file-list-item><div class=file-list-item-content><div class=file-list-item-path><span class=file-path-text>.."),H=o('<div><div class=file-list-item-content><div class=file-list-item-path><span class=file-path-text></span></div><div class=file-list-item-stats><span class="text-[10px] text-secondary">'),j=o("<span>"),B=o("<div class=files-tab-stats><span class=files-tab-stat><span class=files-tab-selected-path><span class=file-path-text>"),G=o("<button type=button class=files-header-icon-button style=margin-inline-start:auto>"),J=o("<button type=button class=files-header-icon-button>"),Q=o("<span class=text-error>");const U=M(()=>R(()=>import("./monaco-viewer-DrmF2KUz.js").then(e=>e.ae),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.MonacoFileViewer}))),ae=e=>{const C=()=>{const h=e.browserSelectedContent();h!=null&&e.onSave(h)};return _(()=>{const h=e.browserEntries(),P=[...h||[]].sort((t,n)=>{const r=t.type==="directory"?0:1,l=n.type==="directory"?0:1;return r!==l?r-l:String(t.name||"").localeCompare(String(n.name||""))}),L=e.parentPath(),w=()=>e.browserSelectedPath()||e.browserPath(),x=()=>e.browserLoading()&&h===null?e.t("instanceInfo.loading"):e.t("instanceShell.filesShell.viewerEmpty"),k=()=>(()=>{var t=K(),n=t.firstChild;return s(n,i(d,{get when(){return e.browserSelectedLoading()},get fallback(){return i(d,{get when(){return e.browserSelectedError()},get fallback(){return i(d,{get when(){return _(()=>!!(e.browserSelectedPath()&&e.browserSelectedContent()!==null))()?{path:e.browserSelectedPath(),content:e.browserSelectedContent()}:null},get fallback(){return(()=>{var r=g(),l=r.firstChild;return s(l,x),r})()},children:r=>i(V,{get fallback(){return(()=>{var l=g(),a=l.firstChild;return s(a,()=>e.t("instanceInfo.loading")),l})()},get children(){return i(U,{get scopeKey(){return e.scopeKey()},get path(){return r().path},get content(){return r().content},get onSave(){return e.onSave},get onContentChange(){return e.onContentChange}})}})})},children:r=>(()=>{var l=g(),a=l.firstChild;return s(a,r),l})()})},get children(){var r=g(),l=r.firstChild;return s(l,()=>e.t("instanceInfo.loading")),r}})),t})(),m=()=>[i(d,{when:L,children:t=>(()=>{var n=W(),r=n.firstChild,l=r.firstChild;return n.$$click=()=>e.onLoadEntries(t()),v(()=>c(l,"title",t())),n})()}),i(d,{get when(){return e.browserLoading()&&h===null},get children(){var t=N();return s(t,()=>e.t("instanceInfo.loading")),t}}),i(F,{each:P,children:t=>(()=>{var n=H(),r=n.firstChild,l=r.firstChild,a=l.firstChild,f=l.nextSibling,E=f.firstChild;return n.$$click=()=>{if(t.type==="directory"){e.onLoadEntries(t.path);return}e.onRequestOpenFile(t.path)},s(a,()=>t.name),s(E,()=>t.type),v(u=>{var b=`file-list-item ${e.browserSelectedPath()===t.path?"file-list-item-active":""}`,S=t.path,$=t.path;return b!==u.e&&z(n,u.e=b),S!==u.t&&c(n,"title",u.t=S),$!==u.a&&c(l,"title",u.a=$),u},{e:void 0,t:void 0,a:void 0}),n})()})];return i(T,{get header(){return[(()=>{var t=B(),n=t.firstChild,r=n.firstChild,l=r.firstChild;return s(l,w),s(t,i(d,{get when(){return e.browserLoading()},get children(){var a=j();return s(a,()=>e.t("instanceInfo.loading")),a}}),null),s(t,i(d,{get when(){return e.browserError()},children:a=>(()=>{var f=Q();return s(f,a),f})()}),null),v(()=>c(r,"title",w())),t})(),(()=>{var t=G();return t.$$click=C,s(t,i(d,{get when(){return e.browserSelectedSaving()},get fallback(){return i(q,{class:"h-4 w-4"})},get children(){return i(y,{class:"h-4 w-4 animate-spin"})}})),v(n=>{var r=e.t("instanceShell.rightPanel.actions.save")||"Save (Ctrl+S)",l=e.t("instanceShell.rightPanel.actions.save")||"Save",a=e.browserSelectedSaving()||!e.browserSelectedDirty();return r!==n.e&&c(t,"title",n.e=r),l!==n.t&&c(t,"aria-label",n.t=l),a!==n.a&&(t.disabled=n.a=a),n},{e:void 0,t:void 0,a:void 0}),t})(),(()=>{var t=J();return t.$$click=()=>e.onRefresh(),s(t,i(y,{get class(){return`h-4 w-4${e.browserLoading()?" animate-spin":""}`}})),v(n=>{var r=e.t("instanceShell.rightPanel.actions.refresh"),l=e.t("instanceShell.rightPanel.actions.refresh"),a=e.browserLoading();return r!==n.e&&c(t,"title",n.e=r),l!==n.t&&c(t,"aria-label",n.t=l),a!==n.a&&(t.disabled=n.a=a),n},{e:void 0,t:void 0,a:void 0}),t})()]},list:{panel:m,overlay:m},get viewer(){return k()},get listOpen(){return e.listOpen()},get onToggleList(){return e.onToggleList},get splitWidth(){return e.splitWidth()},get onResizeMouseDown(){return e.onResizeMouseDown},get onResizeTouchStart(){return e.onResizeTouchStart},get isPhoneLayout(){return e.isPhoneLayout()},get overlayAriaLabel(){return e.t("instanceShell.rightPanel.tabs.files")}})})};I(["click"]);export{ae as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-viewer-DrmF2KUz.js","assets/git-diff-vendor-CSgooKT_.js","assets/fast-diff-vendor-DgdwVvTQ.js","assets/highlight-vendor-8FKMu9os.js","assets/git-diff-vendor-HAZkIolJ.css"])))=>i.map(i=>d[i]);
2
+ import{_ as se}from"./index-CP2CRaiZ.js";import{m as R,t as h,i as n,d as b,j as U,a as j,f as le}from"./monaco-viewer-DrmF2KUz.js";import{n as r,m as re,c as m,a as L,S as w,F as Q,z as ce,A as oe}from"./git-diff-vendor-CSgooKT_.js";import{D as de}from"./DiffToolbar-C0C8bWki.js";import{S as ge}from"./SplitFilePanel-VxErPoCs.js";import{I as he,O as ue,R as fe,P as H,Q as J}from"./main-CBLtYtDo.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";import"./wrap-text-DKmMMyWB.js";const me=[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]],ve=e=>r(he,re(e,{name:"GitBranch",iconNode:me}));var V=h("<div class=file-viewer-empty><span class=file-viewer-empty-text>"),Ce=h('<div class="file-viewer-panel flex-1"><div class="file-viewer-content file-viewer-content--monaco">'),$e=h('<div class="p-3 text-xs text-secondary">'),be=h('<span class="git-change-row-action-bar git-change-row-action-bar-vertical">'),_e=h('<div><div class=file-list-item-content><div class=file-list-item-path><span class=file-path-text></span></div><div class=git-change-list-item-right><div class=file-list-item-stats><span class=file-list-item-additions>+</span><span class=file-list-item-deletions>-</span></div></div></div><div class=git-change-list-item-actions-zone><div class=git-change-list-item-actions><button type=button class=git-change-row-action><span aria-hidden=true><span class="git-change-row-action-bar git-change-row-action-bar-horizontal">'),we=h("<div class=git-change-section-items>"),Se=h("<div class=git-change-section><button type=button class=git-change-section-header><span class=git-change-section-header-main><span class=git-change-section-chevron></span><span class=git-change-section-title></span></span><span class=git-change-section-count>"),ye=h('<div class=git-change-section-items><div class=git-change-commit-box><div class=git-change-commit-input-wrap><textarea class=git-change-commit-input rows=1></textarea><button type=button class="git-change-commit-button git-change-commit-button-overlay">'),xe=h("<div class=git-change-sections><div class=git-change-section><button type=button class=git-change-section-header><span class=git-change-section-header-main><span class=git-change-section-chevron></span><span class=git-change-section-title-row><span class=git-change-section-title></span></span></span><span class=git-change-section-count>"),Ie=h('<span class="status-indicator session-status-list worktree-indicator git-change-section-badge"><span class=worktree-indicator-label>'),Me=h("<span class=files-tab-selected-path><span class=file-path-text>"),ke=h('<div class=files-tab-stats style="flex:0 0 auto"><span class="files-tab-stat files-tab-stat-additions"><span class=files-tab-stat-value>+</span></span><span class="files-tab-stat files-tab-stat-deletions"><span class=files-tab-stat-value>-'),Le=h("<button type=button class=files-header-icon-button style=margin-left:auto>"),Ee=h("<span class=text-error>");const Pe=oe(()=>se(()=>import("./monaco-viewer-DrmF2KUz.js").then(e=>e.ad),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.MonacoDiffViewer}))),Ge=e=>{const T=m(()=>e.activeSessionId()),W=m(()=>!!(T()&&T()!=="info")),A=m(()=>W()?e.entries():null),X=m(()=>{const o=A();return Array.isArray(o)?[...o].sort((d,x)=>String(d.path||"").localeCompare(String(x.path||""))):[]}),S=m(()=>ue(X())),Y=m(()=>S().reduce((o,d)=>(o.additions+=typeof d.additions=="number"?d.additions:0,o.deletions+=typeof d.deletions=="number"?d.deletions:0,o),{additions:0,deletions:0})),z=m(()=>S().filter(o=>o.section==="staged")),Z=m(()=>S().filter(o=>o.section==="unstaged")),p=m(()=>z().length>0&&e.commitMessage().trim().length>0&&!e.commitSubmitting()),ee=m(()=>{const o=S(),d=e.selectedItemId(),x=e.mostChangedItemId(),I=o.find(E=>E.id===d)||(x?o.find(E=>E.id===x):void 0);return(I==null?void 0:I.entry)??null}),D=m(()=>W()?A()===null?e.t("instanceShell.gitChanges.loading"):S().length===0?e.t("instanceShell.gitChanges.empty"):e.t("instanceShell.filesShell.viewerEmpty"):e.t("instanceShell.gitChanges.noSessionSelected")),te=m(()=>e.selectedError()===e.t("instanceShell.gitChanges.binaryViewer"));return R(()=>{const o=Y(),d=ee(),x=S(),I=z(),E=Z(),ne=()=>(()=>{var t=Ce(),l=t.firstChild;return n(l,r(w,{get when(){return e.selectedLoading()},get fallback(){return r(w,{get when(){return e.selectedError()},get fallback(){return r(w,{get when(){return R(()=>!!(d&&e.selectedBefore()!==null&&e.selectedAfter()!==null))()?{path:d.path,before:e.selectedBefore(),after:e.selectedAfter()}:null},get fallback(){return(()=>{var i=V(),s=i.firstChild;return n(s,D),i})()},children:i=>r(ce,{get fallback(){return(()=>{var s=V(),a=s.firstChild;return n(a,()=>e.t("instanceInfo.loading")),s})()},get children(){return r(Pe,{get scopeKey(){return e.scopeKey()},get path(){return String(i().path||"")},get before(){return String(i().before||"")},get after(){return String(i().after||"")},get viewMode(){return e.diffViewMode()},get contextMode(){return e.diffContextMode()},get wordWrap(){return e.diffWordWrapMode()},get insertContextLabel(){return e.t("instanceShell.gitChanges.actions.insertContext")},get onRequestInsertContext(){return te()?void 0:s=>{const a=e.selectedItemId();if(!a)return;const g=S().find(u=>u.id===a);g&&e.onInsertContext(g,s)}}})}})})},children:i=>(()=>{var s=V(),a=s.firstChild;return n(a,i),s})()})},get children(){var i=V(),s=i.firstChild;return n(s,()=>e.t("instanceInfo.loading")),i}})),t})(),ie=()=>(()=>{var t=$e();return n(t,D),t})(),B=t=>{const l=m(()=>e.selectedBulkItemIds().has(t.id)),i=t.section==="staged"?e.t("instanceShell.gitChanges.actions.unstage"):e.t("instanceShell.gitChanges.actions.stage"),s=()=>{t.section==="staged"?e.onUnstageFile(t):e.onStageFile(t)};return(()=>{var a=_e(),g=a.firstChild,u=g.firstChild,M=u.firstChild,v=u.nextSibling,$=v.firstChild,C=$.firstChild;C.firstChild;var _=C.nextSibling;_.firstChild;var P=g.nextSibling,f=P.firstChild,y=f.firstChild,k=y.firstChild;return k.firstChild,a.$$click=c=>e.onRowClick(t,c),a.$$mousedown=c=>{(c.shiftKey||c.ctrlKey||c.metaKey)&&c.preventDefault()},n(M,()=>t.path),n(C,()=>t.additions,null),n(_,()=>t.deletions,null),y.$$click=c=>{c.stopPropagation(),s()},b(y,"title",i),b(y,"aria-label",i),n(k,r(w,{get when(){return t.section!=="staged"},get children(){return be()}}),null),L(c=>{var F=`file-list-item git-change-list-item ${e.selectedItemId()===t.id?"file-list-item-active":""} ${l()?"git-change-list-item-bulk-selected":""}`,G=t.path,K=t.path,q=t.path,N=`git-change-row-action-glyph ${t.section==="staged"?"git-change-row-action-glyph-minus":"git-change-row-action-glyph-plus"}`;return F!==c.e&&j(a,c.e=F),G!==c.t&&b(a,"title",c.t=G),K!==c.a&&b(g,"title",c.a=K),q!==c.o&&b(u,"title",c.o=q),N!==c.i&&j(k,c.i=N),c},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),a})()},ae=(t,l,i,s)=>(()=>{var a=Se(),g=a.firstChild,u=g.firstChild,M=u.firstChild,v=M.nextSibling,$=u.nextSibling;return U(g,"click",s,!0),n(M,i?r(H,{class:"h-3.5 w-3.5"}):r(J,{class:"h-3.5 w-3.5"})),n(v,t),n($,()=>l.length),n(a,r(w,{when:i,get children(){var C=we();return n(C,r(Q,{each:l,children:_=>B(_)})),C}}),null),a})(),O=()=>r(w,{get when(){return x.length>0},get fallback(){return ie()},get children(){var t=xe(),l=t.firstChild,i=l.firstChild,s=i.firstChild,a=s.firstChild,g=a.nextSibling,u=g.firstChild,M=s.nextSibling;return U(i,"click",e.onToggleStagedOpen,!0),n(a,(()=>{var v=R(()=>!!e.stagedOpen());return()=>v()?r(H,{class:"h-3.5 w-3.5"}):r(J,{class:"h-3.5 w-3.5"})})()),n(u,()=>e.t("instanceShell.gitChanges.sections.staged")),n(g,r(w,{get when(){return e.branchLabel()},children:v=>(()=>{var $=Ie(),C=$.firstChild;return n($,r(ve,{class:"w-3.5 h-3.5","aria-hidden":"true"}),C),n(C,v),L(()=>b($,"title",`Branch: ${v()}`)),$})()}),null),n(M,()=>I.length),n(l,r(w,{get when(){return e.stagedOpen()},get children(){var v=ye(),$=v.firstChild,C=$.firstChild,_=C.firstChild,P=_.nextSibling;return _.$$input=f=>e.onCommitMessageInput(f.currentTarget.value),P.$$click=()=>e.onSubmitCommit(),n(P,(()=>{var f=R(()=>!!e.commitSubmitting());return()=>f()?e.t("instanceShell.gitChanges.commit.submitting"):e.t("instanceShell.gitChanges.commit.submit")})()),n(v,r(Q,{each:I,children:f=>B(f)}),null),L(f=>{var y=e.t("instanceShell.gitChanges.commit.placeholder"),k=!p();return y!==f.e&&b(_,"placeholder",f.e=y),k!==f.t&&(P.disabled=f.t=k),f},{e:void 0,t:void 0}),L(()=>_.value=e.commitMessage()),v}}),null),n(t,()=>ae(e.t("instanceShell.gitChanges.sections.unstaged"),E,e.unstagedOpen(),e.onToggleUnstagedOpen),null),t}});return r(ge,{get header(){return[(()=>{var t=Me(),l=t.firstChild;return n(l,()=>(d==null?void 0:d.path)||e.t("instanceShell.rightPanel.tabs.gitChanges")),L(()=>b(t,"title",(d==null?void 0:d.path)||e.t("instanceShell.rightPanel.tabs.gitChanges"))),t})(),(()=>{var t=ke(),l=t.firstChild,i=l.firstChild;i.firstChild;var s=l.nextSibling,a=s.firstChild;return a.firstChild,n(i,()=>o.additions,null),n(a,()=>o.deletions,null),n(t,r(w,{get when(){return e.statusError()},children:g=>(()=>{var u=Ee();return n(u,g),u})()}),null),t})(),(()=>{var t=Le();return t.$$click=()=>e.onRefresh(),n(t,r(fe,{get class(){return`h-4 w-4${e.statusLoading()?" animate-spin":""}`}})),L(l=>{var i=e.t("instanceShell.rightPanel.actions.refresh"),s=e.t("instanceShell.rightPanel.actions.refresh"),a=!W()||e.statusLoading()||A()===null;return i!==l.e&&b(t,"title",l.e=i),s!==l.t&&b(t,"aria-label",l.t=s),a!==l.a&&(t.disabled=l.a=a),l},{e:void 0,t:void 0,a:void 0}),t})(),r(de,{get viewMode(){return e.diffViewMode()},get contextMode(){return e.diffContextMode()},get wordWrapMode(){return e.diffWordWrapMode()},get onViewModeChange(){return e.onViewModeChange},get onContextModeChange(){return e.onContextModeChange},get onWordWrapModeChange(){return e.onWordWrapModeChange}})]},list:{panel:O,overlay:O},get viewer(){return ne()},get listOpen(){return e.listOpen()},get onToggleList(){return e.onToggleList},get splitWidth(){return e.splitWidth()},get onResizeMouseDown(){return e.onResizeMouseDown},get onResizeTouchStart(){return e.onResizeTouchStart},get isPhoneLayout(){return e.isPhoneLayout()},get overlayAriaLabel(){return e.t("instanceShell.rightPanel.tabs.gitChanges")}})})};le(["mousedown","click","input"]);export{Ge as default};
@@ -1 +1 @@
1
- import{t as d,i as l,d as m,j as s,m as b,g as _,f as w}from"./monaco-viewer-CMM6n0T3.js";import{a as g,n as r,S as n}from"./git-diff-vendor-CSgooKT_.js";import{u as S}from"./index-DzRzoTK8.js";var y=d("<div class=file-list-overlay role=dialog><div class=file-list-scroll>");const L=e=>(()=>{var t=y(),a=t.firstChild;return l(a,()=>e.children),g(()=>m(t,"aria-label",e.ariaLabel)),t})();var C=d('<div class=files-split><div class=file-list-panel><div class=file-list-scroll></div></div><div class=file-split-handle role=separator aria-orientation=vertical aria-label="Resize file list">'),x=d("<div class=files-tab-container><div class=files-tab-header><div class=files-tab-header-row><button type=button class=files-toggle-button></button></div></div><div class=files-tab-body>");const z=e=>{const{t}=S();return(()=>{var a=x(),c=a.firstChild,o=c.firstChild,u=o.firstChild,h=c.nextSibling;return s(u,"click",e.onToggleList,!0),l(u,(()=>{var i=b(()=>!!e.listOpen);return()=>i()?t("instanceShell.filesShell.hideFiles"):t("instanceShell.filesShell.showFiles")})()),l(o,()=>e.header,null),l(h,r(n,{get when(){return b(()=>!e.isPhoneLayout)()&&e.listOpen},get fallback(){return e.viewer},get children(){var i=C(),v=i.firstChild,$=v.firstChild,f=v.nextSibling;return l($,()=>e.list.panel()),s(f,"touchstart",e.onResizeTouchStart,!0),s(f,"mousedown",e.onResizeMouseDown,!0),l(i,()=>e.viewer,null),g(O=>_(i,"--files-pane-width",`${e.splitWidth}px`)),i}}),null),l(h,r(n,{get when(){return e.isPhoneLayout},get children(){return r(n,{get when(){return e.listOpen},get children(){return r(L,{get ariaLabel(){return e.overlayAriaLabel},get children(){return e.list.overlay()}})}})}}),null),a})()};w(["click","mousedown","touchstart"]);export{z as S};
1
+ import{t as d,i as l,d as m,j as s,m as b,g as _,f as w}from"./monaco-viewer-DrmF2KUz.js";import{a as g,n as r,S as n}from"./git-diff-vendor-CSgooKT_.js";import{u as S}from"./index-CP2CRaiZ.js";var y=d("<div class=file-list-overlay role=dialog><div class=file-list-scroll>");const L=e=>(()=>{var t=y(),a=t.firstChild;return l(a,()=>e.children),g(()=>m(t,"aria-label",e.ariaLabel)),t})();var C=d('<div class=files-split><div class=file-list-panel><div class=file-list-scroll></div></div><div class=file-split-handle role=separator aria-orientation=vertical aria-label="Resize file list">'),x=d("<div class=files-tab-container><div class=files-tab-header><div class=files-tab-header-row><button type=button class=files-toggle-button></button></div></div><div class=files-tab-body>");const z=e=>{const{t}=S();return(()=>{var a=x(),c=a.firstChild,o=c.firstChild,u=o.firstChild,h=c.nextSibling;return s(u,"click",e.onToggleList,!0),l(u,(()=>{var i=b(()=>!!e.listOpen);return()=>i()?t("instanceShell.filesShell.hideFiles"):t("instanceShell.filesShell.showFiles")})()),l(o,()=>e.header,null),l(h,r(n,{get when(){return b(()=>!e.isPhoneLayout)()&&e.listOpen},get fallback(){return e.viewer},get children(){var i=C(),v=i.firstChild,$=v.firstChild,f=v.nextSibling;return l($,()=>e.list.panel()),s(f,"touchstart",e.onResizeTouchStart,!0),s(f,"mousedown",e.onResizeMouseDown,!0),l(i,()=>e.viewer,null),g(O=>_(i,"--files-pane-width",`${e.splitWidth}px`)),i}}),null),l(h,r(n,{get when(){return e.isPhoneLayout},get children(){return r(n,{get when(){return e.listOpen},get children(){return r(L,{get ariaLabel(){return e.overlayAriaLabel},get children(){return e.list.overlay()}})}})}}),null),a})()};w(["click","mousedown","touchstart"]);export{z as S};