@bud.sh/app 0.4.0 → 0.4.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 (56) hide show
  1. package/dist/client/assets/bud/design.js +1 -1
  2. package/dist/client/assets/{canvas-C8hyPWoT.js → canvas-DIKX_HCJ.js} +1 -1
  3. package/dist/client/assets/difference-worker-CwQNxTJL.js +8 -0
  4. package/dist/client/assets/files-BQ9O3Z8-.js +1 -0
  5. package/dist/client/assets/i18n-CL0jBP7Y.js +1 -0
  6. package/dist/client/assets/{index-Dpxjiok1.js → index-COvyj5zV.js} +2 -2
  7. package/dist/client/assets/{pages-B-_CKvDS.js → pages-BGl2Yuza.js} +1 -1
  8. package/dist/client/assets/{project-branches-DzXdaT9L.js → project-branches-DwKjCwZv.js} +1 -1
  9. package/dist/client/assets/{project-comments-CQkB2jbE.js → project-comments-Cdip2Y10.js} +1 -1
  10. package/dist/client/assets/{project-thread-links-BN7zL0AX.js → project-thread-links-BGIkGQeU.js} +1 -1
  11. package/dist/client/assets/{project-threads-CHGG-6fo.js → project-threads-DeKXNqeP.js} +5 -5
  12. package/dist/client/assets/{project-work-L5fYMSOu.js → project-work-B7PGQtV9.js} +1 -1
  13. package/dist/client/assets/task-design-DJp5yho1.js +23 -0
  14. package/dist/client/assets/{tasks-A2FKo3_h.js → tasks-BHXj727C.js} +1 -1
  15. package/dist/client/assets/{tasks-request-DGigNdyK.js → tasks-request-CsUB5__X.js} +1 -1
  16. package/dist/client/assets/{workspace-CvWmU2RK.js → workspace-CbO7RsI2.js} +2 -2
  17. package/dist/client/index.html +2 -2
  18. package/dist/hosted/assets/{canvas-MWtOwaWm.js → canvas-gWj_ocKK.js} +4 -4
  19. package/dist/hosted/assets/{comment-data-DsgJWq4n.js → comment-data-C-rNCB1n.js} +138 -11
  20. package/dist/hosted/assets/{files-Wvo11G2A.js → files-CAPvbavY.js} +3 -3
  21. package/dist/hosted/assets/{pages-BAmRFVtU.js → pages-DJiOvT-l.js} +3 -3
  22. package/dist/hosted/assets/{project-branches-BNloVosX.js → project-branches-BgrfdvtL.js} +1 -1
  23. package/dist/hosted/assets/{project-thread-links-BmY8HQXt.js → project-thread-links-B7uzThL9.js} +2 -2
  24. package/dist/hosted/assets/{screen-QmqmI2Aq.js → screen-D4D9nh4V.js} +1 -1
  25. package/dist/hosted/assets/{tasks-C8iWPrWg.js → tasks-C7aGLzBw.js} +4 -4
  26. package/dist/hosted/assets/{tasks-request-C89fN1dK.js → tasks-request-CikFdCgP.js} +1 -1
  27. package/dist/hosted/hosted.js +16 -8
  28. package/dist/node/design.js +126 -6
  29. package/dist/node-host/assets/{canvas-D_F8SIlm.js → canvas-kXzp80a5.js} +4 -4
  30. package/dist/node-host/assets/{comment-data-q_8INiZz.js → comment-data-CeuJbJKJ.js} +138 -11
  31. package/dist/node-host/assets/{files-xazOrNCX.js → files-0YIuvKzb.js} +3 -3
  32. package/dist/node-host/assets/{pages-D6VkmdfQ.js → pages-DOF22SyG.js} +3 -3
  33. package/dist/node-host/assets/{project-branches-C26hwmo3.js → project-branches-BeEwMBIw.js} +1 -1
  34. package/dist/node-host/assets/{project-thread-links-BOzjws5W.js → project-thread-links-Bs_MtfBC.js} +2 -2
  35. package/dist/node-host/assets/{screen-Dog-YByu.js → screen-DRTAKkn3.js} +1 -1
  36. package/dist/node-host/assets/{tasks-A1_bpb3_.js → tasks-BA_hcbj5.js} +4 -4
  37. package/dist/node-host/assets/{tasks-request-Bie1PpQP.js → tasks-request-Doc9y_20.js} +1 -1
  38. package/dist/node-host/node-host.js +16 -8
  39. package/dist/server/assets/{canvas-Dn4RYoU2.js → canvas-CiN6jNIZ.js} +4 -4
  40. package/dist/server/assets/{comment-data-B0OLHBGp.js → comment-data-9SqALQjT.js} +138 -11
  41. package/dist/server/assets/{files-C5Vilfe4.js → files-DBVqeLdL.js} +3 -3
  42. package/dist/server/assets/{listener-o1STuLju.js → listener-DGWKUc2o.js} +16 -8
  43. package/dist/server/assets/{pages-BNa0MHEc.js → pages-DJMLr6j9.js} +3 -3
  44. package/dist/server/assets/{project-branches-GtQYyOH5.js → project-branches-DbKEmiQT.js} +1 -1
  45. package/dist/server/assets/{project-thread-links-Nfz9NIny.js → project-thread-links-C0kV_Pcl.js} +2 -2
  46. package/dist/server/assets/{project-work-Cy_BpHwR.js → project-work-C0FN3w5Y.js} +2 -2
  47. package/dist/server/assets/{screen-BtcJmZwj.js → screen-BtvzEiIa.js} +1 -1
  48. package/dist/server/assets/{tasks-B82tHwyQ.js → tasks-DX71x8f9.js} +5 -5
  49. package/dist/server/assets/{tasks-request-BtJBlkxV.js → tasks-request-C3jk9Jyu.js} +1 -1
  50. package/dist/server/runtime.js +1 -1
  51. package/dist/server/server.js +1 -1
  52. package/package.json +1 -1
  53. package/dist/client/assets/difference-worker-BfF4_N3e.js +0 -8
  54. package/dist/client/assets/files-D_Tm7gCK.js +0 -1
  55. package/dist/client/assets/i18n-BtfXum8P.js +0 -1
  56. package/dist/client/assets/task-design-DYqcqq1b.js +0 -23
@@ -1,8 +1,8 @@
1
- import { $t as Button, B as TaskWorkspace, C as ThreadTaskLinks, Ci as parseWorkSyncResult, Dt as taskHref, Et as selectedTask, Jt as CommentThreadDetail, Ln as jsx, Nn as Fragment, Ot as taskRole, S as writeRows, T as ItemDiscussion, Tt as readConversationLocation, Xt as CommentComposer, Yt as CommentThreadItem, _n as ref, b as plainRow, bn as on, cn as toast, di as parseSectionData, gi as parseWorkDetail, h as storedWorkspace, hn as Text, l as projectStore, nt as CommentThreadHeading, pn as t, qt as taskRoutes, x as writeOptimistically, xt as conversationLabel, y as routes, yi as parseWorkMutationResult } from "./comment-data-DsgJWq4n.js";
2
- import { a as predictWorkAction, i as loadItemComments, n as createProjectComments, o as predictWorkCreate, s as predictWorkUpdate, t as defineScreen } from "./screen-QmqmI2Aq.js";
3
- import { n as requestTasks, t as TaskRequestError } from "./tasks-request-C89fN1dK.js";
1
+ import { $t as Button, B as TaskWorkspace, C as ThreadTaskLinks, Dt as taskHref, Et as selectedTask, Jt as CommentThreadDetail, Ot as taskRole, Pn as Fragment, Rn as jsx, S as writeRows, T as ItemDiscussion, Tt as readConversationLocation, Xt as CommentComposer, Yt as CommentThreadItem, _i as parseWorkDetail, b as plainRow, bi as parseWorkMutationResult, cn as toast, fi as parseSectionData, gn as Text, h as storedWorkspace, l as projectStore, mn as t, nt as CommentThreadHeading, qt as taskRoutes, vn as ref, wi as parseWorkSyncResult, x as writeOptimistically, xn as on, xt as conversationLabel, y as routes } from "./comment-data-C-rNCB1n.js";
2
+ import { a as predictWorkAction, i as loadItemComments, n as createProjectComments, o as predictWorkCreate, s as predictWorkUpdate, t as defineScreen } from "./screen-D4D9nh4V.js";
3
+ import { n as requestTasks, t as TaskRequestError } from "./tasks-request-CikFdCgP.js";
4
4
  import { r as projectWork } from "../hosted.js";
5
- import { n as ProjectTaskPicker, t as ProjectThreadLinks } from "./project-thread-links-BmY8HQXt.js";
5
+ import { n as ProjectTaskPicker, t as ProjectThreadLinks } from "./project-thread-links-B7uzThL9.js";
6
6
  //#region app/client/task-discussion.tsx
7
7
  /**
8
8
  * Owns a task's filtered discussions and lazy detail requests within its mounted lifetime.
@@ -1,4 +1,4 @@
1
- import { bi as parseWorkQuery, pn as t, vi as parseWorkItemRef, y as routes, zn as createMultiMatcher } from "./comment-data-DsgJWq4n.js";
1
+ import { Bn as createMultiMatcher, mn as t, xi as parseWorkQuery, y as routes, yi as parseWorkItemRef } from "./comment-data-C-rNCB1n.js";
2
2
  //#region app/client/tasks-request.ts
3
3
  var reads = createMultiMatcher();
4
4
  var writes = createMultiMatcher();
@@ -1,5 +1,5 @@
1
- import { $n as RESYNC, $t as Button, Ai as parseWorkSchema, An as sanitizeUrlAttribute, Bi as boolean$2, Bn as equal, Ci as parseWorkSyncResult, Cn as resolveMixDescriptors, Ct as legacyConversationHref, Di as parseMessage, Dn as SELF_CLOSING_TAGS, Dt as taskHref, Ei as valueByRole, En as FRAMEWORK_PROPS, Et as selectedTask, Fi as parseWork, Fn as createComponent, G as mergeThreads, Gn as PREVIEW_TILE_HEIGHT, Gt as fileRoutes, Hi as defaulted, Hn as RoutePattern, Ii as record$1, In as createFrameHandle, J as conversationId, Ji as optional$3, Jn as parsePreviewCapture, K as stableJson, Ki as number$2, Kt as pageRoutes, Li as strict$2, Ln as jsx, Mi as WorkValidationError, Mn as shouldStringifyBooleanAttribute, Ni as identifier$3, Nn as Fragment, Oi as parseMessageAuthor, On as isAllowedHostPropName, Pi as nonempty$1, Pn as Frame, Q as text$6, Qn as parsePreviewViewport, Ri as any, Rn as Route, S as writeRows, Si as parseWorkSync, Sn as composeMixedProps, Ti as parseWorkValue, Tn as isEntry, Tt as readConversationLocation, Ui as enum_, Un as MAX_PREVIEW_HEIGHT, V as parseTaskDesign, Vi as createSchema, Vn as joinPatterns, W as CommentMergeError, Wi as fail$11, Wn as PREVIEW_THUMBNAIL_WIDTHS, X as parseCommentThread, Xi as parseSafe, Xn as parsePreviewId, Y as object$2, Yi as parse, Yn as parsePreviewHash, Z as revision$2, Zi as string$2, Zn as parsePreviewPins, Zt as Loader, _ as requestComments, _i as parseWorkItem, _n as ref$1, an as LiveStatus, ar as parseThreadCapabilities, at as FieldCardHeader, b as plainRow, bi as parseWorkQuery, bn as on, ci as MAX_CANVAS_Y, cr as parseThreadInput, ct as initialShellTabs, d as saveWorkspace, di as parseSectionData, dn as isLocale, dr as parseThreadSnapshot, dt as readTabsCookie, er as parseLiveId, fi as parseWorkActionInput, fn as locale, fr as parseThreadStatus, ft as stepShellTab, gi as parseWorkDetail, gt as visitShellTab, hi as parseWorkCreate, hn as Text, ht as tabsCookieValue, ir as parseThread, it as FieldCardContent, ji as statusCategory, jn as serializeStyleObject, jt as legacyFileHref, ki as fieldByRole, kn as normalizeAttributeName, l as projectStore, li as parseElementAnchor, ln as readPreference, lr as parseThreadLinkInput, lt as openShellTab, mi as parseWorkConnection, mn as useLocaleSource, mt as tabsCookieName, n as unavailableComments, nn as ShellTabBar, nr as MAX_THREADS, or as parseThreadFilter, ot as activeTab, pi as parseWorkActivity, pn as t, pr as parseThreadStatusInput, pt as tabHref, q as parseCommentInput$1, qi as object$1, qn as parsePreviewBranch, qt as taskRoutes, r as followThreads, rr as parseAnchor, rt as FieldCard, sn as AppShell, sr as parseThreadId, st as closeShellTab, t as commentsUnavailable, tr as parseWorkChange, ui as parseWorkWorkspace, un as writePreference, ur as parseThreadReplyInput, ut as parseShellTabs, v as projectLive, vi as parseWorkItemRef, vn as appendFlushMarker, wi as parseWorkUpdate, wn as clientEntry, xi as parseWorkSnapshot, xn as normalizeUnsafeHTMLProps, y as routes, yi as parseWorkMutationResult, yn as stripFlushMarkers, yt as conversationDestination, zi as array$2, zn as createMultiMatcher } from "./assets/comment-data-DsgJWq4n.js";
2
- import { n as requestTasks } from "./assets/tasks-request-C89fN1dK.js";
1
+ import { $n as parsePreviewViewport, $t as Button, Ai as fieldByRole, An as normalizeAttributeName, Bi as array$2, Bn as createMultiMatcher, Ci as parseWorkSync, Cn as composeMixedProps, Ct as legacyConversationHref, Di as valueByRole, Dn as FRAMEWORK_PROPS, Dt as taskHref, Ei as parseWorkValue, En as isEntry, Et as selectedTask, Fi as nonempty$1, Fn as Frame, G as mergeThreads, Gi as fail$11, Gn as PREVIEW_THUMBNAIL_WIDTHS, Gt as fileRoutes, Hi as createSchema, Hn as joinPatterns, Ii as parseWork, In as createComponent, J as conversationId, Ji as object$1, Jn as parsePreviewBranch, K as stableJson, Kn as PREVIEW_TILE_HEIGHT, Kt as pageRoutes, Li as record$1, Ln as createFrameHandle, Mi as statusCategory, Mn as serializeStyleObject, Ni as WorkValidationError, Nn as shouldStringifyBooleanAttribute, Oi as parseMessage, On as SELF_CLOSING_TAGS, Pi as identifier$3, Pn as Fragment, Q as text$6, Qi as string$2, Qn as parsePreviewPins, Ri as strict$2, Rn as jsx, S as writeRows, Si as parseWorkSnapshot, Sn as normalizeUnsafeHTMLProps, Ti as parseWorkUpdate, Tn as clientEntry, Tt as readConversationLocation, Ui as defaulted, Un as RoutePattern, V as parseTaskDesign, Vi as boolean$2, Vn as equal, W as CommentMergeError, Wi as enum_, Wn as MAX_PREVIEW_HEIGHT, X as parseCommentThread, Xi as parse, Xn as parsePreviewHash, Y as object$2, Yi as optional$3, Yn as parsePreviewCapture, Z as revision$2, Zi as parseSafe, Zn as parsePreviewId, Zt as Loader, _ as requestComments, _i as parseWorkDetail, an as LiveStatus, ar as parseThread, at as FieldCardHeader, b as plainRow, bi as parseWorkMutationResult, bn as stripFlushMarkers, cr as parseThreadId, ct as initialShellTabs, d as saveWorkspace, di as parseWorkWorkspace, dn as hasMessage, dr as parseThreadReplyInput, dt as readTabsCookie, er as RESYNC, fi as parseSectionData, fn as isLocale, fr as parseThreadSnapshot, ft as stepShellTab, gi as parseWorkCreate, gn as Text, gt as visitShellTab, hi as parseWorkConnection, hn as useLocaleSource, ht as tabsCookieValue, ir as parseAnchor, it as FieldCardContent, ji as parseWorkSchema, jn as sanitizeUrlAttribute, jt as legacyFileHref, ki as parseMessageAuthor, kn as isAllowedHostPropName, l as projectStore, li as MAX_CANVAS_Y, ln as readPreference, lr as parseThreadInput, lt as openShellTab, mi as parseWorkActivity, mn as t, mr as parseThreadStatusInput, mt as tabsCookieName, n as unavailableComments, nn as ShellTabBar, nr as parseWorkChange, or as parseThreadCapabilities, ot as activeTab, pi as parseWorkActionInput, pn as locale, pr as parseThreadStatus, pt as tabHref, q as parseCommentInput$1, qi as number$2, qt as taskRoutes, r as followThreads, rr as MAX_THREADS, rt as FieldCard, sn as AppShell, sr as parseThreadFilter, st as closeShellTab, t as commentsUnavailable, tr as parseLiveId, ui as parseElementAnchor, un as writePreference, ur as parseThreadLinkInput, ut as parseShellTabs, v as projectLive, vi as parseWorkItem, vn as ref$1, wi as parseWorkSyncResult, wn as resolveMixDescriptors, xi as parseWorkQuery, xn as on, y as routes, yi as parseWorkItemRef, yn as appendFlushMarker, yt as conversationDestination, zi as any, zn as Route } from "./assets/comment-data-C-rNCB1n.js";
2
+ import { n as requestTasks } from "./assets/tasks-request-CikFdCgP.js";
3
3
  import * as Crypto from "node:crypto";
4
4
  import { createHash, randomBytes, randomUUID } from "node:crypto";
5
5
  import * as Path from "node:path";
@@ -38766,10 +38766,10 @@ function ProjectLiveStatus(handle) {
38766
38766
  //#endregion
38767
38767
  //#region app/client/screens.ts
38768
38768
  var builtIns = {
38769
- "bud:pages": () => import("./assets/pages-BAmRFVtU.js"),
38770
- "bud:canvas": () => import("./assets/canvas-MWtOwaWm.js"),
38771
- "bud:tasks": () => import("./assets/tasks-C8iWPrWg.js"),
38772
- "bud:files": () => import("./assets/files-Wvo11G2A.js")
38769
+ "bud:pages": () => import("./assets/pages-DJiOvT-l.js"),
38770
+ "bud:canvas": () => import("./assets/canvas-gWj_ocKK.js"),
38771
+ "bud:tasks": () => import("./assets/tasks-C7aGLzBw.js"),
38772
+ "bud:files": () => import("./assets/files-CAPvbavY.js")
38773
38773
  };
38774
38774
  /**
38775
38775
  * Imports a screen module: a built-in by its key, any other by the URL the server gave it.
@@ -39342,6 +39342,11 @@ var builtInRoutes = {
39342
39342
  "bud:tasks": taskRoutes,
39343
39343
  "bud:files": fileRoutes
39344
39344
  };
39345
+ function screenName(screen) {
39346
+ let builtIn = defaultScreens.find((candidate) => candidate.module === screen.module);
39347
+ let key = `screens.${builtIn?.id}`;
39348
+ return builtIn && screen.label === builtIn.label && hasMessage(key) ? t(key) : screen.label;
39349
+ }
39345
39350
  /**
39346
39351
  * Connects the route contract to application responses.
39347
39352
  * @param template - The development or production HTML shell.
@@ -39382,7 +39387,10 @@ function createAppController(template, project, runtime) {
39382
39387
  let module = await prepare(screen, request.signal);
39383
39388
  let taskDesign = project && (screen.module === "bud:tasks" || conversation !== void 0 && screens.some((target) => target.module === "bud:tasks")) && project.config.designs.tasks !== "bud:beads" && runtime ? await runtime.runPromise(ScreenModules.use((modules) => modules.module(taskDesignModuleId)), { signal: request.signal }) : void 0;
39384
39389
  let content = await renderToString(/* @__PURE__ */ jsx(WorkspacePage, {
39385
- screens: items,
39390
+ screens: items.map((item, index) => ({
39391
+ ...item,
39392
+ label: screenName(screens[index])
39393
+ })),
39386
39394
  active: screen.id,
39387
39395
  module,
39388
39396
  taskDesign,
@@ -39409,7 +39417,7 @@ function createAppController(template, project, runtime) {
39409
39417
  ...patterns ? { routes: patterns } : {}
39410
39418
  }
39411
39419
  }));
39412
- let title = (conversation ? "Discussion" : screen.label).replace(/[&<>]/g, (character) => `&#${character.charCodeAt(0)};`);
39420
+ let title = (conversation ? t("app.controller.discussion") : screenName(screen)).replace(/[&<>]/g, (character) => `&#${character.charCodeAt(0)};`);
39413
39421
  let logo = project?.config.logo;
39414
39422
  let shell = logo ? withLogoIcons(template, logo, (theme) => routes.logo.href({ theme })) : template;
39415
39423
  return new Response(shell.replace("<html lang=\"en\"", () => `<html lang="${locale()}"`).replace("<title>bud.sh</title>", () => `<title>${title} · bud.sh</title>`).replace("</head>", () => project ? `${themeStyle(project.config.theme)}</head>` : "</head>").replace("<!--app-html-->", () => content), { headers: { "Content-Type": "text/html; charset=utf-8" } });
@@ -3688,6 +3688,10 @@ var de = {
3688
3688
  text: "Dein Projekt nebeneinander.",
3689
3689
  source: "ae5c6a16"
3690
3690
  },
3691
+ "app.controller.discussion": {
3692
+ text: "Diskussion",
3693
+ source: "52a76f71"
3694
+ },
3691
3695
  "appShell.mainNavigation": {
3692
3696
  text: "Hauptnavigation",
3693
3697
  source: "c5a8374a"
@@ -4310,10 +4314,6 @@ var de = {
4310
4314
  text: "Eine Diskussion, gemeinsam für mehrere Aufgaben.",
4311
4315
  source: "f056484b"
4312
4316
  },
4313
- "counter.count": {
4314
- text: "Anzahl:",
4315
- source: "4dc7b9ea"
4316
- },
4317
4317
  "files.codeCommentAnnotation.moved": {
4318
4318
  text: "Verschoben",
4319
4319
  source: "82869bf0"
@@ -5792,6 +5792,10 @@ var de = {
5792
5792
  source: "756213ca"
5793
5793
  },
5794
5794
  "files.fileReviewPanel.selection": {
5795
+ text: "{path} · {start}–{end}",
5796
+ source: "976a3281"
5797
+ },
5798
+ "files.fileReviewPanel.selectionOnSide": {
5795
5799
  text: "{path} · {side} {start}–{end}",
5796
5800
  source: "6445c0da"
5797
5801
  },
@@ -5803,6 +5807,14 @@ var de = {
5803
5807
  text: "{path} · {side} {start}–{end} (Ende {endSide})",
5804
5808
  source: "4d409456"
5805
5809
  },
5810
+ "files.fileReviewPanel.sideNew": {
5811
+ text: "neu",
5812
+ source: "28999611"
5813
+ },
5814
+ "files.fileReviewPanel.sideOld": {
5815
+ text: "alt",
5816
+ source: "bd2b9bd6"
5817
+ },
5806
5818
  "files.fileReviewPanel.sourceFile": {
5807
5819
  text: "Quelldatei",
5808
5820
  source: "f52d16de"
@@ -6666,6 +6678,22 @@ var de = {
6666
6678
  text: "Neu laden",
6667
6679
  source: "1a43a2ac"
6668
6680
  },
6681
+ "screens.canvas": {
6682
+ text: "Leinwand",
6683
+ source: "b2585091"
6684
+ },
6685
+ "screens.files": {
6686
+ text: "Dateien",
6687
+ source: "e71d1b30"
6688
+ },
6689
+ "screens.pages": {
6690
+ text: "Seiten",
6691
+ source: "7decab7f"
6692
+ },
6693
+ "screens.tasks": {
6694
+ text: "Aufgaben",
6695
+ source: "399e986d"
6696
+ },
6669
6697
  "select.noMatches": {
6670
6698
  text: "Keine Treffer",
6671
6699
  source: "d29421ef"
@@ -6863,6 +6891,66 @@ var de = {
6863
6891
  text: "Hoch",
6864
6892
  source: "be0a061d"
6865
6893
  },
6894
+ "tasks.taskData.label.all": {
6895
+ text: "Alle",
6896
+ source: "75afe364"
6897
+ },
6898
+ "tasks.taskData.label.blocked": {
6899
+ text: "Blockiert",
6900
+ source: "e378ac53"
6901
+ },
6902
+ "tasks.taskData.label.bug": {
6903
+ text: "Fehler",
6904
+ source: "d8da8e15"
6905
+ },
6906
+ "tasks.taskData.label.chore": {
6907
+ text: "Routineaufgabe",
6908
+ source: "0f37a562"
6909
+ },
6910
+ "tasks.taskData.label.closed": {
6911
+ text: "Geschlossen",
6912
+ source: "3201cae5"
6913
+ },
6914
+ "tasks.taskData.label.decision": {
6915
+ text: "Entscheidung",
6916
+ source: "be93ff03"
6917
+ },
6918
+ "tasks.taskData.label.deferred": {
6919
+ text: "Zurückgestellt",
6920
+ source: "59a18aca"
6921
+ },
6922
+ "tasks.taskData.label.epic": {
6923
+ text: "Epic",
6924
+ source: "e75e9488"
6925
+ },
6926
+ "tasks.taskData.label.feature": {
6927
+ text: "Funktion",
6928
+ source: "fe9102dd"
6929
+ },
6930
+ "tasks.taskData.label.hooked": {
6931
+ text: "Verknüpft",
6932
+ source: "79750f9b"
6933
+ },
6934
+ "tasks.taskData.label.in_progress": {
6935
+ text: "In Bearbeitung",
6936
+ source: "2948b425"
6937
+ },
6938
+ "tasks.taskData.label.open": {
6939
+ text: "Offen",
6940
+ source: "538b10e9"
6941
+ },
6942
+ "tasks.taskData.label.pinned": {
6943
+ text: "Angeheftet",
6944
+ source: "6d0ba1af"
6945
+ },
6946
+ "tasks.taskData.label.ready": {
6947
+ text: "Bereit",
6948
+ source: "0bca3294"
6949
+ },
6950
+ "tasks.taskData.label.task": {
6951
+ text: "Aufgabe",
6952
+ source: "76ef3d8c"
6953
+ },
6866
6954
  "tasks.taskData.low": {
6867
6955
  text: "Niedrig",
6868
6956
  source: "b1dd9521"
@@ -7782,6 +7870,7 @@ var en = {
7782
7870
  "app.client.workspace.retry": "Retry",
7783
7871
  "app.client.workspace.startProjectWithBudVitePlugin": "Start your project with the Bud Vite plugin, or run Bud from its directory. Its screens appear here when the companion connects.",
7784
7872
  "app.client.workspace.yourProjectSideBySide": "Your project, side by side.",
7873
+ "app.controller.discussion": "Discussion",
7785
7874
  "appShell.mainNavigation": "Main navigation",
7786
7875
  "breadcrumb.navigationLabel": "Breadcrumb",
7787
7876
  "canvas.artboardCanvas.chooseCollectionPage": "Choose a {collection} page",
@@ -7960,7 +8049,6 @@ var en = {
7960
8049
  other: "{count} selected"
7961
8050
  },
7962
8051
  "comments.threadTaskLinks.sharedDiscussionSubtitle": "One discussion, shared across tasks.",
7963
- "counter.count": "Count:",
7964
8052
  "files.codeCommentAnnotation.moved": "Moved",
7965
8053
  "files.codeCommentAnnotation.openDiscussion": "Open code discussion: {body}",
7966
8054
  "files.editorCommands.addNextMatchingSelection": "Add next matching selection",
@@ -8373,9 +8461,12 @@ var en = {
8373
8461
  "files.fileReviewPanel.reviewUndo": "Review undo",
8374
8462
  "files.fileReviewPanel.searchContents": "Search contents",
8375
8463
  "files.fileReviewPanel.selectedFile": "Selected file",
8376
- "files.fileReviewPanel.selection": "{path} · {side} {start}–{end}",
8464
+ "files.fileReviewPanel.selection": "{path} · {start}–{end}",
8465
+ "files.fileReviewPanel.selectionOnSide": "{path} · {side} {start}–{end}",
8377
8466
  "files.fileReviewPanel.selectionStatus": " · {status}",
8378
8467
  "files.fileReviewPanel.selectionWithEndSide": "{path} · {side} {start}–{end} ({endSide} end)",
8468
+ "files.fileReviewPanel.sideNew": "new",
8469
+ "files.fileReviewPanel.sideOld": "old",
8379
8470
  "files.fileReviewPanel.sourceFile": "Source file",
8380
8471
  "files.fileReviewPanel.stageFile": "Stage file",
8381
8472
  "files.fileReviewPanel.stageSelectedLines": "Stage selected lines",
@@ -8612,6 +8703,10 @@ var en = {
8612
8703
  "pages.pagesWorkspace.pageList": "Page list",
8613
8704
  "pages.pagesWorkspace.pageStatus": "Page status",
8614
8705
  "pages.pagesWorkspace.reload": "Reload",
8706
+ "screens.canvas": "Canvas",
8707
+ "screens.files": "Files",
8708
+ "screens.pages": "Pages",
8709
+ "screens.tasks": "Tasks",
8615
8710
  "select.noMatches": "No matches",
8616
8711
  "select.optionsLabel": "{label} options",
8617
8712
  "select.searchLabel": "Search {label}",
@@ -8668,6 +8763,21 @@ var en = {
8668
8763
  "tasks.taskData.allTasks": "All tasks",
8669
8764
  "tasks.taskData.backlog": "Backlog",
8670
8765
  "tasks.taskData.high": "High",
8766
+ "tasks.taskData.label.all": "All",
8767
+ "tasks.taskData.label.blocked": "Blocked",
8768
+ "tasks.taskData.label.bug": "Bug",
8769
+ "tasks.taskData.label.chore": "Chore",
8770
+ "tasks.taskData.label.closed": "Closed",
8771
+ "tasks.taskData.label.decision": "Decision",
8772
+ "tasks.taskData.label.deferred": "Deferred",
8773
+ "tasks.taskData.label.epic": "Epic",
8774
+ "tasks.taskData.label.feature": "Feature",
8775
+ "tasks.taskData.label.hooked": "Hooked",
8776
+ "tasks.taskData.label.in_progress": "In progress",
8777
+ "tasks.taskData.label.open": "Open",
8778
+ "tasks.taskData.label.pinned": "Pinned",
8779
+ "tasks.taskData.label.ready": "Ready",
8780
+ "tasks.taskData.label.task": "Task",
8671
8781
  "tasks.taskData.low": "Low",
8672
8782
  "tasks.taskData.noEpic": "No epic",
8673
8783
  "tasks.taskData.noStatus": "No status",
@@ -8856,6 +8966,14 @@ var catalogs = {
8856
8966
  };
8857
8967
  var current = "en";
8858
8968
  /**
8969
+ * Whether the English catalog has a message by this name, for text whose key is built from data.
8970
+ * @param key - A possible message key.
8971
+ * @returns Whether `t(key)` finds a message.
8972
+ */
8973
+ function hasMessage(key) {
8974
+ return Object.hasOwn(en, key);
8975
+ }
8976
+ /**
8859
8977
  * The language messages are shown in now.
8860
8978
  * @returns The request's locale on a server, or the page's.
8861
8979
  */
@@ -8993,6 +9111,8 @@ createMatcher(taskRoutes.show.pattern);
8993
9111
  * @returns The label.
8994
9112
  */
8995
9113
  function taskLabel(value) {
9114
+ let key = `tasks.taskData.label.${value}`;
9115
+ if (hasMessage(key)) return t(key);
8996
9116
  return value.replaceAll("_", " ").replaceAll("-", " ").replace(/^./, (letter) => letter.toUpperCase());
8997
9117
  }
8998
9118
  /**
@@ -1,7 +1,7 @@
1
- import { $t as Button, H as CanvasWorkspace, U as captureCanvasPoint, Zt as Loader, bt as conversationHref, en as ToolbarSeparator, et as BranchSidebar, gn as Icon, hn as Text, in as IconButton, l as projectStore, ln as readPreference, on as Tooltip, pn as t, rn as Select, t as commentsUnavailable, tn as WorkspaceLayout, un as writePreference } from "./comment-data-q_8INiZz.js";
2
- import { n as createProjectComments, r as loadComments, t as defineScreen } from "./screen-Dog-YByu.js";
3
- import { i as pictureKey, n as createProjectPreviews, t as createProjectBranches } from "./project-branches-C26hwmo3.js";
4
- import { t as ProjectThreadLinks } from "./project-thread-links-BOzjws5W.js";
1
+ import { $t as Button, H as CanvasWorkspace, U as captureCanvasPoint, Zt as Loader, _n as Icon, bt as conversationHref, en as ToolbarSeparator, et as BranchSidebar, gn as Text, in as IconButton, l as projectStore, ln as readPreference, mn as t, on as Tooltip, rn as Select, t as commentsUnavailable, tn as WorkspaceLayout, un as writePreference } from "./comment-data-CeuJbJKJ.js";
2
+ import { n as createProjectComments, r as loadComments, t as defineScreen } from "./screen-DRTAKkn3.js";
3
+ import { i as pictureKey, n as createProjectPreviews, t as createProjectBranches } from "./project-branches-BeEwMBIw.js";
4
+ import { t as ProjectThreadLinks } from "./project-thread-links-Bs_MtfBC.js";
5
5
  import { on, ref } from "remix/component";
6
6
  import { Fragment, jsx, jsxs } from "remix/component/jsx-runtime";
7
7
  //#region app/client/preview-image.tsx
@@ -41516,6 +41516,10 @@ var de = {
41516
41516
  text: "Dein Projekt nebeneinander.",
41517
41517
  source: "ae5c6a16"
41518
41518
  },
41519
+ "app.controller.discussion": {
41520
+ text: "Diskussion",
41521
+ source: "52a76f71"
41522
+ },
41519
41523
  "appShell.mainNavigation": {
41520
41524
  text: "Hauptnavigation",
41521
41525
  source: "c5a8374a"
@@ -42138,10 +42142,6 @@ var de = {
42138
42142
  text: "Eine Diskussion, gemeinsam für mehrere Aufgaben.",
42139
42143
  source: "f056484b"
42140
42144
  },
42141
- "counter.count": {
42142
- text: "Anzahl:",
42143
- source: "4dc7b9ea"
42144
- },
42145
42145
  "files.codeCommentAnnotation.moved": {
42146
42146
  text: "Verschoben",
42147
42147
  source: "82869bf0"
@@ -43620,6 +43620,10 @@ var de = {
43620
43620
  source: "756213ca"
43621
43621
  },
43622
43622
  "files.fileReviewPanel.selection": {
43623
+ text: "{path} · {start}–{end}",
43624
+ source: "976a3281"
43625
+ },
43626
+ "files.fileReviewPanel.selectionOnSide": {
43623
43627
  text: "{path} · {side} {start}–{end}",
43624
43628
  source: "6445c0da"
43625
43629
  },
@@ -43631,6 +43635,14 @@ var de = {
43631
43635
  text: "{path} · {side} {start}–{end} (Ende {endSide})",
43632
43636
  source: "4d409456"
43633
43637
  },
43638
+ "files.fileReviewPanel.sideNew": {
43639
+ text: "neu",
43640
+ source: "28999611"
43641
+ },
43642
+ "files.fileReviewPanel.sideOld": {
43643
+ text: "alt",
43644
+ source: "bd2b9bd6"
43645
+ },
43634
43646
  "files.fileReviewPanel.sourceFile": {
43635
43647
  text: "Quelldatei",
43636
43648
  source: "f52d16de"
@@ -44494,6 +44506,22 @@ var de = {
44494
44506
  text: "Neu laden",
44495
44507
  source: "1a43a2ac"
44496
44508
  },
44509
+ "screens.canvas": {
44510
+ text: "Leinwand",
44511
+ source: "b2585091"
44512
+ },
44513
+ "screens.files": {
44514
+ text: "Dateien",
44515
+ source: "e71d1b30"
44516
+ },
44517
+ "screens.pages": {
44518
+ text: "Seiten",
44519
+ source: "7decab7f"
44520
+ },
44521
+ "screens.tasks": {
44522
+ text: "Aufgaben",
44523
+ source: "399e986d"
44524
+ },
44497
44525
  "select.noMatches": {
44498
44526
  text: "Keine Treffer",
44499
44527
  source: "d29421ef"
@@ -44691,6 +44719,66 @@ var de = {
44691
44719
  text: "Hoch",
44692
44720
  source: "be0a061d"
44693
44721
  },
44722
+ "tasks.taskData.label.all": {
44723
+ text: "Alle",
44724
+ source: "75afe364"
44725
+ },
44726
+ "tasks.taskData.label.blocked": {
44727
+ text: "Blockiert",
44728
+ source: "e378ac53"
44729
+ },
44730
+ "tasks.taskData.label.bug": {
44731
+ text: "Fehler",
44732
+ source: "d8da8e15"
44733
+ },
44734
+ "tasks.taskData.label.chore": {
44735
+ text: "Routineaufgabe",
44736
+ source: "0f37a562"
44737
+ },
44738
+ "tasks.taskData.label.closed": {
44739
+ text: "Geschlossen",
44740
+ source: "3201cae5"
44741
+ },
44742
+ "tasks.taskData.label.decision": {
44743
+ text: "Entscheidung",
44744
+ source: "be93ff03"
44745
+ },
44746
+ "tasks.taskData.label.deferred": {
44747
+ text: "Zurückgestellt",
44748
+ source: "59a18aca"
44749
+ },
44750
+ "tasks.taskData.label.epic": {
44751
+ text: "Epic",
44752
+ source: "e75e9488"
44753
+ },
44754
+ "tasks.taskData.label.feature": {
44755
+ text: "Funktion",
44756
+ source: "fe9102dd"
44757
+ },
44758
+ "tasks.taskData.label.hooked": {
44759
+ text: "Verknüpft",
44760
+ source: "79750f9b"
44761
+ },
44762
+ "tasks.taskData.label.in_progress": {
44763
+ text: "In Bearbeitung",
44764
+ source: "2948b425"
44765
+ },
44766
+ "tasks.taskData.label.open": {
44767
+ text: "Offen",
44768
+ source: "538b10e9"
44769
+ },
44770
+ "tasks.taskData.label.pinned": {
44771
+ text: "Angeheftet",
44772
+ source: "6d0ba1af"
44773
+ },
44774
+ "tasks.taskData.label.ready": {
44775
+ text: "Bereit",
44776
+ source: "0bca3294"
44777
+ },
44778
+ "tasks.taskData.label.task": {
44779
+ text: "Aufgabe",
44780
+ source: "76ef3d8c"
44781
+ },
44694
44782
  "tasks.taskData.low": {
44695
44783
  text: "Niedrig",
44696
44784
  source: "b1dd9521"
@@ -45610,6 +45698,7 @@ var en = {
45610
45698
  "app.client.workspace.retry": "Retry",
45611
45699
  "app.client.workspace.startProjectWithBudVitePlugin": "Start your project with the Bud Vite plugin, or run Bud from its directory. Its screens appear here when the companion connects.",
45612
45700
  "app.client.workspace.yourProjectSideBySide": "Your project, side by side.",
45701
+ "app.controller.discussion": "Discussion",
45613
45702
  "appShell.mainNavigation": "Main navigation",
45614
45703
  "breadcrumb.navigationLabel": "Breadcrumb",
45615
45704
  "canvas.artboardCanvas.chooseCollectionPage": "Choose a {collection} page",
@@ -45788,7 +45877,6 @@ var en = {
45788
45877
  other: "{count} selected"
45789
45878
  },
45790
45879
  "comments.threadTaskLinks.sharedDiscussionSubtitle": "One discussion, shared across tasks.",
45791
- "counter.count": "Count:",
45792
45880
  "files.codeCommentAnnotation.moved": "Moved",
45793
45881
  "files.codeCommentAnnotation.openDiscussion": "Open code discussion: {body}",
45794
45882
  "files.editorCommands.addNextMatchingSelection": "Add next matching selection",
@@ -46201,9 +46289,12 @@ var en = {
46201
46289
  "files.fileReviewPanel.reviewUndo": "Review undo",
46202
46290
  "files.fileReviewPanel.searchContents": "Search contents",
46203
46291
  "files.fileReviewPanel.selectedFile": "Selected file",
46204
- "files.fileReviewPanel.selection": "{path} · {side} {start}–{end}",
46292
+ "files.fileReviewPanel.selection": "{path} · {start}–{end}",
46293
+ "files.fileReviewPanel.selectionOnSide": "{path} · {side} {start}–{end}",
46205
46294
  "files.fileReviewPanel.selectionStatus": " · {status}",
46206
46295
  "files.fileReviewPanel.selectionWithEndSide": "{path} · {side} {start}–{end} ({endSide} end)",
46296
+ "files.fileReviewPanel.sideNew": "new",
46297
+ "files.fileReviewPanel.sideOld": "old",
46207
46298
  "files.fileReviewPanel.sourceFile": "Source file",
46208
46299
  "files.fileReviewPanel.stageFile": "Stage file",
46209
46300
  "files.fileReviewPanel.stageSelectedLines": "Stage selected lines",
@@ -46440,6 +46531,10 @@ var en = {
46440
46531
  "pages.pagesWorkspace.pageList": "Page list",
46441
46532
  "pages.pagesWorkspace.pageStatus": "Page status",
46442
46533
  "pages.pagesWorkspace.reload": "Reload",
46534
+ "screens.canvas": "Canvas",
46535
+ "screens.files": "Files",
46536
+ "screens.pages": "Pages",
46537
+ "screens.tasks": "Tasks",
46443
46538
  "select.noMatches": "No matches",
46444
46539
  "select.optionsLabel": "{label} options",
46445
46540
  "select.searchLabel": "Search {label}",
@@ -46496,6 +46591,21 @@ var en = {
46496
46591
  "tasks.taskData.allTasks": "All tasks",
46497
46592
  "tasks.taskData.backlog": "Backlog",
46498
46593
  "tasks.taskData.high": "High",
46594
+ "tasks.taskData.label.all": "All",
46595
+ "tasks.taskData.label.blocked": "Blocked",
46596
+ "tasks.taskData.label.bug": "Bug",
46597
+ "tasks.taskData.label.chore": "Chore",
46598
+ "tasks.taskData.label.closed": "Closed",
46599
+ "tasks.taskData.label.decision": "Decision",
46600
+ "tasks.taskData.label.deferred": "Deferred",
46601
+ "tasks.taskData.label.epic": "Epic",
46602
+ "tasks.taskData.label.feature": "Feature",
46603
+ "tasks.taskData.label.hooked": "Hooked",
46604
+ "tasks.taskData.label.in_progress": "In progress",
46605
+ "tasks.taskData.label.open": "Open",
46606
+ "tasks.taskData.label.pinned": "Pinned",
46607
+ "tasks.taskData.label.ready": "Ready",
46608
+ "tasks.taskData.label.task": "Task",
46499
46609
  "tasks.taskData.low": "Low",
46500
46610
  "tasks.taskData.noEpic": "No epic",
46501
46611
  "tasks.taskData.noStatus": "No status",
@@ -46700,6 +46810,14 @@ function useLocaleSource(read) {
46700
46810
  source = read;
46701
46811
  }
46702
46812
  /**
46813
+ * Whether the English catalog has a message by this name, for text whose key is built from data.
46814
+ * @param key - A possible message key.
46815
+ * @returns Whether `t(key)` finds a message.
46816
+ */
46817
+ function hasMessage(key) {
46818
+ return Object.hasOwn(en, key);
46819
+ }
46820
+ /**
46703
46821
  * The language messages are shown in now.
46704
46822
  * @returns The request's locale on a server, or the page's.
46705
46823
  */
@@ -59288,6 +59406,8 @@ function parseTaskView(value) {
59288
59406
  * @returns The label.
59289
59407
  */
59290
59408
  function taskLabel(value) {
59409
+ let key = `tasks.taskData.label.${value}`;
59410
+ if (hasMessage(key)) return t$2(key);
59291
59411
  return value.replaceAll("_", " ").replaceAll("-", " ").replace(/^./, (letter) => letter.toUpperCase());
59292
59412
  }
59293
59413
  /**
@@ -91238,7 +91358,7 @@ function TaskWorkspace(handle) {
91238
91358
  start: /* @__PURE__ */ jsxs(Fragment, { children: [
91239
91359
  /* @__PURE__ */ jsxs("div", {
91240
91360
  class: "flex shrink-0 items-center gap-2 ps-2 pe-2",
91241
- children: [/* @__PURE__ */ jsx(Breadcrumb, { items: [{ label: "Tasks" }] }), snapshot?.connection.state === "ready" ? /* @__PURE__ */ jsxs(Text, {
91361
+ children: [/* @__PURE__ */ jsx(Breadcrumb, { items: [{ label: t$2("screens.tasks") }] }), snapshot?.connection.state === "ready" ? /* @__PURE__ */ jsxs(Text, {
91242
91362
  variant: "ui",
91243
91363
  tone: "muted",
91244
91364
  class: "truncate max-xl:hidden",
@@ -93628,6 +93748,9 @@ var codeStyle = {
93628
93748
  * the theme's colors on its shadow host in an earlier cascade layer than this CSS.
93629
93749
  */
93630
93750
  var editorSurfaceCSS = ":host{--diffs-dark-bg:var(--bud-editor);--diffs-light-bg:var(--bud-editor)}";
93751
+ function sideWord(side) {
93752
+ return side === "deletions" ? t$2("files.fileReviewPanel.sideOld") : t$2("files.fileReviewPanel.sideNew");
93753
+ }
93631
93754
  function formatSize(bytes) {
93632
93755
  return bytes < 1024 ? `${bytes} B` : bytes < 1048576 ? `${(bytes / 1024).toFixed(1)} KB` : `${(bytes / 1024 / 1024).toFixed(1)} MB`;
93633
93756
  }
@@ -94503,13 +94626,17 @@ function FileReviewPanel(handle) {
94503
94626
  title: selection ? selection.path : void 0,
94504
94627
  children: [selection ? selection.endSide && selection.endSide !== selection.side ? t$2("files.fileReviewPanel.selectionWithEndSide", {
94505
94628
  path: selection.path,
94506
- side: selection.side === "deletions" ? t$2("files.fileReviewPanel.old") : t$2("files.fileReviewPanel.new"),
94629
+ side: sideWord(selection.side),
94507
94630
  start: selection.start,
94508
94631
  end: selection.end,
94509
- endSide: selection.endSide === "deletions" ? t$2("files.fileReviewPanel.old") : t$2("files.fileReviewPanel.new")
94632
+ endSide: sideWord(selection.endSide)
94633
+ }) : selection.side ? t$2("files.fileReviewPanel.selectionOnSide", {
94634
+ path: selection.path,
94635
+ side: sideWord(selection.side),
94636
+ start: selection.start,
94637
+ end: selection.end
94510
94638
  }) : t$2("files.fileReviewPanel.selection", {
94511
94639
  path: selection.path,
94512
- side: selection.side === "deletions" ? t$2("files.fileReviewPanel.old") : t$2("files.fileReviewPanel.new"),
94513
94640
  start: selection.start,
94514
94641
  end: selection.end
94515
94642
  }) : status, selection && status ? t$2("files.fileReviewPanel.selectionStatus", { status }) : null]
@@ -98626,4 +98753,4 @@ function unavailableComments(message = commentsUnavailable) {
98626
98753
  };
98627
98754
  }
98628
98755
  //#endregion
98629
- export { FileSearchPanel as $, attachResolvedThemes as $n, parseWork as $r, Button as $t, parseEditorPreferences as A, parseThreadStatus as An, parseWorkActionInput as Ar, defaultReviewView as At, TaskWorkspace as B, WorkerPoolTaskCanceledError as Bn, parseWorkSync as Br, fileHref as Bt, ThreadTaskLinks as C, parseThreadCapabilities as Cn, parseFileDocument as Cr, legacyConversationHref as Ct, ReviewActionDialog as D, parseThreadLinkInput as Dn, parseElementAnchor as Dr, taskHref as Dt, FileConflictPanel as E, parseThreadInput as En, MAX_CANVAS_Y as Er, selectedTask as Et, FileWorkspace as F, isDiffPlainText as Fn, parseWorkItem as Fr, reviewComparison as Ft, mergeThreads as G, isFilePlainText as Gn, parseMessage as Gr, fileRoutes as Gt, CanvasWorkspace as H, WorkerPoolWorkerError as Hn, parseWorkUpdate as Hr, readFileLocation as Ht, defaultFileDestination as I, renderDiffWithHighlighter as In, parseWorkItemRef as Ir, reviewContextKey as It, conversationId as J, hasResolvedThemes as Jn, parseWorkSchema as Jr, CommentThreadDetail as Jt, stableJson as K, renderFileWithHighlighter as Kn, parseMessageAuthor as Kr, pageRoutes as Kt, fileActionIntent as L, areDiffRenderOptionsEqual as Ln, parseWorkMutationResult as Lr, reviewHref as Lt, FileMutationDialog as M, createCodeAnchor as Mn, parseWorkConnection as Mr, parseReviewSession as Mt, FileReviewPanel as N, parseFileUpdate as Nn, parseWorkCreate as Nr, readReviewLocation as Nt, FileEditorPanel as O, parseThreadReplyInput as On, parseWorkWorkspace as Or, taskRole as Ot, codeThemes as P, reviewConflictIdentity as Pn, parseWorkDetail as Pr, rememberReviewPosition as Pt, text$4 as Q, validateResolvedThemeName as Qn, nonempty as Qr, Spinner as Qt, mutationFileView as R, areFilesEqual as Rn, parseWorkQuery as Rr, closeFileTab as Rt, writeRows as S, parseThread as Sn, parseFileChange as Sr, isCodeConversation as St, ItemDiscussion as T, parseThreadId as Tn, parseFilePath as Tr, readConversationLocation as Tt, captureCanvasPoint as U, isHandledWorkerPoolError as Un, parseWorkValue as Ur, reconcileFileView as Ut, parseTaskDesign as V, WorkerPoolTerminatedError as Vn, parseWorkSyncResult as Vr, parseFileView as Vt, CommentMergeError as W, markWorkerErrorReported as Wn, valueByRole as Wr, rememberFile as Wt, parseCommentThread as X, getSharedHighlighter as Xn, WorkValidationError as Xr, CommentComposer as Xt, object$1 as Y, areThemesEqual as Yn, statusCategory as Yr, CommentThreadItem as Yt, revision as Z, prepareThemeResolution as Zn, identifier$1 as Zr, Loader as Zt, requestComments as _, RESYNC as _n, parseReviewRepository as _r, PagesWorkspace as _t, saveThreads as a, parsePreview as ai, LiveStatus as an, ResolvedLanguages as ar, FieldCardHeader as at, plainRow as b, MAX_THREADS as bn, parseFileSearchQuery as br, conversationHref as bt, previewKey as c, parsePreviewHash as ci, toast as cn, parseReviewActionResult as cr, initialShellTabs as ct, saveWorkspace as d, parsePreviewViewport as di, isLocale as dn, maxFileSaveBytes as dr, readTabsCookie as dt, record$1 as ei, ToolbarSeparator as en, themeResolver as er, BranchSidebar as et, storeDocument as f, locale as fn, parseMutationPlan as fr, stepShellTab as ft, CommentsRequestError as g, Icon$1 as gn, parseReviewHistory as gr, visitShellTab as gt, storedWorkspace as h, Text as hn, parseReviewDiff as hr, tabsCookieValue as ht, saveThread as i, PREVIEW_TILE_HEIGHT as ii, IconButton as in, areLanguagesAttached as ir, FieldCardContent as it, FileRecoveryDialog as j, parseThreadStatusInput as jn, parseWorkActivity as jr, legacyFileHref as jt, defaultEditorPreferences as k, parseThreadSnapshot as kn, parseSectionData as kr, defaultReviewPosition as kt, projectStore as l, parsePreviewId as li, readPreference as ln, parseFileSaveRequest as lr, openShellTab as lt, storedFiles as m, useLocaleSource as mn, parseRecoveries as mr, tabsCookieName as mt, unavailableComments as n, MAX_PREVIEW_HEIGHT as ni, ShellTabBar as nn, getResolvedOrResolveLanguage as nr, CommentThreadHeading as nt, threadMatches as o, parsePreviewBranch as oi, Tooltip as on, parseReviewActionPlan as or, activeTab as ot, storedDocument as p, t$2 as pn, parseMutationResult as pr, tabHref as pt, parseCommentInput as q, areFileRenderOptionsEqual as qn, fieldByRole as qr, taskRoutes as qt, followThreads as r, PREVIEW_THUMBNAIL_WIDTHS as ri, Select as rn, resolveLanguage as rr, FieldCard as rt, applyFileUpdate as s, parsePreviewCapture as si, AppShell as sn, parseReviewActionRecoveries as sr, closeShellTab as st, commentsUnavailable as t, strict$1 as ti, WorkspaceLayout as tn, getThemes as tr, ConversationSidebar as tt, saveFiles as u, parsePreviewPins as ui, writePreference as un, parseFileSaveResult as ur, parseShellTabs as ut, projectLive as v, parseLiveId as vn, parseReviewSnapshot as vr, codeCommentCounts as vt, ThreadTaskPicker as w, parseThreadFilter as wn, parseFileIndex as wr, locateCodeConversations as wt, writeOptimistically as x, parseAnchor as xn, parseFileSearchResult as xr, conversationLabel as xt, routes as y, parseWorkChange as yn, parseReviewSource as yr, conversationDestination as yt, remainingMutationIntent as z, areDiffTargetsEqual as zn, parseWorkSnapshot as zr, defaultFileView as zt };
98756
+ export { FileSearchPanel as $, validateResolvedThemeName as $n, nonempty as $r, Button as $t, parseEditorPreferences as A, parseThreadSnapshot as An, parseSectionData as Ar, defaultReviewView as At, TaskWorkspace as B, areDiffTargetsEqual as Bn, parseWorkSnapshot as Br, fileHref as Bt, ThreadTaskLinks as C, parseThread as Cn, parseFileChange as Cr, legacyConversationHref as Ct, ReviewActionDialog as D, parseThreadInput as Dn, MAX_CANVAS_Y as Dr, taskHref as Dt, FileConflictPanel as E, parseThreadId as En, parseFilePath as Er, selectedTask as Et, FileWorkspace as F, reviewConflictIdentity as Fn, parseWorkDetail as Fr, reviewComparison as Ft, mergeThreads as G, markWorkerErrorReported as Gn, valueByRole as Gr, fileRoutes as Gt, CanvasWorkspace as H, WorkerPoolTerminatedError as Hn, parseWorkSyncResult as Hr, readFileLocation as Ht, defaultFileDestination as I, isDiffPlainText as In, parseWorkItem as Ir, reviewContextKey as It, conversationId as J, areFileRenderOptionsEqual as Jn, fieldByRole as Jr, CommentThreadDetail as Jt, stableJson as K, isFilePlainText as Kn, parseMessage as Kr, pageRoutes as Kt, fileActionIntent as L, renderDiffWithHighlighter as Ln, parseWorkItemRef as Lr, reviewHref as Lt, FileMutationDialog as M, parseThreadStatusInput as Mn, parseWorkActivity as Mr, parseReviewSession as Mt, FileReviewPanel as N, createCodeAnchor as Nn, parseWorkConnection as Nr, readReviewLocation as Nt, FileEditorPanel as O, parseThreadLinkInput as On, parseElementAnchor as Or, taskRole as Ot, codeThemes as P, parseFileUpdate as Pn, parseWorkCreate as Pr, rememberReviewPosition as Pt, text$4 as Q, prepareThemeResolution as Qn, identifier$1 as Qr, Spinner as Qt, mutationFileView as R, areDiffRenderOptionsEqual as Rn, parseWorkMutationResult as Rr, closeFileTab as Rt, writeRows as S, parseAnchor as Sn, parseFileSearchResult as Sr, isCodeConversation as St, ItemDiscussion as T, parseThreadFilter as Tn, parseFileIndex as Tr, readConversationLocation as Tt, captureCanvasPoint as U, WorkerPoolWorkerError as Un, parseWorkUpdate as Ur, reconcileFileView as Ut, parseTaskDesign as V, WorkerPoolTaskCanceledError as Vn, parseWorkSync as Vr, parseFileView as Vt, CommentMergeError as W, isHandledWorkerPoolError as Wn, parseWorkValue as Wr, rememberFile as Wt, parseCommentThread as X, areThemesEqual as Xn, statusCategory as Xr, CommentComposer as Xt, object$1 as Y, hasResolvedThemes as Yn, parseWorkSchema as Yr, CommentThreadItem as Yt, revision as Z, getSharedHighlighter as Zn, WorkValidationError as Zr, Loader as Zt, requestComments as _, Icon$1 as _n, parseReviewHistory as _r, PagesWorkspace as _t, saveThreads as a, PREVIEW_TILE_HEIGHT as ai, LiveStatus as an, areLanguagesAttached as ar, FieldCardHeader as at, plainRow as b, parseWorkChange as bn, parseReviewSource as br, conversationHref as bt, previewKey as c, parsePreviewCapture as ci, toast as cn, parseReviewActionRecoveries as cr, initialShellTabs as ct, saveWorkspace as d, parsePreviewPins as di, hasMessage as dn, parseFileSaveResult as dr, readTabsCookie as dt, parseWork as ei, ToolbarSeparator as en, attachResolvedThemes as er, BranchSidebar as et, storeDocument as f, parsePreviewViewport as fi, isLocale as fn, maxFileSaveBytes as fr, stepShellTab as ft, CommentsRequestError as g, Text as gn, parseReviewDiff as gr, visitShellTab as gt, storedWorkspace as h, useLocaleSource as hn, parseRecoveries as hr, tabsCookieValue as ht, saveThread as i, PREVIEW_THUMBNAIL_WIDTHS as ii, IconButton as in, resolveLanguage as ir, FieldCardContent as it, FileRecoveryDialog as j, parseThreadStatus as jn, parseWorkActionInput as jr, legacyFileHref as jt, defaultEditorPreferences as k, parseThreadReplyInput as kn, parseWorkWorkspace as kr, defaultReviewPosition as kt, projectStore as l, parsePreviewHash as li, readPreference as ln, parseReviewActionResult as lr, openShellTab as lt, storedFiles as m, t$2 as mn, parseMutationResult as mr, tabsCookieName as mt, unavailableComments as n, strict$1 as ni, ShellTabBar as nn, getThemes as nr, CommentThreadHeading as nt, threadMatches as o, parsePreview as oi, Tooltip as on, ResolvedLanguages as or, activeTab as ot, storedDocument as p, locale as pn, parseMutationPlan as pr, tabHref as pt, parseCommentInput as q, renderFileWithHighlighter as qn, parseMessageAuthor as qr, taskRoutes as qt, followThreads as r, MAX_PREVIEW_HEIGHT as ri, Select as rn, getResolvedOrResolveLanguage as rr, FieldCard as rt, applyFileUpdate as s, parsePreviewBranch as si, AppShell as sn, parseReviewActionPlan as sr, closeShellTab as st, commentsUnavailable as t, record$1 as ti, WorkspaceLayout as tn, themeResolver as tr, ConversationSidebar as tt, saveFiles as u, parsePreviewId as ui, writePreference as un, parseFileSaveRequest as ur, parseShellTabs as ut, projectLive as v, RESYNC as vn, parseReviewRepository as vr, codeCommentCounts as vt, ThreadTaskPicker as w, parseThreadCapabilities as wn, parseFileDocument as wr, locateCodeConversations as wt, writeOptimistically as x, MAX_THREADS as xn, parseFileSearchQuery as xr, conversationLabel as xt, routes as y, parseLiveId as yn, parseReviewSnapshot as yr, conversationDestination as yt, remainingMutationIntent as z, areFilesEqual as zn, parseWorkQuery as zr, defaultFileView as zt };
@@ -1,9 +1,9 @@
1
1
  import { i as __toESM } from "./rolldown-runtime-DktXgydw.js";
2
- import { $ as FileSearchPanel, $n as attachResolvedThemes, A as parseEditorPreferences, At as defaultReviewView, Bn as WorkerPoolTaskCanceledError, Bt as fileHref, Cr as parseFileDocument, D as ReviewActionDialog, E as FileConflictPanel, F as FileWorkspace, Fn as isDiffPlainText, Ft as reviewComparison, Gn as isFilePlainText, Gt as fileRoutes, Hn as WorkerPoolWorkerError, Ht as readFileLocation, I as defaultFileDestination, In as renderDiffWithHighlighter, It as reviewContextKey, Jn as hasResolvedThemes, Kn as renderFileWithHighlighter, L as fileActionIntent, Ln as areDiffRenderOptionsEqual, Lt as reviewHref, M as FileMutationDialog, Mn as createCodeAnchor, Mt as parseReviewSession, N as FileReviewPanel, Nn as parseFileUpdate, Nt as readReviewLocation, O as FileEditorPanel, P as codeThemes, Pn as reviewConflictIdentity, Pt as rememberReviewPosition, Qn as validateResolvedThemeName, R as mutationFileView, Rn as areFilesEqual, Rt as closeFileTab, Sr as parseFileChange, St as isCodeConversation, Tr as parseFilePath, Tt as readConversationLocation, Un as isHandledWorkerPoolError, Ut as reconcileFileView, Vn as WorkerPoolTerminatedError, Vt as parseFileView, Wn as markWorkerErrorReported, Wt as rememberFile, Xn as getSharedHighlighter, Yn as areThemesEqual, Zn as prepareThemeResolution, _r as parseReviewRepository, ar as ResolvedLanguages, br as parseFileSearchQuery, bt as conversationHref, cn as toast, cr as parseReviewActionResult, dr as maxFileSaveBytes, er as themeResolver, f as storeDocument, fr as parseMutationPlan, gr as parseReviewHistory, hn as Text, hr as parseReviewDiff, ir as areLanguagesAttached, j as FileRecoveryDialog, k as defaultEditorPreferences, kt as defaultReviewPosition, l as projectStore, ln as readPreference, lr as parseFileSaveRequest, m as storedFiles, mr as parseRecoveries, nr as getResolvedOrResolveLanguage, or as parseReviewActionPlan, p as storedDocument, pn as t, pr as parseMutationResult, qn as areFileRenderOptionsEqual, rr as resolveLanguage, s as applyFileUpdate, sr as parseReviewActionRecoveries, tr as getThemes, tt as ConversationSidebar, u as saveFiles, un as writePreference, ur as parseFileSaveResult, v as projectLive, vr as parseReviewSnapshot, vt as codeCommentCounts, wr as parseFileIndex, wt as locateCodeConversations, xr as parseFileSearchResult, y as routes, yr as parseReviewSource, z as remainingMutationIntent, zn as areDiffTargetsEqual, zt as defaultFileView } from "./comment-data-q_8INiZz.js";
2
+ import { $ as FileSearchPanel, $n as validateResolvedThemeName, A as parseEditorPreferences, At as defaultReviewView, Bn as areDiffTargetsEqual, Bt as fileHref, Cr as parseFileChange, D as ReviewActionDialog, E as FileConflictPanel, Er as parseFilePath, F as FileWorkspace, Fn as reviewConflictIdentity, Ft as reviewComparison, Gn as markWorkerErrorReported, Gt as fileRoutes, Hn as WorkerPoolTerminatedError, Ht as readFileLocation, I as defaultFileDestination, In as isDiffPlainText, It as reviewContextKey, Jn as areFileRenderOptionsEqual, Kn as isFilePlainText, L as fileActionIntent, Ln as renderDiffWithHighlighter, Lt as reviewHref, M as FileMutationDialog, Mt as parseReviewSession, N as FileReviewPanel, Nn as createCodeAnchor, Nt as readReviewLocation, O as FileEditorPanel, P as codeThemes, Pn as parseFileUpdate, Pt as rememberReviewPosition, Qn as prepareThemeResolution, R as mutationFileView, Rn as areDiffRenderOptionsEqual, Rt as closeFileTab, Sr as parseFileSearchResult, St as isCodeConversation, Tr as parseFileIndex, Tt as readConversationLocation, Un as WorkerPoolWorkerError, Ut as reconcileFileView, Vn as WorkerPoolTaskCanceledError, Vt as parseFileView, Wn as isHandledWorkerPoolError, Wt as rememberFile, Xn as areThemesEqual, Yn as hasResolvedThemes, Zn as getSharedHighlighter, _r as parseReviewHistory, ar as areLanguagesAttached, br as parseReviewSource, bt as conversationHref, cn as toast, cr as parseReviewActionRecoveries, dr as parseFileSaveResult, er as attachResolvedThemes, f as storeDocument, fr as maxFileSaveBytes, gn as Text, gr as parseReviewDiff, hr as parseRecoveries, ir as resolveLanguage, j as FileRecoveryDialog, k as defaultEditorPreferences, kt as defaultReviewPosition, l as projectStore, ln as readPreference, lr as parseReviewActionResult, m as storedFiles, mn as t, mr as parseMutationResult, nr as getThemes, or as ResolvedLanguages, p as storedDocument, pr as parseMutationPlan, qn as renderFileWithHighlighter, rr as getResolvedOrResolveLanguage, s as applyFileUpdate, sr as parseReviewActionPlan, tr as themeResolver, tt as ConversationSidebar, u as saveFiles, un as writePreference, ur as parseFileSaveRequest, v as projectLive, vr as parseReviewRepository, vt as codeCommentCounts, wr as parseFileDocument, wt as locateCodeConversations, xr as parseFileSearchQuery, y as routes, yr as parseReviewSnapshot, z as remainingMutationIntent, zn as areFilesEqual, zt as defaultFileView } from "./comment-data-CeuJbJKJ.js";
3
3
  import { B as DEFAULT_THEMES, C as getFiletypeFromFileName, S as getCustomExtensionsVersion, x as getCustomExtensionsMap } from "./cloneFileDiffMetadata-C1BcNpxN.js";
4
- import { n as createProjectComments, t as defineScreen } from "./screen-Dog-YByu.js";
4
+ import { n as createProjectComments, t as defineScreen } from "./screen-DRTAKkn3.js";
5
5
  import { t as require_lru } from "./lru-C0_oUet4.js";
6
- import { t as ProjectThreadLinks } from "./project-thread-links-BOzjws5W.js";
6
+ import { t as ProjectThreadLinks } from "./project-thread-links-Bs_MtfBC.js";
7
7
  import { ref } from "remix/component";
8
8
  import { jsx, jsxs } from "remix/component/jsx-runtime";
9
9
  //#region ../../node_modules/.pnpm/@pierre+diffs@1.5.2_@shikijs+themes@4.5.0_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/@pierre/diffs/dist/highlighter/languages/getResolvedLanguages.js