@tutti-os/workspace-issue-manager 0.0.1 → 0.0.3
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/{chunk-DLB2WIV6.js → chunk-CHQTHPRL.js} +65 -73
- package/dist/chunk-CHQTHPRL.js.map +1 -0
- package/dist/{chunk-4B2P64PY.js → chunk-FZXBXPXT.js} +2 -2
- package/dist/{chunk-JDYJIVGG.js → chunk-LZL5SEKE.js} +1 -9
- package/dist/chunk-LZL5SEKE.js.map +1 -0
- package/dist/{chunk-WJSZFKUD.js → chunk-QRRPA7TH.js} +7 -3
- package/dist/chunk-QRRPA7TH.js.map +1 -0
- package/dist/core/index.d.ts +2 -1
- package/dist/core/index.js +2 -2
- package/dist/{feature-D16xMEZU.d.ts → feature-D1XjdnWx.d.ts} +2 -0
- package/dist/i18n/index.js +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -3
- package/dist/{issueManagerControllerService.interface-D8Z1B9k4.d.ts → issueManagerControllerService.interface-DsqD_RrN.d.ts} +1 -1
- package/dist/services/index.d.ts +4 -3
- package/dist/services/index.js +3 -3
- package/dist/ui/index.d.ts +3 -2
- package/dist/ui/index.js +4 -4
- package/dist/workbench/index.d.ts +3 -2
- package/dist/workbench/index.js +4 -4
- package/package.json +11 -10
- package/dist/chunk-DLB2WIV6.js.map +0 -1
- package/dist/chunk-JDYJIVGG.js.map +0 -1
- package/dist/chunk-WJSZFKUD.js.map +0 -1
- /package/dist/{chunk-4B2P64PY.js.map → chunk-FZXBXPXT.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
normalizeIssueManagerContent,
|
|
3
3
|
normalizeIssueManagerNodeState
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRRPA7TH.js";
|
|
5
5
|
|
|
6
6
|
// src/services/internal/model.ts
|
|
7
7
|
import { formatNextopShortDateTime } from "@tutti-os/ui-system/date-format";
|
|
@@ -935,4 +935,4 @@ export {
|
|
|
935
935
|
persistIssueManagerTaskDraftContent,
|
|
936
936
|
createIssueManagerControllerService
|
|
937
937
|
};
|
|
938
|
-
//# sourceMappingURL=chunk-
|
|
938
|
+
//# sourceMappingURL=chunk-FZXBXPXT.js.map
|
|
@@ -39,7 +39,6 @@ var issueManagerEn = {
|
|
|
39
39
|
expandIssueList: "Expand issue list",
|
|
40
40
|
inviteCollaborator: "Invite collaborator",
|
|
41
41
|
insertReferences: "Insert references",
|
|
42
|
-
linkExistingExecutionDirectory: "Use existing project",
|
|
43
42
|
moreActions: "More actions",
|
|
44
43
|
openAgentSession: "Open agent session",
|
|
45
44
|
openReference: "Open",
|
|
@@ -51,7 +50,6 @@ var issueManagerEn = {
|
|
|
51
50
|
saveIssue: "Save issue",
|
|
52
51
|
saveSubtask: "Save sub-issue",
|
|
53
52
|
saveTask: "Save issue",
|
|
54
|
-
selectExecutionDirectory: "Select execution directory",
|
|
55
53
|
pinTopic: "Pin",
|
|
56
54
|
saveTopic: "Save topic",
|
|
57
55
|
unpinTopic: "Unpin",
|
|
@@ -86,8 +84,6 @@ var issueManagerEn = {
|
|
|
86
84
|
issueDetails: "Issue details",
|
|
87
85
|
issueList: "Issues",
|
|
88
86
|
latestRunStatus: "Latest execution status",
|
|
89
|
-
loadingExecutionDirectories: "Loading directories...",
|
|
90
|
-
noProject: "No project",
|
|
91
87
|
outputs: "Outputs",
|
|
92
88
|
priority: "Priority",
|
|
93
89
|
provider: "Provider",
|
|
@@ -239,7 +235,6 @@ var issueManagerZhCN = {
|
|
|
239
235
|
expandIssueList: "\u5C55\u5F00\u4E8B\u9879\u5217\u8868",
|
|
240
236
|
inviteCollaborator: "\u9080\u8BF7\u534F\u4F5C\u8005",
|
|
241
237
|
insertReferences: "\u63D2\u5165\u5F15\u7528",
|
|
242
|
-
linkExistingExecutionDirectory: "\u4F7F\u7528\u5DF2\u6709\u9879\u76EE",
|
|
243
238
|
moreActions: "\u66F4\u591A\u64CD\u4F5C",
|
|
244
239
|
openAgentSession: "\u6253\u5F00 Agent \u4F1A\u8BDD",
|
|
245
240
|
openReference: "\u6253\u5F00",
|
|
@@ -251,7 +246,6 @@ var issueManagerZhCN = {
|
|
|
251
246
|
saveIssue: "\u4FDD\u5B58\u4E8B\u9879",
|
|
252
247
|
saveSubtask: "\u4FDD\u5B58\u5B50\u4E8B\u9879",
|
|
253
248
|
saveTask: "\u4FDD\u5B58\u4E8B\u9879",
|
|
254
|
-
selectExecutionDirectory: "\u9009\u62E9\u6267\u884C\u76EE\u5F55",
|
|
255
249
|
pinTopic: "\u7F6E\u9876",
|
|
256
250
|
saveTopic: "\u4FDD\u5B58\u4E3B\u9898",
|
|
257
251
|
unpinTopic: "\u53D6\u6D88\u7F6E\u9876",
|
|
@@ -286,8 +280,6 @@ var issueManagerZhCN = {
|
|
|
286
280
|
issueDetails: "\u4E8B\u9879\u8BE6\u60C5",
|
|
287
281
|
issueList: "\u4E8B\u9879",
|
|
288
282
|
latestRunStatus: "\u6700\u65B0\u6267\u884C\u72B6\u6001",
|
|
289
|
-
loadingExecutionDirectories: "\u6B63\u5728\u52A0\u8F7D\u76EE\u5F55...",
|
|
290
|
-
noProject: "\u4E0D\u4F7F\u7528\u9879\u76EE",
|
|
291
283
|
outputs: "\u8F93\u51FA\u4EA7\u7269",
|
|
292
284
|
priority: "\u4F18\u5148\u7EA7",
|
|
293
285
|
provider: "Provider",
|
|
@@ -442,4 +434,4 @@ export {
|
|
|
442
434
|
issueManagerI18nResources,
|
|
443
435
|
createIssueManagerI18nRuntime
|
|
444
436
|
};
|
|
445
|
-
//# sourceMappingURL=chunk-
|
|
437
|
+
//# sourceMappingURL=chunk-LZL5SEKE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/i18n/issueManagerI18n.ts"],"sourcesContent":["import {\n createI18nRuntime,\n createScopedI18nRuntime,\n createScopedLocaleObjectsI18nModuleManifest,\n type I18nDictionary,\n type I18nRuntime\n} from \"@tutti-os/ui-i18n-runtime\";\n\ntype IssueManagerI18nLocale = \"en\" | \"zh-CN\";\n\nexport const issueManagerI18nNamespace = \"issueManager\";\nexport const issueManagerI18nModule =\n createScopedLocaleObjectsI18nModuleManifest({\n localeObjectByLocale: {\n en: \"issueManagerEn\",\n \"zh-CN\": \"issueManagerZhCN\"\n },\n name: \"workspace-issue-manager\",\n namespace: issueManagerI18nNamespace,\n sourceRoot: \"packages/workspace/issue-manager/src\"\n });\n\nconst issueManagerEn = {\n actions: {\n add: \"Add\",\n addReferences: \"Add references\",\n addSubtask: \"Add sub-issue\",\n acceptTask: \"Accept\",\n askAgentToBreakdown: \"Break down\",\n askAgentToRun: \"Run with agent\",\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 moreActions: \"More actions\",\n openAgentSession: \"Open agent session\",\n openReference: \"Open\",\n refresh: \"Refresh\",\n referenceWorkspaceFiles: \"Reference files\",\n rejectTask: \"Reject\",\n removeReference: \"Remove\",\n runTask: \"Run issue\",\n saveIssue: \"Save issue\",\n saveSubtask: \"Save sub-issue\",\n saveTask: \"Save issue\",\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 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 taskAcceptance: \"Sub-issue pending acceptance\",\n topic: \"Topic\",\n topicDefault: \"Default\",\n topicSummary: \"Topic summary\",\n topicTitle: \"Topic title\",\n editTopicDialogTitle: \"Edit topic\",\n title: \"Title\",\n updatedAt: \"Updated\",\n taskCount: \"{{count}} sub-issues\",\n taskDetails: \"Issue details\",\n taskList: \"Issues\",\n temporaryExecutionDirectory: \"Temporary directory\"\n },\n messages: {\n clipboardUnavailable: \"Clipboard is unavailable.\",\n agentSessionOpenFailed: \"Couldn't open the agent session.\",\n breakdownOpenFailed: \"Couldn't open the agent task breakdown.\",\n breakdownUnavailable: \"Agent task breakdown is unavailable.\",\n copyShareLinkFailed: \"Couldn't copy the share link.\",\n copiedShareLink: \"Share link copied.\",\n issueDeleteFailed: \"Couldn't delete the issue.\",\n issueRefreshFailed: \"Couldn't refresh issues.\",\n issueSaveFailed: \"Couldn't save the issue.\",\n issueDeleted: \"Issue deleted.\",\n issueSaved: \"Issue saved.\",\n issueContentEmpty: \"No issue description yet\",\n noExecutionOutputs: \"No execution outputs yet\",\n noExecutionStatus: \"No execution records yet\",\n noIssueReferences: \"No issue references yet\",\n noIssuesForFilterBody:\n \"Try another filter, or create a new issue to get things started\",\n noIssuesForFilterTitle: \"No issues match the current filter\",\n noIssues: \"No issues yet\",\n noAgentProviders: \"No available agent providers.\",\n noOutputs: \"No outputs yet\",\n noRecentRuns: \"No runs yet\",\n taskContentEmpty: \"No issue description yet\",\n taskAcceptanceHint: \"Accept to complete; reject to return to To run.\",\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 runPrompts: {\n breakdownIntro: \"Break this issue reference down into executable tasks.\",\n executeIntro: \"Handle this issue reference.\"\n },\n status: {\n canceled: \"Canceled\",\n completed: \"Completed\",\n failed: \"Failed\",\n inProgress: \"Progress started\",\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 acceptTask: \"验证通过\",\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 moreActions: \"更多操作\",\n openAgentSession: \"打开 Agent 会话\",\n openReference: \"打开\",\n refresh: \"刷新\",\n referenceWorkspaceFiles: \"引用文件\",\n rejectTask: \"驳回\",\n removeReference: \"移除\",\n runTask: \"运行事项\",\n saveIssue: \"保存事项\",\n saveSubtask: \"保存子事项\",\n saveTask: \"保存事项\",\n pinTopic: \"置顶\",\n saveTopic: \"保存主题\",\n unpinTopic: \"取消置顶\",\n uploadFiles: \"上传文件\",\n uploadFolder: \"上传文件夹\"\n },\n composer: {\n issueContentPlaceholder: \"补充这个事项的背景、目标或上下文\",\n issueTitlePlaceholder: \"事项标题\",\n subtaskContentPlaceholder: \"补充子事项目标、执行方式和验收标准\",\n subtaskTitlePlaceholder: \"请输入子事项标题\",\n taskContentPlaceholder: \"描述这个事项的执行要求和预期结果。\",\n taskTitlePlaceholder: \"事项标题\"\n },\n confirmations: {\n deleteIssue: \"确定删除这个事项吗?\",\n deleteTask: \"确定删除这个事项吗?\",\n deleteTopic: \"确定删除这个主题吗?\"\n },\n dockLabel: \"事项\",\n emptyState: \"新建事项,补充需求描述和相关文件,即可让 Agent 执行\",\n labels: {\n allStatus: \"全部\",\n content: \"内容\",\n contextReferences: \"上下文引用\",\n createTopicDialogTitle: \"新建主题\",\n createdAt: \"创建时间\",\n creator: \"创建者\",\n customExecutionDirectory: \"自定义目录\",\n description: \"描述\",\n executionOutputs: \"执行产物\",\n issueDetails: \"事项详情\",\n issueList: \"事项\",\n latestRunStatus: \"最新执行状态\",\n outputs: \"输出产物\",\n priority: \"优先级\",\n provider: \"Provider\",\n recentRuns: \"最近运行\",\n requirementDescription: \"需求描述\",\n resizeIssueList: \"调整事项列表宽度\",\n searchIssues: \"搜索事项\",\n scrollStatusTabsLeft: \"向左滚动状态标签\",\n scrollStatusTabsRight: \"向右滚动状态标签\",\n status: \"状态\",\n subtasks: \"子事项\",\n taskAcceptance: \"子任务待验收\",\n topic: \"主题\",\n topicDefault: \"默认\",\n topicSummary: \"主题概要\",\n topicTitle: \"主题标题\",\n editTopicDialogTitle: \"编辑主题\",\n title: \"标题\",\n updatedAt: \"更新时间\",\n taskCount: \"{{count}} 个子事项\",\n taskDetails: \"事项详情\",\n taskList: \"事项\",\n temporaryExecutionDirectory: \"临时目录\"\n },\n messages: {\n clipboardUnavailable: \"当前环境无法访问剪贴板。\",\n agentSessionOpenFailed: \"打开 Agent 会话失败。\",\n breakdownOpenFailed: \"打开 Agent 任务拆解失败。\",\n breakdownUnavailable: \"当前环境暂不支持 Agent 任务拆解。\",\n copyShareLinkFailed: \"复制分享链接失败。\",\n copiedShareLink: \"已复制分享链接。\",\n issueDeleteFailed: \"删除事项失败。\",\n issueRefreshFailed: \"刷新事项列表失败。\",\n issueSaveFailed: \"保存事项失败。\",\n issueDeleted: \"事项已删除。\",\n issueSaved: \"事项已保存。\",\n issueContentEmpty: \"这个事项还没有描述\",\n noExecutionOutputs: \"暂无执行产物\",\n noExecutionStatus: \"暂无执行记录\",\n noIssueReferences: \"这个事项还没有引用\",\n noIssuesForFilterBody: \"试试切换筛选条件,或者新建一个事项\",\n noIssuesForFilterTitle: \"当前筛选条件下暂无事项\",\n noIssues: \"还没有事项\",\n noAgentProviders: \"暂无可用的 Agent Provider。\",\n noOutputs: \"还没有输出产物\",\n noRecentRuns: \"还没有运行记录\",\n taskContentEmpty: \"这个事项还没有描述\",\n taskAcceptanceHint: \"验证后完成,驳回后回到待启动。\",\n noTaskReferences: \"这个事项还没有引用\",\n noTasksForIssueBody:\n \"为这个事项创建第一个子事项,然后交给 Agent 或你自己执行\",\n noSubtasksForIssue: \"你可以围绕当前事项继续添加子事项\",\n noTasks: \"还没有事项\",\n refreshingIssues: \"正在刷新事项列表...\",\n titleRequired: \"请先填写标题后再保存。\",\n runExitCode: \"Codex 以退出码 {{code}} 结束。\",\n runCompleted: \"运行已完成。\",\n runFailed: \"运行失败\",\n runStarted: \"运行已开始。\",\n runStatusMissing: \"终端在写入运行状态前就退出了。\",\n runTimedOut: \"等待 Codex 输出超时。\",\n referenceRemoveFailed: \"移除引用失败。\",\n taskDeleteFailed: \"删除事项失败。\",\n taskSaveFailed: \"保存事项失败。\",\n taskDeleted: \"事项已删除。\",\n taskSaved: \"事项已保存。\",\n topicCreateFailed: \"新建主题失败。\",\n topicDeleteDefaultForbidden: \"默认主题不能删除。\",\n topicDeleteFailed: \"删除主题失败。\",\n topicDeleteNotEmpty: \"这个主题下还有事项,不能删除。\",\n topicDeleteNotFound: \"这个主题已不存在。\",\n topicListEmpty: \"没有可用的主题。\",\n topicUpdateFailed: \"更新主题失败。\",\n uploadTypeConflict: \"上传目标中存在类型冲突的同名条目。\",\n workspacePathUnavailable: \"当前工作区路径不可用。\"\n },\n priority: {\n high: \"高\",\n low: \"低\",\n medium: \"中\"\n },\n referencePicker: {\n browse: \"浏览\",\n 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 runPrompts: {\n breakdownIntro: \"请基于这个 Issue 引用做任务拆解。\",\n executeIntro: \"请处理这个 Issue 引用。\"\n },\n status: {\n canceled: \"已取消\",\n completed: \"已完成\",\n failed: \"失败\",\n inProgress: \"已推进\",\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,8 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createIssueManagerI18nRuntime
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LZL5SEKE.js";
|
|
4
4
|
|
|
5
5
|
// src/core/feature.ts
|
|
6
|
+
import {
|
|
7
|
+
createWorkspaceUserProjectI18nRuntime
|
|
8
|
+
} from "@tutti-os/workspace-user-project/i18n";
|
|
6
9
|
var defaultIssueManagerNodeState = {
|
|
7
10
|
activeTopicId: null,
|
|
8
11
|
issueSearchQuery: "",
|
|
@@ -30,7 +33,8 @@ function createIssueManagerFeature(input) {
|
|
|
30
33
|
shareAdapter: input.shareAdapter,
|
|
31
34
|
ui: {
|
|
32
35
|
showInviteCollaborator: input.ui?.showInviteCollaborator ?? true
|
|
33
|
-
}
|
|
36
|
+
},
|
|
37
|
+
workspaceUserProjectI18n: createWorkspaceUserProjectI18nRuntime(input.i18n)
|
|
34
38
|
};
|
|
35
39
|
}
|
|
36
40
|
function normalizeIssueManagerNodeState(state) {
|
|
@@ -289,4 +293,4 @@ export {
|
|
|
289
293
|
buildIssueManagerRunPrompt,
|
|
290
294
|
buildIssueManagerTaskBreakdownPrompt
|
|
291
295
|
};
|
|
292
|
-
//# sourceMappingURL=chunk-
|
|
296
|
+
//# sourceMappingURL=chunk-QRRPA7TH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/feature.ts","../src/core/content.ts","../src/core/layout.ts","../src/core/workspaceIssueMention.ts","../src/core/runPrompt.ts"],"sourcesContent":["import type { I18nRuntime } from \"@tutti-os/ui-i18n-runtime\";\nimport {\n createWorkspaceUserProjectI18nRuntime,\n type WorkspaceUserProjectI18nRuntime\n} from \"@tutti-os/workspace-user-project/i18n\";\nimport {\n createIssueManagerI18nRuntime,\n type IssueManagerI18nRuntime\n} from \"../i18n/issueManagerI18n.ts\";\nimport type {\n IssueManagerAgentBreakdownLauncher,\n IssueManagerAgentProviderOptionsAdapter,\n IssueManagerAnalyticsAdapter,\n IssueManagerExecutionDirectoryPicker,\n IssueManagerAgentSessionOpener,\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 analytics?: IssueManagerAnalyticsAdapter;\n agentProviderOptions?: IssueManagerAgentProviderOptionsAdapter;\n agentSessionOpener?: IssueManagerAgentSessionOpener;\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 workspaceUserProjectI18n: WorkspaceUserProjectI18nRuntime;\n}\n\nexport interface CreateIssueManagerFeatureInput {\n agentBreakdownLauncher?: IssueManagerAgentBreakdownLauncher;\n analytics?: IssueManagerAnalyticsAdapter;\n agentProviderOptions?: IssueManagerAgentProviderOptionsAdapter;\n agentSessionOpener?: IssueManagerAgentSessionOpener;\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 analytics: input.analytics,\n agentProviderOptions: input.agentProviderOptions,\n agentSessionOpener: input.agentSessionOpener,\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 workspaceUserProjectI18n: createWorkspaceUserProjectI18nRuntime(input.i18n)\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 \"@tutti-os/ui-rich-text/core\";\nimport type {\n RichTextLinkInput,\n RichTextLinkRef\n} from \"@tutti-os/ui-rich-text/core\";\nimport type { RichTextMentionAttrs } from \"@tutti-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 = 280;\nexport const issueManagerSidebarMinWidth = 248;\nexport const issueManagerSidebarMaxWidth = 520;\nexport const issueManagerMainMinWidth = 420;\nexport const issueManagerDefaultNodeFrameWidth = 860;\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","export type WorkspaceIssueMentionMode = \"breakdown\" | \"execute\";\n\nexport interface BuildWorkspaceIssueMentionHrefInput {\n issueId: string;\n mode?: WorkspaceIssueMentionMode;\n outputDir?: string | null;\n runId?: string | null;\n taskId?: string | null;\n topicId?: string | null;\n workspaceId: string;\n}\n\nexport interface ParsedWorkspaceIssueMention {\n issueId: string;\n mode?: WorkspaceIssueMentionMode;\n outputDir?: string;\n runId?: string;\n taskId?: string;\n topicId?: string;\n workspaceId: string;\n}\n\nexport function buildWorkspaceIssueMentionHref(\n input: BuildWorkspaceIssueMentionHrefInput\n): string {\n const workspaceId = input.workspaceId.trim();\n const issueId = input.issueId.trim();\n if (!workspaceId || !issueId) {\n return \"\";\n }\n\n const params = new URLSearchParams({\n workspaceId,\n id: issueId\n });\n appendWorkspaceIssueMentionParam(\n params,\n \"mode\",\n normalizeMentionMode(input.mode)\n );\n appendWorkspaceIssueMentionParam(params, \"topicId\", input.topicId);\n appendWorkspaceIssueMentionParam(params, \"taskId\", input.taskId);\n appendWorkspaceIssueMentionParam(params, \"runId\", input.runId);\n appendWorkspaceIssueMentionParam(params, \"outputDir\", input.outputDir);\n return `mention://workspace-issue?${params.toString()}`;\n}\n\nexport function parseWorkspaceIssueMentionHref(\n href: string\n): ParsedWorkspaceIssueMention | null {\n const trimmedHref = href.trim();\n if (!trimmedHref.toLowerCase().startsWith(\"mention://workspace-issue\")) {\n return null;\n }\n\n let url: URL;\n try {\n url = new URL(trimmedHref);\n } catch {\n return null;\n }\n if (url.protocol !== \"mention:\" || url.hostname !== \"workspace-issue\") {\n return null;\n }\n\n const workspaceId = url.searchParams.get(\"workspaceId\")?.trim() || \"\";\n const issueId = url.searchParams.get(\"id\")?.trim() || \"\";\n if (!workspaceId || !issueId) {\n return null;\n }\n\n const mode = normalizeMentionMode(url.searchParams.get(\"mode\"));\n const topicId = optionalSearchParam(url.searchParams, \"topicId\");\n const taskId = optionalSearchParam(url.searchParams, \"taskId\");\n const runId = optionalSearchParam(url.searchParams, \"runId\");\n const outputDir = optionalSearchParam(url.searchParams, \"outputDir\");\n\n return {\n issueId,\n ...(mode ? { mode } : {}),\n ...(outputDir ? { outputDir } : {}),\n ...(runId ? { runId } : {}),\n ...(taskId ? { taskId } : {}),\n ...(topicId ? { topicId } : {}),\n workspaceId\n };\n}\n\nfunction appendWorkspaceIssueMentionParam(\n params: URLSearchParams,\n key: string,\n value: string | null | undefined\n): void {\n const normalized = value?.trim() || \"\";\n if (normalized) {\n params.set(key, normalized);\n }\n}\n\nfunction optionalSearchParam(\n params: URLSearchParams,\n key: string\n): string | undefined {\n const value = params.get(key)?.trim() || \"\";\n return value || undefined;\n}\n\nfunction normalizeMentionMode(\n value: string | null | undefined\n): WorkspaceIssueMentionMode | undefined {\n return value === \"breakdown\" || value === \"execute\" ? value : undefined;\n}\n","import type {\n IssueManagerContextRef,\n IssueManagerIssueSummary,\n IssueManagerTaskSummary\n} from \"../contracts/index.ts\";\nimport type { IssueManagerI18nRuntime } from \"../i18n/issueManagerI18n.ts\";\nimport { buildWorkspaceIssueMentionHref } from \"./workspaceIssueMention.ts\";\n\ntype IssueManagerPromptCopy = Pick<IssueManagerI18nRuntime, \"t\">;\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 copy?: IssueManagerPromptCopy;\n issue: IssueManagerIssueSummary;\n task?: IssueManagerTaskSummary;\n workspaceRoot: string;\n}): string {\n const mentionMarkdown = buildIssueManagerIssueMention({\n issue: input.issue,\n task: input.task,\n mode: \"execute\"\n });\n return [\n input.copy?.t(\"runPrompts.executeIntro\") ?? \"Handle this issue reference.\",\n \"\",\n mentionMarkdown\n ].join(\"\\n\");\n}\n\nexport function buildIssueManagerTaskBreakdownPrompt(input: {\n copy?: IssueManagerPromptCopy;\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 issueMention = buildIssueManagerIssueMention({\n issue,\n mode: \"breakdown\"\n });\n\n return [\n input.copy?.t(\"runPrompts.breakdownIntro\") ??\n \"Break this issue reference down into executable tasks.\",\n \"\",\n issueMention\n ].join(\"\\n\");\n}\n\nfunction buildIssueManagerIssueMention(input: {\n issue: IssueManagerIssueSummary;\n task?: IssueManagerTaskSummary;\n mode: \"breakdown\" | \"execute\";\n outputDir?: string | null;\n runId?: string | null;\n}): string {\n const labelParts = [input.issue.title.trim(), input.task?.title.trim() || \"\"]\n .filter(Boolean)\n .map((value) =>\n escapeIssueManagerMentionLabel(value.replace(/^@+/, \"\").trim())\n );\n const href = buildWorkspaceIssueMentionHref({\n issueId: input.issue.issueId,\n mode: input.mode,\n outputDir: input.outputDir,\n runId: input.runId,\n taskId: input.task?.taskId,\n topicId: input.issue.topicId,\n workspaceId: input.issue.workspaceId\n });\n return `[@${labelParts.join(\" / \")}](${href})`;\n}\n\nfunction escapeIssueManagerMentionLabel(value: string): string {\n return value\n .replaceAll(\"\\\\\", \"\\\\\\\\\")\n .replaceAll(\"[\", \"\\\\[\")\n .replaceAll(\"]\", \"\\\\]\")\n .replaceAll(\"\\r\", \" \")\n .replaceAll(\"\\n\", \" \");\n}\n"],"mappings":"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","names":[]}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export { C as CreateIssueManagerFeatureInput, I as IssueManagerFeature, a as IssueManagerNotificationSink, c as createIssueManagerFeature, d as defaultIssueManagerNodeState, n as normalizeIssueManagerNodeState } from '../feature-
|
|
1
|
+
export { C as CreateIssueManagerFeatureInput, I as IssueManagerFeature, a as IssueManagerNotificationSink, c as createIssueManagerFeature, d as defaultIssueManagerNodeState, n as normalizeIssueManagerNodeState } from '../feature-D1XjdnWx.js';
|
|
2
2
|
import { RichTextLinkInput, RichTextLinkRef, appendRichTextLinksToContent, createRichTextMentionHref, createRichTextMentionMarkdown, createRichTextLinkMarkdown, extractRichTextMentionsFromContent, extractPlainTextFromContent, extractPlainTextWithoutFilesFromContent, extractRichTextLinksFromContent, normalizeRichTextContent, normalizeRichTextLinkHref, parseRichTextMentionHref, removeRichTextMentionFromContent, removeRichTextLinkFromContent } from '@tutti-os/ui-rich-text/core';
|
|
3
3
|
import { RichTextMentionAttrs } from '@tutti-os/ui-rich-text/types';
|
|
4
4
|
import { IssueManagerIssueSummary, IssueManagerTaskSummary, IssueManagerContextRef } from '../contracts/index.js';
|
|
5
5
|
import { IssueManagerI18nRuntime } from '../i18n/index.js';
|
|
6
6
|
import '@tutti-os/ui-i18n-runtime';
|
|
7
|
+
import '@tutti-os/workspace-user-project/i18n';
|
|
7
8
|
import '@tutti-os/workspace-file-reference/contracts';
|
|
8
9
|
import '@tutti-os/workspace-user-project/contracts';
|
|
9
10
|
|
package/dist/core/index.js
CHANGED
|
@@ -29,8 +29,8 @@ import {
|
|
|
29
29
|
resolveIssueManagerExpandedFrame,
|
|
30
30
|
resolveIssueManagerWorkspaceRuntimePath,
|
|
31
31
|
shouldAutoCollapseIssueManagerSidebar
|
|
32
|
-
} from "../chunk-
|
|
33
|
-
import "../chunk-
|
|
32
|
+
} from "../chunk-QRRPA7TH.js";
|
|
33
|
+
import "../chunk-LZL5SEKE.js";
|
|
34
34
|
export {
|
|
35
35
|
appendIssueManagerWorkspaceFileLinksToContent,
|
|
36
36
|
buildIssueManagerRunPrompt,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
|
|
2
|
+
import { WorkspaceUserProjectI18nRuntime } from '@tutti-os/workspace-user-project/i18n';
|
|
2
3
|
import { IssueManagerI18nRuntime } from './i18n/index.js';
|
|
3
4
|
import { IssueManagerAgentBreakdownLauncher, IssueManagerAnalyticsAdapter, IssueManagerAgentProviderOptionsAdapter, IssueManagerAgentSessionOpener, IssueManagerAgentRunner, IssueManagerBackend, IssueManagerEventSource, IssueManagerExecutionDirectoryPicker, IssueManagerFileAdapter, IssueManagerIdentityAdapter, IssueManagerShareAdapter, IssueManagerNodeState } from './contracts/index.js';
|
|
4
5
|
|
|
@@ -23,6 +24,7 @@ interface IssueManagerFeature {
|
|
|
23
24
|
notifications?: IssueManagerNotificationSink;
|
|
24
25
|
shareAdapter?: IssueManagerShareAdapter;
|
|
25
26
|
ui: IssueManagerFeatureUIConfig;
|
|
27
|
+
workspaceUserProjectI18n: WorkspaceUserProjectI18nRuntime;
|
|
26
28
|
}
|
|
27
29
|
interface CreateIssueManagerFeatureInput {
|
|
28
30
|
agentBreakdownLauncher?: IssueManagerAgentBreakdownLauncher;
|
package/dist/i18n/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export { C as CreateIssueManagerFeatureInput, I as IssueManagerFeature, a as IssueManagerNotificationSink, c as createIssueManagerFeature, d as defaultIssueManagerNodeState, n as normalizeIssueManagerNodeState } from './feature-
|
|
1
|
+
export { C as CreateIssueManagerFeatureInput, I as IssueManagerFeature, a as IssueManagerNotificationSink, c as createIssueManagerFeature, d as defaultIssueManagerNodeState, n as normalizeIssueManagerNodeState } from './feature-D1XjdnWx.js';
|
|
2
2
|
export { BuildWorkspaceIssueMentionHrefInput, IssueManagerMentionAttrs, IssueManagerMentionRef, IssueManagerWorkspaceFileLinkInput, IssueManagerWorkspaceFileLinkRef, ParsedWorkspaceIssueMention, WorkspaceIssueMentionMode, appendIssueManagerWorkspaceFileLinksToContent, buildIssueManagerRunPrompt, buildIssueManagerTaskBreakdownPrompt, buildWorkspaceIssueMentionHref, clampIssueManagerSidebarWidth, createIssueManagerMentionHref, createIssueManagerMentionMarkdown, createIssueManagerWorkspaceFileLinkMarkdown, extractIssueManagerMentionsFromContent, extractIssueManagerPlainTextFromContent, extractIssueManagerPlainTextWithoutFilesFromContent, extractIssueManagerWorkspaceFileLinksFromContent, issueManagerDefaultNodeFrameWidth, issueManagerExpandedFrameMinWidth, issueManagerMainMinWidth, issueManagerSidebarDefaultWidth, issueManagerSidebarMaxWidth, issueManagerSidebarMinWidth, normalizeIssueManagerContent, normalizeIssueManagerWorkspaceFileLinkHref, parseIssueManagerMentionHref, parseWorkspaceIssueMentionHref, removeIssueManagerMentionFromContent, removeIssueManagerWorkspaceFileLinkFromContent, resolveIssueManagerExpandedFrame, resolveIssueManagerWorkspaceRuntimePath, shouldAutoCollapseIssueManagerSidebar } from './core/index.js';
|
|
3
3
|
export { IssueManagerI18nKey, IssueManagerI18nRuntime, createIssueManagerI18nRuntime, issueManagerI18nModule, issueManagerI18nNamespace, issueManagerI18nResources } from './i18n/index.js';
|
|
4
|
-
export { A as AsyncCollectionState, C as CreateIssueManagerControllerRuntimeInput, C as CreateIssueManagerControllerSessionInput, I as IssueDraft, a as IssueManagerControllerRuntime, b as IssueManagerControllerService, a as IssueManagerControllerSession, S as IssueManagerControllerSessionSyncInput, c as IssueManagerControllerSnapshot, d as IssueManagerDetailCollections, e as IssueManagerEditorMode, f as IssueManagerNotificationState, g as IssueManagerNotificationTone, h as IssueManagerReferenceTarget, S as SyncIssueManagerControllerRuntimeInput, T as TaskDraft, i as createIssueManagerDate, j as formatIssueManagerDate, k as formatIssueManagerTimestamp, p as parentDirectoryPath, r as resolveIssueManagerPriorityLabel, l as resolveIssueManagerStatusLabel, u as uniqueIssueManagerFileReferences } from './issueManagerControllerService.interface-
|
|
4
|
+
export { A as AsyncCollectionState, C as CreateIssueManagerControllerRuntimeInput, C as CreateIssueManagerControllerSessionInput, I as IssueDraft, a as IssueManagerControllerRuntime, b as IssueManagerControllerService, a as IssueManagerControllerSession, S as IssueManagerControllerSessionSyncInput, c as IssueManagerControllerSnapshot, d as IssueManagerDetailCollections, e as IssueManagerEditorMode, f as IssueManagerNotificationState, g as IssueManagerNotificationTone, h as IssueManagerReferenceTarget, S as SyncIssueManagerControllerRuntimeInput, T as TaskDraft, i as createIssueManagerDate, j as formatIssueManagerDate, k as formatIssueManagerTimestamp, p as parentDirectoryPath, r as resolveIssueManagerPriorityLabel, l as resolveIssueManagerStatusLabel, u as uniqueIssueManagerFileReferences } from './issueManagerControllerService.interface-DsqD_RrN.js';
|
|
5
5
|
export { createIssueManagerControllerService } from './services/index.js';
|
|
6
6
|
import '@tutti-os/ui-i18n-runtime';
|
|
7
|
+
import '@tutti-os/workspace-user-project/i18n';
|
|
7
8
|
import './contracts/index.js';
|
|
8
9
|
import '@tutti-os/workspace-file-reference/contracts';
|
|
9
10
|
import '@tutti-os/workspace-user-project/contracts';
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
resolveIssueManagerPriorityLabel,
|
|
10
10
|
resolveIssueManagerStatusLabel,
|
|
11
11
|
uniqueIssueManagerFileReferences
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-FZXBXPXT.js";
|
|
13
13
|
import {
|
|
14
14
|
appendIssueManagerWorkspaceFileLinksToContent,
|
|
15
15
|
buildIssueManagerRunPrompt,
|
|
@@ -41,13 +41,13 @@ import {
|
|
|
41
41
|
resolveIssueManagerExpandedFrame,
|
|
42
42
|
resolveIssueManagerWorkspaceRuntimePath,
|
|
43
43
|
shouldAutoCollapseIssueManagerSidebar
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-QRRPA7TH.js";
|
|
45
45
|
import {
|
|
46
46
|
createIssueManagerI18nRuntime,
|
|
47
47
|
issueManagerI18nModule,
|
|
48
48
|
issueManagerI18nNamespace,
|
|
49
49
|
issueManagerI18nResources
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-LZL5SEKE.js";
|
|
51
51
|
export {
|
|
52
52
|
appendIssueManagerWorkspaceFileLinksToContent,
|
|
53
53
|
buildIssueManagerRunPrompt,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SetStateAction } from 'react';
|
|
2
2
|
import { IssueManagerPriority, IssueManagerStatus, IssueManagerFileReference, IssueManagerStatusCounts, IssueManagerIssueDetail, IssueManagerTaskDetail, IssueManagerOpenSource, IssueManagerNodeState, IssueManagerIssueSummary, IssueManagerTopic } from './contracts/index.js';
|
|
3
|
-
import { I as IssueManagerFeature } from './feature-
|
|
3
|
+
import { I as IssueManagerFeature } from './feature-D1XjdnWx.js';
|
|
4
4
|
import { IssueManagerI18nRuntime } from './i18n/index.js';
|
|
5
5
|
|
|
6
6
|
type IssueManagerEditorMode = "read" | "create" | "edit";
|
package/dist/services/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { b as IssueManagerControllerService } from '../issueManagerControllerService.interface-
|
|
2
|
-
export { A as AsyncCollectionState, C as CreateIssueManagerControllerRuntimeInput, C as CreateIssueManagerControllerSessionInput, I as IssueDraft, a as IssueManagerControllerRuntime, a as IssueManagerControllerSession, S as IssueManagerControllerSessionSyncInput, c as IssueManagerControllerSnapshot, d as IssueManagerDetailCollections, e as IssueManagerEditorMode, f as IssueManagerNotificationState, g as IssueManagerNotificationTone, h as IssueManagerReferenceTarget, S as SyncIssueManagerControllerRuntimeInput, T as TaskDraft, i as createIssueManagerDate, j as formatIssueManagerDate, k as formatIssueManagerTimestamp, p as parentDirectoryPath, r as resolveIssueManagerPriorityLabel, l as resolveIssueManagerStatusLabel, u as uniqueIssueManagerFileReferences } from '../issueManagerControllerService.interface-
|
|
1
|
+
import { b as IssueManagerControllerService } from '../issueManagerControllerService.interface-DsqD_RrN.js';
|
|
2
|
+
export { A as AsyncCollectionState, C as CreateIssueManagerControllerRuntimeInput, C as CreateIssueManagerControllerSessionInput, I as IssueDraft, a as IssueManagerControllerRuntime, a as IssueManagerControllerSession, S as IssueManagerControllerSessionSyncInput, c as IssueManagerControllerSnapshot, d as IssueManagerDetailCollections, e as IssueManagerEditorMode, f as IssueManagerNotificationState, g as IssueManagerNotificationTone, h as IssueManagerReferenceTarget, S as SyncIssueManagerControllerRuntimeInput, T as TaskDraft, i as createIssueManagerDate, j as formatIssueManagerDate, k as formatIssueManagerTimestamp, p as parentDirectoryPath, r as resolveIssueManagerPriorityLabel, l as resolveIssueManagerStatusLabel, u as uniqueIssueManagerFileReferences } from '../issueManagerControllerService.interface-DsqD_RrN.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '../contracts/index.js';
|
|
5
5
|
import '@tutti-os/workspace-file-reference/contracts';
|
|
6
6
|
import '@tutti-os/workspace-user-project/contracts';
|
|
7
|
-
import '../feature-
|
|
7
|
+
import '../feature-D1XjdnWx.js';
|
|
8
8
|
import '@tutti-os/ui-i18n-runtime';
|
|
9
|
+
import '@tutti-os/workspace-user-project/i18n';
|
|
9
10
|
import '../i18n/index.js';
|
|
10
11
|
|
|
11
12
|
declare function createIssueManagerControllerService(): IssueManagerControllerService;
|
package/dist/services/index.js
CHANGED
|
@@ -8,9 +8,9 @@ import {
|
|
|
8
8
|
resolveIssueManagerPriorityLabel,
|
|
9
9
|
resolveIssueManagerStatusLabel,
|
|
10
10
|
uniqueIssueManagerFileReferences
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
11
|
+
} from "../chunk-FZXBXPXT.js";
|
|
12
|
+
import "../chunk-QRRPA7TH.js";
|
|
13
|
+
import "../chunk-LZL5SEKE.js";
|
|
14
14
|
export {
|
|
15
15
|
createIssueManagerControllerService,
|
|
16
16
|
createIssueManagerDate,
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -4,11 +4,12 @@ import { IssueManagerOpenSource, IssueManagerNodeState } from '../contracts/inde
|
|
|
4
4
|
import { a as IssueManagerLatestRunStatusRenderer } from '../latestRunStatusRenderer-B_9yU0CM.js';
|
|
5
5
|
export { I as IssueManagerLatestRunStatusRenderInput } from '../latestRunStatusRenderer-B_9yU0CM.js';
|
|
6
6
|
import { RichTextAtProvider } from '@tutti-os/ui-rich-text/types';
|
|
7
|
-
import { I as IssueManagerFeature } from '../feature-
|
|
8
|
-
import { b as IssueManagerControllerService } from '../issueManagerControllerService.interface-
|
|
7
|
+
import { I as IssueManagerFeature } from '../feature-D1XjdnWx.js';
|
|
8
|
+
import { b as IssueManagerControllerService } from '../issueManagerControllerService.interface-DsqD_RrN.js';
|
|
9
9
|
import '@tutti-os/ui-i18n-runtime';
|
|
10
10
|
import '@tutti-os/workspace-file-reference/contracts';
|
|
11
11
|
import '@tutti-os/workspace-user-project/contracts';
|
|
12
|
+
import '@tutti-os/workspace-user-project/i18n';
|
|
12
13
|
|
|
13
14
|
type IssueManagerRichTextSurface = "issue" | "task";
|
|
14
15
|
|
package/dist/ui/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
IssueManagerNode,
|
|
3
3
|
IssueManagerNodeHeader
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-CHQTHPRL.js";
|
|
5
|
+
import "../chunk-FZXBXPXT.js";
|
|
6
|
+
import "../chunk-QRRPA7TH.js";
|
|
7
|
+
import "../chunk-LZL5SEKE.js";
|
|
8
8
|
export {
|
|
9
9
|
IssueManagerNode,
|
|
10
10
|
IssueManagerNodeHeader
|
|
@@ -2,13 +2,14 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
import { RichTextAtProvider } from '@tutti-os/ui-rich-text/types';
|
|
3
3
|
import { WorkbenchHostActivation, WorkbenchHostExternalStateSource, WorkbenchFrame, WorkbenchHostDockEntry, WorkbenchContribution, WorkbenchHostLaunchRequest, WorkbenchHostLaunchResult, WorkbenchHostNodeDefinition } from '@tutti-os/workbench-surface';
|
|
4
4
|
import { IssueManagerNodeState } from '../contracts/index.js';
|
|
5
|
-
import { I as IssueManagerFeature } from '../feature-
|
|
6
|
-
import { b as IssueManagerControllerService } from '../issueManagerControllerService.interface-
|
|
5
|
+
import { I as IssueManagerFeature } from '../feature-D1XjdnWx.js';
|
|
6
|
+
import { b as IssueManagerControllerService } from '../issueManagerControllerService.interface-DsqD_RrN.js';
|
|
7
7
|
import { a as IssueManagerLatestRunStatusRenderer } from '../latestRunStatusRenderer-B_9yU0CM.js';
|
|
8
8
|
export { defaultIssueManagerNodeFrame, defaultIssueManagerWorkbenchTypeId } from './constants.js';
|
|
9
9
|
import '@tutti-os/workspace-file-reference/contracts';
|
|
10
10
|
import '@tutti-os/workspace-user-project/contracts';
|
|
11
11
|
import '@tutti-os/ui-i18n-runtime';
|
|
12
|
+
import '@tutti-os/workspace-user-project/i18n';
|
|
12
13
|
import '../i18n/index.js';
|
|
13
14
|
|
|
14
15
|
declare const issueManagerOpenActivationType = "open-workspace-issue";
|
package/dist/workbench/index.js
CHANGED
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
IssueManagerNode,
|
|
3
3
|
IssueManagerNodeHeader,
|
|
4
4
|
dispatchIssueManagerTaskListCollapsed
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-CHQTHPRL.js";
|
|
6
|
+
import "../chunk-FZXBXPXT.js";
|
|
7
7
|
import {
|
|
8
8
|
normalizeIssueManagerNodeState,
|
|
9
9
|
resolveIssueManagerExpandedFrame,
|
|
10
10
|
shouldAutoCollapseIssueManagerSidebar
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
11
|
+
} from "../chunk-QRRPA7TH.js";
|
|
12
|
+
import "../chunk-LZL5SEKE.js";
|
|
13
13
|
import {
|
|
14
14
|
defaultIssueManagerNodeFrame,
|
|
15
15
|
defaultIssueManagerWorkbenchTypeId
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tutti-os/workspace-issue-manager",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -54,14 +54,14 @@
|
|
|
54
54
|
"directory": "packages/workspace/issue-manager"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@tutti-os/ui-i18n-runtime": "0.0.
|
|
58
|
-
"@tutti-os/ui-react-hooks": "0.0.
|
|
59
|
-
"@tutti-os/ui-rich-text": "0.0.
|
|
60
|
-
"@tutti-os/ui-system": "0.0.
|
|
61
|
-
"@tutti-os/workbench-surface": "0.0.
|
|
62
|
-
"@tutti-os/workspace-file-reference": "0.0.
|
|
63
|
-
"@tutti-os/workspace-file-preview": "0.0.
|
|
64
|
-
"@tutti-os/workspace-user-project": "0.0.
|
|
57
|
+
"@tutti-os/ui-i18n-runtime": "0.0.3",
|
|
58
|
+
"@tutti-os/ui-react-hooks": "0.0.3",
|
|
59
|
+
"@tutti-os/ui-rich-text": "0.0.3",
|
|
60
|
+
"@tutti-os/ui-system": "0.0.3",
|
|
61
|
+
"@tutti-os/workbench-surface": "0.0.3",
|
|
62
|
+
"@tutti-os/workspace-file-reference": "0.0.3",
|
|
63
|
+
"@tutti-os/workspace-file-preview": "0.0.3",
|
|
64
|
+
"@tutti-os/workspace-user-project": "0.0.3",
|
|
65
65
|
"valtio": "^2.3.2"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
"@types/react-dom": "^19.1.5",
|
|
71
71
|
"react": "^19.1.0",
|
|
72
72
|
"react-dom": "^19.1.0",
|
|
73
|
+
"tsx": "^4.22.3",
|
|
73
74
|
"typescript": "^5.8.3",
|
|
74
75
|
"valtio": "^2.3.2",
|
|
75
76
|
"@tutti-os/config-tsconfig": "0.0.0"
|
|
@@ -87,7 +88,7 @@
|
|
|
87
88
|
},
|
|
88
89
|
"scripts": {
|
|
89
90
|
"build": "tsup --config tsup.config.ts && node ../../../tools/scripts/copy-package-assets.mjs src/assets dist/assets",
|
|
90
|
-
"test": "
|
|
91
|
+
"test": "tsx --test \"./src/**/*.test.ts\"",
|
|
91
92
|
"typecheck": "tsc --noEmit -p tsconfig.json"
|
|
92
93
|
}
|
|
93
94
|
}
|