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

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 (34) hide show
  1. package/dist/{chunk-LJQG24Y2.js → chunk-I7SVY3KV.js} +159 -25
  2. package/dist/chunk-I7SVY3KV.js.map +1 -0
  3. package/dist/{chunk-JGIOWEUE.js → chunk-MJXXZPDJ.js} +93 -35
  4. package/dist/chunk-MJXXZPDJ.js.map +1 -0
  5. package/dist/chunk-N6NGQ7DZ.js +14 -0
  6. package/dist/chunk-N6NGQ7DZ.js.map +1 -0
  7. package/dist/{chunk-MCVRP7RR.js → chunk-SUCZIXKI.js} +66 -20
  8. package/dist/chunk-SUCZIXKI.js.map +1 -0
  9. package/dist/{chunk-5V4DIEWZ.js → chunk-UT34M3FS.js} +1673 -1933
  10. package/dist/chunk-UT34M3FS.js.map +1 -0
  11. package/dist/contracts/index.d.ts +100 -68
  12. package/dist/core/index.d.ts +14 -6
  13. package/dist/core/index.js +4 -2
  14. package/dist/{feature-2zhsUF_g.d.ts → feature-Daez355C.d.ts} +7 -1
  15. package/dist/i18n/index.js +1 -1
  16. package/dist/index.d.ts +4 -3
  17. package/dist/index.js +5 -3
  18. package/dist/{issueManagerControllerService.interface-BtvnnFla.d.ts → issueManagerControllerService.interface-SdcCRGnc.d.ts} +3 -2
  19. package/dist/services/index.d.ts +4 -3
  20. package/dist/services/index.js +3 -3
  21. package/dist/ui/index.d.ts +5 -3
  22. package/dist/ui/index.js +4 -4
  23. package/dist/workbench/constants.d.ts +6 -0
  24. package/dist/workbench/constants.js +9 -0
  25. package/dist/workbench/constants.js.map +1 -0
  26. package/dist/workbench/index.d.ts +5 -4
  27. package/dist/workbench/index.js +10 -11
  28. package/dist/workbench/index.js.map +1 -1
  29. package/openapi/issue-manager.v1.yaml +366 -2
  30. package/package.json +11 -6
  31. package/dist/chunk-5V4DIEWZ.js.map +0 -1
  32. package/dist/chunk-JGIOWEUE.js.map +0 -1
  33. package/dist/chunk-LJQG24Y2.js.map +0 -1
  34. 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,49 @@ 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
+ noOutputs: "No outputs yet",
131
+ noRecentRuns: "No runs yet",
132
+ taskContentEmpty: "No issue description yet",
133
+ noTaskReferences: "No issue references yet",
134
+ noTasksForIssueBody: "Create the first sub-issue for this issue and let an agent or yourself execute it",
135
+ noSubtasksForIssue: "You can continue breaking down this item by adding sub-issues",
136
+ noTasks: "No issues yet",
115
137
  refreshingIssues: "Refreshing issues...",
116
138
  titleRequired: "Enter a title before saving.",
117
139
  runExitCode: "Codex exited with code {{code}}.",
118
140
  runCompleted: "Run completed.",
119
- runFailed: "Run failed.",
141
+ runFailed: "Run failed",
120
142
  runStarted: "Run started.",
121
143
  runStatusMissing: "Terminal exited before the issue run produced a status marker.",
122
144
  runTimedOut: "Issue run timed out while waiting for Codex output.",
@@ -125,6 +147,13 @@ var issueManagerEn = {
125
147
  taskSaveFailed: "Couldn't save the issue.",
126
148
  taskDeleted: "Issue deleted.",
127
149
  taskSaved: "Issue saved.",
150
+ topicCreateFailed: "Couldn't create the topic.",
151
+ topicDeleteDefaultForbidden: "The default topic can't be deleted.",
152
+ topicDeleteFailed: "Couldn't delete the topic.",
153
+ topicDeleteNotEmpty: "Move or delete the issues in this topic before deleting it.",
154
+ topicDeleteNotFound: "This topic no longer exists.",
155
+ topicListEmpty: "No issue topics are available.",
156
+ topicUpdateFailed: "Couldn't update the topic.",
128
157
  uploadTypeConflict: "Upload target contains conflicting entry types.",
129
158
  workspacePathUnavailable: "Workspace path is unavailable."
130
159
  },
@@ -179,6 +208,7 @@ var issueManagerZhCN = {
179
208
  add: "\u6DFB\u52A0",
180
209
  addReferences: "\u6DFB\u52A0\u5F15\u7528",
181
210
  addSubtask: "\u6DFB\u52A0\u5B50\u4E8B\u9879",
211
+ askAgentToBreakdown: "\u8BA9 Agent \u62C6\u89E3\u4EFB\u52A1",
182
212
  askAgentToRun: "\u8BA9 Agent \u6267\u884C",
183
213
  cancel: "\u53D6\u6D88",
184
214
  clearSearch: "\u6E05\u7A7A\u641C\u7D22",
@@ -186,15 +216,18 @@ var issueManagerZhCN = {
186
216
  copyShareLink: "\u590D\u5236\u5206\u4EAB\u94FE\u63A5",
187
217
  createIssue: "\u65B0\u5EFA\u4E8B\u9879",
188
218
  createTask: "\u65B0\u5EFA\u4E8B\u9879",
219
+ createTopic: "\u65B0\u5EFA\u4E3B\u9898",
189
220
  delete: "\u5220\u9664",
190
221
  deleteIssue: "\u5220\u9664\u4E8B\u9879",
191
222
  deleteTask: "\u5220\u9664\u4E8B\u9879",
192
223
  edit: "\u7F16\u8F91",
193
224
  editIssue: "\u7F16\u8F91\u4E8B\u9879",
194
225
  editTask: "\u7F16\u8F91\u4E8B\u9879",
226
+ editTopic: "\u7F16\u8F91\u4E3B\u9898",
195
227
  expandIssueList: "\u5C55\u5F00\u4E8B\u9879\u5217\u8868",
196
228
  inviteCollaborator: "\u9080\u8BF7\u534F\u4F5C\u8005",
197
229
  insertReferences: "\u63D2\u5165\u5F15\u7528",
230
+ linkExistingExecutionDirectory: "\u4F7F\u7528\u5DF2\u6709\u9879\u76EE",
198
231
  moreActions: "\u66F4\u591A\u64CD\u4F5C",
199
232
  openReference: "\u6253\u5F00",
200
233
  refresh: "\u5237\u65B0",
@@ -204,11 +237,15 @@ var issueManagerZhCN = {
204
237
  saveIssue: "\u4FDD\u5B58\u4E8B\u9879",
205
238
  saveSubtask: "\u4FDD\u5B58\u5B50\u4E8B\u9879",
206
239
  saveTask: "\u4FDD\u5B58\u4E8B\u9879",
240
+ selectExecutionDirectory: "\u9009\u62E9\u6267\u884C\u76EE\u5F55",
241
+ pinTopic: "\u7F6E\u9876",
242
+ saveTopic: "\u4FDD\u5B58\u4E3B\u9898",
243
+ unpinTopic: "\u53D6\u6D88\u7F6E\u9876",
207
244
  uploadFiles: "\u4E0A\u4F20\u6587\u4EF6",
208
245
  uploadFolder: "\u4E0A\u4F20\u6587\u4EF6\u5939"
209
246
  },
210
247
  composer: {
211
- issueContentPlaceholder: "\u8865\u5145\u8FD9\u4E2A\u4E8B\u9879\u7684\u80CC\u666F\u3001\u76EE\u6807\u6216\u4E0A\u4E0B\u6587\u3002",
248
+ issueContentPlaceholder: "\u8865\u5145\u8FD9\u4E2A\u4E8B\u9879\u7684\u80CC\u666F\u3001\u76EE\u6807\u6216\u4E0A\u4E0B\u6587",
212
249
  issueTitlePlaceholder: "\u4E8B\u9879\u6807\u9898",
213
250
  subtaskContentPlaceholder: "\u8865\u5145\u5B50\u4E8B\u9879\u76EE\u6807\u3001\u6267\u884C\u65B9\u5F0F\u548C\u9A8C\u6536\u6807\u51C6",
214
251
  subtaskTitlePlaceholder: "\u8BF7\u8F93\u5165\u5B50\u4E8B\u9879\u6807\u9898",
@@ -217,21 +254,26 @@ var issueManagerZhCN = {
217
254
  },
218
255
  confirmations: {
219
256
  deleteIssue: "\u786E\u5B9A\u5220\u9664\u8FD9\u4E2A\u4E8B\u9879\u5417\uFF1F",
220
- deleteTask: "\u786E\u5B9A\u5220\u9664\u8FD9\u4E2A\u4E8B\u9879\u5417\uFF1F"
257
+ deleteTask: "\u786E\u5B9A\u5220\u9664\u8FD9\u4E2A\u4E8B\u9879\u5417\uFF1F",
258
+ deleteTopic: "\u786E\u5B9A\u5220\u9664\u8FD9\u4E2A\u4E3B\u9898\u5417\uFF1F"
221
259
  },
222
260
  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",
261
+ 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
262
  labels: {
225
263
  allStatus: "\u5168\u90E8",
226
264
  content: "\u5185\u5BB9",
227
265
  contextReferences: "\u4E0A\u4E0B\u6587\u5F15\u7528",
266
+ createTopicDialogTitle: "\u65B0\u5EFA\u4E3B\u9898",
228
267
  createdAt: "\u521B\u5EFA\u65F6\u95F4",
229
268
  creator: "\u521B\u5EFA\u8005",
269
+ customExecutionDirectory: "\u81EA\u5B9A\u4E49\u76EE\u5F55",
230
270
  description: "\u63CF\u8FF0",
231
271
  executionOutputs: "\u6267\u884C\u4EA7\u7269",
232
272
  issueDetails: "\u4E8B\u9879\u8BE6\u60C5",
233
273
  issueList: "\u4E8B\u9879",
234
274
  latestRunStatus: "\u6700\u65B0\u6267\u884C\u72B6\u6001",
275
+ loadingExecutionDirectories: "\u6B63\u5728\u52A0\u8F7D\u76EE\u5F55...",
276
+ noProject: "\u4E0D\u4F7F\u7528\u9879\u76EE",
235
277
  outputs: "\u8F93\u51FA\u4EA7\u7269",
236
278
  priority: "\u4F18\u5148\u7EA7",
237
279
  provider: "Provider",
@@ -243,40 +285,49 @@ var issueManagerZhCN = {
243
285
  scrollStatusTabsRight: "\u5411\u53F3\u6EDA\u52A8\u72B6\u6001\u6807\u7B7E",
244
286
  status: "\u72B6\u6001",
245
287
  subtasks: "\u5B50\u4E8B\u9879",
288
+ topic: "\u4E3B\u9898",
289
+ topicDefault: "\u9ED8\u8BA4",
290
+ topicSummary: "\u4E3B\u9898\u6982\u8981",
291
+ topicTitle: "\u4E3B\u9898\u6807\u9898",
292
+ editTopicDialogTitle: "\u7F16\u8F91\u4E3B\u9898",
246
293
  title: "\u6807\u9898",
247
294
  updatedAt: "\u66F4\u65B0\u65F6\u95F4",
248
295
  taskCount: "{{count}} \u4E2A\u5B50\u4E8B\u9879",
249
296
  taskDetails: "\u4E8B\u9879\u8BE6\u60C5",
250
- taskList: "\u4E8B\u9879"
297
+ taskList: "\u4E8B\u9879",
298
+ temporaryExecutionDirectory: "\u4E34\u65F6\u76EE\u5F55"
251
299
  },
252
300
  messages: {
253
301
  clipboardUnavailable: "\u5F53\u524D\u73AF\u5883\u65E0\u6CD5\u8BBF\u95EE\u526A\u8D34\u677F\u3002",
302
+ breakdownOpenFailed: "\u6253\u5F00 Agent \u4EFB\u52A1\u62C6\u89E3\u5931\u8D25\u3002",
303
+ breakdownUnavailable: "\u5F53\u524D\u73AF\u5883\u6682\u4E0D\u652F\u6301 Agent \u4EFB\u52A1\u62C6\u89E3\u3002",
254
304
  copyShareLinkFailed: "\u590D\u5236\u5206\u4EAB\u94FE\u63A5\u5931\u8D25\u3002",
255
305
  copiedShareLink: "\u5DF2\u590D\u5236\u5206\u4EAB\u94FE\u63A5\u3002",
256
306
  issueDeleteFailed: "\u5220\u9664\u4E8B\u9879\u5931\u8D25\u3002",
257
307
  issueRefreshFailed: "\u5237\u65B0\u4E8B\u9879\u5217\u8868\u5931\u8D25\u3002",
258
308
  issueSaveFailed: "\u4FDD\u5B58\u4E8B\u9879\u5931\u8D25\u3002",
309
+ executionDirectorySelectFailed: "\u9009\u62E9\u6267\u884C\u76EE\u5F55\u5931\u8D25\u3002",
259
310
  issueDeleted: "\u4E8B\u9879\u5DF2\u5220\u9664\u3002",
260
311
  issueSaved: "\u4E8B\u9879\u5DF2\u4FDD\u5B58\u3002",
261
- issueContentEmpty: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u63CF\u8FF0\u3002",
312
+ issueContentEmpty: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u63CF\u8FF0",
262
313
  noExecutionOutputs: "\u6682\u65E0\u6267\u884C\u4EA7\u7269",
263
314
  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",
315
+ noIssueReferences: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u5F15\u7528",
316
+ noIssuesForFilterBody: "\u8BD5\u8BD5\u5207\u6362\u7B5B\u9009\u6761\u4EF6\uFF0C\u6216\u8005\u65B0\u5EFA\u4E00\u4E2A\u4E8B\u9879",
317
+ noIssuesForFilterTitle: "\u5F53\u524D\u7B5B\u9009\u6761\u4EF6\u4E0B\u6682\u65E0\u4E8B\u9879",
318
+ noIssues: "\u8FD8\u6CA1\u6709\u4E8B\u9879",
319
+ noOutputs: "\u8FD8\u6CA1\u6709\u8F93\u51FA\u4EA7\u7269",
320
+ noRecentRuns: "\u8FD8\u6CA1\u6709\u8FD0\u884C\u8BB0\u5F55",
321
+ taskContentEmpty: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u63CF\u8FF0",
322
+ noTaskReferences: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u5F15\u7528",
323
+ 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
324
  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",
325
+ noTasks: "\u8FD8\u6CA1\u6709\u4E8B\u9879",
275
326
  refreshingIssues: "\u6B63\u5728\u5237\u65B0\u4E8B\u9879\u5217\u8868...",
276
327
  titleRequired: "\u8BF7\u5148\u586B\u5199\u6807\u9898\u540E\u518D\u4FDD\u5B58\u3002",
277
328
  runExitCode: "Codex \u4EE5\u9000\u51FA\u7801 {{code}} \u7ED3\u675F\u3002",
278
329
  runCompleted: "\u8FD0\u884C\u5DF2\u5B8C\u6210\u3002",
279
- runFailed: "\u8FD0\u884C\u5931\u8D25\u3002",
330
+ runFailed: "\u8FD0\u884C\u5931\u8D25",
280
331
  runStarted: "\u8FD0\u884C\u5DF2\u5F00\u59CB\u3002",
281
332
  runStatusMissing: "\u7EC8\u7AEF\u5728\u5199\u5165\u8FD0\u884C\u72B6\u6001\u524D\u5C31\u9000\u51FA\u4E86\u3002",
282
333
  runTimedOut: "\u7B49\u5F85 Codex \u8F93\u51FA\u8D85\u65F6\u3002",
@@ -285,6 +336,13 @@ var issueManagerZhCN = {
285
336
  taskSaveFailed: "\u4FDD\u5B58\u4E8B\u9879\u5931\u8D25\u3002",
286
337
  taskDeleted: "\u4E8B\u9879\u5DF2\u5220\u9664\u3002",
287
338
  taskSaved: "\u4E8B\u9879\u5DF2\u4FDD\u5B58\u3002",
339
+ topicCreateFailed: "\u65B0\u5EFA\u4E3B\u9898\u5931\u8D25\u3002",
340
+ topicDeleteDefaultForbidden: "\u9ED8\u8BA4\u4E3B\u9898\u4E0D\u80FD\u5220\u9664\u3002",
341
+ topicDeleteFailed: "\u5220\u9664\u4E3B\u9898\u5931\u8D25\u3002",
342
+ topicDeleteNotEmpty: "\u8FD9\u4E2A\u4E3B\u9898\u4E0B\u8FD8\u6709\u4E8B\u9879\uFF0C\u4E0D\u80FD\u5220\u9664\u3002",
343
+ topicDeleteNotFound: "\u8FD9\u4E2A\u4E3B\u9898\u5DF2\u4E0D\u5B58\u5728\u3002",
344
+ topicListEmpty: "\u6CA1\u6709\u53EF\u7528\u7684\u4E3B\u9898\u3002",
345
+ topicUpdateFailed: "\u66F4\u65B0\u4E3B\u9898\u5931\u8D25\u3002",
288
346
  uploadTypeConflict: "\u4E0A\u4F20\u76EE\u6807\u4E2D\u5B58\u5728\u7C7B\u578B\u51B2\u7A81\u7684\u540C\u540D\u6761\u76EE\u3002",
289
347
  workspacePathUnavailable: "\u5F53\u524D\u5DE5\u4F5C\u533A\u8DEF\u5F84\u4E0D\u53EF\u7528\u3002"
290
348
  },
@@ -362,4 +420,4 @@ export {
362
420
  issueManagerI18nResources,
363
421
  createIssueManagerI18nRuntime
364
422
  };
365
- //# sourceMappingURL=chunk-JGIOWEUE.js.map
423
+ //# sourceMappingURL=chunk-MJXXZPDJ.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 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 acceptance\",\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 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":[]}
@@ -0,0 +1,14 @@
1
+ // src/workbench/constants.ts
2
+ var defaultIssueManagerWorkbenchTypeId = "issue-manager";
3
+ var defaultIssueManagerNodeFrame = {
4
+ height: 620,
5
+ width: 960,
6
+ x: 220,
7
+ y: 120
8
+ };
9
+
10
+ export {
11
+ defaultIssueManagerWorkbenchTypeId,
12
+ defaultIssueManagerNodeFrame
13
+ };
14
+ //# sourceMappingURL=chunk-N6NGQ7DZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/workbench/constants.ts"],"sourcesContent":["import type { WorkbenchFrame } from \"@nextop-os/workbench-surface\";\n\nexport const defaultIssueManagerWorkbenchTypeId = \"issue-manager\";\n\nexport const defaultIssueManagerNodeFrame: WorkbenchFrame = {\n height: 620,\n width: 960,\n x: 220,\n y: 120\n};\n"],"mappings":";AAEO,IAAM,qCAAqC;AAE3C,IAAM,+BAA+C;AAAA,EAC1D,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,GAAG;AAAA,EACH,GAAG;AACL;","names":[]}
@@ -1,20 +1,25 @@
1
1
  import {
2
2
  createIssueManagerI18nRuntime
3
- } from "./chunk-JGIOWEUE.js";
3
+ } from "./chunk-MJXXZPDJ.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,
16
19
  agentRunner: input.agentRunner,
17
20
  backend: input.backend,
21
+ eventSource: input.eventSource,
22
+ executionDirectoryPicker: input.executionDirectoryPicker,
18
23
  fileAdapter: input.fileAdapter,
19
24
  i18n: createIssueManagerI18nRuntime(input.i18n),
20
25
  identityAdapter: input.identityAdapter,
@@ -29,9 +34,13 @@ function normalizeIssueManagerNodeState(state) {
29
34
  return {
30
35
  ...defaultIssueManagerNodeState,
31
36
  ...state,
37
+ activeTopicId: normalizeNullableString(state?.activeTopicId),
32
38
  issueSearchQuery: state?.issueSearchQuery?.trim() ?? "",
33
39
  issueStatusFilter: state?.issueStatusFilter ?? "all",
34
40
  selectedAgentProvider: state?.selectedAgentProvider?.trim() || "codex",
41
+ selectedExecutionDirectory: normalizeNullableString(
42
+ state?.selectedExecutionDirectory
43
+ ),
35
44
  selectedIssueId: normalizeNullableString(state?.selectedIssueId),
36
45
  selectedTaskId: normalizeNullableString(state?.selectedTaskId),
37
46
  taskListCollapsed: state?.taskListCollapsed === true
@@ -113,7 +122,11 @@ function resolveIssueManagerExpandedFrame(frame, surfaceWidth) {
113
122
 
114
123
  // src/core/runPrompt.ts
115
124
  function buildIssueManagerRunOutputDir(issueId, taskId, runId) {
116
- return `/workspace/issues/${issueId}/tasks/${taskId}/runs/${runId}`;
125
+ const normalizedTaskId = taskId?.trim();
126
+ if (normalizedTaskId) {
127
+ return `/workspace/issues/${issueId}/tasks/${normalizedTaskId}/runs/${runId}`;
128
+ }
129
+ return `/workspace/issues/${issueId}/runs/${runId}`;
117
130
  }
118
131
  function buildIssueManagerUploadDir(issueId, taskId) {
119
132
  const normalizedTaskId = taskId?.trim();
@@ -143,45 +156,77 @@ function resolveIssueManagerWorkspaceRuntimePath(workspaceRoot, requestedPath) {
143
156
  return normalizedRequestedPath;
144
157
  }
145
158
  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
159
  const workspaceFileRefs = collectIssueManagerWorkspaceReferencePaths(
155
- input.task.content || "",
160
+ input.task?.content || "",
156
161
  input.issue.content || ""
157
162
  ).map(
158
163
  (refPath) => `- [file] ${resolveIssueManagerWorkspaceRuntimePath(input.workspaceRoot, refPath)}`
159
164
  ).join("\n");
160
165
  const taskContent = extractIssueManagerPlainTextFromContent(
161
- input.task.content || ""
166
+ input.task?.content || ""
162
167
  );
163
168
  const issueContent = extractIssueManagerPlainTextFromContent(
164
169
  input.issue.content || ""
165
170
  );
171
+ const taskTitle = input.task?.title.trim() || input.issue.title;
166
172
  return [
167
173
  "\u4F60\u6B63\u5728\u5904\u7406\u4E00\u4E2A\u5DE5\u4F5C\u533A\u4EFB\u52A1\u3002",
168
174
  "",
169
175
  `Issue \u6807\u9898\uFF1A${input.issue.title}`,
170
176
  `Issue \u5185\u5BB9\uFF1A${issueContent || "\uFF08\u65E0\u8865\u5145\u5185\u5BB9\uFF09"}`,
171
- `Task \u6807\u9898\uFF1A${input.task.title}`,
177
+ `Task \u6807\u9898\uFF1A${taskTitle}`,
172
178
  `Task \u5185\u5BB9\uFF1A${taskContent || "\uFF08\u65E0\u8865\u5145\u5185\u5BB9\uFF09"}`,
173
179
  `\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\uFF1A${input.workspaceRoot}`,
174
- `\u4EFB\u52A1\u8F93\u51FA\u76EE\u5F55\uFF1A${outputDir}`,
175
180
  "",
176
181
  "\u5F15\u7528\u8D44\u6599\uFF1A",
177
182
  workspaceFileRefs || "- \uFF08\u65E0\u5F15\u7528\u8D44\u6599\uFF09",
178
183
  "",
179
184
  "\u6267\u884C\u8981\u6C42\uFF1A",
180
185
  `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"
186
+ "2. \u5982\u679C\u5F53\u524D agent context \u63D0\u4F9B\u6267\u884C\u8BB0\u5F55\u6216\u4EA7\u7269\u767B\u8BB0\u6307\u5F15\uFF0C\u6309\u8BE5\u6307\u5F15\u8BB0\u5F55\u672C\u6B21\u6267\u884C\u548C\u6700\u7EC8\u4EA7\u7269\u3002",
187
+ "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"
188
+ ].join("\n");
189
+ }
190
+ function buildIssueManagerTaskBreakdownPrompt(input) {
191
+ const issue = input.issueDetail.issue;
192
+ const issueContent = extractIssueManagerPlainTextFromContent(
193
+ issue.content || ""
194
+ );
195
+ const existingTasks = input.issueDetail.tasks.map((task, index) => {
196
+ const taskContent = extractIssueManagerPlainTextFromContent(
197
+ task.content || ""
198
+ );
199
+ return [
200
+ `${index + 1}. ${task.title}`,
201
+ taskContent ? ` - \u8BF4\u660E\uFF1A${taskContent}` : null,
202
+ ` - \u72B6\u6001\uFF1A${task.status}`,
203
+ ` - \u4F18\u5148\u7EA7\uFF1A${task.priority}`
204
+ ].filter(Boolean).join("\n");
205
+ }).join("\n");
206
+ const contextRefs = input.issueDetail.contextRefs.map(
207
+ (ref) => `- [${ref.parentKind}] ${ref.displayName || ref.path}: ${ref.path}`
208
+ ).join("\n");
209
+ const issueMention = `[@${issue.title}](mention://workspace-issue?workspaceId=${encodeURIComponent(
210
+ input.workspaceId
211
+ )}&id=${encodeURIComponent(issue.issueId)})`;
212
+ return [
213
+ "\u8BF7\u57FA\u4E8E\u4E0B\u9762\u8FD9\u4E2A Issue \u5E2E\u6211\u505A\u4EFB\u52A1\u62C6\u89E3\u3002",
214
+ "",
215
+ `Issue \u5F15\u7528\uFF1A${issueMention}`,
216
+ `Issue \u6807\u9898\uFF1A${issue.title}`,
217
+ `Issue \u5185\u5BB9\uFF1A${issueContent || "\uFF08\u65E0\u8865\u5145\u5185\u5BB9\uFF09"}`,
218
+ "",
219
+ "\u73B0\u6709\u5B50\u4E8B\u9879\uFF1A",
220
+ existingTasks || "- \uFF08\u6682\u65E0\u5B50\u4E8B\u9879\uFF09",
221
+ "",
222
+ "\u5F15\u7528\u8D44\u6599\uFF1A",
223
+ contextRefs || "- \uFF08\u65E0\u5F15\u7528\u8D44\u6599\uFF09",
224
+ "",
225
+ "\u62C6\u89E3\u8981\u6C42\uFF1A",
226
+ "1. \u5148\u7406\u89E3 Issue \u7684\u76EE\u6807\u3001\u7EA6\u675F\u3001\u98CE\u9669\u548C\u9A8C\u6536\u53E3\u5F84\u3002",
227
+ "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",
228
+ "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",
229
+ "4. \u907F\u514D\u76F4\u63A5\u6539\u4EE3\u7801\u6216\u6267\u884C\u4EFB\u52A1\uFF1B\u8FD9\u6B21\u53EA\u505A\u4EFB\u52A1\u62C6\u89E3\u3002"
185
230
  ].join("\n");
186
231
  }
187
232
  function collectIssueManagerWorkspaceReferencePaths(...contents) {
@@ -225,6 +270,7 @@ export {
225
270
  buildIssueManagerRunOutputDir,
226
271
  buildIssueManagerUploadDir,
227
272
  resolveIssueManagerWorkspaceRuntimePath,
228
- buildIssueManagerRunPrompt
273
+ buildIssueManagerRunPrompt,
274
+ buildIssueManagerTaskBreakdownPrompt
229
275
  };
230
- //# sourceMappingURL=chunk-MCVRP7RR.js.map
276
+ //# sourceMappingURL=chunk-SUCZIXKI.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 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 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 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 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. 如果当前 agent context 提供执行记录或产物登记指引,按该指引记录本次执行和最终产物。\",\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":";;;;;AAqDO,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,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;;;AC5GA;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":[]}