@dungsil/dsh-plugin-ui-vcs 0.1.0 → 0.2.0

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/locale/en.json CHANGED
@@ -1,6 +1,71 @@
1
1
  {
2
2
  "meta": {
3
3
  "title": "Version Control",
4
- "description": "Git actions above the composer: push on the default branch, create or update a PR on other branches or worktrees, or commit only."
5
- }
4
+ "description": "Request Git commits, pushes and PR creation above the composer. Review the current branch's GitHub, Gitea or Forgejo PR or GitLab MR and merge in the right sidebar."
5
+ },
6
+ "title": "PR / MR",
7
+ "description": "The PR or MR pushed from this session's current branch",
8
+ "refresh": "Refresh",
9
+ "loading": "Loading requests…",
10
+ "empty": "No PR or MR is associated with the current branch. Push this branch and create a request first.",
11
+ "open": "Open",
12
+ "draft": "Draft",
13
+ "closed": "Closed",
14
+ "merged": "Merged",
15
+ "hint": "Install gh (GitHub), glab (GitLab) or tea 0.12.x (Gitea/Forgejo) and sign in on the DSH host.",
16
+ "repository": "No Git repository or remote was found for this session.",
17
+ "unsupported": "Host not recognized. Explicitly set this plugin's provider to github, gitlab, gitea or forgejo for a self-hosted instance.",
18
+ "cli_missing": "The required CLI is missing or unsupported on the DSH host. Gitea and Forgejo use tea 0.12.x.",
19
+ "command_failed": "Could not load requests. Check CLI authentication, repository access and the session's sandbox network policy.",
20
+ "invalid_response": "The CLI returned an invalid response.",
21
+ "unavailable": "Requests are unavailable. Reconnect and refresh.",
22
+ "link_unsupported": "This link is outside the session's remote repository or uses an unsupported host. Open the original link below.",
23
+ "overview": "Overview",
24
+ "changes": "Changes",
25
+ "conversation": "Conversation",
26
+ "body": "Description",
27
+ "no_body": "No description provided.",
28
+ "checks": "CI checks",
29
+ "checks_summary": "{passed}/{total} checks",
30
+ "no_checks": "No CI checks reported. This does not mean checks passed.",
31
+ "files": "Changed files",
32
+ "diff": "Unified diff",
33
+ "diff_truncated": "This diff or file list is truncated. Review the full changes on the provider before approving or merging.",
34
+ "no_diff": "No diff available. Open the original request to inspect changes.",
35
+ "no_conversation": "No comments or reviews yet.",
36
+ "review": "Submit review",
37
+ "comment": "Comment",
38
+ "approve": "Approve",
39
+ "request_changes": "Request changes",
40
+ "review_body": "Review comment",
41
+ "review_hint": "Review the diff and checks first. Actions use your CLI account; authors cannot approve their own requests.",
42
+ "gitlab_review_hint": "GitLab supports comments and approvals here. Approval cannot include text; submit a separate comment first. Requesting changes is available on the original page.",
43
+ "submit": "Continue",
44
+ "merge": "Merge",
45
+ "strategy": "Merge strategy",
46
+ "merge_not_ready": "Mergeability is unconfirmed or blocked by conflicts or repository rules.",
47
+ "merge_review_blocked": "Required reviews are incomplete or changes have been requested.",
48
+ "merge_checks_blocked": "CI checks have not all completed successfully.",
49
+ "merge_commit": "Merge commit",
50
+ "squash": "Squash and merge",
51
+ "rebase": "Rebase and merge",
52
+ "confirm": "Confirm action",
53
+ "confirm_hint": "This changes the remote request using the displayed commit. Check the target and action before confirming.",
54
+ "cancel": "Cancel",
55
+ "pending": "Submitting…",
56
+ "completed": "Action completed. Refresh to verify the remote state.",
57
+ "action_failed": "The action could not be confirmed. Refresh and check the remote state before retrying; it may already have completed. Check permissions and repository rules.",
58
+ "stale_request": "The branch, request or head commit changed. Refresh and review again.",
59
+ "details_error": "Some details could not be loaded. Refresh before reviewing or merging.",
60
+ "copy": "Copy",
61
+ "copied": "Copied",
62
+ "footnotes": "Footnotes",
63
+ "success": "Passed",
64
+ "checks_complete": "Completed",
65
+ "checks_unknown": "Unverified",
66
+ "neutral": "Neutral",
67
+ "failure": "Failed",
68
+ "pending_check": "Pending",
69
+ "skipped": "Skipped",
70
+ "cancelled": "Cancelled"
6
71
  }
package/locale/ko.json CHANGED
@@ -1,6 +1,71 @@
1
1
  {
2
2
  "meta": {
3
3
  "title": "버전 관리",
4
- "description": "입력창 위에서 Git 작업을 요청합니다. 기본 브랜치에서는 푸시하고 다른 브랜치나 worktree에서는 PR을 생성·업데이트하며, 커밋만 선택할 수도 있습니다."
5
- }
4
+ "description": "입력창 위에서 Git 커밋·푸시·PR 생성을 요청하고, 오른쪽 사이드바에서 현재 브랜치의 GitHub·Gitea·Forgejo PR 또는 GitLab MR을 검토하고 병합합니다."
5
+ },
6
+ "title": "PR / MR",
7
+ "description": "현재 세션의 작업 브랜치에서 푸시한 PR 또는 MR을 확인합니다",
8
+ "refresh": "새로고침",
9
+ "loading": "요청을 불러오는 중…",
10
+ "empty": "현재 브랜치에 연결된 PR 또는 MR이 없습니다. 브랜치를 푸시한 뒤 요청을 생성하세요.",
11
+ "open": "열림",
12
+ "draft": "초안",
13
+ "closed": "닫힘",
14
+ "merged": "병합됨",
15
+ "hint": "DSH 호스트에 gh(GitHub), glab(GitLab) 또는 tea 0.12.x(Gitea/Forgejo)를 설치하고 로그인하세요.",
16
+ "repository": "현재 세션에서 Git 저장소 또는 remote를 찾지 못했습니다.",
17
+ "unsupported": "호스트를 판별하지 못했습니다. 자체 호스팅 환경에서는 이 플러그인의 provider를 github, gitlab, gitea 또는 forgejo로 명시적으로 설정하세요.",
18
+ "cli_missing": "DSH 호스트에 필요한 CLI가 없거나 지원되지 않는 버전입니다. Gitea와 Forgejo에는 tea 0.12.x를 사용합니다.",
19
+ "command_failed": "요청을 불러오지 못했습니다. CLI 로그인, 저장소 접근 권한, 세션의 샌드박스 네트워크 정책을 확인하세요.",
20
+ "invalid_response": "CLI가 올바르지 않은 응답을 반환했습니다.",
21
+ "unavailable": "요청을 조회할 수 없습니다. 다시 연결한 뒤 새로고침하세요.",
22
+ "link_unsupported": "현재 세션의 원격 저장소에 속하지 않거나 지원하지 않는 호스트의 링크입니다. 아래 링크에서 원문을 확인하세요.",
23
+ "overview": "개요",
24
+ "changes": "변경 내용",
25
+ "conversation": "댓글·리뷰",
26
+ "body": "본문",
27
+ "no_body": "작성된 본문이 없습니다.",
28
+ "checks": "CI 검사",
29
+ "checks_summary": "{passed}/{total} 검증",
30
+ "no_checks": "보고된 CI 검사가 없습니다. 검사를 통과했다는 의미는 아닙니다.",
31
+ "files": "변경 파일",
32
+ "diff": "통합 diff",
33
+ "diff_truncated": "diff 또는 파일 목록의 일부만 표시합니다. 승인하거나 병합하기 전에 원문에서 전체 변경 내용을 검토하세요.",
34
+ "no_diff": "diff를 표시할 수 없습니다. 원문에서 변경 내용을 확인하세요.",
35
+ "no_conversation": "아직 댓글이나 리뷰가 없습니다.",
36
+ "review": "리뷰 작성",
37
+ "comment": "댓글",
38
+ "approve": "승인",
39
+ "request_changes": "변경 요청",
40
+ "review_body": "리뷰 내용",
41
+ "review_hint": "diff와 CI를 먼저 검토하세요. CLI 계정으로 제출하며, 작성자는 자신의 요청을 승인할 수 없습니다.",
42
+ "gitlab_review_hint": "GitLab에서는 댓글과 승인을 지원합니다. 승인에는 본문을 첨부할 수 없으므로 댓글을 먼저 별도로 제출하세요. 변경 요청은 원문에서 할 수 있습니다.",
43
+ "submit": "계속",
44
+ "merge": "병합",
45
+ "strategy": "병합 방식",
46
+ "merge_not_ready": "병합 가능 여부를 확인하지 못했거나 충돌 또는 저장소 규칙으로 병합이 제한됩니다.",
47
+ "merge_review_blocked": "필수 리뷰가 완료되지 않았거나 변경 요청이 남아 있습니다.",
48
+ "merge_checks_blocked": "CI 검사가 아직 모두 성공적으로 완료되지 않았습니다.",
49
+ "merge_commit": "병합 커밋",
50
+ "squash": "Squash 병합",
51
+ "rebase": "Rebase 병합",
52
+ "confirm": "실행 확인",
53
+ "confirm_hint": "표시된 커밋을 기준으로 원격 요청을 변경합니다. 대상과 실행할 작업을 확인하세요.",
54
+ "cancel": "취소",
55
+ "pending": "제출하는 중…",
56
+ "completed": "작업을 완료했습니다. 새로고침하여 원격 상태를 확인하세요.",
57
+ "action_failed": "작업 결과를 확인하지 못했습니다. 이미 반영되었을 수 있으므로 재시도 전에 새로고침하여 원격 상태를 확인하세요. 권한과 저장소 규칙도 확인하세요.",
58
+ "stale_request": "브랜치, 요청 또는 최신 커밋이 바뀌었습니다. 새로고침한 뒤 다시 검토하세요.",
59
+ "details_error": "상세 정보의 일부를 불러오지 못했습니다. 리뷰하거나 병합하기 전에 새로고침하세요.",
60
+ "copy": "복사",
61
+ "copied": "복사됨",
62
+ "footnotes": "각주",
63
+ "success": "통과",
64
+ "checks_complete": "완료",
65
+ "checks_unknown": "확인 불가",
66
+ "neutral": "중립",
67
+ "failure": "실패",
68
+ "pending_check": "대기 중",
69
+ "skipped": "건너뜀",
70
+ "cancelled": "취소됨"
6
71
  }
package/locale/zh.json CHANGED
@@ -1,6 +1,71 @@
1
1
  {
2
2
  "meta": {
3
3
  "title": "版本控制",
4
- "description": "在输入框上方请求 Git 操作:默认分支推送,其他分支或 worktree 创建或更新 PR,也可选择仅提交。"
5
- }
4
+ "description": "在输入框上方请求 Git 提交、推送和创建 PR,在右侧栏审查并合并当前分支的 GitHub、Gitea、Forgejo PR 或 GitLab MR。"
5
+ },
6
+ "title": "PR / MR",
7
+ "description": "查看从此会话当前分支推送的 PR 或 MR",
8
+ "refresh": "刷新",
9
+ "loading": "正在加载请求…",
10
+ "empty": "当前分支没有关联的 PR 或 MR。请先推送此分支并创建请求。",
11
+ "open": "开放",
12
+ "draft": "草稿",
13
+ "closed": "已关闭",
14
+ "merged": "已合并",
15
+ "hint": "请在 DSH 主机上安装 gh(GitHub)、glab(GitLab)或 tea 0.12.x(Gitea/Forgejo)并登录。",
16
+ "repository": "未找到此会话的 Git 仓库或远程地址。",
17
+ "unsupported": "无法识别主机。对于自托管实例,请将此插件的 provider 显式设置为 github、gitlab、gitea 或 forgejo。",
18
+ "cli_missing": "DSH 主机上缺少所需的 CLI 或版本不受支持。Gitea 和 Forgejo 使用 tea 0.12.x。",
19
+ "command_failed": "无法加载请求。请检查 CLI 登录状态、仓库访问权限和会话的沙箱网络策略。",
20
+ "invalid_response": "CLI 返回了无效响应。",
21
+ "unavailable": "无法查询请求。请重新连接后刷新。",
22
+ "link_unsupported": "此链接不属于当前会话的远程仓库,或使用了不支持的主机。请打开下方的原始链接。",
23
+ "overview": "概览",
24
+ "changes": "变更",
25
+ "conversation": "评论与审查",
26
+ "body": "描述",
27
+ "no_body": "未提供描述。",
28
+ "checks": "CI 检查",
29
+ "checks_summary": "{passed}/{total} 检查",
30
+ "no_checks": "没有报告 CI 检查。这并不表示检查已通过。",
31
+ "files": "变更文件",
32
+ "diff": "统一 diff",
33
+ "diff_truncated": "仅显示部分 diff 或文件列表。批准或合并前,请在原始页面审查完整变更。",
34
+ "no_diff": "无法显示 diff。请打开原始请求查看变更。",
35
+ "no_conversation": "暂无评论或审查。",
36
+ "review": "提交审查",
37
+ "comment": "评论",
38
+ "approve": "批准",
39
+ "request_changes": "请求修改",
40
+ "review_body": "审查内容",
41
+ "review_hint": "请先审查 diff 和 CI。操作使用 CLI 账户;作者不能批准自己的请求。",
42
+ "gitlab_review_hint": "GitLab 支持评论和批准。批准不能附带正文,请先单独提交评论。请求修改请前往原始页面。",
43
+ "submit": "继续",
44
+ "merge": "合并",
45
+ "strategy": "合并方式",
46
+ "merge_not_ready": "合并状态尚未确认,或因冲突或仓库规则而受限。",
47
+ "merge_review_blocked": "必需的审查尚未完成,或仍有修改请求。",
48
+ "merge_checks_blocked": "CI 检查尚未全部成功完成。",
49
+ "merge_commit": "合并提交",
50
+ "squash": "压缩合并",
51
+ "rebase": "变基合并",
52
+ "confirm": "确认操作",
53
+ "confirm_hint": "此操作将基于显示的提交修改远程请求。请确认目标和操作。",
54
+ "cancel": "取消",
55
+ "pending": "正在提交…",
56
+ "completed": "操作已完成。请刷新以确认远程状态。",
57
+ "action_failed": "无法确认操作结果。操作可能已完成,请先刷新并检查远程状态再重试,同时检查权限和仓库规则。",
58
+ "stale_request": "分支、请求或最新提交已更改。请刷新并重新审查。",
59
+ "details_error": "部分详情加载失败。请先刷新,再审查或合并。",
60
+ "copy": "复制",
61
+ "copied": "已复制",
62
+ "footnotes": "脚注",
63
+ "success": "通过",
64
+ "checks_complete": "已完成",
65
+ "checks_unknown": "未确认",
66
+ "neutral": "中立",
67
+ "failure": "失败",
68
+ "pending_check": "等待中",
69
+ "skipped": "已跳过",
70
+ "cancelled": "已取消"
6
71
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dungsil/dsh-plugin-ui-vcs",
3
- "version": "0.1.0",
4
- "description": "Version control actions for the session agent, with Git commit, push, and pull request support.",
3
+ "version": "0.2.0",
4
+ "description": "Git actions and PR/MR review for GitHub, GitLab, Gitea and Forgejo.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -11,6 +11,7 @@
11
11
  "files": [
12
12
  "dist",
13
13
  "locale",
14
+ "assets",
14
15
  "cordis.patch.yml"
15
16
  ],
16
17
  "type": "module",
@@ -25,6 +26,7 @@
25
26
  },
26
27
  "devDependencies": {
27
28
  "@deepseek-ai/cordis": "4.0.5",
29
+ "@deepseek-ai/dsh-agent": "0.2.1-rc.5",
28
30
  "@deepseek-ai/dsh-agent-loop-testkit": "0.2.1-rc.5",
29
31
  "@deepseek-ai/dsh-api-session-controller": "0.2.1-rc.5",
30
32
  "@deepseek-ai/dsh-client-connection": "0.2.1-rc.5",
@@ -33,8 +35,11 @@
33
35
  "@deepseek-ai/dsh-client-ui-conversation": "0.2.1-rc.5",
34
36
  "@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.5",
35
37
  "@deepseek-ai/dsh-client-ui-session": "0.2.1-rc.5",
38
+ "@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.1-rc.5",
36
39
  "@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.5",
40
+ "@deepseek-ai/dsh-client-ui-workspace": "0.2.1-rc.5",
37
41
  "@deepseek-ai/dsh-credentials-local": "0.2.1-rc.5",
42
+ "@deepseek-ai/dsh-fs": "0.2.1-rc.5",
38
43
  "@deepseek-ai/dsh-llm": "0.2.1-rc.5",
39
44
  "@deepseek-ai/dsh-sandbox": "0.2.1-rc.5",
40
45
  "@deepseek-ai/dsh-sandbox-local": "0.2.1-rc.5",
@@ -43,13 +48,22 @@
43
48
  "@deepseek-ai/dsh-subprocess": "0.2.1-rc.5",
44
49
  "@deepseek-ai/dsh-subprocess-local": "0.2.1-rc.5",
45
50
  "@deepseek-ai/dsh-working-directory": "0.2.1-rc.5",
51
+ "@deepseek-ai/schemastery": "~3.18.5",
46
52
  "@dungsil/dsh-tsconfig": "0.0.0",
47
53
  "@dungsil/dsh-ui": "0.0.0",
48
54
  "@types/react": "18.3.31",
55
+ "@types/react-dom": "18.3.7",
56
+ "mdast-util-from-markdown": "2.0.3",
57
+ "mdast-util-gfm": "3.1.0",
58
+ "mdast-util-math": "3.0.0",
59
+ "micromark-extension-gfm": "3.0.0",
60
+ "micromark-extension-math": "3.1.0",
49
61
  "react": "18.3.1",
62
+ "react-dom": "18.3.1",
50
63
  "tsdown": "0.23.4"
51
64
  },
52
65
  "peerDependencies": {
66
+ "@deepseek-ai/cordis": "^4.0.5",
53
67
  "@deepseek-ai/dsh-client-connection": "^0.2.1-rc.5",
54
68
  "@deepseek-ai/dsh-client-ui-primitives": "^0.2.1-rc.5",
55
69
  "@deepseek-ai/dsh-session": "^0.2.1-rc.5"
@@ -68,8 +82,9 @@
68
82
  "inject": [
69
83
  "@deepseek-ai/dsh-client-connection",
70
84
  "@deepseek-ai/dsh-client-locale",
71
- "@deepseek-ai/dsh-client-ui-conversation",
72
- "@deepseek-ai/dsh-client-ui-session"
85
+ "@deepseek-ai/dsh-client-ui-session",
86
+ "@deepseek-ai/dsh-client-ui-sidebar-right",
87
+ "@deepseek-ai/dsh-client-ui-workspace"
73
88
  ]
74
89
  }
75
90
  },
@@ -81,9 +96,9 @@
81
96
  "zh": "版本控制"
82
97
  },
83
98
  "description": {
84
- "en": "Git actions above the composer: push on the default branch, create or update a PR on other branches or worktrees, or commit only.",
85
- "ko": "입력창 위에서 Git 작업을 요청합니다. 기본 브랜치에서는 푸시하고 다른 브랜치나 worktree에서는 PR을 생성·업데이트하며, 커밋만 선택할 수도 있습니다.",
86
- "zh": "在输入框上方请求 Git 操作:默认分支推送,其他分支或 worktree 创建或更新 PR,也可选择仅提交。"
99
+ "en": "Request Git commits, pushes and PR/MR updates, then review CI, diffs and discussions and merge GitHub, GitLab, Gitea or Forgejo requests with gh / glab / tea. Self-hosted instances use an explicit provider.",
100
+ "ko": "Git 커밋·푸시·PR/MR 업데이트를 요청하고 GitHub·GitLab·Gitea·Forgejo의 CI·차이·토론을 검토한 뒤 gh / glab / tea로 병합합니다. 자체 호스팅은 provider 설정으로 지원합니다.",
101
+ "zh": "请求 Git 提交、推送和 PR/MR 更新,审查 GitHub、GitLab、Gitea 或 Forgejo 的 CI、差异与讨论,并通过 gh / glab / tea 合并。自托管实例需显式设置 provider。"
87
102
  },
88
103
  "category": "ui",
89
104
  "labels": [],
@@ -92,7 +107,14 @@
92
107
  "commit",
93
108
  "push",
94
109
  "pull-request",
95
- "composer"
110
+ "composer",
111
+ "github",
112
+ "gitlab",
113
+ "gitea",
114
+ "forgejo",
115
+ "self-hosted",
116
+ "mr",
117
+ "sidebar"
96
118
  ]
97
119
  },
98
120
  "scripts": {