@nextop-os/workspace-issue-manager 0.0.17 → 0.0.19

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 (36) hide show
  1. package/dist/{chunk-5YEGAJKA.js → chunk-5Y5GVLKU.js} +38 -4
  2. package/dist/chunk-5Y5GVLKU.js.map +1 -0
  3. package/dist/chunk-LEL6VWU4.js +1 -0
  4. package/dist/chunk-V75TAM27.js +209 -0
  5. package/dist/chunk-V75TAM27.js.map +1 -0
  6. package/dist/chunk-WSFC2COJ.js +4329 -0
  7. package/dist/chunk-WSFC2COJ.js.map +1 -0
  8. package/dist/chunk-ZWDF5XA7.js +735 -0
  9. package/dist/chunk-ZWDF5XA7.js.map +1 -0
  10. package/dist/contracts/index.d.ts +62 -33
  11. package/dist/core/index.d.ts +44 -0
  12. package/dist/core/index.js +60 -0
  13. package/dist/core/index.js.map +1 -0
  14. package/dist/{feature-B6_wXych.d.ts → feature-2zhsUF_g.d.ts} +11 -1
  15. package/dist/i18n/index.js +1 -1
  16. package/dist/index.d.ts +8 -34
  17. package/dist/index.js +47 -4
  18. package/dist/issueManagerControllerService.interface-B_Jr7Xw_.d.ts +101 -0
  19. package/dist/services/index.d.ts +11 -0
  20. package/dist/services/index.js +24 -0
  21. package/dist/services/index.js.map +1 -0
  22. package/dist/ui/index.d.ts +37 -0
  23. package/dist/ui/index.js +12 -0
  24. package/dist/ui/index.js.map +1 -0
  25. package/dist/workbench/index.d.ts +9 -2
  26. package/dist/workbench/index.js +88 -4
  27. package/dist/workbench/index.js.map +1 -1
  28. package/package.json +20 -8
  29. package/dist/chunk-5YEGAJKA.js.map +0 -1
  30. package/dist/chunk-LYYOPZIJ.js +0 -308
  31. package/dist/chunk-LYYOPZIJ.js.map +0 -1
  32. package/dist/chunk-RX6P2DPR.js +0 -3316
  33. package/dist/chunk-RX6P2DPR.js.map +0 -1
  34. package/dist/react/index.d.ts +0 -17
  35. package/dist/react/index.js +0 -11
  36. /package/dist/{react/index.js.map → chunk-LEL6VWU4.js.map} +0 -0
@@ -21,8 +21,10 @@ var issueManagerEn = {
21
21
  addSubtask: "Add subtask",
22
22
  askAgentToRun: "Ask agent to run",
23
23
  cancel: "Cancel",
24
+ clearSearch: "Clear search",
25
+ collapseIssueList: "Collapse issue list",
24
26
  copyShareLink: "Copy share link",
25
- createIssue: "Create issue",
27
+ createIssue: "New issue",
26
28
  createTask: "Create task",
27
29
  delete: "Delete",
28
30
  deleteIssue: "Delete issue",
@@ -30,12 +32,13 @@ var issueManagerEn = {
30
32
  edit: "Edit",
31
33
  editIssue: "Edit issue",
32
34
  editTask: "Edit task",
35
+ expandIssueList: "Expand issue list",
33
36
  inviteCollaborator: "Invite collaborator",
34
37
  insertReferences: "Insert references",
35
38
  moreActions: "More actions",
36
39
  openReference: "Open",
37
40
  refresh: "Refresh",
38
- referenceWorkspaceFiles: "Reference workspace files",
41
+ referenceWorkspaceFiles: "Reference files",
39
42
  removeReference: "Remove",
40
43
  runTask: "Run task",
41
44
  saveIssue: "Save issue",
@@ -88,7 +91,11 @@ var issueManagerEn = {
88
91
  },
89
92
  messages: {
90
93
  clipboardUnavailable: "Clipboard is unavailable.",
94
+ copyShareLinkFailed: "Couldn't copy the share link.",
91
95
  copiedShareLink: "Share link copied.",
96
+ issueDeleteFailed: "Couldn't delete the issue.",
97
+ issueRefreshFailed: "Couldn't refresh issues.",
98
+ issueSaveFailed: "Couldn't save the issue.",
92
99
  issueDeleted: "Issue deleted.",
93
100
  issueSaved: "Issue saved.",
94
101
  issueContentEmpty: "No issue description yet.",
@@ -105,12 +112,17 @@ var issueManagerEn = {
105
112
  noTasksForIssueBody: "Create the first task for this issue and let an agent or yourself execute it.",
106
113
  noSubtasksForIssue: "You can continue breaking down this item by adding subtasks.",
107
114
  noTasks: "No tasks yet.",
115
+ refreshingIssues: "Refreshing issues...",
116
+ titleRequired: "Enter a title before saving.",
108
117
  runExitCode: "Codex exited with code {{code}}.",
109
118
  runCompleted: "Run completed.",
110
119
  runFailed: "Run failed.",
111
120
  runStarted: "Run started.",
112
121
  runStatusMissing: "Terminal exited before the issue run produced a status marker.",
113
122
  runTimedOut: "Issue run timed out while waiting for Codex output.",
123
+ referenceRemoveFailed: "Couldn't remove the reference.",
124
+ taskDeleteFailed: "Couldn't delete the task.",
125
+ taskSaveFailed: "Couldn't save the task.",
114
126
  taskDeleted: "Task deleted.",
115
127
  taskSaved: "Task saved.",
116
128
  uploadTypeConflict: "Upload target contains conflicting entry types.",
@@ -126,10 +138,15 @@ var issueManagerEn = {
126
138
  confirm: "Use selected references",
127
139
  emptyDirectory: "This folder is empty.",
128
140
  emptySearch: "No matching files or folders.",
141
+ loading: "Loading...",
129
142
  searchPlaceholder: "Search files and folders",
130
143
  selectedCount: "{{count}} selected",
131
144
  title: "Pick workspace references"
132
145
  },
146
+ richTextAt: {
147
+ loading: "Loading...",
148
+ noMatches: "No matches"
149
+ },
133
150
  run: {
134
151
  failedSummaryFallback: "Run failed",
135
152
  outputDirectory: "Output directory",
@@ -155,6 +172,8 @@ var issueManagerZhCN = {
155
172
  addSubtask: "\u6DFB\u52A0\u5B50\u4EFB\u52A1",
156
173
  askAgentToRun: "\u8BA9 Agent \u6267\u884C",
157
174
  cancel: "\u53D6\u6D88",
175
+ clearSearch: "\u6E05\u7A7A\u641C\u7D22",
176
+ collapseIssueList: "\u6536\u8D77\u4E8B\u9879\u5217\u8868",
158
177
  copyShareLink: "\u590D\u5236\u5206\u4EAB\u94FE\u63A5",
159
178
  createIssue: "\u65B0\u5EFA\u4E8B\u9879",
160
179
  createTask: "\u65B0\u5EFA\u4EFB\u52A1",
@@ -164,12 +183,13 @@ var issueManagerZhCN = {
164
183
  edit: "\u7F16\u8F91",
165
184
  editIssue: "\u7F16\u8F91\u4E8B\u9879",
166
185
  editTask: "\u7F16\u8F91\u4EFB\u52A1",
186
+ expandIssueList: "\u5C55\u5F00\u4E8B\u9879\u5217\u8868",
167
187
  inviteCollaborator: "\u9080\u8BF7\u534F\u4F5C\u8005",
168
188
  insertReferences: "\u63D2\u5165\u5F15\u7528",
169
189
  moreActions: "\u66F4\u591A\u64CD\u4F5C",
170
190
  openReference: "\u6253\u5F00",
171
191
  refresh: "\u5237\u65B0",
172
- referenceWorkspaceFiles: "\u5F15\u7528\u7A7A\u95F4\u6587\u4EF6",
192
+ referenceWorkspaceFiles: "\u5F15\u7528\u6587\u4EF6",
173
193
  removeReference: "\u79FB\u9664",
174
194
  runTask: "\u8FD0\u884C\u4EFB\u52A1",
175
195
  saveIssue: "\u4FDD\u5B58\u4E8B\u9879",
@@ -222,7 +242,11 @@ var issueManagerZhCN = {
222
242
  },
223
243
  messages: {
224
244
  clipboardUnavailable: "\u5F53\u524D\u73AF\u5883\u65E0\u6CD5\u8BBF\u95EE\u526A\u8D34\u677F\u3002",
245
+ copyShareLinkFailed: "\u590D\u5236\u5206\u4EAB\u94FE\u63A5\u5931\u8D25\u3002",
225
246
  copiedShareLink: "\u5DF2\u590D\u5236\u5206\u4EAB\u94FE\u63A5\u3002",
247
+ issueDeleteFailed: "\u5220\u9664\u4E8B\u9879\u5931\u8D25\u3002",
248
+ issueRefreshFailed: "\u5237\u65B0\u4E8B\u9879\u5217\u8868\u5931\u8D25\u3002",
249
+ issueSaveFailed: "\u4FDD\u5B58\u4E8B\u9879\u5931\u8D25\u3002",
226
250
  issueDeleted: "\u4E8B\u9879\u5DF2\u5220\u9664\u3002",
227
251
  issueSaved: "\u4E8B\u9879\u5DF2\u4FDD\u5B58\u3002",
228
252
  issueContentEmpty: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u63CF\u8FF0\u3002",
@@ -239,12 +263,17 @@ var issueManagerZhCN = {
239
263
  noTasksForIssueBody: "\u4E3A\u8FD9\u4E2A\u4E8B\u9879\u521B\u5EFA\u7B2C\u4E00\u4E2A\u4EFB\u52A1\uFF0C\u7136\u540E\u4EA4\u7ED9 Agent \u6216\u4F60\u81EA\u5DF1\u6267\u884C\u3002",
240
264
  noSubtasksForIssue: "\u4F60\u53EF\u4EE5\u56F4\u7ED5\u5F53\u524D\u4EFB\u52A1\u7EE7\u7EED\u6DFB\u52A0\u5B50\u4EFB\u52A1",
241
265
  noTasks: "\u8FD8\u6CA1\u6709\u4EFB\u52A1\u3002",
266
+ refreshingIssues: "\u6B63\u5728\u5237\u65B0\u4E8B\u9879\u5217\u8868...",
267
+ titleRequired: "\u8BF7\u5148\u586B\u5199\u6807\u9898\u540E\u518D\u4FDD\u5B58\u3002",
242
268
  runExitCode: "Codex \u4EE5\u9000\u51FA\u7801 {{code}} \u7ED3\u675F\u3002",
243
269
  runCompleted: "\u8FD0\u884C\u5DF2\u5B8C\u6210\u3002",
244
270
  runFailed: "\u8FD0\u884C\u5931\u8D25\u3002",
245
271
  runStarted: "\u8FD0\u884C\u5DF2\u5F00\u59CB\u3002",
246
272
  runStatusMissing: "\u7EC8\u7AEF\u5728\u5199\u5165\u8FD0\u884C\u72B6\u6001\u524D\u5C31\u9000\u51FA\u4E86\u3002",
247
273
  runTimedOut: "\u7B49\u5F85 Codex \u8F93\u51FA\u8D85\u65F6\u3002",
274
+ referenceRemoveFailed: "\u79FB\u9664\u5F15\u7528\u5931\u8D25\u3002",
275
+ taskDeleteFailed: "\u5220\u9664\u4EFB\u52A1\u5931\u8D25\u3002",
276
+ taskSaveFailed: "\u4FDD\u5B58\u4EFB\u52A1\u5931\u8D25\u3002",
248
277
  taskDeleted: "\u4EFB\u52A1\u5DF2\u5220\u9664\u3002",
249
278
  taskSaved: "\u4EFB\u52A1\u5DF2\u4FDD\u5B58\u3002",
250
279
  uploadTypeConflict: "\u4E0A\u4F20\u76EE\u6807\u4E2D\u5B58\u5728\u7C7B\u578B\u51B2\u7A81\u7684\u540C\u540D\u6761\u76EE\u3002",
@@ -260,10 +289,15 @@ var issueManagerZhCN = {
260
289
  confirm: "\u4F7F\u7528\u5DF2\u9009\u5F15\u7528",
261
290
  emptyDirectory: "\u5F53\u524D\u76EE\u5F55\u4E3A\u7A7A\u3002",
262
291
  emptySearch: "\u6CA1\u6709\u5339\u914D\u7684\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u3002",
292
+ loading: "\u6B63\u5728\u52A0\u8F7D...",
263
293
  searchPlaceholder: "\u641C\u7D22\u6587\u4EF6\u548C\u6587\u4EF6\u5939",
264
294
  selectedCount: "\u5DF2\u9009\u62E9 {{count}} \u9879",
265
295
  title: "\u9009\u62E9\u5DE5\u4F5C\u533A\u5F15\u7528"
266
296
  },
297
+ richTextAt: {
298
+ loading: "\u6B63\u5728\u52A0\u8F7D...",
299
+ noMatches: "\u6CA1\u6709\u5339\u914D\u9879"
300
+ },
267
301
  run: {
268
302
  failedSummaryFallback: "\u8FD0\u884C\u5931\u8D25",
269
303
  outputDirectory: "\u8F93\u51FA\u76EE\u5F55",
@@ -310,4 +344,4 @@ export {
310
344
  issueManagerI18nResources,
311
345
  createIssueManagerI18nRuntime
312
346
  };
313
- //# sourceMappingURL=chunk-5YEGAJKA.js.map
347
+ //# sourceMappingURL=chunk-5Y5GVLKU.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 \"@nextop-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 askAgentToRun: \"Ask agent to run\",\n cancel: \"Cancel\",\n clearSearch: \"Clear search\",\n collapseIssueList: \"Collapse issue list\",\n copyShareLink: \"Copy share link\",\n createIssue: \"New issue\",\n createTask: \"Create task\",\n delete: \"Delete\",\n deleteIssue: \"Delete issue\",\n deleteTask: \"Delete task\",\n edit: \"Edit\",\n editIssue: \"Edit issue\",\n editTask: \"Edit task\",\n expandIssueList: \"Expand issue list\",\n inviteCollaborator: \"Invite collaborator\",\n insertReferences: \"Insert references\",\n moreActions: \"More actions\",\n openReference: \"Open\",\n refresh: \"Refresh\",\n referenceWorkspaceFiles: \"Reference files\",\n removeReference: \"Remove\",\n runTask: \"Run task\",\n saveIssue: \"Save issue\",\n saveSubtask: \"Save subtask\",\n saveTask: \"Save task\",\n uploadFiles: \"Upload files\",\n uploadFolder: \"Upload folder\"\n },\n composer: {\n issueContentPlaceholder: \"Describe the issue, goals, or context.\",\n issueTitlePlaceholder: \"Issue 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 issue?\",\n deleteTask: \"Delete this task?\"\n },\n dockLabel: \"Tasks\",\n emptyState:\n \"Create an issue, add the goal and references, then start executing.\",\n labels: {\n allStatus: \"All\",\n content: \"Content\",\n contextReferences: \"Context references\",\n createdAt: \"Created\",\n creator: \"Creator\",\n description: \"Description\",\n executionOutputs: \"Execution outputs\",\n issueDetails: \"Issue details\",\n issueList: \"Issues\",\n latestRunStatus: \"Latest execution status\",\n outputs: \"Outputs\",\n priority: \"Priority\",\n provider: \"Provider\",\n recentRuns: \"Recent runs\",\n requirementDescription: \"Requirements\",\n resizeIssueList: \"Resize issue list\",\n searchIssues: \"Search issues\",\n scrollStatusTabsLeft: \"Scroll status tabs left\",\n scrollStatusTabsRight: \"Scroll status tabs right\",\n status: \"Status\",\n subtasks: \"Subtasks\",\n title: \"Title\",\n updatedAt: \"Updated\",\n taskCount: \"{{count}} tasks\",\n taskDetails: \"Task details\",\n taskList: \"Tasks\"\n },\n messages: {\n clipboardUnavailable: \"Clipboard is unavailable.\",\n copyShareLinkFailed: \"Couldn't copy the share link.\",\n copiedShareLink: \"Share link copied.\",\n issueDeleteFailed: \"Couldn't delete the issue.\",\n issueRefreshFailed: \"Couldn't refresh issues.\",\n issueSaveFailed: \"Couldn't save the issue.\",\n issueDeleted: \"Issue deleted.\",\n issueSaved: \"Issue saved.\",\n issueContentEmpty: \"No issue description yet.\",\n noExecutionOutputs: \"No execution outputs yet.\",\n noExecutionStatus: \"No execution records yet.\",\n noIssueReferences: \"No issue references yet.\",\n noIssuesForFilterBody:\n \"Try another filter, or create a new issue to get things started.\",\n noIssuesForFilterTitle: \"No issues match the current filter.\",\n noIssues: \"No issues yet.\",\n noOutputs: \"No outputs yet.\",\n noRecentRuns: \"No runs yet.\",\n taskContentEmpty: \"No task description yet.\",\n noTaskReferences: \"No task references yet.\",\n noTasksForIssueBody:\n \"Create the first task for this issue and let an agent or yourself execute it.\",\n noSubtasksForIssue:\n \"You can continue breaking down this item by adding subtasks.\",\n noTasks: \"No tasks yet.\",\n refreshingIssues: \"Refreshing issues...\",\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 issue run produced a status marker.\",\n runTimedOut: \"Issue 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 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 confirm: \"Use selected references\",\n emptyDirectory: \"This folder is empty.\",\n emptySearch: \"No matching files or folders.\",\n loading: \"Loading...\",\n searchPlaceholder: \"Search files and folders\",\n selectedCount: \"{{count}} selected\",\n title: \"Pick workspace references\"\n },\n richTextAt: {\n loading: \"Loading...\",\n noMatches: \"No matches\"\n },\n run: {\n failedSummaryFallback: \"Run failed\",\n outputDirectory: \"Output directory\",\n requester: \"Requester\",\n status: \"Run status\",\n summary: \"Summary\"\n },\n status: {\n canceled: \"Canceled\",\n completed: \"Completed\",\n failed: \"Failed\",\n notStarted: \"Not started\",\n pendingAcceptance: \"Pending acceptance\",\n running: \"Running\",\n unknown: \"Unknown\"\n },\n title: \"Task Center\"\n} as const satisfies I18nDictionary;\n\nconst issueManagerZhCN = {\n actions: {\n add: \"添加\",\n addReferences: \"添加引用\",\n addSubtask: \"添加子任务\",\n askAgentToRun: \"让 Agent 执行\",\n cancel: \"取消\",\n clearSearch: \"清空搜索\",\n collapseIssueList: \"收起事项列表\",\n copyShareLink: \"复制分享链接\",\n createIssue: \"新建事项\",\n createTask: \"新建任务\",\n delete: \"删除\",\n deleteIssue: \"删除事项\",\n deleteTask: \"删除任务\",\n edit: \"编辑\",\n editIssue: \"编辑事项\",\n editTask: \"编辑任务\",\n expandIssueList: \"展开事项列表\",\n inviteCollaborator: \"邀请协作者\",\n insertReferences: \"插入引用\",\n moreActions: \"更多操作\",\n openReference: \"打开\",\n refresh: \"刷新\",\n referenceWorkspaceFiles: \"引用文件\",\n removeReference: \"移除\",\n runTask: \"运行任务\",\n saveIssue: \"保存事项\",\n saveSubtask: \"保存子任务\",\n saveTask: \"保存任务\",\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 },\n dockLabel: \"任务\",\n emptyState: \"新建事项,补充需求描述和相关文件,即可开始执行。\",\n labels: {\n allStatus: \"全部\",\n content: \"内容\",\n contextReferences: \"上下文引用\",\n createdAt: \"创建时间\",\n creator: \"创建者\",\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 title: \"标题\",\n updatedAt: \"更新时间\",\n taskCount: \"{{count}} 个任务\",\n taskDetails: \"任务详情\",\n taskList: \"任务\"\n },\n messages: {\n clipboardUnavailable: \"当前环境无法访问剪贴板。\",\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 noOutputs: \"还没有输出产物。\",\n noRecentRuns: \"还没有运行记录。\",\n taskContentEmpty: \"这个任务还没有描述。\",\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 uploadTypeConflict: \"上传目标中存在类型冲突的同名条目。\",\n workspacePathUnavailable: \"当前工作区路径不可用。\"\n },\n priority: {\n high: \"高\",\n low: \"低\",\n medium: \"中\"\n },\n referencePicker: {\n browse: \"浏览\",\n confirm: \"使用已选引用\",\n emptyDirectory: \"当前目录为空。\",\n emptySearch: \"没有匹配的文件或文件夹。\",\n loading: \"正在加载...\",\n searchPlaceholder: \"搜索文件和文件夹\",\n selectedCount: \"已选择 {{count}} 项\",\n title: \"选择工作区引用\"\n },\n richTextAt: {\n loading: \"正在加载...\",\n noMatches: \"没有匹配项\"\n },\n run: {\n failedSummaryFallback: \"运行失败\",\n outputDirectory: \"输出目录\",\n requester: \"发起人\",\n status: \"运行状态\",\n summary: \"摘要\"\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":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-LEL6VWU4.js.map
@@ -0,0 +1,209 @@
1
+ import {
2
+ createIssueManagerI18nRuntime
3
+ } from "./chunk-5Y5GVLKU.js";
4
+
5
+ // src/core/feature.ts
6
+ var defaultIssueManagerNodeState = {
7
+ issueSearchQuery: "",
8
+ issueStatusFilter: "all",
9
+ selectedAgentProvider: "codex",
10
+ selectedIssueId: null,
11
+ selectedTaskId: null,
12
+ taskListCollapsed: false
13
+ };
14
+ function createIssueManagerFeature(input) {
15
+ return {
16
+ agentRunner: input.agentRunner,
17
+ backend: input.backend,
18
+ fileAdapter: input.fileAdapter,
19
+ i18n: createIssueManagerI18nRuntime(input.i18n),
20
+ identityAdapter: input.identityAdapter,
21
+ notifications: input.notifications,
22
+ shareAdapter: input.shareAdapter,
23
+ ui: {
24
+ showInviteCollaborator: input.ui?.showInviteCollaborator ?? true
25
+ }
26
+ };
27
+ }
28
+ function normalizeIssueManagerNodeState(state) {
29
+ return {
30
+ ...defaultIssueManagerNodeState,
31
+ ...state,
32
+ issueSearchQuery: state?.issueSearchQuery?.trim() ?? "",
33
+ issueStatusFilter: state?.issueStatusFilter ?? "all",
34
+ selectedAgentProvider: state?.selectedAgentProvider?.trim() || "codex",
35
+ selectedIssueId: normalizeNullableString(state?.selectedIssueId),
36
+ selectedTaskId: normalizeNullableString(state?.selectedTaskId),
37
+ taskListCollapsed: state?.taskListCollapsed === true
38
+ };
39
+ }
40
+ function normalizeNullableString(value) {
41
+ const trimmed = value?.trim() ?? "";
42
+ return trimmed.length > 0 ? trimmed : null;
43
+ }
44
+
45
+ // src/core/content.ts
46
+ import {
47
+ appendRichTextLinksToContent,
48
+ createRichTextLinkMarkdown,
49
+ createRichTextMentionHref,
50
+ createRichTextMentionMarkdown,
51
+ extractPlainTextFromContent,
52
+ extractPlainTextWithoutFilesFromContent,
53
+ extractRichTextLinksFromContent,
54
+ extractRichTextMentionsFromContent,
55
+ normalizeRichTextContent,
56
+ normalizeRichTextLinkHref,
57
+ parseRichTextMentionHref,
58
+ removeRichTextLinkFromContent,
59
+ removeRichTextMentionFromContent
60
+ } from "@nextop-os/ui-rich-text/core";
61
+ var normalizeIssueManagerContent = normalizeRichTextContent;
62
+ var normalizeIssueManagerWorkspaceFileLinkHref = normalizeRichTextLinkHref;
63
+ var createIssueManagerWorkspaceFileLinkMarkdown = createRichTextLinkMarkdown;
64
+ var appendIssueManagerWorkspaceFileLinksToContent = appendRichTextLinksToContent;
65
+ var extractIssueManagerWorkspaceFileLinksFromContent = extractRichTextLinksFromContent;
66
+ var removeIssueManagerWorkspaceFileLinkFromContent = removeRichTextLinkFromContent;
67
+ var extractIssueManagerPlainTextFromContent = extractPlainTextFromContent;
68
+ var extractIssueManagerPlainTextWithoutFilesFromContent = extractPlainTextWithoutFilesFromContent;
69
+ var createIssueManagerMentionHref = createRichTextMentionHref;
70
+ var createIssueManagerMentionMarkdown = createRichTextMentionMarkdown;
71
+ var parseIssueManagerMentionHref = parseRichTextMentionHref;
72
+ var extractIssueManagerMentionsFromContent = extractRichTextMentionsFromContent;
73
+ var removeIssueManagerMentionFromContent = removeRichTextMentionFromContent;
74
+
75
+ // src/core/layout.ts
76
+ var issueManagerSidebarDefaultWidth = 312;
77
+ var issueManagerSidebarMinWidth = 248;
78
+ var issueManagerSidebarMaxWidth = 520;
79
+ var issueManagerMainMinWidth = 420;
80
+ var issueManagerExpandedFrameMinWidth = issueManagerSidebarMinWidth + issueManagerMainMinWidth;
81
+ function clampIssueManagerSidebarWidth(width, layoutWidth) {
82
+ const maxWidth = Math.max(
83
+ issueManagerSidebarMinWidth,
84
+ Math.min(
85
+ issueManagerSidebarMaxWidth,
86
+ layoutWidth - issueManagerMainMinWidth
87
+ )
88
+ );
89
+ return Math.min(Math.max(width, issueManagerSidebarMinWidth), maxWidth);
90
+ }
91
+ function shouldAutoCollapseIssueManagerSidebar(containerWidth) {
92
+ return Number.isFinite(containerWidth) && containerWidth > 0 && Math.round(containerWidth) < issueManagerExpandedFrameMinWidth;
93
+ }
94
+
95
+ // src/core/runPrompt.ts
96
+ function buildIssueManagerRunOutputDir(issueId, taskId, runId) {
97
+ return `/workspace/issues/${issueId}/tasks/${taskId}/runs/${runId}`;
98
+ }
99
+ function buildIssueManagerUploadDir(issueId, taskId) {
100
+ const normalizedTaskId = taskId?.trim();
101
+ if (normalizedTaskId) {
102
+ return `/workspace/issues/${issueId}/tasks/${normalizedTaskId}/attachments`;
103
+ }
104
+ return `/workspace/issues/${issueId}/attachments`;
105
+ }
106
+ function resolveIssueManagerWorkspaceRuntimePath(workspaceRoot, requestedPath) {
107
+ const normalizedWorkspaceRoot = workspaceRoot.trim().replace(/\/+$/, "");
108
+ const normalizedRequestedPath = requestedPath.trim();
109
+ if (!normalizedWorkspaceRoot || !normalizedRequestedPath) {
110
+ return normalizedRequestedPath;
111
+ }
112
+ if (normalizedRequestedPath === normalizedWorkspaceRoot || normalizedRequestedPath.startsWith(`${normalizedWorkspaceRoot}/`)) {
113
+ return normalizedRequestedPath;
114
+ }
115
+ if (normalizedRequestedPath === "/workspace") {
116
+ return normalizedWorkspaceRoot;
117
+ }
118
+ if (normalizedRequestedPath.startsWith("/workspace/")) {
119
+ return `${normalizedWorkspaceRoot}/${normalizedRequestedPath.slice("/workspace/".length)}`;
120
+ }
121
+ if (!normalizedRequestedPath.startsWith("/")) {
122
+ return `${normalizedWorkspaceRoot}/${normalizedRequestedPath.replace(/^\/+/, "")}`;
123
+ }
124
+ return normalizedRequestedPath;
125
+ }
126
+ function buildIssueManagerRunPrompt(input) {
127
+ const outputDir = resolveIssueManagerWorkspaceRuntimePath(
128
+ input.workspaceRoot,
129
+ buildIssueManagerRunOutputDir(
130
+ input.issue.issueId,
131
+ input.task.taskId,
132
+ input.runId
133
+ )
134
+ );
135
+ const workspaceFileRefs = collectIssueManagerWorkspaceReferencePaths(
136
+ input.task.content || "",
137
+ input.issue.content || ""
138
+ ).map(
139
+ (refPath) => `- [file] ${resolveIssueManagerWorkspaceRuntimePath(input.workspaceRoot, refPath)}`
140
+ ).join("\n");
141
+ const taskContent = extractIssueManagerPlainTextFromContent(
142
+ input.task.content || ""
143
+ );
144
+ const issueContent = extractIssueManagerPlainTextFromContent(
145
+ input.issue.content || ""
146
+ );
147
+ return [
148
+ "\u4F60\u6B63\u5728\u5904\u7406\u4E00\u4E2A\u5DE5\u4F5C\u533A\u4EFB\u52A1\u3002",
149
+ "",
150
+ `Issue \u6807\u9898\uFF1A${input.issue.title}`,
151
+ `Issue \u5185\u5BB9\uFF1A${issueContent || "\uFF08\u65E0\u8865\u5145\u5185\u5BB9\uFF09"}`,
152
+ `Task \u6807\u9898\uFF1A${input.task.title}`,
153
+ `Task \u5185\u5BB9\uFF1A${taskContent || "\uFF08\u65E0\u8865\u5145\u5185\u5BB9\uFF09"}`,
154
+ `\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\uFF1A${input.workspaceRoot}`,
155
+ `\u4EFB\u52A1\u8F93\u51FA\u76EE\u5F55\uFF1A${outputDir}`,
156
+ "",
157
+ "\u5F15\u7528\u8D44\u6599\uFF1A",
158
+ workspaceFileRefs || "- \uFF08\u65E0\u5F15\u7528\u8D44\u6599\uFF09",
159
+ "",
160
+ "\u6267\u884C\u8981\u6C42\uFF1A",
161
+ `1. \u5728 ${input.workspaceRoot} \u4E0B\u5DE5\u4F5C\uFF0C\u4E0D\u8981\u5207\u6362\u5230\u5176\u4ED6\u65E0\u5173\u76EE\u5F55\u3002`,
162
+ "2. \u5982\u9700\u8BFB\u53D6\u5F15\u7528\u8D44\u6599\uFF0C\u8BF7\u76F4\u63A5\u4F7F\u7528\u4E0A\u9762\u7684\u8DEF\u5F84\u3002",
163
+ `3. \u5982\u679C\u7528\u6237\u6CA1\u6709\u53E6\u884C\u6307\u5B9A\u4F4D\u7F6E\uFF0C\u6240\u6709\u6700\u7EC8\u4EA7\u7269\u90FD\u5199\u5165 ${outputDir}/\u3002`,
164
+ "4. \u81F3\u5C11\u8F93\u51FA summary.md\uFF0C\u8BF4\u660E\u5904\u7406\u7ED3\u679C\u3001\u6539\u52A8\u4E0E\u7ED3\u8BBA\u3002",
165
+ "5. \u4E0D\u8981\u628A\u6700\u7EC8\u4EA7\u7269\u5199\u5230\u5DE5\u4F5C\u533A\u4E4B\u5916\u3002"
166
+ ].join("\n");
167
+ }
168
+ function collectIssueManagerWorkspaceReferencePaths(...contents) {
169
+ const paths = /* @__PURE__ */ new Set();
170
+ for (const content of contents) {
171
+ for (const ref of extractIssueManagerWorkspaceFileLinksFromContent(
172
+ content
173
+ )) {
174
+ paths.add(ref.path);
175
+ }
176
+ }
177
+ return [...paths];
178
+ }
179
+
180
+ export {
181
+ defaultIssueManagerNodeState,
182
+ createIssueManagerFeature,
183
+ normalizeIssueManagerNodeState,
184
+ normalizeIssueManagerContent,
185
+ normalizeIssueManagerWorkspaceFileLinkHref,
186
+ createIssueManagerWorkspaceFileLinkMarkdown,
187
+ appendIssueManagerWorkspaceFileLinksToContent,
188
+ extractIssueManagerWorkspaceFileLinksFromContent,
189
+ removeIssueManagerWorkspaceFileLinkFromContent,
190
+ extractIssueManagerPlainTextFromContent,
191
+ extractIssueManagerPlainTextWithoutFilesFromContent,
192
+ createIssueManagerMentionHref,
193
+ createIssueManagerMentionMarkdown,
194
+ parseIssueManagerMentionHref,
195
+ extractIssueManagerMentionsFromContent,
196
+ removeIssueManagerMentionFromContent,
197
+ issueManagerSidebarDefaultWidth,
198
+ issueManagerSidebarMinWidth,
199
+ issueManagerSidebarMaxWidth,
200
+ issueManagerMainMinWidth,
201
+ issueManagerExpandedFrameMinWidth,
202
+ clampIssueManagerSidebarWidth,
203
+ shouldAutoCollapseIssueManagerSidebar,
204
+ buildIssueManagerRunOutputDir,
205
+ buildIssueManagerUploadDir,
206
+ resolveIssueManagerWorkspaceRuntimePath,
207
+ buildIssueManagerRunPrompt
208
+ };
209
+ //# sourceMappingURL=chunk-V75TAM27.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/feature.ts","../src/core/content.ts","../src/core/layout.ts","../src/core/runPrompt.ts"],"sourcesContent":["import type { I18nRuntime } from \"@nextop-os/ui-i18n-runtime\";\nimport {\n createIssueManagerI18nRuntime,\n type IssueManagerI18nRuntime\n} from \"../i18n/issueManagerI18n.ts\";\nimport type {\n IssueManagerAgentRunner,\n IssueManagerBackend,\n IssueManagerFileAdapter,\n IssueManagerIdentityAdapter,\n IssueManagerNodeState,\n IssueManagerShareAdapter\n} from \"../contracts/index.ts\";\n\nexport interface IssueManagerNotificationSink {\n tips(title: string): void;\n}\n\nexport interface IssueManagerFeatureUIConfig {\n showInviteCollaborator: boolean;\n}\n\nexport interface IssueManagerFeature {\n agentRunner: IssueManagerAgentRunner;\n backend: IssueManagerBackend;\n fileAdapter?: IssueManagerFileAdapter;\n i18n: IssueManagerI18nRuntime;\n identityAdapter: IssueManagerIdentityAdapter;\n notifications?: IssueManagerNotificationSink;\n shareAdapter?: IssueManagerShareAdapter;\n ui: IssueManagerFeatureUIConfig;\n}\n\nexport interface CreateIssueManagerFeatureInput {\n agentRunner: IssueManagerAgentRunner;\n backend: IssueManagerBackend;\n fileAdapter?: IssueManagerFileAdapter;\n i18n?: I18nRuntime<string>;\n identityAdapter: IssueManagerIdentityAdapter;\n notifications?: IssueManagerNotificationSink;\n shareAdapter?: IssueManagerShareAdapter;\n ui?: Partial<IssueManagerFeatureUIConfig>;\n}\n\nexport const defaultIssueManagerNodeState: IssueManagerNodeState = {\n issueSearchQuery: \"\",\n issueStatusFilter: \"all\",\n selectedAgentProvider: \"codex\",\n selectedIssueId: null,\n selectedTaskId: null,\n taskListCollapsed: false\n};\n\nexport function createIssueManagerFeature(\n input: CreateIssueManagerFeatureInput\n): IssueManagerFeature {\n return {\n agentRunner: input.agentRunner,\n backend: input.backend,\n fileAdapter: input.fileAdapter,\n i18n: createIssueManagerI18nRuntime(input.i18n),\n identityAdapter: input.identityAdapter,\n notifications: input.notifications,\n shareAdapter: input.shareAdapter,\n ui: {\n showInviteCollaborator: input.ui?.showInviteCollaborator ?? true\n }\n };\n}\n\nexport function normalizeIssueManagerNodeState(\n state: Partial<IssueManagerNodeState> | null | undefined\n): IssueManagerNodeState {\n return {\n ...defaultIssueManagerNodeState,\n ...state,\n issueSearchQuery: state?.issueSearchQuery?.trim() ?? \"\",\n issueStatusFilter: state?.issueStatusFilter ?? \"all\",\n selectedAgentProvider: state?.selectedAgentProvider?.trim() || \"codex\",\n selectedIssueId: normalizeNullableString(state?.selectedIssueId),\n selectedTaskId: normalizeNullableString(state?.selectedTaskId),\n taskListCollapsed: state?.taskListCollapsed === true\n };\n}\n\nfunction normalizeNullableString(\n value: string | null | undefined\n): string | null {\n const trimmed = value?.trim() ?? \"\";\n return trimmed.length > 0 ? trimmed : null;\n}\n","import {\n appendRichTextLinksToContent,\n createRichTextLinkMarkdown,\n createRichTextMentionHref,\n createRichTextMentionMarkdown,\n extractPlainTextFromContent,\n extractPlainTextWithoutFilesFromContent,\n extractRichTextLinksFromContent,\n extractRichTextMentionsFromContent,\n normalizeRichTextContent,\n normalizeRichTextLinkHref,\n parseRichTextMentionHref,\n removeRichTextLinkFromContent,\n removeRichTextMentionFromContent\n} from \"@nextop-os/ui-rich-text/core\";\nimport type {\n RichTextLinkInput,\n RichTextLinkRef\n} from \"@nextop-os/ui-rich-text/core\";\nimport type { RichTextMentionAttrs } from \"@nextop-os/ui-rich-text/types\";\n\nexport type IssueManagerWorkspaceFileLinkRef = RichTextLinkRef;\nexport type IssueManagerWorkspaceFileLinkInput = RichTextLinkInput;\n\nexport type IssueManagerMentionRef = RichTextMentionAttrs;\nexport type IssueManagerMentionAttrs = RichTextMentionAttrs;\n\nexport const normalizeIssueManagerContent = normalizeRichTextContent;\n\nexport const normalizeIssueManagerWorkspaceFileLinkHref =\n normalizeRichTextLinkHref;\n\nexport const createIssueManagerWorkspaceFileLinkMarkdown =\n createRichTextLinkMarkdown;\n\nexport const appendIssueManagerWorkspaceFileLinksToContent =\n appendRichTextLinksToContent;\n\nexport const extractIssueManagerWorkspaceFileLinksFromContent =\n extractRichTextLinksFromContent;\n\nexport const removeIssueManagerWorkspaceFileLinkFromContent =\n removeRichTextLinkFromContent;\n\nexport const extractIssueManagerPlainTextFromContent =\n extractPlainTextFromContent;\n\nexport const extractIssueManagerPlainTextWithoutFilesFromContent =\n extractPlainTextWithoutFilesFromContent;\n\nexport const createIssueManagerMentionHref = createRichTextMentionHref;\nexport const createIssueManagerMentionMarkdown = createRichTextMentionMarkdown;\nexport const parseIssueManagerMentionHref = parseRichTextMentionHref;\nexport const extractIssueManagerMentionsFromContent =\n extractRichTextMentionsFromContent;\nexport const removeIssueManagerMentionFromContent =\n removeRichTextMentionFromContent;\n","export const issueManagerSidebarDefaultWidth = 312;\nexport const issueManagerSidebarMinWidth = 248;\nexport const issueManagerSidebarMaxWidth = 520;\nexport const issueManagerMainMinWidth = 420;\nexport const issueManagerExpandedFrameMinWidth =\n issueManagerSidebarMinWidth + issueManagerMainMinWidth;\n\nexport function clampIssueManagerSidebarWidth(\n width: number,\n layoutWidth: number\n): number {\n const maxWidth = Math.max(\n issueManagerSidebarMinWidth,\n Math.min(\n issueManagerSidebarMaxWidth,\n layoutWidth - issueManagerMainMinWidth\n )\n );\n return Math.min(Math.max(width, issueManagerSidebarMinWidth), maxWidth);\n}\n\nexport function shouldAutoCollapseIssueManagerSidebar(\n containerWidth: number\n): boolean {\n return (\n Number.isFinite(containerWidth) &&\n containerWidth > 0 &&\n Math.round(containerWidth) < issueManagerExpandedFrameMinWidth\n );\n}\n","import type {\n IssueManagerIssueSummary,\n IssueManagerTaskSummary\n} from \"../contracts/index.ts\";\nimport {\n extractIssueManagerPlainTextFromContent,\n extractIssueManagerWorkspaceFileLinksFromContent\n} from \"./content.ts\";\n\nexport function buildIssueManagerRunOutputDir(\n issueId: string,\n taskId: string,\n runId: string\n): string {\n return `/workspace/issues/${issueId}/tasks/${taskId}/runs/${runId}`;\n}\n\nexport function buildIssueManagerUploadDir(\n issueId: string,\n taskId?: string | null\n): string {\n const normalizedTaskId = taskId?.trim();\n if (normalizedTaskId) {\n return `/workspace/issues/${issueId}/tasks/${normalizedTaskId}/attachments`;\n }\n return `/workspace/issues/${issueId}/attachments`;\n}\n\nexport function resolveIssueManagerWorkspaceRuntimePath(\n workspaceRoot: string,\n requestedPath: string\n): string {\n const normalizedWorkspaceRoot = workspaceRoot.trim().replace(/\\/+$/, \"\");\n const normalizedRequestedPath = requestedPath.trim();\n\n if (!normalizedWorkspaceRoot || !normalizedRequestedPath) {\n return normalizedRequestedPath;\n }\n\n if (\n normalizedRequestedPath === normalizedWorkspaceRoot ||\n normalizedRequestedPath.startsWith(`${normalizedWorkspaceRoot}/`)\n ) {\n return normalizedRequestedPath;\n }\n\n if (normalizedRequestedPath === \"/workspace\") {\n return normalizedWorkspaceRoot;\n }\n\n if (normalizedRequestedPath.startsWith(\"/workspace/\")) {\n return `${normalizedWorkspaceRoot}/${normalizedRequestedPath.slice(\"/workspace/\".length)}`;\n }\n\n if (!normalizedRequestedPath.startsWith(\"/\")) {\n return `${normalizedWorkspaceRoot}/${normalizedRequestedPath.replace(/^\\/+/, \"\")}`;\n }\n\n return normalizedRequestedPath;\n}\n\nexport function buildIssueManagerRunPrompt(input: {\n issue: IssueManagerIssueSummary;\n runId: string;\n task: IssueManagerTaskSummary;\n workspaceRoot: string;\n}): string {\n const outputDir = resolveIssueManagerWorkspaceRuntimePath(\n input.workspaceRoot,\n buildIssueManagerRunOutputDir(\n input.issue.issueId,\n input.task.taskId,\n input.runId\n )\n );\n const workspaceFileRefs = collectIssueManagerWorkspaceReferencePaths(\n input.task.content || \"\",\n input.issue.content || \"\"\n )\n .map(\n (refPath) =>\n `- [file] ${resolveIssueManagerWorkspaceRuntimePath(input.workspaceRoot, refPath)}`\n )\n .join(\"\\n\");\n const taskContent = extractIssueManagerPlainTextFromContent(\n input.task.content || \"\"\n );\n const issueContent = extractIssueManagerPlainTextFromContent(\n input.issue.content || \"\"\n );\n\n return [\n \"你正在处理一个工作区任务。\",\n \"\",\n `Issue 标题:${input.issue.title}`,\n `Issue 内容:${issueContent || \"(无补充内容)\"}`,\n `Task 标题:${input.task.title}`,\n `Task 内容:${taskContent || \"(无补充内容)\"}`,\n `当前工作目录:${input.workspaceRoot}`,\n `任务输出目录:${outputDir}`,\n \"\",\n \"引用资料:\",\n workspaceFileRefs || \"- (无引用资料)\",\n \"\",\n \"执行要求:\",\n `1. 在 ${input.workspaceRoot} 下工作,不要切换到其他无关目录。`,\n \"2. 如需读取引用资料,请直接使用上面的路径。\",\n `3. 如果用户没有另行指定位置,所有最终产物都写入 ${outputDir}/。`,\n \"4. 至少输出 summary.md,说明处理结果、改动与结论。\",\n \"5. 不要把最终产物写到工作区之外。\"\n ].join(\"\\n\");\n}\n\nfunction collectIssueManagerWorkspaceReferencePaths(\n ...contents: string[]\n): string[] {\n const paths = new Set<string>();\n for (const content of contents) {\n for (const ref of extractIssueManagerWorkspaceFileLinksFromContent(\n content\n )) {\n paths.add(ref.path);\n }\n }\n return [...paths];\n}\n"],"mappings":"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","names":[]}