@nextop-os/workspace-issue-manager 0.0.27 → 0.0.29

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 (35) hide show
  1. package/dist/assets/workspace-dock-task.png +0 -0
  2. package/dist/{chunk-LJQG24Y2.js → chunk-DRWYHOZ2.js} +159 -25
  3. package/dist/chunk-DRWYHOZ2.js.map +1 -0
  4. package/dist/chunk-N6NGQ7DZ.js +14 -0
  5. package/dist/chunk-N6NGQ7DZ.js.map +1 -0
  6. package/dist/{chunk-JGIOWEUE.js → chunk-WT6PIL4Q.js} +108 -48
  7. package/dist/chunk-WT6PIL4Q.js.map +1 -0
  8. package/dist/{chunk-MCVRP7RR.js → chunk-YN5NYKAA.js} +67 -20
  9. package/dist/chunk-YN5NYKAA.js.map +1 -0
  10. package/dist/{chunk-5V4DIEWZ.js → chunk-YTOMO5IO.js} +1932 -1947
  11. package/dist/chunk-YTOMO5IO.js.map +1 -0
  12. package/dist/contracts/index.d.ts +111 -67
  13. package/dist/core/index.d.ts +14 -6
  14. package/dist/core/index.js +4 -2
  15. package/dist/{feature-2zhsUF_g.d.ts → feature-RwN37-fu.d.ts} +9 -1
  16. package/dist/i18n/index.js +1 -1
  17. package/dist/index.d.ts +4 -3
  18. package/dist/index.js +5 -3
  19. package/dist/{issueManagerControllerService.interface-BtvnnFla.d.ts → issueManagerControllerService.interface-BuGBkqN3.d.ts} +3 -2
  20. package/dist/services/index.d.ts +4 -3
  21. package/dist/services/index.js +3 -3
  22. package/dist/ui/index.d.ts +6 -3
  23. package/dist/ui/index.js +4 -4
  24. package/dist/workbench/constants.d.ts +6 -0
  25. package/dist/workbench/constants.js +9 -0
  26. package/dist/workbench/constants.js.map +1 -0
  27. package/dist/workbench/index.d.ts +5 -4
  28. package/dist/workbench/index.js +16 -12
  29. package/dist/workbench/index.js.map +1 -1
  30. package/openapi/issue-manager.v1.yaml +366 -2
  31. package/package.json +11 -6
  32. package/dist/chunk-5V4DIEWZ.js.map +0 -1
  33. package/dist/chunk-JGIOWEUE.js.map +0 -1
  34. package/dist/chunk-LJQG24Y2.js.map +0 -1
  35. package/dist/chunk-MCVRP7RR.js.map +0 -1
@@ -19,6 +19,7 @@ var issueManagerEn = {
19
19
  add: "Add",
20
20
  addReferences: "Add references",
21
21
  addSubtask: "Add sub-issue",
22
+ askAgentToBreakdown: "Break down with agent",
22
23
  askAgentToRun: "Ask agent to run",
23
24
  cancel: "Cancel",
24
25
  clearSearch: "Clear search",
@@ -26,15 +27,18 @@ var issueManagerEn = {
26
27
  copyShareLink: "Copy share link",
27
28
  createIssue: "New issue",
28
29
  createTask: "Create issue",
30
+ createTopic: "New topic",
29
31
  delete: "Delete",
30
32
  deleteIssue: "Delete issue",
31
33
  deleteTask: "Delete issue",
32
34
  edit: "Edit",
33
35
  editIssue: "Edit issue",
34
36
  editTask: "Edit issue",
37
+ editTopic: "Edit topic",
35
38
  expandIssueList: "Expand issue list",
36
39
  inviteCollaborator: "Invite collaborator",
37
40
  insertReferences: "Insert references",
41
+ linkExistingExecutionDirectory: "Use existing project",
38
42
  moreActions: "More actions",
39
43
  openReference: "Open",
40
44
  refresh: "Refresh",
@@ -44,6 +48,10 @@ var issueManagerEn = {
44
48
  saveIssue: "Save issue",
45
49
  saveSubtask: "Save sub-issue",
46
50
  saveTask: "Save issue",
51
+ selectExecutionDirectory: "Select execution directory",
52
+ pinTopic: "Pin",
53
+ saveTopic: "Save topic",
54
+ unpinTopic: "Unpin",
47
55
  uploadFiles: "Upload files",
48
56
  uploadFolder: "Upload folder"
49
57
  },
@@ -57,21 +65,26 @@ var issueManagerEn = {
57
65
  },
58
66
  confirmations: {
59
67
  deleteIssue: "Delete this issue?",
60
- deleteTask: "Delete this issue?"
68
+ deleteTask: "Delete this issue?",
69
+ deleteTopic: "Delete this topic?"
61
70
  },
62
71
  dockLabel: "Issues",
63
- emptyState: "Create an issue, add the goal and references, then start executing.",
72
+ emptyState: "Create an issue, add the goal and references, then let Agent run",
64
73
  labels: {
65
74
  allStatus: "All",
66
75
  content: "Content",
67
76
  contextReferences: "Context references",
77
+ createTopicDialogTitle: "New topic",
68
78
  createdAt: "Created",
69
79
  creator: "Creator",
80
+ customExecutionDirectory: "Custom directory",
70
81
  description: "Description",
71
82
  executionOutputs: "Execution outputs",
72
83
  issueDetails: "Issue details",
73
84
  issueList: "Issues",
74
85
  latestRunStatus: "Latest execution status",
86
+ loadingExecutionDirectories: "Loading directories...",
87
+ noProject: "No project",
75
88
  outputs: "Outputs",
76
89
  priority: "Priority",
77
90
  provider: "Provider",
@@ -83,40 +96,50 @@ var issueManagerEn = {
83
96
  scrollStatusTabsRight: "Scroll status tabs right",
84
97
  status: "Status",
85
98
  subtasks: "Sub-issues",
99
+ topic: "Topic",
100
+ topicDefault: "Default",
101
+ topicSummary: "Topic summary",
102
+ topicTitle: "Topic title",
103
+ editTopicDialogTitle: "Edit topic",
86
104
  title: "Title",
87
105
  updatedAt: "Updated",
88
106
  taskCount: "{{count}} sub-issues",
89
107
  taskDetails: "Issue details",
90
- taskList: "Issues"
108
+ taskList: "Issues",
109
+ temporaryExecutionDirectory: "Temporary directory"
91
110
  },
92
111
  messages: {
93
112
  clipboardUnavailable: "Clipboard is unavailable.",
113
+ breakdownOpenFailed: "Couldn't open the agent task breakdown.",
114
+ breakdownUnavailable: "Agent task breakdown is unavailable.",
94
115
  copyShareLinkFailed: "Couldn't copy the share link.",
95
116
  copiedShareLink: "Share link copied.",
96
117
  issueDeleteFailed: "Couldn't delete the issue.",
97
118
  issueRefreshFailed: "Couldn't refresh issues.",
98
119
  issueSaveFailed: "Couldn't save the issue.",
120
+ executionDirectorySelectFailed: "Couldn't select the execution directory.",
99
121
  issueDeleted: "Issue deleted.",
100
122
  issueSaved: "Issue saved.",
101
- issueContentEmpty: "No issue description yet.",
102
- noExecutionOutputs: "No execution outputs yet.",
103
- noExecutionStatus: "No execution records yet.",
104
- noIssueReferences: "No issue references yet.",
105
- noIssuesForFilterBody: "Try another filter, or create a new issue to get things started.",
106
- noIssuesForFilterTitle: "No issues match the current filter.",
107
- noIssues: "No issues yet.",
108
- noOutputs: "No outputs yet.",
109
- noRecentRuns: "No runs yet.",
110
- taskContentEmpty: "No issue description yet.",
111
- noTaskReferences: "No issue references yet.",
112
- noTasksForIssueBody: "Create the first sub-issue for this issue and let an agent or yourself execute it.",
113
- noSubtasksForIssue: "You can continue breaking down this item by adding sub-issues.",
114
- noTasks: "No issues yet.",
123
+ issueContentEmpty: "No issue description yet",
124
+ noExecutionOutputs: "No execution outputs yet",
125
+ noExecutionStatus: "No execution records yet",
126
+ noIssueReferences: "No issue references yet",
127
+ noIssuesForFilterBody: "Try another filter, or create a new issue to get things started",
128
+ noIssuesForFilterTitle: "No issues match the current filter",
129
+ noIssues: "No issues yet",
130
+ noAgentProviders: "No available agent providers.",
131
+ noOutputs: "No outputs yet",
132
+ noRecentRuns: "No runs yet",
133
+ taskContentEmpty: "No issue description yet",
134
+ noTaskReferences: "No issue references yet",
135
+ noTasksForIssueBody: "Create the first sub-issue for this issue and let an agent or yourself execute it",
136
+ noSubtasksForIssue: "You can continue breaking down this item by adding sub-issues",
137
+ noTasks: "No issues yet",
115
138
  refreshingIssues: "Refreshing issues...",
116
139
  titleRequired: "Enter a title before saving.",
117
140
  runExitCode: "Codex exited with code {{code}}.",
118
141
  runCompleted: "Run completed.",
119
- runFailed: "Run failed.",
142
+ runFailed: "Run failed",
120
143
  runStarted: "Run started.",
121
144
  runStatusMissing: "Terminal exited before the issue run produced a status marker.",
122
145
  runTimedOut: "Issue run timed out while waiting for Codex output.",
@@ -125,6 +148,13 @@ var issueManagerEn = {
125
148
  taskSaveFailed: "Couldn't save the issue.",
126
149
  taskDeleted: "Issue deleted.",
127
150
  taskSaved: "Issue saved.",
151
+ topicCreateFailed: "Couldn't create the topic.",
152
+ topicDeleteDefaultForbidden: "The default topic can't be deleted.",
153
+ topicDeleteFailed: "Couldn't delete the topic.",
154
+ topicDeleteNotEmpty: "Move or delete the issues in this topic before deleting it.",
155
+ topicDeleteNotFound: "This topic no longer exists.",
156
+ topicListEmpty: "No issue topics are available.",
157
+ topicUpdateFailed: "Couldn't update the topic.",
128
158
  uploadTypeConflict: "Upload target contains conflicting entry types.",
129
159
  workspacePathUnavailable: "Workspace path is unavailable."
130
160
  },
@@ -168,7 +198,7 @@ var issueManagerEn = {
168
198
  completed: "Completed",
169
199
  failed: "Failed",
170
200
  notStarted: "To run",
171
- pendingAcceptance: "Pending acceptance",
201
+ pendingAcceptance: "Pending",
172
202
  running: "Running",
173
203
  unknown: "Unknown"
174
204
  },
@@ -179,6 +209,7 @@ var issueManagerZhCN = {
179
209
  add: "\u6DFB\u52A0",
180
210
  addReferences: "\u6DFB\u52A0\u5F15\u7528",
181
211
  addSubtask: "\u6DFB\u52A0\u5B50\u4E8B\u9879",
212
+ askAgentToBreakdown: "\u8BA9 Agent \u62C6\u89E3\u4EFB\u52A1",
182
213
  askAgentToRun: "\u8BA9 Agent \u6267\u884C",
183
214
  cancel: "\u53D6\u6D88",
184
215
  clearSearch: "\u6E05\u7A7A\u641C\u7D22",
@@ -186,15 +217,18 @@ var issueManagerZhCN = {
186
217
  copyShareLink: "\u590D\u5236\u5206\u4EAB\u94FE\u63A5",
187
218
  createIssue: "\u65B0\u5EFA\u4E8B\u9879",
188
219
  createTask: "\u65B0\u5EFA\u4E8B\u9879",
220
+ createTopic: "\u65B0\u5EFA\u4E3B\u9898",
189
221
  delete: "\u5220\u9664",
190
222
  deleteIssue: "\u5220\u9664\u4E8B\u9879",
191
223
  deleteTask: "\u5220\u9664\u4E8B\u9879",
192
224
  edit: "\u7F16\u8F91",
193
225
  editIssue: "\u7F16\u8F91\u4E8B\u9879",
194
226
  editTask: "\u7F16\u8F91\u4E8B\u9879",
227
+ editTopic: "\u7F16\u8F91\u4E3B\u9898",
195
228
  expandIssueList: "\u5C55\u5F00\u4E8B\u9879\u5217\u8868",
196
229
  inviteCollaborator: "\u9080\u8BF7\u534F\u4F5C\u8005",
197
230
  insertReferences: "\u63D2\u5165\u5F15\u7528",
231
+ linkExistingExecutionDirectory: "\u4F7F\u7528\u5DF2\u6709\u9879\u76EE",
198
232
  moreActions: "\u66F4\u591A\u64CD\u4F5C",
199
233
  openReference: "\u6253\u5F00",
200
234
  refresh: "\u5237\u65B0",
@@ -204,11 +238,15 @@ var issueManagerZhCN = {
204
238
  saveIssue: "\u4FDD\u5B58\u4E8B\u9879",
205
239
  saveSubtask: "\u4FDD\u5B58\u5B50\u4E8B\u9879",
206
240
  saveTask: "\u4FDD\u5B58\u4E8B\u9879",
241
+ selectExecutionDirectory: "\u9009\u62E9\u6267\u884C\u76EE\u5F55",
242
+ pinTopic: "\u7F6E\u9876",
243
+ saveTopic: "\u4FDD\u5B58\u4E3B\u9898",
244
+ unpinTopic: "\u53D6\u6D88\u7F6E\u9876",
207
245
  uploadFiles: "\u4E0A\u4F20\u6587\u4EF6",
208
246
  uploadFolder: "\u4E0A\u4F20\u6587\u4EF6\u5939"
209
247
  },
210
248
  composer: {
211
- issueContentPlaceholder: "\u8865\u5145\u8FD9\u4E2A\u4E8B\u9879\u7684\u80CC\u666F\u3001\u76EE\u6807\u6216\u4E0A\u4E0B\u6587\u3002",
249
+ issueContentPlaceholder: "\u8865\u5145\u8FD9\u4E2A\u4E8B\u9879\u7684\u80CC\u666F\u3001\u76EE\u6807\u6216\u4E0A\u4E0B\u6587",
212
250
  issueTitlePlaceholder: "\u4E8B\u9879\u6807\u9898",
213
251
  subtaskContentPlaceholder: "\u8865\u5145\u5B50\u4E8B\u9879\u76EE\u6807\u3001\u6267\u884C\u65B9\u5F0F\u548C\u9A8C\u6536\u6807\u51C6",
214
252
  subtaskTitlePlaceholder: "\u8BF7\u8F93\u5165\u5B50\u4E8B\u9879\u6807\u9898",
@@ -217,21 +255,26 @@ var issueManagerZhCN = {
217
255
  },
218
256
  confirmations: {
219
257
  deleteIssue: "\u786E\u5B9A\u5220\u9664\u8FD9\u4E2A\u4E8B\u9879\u5417\uFF1F",
220
- deleteTask: "\u786E\u5B9A\u5220\u9664\u8FD9\u4E2A\u4E8B\u9879\u5417\uFF1F"
258
+ deleteTask: "\u786E\u5B9A\u5220\u9664\u8FD9\u4E2A\u4E8B\u9879\u5417\uFF1F",
259
+ deleteTopic: "\u786E\u5B9A\u5220\u9664\u8FD9\u4E2A\u4E3B\u9898\u5417\uFF1F"
221
260
  },
222
261
  dockLabel: "\u4E8B\u9879",
223
- emptyState: "\u65B0\u5EFA\u4E8B\u9879\uFF0C\u8865\u5145\u9700\u6C42\u63CF\u8FF0\u548C\u76F8\u5173\u6587\u4EF6\uFF0C\u5373\u53EF\u5F00\u59CB\u6267\u884C\u3002",
262
+ emptyState: "\u65B0\u5EFA\u4E8B\u9879\uFF0C\u8865\u5145\u9700\u6C42\u63CF\u8FF0\u548C\u76F8\u5173\u6587\u4EF6\uFF0C\u5373\u53EF\u8BA9 Agent \u6267\u884C",
224
263
  labels: {
225
264
  allStatus: "\u5168\u90E8",
226
265
  content: "\u5185\u5BB9",
227
266
  contextReferences: "\u4E0A\u4E0B\u6587\u5F15\u7528",
267
+ createTopicDialogTitle: "\u65B0\u5EFA\u4E3B\u9898",
228
268
  createdAt: "\u521B\u5EFA\u65F6\u95F4",
229
269
  creator: "\u521B\u5EFA\u8005",
270
+ customExecutionDirectory: "\u81EA\u5B9A\u4E49\u76EE\u5F55",
230
271
  description: "\u63CF\u8FF0",
231
272
  executionOutputs: "\u6267\u884C\u4EA7\u7269",
232
273
  issueDetails: "\u4E8B\u9879\u8BE6\u60C5",
233
274
  issueList: "\u4E8B\u9879",
234
275
  latestRunStatus: "\u6700\u65B0\u6267\u884C\u72B6\u6001",
276
+ loadingExecutionDirectories: "\u6B63\u5728\u52A0\u8F7D\u76EE\u5F55...",
277
+ noProject: "\u4E0D\u4F7F\u7528\u9879\u76EE",
235
278
  outputs: "\u8F93\u51FA\u4EA7\u7269",
236
279
  priority: "\u4F18\u5148\u7EA7",
237
280
  provider: "Provider",
@@ -243,40 +286,50 @@ var issueManagerZhCN = {
243
286
  scrollStatusTabsRight: "\u5411\u53F3\u6EDA\u52A8\u72B6\u6001\u6807\u7B7E",
244
287
  status: "\u72B6\u6001",
245
288
  subtasks: "\u5B50\u4E8B\u9879",
289
+ topic: "\u4E3B\u9898",
290
+ topicDefault: "\u9ED8\u8BA4",
291
+ topicSummary: "\u4E3B\u9898\u6982\u8981",
292
+ topicTitle: "\u4E3B\u9898\u6807\u9898",
293
+ editTopicDialogTitle: "\u7F16\u8F91\u4E3B\u9898",
246
294
  title: "\u6807\u9898",
247
295
  updatedAt: "\u66F4\u65B0\u65F6\u95F4",
248
296
  taskCount: "{{count}} \u4E2A\u5B50\u4E8B\u9879",
249
297
  taskDetails: "\u4E8B\u9879\u8BE6\u60C5",
250
- taskList: "\u4E8B\u9879"
298
+ taskList: "\u4E8B\u9879",
299
+ temporaryExecutionDirectory: "\u4E34\u65F6\u76EE\u5F55"
251
300
  },
252
301
  messages: {
253
302
  clipboardUnavailable: "\u5F53\u524D\u73AF\u5883\u65E0\u6CD5\u8BBF\u95EE\u526A\u8D34\u677F\u3002",
303
+ breakdownOpenFailed: "\u6253\u5F00 Agent \u4EFB\u52A1\u62C6\u89E3\u5931\u8D25\u3002",
304
+ breakdownUnavailable: "\u5F53\u524D\u73AF\u5883\u6682\u4E0D\u652F\u6301 Agent \u4EFB\u52A1\u62C6\u89E3\u3002",
254
305
  copyShareLinkFailed: "\u590D\u5236\u5206\u4EAB\u94FE\u63A5\u5931\u8D25\u3002",
255
306
  copiedShareLink: "\u5DF2\u590D\u5236\u5206\u4EAB\u94FE\u63A5\u3002",
256
307
  issueDeleteFailed: "\u5220\u9664\u4E8B\u9879\u5931\u8D25\u3002",
257
308
  issueRefreshFailed: "\u5237\u65B0\u4E8B\u9879\u5217\u8868\u5931\u8D25\u3002",
258
309
  issueSaveFailed: "\u4FDD\u5B58\u4E8B\u9879\u5931\u8D25\u3002",
310
+ executionDirectorySelectFailed: "\u9009\u62E9\u6267\u884C\u76EE\u5F55\u5931\u8D25\u3002",
259
311
  issueDeleted: "\u4E8B\u9879\u5DF2\u5220\u9664\u3002",
260
312
  issueSaved: "\u4E8B\u9879\u5DF2\u4FDD\u5B58\u3002",
261
- issueContentEmpty: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u63CF\u8FF0\u3002",
313
+ issueContentEmpty: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u63CF\u8FF0",
262
314
  noExecutionOutputs: "\u6682\u65E0\u6267\u884C\u4EA7\u7269",
263
315
  noExecutionStatus: "\u6682\u65E0\u6267\u884C\u8BB0\u5F55",
264
- noIssueReferences: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u5F15\u7528\u3002",
265
- noIssuesForFilterBody: "\u8BD5\u8BD5\u5207\u6362\u7B5B\u9009\u6761\u4EF6\uFF0C\u6216\u8005\u65B0\u5EFA\u4E00\u4E2A\u4E8B\u9879\u3002",
266
- noIssuesForFilterTitle: "\u5F53\u524D\u7B5B\u9009\u6761\u4EF6\u4E0B\u6682\u65E0\u4E8B\u9879\u3002",
267
- noIssues: "\u8FD8\u6CA1\u6709\u4E8B\u9879\u3002",
268
- noOutputs: "\u8FD8\u6CA1\u6709\u8F93\u51FA\u4EA7\u7269\u3002",
269
- noRecentRuns: "\u8FD8\u6CA1\u6709\u8FD0\u884C\u8BB0\u5F55\u3002",
270
- taskContentEmpty: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u63CF\u8FF0\u3002",
271
- noTaskReferences: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u5F15\u7528\u3002",
272
- noTasksForIssueBody: "\u4E3A\u8FD9\u4E2A\u4E8B\u9879\u521B\u5EFA\u7B2C\u4E00\u4E2A\u5B50\u4E8B\u9879\uFF0C\u7136\u540E\u4EA4\u7ED9 Agent \u6216\u4F60\u81EA\u5DF1\u6267\u884C\u3002",
316
+ noIssueReferences: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u5F15\u7528",
317
+ noIssuesForFilterBody: "\u8BD5\u8BD5\u5207\u6362\u7B5B\u9009\u6761\u4EF6\uFF0C\u6216\u8005\u65B0\u5EFA\u4E00\u4E2A\u4E8B\u9879",
318
+ noIssuesForFilterTitle: "\u5F53\u524D\u7B5B\u9009\u6761\u4EF6\u4E0B\u6682\u65E0\u4E8B\u9879",
319
+ noIssues: "\u8FD8\u6CA1\u6709\u4E8B\u9879",
320
+ noAgentProviders: "\u6682\u65E0\u53EF\u7528\u7684 Agent Provider\u3002",
321
+ noOutputs: "\u8FD8\u6CA1\u6709\u8F93\u51FA\u4EA7\u7269",
322
+ noRecentRuns: "\u8FD8\u6CA1\u6709\u8FD0\u884C\u8BB0\u5F55",
323
+ taskContentEmpty: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u63CF\u8FF0",
324
+ noTaskReferences: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u5F15\u7528",
325
+ noTasksForIssueBody: "\u4E3A\u8FD9\u4E2A\u4E8B\u9879\u521B\u5EFA\u7B2C\u4E00\u4E2A\u5B50\u4E8B\u9879\uFF0C\u7136\u540E\u4EA4\u7ED9 Agent \u6216\u4F60\u81EA\u5DF1\u6267\u884C",
273
326
  noSubtasksForIssue: "\u4F60\u53EF\u4EE5\u56F4\u7ED5\u5F53\u524D\u4E8B\u9879\u7EE7\u7EED\u6DFB\u52A0\u5B50\u4E8B\u9879",
274
- noTasks: "\u8FD8\u6CA1\u6709\u4E8B\u9879\u3002",
327
+ noTasks: "\u8FD8\u6CA1\u6709\u4E8B\u9879",
275
328
  refreshingIssues: "\u6B63\u5728\u5237\u65B0\u4E8B\u9879\u5217\u8868...",
276
329
  titleRequired: "\u8BF7\u5148\u586B\u5199\u6807\u9898\u540E\u518D\u4FDD\u5B58\u3002",
277
330
  runExitCode: "Codex \u4EE5\u9000\u51FA\u7801 {{code}} \u7ED3\u675F\u3002",
278
331
  runCompleted: "\u8FD0\u884C\u5DF2\u5B8C\u6210\u3002",
279
- runFailed: "\u8FD0\u884C\u5931\u8D25\u3002",
332
+ runFailed: "\u8FD0\u884C\u5931\u8D25",
280
333
  runStarted: "\u8FD0\u884C\u5DF2\u5F00\u59CB\u3002",
281
334
  runStatusMissing: "\u7EC8\u7AEF\u5728\u5199\u5165\u8FD0\u884C\u72B6\u6001\u524D\u5C31\u9000\u51FA\u4E86\u3002",
282
335
  runTimedOut: "\u7B49\u5F85 Codex \u8F93\u51FA\u8D85\u65F6\u3002",
@@ -285,6 +338,13 @@ var issueManagerZhCN = {
285
338
  taskSaveFailed: "\u4FDD\u5B58\u4E8B\u9879\u5931\u8D25\u3002",
286
339
  taskDeleted: "\u4E8B\u9879\u5DF2\u5220\u9664\u3002",
287
340
  taskSaved: "\u4E8B\u9879\u5DF2\u4FDD\u5B58\u3002",
341
+ topicCreateFailed: "\u65B0\u5EFA\u4E3B\u9898\u5931\u8D25\u3002",
342
+ topicDeleteDefaultForbidden: "\u9ED8\u8BA4\u4E3B\u9898\u4E0D\u80FD\u5220\u9664\u3002",
343
+ topicDeleteFailed: "\u5220\u9664\u4E3B\u9898\u5931\u8D25\u3002",
344
+ topicDeleteNotEmpty: "\u8FD9\u4E2A\u4E3B\u9898\u4E0B\u8FD8\u6709\u4E8B\u9879\uFF0C\u4E0D\u80FD\u5220\u9664\u3002",
345
+ topicDeleteNotFound: "\u8FD9\u4E2A\u4E3B\u9898\u5DF2\u4E0D\u5B58\u5728\u3002",
346
+ topicListEmpty: "\u6CA1\u6709\u53EF\u7528\u7684\u4E3B\u9898\u3002",
347
+ topicUpdateFailed: "\u66F4\u65B0\u4E3B\u9898\u5931\u8D25\u3002",
288
348
  uploadTypeConflict: "\u4E0A\u4F20\u76EE\u6807\u4E2D\u5B58\u5728\u7C7B\u578B\u51B2\u7A81\u7684\u540C\u540D\u6761\u76EE\u3002",
289
349
  workspacePathUnavailable: "\u5F53\u524D\u5DE5\u4F5C\u533A\u8DEF\u5F84\u4E0D\u53EF\u7528\u3002"
290
350
  },
@@ -296,18 +356,18 @@ var issueManagerZhCN = {
296
356
  referencePicker: {
297
357
  browse: "\u6D4F\u89C8",
298
358
  confirm: "\u4F7F\u7528\u5DF2\u9009\u5F15\u7528",
299
- emptyDirectory: "\u5F53\u524D\u76EE\u5F55\u4E3A\u7A7A\u3002",
300
- emptySearch: "\u6CA1\u6709\u5339\u914D\u7684\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u3002",
301
- loading: "\u6B63\u5728\u52A0\u8F7D...",
302
- previewBinary: "\u8FD9\u4E2A\u6587\u4EF6\u66F4\u50CF\u4E8C\u8FDB\u5236\u5185\u5BB9\u3002",
303
- previewDecodeFailed: "\u6682\u65F6\u65E0\u6CD5\u6309 UTF-8 \u6587\u672C\u89E3\u7801\u8FD9\u4E2A\u6587\u4EF6\u3002",
304
- previewError: "\u52A0\u8F7D\u9884\u89C8\u5931\u8D25\u3002",
305
- previewFileTooLarge: "\u8FD9\u4E2A\u6587\u4EF6\u8D85\u8FC7\u4E86 {{maxSize}}\u3002",
306
- previewFolder: "\u6682\u4E0D\u652F\u6301\u9884\u89C8\u6587\u4EF6\u5939\u3002",
307
- previewLoading: "\u6B63\u5728\u52A0\u8F7D\u9884\u89C8...",
308
- previewTextTooLarge: "\u8FD9\u4E2A\u6587\u672C\u6587\u4EF6\u8D85\u8FC7\u4E86 {{maxSize}}\u3002",
309
- previewUnavailable: "\u5F53\u524D\u5DE5\u4F5C\u533A\u65E0\u6CD5\u9884\u89C8\u6587\u4EF6\u3002",
310
- previewUnsupported: "\u6682\u4E0D\u652F\u6301\u9884\u89C8\u8FD9\u79CD\u6587\u4EF6\u7C7B\u578B\u3002",
359
+ emptyDirectory: "\u5F53\u524D\u76EE\u5F55\u4E3A\u7A7A",
360
+ emptySearch: "\u6CA1\u6709\u5339\u914D\u7684\u6587\u4EF6\u6216\u6587\u4EF6\u5939",
361
+ loading: "\u6B63\u5728\u52A0\u8F7D",
362
+ previewBinary: "\u8FD9\u4E2A\u6587\u4EF6\u66F4\u50CF\u4E8C\u8FDB\u5236\u5185\u5BB9",
363
+ previewDecodeFailed: "\u6682\u65F6\u65E0\u6CD5\u6309 UTF-8 \u6587\u672C\u89E3\u7801\u8FD9\u4E2A\u6587\u4EF6",
364
+ previewError: "\u52A0\u8F7D\u9884\u89C8\u5931\u8D25",
365
+ previewFileTooLarge: "\u8FD9\u4E2A\u6587\u4EF6\u8D85\u8FC7\u4E86 {{maxSize}}",
366
+ previewFolder: "\u6682\u4E0D\u652F\u6301\u9884\u89C8\u6587\u4EF6\u5939",
367
+ previewLoading: "\u6B63\u5728\u52A0\u8F7D\u9884\u89C8",
368
+ previewTextTooLarge: "\u8FD9\u4E2A\u6587\u672C\u6587\u4EF6\u8D85\u8FC7\u4E86 {{maxSize}}",
369
+ previewUnavailable: "\u5F53\u524D\u5DE5\u4F5C\u533A\u65E0\u6CD5\u9884\u89C8\u6587\u4EF6",
370
+ previewUnsupported: "\u6682\u4E0D\u652F\u6301\u9884\u89C8\u8FD9\u79CD\u6587\u4EF6\u7C7B\u578B",
311
371
  searchPlaceholder: "\u641C\u7D22\u6587\u4EF6\u548C\u6587\u4EF6\u5939",
312
372
  selectedCount: "\u5DF2\u9009\u62E9 {{count}} \u9879",
313
373
  title: "\u9009\u62E9\u5DE5\u4F5C\u533A\u5F15\u7528"
@@ -362,4 +422,4 @@ export {
362
422
  issueManagerI18nResources,
363
423
  createIssueManagerI18nRuntime
364
424
  };
365
- //# sourceMappingURL=chunk-JGIOWEUE.js.map
425
+ //# sourceMappingURL=chunk-WT6PIL4Q.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 sub-issue\",\n askAgentToBreakdown: \"Break down with agent\",\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 issue\",\n createTopic: \"New topic\",\n delete: \"Delete\",\n deleteIssue: \"Delete issue\",\n deleteTask: \"Delete issue\",\n edit: \"Edit\",\n editIssue: \"Edit issue\",\n editTask: \"Edit issue\",\n editTopic: \"Edit topic\",\n expandIssueList: \"Expand issue list\",\n inviteCollaborator: \"Invite collaborator\",\n insertReferences: \"Insert references\",\n linkExistingExecutionDirectory: \"Use existing project\",\n moreActions: \"More actions\",\n openReference: \"Open\",\n refresh: \"Refresh\",\n referenceWorkspaceFiles: \"Reference files\",\n removeReference: \"Remove\",\n runTask: \"Run issue\",\n saveIssue: \"Save issue\",\n saveSubtask: \"Save sub-issue\",\n saveTask: \"Save issue\",\n selectExecutionDirectory: \"Select execution directory\",\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 issue, goals, or context.\",\n issueTitlePlaceholder: \"Issue title\",\n subtaskContentPlaceholder:\n \"Add the sub-issue goal, execution approach, and acceptance criteria.\",\n subtaskTitlePlaceholder: \"Enter a sub-issue title\",\n taskContentPlaceholder:\n \"Describe the executable issue and expected result.\",\n taskTitlePlaceholder: \"Issue title\"\n },\n confirmations: {\n deleteIssue: \"Delete this issue?\",\n deleteTask: \"Delete this issue?\",\n deleteTopic: \"Delete this topic?\"\n },\n dockLabel: \"Issues\",\n emptyState:\n \"Create an issue, add the goal and references, then let Agent run\",\n labels: {\n allStatus: \"All\",\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: \"Issue details\",\n issueList: \"Issues\",\n latestRunStatus: \"Latest execution status\",\n loadingExecutionDirectories: \"Loading directories...\",\n noProject: \"No project\",\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: \"Sub-issues\",\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}} sub-issues\",\n taskDetails: \"Issue details\",\n taskList: \"Issues\",\n temporaryExecutionDirectory: \"Temporary directory\"\n },\n messages: {\n clipboardUnavailable: \"Clipboard is unavailable.\",\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 issue.\",\n issueRefreshFailed: \"Couldn't refresh issues.\",\n issueSaveFailed: \"Couldn't save the issue.\",\n executionDirectorySelectFailed: \"Couldn't select the execution directory.\",\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 noAgentProviders: \"No available agent providers.\",\n noOutputs: \"No outputs yet\",\n noRecentRuns: \"No runs yet\",\n taskContentEmpty: \"No issue description yet\",\n noTaskReferences: \"No issue references yet\",\n noTasksForIssueBody:\n \"Create the first sub-issue for this issue and let an agent or yourself execute it\",\n noSubtasksForIssue:\n \"You can continue breaking down this item by adding sub-issues\",\n noTasks: \"No issues 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 issue.\",\n taskSaveFailed: \"Couldn't save the issue.\",\n taskDeleted: \"Issue deleted.\",\n taskSaved: \"Issue 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 issues in this topic before deleting it.\",\n topicDeleteNotFound: \"This topic no longer exists.\",\n topicListEmpty: \"No issue 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 confirm: \"Use selected references\",\n emptyDirectory: \"This folder is empty.\",\n emptySearch: \"No matching files or folders.\",\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 previewLoading: \"Loading preview...\",\n previewTextTooLarge: \"This text file is larger than {{maxSize}}.\",\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 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: \"To run\",\n pendingAcceptance: \"Pending\",\n running: \"Running\",\n unknown: \"Unknown\"\n },\n title: \"Issue Center\"\n} as const satisfies I18nDictionary;\n\nconst issueManagerZhCN = {\n actions: {\n add: \"添加\",\n addReferences: \"添加引用\",\n addSubtask: \"添加子事项\",\n askAgentToBreakdown: \"让 Agent 拆解任务\",\n askAgentToRun: \"让 Agent 执行\",\n cancel: \"取消\",\n clearSearch: \"清空搜索\",\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 linkExistingExecutionDirectory: \"使用已有项目\",\n moreActions: \"更多操作\",\n openReference: \"打开\",\n refresh: \"刷新\",\n referenceWorkspaceFiles: \"引用文件\",\n removeReference: \"移除\",\n runTask: \"运行事项\",\n saveIssue: \"保存事项\",\n saveSubtask: \"保存子事项\",\n saveTask: \"保存事项\",\n selectExecutionDirectory: \"选择执行目录\",\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 content: \"内容\",\n contextReferences: \"上下文引用\",\n createTopicDialogTitle: \"新建主题\",\n createdAt: \"创建时间\",\n creator: \"创建者\",\n customExecutionDirectory: \"自定义目录\",\n description: \"描述\",\n executionOutputs: \"执行产物\",\n issueDetails: \"事项详情\",\n issueList: \"事项\",\n latestRunStatus: \"最新执行状态\",\n loadingExecutionDirectories: \"正在加载目录...\",\n noProject: \"不使用项目\",\n outputs: \"输出产物\",\n priority: \"优先级\",\n provider: \"Provider\",\n recentRuns: \"最近运行\",\n requirementDescription: \"需求描述\",\n resizeIssueList: \"调整事项列表宽度\",\n searchIssues: \"搜索事项\",\n scrollStatusTabsLeft: \"向左滚动状态标签\",\n scrollStatusTabsRight: \"向右滚动状态标签\",\n status: \"状态\",\n subtasks: \"子事项\",\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 breakdownOpenFailed: \"打开 Agent 任务拆解失败。\",\n breakdownUnavailable: \"当前环境暂不支持 Agent 任务拆解。\",\n copyShareLinkFailed: \"复制分享链接失败。\",\n copiedShareLink: \"已复制分享链接。\",\n issueDeleteFailed: \"删除事项失败。\",\n issueRefreshFailed: \"刷新事项列表失败。\",\n issueSaveFailed: \"保存事项失败。\",\n executionDirectorySelectFailed: \"选择执行目录失败。\",\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 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 confirm: \"使用已选引用\",\n emptyDirectory: \"当前目录为空\",\n emptySearch: \"没有匹配的文件或文件夹\",\n loading: \"正在加载\",\n previewBinary: \"这个文件更像二进制内容\",\n previewDecodeFailed: \"暂时无法按 UTF-8 文本解码这个文件\",\n previewError: \"加载预览失败\",\n previewFileTooLarge: \"这个文件超过了 {{maxSize}}\",\n previewFolder: \"暂不支持预览文件夹\",\n previewLoading: \"正在加载预览\",\n previewTextTooLarge: \"这个文本文件超过了 {{maxSize}}\",\n previewUnavailable: \"当前工作区无法预览文件\",\n previewUnsupported: \"暂不支持预览这种文件类型\",\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":[]}
@@ -1,20 +1,26 @@
1
1
  import {
2
2
  createIssueManagerI18nRuntime
3
- } from "./chunk-JGIOWEUE.js";
3
+ } from "./chunk-WT6PIL4Q.js";
4
4
 
5
5
  // src/core/feature.ts
6
6
  var defaultIssueManagerNodeState = {
7
+ activeTopicId: null,
7
8
  issueSearchQuery: "",
8
9
  issueStatusFilter: "all",
9
10
  selectedAgentProvider: "codex",
11
+ selectedExecutionDirectory: null,
10
12
  selectedIssueId: null,
11
13
  selectedTaskId: null,
12
14
  taskListCollapsed: false
13
15
  };
14
16
  function createIssueManagerFeature(input) {
15
17
  return {
18
+ agentBreakdownLauncher: input.agentBreakdownLauncher,
19
+ agentProviderOptions: input.agentProviderOptions,
16
20
  agentRunner: input.agentRunner,
17
21
  backend: input.backend,
22
+ eventSource: input.eventSource,
23
+ executionDirectoryPicker: input.executionDirectoryPicker,
18
24
  fileAdapter: input.fileAdapter,
19
25
  i18n: createIssueManagerI18nRuntime(input.i18n),
20
26
  identityAdapter: input.identityAdapter,
@@ -29,9 +35,13 @@ function normalizeIssueManagerNodeState(state) {
29
35
  return {
30
36
  ...defaultIssueManagerNodeState,
31
37
  ...state,
38
+ activeTopicId: normalizeNullableString(state?.activeTopicId),
32
39
  issueSearchQuery: state?.issueSearchQuery?.trim() ?? "",
33
40
  issueStatusFilter: state?.issueStatusFilter ?? "all",
34
41
  selectedAgentProvider: state?.selectedAgentProvider?.trim() || "codex",
42
+ selectedExecutionDirectory: normalizeNullableString(
43
+ state?.selectedExecutionDirectory
44
+ ),
35
45
  selectedIssueId: normalizeNullableString(state?.selectedIssueId),
36
46
  selectedTaskId: normalizeNullableString(state?.selectedTaskId),
37
47
  taskListCollapsed: state?.taskListCollapsed === true
@@ -113,7 +123,11 @@ function resolveIssueManagerExpandedFrame(frame, surfaceWidth) {
113
123
 
114
124
  // src/core/runPrompt.ts
115
125
  function buildIssueManagerRunOutputDir(issueId, taskId, runId) {
116
- return `/workspace/issues/${issueId}/tasks/${taskId}/runs/${runId}`;
126
+ const normalizedTaskId = taskId?.trim();
127
+ if (normalizedTaskId) {
128
+ return `/workspace/issues/${issueId}/tasks/${normalizedTaskId}/runs/${runId}`;
129
+ }
130
+ return `/workspace/issues/${issueId}/runs/${runId}`;
117
131
  }
118
132
  function buildIssueManagerUploadDir(issueId, taskId) {
119
133
  const normalizedTaskId = taskId?.trim();
@@ -143,45 +157,77 @@ function resolveIssueManagerWorkspaceRuntimePath(workspaceRoot, requestedPath) {
143
157
  return normalizedRequestedPath;
144
158
  }
145
159
  function buildIssueManagerRunPrompt(input) {
146
- const outputDir = resolveIssueManagerWorkspaceRuntimePath(
147
- input.workspaceRoot,
148
- buildIssueManagerRunOutputDir(
149
- input.issue.issueId,
150
- input.task.taskId,
151
- input.runId
152
- )
153
- );
154
160
  const workspaceFileRefs = collectIssueManagerWorkspaceReferencePaths(
155
- input.task.content || "",
161
+ input.task?.content || "",
156
162
  input.issue.content || ""
157
163
  ).map(
158
164
  (refPath) => `- [file] ${resolveIssueManagerWorkspaceRuntimePath(input.workspaceRoot, refPath)}`
159
165
  ).join("\n");
160
166
  const taskContent = extractIssueManagerPlainTextFromContent(
161
- input.task.content || ""
167
+ input.task?.content || ""
162
168
  );
163
169
  const issueContent = extractIssueManagerPlainTextFromContent(
164
170
  input.issue.content || ""
165
171
  );
172
+ const taskTitle = input.task?.title.trim() || input.issue.title;
166
173
  return [
167
174
  "\u4F60\u6B63\u5728\u5904\u7406\u4E00\u4E2A\u5DE5\u4F5C\u533A\u4EFB\u52A1\u3002",
168
175
  "",
169
176
  `Issue \u6807\u9898\uFF1A${input.issue.title}`,
170
177
  `Issue \u5185\u5BB9\uFF1A${issueContent || "\uFF08\u65E0\u8865\u5145\u5185\u5BB9\uFF09"}`,
171
- `Task \u6807\u9898\uFF1A${input.task.title}`,
178
+ `Task \u6807\u9898\uFF1A${taskTitle}`,
172
179
  `Task \u5185\u5BB9\uFF1A${taskContent || "\uFF08\u65E0\u8865\u5145\u5185\u5BB9\uFF09"}`,
173
180
  `\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\uFF1A${input.workspaceRoot}`,
174
- `\u4EFB\u52A1\u8F93\u51FA\u76EE\u5F55\uFF1A${outputDir}`,
175
181
  "",
176
182
  "\u5F15\u7528\u8D44\u6599\uFF1A",
177
183
  workspaceFileRefs || "- \uFF08\u65E0\u5F15\u7528\u8D44\u6599\uFF09",
178
184
  "",
179
185
  "\u6267\u884C\u8981\u6C42\uFF1A",
180
186
  `1. \u5728 ${input.workspaceRoot} \u4E0B\u5DE5\u4F5C\uFF0C\u4E0D\u8981\u5207\u6362\u5230\u5176\u4ED6\u65E0\u5173\u76EE\u5F55\u3002`,
181
- "2. \u5982\u9700\u8BFB\u53D6\u5F15\u7528\u8D44\u6599\uFF0C\u8BF7\u76F4\u63A5\u4F7F\u7528\u4E0A\u9762\u7684\u8DEF\u5F84\u3002",
182
- `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`,
183
- "4. \u81F3\u5C11\u8F93\u51FA summary.md\uFF0C\u8BF4\u660E\u5904\u7406\u7ED3\u679C\u3001\u6539\u52A8\u4E0E\u7ED3\u8BBA\u3002",
184
- "5. \u4E0D\u8981\u628A\u6700\u7EC8\u4EA7\u7269\u5199\u5230\u5DE5\u4F5C\u533A\u4E4B\u5916\u3002"
187
+ "2. Issue Manager \u4F1A\u8BB0\u5F55\u672C\u6B21\u6267\u884C\u72B6\u6001\uFF1B\u4E0D\u8981\u81EA\u884C\u521B\u5EFA\u6216\u5B8C\u6210 issue run\u3002",
188
+ "3. \u5982\u679C\u7528\u6237\u6307\u5B9A\u4E86\u8F93\u51FA\u4F4D\u7F6E\uFF0C\u4F18\u5148\u4F7F\u7528\u7528\u6237\u6307\u5B9A\u7684\u4F4D\u7F6E\uFF1B\u5426\u5219\u628A\u4EA7\u7269\u5199\u5728\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\u5185\uFF0C\u4E0D\u8981\u5199\u5230\u5DE5\u4F5C\u533A\u4E4B\u5916\u3002"
189
+ ].join("\n");
190
+ }
191
+ function buildIssueManagerTaskBreakdownPrompt(input) {
192
+ const issue = input.issueDetail.issue;
193
+ const issueContent = extractIssueManagerPlainTextFromContent(
194
+ issue.content || ""
195
+ );
196
+ const existingTasks = input.issueDetail.tasks.map((task, index) => {
197
+ const taskContent = extractIssueManagerPlainTextFromContent(
198
+ task.content || ""
199
+ );
200
+ return [
201
+ `${index + 1}. ${task.title}`,
202
+ taskContent ? ` - \u8BF4\u660E\uFF1A${taskContent}` : null,
203
+ ` - \u72B6\u6001\uFF1A${task.status}`,
204
+ ` - \u4F18\u5148\u7EA7\uFF1A${task.priority}`
205
+ ].filter(Boolean).join("\n");
206
+ }).join("\n");
207
+ const contextRefs = input.issueDetail.contextRefs.map(
208
+ (ref) => `- [${ref.parentKind}] ${ref.displayName || ref.path}: ${ref.path}`
209
+ ).join("\n");
210
+ const issueMention = `[@${issue.title}](mention://workspace-issue?workspaceId=${encodeURIComponent(
211
+ input.workspaceId
212
+ )}&id=${encodeURIComponent(issue.issueId)})`;
213
+ return [
214
+ "\u8BF7\u57FA\u4E8E\u4E0B\u9762\u8FD9\u4E2A Issue \u5E2E\u6211\u505A\u4EFB\u52A1\u62C6\u89E3\u3002",
215
+ "",
216
+ `Issue \u5F15\u7528\uFF1A${issueMention}`,
217
+ `Issue \u6807\u9898\uFF1A${issue.title}`,
218
+ `Issue \u5185\u5BB9\uFF1A${issueContent || "\uFF08\u65E0\u8865\u5145\u5185\u5BB9\uFF09"}`,
219
+ "",
220
+ "\u73B0\u6709\u5B50\u4E8B\u9879\uFF1A",
221
+ existingTasks || "- \uFF08\u6682\u65E0\u5B50\u4E8B\u9879\uFF09",
222
+ "",
223
+ "\u5F15\u7528\u8D44\u6599\uFF1A",
224
+ contextRefs || "- \uFF08\u65E0\u5F15\u7528\u8D44\u6599\uFF09",
225
+ "",
226
+ "\u62C6\u89E3\u8981\u6C42\uFF1A",
227
+ "1. \u5148\u7406\u89E3 Issue \u7684\u76EE\u6807\u3001\u7EA6\u675F\u3001\u98CE\u9669\u548C\u9A8C\u6536\u53E3\u5F84\u3002",
228
+ "2. \u7ED9\u51FA\u5EFA\u8BAE\u7684\u5B50\u4E8B\u9879\u5217\u8868\uFF0C\u6BCF\u4E2A\u5B50\u4E8B\u9879\u5305\u542B\u6807\u9898\u3001\u76EE\u6807\u3001\u5173\u952E\u6B65\u9AA4\u3001\u9A8C\u6536\u6807\u51C6\u3001\u5EFA\u8BAE\u4F18\u5148\u7EA7\u3002",
229
+ "3. \u6807\u8BB0\u4F9D\u8D56\u5173\u7CFB\u3001\u5E76\u884C/\u4E32\u884C\u987A\u5E8F\uFF0C\u4EE5\u53CA\u9700\u8981\u7528\u6237\u8865\u5145\u786E\u8BA4\u7684\u95EE\u9898\u3002",
230
+ "4. \u907F\u514D\u76F4\u63A5\u6539\u4EE3\u7801\u6216\u6267\u884C\u4EFB\u52A1\uFF1B\u8FD9\u6B21\u53EA\u505A\u4EFB\u52A1\u62C6\u89E3\u3002"
185
231
  ].join("\n");
186
232
  }
187
233
  function collectIssueManagerWorkspaceReferencePaths(...contents) {
@@ -225,6 +271,7 @@ export {
225
271
  buildIssueManagerRunOutputDir,
226
272
  buildIssueManagerUploadDir,
227
273
  resolveIssueManagerWorkspaceRuntimePath,
228
- buildIssueManagerRunPrompt
274
+ buildIssueManagerRunPrompt,
275
+ buildIssueManagerTaskBreakdownPrompt
229
276
  };
230
- //# sourceMappingURL=chunk-MCVRP7RR.js.map
277
+ //# sourceMappingURL=chunk-YN5NYKAA.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 IssueManagerAgentBreakdownLauncher,\n IssueManagerAgentProviderOptionsAdapter,\n IssueManagerExecutionDirectoryPicker,\n IssueManagerAgentRunner,\n IssueManagerBackend,\n IssueManagerEventSource,\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 agentBreakdownLauncher?: IssueManagerAgentBreakdownLauncher;\n agentProviderOptions?: IssueManagerAgentProviderOptionsAdapter;\n agentRunner: IssueManagerAgentRunner;\n backend: IssueManagerBackend;\n eventSource?: IssueManagerEventSource;\n executionDirectoryPicker?: IssueManagerExecutionDirectoryPicker;\n fileAdapter?: IssueManagerFileAdapter;\n i18n: IssueManagerI18nRuntime;\n identityAdapter: IssueManagerIdentityAdapter;\n notifications?: IssueManagerNotificationSink;\n shareAdapter?: IssueManagerShareAdapter;\n ui: IssueManagerFeatureUIConfig;\n}\n\nexport interface CreateIssueManagerFeatureInput {\n agentBreakdownLauncher?: IssueManagerAgentBreakdownLauncher;\n agentProviderOptions?: IssueManagerAgentProviderOptionsAdapter;\n agentRunner: IssueManagerAgentRunner;\n backend: IssueManagerBackend;\n eventSource?: IssueManagerEventSource;\n executionDirectoryPicker?: IssueManagerExecutionDirectoryPicker;\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 activeTopicId: null,\n issueSearchQuery: \"\",\n issueStatusFilter: \"all\",\n selectedAgentProvider: \"codex\",\n selectedExecutionDirectory: null,\n selectedIssueId: null,\n selectedTaskId: null,\n taskListCollapsed: false\n};\n\nexport function createIssueManagerFeature(\n input: CreateIssueManagerFeatureInput\n): IssueManagerFeature {\n return {\n agentBreakdownLauncher: input.agentBreakdownLauncher,\n agentProviderOptions: input.agentProviderOptions,\n agentRunner: input.agentRunner,\n backend: input.backend,\n eventSource: input.eventSource,\n executionDirectoryPicker: input.executionDirectoryPicker,\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 activeTopicId: normalizeNullableString(state?.activeTopicId),\n issueSearchQuery: state?.issueSearchQuery?.trim() ?? \"\",\n issueStatusFilter: state?.issueStatusFilter ?? \"all\",\n selectedAgentProvider: state?.selectedAgentProvider?.trim() || \"codex\",\n selectedExecutionDirectory: normalizeNullableString(\n state?.selectedExecutionDirectory\n ),\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 issueManagerDefaultNodeFrameWidth = 960;\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\nexport function resolveIssueManagerExpandedFrame<\n TFrame extends { width: number; x: number }\n>(frame: TFrame, surfaceWidth: number): TFrame {\n const preferredWidth = Math.max(\n issueManagerExpandedFrameMinWidth,\n Math.min(\n issueManagerDefaultNodeFrameWidth,\n frame.width + issueManagerSidebarDefaultWidth\n )\n );\n const width = Math.min(\n Math.max(frame.width, preferredWidth),\n Math.max(frame.width, surfaceWidth)\n );\n\n return {\n ...frame,\n width,\n x: Math.max(0, Math.min(frame.x, surfaceWidth - width))\n };\n}\n","import type {\n IssueManagerContextRef,\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 | null | undefined,\n runId: string\n): string {\n const normalizedTaskId = taskId?.trim();\n if (normalizedTaskId) {\n return `/workspace/issues/${issueId}/tasks/${normalizedTaskId}/runs/${runId}`;\n }\n return `/workspace/issues/${issueId}/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 task?: IssueManagerTaskSummary;\n workspaceRoot: string;\n}): string {\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 const taskTitle = input.task?.title.trim() || input.issue.title;\n\n return [\n \"你正在处理一个工作区任务。\",\n \"\",\n `Issue 标题:${input.issue.title}`,\n `Issue 内容:${issueContent || \"(无补充内容)\"}`,\n `Task 标题:${taskTitle}`,\n `Task 内容:${taskContent || \"(无补充内容)\"}`,\n `当前工作目录:${input.workspaceRoot}`,\n \"\",\n \"引用资料:\",\n workspaceFileRefs || \"- (无引用资料)\",\n \"\",\n \"执行要求:\",\n `1. 在 ${input.workspaceRoot} 下工作,不要切换到其他无关目录。`,\n \"2. Issue Manager 会记录本次执行状态;不要自行创建或完成 issue run。\",\n \"3. 如果用户指定了输出位置,优先使用用户指定的位置;否则把产物写在当前工作目录内,不要写到工作区之外。\"\n ].join(\"\\n\");\n}\n\nexport function buildIssueManagerTaskBreakdownPrompt(input: {\n issueDetail: {\n contextRefs: readonly IssueManagerContextRef[];\n issue: IssueManagerIssueSummary;\n tasks: readonly IssueManagerTaskSummary[];\n };\n workspaceId: string;\n}): string {\n const issue = input.issueDetail.issue;\n const issueContent = extractIssueManagerPlainTextFromContent(\n issue.content || \"\"\n );\n const existingTasks = input.issueDetail.tasks\n .map((task, index) => {\n const taskContent = extractIssueManagerPlainTextFromContent(\n task.content || \"\"\n );\n return [\n `${index + 1}. ${task.title}`,\n taskContent ? ` - 说明:${taskContent}` : null,\n ` - 状态:${task.status}`,\n ` - 优先级:${task.priority}`\n ]\n .filter(Boolean)\n .join(\"\\n\");\n })\n .join(\"\\n\");\n const contextRefs = input.issueDetail.contextRefs\n .map(\n (ref) =>\n `- [${ref.parentKind}] ${ref.displayName || ref.path}: ${ref.path}`\n )\n .join(\"\\n\");\n const issueMention = `[@${issue.title}](mention://workspace-issue?workspaceId=${encodeURIComponent(\n input.workspaceId\n )}&id=${encodeURIComponent(issue.issueId)})`;\n\n return [\n \"请基于下面这个 Issue 帮我做任务拆解。\",\n \"\",\n `Issue 引用:${issueMention}`,\n `Issue 标题:${issue.title}`,\n `Issue 内容:${issueContent || \"(无补充内容)\"}`,\n \"\",\n \"现有子事项:\",\n existingTasks || \"- (暂无子事项)\",\n \"\",\n \"引用资料:\",\n contextRefs || \"- (无引用资料)\",\n \"\",\n \"拆解要求:\",\n \"1. 先理解 Issue 的目标、约束、风险和验收口径。\",\n \"2. 给出建议的子事项列表,每个子事项包含标题、目标、关键步骤、验收标准、建议优先级。\",\n \"3. 标记依赖关系、并行/串行顺序,以及需要用户补充确认的问题。\",\n \"4. 避免直接改代码或执行任务;这次只做任务拆解。\"\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":";;;;;AAwDO,IAAM,+BAAsD;AAAA,EACjE,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,4BAA4B;AAAA,EAC5B,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,mBAAmB;AACrB;AAEO,SAAS,0BACd,OACqB;AACrB,SAAO;AAAA,IACL,wBAAwB,MAAM;AAAA,IAC9B,sBAAsB,MAAM;AAAA,IAC5B,aAAa,MAAM;AAAA,IACnB,SAAS,MAAM;AAAA,IACf,aAAa,MAAM;AAAA,IACnB,0BAA0B,MAAM;AAAA,IAChC,aAAa,MAAM;AAAA,IACnB,MAAM,8BAA8B,MAAM,IAAI;AAAA,IAC9C,iBAAiB,MAAM;AAAA,IACvB,eAAe,MAAM;AAAA,IACrB,cAAc,MAAM;AAAA,IACpB,IAAI;AAAA,MACF,wBAAwB,MAAM,IAAI,0BAA0B;AAAA,IAC9D;AAAA,EACF;AACF;AAEO,SAAS,+BACd,OACuB;AACvB,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH,eAAe,wBAAwB,OAAO,aAAa;AAAA,IAC3D,kBAAkB,OAAO,kBAAkB,KAAK,KAAK;AAAA,IACrD,mBAAmB,OAAO,qBAAqB;AAAA,IAC/C,uBAAuB,OAAO,uBAAuB,KAAK,KAAK;AAAA,IAC/D,4BAA4B;AAAA,MAC1B,OAAO;AAAA,IACT;AAAA,IACA,iBAAiB,wBAAwB,OAAO,eAAe;AAAA,IAC/D,gBAAgB,wBAAwB,OAAO,cAAc;AAAA,IAC7D,mBAAmB,OAAO,sBAAsB;AAAA,EAClD;AACF;AAEA,SAAS,wBACP,OACe;AACf,QAAM,UAAU,OAAO,KAAK,KAAK;AACjC,SAAO,QAAQ,SAAS,IAAI,UAAU;AACxC;;;AChHA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAaA,IAAM,+BAA+B;AAErC,IAAM,6CACX;AAEK,IAAM,8CACX;AAEK,IAAM,gDACX;AAEK,IAAM,mDACX;AAEK,IAAM,iDACX;AAEK,IAAM,0CACX;AAEK,IAAM,sDACX;AAEK,IAAM,gCAAgC;AACtC,IAAM,oCAAoC;AAC1C,IAAM,+BAA+B;AACrC,IAAM,yCACX;AACK,IAAM,uCACX;;;ACxDK,IAAM,kCAAkC;AACxC,IAAM,8BAA8B;AACpC,IAAM,8BAA8B;AACpC,IAAM,2BAA2B;AACjC,IAAM,oCAAoC;AAC1C,IAAM,oCACX,8BAA8B;AAEzB,SAAS,8BACd,OACA,aACQ;AACR,QAAM,WAAW,KAAK;AAAA,IACpB;AAAA,IACA,KAAK;AAAA,MACH;AAAA,MACA,cAAc;AAAA,IAChB;AAAA,EACF;AACA,SAAO,KAAK,IAAI,KAAK,IAAI,OAAO,2BAA2B,GAAG,QAAQ;AACxE;AAEO,SAAS,sCACd,gBACS;AACT,SACE,OAAO,SAAS,cAAc,KAC9B,iBAAiB,KACjB,KAAK,MAAM,cAAc,IAAI;AAEjC;AAEO,SAAS,iCAEd,OAAe,cAA8B;AAC7C,QAAM,iBAAiB,KAAK;AAAA,IAC1B;AAAA,IACA,KAAK;AAAA,MACH;AAAA,MACA,MAAM,QAAQ;AAAA,IAChB;AAAA,EACF;AACA,QAAM,QAAQ,KAAK;AAAA,IACjB,KAAK,IAAI,MAAM,OAAO,cAAc;AAAA,IACpC,KAAK,IAAI,MAAM,OAAO,YAAY;AAAA,EACpC;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,MAAM,GAAG,eAAe,KAAK,CAAC;AAAA,EACxD;AACF;;;AC1CO,SAAS,8BACd,SACA,QACA,OACQ;AACR,QAAM,mBAAmB,QAAQ,KAAK;AACtC,MAAI,kBAAkB;AACpB,WAAO,qBAAqB,OAAO,UAAU,gBAAgB,SAAS,KAAK;AAAA,EAC7E;AACA,SAAO,qBAAqB,OAAO,SAAS,KAAK;AACnD;AAEO,SAAS,2BACd,SACA,QACQ;AACR,QAAM,mBAAmB,QAAQ,KAAK;AACtC,MAAI,kBAAkB;AACpB,WAAO,qBAAqB,OAAO,UAAU,gBAAgB;AAAA,EAC/D;AACA,SAAO,qBAAqB,OAAO;AACrC;AAEO,SAAS,wCACd,eACA,eACQ;AACR,QAAM,0BAA0B,cAAc,KAAK,EAAE,QAAQ,QAAQ,EAAE;AACvE,QAAM,0BAA0B,cAAc,KAAK;AAEnD,MAAI,CAAC,2BAA2B,CAAC,yBAAyB;AACxD,WAAO;AAAA,EACT;AAEA,MACE,4BAA4B,2BAC5B,wBAAwB,WAAW,GAAG,uBAAuB,GAAG,GAChE;AACA,WAAO;AAAA,EACT;AAEA,MAAI,4BAA4B,cAAc;AAC5C,WAAO;AAAA,EACT;AAEA,MAAI,wBAAwB,WAAW,aAAa,GAAG;AACrD,WAAO,GAAG,uBAAuB,IAAI,wBAAwB,MAAM,cAAc,MAAM,CAAC;AAAA,EAC1F;AAEA,MAAI,CAAC,wBAAwB,WAAW,GAAG,GAAG;AAC5C,WAAO,GAAG,uBAAuB,IAAI,wBAAwB,QAAQ,QAAQ,EAAE,CAAC;AAAA,EAClF;AAEA,SAAO;AACT;AAEO,SAAS,2BAA2B,OAIhC;AACT,QAAM,oBAAoB;AAAA,IACxB,MAAM,MAAM,WAAW;AAAA,IACvB,MAAM,MAAM,WAAW;AAAA,EACzB,EACG;AAAA,IACC,CAAC,YACC,YAAY,wCAAwC,MAAM,eAAe,OAAO,CAAC;AAAA,EACrF,EACC,KAAK,IAAI;AACZ,QAAM,cAAc;AAAA,IAClB,MAAM,MAAM,WAAW;AAAA,EACzB;AACA,QAAM,eAAe;AAAA,IACnB,MAAM,MAAM,WAAW;AAAA,EACzB;AACA,QAAM,YAAY,MAAM,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM;AAE1D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,2BAAY,MAAM,MAAM,KAAK;AAAA,IAC7B,2BAAY,gBAAgB,4CAAS;AAAA,IACrC,0BAAW,SAAS;AAAA,IACpB,0BAAW,eAAe,4CAAS;AAAA,IACnC,6CAAU,MAAM,aAAa;AAAA,IAC7B;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,IACrB;AAAA,IACA;AAAA,IACA,aAAQ,MAAM,aAAa;AAAA,IAC3B;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AACb;AAEO,SAAS,qCAAqC,OAO1C;AACT,QAAM,QAAQ,MAAM,YAAY;AAChC,QAAM,eAAe;AAAA,IACnB,MAAM,WAAW;AAAA,EACnB;AACA,QAAM,gBAAgB,MAAM,YAAY,MACrC,IAAI,CAAC,MAAM,UAAU;AACpB,UAAM,cAAc;AAAA,MAClB,KAAK,WAAW;AAAA,IAClB;AACA,WAAO;AAAA,MACL,GAAG,QAAQ,CAAC,KAAK,KAAK,KAAK;AAAA,MAC3B,cAAc,0BAAW,WAAW,KAAK;AAAA,MACzC,0BAAW,KAAK,MAAM;AAAA,MACtB,gCAAY,KAAK,QAAQ;AAAA,IAC3B,EACG,OAAO,OAAO,EACd,KAAK,IAAI;AAAA,EACd,CAAC,EACA,KAAK,IAAI;AACZ,QAAM,cAAc,MAAM,YAAY,YACnC;AAAA,IACC,CAAC,QACC,MAAM,IAAI,UAAU,KAAK,IAAI,eAAe,IAAI,IAAI,KAAK,IAAI,IAAI;AAAA,EACrE,EACC,KAAK,IAAI;AACZ,QAAM,eAAe,KAAK,MAAM,KAAK,2CAA2C;AAAA,IAC9E,MAAM;AAAA,EACR,CAAC,OAAO,mBAAmB,MAAM,OAAO,CAAC;AAEzC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,2BAAY,YAAY;AAAA,IACxB,2BAAY,MAAM,KAAK;AAAA,IACvB,2BAAY,gBAAgB,4CAAS;AAAA,IACrC;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AACb;AAEA,SAAS,8CACJ,UACO;AACV,QAAM,QAAQ,oBAAI,IAAY;AAC9B,aAAW,WAAW,UAAU;AAC9B,eAAW,OAAO;AAAA,MAChB;AAAA,IACF,GAAG;AACD,YAAM,IAAI,IAAI,IAAI;AAAA,IACpB;AAAA,EACF;AACA,SAAO,CAAC,GAAG,KAAK;AAClB;","names":[]}