@nextop-os/workspace-issue-manager 0.0.28 → 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.
- package/dist/assets/workspace-dock-task.png +0 -0
- package/dist/{chunk-I7SVY3KV.js → chunk-DRWYHOZ2.js} +2 -2
- package/dist/{chunk-MJXXZPDJ.js → chunk-WT6PIL4Q.js} +16 -14
- package/dist/chunk-WT6PIL4Q.js.map +1 -0
- package/dist/{chunk-SUCZIXKI.js → chunk-YN5NYKAA.js} +4 -3
- package/dist/chunk-YN5NYKAA.js.map +1 -0
- package/dist/{chunk-UT34M3FS.js → chunk-YTOMO5IO.js} +498 -253
- package/dist/chunk-YTOMO5IO.js.map +1 -0
- package/dist/contracts/index.d.ts +13 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +2 -2
- package/dist/{feature-Daez355C.d.ts → feature-RwN37-fu.d.ts} +3 -1
- package/dist/i18n/index.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/dist/{issueManagerControllerService.interface-SdcCRGnc.d.ts → issueManagerControllerService.interface-BuGBkqN3.d.ts} +1 -1
- package/dist/services/index.d.ts +3 -3
- package/dist/services/index.js +3 -3
- package/dist/ui/index.d.ts +4 -3
- package/dist/ui/index.js +4 -4
- package/dist/workbench/index.d.ts +2 -2
- package/dist/workbench/index.js +10 -5
- package/dist/workbench/index.js.map +1 -1
- package/package.json +7 -7
- package/dist/chunk-MJXXZPDJ.js.map +0 -1
- package/dist/chunk-SUCZIXKI.js.map +0 -1
- package/dist/chunk-UT34M3FS.js.map +0 -1
- /package/dist/{chunk-I7SVY3KV.js.map → chunk-DRWYHOZ2.js.map} +0 -0
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
normalizeIssueManagerContent,
|
|
3
3
|
normalizeIssueManagerNodeState
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YN5NYKAA.js";
|
|
5
5
|
|
|
6
6
|
// src/services/internal/model.ts
|
|
7
7
|
import { formatNextopShortDateTime } from "@nextop-os/ui-system/date-format";
|
|
@@ -873,4 +873,4 @@ export {
|
|
|
873
873
|
persistIssueManagerTaskDraftContent,
|
|
874
874
|
createIssueManagerControllerService
|
|
875
875
|
};
|
|
876
|
-
//# sourceMappingURL=chunk-
|
|
876
|
+
//# sourceMappingURL=chunk-DRWYHOZ2.js.map
|
|
@@ -127,6 +127,7 @@ var issueManagerEn = {
|
|
|
127
127
|
noIssuesForFilterBody: "Try another filter, or create a new issue to get things started",
|
|
128
128
|
noIssuesForFilterTitle: "No issues match the current filter",
|
|
129
129
|
noIssues: "No issues yet",
|
|
130
|
+
noAgentProviders: "No available agent providers.",
|
|
130
131
|
noOutputs: "No outputs yet",
|
|
131
132
|
noRecentRuns: "No runs yet",
|
|
132
133
|
taskContentEmpty: "No issue description yet",
|
|
@@ -197,7 +198,7 @@ var issueManagerEn = {
|
|
|
197
198
|
completed: "Completed",
|
|
198
199
|
failed: "Failed",
|
|
199
200
|
notStarted: "To run",
|
|
200
|
-
pendingAcceptance: "Pending
|
|
201
|
+
pendingAcceptance: "Pending",
|
|
201
202
|
running: "Running",
|
|
202
203
|
unknown: "Unknown"
|
|
203
204
|
},
|
|
@@ -316,6 +317,7 @@ var issueManagerZhCN = {
|
|
|
316
317
|
noIssuesForFilterBody: "\u8BD5\u8BD5\u5207\u6362\u7B5B\u9009\u6761\u4EF6\uFF0C\u6216\u8005\u65B0\u5EFA\u4E00\u4E2A\u4E8B\u9879",
|
|
317
318
|
noIssuesForFilterTitle: "\u5F53\u524D\u7B5B\u9009\u6761\u4EF6\u4E0B\u6682\u65E0\u4E8B\u9879",
|
|
318
319
|
noIssues: "\u8FD8\u6CA1\u6709\u4E8B\u9879",
|
|
320
|
+
noAgentProviders: "\u6682\u65E0\u53EF\u7528\u7684 Agent Provider\u3002",
|
|
319
321
|
noOutputs: "\u8FD8\u6CA1\u6709\u8F93\u51FA\u4EA7\u7269",
|
|
320
322
|
noRecentRuns: "\u8FD8\u6CA1\u6709\u8FD0\u884C\u8BB0\u5F55",
|
|
321
323
|
taskContentEmpty: "\u8FD9\u4E2A\u4E8B\u9879\u8FD8\u6CA1\u6709\u63CF\u8FF0",
|
|
@@ -354,18 +356,18 @@ var issueManagerZhCN = {
|
|
|
354
356
|
referencePicker: {
|
|
355
357
|
browse: "\u6D4F\u89C8",
|
|
356
358
|
confirm: "\u4F7F\u7528\u5DF2\u9009\u5F15\u7528",
|
|
357
|
-
emptyDirectory: "\u5F53\u524D\u76EE\u5F55\u4E3A\u7A7A
|
|
358
|
-
emptySearch: "\u6CA1\u6709\u5339\u914D\u7684\u6587\u4EF6\u6216\u6587\u4EF6\u5939
|
|
359
|
-
loading: "\u6B63\u5728\u52A0\u8F7D
|
|
360
|
-
previewBinary: "\u8FD9\u4E2A\u6587\u4EF6\u66F4\u50CF\u4E8C\u8FDB\u5236\u5185\u5BB9
|
|
361
|
-
previewDecodeFailed: "\u6682\u65F6\u65E0\u6CD5\u6309 UTF-8 \u6587\u672C\u89E3\u7801\u8FD9\u4E2A\u6587\u4EF6
|
|
362
|
-
previewError: "\u52A0\u8F7D\u9884\u89C8\u5931\u8D25
|
|
363
|
-
previewFileTooLarge: "\u8FD9\u4E2A\u6587\u4EF6\u8D85\u8FC7\u4E86 {{maxSize}}
|
|
364
|
-
previewFolder: "\u6682\u4E0D\u652F\u6301\u9884\u89C8\u6587\u4EF6\u5939
|
|
365
|
-
previewLoading: "\u6B63\u5728\u52A0\u8F7D\u9884\u89C8
|
|
366
|
-
previewTextTooLarge: "\u8FD9\u4E2A\u6587\u672C\u6587\u4EF6\u8D85\u8FC7\u4E86 {{maxSize}}
|
|
367
|
-
previewUnavailable: "\u5F53\u524D\u5DE5\u4F5C\u533A\u65E0\u6CD5\u9884\u89C8\u6587\u4EF6
|
|
368
|
-
previewUnsupported: "\u6682\u4E0D\u652F\u6301\u9884\u89C8\u8FD9\u79CD\u6587\u4EF6\u7C7B\u578B
|
|
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",
|
|
369
371
|
searchPlaceholder: "\u641C\u7D22\u6587\u4EF6\u548C\u6587\u4EF6\u5939",
|
|
370
372
|
selectedCount: "\u5DF2\u9009\u62E9 {{count}} \u9879",
|
|
371
373
|
title: "\u9009\u62E9\u5DE5\u4F5C\u533A\u5F15\u7528"
|
|
@@ -420,4 +422,4 @@ export {
|
|
|
420
422
|
issueManagerI18nResources,
|
|
421
423
|
createIssueManagerI18nRuntime
|
|
422
424
|
};
|
|
423
|
-
//# sourceMappingURL=chunk-
|
|
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,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createIssueManagerI18nRuntime
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WT6PIL4Q.js";
|
|
4
4
|
|
|
5
5
|
// src/core/feature.ts
|
|
6
6
|
var defaultIssueManagerNodeState = {
|
|
@@ -16,6 +16,7 @@ var defaultIssueManagerNodeState = {
|
|
|
16
16
|
function createIssueManagerFeature(input) {
|
|
17
17
|
return {
|
|
18
18
|
agentBreakdownLauncher: input.agentBreakdownLauncher,
|
|
19
|
+
agentProviderOptions: input.agentProviderOptions,
|
|
19
20
|
agentRunner: input.agentRunner,
|
|
20
21
|
backend: input.backend,
|
|
21
22
|
eventSource: input.eventSource,
|
|
@@ -183,7 +184,7 @@ function buildIssueManagerRunPrompt(input) {
|
|
|
183
184
|
"",
|
|
184
185
|
"\u6267\u884C\u8981\u6C42\uFF1A",
|
|
185
186
|
`1. \u5728 ${input.workspaceRoot} \u4E0B\u5DE5\u4F5C\uFF0C\u4E0D\u8981\u5207\u6362\u5230\u5176\u4ED6\u65E0\u5173\u76EE\u5F55\u3002`,
|
|
186
|
-
"2.
|
|
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",
|
|
187
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"
|
|
188
189
|
].join("\n");
|
|
189
190
|
}
|
|
@@ -273,4 +274,4 @@ export {
|
|
|
273
274
|
buildIssueManagerRunPrompt,
|
|
274
275
|
buildIssueManagerTaskBreakdownPrompt
|
|
275
276
|
};
|
|
276
|
-
//# sourceMappingURL=chunk-
|
|
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":"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","names":[]}
|