@tutti-os/workspace-issue-manager 0.0.40 → 0.0.42

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.
@@ -24,6 +24,7 @@ var issueManagerEn = {
24
24
  askAgentToRun: "Send to Agent",
25
25
  cancel: "Cancel",
26
26
  clearSearch: "Clear search",
27
+ closeWindow: "Close",
27
28
  closeTaskDetails: "Back to task details",
28
29
  collapseIssueList: "Collapse task list",
29
30
  copyShareLink: "Copy share link",
@@ -40,6 +41,8 @@ var issueManagerEn = {
40
41
  expandIssueList: "Expand task list",
41
42
  inviteCollaborator: "Invite collaborator",
42
43
  insertReferences: "Insert references",
44
+ maximizeWindow: "Maximize",
45
+ minimizeWindow: "Minimize",
43
46
  moreActions: "More actions",
44
47
  openAgentSession: "Open agent session",
45
48
  openReference: "Open",
@@ -47,6 +50,7 @@ var issueManagerEn = {
47
50
  referenceWorkspaceFiles: "Reference files",
48
51
  rejectTask: "Reject",
49
52
  removeReference: "Remove",
53
+ restoreWindow: "Restore",
50
54
  runTask: "Run task",
51
55
  saveIssue: "Save task",
52
56
  saveSubtask: "Save subtask",
@@ -250,6 +254,7 @@ var issueManagerZhCN = {
250
254
  askAgentToRun: "\u53D1\u9001\u7ED9 Agent",
251
255
  cancel: "\u53D6\u6D88",
252
256
  clearSearch: "\u6E05\u7A7A\u641C\u7D22",
257
+ closeWindow: "\u5173\u95ED",
253
258
  closeTaskDetails: "\u8FD4\u56DE\u4EFB\u52A1\u8BE6\u60C5",
254
259
  collapseIssueList: "\u6536\u8D77\u4EFB\u52A1\u5217\u8868",
255
260
  copyShareLink: "\u590D\u5236\u5206\u4EAB\u94FE\u63A5",
@@ -266,6 +271,8 @@ var issueManagerZhCN = {
266
271
  expandIssueList: "\u5C55\u5F00\u4EFB\u52A1\u5217\u8868",
267
272
  inviteCollaborator: "\u9080\u8BF7\u534F\u4F5C\u8005",
268
273
  insertReferences: "\u63D2\u5165\u5F15\u7528",
274
+ maximizeWindow: "\u6700\u5927\u5316",
275
+ minimizeWindow: "\u6700\u5C0F\u5316",
269
276
  moreActions: "\u66F4\u591A\u64CD\u4F5C",
270
277
  openAgentSession: "\u6253\u5F00 Agent \u4F1A\u8BDD",
271
278
  openReference: "\u6253\u5F00",
@@ -273,6 +280,7 @@ var issueManagerZhCN = {
273
280
  referenceWorkspaceFiles: "\u5F15\u7528\u6587\u4EF6",
274
281
  rejectTask: "\u9A73\u56DE",
275
282
  removeReference: "\u79FB\u9664",
283
+ restoreWindow: "\u8FD8\u539F",
276
284
  runTask: "\u8FD0\u884C\u4EFB\u52A1",
277
285
  saveIssue: "\u4FDD\u5B58\u4EFB\u52A1",
278
286
  saveSubtask: "\u4FDD\u5B58\u4EFB\u52A1",
@@ -494,4 +502,4 @@ export {
494
502
  issueManagerI18nResources,
495
503
  createIssueManagerI18nRuntime
496
504
  };
497
- //# sourceMappingURL=chunk-OWZ266HS.js.map
505
+ //# sourceMappingURL=chunk-3MZ5QNY4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/i18n/issueManagerI18n.ts"],"sourcesContent":["import {\n createI18nRuntime,\n createScopedI18nRuntime,\n createScopedLocaleObjectsI18nModuleManifest,\n type I18nDictionary,\n type I18nRuntime\n} from \"@tutti-os/ui-i18n-runtime\";\n\ntype IssueManagerI18nLocale = \"en\" | \"zh-CN\";\n\nexport const issueManagerI18nNamespace = \"issueManager\";\nexport const issueManagerI18nModule =\n createScopedLocaleObjectsI18nModuleManifest({\n localeObjectByLocale: {\n en: \"issueManagerEn\",\n \"zh-CN\": \"issueManagerZhCN\"\n },\n name: \"workspace-issue-manager\",\n namespace: issueManagerI18nNamespace,\n sourceRoot: \"packages/workspace/issue-manager/src\"\n });\n\nconst issueManagerEn = {\n actions: {\n add: \"Add\",\n addReferences: \"Add references\",\n addSubtask: \"Add subtask\",\n acceptTask: \"Accept\",\n askAgentToBreakdown: \"Agent breaks down tasks\",\n askAgentToRun: \"Send to Agent\",\n cancel: \"Cancel\",\n clearSearch: \"Clear search\",\n closeWindow: \"Close\",\n closeTaskDetails: \"Back to task details\",\n collapseIssueList: \"Collapse task list\",\n copyShareLink: \"Copy share link\",\n createIssue: \"New task\",\n createTask: \"Create task\",\n createTopic: \"New topic\",\n delete: \"Delete\",\n deleteIssue: \"Delete task\",\n deleteTask: \"Delete task\",\n edit: \"Edit\",\n editIssue: \"Edit task\",\n editTask: \"Edit task\",\n editTopic: \"Edit topic\",\n expandIssueList: \"Expand task list\",\n inviteCollaborator: \"Invite collaborator\",\n insertReferences: \"Insert references\",\n maximizeWindow: \"Maximize\",\n minimizeWindow: \"Minimize\",\n moreActions: \"More actions\",\n openAgentSession: \"Open agent session\",\n openReference: \"Open\",\n refresh: \"Refresh\",\n referenceWorkspaceFiles: \"Reference files\",\n rejectTask: \"Reject\",\n removeReference: \"Remove\",\n restoreWindow: \"Restore\",\n runTask: \"Run task\",\n saveIssue: \"Save task\",\n saveSubtask: \"Save subtask\",\n saveTask: \"Save task\",\n pinTopic: \"Pin\",\n saveTopic: \"Save topic\",\n unpinTopic: \"Unpin\",\n uploadFiles: \"Upload files\",\n uploadFolder: \"Upload folder\"\n },\n composer: {\n issueContentPlaceholder: \"Describe the task, goals, or context.\",\n issueTitlePlaceholder: \"Task title\",\n subtaskContentPlaceholder:\n \"Add the subtask goal, execution approach, and acceptance criteria.\",\n subtaskTitlePlaceholder: \"Enter a subtask title\",\n taskContentPlaceholder: \"Describe the executable task and expected result.\",\n taskTitlePlaceholder: \"Task title\"\n },\n confirmations: {\n deleteIssue: \"Delete this task?\",\n deleteTask: \"Delete this task?\",\n deleteTopic: \"Delete this topic?\"\n },\n dockLabel: \"Tasks\",\n emptyState: \"Create a task, add the goal and references, then let Agent run\",\n labels: {\n allStatus: \"All\",\n boardView: \"Board\",\n content: \"Content\",\n contextReferences: \"Context references\",\n createTopicDialogTitle: \"New topic\",\n createdAt: \"Created\",\n creator: \"Creator\",\n customExecutionDirectory: \"Custom directory\",\n description: \"Description\",\n executionOutputs: \"Execution outputs\",\n issueDetails: \"Task details\",\n issueList: \"Tasks\",\n latestRunStatus: \"Latest execution status\",\n outputs: \"Outputs\",\n priority: \"Priority\",\n provider: \"Provider\",\n recentRuns: \"Recent runs\",\n requirementDescription: \"Requirements\",\n resizeIssueList: \"Resize task list\",\n searchIssues: \"Search tasks\",\n scrollStatusTabsLeft: \"Scroll status tabs left\",\n scrollStatusTabsRight: \"Scroll status tabs right\",\n status: \"Status\",\n subtasks: \"Subtasks\",\n subtaskViewMode: \"Subtask view mode\",\n listView: \"List\",\n taskAcceptance: \"Task pending acceptance\",\n topic: \"Topic\",\n topicDefault: \"Default\",\n topicSummary: \"Topic summary\",\n topicTitle: \"Topic title\",\n editTopicDialogTitle: \"Edit topic\",\n title: \"Title\",\n updatedAt: \"Updated\",\n taskCount: \"{{count}} subtasks\",\n taskDetails: \"Task details\",\n taskList: \"Tasks\",\n temporaryExecutionDirectory: \"Temporary directory\"\n },\n messages: {\n clipboardUnavailable: \"Clipboard is unavailable.\",\n agentSessionOpenFailed: \"Couldn't open the agent session.\",\n breakdownOpenFailed: \"Couldn't open the agent task breakdown.\",\n breakdownUnavailable: \"Agent task breakdown is unavailable.\",\n copyShareLinkFailed: \"Couldn't copy the share link.\",\n copiedShareLink: \"Share link copied.\",\n issueDeleteFailed: \"Couldn't delete the task.\",\n issueRefreshFailed: \"Couldn't refresh tasks.\",\n issueSaveFailed: \"Couldn't save the task.\",\n issueDeleted: \"Task deleted.\",\n issueSaved: \"Task saved.\",\n issueContentEmpty: \"No task description yet\",\n noExecutionOutputs: \"No execution outputs yet\",\n noExecutionStatus: \"No execution records yet\",\n noIssueReferences: \"No task references yet\",\n noIssuesForFilterBody:\n \"Try another filter, or create a new task to get things started\",\n noIssuesForFilterTitle: \"No tasks match the current filter\",\n noIssues: \"No tasks yet\",\n noAgentProviders: \"No available agent providers.\",\n noOutputs: \"No outputs yet\",\n noRecentRuns: \"No runs yet\",\n taskContentEmpty: \"No task description yet\",\n taskAcceptanceHint: \"Accept to complete; reject to return to Todo.\",\n noTaskReferences: \"No task references yet\",\n noTasksForIssueBody:\n \"Create the first subtask for this task and let an agent or yourself execute it\",\n noSubtasksForIssue:\n \"You can continue breaking down this task by adding subtasks\",\n noTasks: \"No tasks yet\",\n refreshingIssues: \"Refreshing tasks...\",\n titleRequired: \"Enter a title before saving.\",\n runExitCode: \"Codex exited with code {{code}}.\",\n runCompleted: \"Run completed.\",\n runFailed: \"Run failed\",\n runStarted: \"Run started.\",\n runStatusMissing:\n \"Terminal exited before the task run produced a status marker.\",\n runTimedOut: \"Task run timed out while waiting for Codex output.\",\n referenceRemoveFailed: \"Couldn't remove the reference.\",\n taskDeleteFailed: \"Couldn't delete the task.\",\n taskSaveFailed: \"Couldn't save the task.\",\n taskDeleted: \"Task deleted.\",\n taskSaved: \"Task saved.\",\n topicCreateFailed: \"Couldn't create the topic.\",\n topicDeleteDefaultForbidden: \"The default topic can't be deleted.\",\n topicDeleteFailed: \"Couldn't delete the topic.\",\n topicDeleteNotEmpty:\n \"Move or delete the tasks in this topic before deleting it.\",\n topicDeleteNotFound: \"This topic no longer exists.\",\n topicListEmpty: \"No task topics are available.\",\n topicUpdateFailed: \"Couldn't update the topic.\",\n uploadTypeConflict: \"Upload target contains conflicting entry types.\",\n workspacePathUnavailable: \"Workspace path is unavailable.\"\n },\n priority: {\n high: \"High\",\n low: \"Low\",\n medium: \"Medium\"\n },\n referencePicker: {\n browse: \"Browse\",\n clearFilter: \"Clear filter\",\n confirm: \"Use references\",\n emptyDirectory: \"This folder is empty.\",\n emptyPreview: \"Select a file to view details.\",\n emptySearch: \"No matching files or folders.\",\n fileTypeAll: \"All types\",\n fileTypeDocument: \"Documents\",\n fileTypeImage: \"Images\",\n fileTypeOther: \"Other\",\n fileTypeSeparator: \", \",\n fileTypeVideo: \"Videos\",\n fileTypeWebpage: \"Web pages\",\n loadMore: \"Load more\",\n loadMoreGroups: \"Load more\",\n loading: \"Loading...\",\n previewBinary: \"This file looks like binary content.\",\n previewDecodeFailed: \"This file couldn't be decoded as UTF-8 text.\",\n previewError: \"Couldn't load a preview.\",\n previewFileTooLarge: \"This file is larger than {{maxSize}}.\",\n previewFolder: \"Folder preview is not available.\",\n previewHierarchy: \"Location\",\n previewLoading: \"Loading preview...\",\n previewModified: \"Modified\",\n previewSize: \"File size\",\n previewSource: \"Source\",\n previewTextTooLarge: \"This text file is larger than {{maxSize}}.\",\n previewTooLarge: \"This file is too large to preview.\",\n previewUnavailable: \"Preview is not available in this workspace.\",\n previewUnsupported: \"This file type can't be previewed here.\",\n searchPlaceholder: \"Search files and folders\",\n selectGroupHint: \"Select a folder from the sidebar.\",\n selectedCount: \"{{count}} selected\",\n sourceColumn: \"Category\",\n title: \"Pick workspace references\",\n workspaceRootGroup: \"Workspace\"\n },\n richTextAt: {\n all: \"All\",\n apps: \"Apps\",\n files: \"Files\",\n issues: \"Tasks\",\n loading: \"Loading...\",\n noMatches: \"No matches\",\n sessions: \"Sessions\",\n showMore: \"Show {{count}} more\",\n switchCategory: \"Switch category\",\n switchSelection: \"Switch selection\"\n },\n run: {\n failedSummaryFallback: \"Run failed\",\n outputDirectory: \"Output directory\",\n requester: \"Requester\",\n status: \"Run status\",\n summary: \"Summary\"\n },\n runPrompts: {\n breakdownIntro: \"Break this task reference down into executable tasks.\",\n executeIntro: \"Handle this task reference.\"\n },\n status: {\n canceled: \"Canceled\",\n completed: \"Done\",\n failed: \"Failed\",\n notStarted: \"Todo\",\n pendingAcceptance: \"In review\",\n running: \"Running\",\n unknown: \"Unknown\"\n },\n title: \"Tasks\"\n} as const satisfies I18nDictionary;\n\nconst issueManagerZhCN = {\n actions: {\n add: \"添加\",\n addReferences: \"添加引用\",\n addSubtask: \"添加任务\",\n acceptTask: \"验证通过\",\n askAgentToBreakdown: \"Agent 拆解任务\",\n askAgentToRun: \"发送给 Agent\",\n cancel: \"取消\",\n clearSearch: \"清空搜索\",\n closeWindow: \"关闭\",\n closeTaskDetails: \"返回任务详情\",\n collapseIssueList: \"收起任务列表\",\n copyShareLink: \"复制分享链接\",\n createIssue: \"新建任务\",\n createTask: \"新建任务\",\n createTopic: \"新建主题\",\n delete: \"删除\",\n deleteIssue: \"删除任务\",\n deleteTask: \"删除任务\",\n edit: \"编辑\",\n editIssue: \"编辑任务\",\n editTask: \"编辑任务\",\n editTopic: \"编辑主题\",\n expandIssueList: \"展开任务列表\",\n inviteCollaborator: \"邀请协作者\",\n insertReferences: \"插入引用\",\n maximizeWindow: \"最大化\",\n minimizeWindow: \"最小化\",\n moreActions: \"更多操作\",\n openAgentSession: \"打开 Agent 会话\",\n openReference: \"打开\",\n refresh: \"刷新\",\n referenceWorkspaceFiles: \"引用文件\",\n rejectTask: \"驳回\",\n removeReference: \"移除\",\n restoreWindow: \"还原\",\n runTask: \"运行任务\",\n saveIssue: \"保存任务\",\n saveSubtask: \"保存任务\",\n saveTask: \"保存任务\",\n pinTopic: \"置顶\",\n saveTopic: \"保存主题\",\n unpinTopic: \"取消置顶\",\n uploadFiles: \"上传文件\",\n uploadFolder: \"上传文件夹\"\n },\n composer: {\n issueContentPlaceholder: \"补充这个任务的背景、目标或上下文\",\n issueTitlePlaceholder: \"任务标题\",\n subtaskContentPlaceholder: \"补充任务目标、执行方式和验收标准\",\n subtaskTitlePlaceholder: \"请输入任务标题\",\n taskContentPlaceholder: \"描述这个任务的执行要求和预期结果。\",\n taskTitlePlaceholder: \"任务标题\"\n },\n confirmations: {\n deleteIssue: \"确定删除这个任务吗?\",\n deleteTask: \"确定删除这个任务吗?\",\n deleteTopic: \"确定删除这个主题吗?\"\n },\n dockLabel: \"任务\",\n emptyState: \"新建任务,补充需求描述和相关文件,即可让 Agent 执行\",\n labels: {\n allStatus: \"全部\",\n boardView: \"看板\",\n content: \"内容\",\n contextReferences: \"上下文引用\",\n createTopicDialogTitle: \"新建主题\",\n createdAt: \"创建时间\",\n creator: \"创建者\",\n customExecutionDirectory: \"自定义目录\",\n description: \"描述\",\n executionOutputs: \"执行产物\",\n issueDetails: \"任务详情\",\n issueList: \"任务\",\n latestRunStatus: \"最新执行状态\",\n outputs: \"输出产物\",\n priority: \"优先级\",\n provider: \"Provider\",\n recentRuns: \"最近运行\",\n requirementDescription: \"需求描述\",\n resizeIssueList: \"调整任务列表宽度\",\n searchIssues: \"搜索任务\",\n scrollStatusTabsLeft: \"向左滚动状态标签\",\n scrollStatusTabsRight: \"向右滚动状态标签\",\n status: \"状态\",\n subtasks: \"子任务\",\n subtaskViewMode: \"子任务视图模式\",\n listView: \"列表\",\n taskAcceptance: \"任务待验收\",\n topic: \"主题\",\n topicDefault: \"默认\",\n topicSummary: \"主题概要\",\n topicTitle: \"主题标题\",\n editTopicDialogTitle: \"编辑主题\",\n title: \"标题\",\n updatedAt: \"更新时间\",\n taskCount: \"{{count}} 个子任务\",\n taskDetails: \"任务详情\",\n taskList: \"任务\",\n temporaryExecutionDirectory: \"临时目录\"\n },\n messages: {\n clipboardUnavailable: \"当前环境无法访问剪贴板。\",\n agentSessionOpenFailed: \"打开 Agent 会话失败。\",\n breakdownOpenFailed: \"打开 Agent 任务拆解失败。\",\n breakdownUnavailable: \"当前环境暂不支持 Agent 任务拆解。\",\n copyShareLinkFailed: \"复制分享链接失败。\",\n copiedShareLink: \"已复制分享链接。\",\n issueDeleteFailed: \"删除任务失败。\",\n issueRefreshFailed: \"刷新任务列表失败。\",\n issueSaveFailed: \"保存任务失败。\",\n issueDeleted: \"任务已删除。\",\n issueSaved: \"任务已保存。\",\n issueContentEmpty: \"这个任务还没有描述\",\n noExecutionOutputs: \"暂无执行产物\",\n noExecutionStatus: \"暂无执行记录\",\n noIssueReferences: \"这个任务还没有引用\",\n noIssuesForFilterBody: \"试试切换筛选条件,或者新建一个任务\",\n noIssuesForFilterTitle: \"当前筛选条件下暂无任务\",\n noIssues: \"还没有任务\",\n noAgentProviders: \"暂无可用的 Agent Provider。\",\n noOutputs: \"还没有输出产物\",\n noRecentRuns: \"还没有运行记录\",\n taskContentEmpty: \"这个任务还没有描述\",\n taskAcceptanceHint: \"验证后完成,驳回后回到待开始。\",\n noTaskReferences: \"这个任务还没有引用\",\n noTasksForIssueBody:\n \"为这个任务创建第一个子任务,然后交给 Agent 或你自己执行\",\n noSubtasksForIssue: \"你可以围绕当前任务继续添加子任务\",\n noTasks: \"还没有任务\",\n refreshingIssues: \"正在刷新任务列表...\",\n titleRequired: \"请先填写标题后再保存。\",\n runExitCode: \"Codex 以退出码 {{code}} 结束。\",\n runCompleted: \"运行已完成。\",\n runFailed: \"运行失败\",\n runStarted: \"运行已开始。\",\n runStatusMissing: \"终端在写入运行状态前就退出了。\",\n runTimedOut: \"等待 Codex 输出超时。\",\n referenceRemoveFailed: \"移除引用失败。\",\n taskDeleteFailed: \"删除任务失败。\",\n taskSaveFailed: \"保存任务失败。\",\n taskDeleted: \"任务已删除。\",\n taskSaved: \"任务已保存。\",\n topicCreateFailed: \"新建主题失败。\",\n topicDeleteDefaultForbidden: \"默认主题不能删除。\",\n topicDeleteFailed: \"删除主题失败。\",\n topicDeleteNotEmpty: \"这个主题下还有任务,不能删除。\",\n topicDeleteNotFound: \"这个主题已不存在。\",\n topicListEmpty: \"没有可用的主题。\",\n topicUpdateFailed: \"更新主题失败。\",\n uploadTypeConflict: \"上传目标中存在类型冲突的同名条目。\",\n workspacePathUnavailable: \"当前工作区路径不可用。\"\n },\n priority: {\n high: \"高\",\n low: \"低\",\n medium: \"中\"\n },\n referencePicker: {\n browse: \"浏览\",\n clearFilter: \"清除筛选\",\n confirm: \"引用文件\",\n emptyDirectory: \"当前目录为空\",\n emptyPreview: \"选择一个文件查看详情\",\n emptySearch: \"没有匹配的文件或文件夹\",\n fileTypeAll: \"全部类型\",\n fileTypeDocument: \"文档\",\n fileTypeImage: \"图片\",\n fileTypeOther: \"其他\",\n fileTypeSeparator: \"、\",\n fileTypeVideo: \"视频\",\n fileTypeWebpage: \"网页\",\n loadMore: \"加载更多\",\n loadMoreGroups: \"拉取更多\",\n loading: \"正在加载\",\n previewBinary: \"这个文件更像二进制内容\",\n previewDecodeFailed: \"暂时无法按 UTF-8 文本解码这个文件\",\n previewError: \"加载预览失败\",\n previewFileTooLarge: \"这个文件超过了 {{maxSize}}\",\n previewFolder: \"暂不支持预览文件夹\",\n previewHierarchy: \"所属层级\",\n previewLoading: \"正在加载预览\",\n previewModified: \"产出时间\",\n previewSize: \"文件大小\",\n previewSource: \"产出来源\",\n previewTextTooLarge: \"这个文本文件超过了 {{maxSize}}\",\n previewTooLarge: \"文件过大,无法预览\",\n previewUnavailable: \"当前工作区无法预览文件\",\n previewUnsupported: \"暂不支持预览这种文件类型\",\n searchPlaceholder: \"搜索文件和文件夹\",\n selectGroupHint: \"从左侧选择一个目录\",\n selectedCount: \"已选择 {{count}} 项\",\n sourceColumn: \"分类\",\n title: \"选择工作区引用\",\n workspaceRootGroup: \"工作区\"\n },\n richTextAt: {\n all: \"全部\",\n apps: \"应用\",\n files: \"文件\",\n issues: \"任务\",\n loading: \"正在加载...\",\n noMatches: \"没有匹配项\",\n sessions: \"会话\",\n showMore: \"再显示 {{count}} 项\",\n switchCategory: \"切换分类\",\n switchSelection: \"切换选中\"\n },\n run: {\n failedSummaryFallback: \"运行失败\",\n outputDirectory: \"输出目录\",\n requester: \"发起人\",\n status: \"运行状态\",\n summary: \"摘要\"\n },\n runPrompts: {\n breakdownIntro: \"请基于这个任务引用做任务拆解。\",\n executeIntro: \"请处理这个任务引用。\"\n },\n status: {\n canceled: \"已取消\",\n completed: \"已完成\",\n failed: \"失败\",\n notStarted: \"待开始\",\n pendingAcceptance: \"待验收\",\n running: \"执行中\",\n unknown: \"未知\"\n },\n title: \"任务\"\n} as const satisfies I18nDictionary;\n\nexport type IssueManagerI18nKey = string;\n\nexport type IssueManagerI18nRuntime = I18nRuntime<IssueManagerI18nKey>;\n\nconst issueManagerDefaults: Record<IssueManagerI18nLocale, I18nDictionary> = {\n en: issueManagerEn,\n \"zh-CN\": issueManagerZhCN\n};\n\nexport const issueManagerI18nResources = {\n en: {\n [issueManagerI18nNamespace]: issueManagerDefaults.en\n },\n \"zh-CN\": {\n [issueManagerI18nNamespace]: issueManagerDefaults[\"zh-CN\"]\n }\n} as const satisfies Record<IssueManagerI18nLocale, I18nDictionary>;\n\nconst defaultIssueManagerI18n = createI18nRuntime({\n dictionaries: [issueManagerI18nResources.en]\n});\n\nexport function createIssueManagerI18nRuntime(\n runtime: I18nRuntime<string> | undefined\n): IssueManagerI18nRuntime {\n return createScopedI18nRuntime<IssueManagerI18nKey>(\n runtime ?? defaultIssueManagerI18n,\n issueManagerI18nNamespace\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createIssueManagerI18nRuntime
3
- } from "./chunk-OWZ266HS.js";
3
+ } from "./chunk-3MZ5QNY4.js";
4
4
 
5
5
  // src/core/feature.ts
6
6
  import {
@@ -359,4 +359,4 @@ export {
359
359
  buildIssueManagerRunPrompt,
360
360
  buildIssueManagerTaskBreakdownPrompt
361
361
  };
362
- //# sourceMappingURL=chunk-KSNIBEPN.js.map
362
+ //# sourceMappingURL=chunk-UVQP76CR.js.map
@@ -24,7 +24,7 @@ import {
24
24
  resolveIssueManagerTopicDeleteErrorMessage,
25
25
  toContextRefInput,
26
26
  toIssueManagerWorkspaceFileLinkInput
27
- } from "./chunk-2UL4JU3Q.js";
27
+ } from "./chunk-VQTT2NHT.js";
28
28
  import {
29
29
  appendIssueManagerWorkspaceFileLinksToContent,
30
30
  appendIssueManagerWorkspaceReferenceMentionsToContent,
@@ -36,7 +36,7 @@ import {
36
36
  issueManagerSidebarMinWidth,
37
37
  normalizeIssueManagerContent,
38
38
  shouldAutoCollapseIssueManagerSidebar
39
- } from "./chunk-KSNIBEPN.js";
39
+ } from "./chunk-UVQP76CR.js";
40
40
 
41
41
  // src/ui/react/internal/shell/IssueManagerNodeState.ts
42
42
  import { useEffect, useEffectEvent, useState } from "react";
@@ -101,6 +101,9 @@ var issueManagerTopicDeleteHub = createIssueManagerKeyedEventHub({
101
101
  var issueManagerTopicUpdateHub = createIssueManagerKeyedEventHub({
102
102
  getKey: issueManagerNodeScopeKey
103
103
  });
104
+ var issueManagerIssueCreateRequestHub = createIssueManagerKeyedEventHub({
105
+ getKey: issueManagerNodeScopeKey
106
+ });
104
107
  function resolveIssueManagerTopicHeaderState(input) {
105
108
  return issueManagerTopicHeaderStateHub.get(issueManagerNodeScopeKey(input)) ?? {
106
109
  activeTopicId: input.activeTopicId,
@@ -137,6 +140,9 @@ function dispatchIssueManagerTopicDelete(input) {
137
140
  function dispatchIssueManagerTopicUpdate(input) {
138
141
  issueManagerTopicUpdateHub.publish(input);
139
142
  }
143
+ function dispatchIssueManagerIssueCreateRequest(input) {
144
+ issueManagerIssueCreateRequestHub.publish(input);
145
+ }
140
146
  function useIssueManagerTaskListCollapsedSync(input) {
141
147
  const onCollapsedChange = useEffectEvent(input.onCollapsedChange);
142
148
  useEffect(() => {
@@ -231,6 +237,18 @@ function useIssueManagerTopicHeaderCommandSync(input) {
231
237
  onUpdateTopic
232
238
  ]);
233
239
  }
240
+ function useIssueManagerIssueCreateRequestSync(input) {
241
+ const onCreateIssue = useEffectEvent(input.onCreateIssue);
242
+ useEffect(() => {
243
+ const handleCreateIssueRequest = () => {
244
+ onCreateIssue();
245
+ };
246
+ return issueManagerIssueCreateRequestHub.subscribe(
247
+ issueManagerNodeScopeKey(input),
248
+ handleCreateIssueRequest
249
+ );
250
+ }, [input.nodeId, input.workspaceId, onCreateIssue]);
251
+ }
234
252
  function useIssueManagerNodeHeaderView(input) {
235
253
  const [manualCollapsed, setManualCollapsed] = useState(
236
254
  input.isSidebarCollapsed
@@ -2277,7 +2295,16 @@ import {
2277
2295
  useEffect as useEffect10,
2278
2296
  useRef as useRef8
2279
2297
  } from "react";
2280
- import { Button as Button13, PanelIcon, cn as cn13 } from "@tutti-os/ui-system";
2298
+ import {
2299
+ Button as Button13,
2300
+ FileCreateIcon as FileCreateIcon6,
2301
+ PanelIcon,
2302
+ Tooltip as Tooltip2,
2303
+ TooltipContent as TooltipContent2,
2304
+ TooltipProvider,
2305
+ TooltipTrigger as TooltipTrigger2,
2306
+ cn as cn13
2307
+ } from "@tutti-os/ui-system";
2281
2308
  import {
2282
2309
  ReferenceSourcePicker,
2283
2310
  WorkspaceFileReferencePicker
@@ -2289,7 +2316,7 @@ import {
2289
2316
  useRef as useRef7,
2290
2317
  useState as useState10
2291
2318
  } from "react";
2292
- import { Button as Button11, FileCreateIcon as FileCreateIcon3, cn as cn11 } from "@tutti-os/ui-system";
2319
+ import { Button as Button11, FileCreateIcon as FileCreateIcon4, cn as cn11 } from "@tutti-os/ui-system";
2293
2320
 
2294
2321
  // src/ui/internal/shell/IssueManagerPanels.tsx
2295
2322
  import { useState as useState7 } from "react";
@@ -4241,12 +4268,12 @@ import {
4241
4268
  Badge as Badge4,
4242
4269
  Button as Button8,
4243
4270
  CloseIcon,
4271
+ FileCreateIcon as FileCreateIcon3,
4244
4272
  Input as Input2,
4245
4273
  ScrollArea as ScrollArea3,
4246
4274
  UnderlineTabs,
4247
4275
  cn as cn8
4248
4276
  } from "@tutti-os/ui-system";
4249
- import { CreateChatIcon } from "@tutti-os/ui-system/icons";
4250
4277
 
4251
4278
  // src/ui/internal/shell/IssueManagerShellState.ts
4252
4279
  var issueManagerStatusFilters = [
@@ -4398,7 +4425,7 @@ function IssueManagerSidebarHeader({
4398
4425
  variant: "secondary",
4399
4426
  onClick: onCreateIssue,
4400
4427
  children: [
4401
- /* @__PURE__ */ jsx13(CreateChatIcon, { "aria-hidden": "true" }),
4428
+ /* @__PURE__ */ jsx13(FileCreateIcon3, { "aria-hidden": "true" }),
4402
4429
  /* @__PURE__ */ jsx13("span", { children: copy.t("actions.createIssue") })
4403
4430
  ]
4404
4431
  }
@@ -5529,6 +5556,21 @@ function useIssueManagerShellView({
5529
5556
  const statusCounts = resolveIssueManagerStatusCounts(controller.issues);
5530
5557
  const isSidebarAutoCollapsed = isNarrowLayout;
5531
5558
  const isSidebarCollapsed = controller.nodeState.taskListCollapsed === true || isSidebarAutoCollapsed;
5559
+ useEffect7(() => {
5560
+ const workbenchWindow = layoutRef.current?.closest(".workbench-window") ?? null;
5561
+ if (!workbenchWindow) {
5562
+ return void 0;
5563
+ }
5564
+ workbenchWindow.style.setProperty(
5565
+ "--issue-manager-sidebar-width",
5566
+ `${sidebarWidth}px`
5567
+ );
5568
+ workbenchWindow.dataset.issueManagerSidebarCollapsed = isSidebarCollapsed ? "true" : "false";
5569
+ return () => {
5570
+ workbenchWindow.style.removeProperty("--issue-manager-sidebar-width");
5571
+ delete workbenchWindow.dataset.issueManagerSidebarCollapsed;
5572
+ };
5573
+ }, [isSidebarCollapsed, sidebarWidth]);
5532
5574
  return {
5533
5575
  content,
5534
5576
  floatingNotice,
@@ -5922,7 +5964,7 @@ function IssueManagerShellEmptyState({
5922
5964
  type: "button",
5923
5965
  onClick: () => controller.setIssueEditorMode("create"),
5924
5966
  children: [
5925
- /* @__PURE__ */ jsx18(FileCreateIcon3, { size: 16 }),
5967
+ /* @__PURE__ */ jsx18(FileCreateIcon4, { size: 16 }),
5926
5968
  controller.copy.t("actions.createIssue")
5927
5969
  ]
5928
5970
  }
@@ -5950,7 +5992,7 @@ import {
5950
5992
  DropdownMenuSeparator,
5951
5993
  DropdownMenuTrigger as DropdownMenuTrigger2,
5952
5994
  EditIcon,
5953
- FileCreateIcon as FileCreateIcon4,
5995
+ FileCreateIcon as FileCreateIcon5,
5954
5996
  Input as Input3,
5955
5997
  MoreHorizontalIcon,
5956
5998
  PinFilledIcon,
@@ -6127,7 +6169,7 @@ function IssueManagerTopicSelector({
6127
6169
  });
6128
6170
  },
6129
6171
  children: [
6130
- /* @__PURE__ */ jsx19(FileCreateIcon4, { className: "size-3.5" }),
6172
+ /* @__PURE__ */ jsx19(FileCreateIcon5, { className: "size-3.5" }),
6131
6173
  /* @__PURE__ */ jsx19("span", { className: "truncate", children: copy.t("actions.createTopic") })
6132
6174
  ]
6133
6175
  }
@@ -6352,6 +6394,13 @@ function IssueManagerNode({
6352
6394
  },
6353
6395
  workspaceId
6354
6396
  });
6397
+ useIssueManagerIssueCreateRequestSync({
6398
+ nodeId,
6399
+ onCreateIssue: () => {
6400
+ controller.setIssueEditorMode("create");
6401
+ },
6402
+ workspaceId
6403
+ });
6355
6404
  return /* @__PURE__ */ jsxs18(
6356
6405
  "section",
6357
6406
  {
@@ -6399,18 +6448,21 @@ function IssueManagerNode({
6399
6448
  );
6400
6449
  }
6401
6450
  var issueManagerWorkbenchDragHandleAttribute = "data-workbench-drag-handle";
6402
- var issueManagerHeaderChromeIconButtonClassName = "cursor-pointer rounded-md text-[var(--text-secondary)] hover:text-[var(--text-primary)]";
6403
- var issueManagerHeaderChromeIconClassName = "size-3.5";
6451
+ var issueManagerHeaderChromeIconButtonClassName = "size-7 min-h-7 min-w-7 cursor-pointer rounded-md p-0 text-[var(--text-secondary)] hover:bg-[color-mix(in_srgb,var(--text-primary)_8%,transparent)] hover:text-[var(--text-primary)]";
6452
+ var issueManagerHeaderChromeIconClassName = "size-[18px]";
6453
+ var issueManagerHeaderTrafficLightClassName = "relative -m-1 size-5 shrink-0 cursor-pointer rounded-full border-0 bg-transparent p-0 text-[var(--text-placeholder)] opacity-95 outline-none transition-[color,filter,opacity] duration-150 ease-out before:absolute before:inset-1 before:rounded-full before:bg-current before:transition-colors before:duration-150 before:ease-out before:content-[''] hover:brightness-110 focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-1 focus-visible:ring-offset-[var(--background-panel)]";
6404
6454
  function IssueManagerNodeHeader({
6405
6455
  activeTopicId = null,
6406
6456
  className,
6407
6457
  copy,
6408
- defaultActions,
6458
+ defaultActions: _defaultActions,
6459
+ displayMode,
6409
6460
  isSidebarAutoCollapsed,
6410
6461
  isSidebarCollapsed,
6411
6462
  nodeId,
6412
6463
  onToggleSidebar,
6413
6464
  title,
6465
+ windowActions,
6414
6466
  workspaceId,
6415
6467
  ...headerProps
6416
6468
  }) {
@@ -6438,12 +6490,28 @@ function IssueManagerNodeHeader({
6438
6490
  nodeId,
6439
6491
  workspaceId
6440
6492
  });
6493
+ const safeDisplayMode = displayMode ?? "floating";
6494
+ const safeWindowActions = windowActions ?? {
6495
+ close: () => void 0,
6496
+ minimize: () => void 0,
6497
+ toggleDisplayMode: () => void 0
6498
+ };
6499
+ const displayModeLabel = safeDisplayMode === "fullscreen" ? copy.t("actions.restoreWindow") : copy.t("actions.maximizeWindow");
6500
+ const sidebarHeaderStyle = {
6501
+ width: effectiveCollapsed ? "max-content" : "min(var(--issue-manager-sidebar-width, 280px), 100%)"
6502
+ };
6503
+ const rightHeaderDividerMaskStyle = {
6504
+ left: effectiveCollapsed ? "0px" : "min(var(--issue-manager-sidebar-width, 280px), 100%)"
6505
+ };
6506
+ const topicHeaderStyle = {
6507
+ left: effectiveCollapsed ? "50%" : "calc(min(var(--issue-manager-sidebar-width, 280px), 100%) + ((100% - min(var(--issue-manager-sidebar-width, 280px), 100%)) / 2))"
6508
+ };
6441
6509
  return /* @__PURE__ */ jsxs18(
6442
6510
  "header",
6443
6511
  {
6444
6512
  ...restHeaderProps,
6445
6513
  className: cn13(
6446
- "relative flex h-full min-h-0 items-center justify-between gap-3 bg-[var(--background-panel)] px-2 pl-3",
6514
+ "relative flex h-full min-h-0 w-full items-center bg-transparent",
6447
6515
  className
6448
6516
  ),
6449
6517
  children: [
@@ -6455,18 +6523,68 @@ function IssueManagerNodeHeader({
6455
6523
  className: "absolute inset-0 cursor-grab active:cursor-grabbing"
6456
6524
  }
6457
6525
  ),
6526
+ /* @__PURE__ */ jsx20(
6527
+ "div",
6528
+ {
6529
+ "aria-hidden": "true",
6530
+ className: "pointer-events-none absolute right-0 bottom-0 z-[11] h-px bg-[var(--background-panel)]",
6531
+ style: rightHeaderDividerMaskStyle
6532
+ }
6533
+ ),
6458
6534
  /* @__PURE__ */ jsxs18(
6459
6535
  "div",
6460
6536
  {
6461
6537
  ...dragHandleProps,
6462
- className: "z-10 flex min-w-0 flex-1 cursor-grab items-center gap-1 active:cursor-grabbing",
6538
+ className: cn13(
6539
+ "relative z-10 flex h-full min-w-0 cursor-grab items-center gap-2 bg-[var(--background-panel)] pr-3 pl-4 active:cursor-grabbing",
6540
+ !effectiveCollapsed && "border-r border-[var(--border-1)]"
6541
+ ),
6542
+ style: sidebarHeaderStyle,
6463
6543
  children: [
6464
- /* @__PURE__ */ jsx20("span", { className: "shrink-0 truncate text-[13px] font-semibold leading-5 text-[var(--text-primary)]", children: title?.trim() || copy.t("title") }),
6544
+ /* @__PURE__ */ jsxs18(
6545
+ "div",
6546
+ {
6547
+ className: "mr-3 flex shrink-0 items-center gap-2",
6548
+ onDoubleClick: (event) => event.stopPropagation(),
6549
+ onPointerDown: (event) => event.stopPropagation(),
6550
+ children: [
6551
+ /* @__PURE__ */ jsx20(
6552
+ IssueManagerTrafficLightButton,
6553
+ {
6554
+ label: copy.t("actions.closeWindow"),
6555
+ tone: "close",
6556
+ onClick: safeWindowActions.close
6557
+ }
6558
+ ),
6559
+ /* @__PURE__ */ jsx20(
6560
+ IssueManagerTrafficLightButton,
6561
+ {
6562
+ label: copy.t("actions.minimizeWindow"),
6563
+ tone: "minimize",
6564
+ onClick: safeWindowActions.minimize
6565
+ }
6566
+ ),
6567
+ /* @__PURE__ */ jsx20(
6568
+ IssueManagerTrafficLightButton,
6569
+ {
6570
+ label: displayModeLabel,
6571
+ pressed: safeDisplayMode === "fullscreen",
6572
+ tone: "maximize",
6573
+ onClick: safeWindowActions.toggleDisplayMode
6574
+ }
6575
+ )
6576
+ ]
6577
+ }
6578
+ ),
6579
+ /* @__PURE__ */ jsx20("span", { className: "min-w-0 shrink truncate text-[15px] font-semibold leading-5 text-[var(--text-primary)]", children: title?.trim() || copy.t("title") }),
6465
6580
  /* @__PURE__ */ jsx20(
6466
6581
  Button13,
6467
6582
  {
6468
6583
  "aria-label": toggleLabel,
6469
- className: issueManagerHeaderChromeIconButtonClassName,
6584
+ className: cn13(
6585
+ !effectiveCollapsed && "ml-auto",
6586
+ issueManagerHeaderChromeIconButtonClassName
6587
+ ),
6470
6588
  "data-issue-manager-sidebar-auto-collapsed": isSidebarAutoCollapsed ? "true" : void 0,
6471
6589
  "data-issue-manager-sidebar-collapsed": effectiveCollapsed ? "true" : void 0,
6472
6590
  size: "icon-sm",
@@ -6481,72 +6599,124 @@ function IssueManagerNodeHeader({
6481
6599
  onPointerDown: (event) => event.stopPropagation(),
6482
6600
  children: /* @__PURE__ */ jsx20(PanelIcon, { className: issueManagerHeaderChromeIconClassName })
6483
6601
  }
6484
- )
6602
+ ),
6603
+ effectiveCollapsed ? /* @__PURE__ */ jsx20(TooltipProvider, { delayDuration: 250, skipDelayDuration: 0, children: /* @__PURE__ */ jsxs18(Tooltip2, { children: [
6604
+ /* @__PURE__ */ jsx20(TooltipTrigger2, { asChild: true, children: /* @__PURE__ */ jsx20(
6605
+ Button13,
6606
+ {
6607
+ "aria-label": copy.t("actions.createIssue"),
6608
+ className: issueManagerHeaderChromeIconButtonClassName,
6609
+ size: "icon-sm",
6610
+ type: "button",
6611
+ variant: "ghost",
6612
+ onClick: (event) => {
6613
+ event.stopPropagation();
6614
+ dispatchIssueManagerIssueCreateRequest({
6615
+ nodeId,
6616
+ workspaceId
6617
+ });
6618
+ },
6619
+ onDoubleClick: (event) => event.stopPropagation(),
6620
+ onPointerDown: (event) => event.stopPropagation(),
6621
+ children: /* @__PURE__ */ jsx20(FileCreateIcon6, { "aria-hidden": "true" })
6622
+ }
6623
+ ) }),
6624
+ /* @__PURE__ */ jsx20(TooltipContent2, { side: "bottom", children: copy.t("actions.createIssue") })
6625
+ ] }) }) : null
6485
6626
  ]
6486
6627
  }
6487
6628
  ),
6488
- /* @__PURE__ */ jsx20("div", { className: "pointer-events-none absolute top-1/2 left-1/2 z-20 flex max-w-[220px] -translate-x-1/2 -translate-y-1/2 items-center justify-center", children: /* @__PURE__ */ jsx20(
6629
+ /* @__PURE__ */ jsx20(
6489
6630
  "div",
6490
6631
  {
6491
- className: "pointer-events-auto flex min-w-0 flex-none",
6492
- onDoubleClick: (event) => event.stopPropagation(),
6493
- onPointerDown: (event) => event.stopPropagation(),
6632
+ className: "pointer-events-none absolute inset-y-0 z-10 flex min-w-0 -translate-x-1/2 items-center justify-center px-3",
6633
+ style: topicHeaderStyle,
6494
6634
  children: /* @__PURE__ */ jsx20(
6495
- IssueManagerTopicSelector,
6635
+ "div",
6496
6636
  {
6497
- activeTopicId: topicState.activeTopicId,
6498
- className: "flex-none",
6499
- copy,
6500
- topics: topicState.topics,
6501
- onCreateTopic: (input) => {
6502
- dispatchIssueManagerTopicCreate({
6503
- input,
6504
- nodeId,
6505
- workspaceId
6506
- });
6507
- },
6508
- onDeleteTopic: (topicId) => {
6509
- dispatchIssueManagerTopicDelete({
6510
- nodeId,
6511
- topicId,
6512
- workspaceId
6513
- });
6514
- },
6515
- onSelectTopic: (topicId) => {
6516
- dispatchIssueManagerTopicSelection({
6517
- nodeId,
6518
- topicId,
6519
- workspaceId
6520
- });
6521
- },
6522
- onUpdateTopic: (input) => {
6523
- dispatchIssueManagerTopicUpdate({
6524
- input,
6525
- nodeId,
6526
- workspaceId
6527
- });
6528
- }
6637
+ className: "pointer-events-auto flex min-w-0 max-w-full items-center",
6638
+ onDoubleClick: (event) => event.stopPropagation(),
6639
+ onPointerDown: (event) => event.stopPropagation(),
6640
+ children: /* @__PURE__ */ jsx20(
6641
+ IssueManagerTopicSelector,
6642
+ {
6643
+ activeTopicId: topicState.activeTopicId,
6644
+ className: "max-w-[220px] text-[var(--text-primary)]",
6645
+ copy,
6646
+ topics: topicState.topics,
6647
+ onCreateTopic: (input) => {
6648
+ dispatchIssueManagerTopicCreate({
6649
+ input,
6650
+ nodeId,
6651
+ workspaceId
6652
+ });
6653
+ },
6654
+ onDeleteTopic: (topicId) => {
6655
+ dispatchIssueManagerTopicDelete({
6656
+ nodeId,
6657
+ topicId,
6658
+ workspaceId
6659
+ });
6660
+ },
6661
+ onSelectTopic: (topicId) => {
6662
+ dispatchIssueManagerTopicSelection({
6663
+ nodeId,
6664
+ topicId,
6665
+ workspaceId
6666
+ });
6667
+ },
6668
+ onUpdateTopic: (input) => {
6669
+ dispatchIssueManagerTopicUpdate({
6670
+ input,
6671
+ nodeId,
6672
+ workspaceId
6673
+ });
6674
+ }
6675
+ }
6676
+ )
6529
6677
  }
6530
6678
  )
6531
6679
  }
6532
- ) }),
6533
- /* @__PURE__ */ jsx20(
6534
- "div",
6535
- {
6536
- className: "z-10 flex flex-none items-center gap-1",
6537
- onDoubleClick: (event) => event.stopPropagation(),
6538
- onPointerDown: (event) => event.stopPropagation(),
6539
- children: defaultActions
6540
- }
6541
6680
  )
6542
6681
  ]
6543
6682
  }
6544
6683
  );
6545
6684
  }
6685
+ function IssueManagerTrafficLightButton({
6686
+ label,
6687
+ onClick,
6688
+ pressed,
6689
+ tone
6690
+ }) {
6691
+ const button = /* @__PURE__ */ jsx20(
6692
+ "button",
6693
+ {
6694
+ "aria-label": label,
6695
+ "aria-pressed": pressed,
6696
+ className: cn13(
6697
+ issueManagerHeaderTrafficLightClassName,
6698
+ tone === "close" && "hover:text-[#ff5f57] focus-visible:text-[#ff5f57]",
6699
+ tone === "minimize" && "hover:text-[#ffbd2e] focus-visible:text-[#ffbd2e]",
6700
+ tone === "maximize" && "hover:text-[#28c840] focus-visible:text-[#28c840]"
6701
+ ),
6702
+ type: "button",
6703
+ onClick: (event) => {
6704
+ event.stopPropagation();
6705
+ onClick();
6706
+ },
6707
+ onDoubleClick: (event) => event.stopPropagation(),
6708
+ onPointerDown: (event) => event.stopPropagation()
6709
+ }
6710
+ );
6711
+ return /* @__PURE__ */ jsx20(TooltipProvider, { delayDuration: 250, skipDelayDuration: 0, children: /* @__PURE__ */ jsxs18(Tooltip2, { children: [
6712
+ /* @__PURE__ */ jsx20(TooltipTrigger2, { asChild: true, children: button }),
6713
+ /* @__PURE__ */ jsx20(TooltipContent2, { side: "bottom", children: label })
6714
+ ] }) });
6715
+ }
6546
6716
 
6547
6717
  export {
6548
6718
  dispatchIssueManagerTaskListCollapsed,
6549
6719
  IssueManagerNode,
6550
6720
  IssueManagerNodeHeader
6551
6721
  };
6552
- //# sourceMappingURL=chunk-YDDAKCBT.js.map
6722
+ //# sourceMappingURL=chunk-UVXKVWZL.js.map