dsh-plugin-github-issues 0.8.5 → 0.8.6
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/README.md +5 -4
- package/docs/README.zh.md +3 -2
- package/lib/client.js +52 -3
- package/lib/prompt.js +12 -2
- package/lib/prompt.js.map +1 -1
- package/lib/types/prompt.d.ts +9 -0
- package/lib/types/prompt.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -68,7 +68,7 @@ tarball (`dsh-plugin-github-issues.tgz`), installable by path.
|
|
|
68
68
|
| GitHub panel | left rail icon → main panel | organization → repository → **milestone** → assignee → state cascade (remembered across restarts) in one fixed toolbar; a default organization/repository is selected for you, the milestone dropdown lists only that repository's milestones, and only the list scrolls (search stays above it, the detail pane scrolls independently with the **full issue body rendered as sanitized GitHub-flavored Markdown**, milestone progress, labels, priority, assignees, linked/mentioned PRs and checks) |
|
|
69
69
|
| Issues right column | right sidebar tab | the same filtered issue list beside the Conversation, for drag-and-drop handoff |
|
|
70
70
|
| Composer card | inside the input box, above the editor | the staged issue as a draft-attachment-style card (240×64, GitHub glyph, `owner/repo#number`, state + title, hover-only remove). The card is not editable; it keeps its own space above the editor, survives a Workspace switch together with the draft, opens the issue URL when clicked, and is converted into the issue prompt on send |
|
|
71
|
-
| Sent issue card | in a sent user message | the
|
|
71
|
+
| Sent issue card | in a sent user message | only the clickable 240×64 issue card is shown (state + title); the machine prompt is hidden from the transcript but still sent to the agent, and the user's own appended text stays visible below the card |
|
|
72
72
|
| Linked chip | composer dock under the input | the Session's linked issue: state dot (green open / red closed) + `owner/repo#number`; the dot refreshes from GitHub on panel refresh, every poll, window focus and whenever the issue appears in the list; click for a detail popover, remove to unlink |
|
|
73
73
|
| Handoff actions | issue detail | one-click **enter Session** (latest link), **new Session for this issue**, plus a linked-Session list with per-Session enter/unlink |
|
|
74
74
|
| GitHub settings | Settings → GitHub | `gh` auth status and scopes, handoff behavior, prompt template |
|
|
@@ -123,9 +123,10 @@ Settings → GitHub → Prompt template. Variables: `{{repo}}`, `{{number}}`, `{
|
|
|
123
123
|
- The detail body is the complete issue body, rendered with Markdown (headings, lists, code blocks,
|
|
124
124
|
tables, links, images) and sanitized before display; it is not an excerpt and it is not capped to a
|
|
125
125
|
small fixed-height box.
|
|
126
|
-
- The
|
|
127
|
-
|
|
128
|
-
to default** in Settings
|
|
126
|
+
- The handoff prompts are wrapped in invisible display brackets: the model receives the complete
|
|
127
|
+
prompt (including the metadata table), while the transcript shows only the issue card plus anything
|
|
128
|
+
the user typed. Legacy pre-table prompts are upgraded once on load; **Reset to default** in Settings
|
|
129
|
+
restores the template.
|
|
129
130
|
- The card marker is a single hair space (Unicode whitespace): `/command` or an `@reference` typed
|
|
130
131
|
after the card is preceded by whitespace, so the input trigger pipeline (and the command's leading
|
|
131
132
|
guard) works. Because it is whitespace, it also cannot accumulate into visible indentation while
|
package/docs/README.zh.md
CHANGED
|
@@ -107,8 +107,9 @@ dsh plugin --profile <name> add /path/to/dsh-plugin-github-issues
|
|
|
107
107
|
- 列表使用仓库的 `issues` 连接,状态、assignee、里程碑都由 GitHub 服务端过滤(总数也是权威的);
|
|
108
108
|
里程碑通过 `filterBy.milestoneNumber` 按编号过滤。
|
|
109
109
|
- 详情展示完整正文(不是摘要、也不再限制在固定高度的小框里),按 Markdown 渲染并过滤危险 HTML。
|
|
110
|
-
-
|
|
111
|
-
|
|
110
|
+
- 交接提示词外面包了不可见的展示括号:模型会收到完整 prompt(含 Markdown 表格),对话里只显示
|
|
111
|
+
Issue 卡片和用户补充的文字;旧版没有表格的提示词会在加载时自动升级一次,也可以在设置里点
|
|
112
|
+
「恢复默认」重新套用。
|
|
112
113
|
- 卡片标记是一个 hair space(Unicode 空白字符):卡片后面输入 `/命令` 或 `@引用` 时前面天然有空白,
|
|
113
114
|
输入触发管线和命令的 leading guard 都能工作;因为它本身是空白,也不会在打字时累积成可见缩进。
|
|
114
115
|
输入框卡片和发送后的消息卡片都会打开 Issue 网址。
|
package/lib/client.js
CHANGED
|
@@ -121,9 +121,12 @@ function renderPrompt(issue, template) {
|
|
|
121
121
|
return text2;
|
|
122
122
|
}
|
|
123
123
|
var PENDING_DRAFT_SENTINEL = "\u200A";
|
|
124
|
+
var PROMPT_BLOCK_START = "\u2063\u2063";
|
|
125
|
+
var PROMPT_BLOCK_END = "\u2063\u2064";
|
|
124
126
|
function composeHandoffPrompt(prompt, memo) {
|
|
125
|
-
const extra = memo.split(PENDING_DRAFT_SENTINEL).join("").replace(/[\u200b\u200c\u200d\u2060\u2063\ufeff]/g, "").replace(/^\n+/, "").trim();
|
|
126
|
-
|
|
127
|
+
const extra = memo.split(PENDING_DRAFT_SENTINEL).join("").replace(/[\u200b\u200c\u200d\u2060\u2063\u2064\ufeff]/g, "").replace(/^\n+/, "").trim();
|
|
128
|
+
const block = `${PROMPT_BLOCK_START}${prompt}${PROMPT_BLOCK_END}`;
|
|
129
|
+
return extra === "" ? block : `${block}
|
|
127
130
|
|
|
128
131
|
${extra}`;
|
|
129
132
|
}
|
|
@@ -5946,10 +5949,52 @@ function stateOf(text2) {
|
|
|
5946
5949
|
const legacy = STATE_LEGACY.exec(text2);
|
|
5947
5950
|
return legacy?.[1]?.trim();
|
|
5948
5951
|
}
|
|
5952
|
+
function headingAt(text2, from) {
|
|
5953
|
+
ISSUE_HEADING.lastIndex = from;
|
|
5954
|
+
for (let match = ISSUE_HEADING.exec(text2); match !== null; match = ISSUE_HEADING.exec(text2)) {
|
|
5955
|
+
const repo = match[1];
|
|
5956
|
+
const numberText = match[2];
|
|
5957
|
+
if (repo === void 0 || numberText === void 0) continue;
|
|
5958
|
+
const number = Number(numberText);
|
|
5959
|
+
if (!Number.isInteger(number) || number <= 0) continue;
|
|
5960
|
+
const title = match[3]?.trim();
|
|
5961
|
+
return {
|
|
5962
|
+
start: match.index,
|
|
5963
|
+
end: match.index + match[0].length,
|
|
5964
|
+
repo,
|
|
5965
|
+
number,
|
|
5966
|
+
...title === void 0 || title === "" ? {} : { title }
|
|
5967
|
+
};
|
|
5968
|
+
}
|
|
5969
|
+
return void 0;
|
|
5970
|
+
}
|
|
5949
5971
|
var GITHUB_ISSUE_RULE = {
|
|
5950
5972
|
id: "github-issue",
|
|
5951
5973
|
order: 40,
|
|
5952
5974
|
match(text2, from) {
|
|
5975
|
+
const blockStart = text2.indexOf(PROMPT_BLOCK_START, from);
|
|
5976
|
+
if (blockStart >= 0) {
|
|
5977
|
+
const blockEnd = text2.indexOf(PROMPT_BLOCK_END, blockStart + PROMPT_BLOCK_START.length);
|
|
5978
|
+
if (blockEnd > blockStart) {
|
|
5979
|
+
const inner = text2.slice(blockStart + PROMPT_BLOCK_START.length, blockEnd);
|
|
5980
|
+
const heading = headingAt(inner, 0);
|
|
5981
|
+
if (heading !== void 0) {
|
|
5982
|
+
const state = stateOf(inner);
|
|
5983
|
+
return {
|
|
5984
|
+
id: "github-issue",
|
|
5985
|
+
start: blockStart,
|
|
5986
|
+
end: blockEnd + PROMPT_BLOCK_END.length,
|
|
5987
|
+
data: {
|
|
5988
|
+
repo: heading.repo,
|
|
5989
|
+
number: heading.number,
|
|
5990
|
+
url: `https://github.com/${heading.repo}/issues/${String(heading.number)}`,
|
|
5991
|
+
...heading.title === void 0 ? {} : { title: heading.title },
|
|
5992
|
+
...state === void 0 || state === "" ? {} : { state }
|
|
5993
|
+
}
|
|
5994
|
+
};
|
|
5995
|
+
}
|
|
5996
|
+
}
|
|
5997
|
+
}
|
|
5953
5998
|
ISSUE_HEADING.lastIndex = from;
|
|
5954
5999
|
for (let match = ISSUE_HEADING.exec(text2); match !== null; match = ISSUE_HEADING.exec(text2)) {
|
|
5955
6000
|
const before = match.index === 0 ? "" : text2[match.index - 1] ?? "";
|
|
@@ -5961,10 +6006,14 @@ var GITHUB_ISSUE_RULE = {
|
|
|
5961
6006
|
if (!Number.isInteger(number) || number <= 0) continue;
|
|
5962
6007
|
const title = match[3]?.trim();
|
|
5963
6008
|
const state = stateOf(text2);
|
|
6009
|
+
let end = match.index + match[0].length;
|
|
6010
|
+
const tail = text2.slice(end);
|
|
6011
|
+
const requirement = /\n+要求:[^\n]*/u.exec(tail);
|
|
6012
|
+
if (requirement !== null) end += requirement.index + requirement[0].length;
|
|
5964
6013
|
return {
|
|
5965
6014
|
id: "github-issue",
|
|
5966
6015
|
start: match.index,
|
|
5967
|
-
end
|
|
6016
|
+
end,
|
|
5968
6017
|
data: {
|
|
5969
6018
|
repo,
|
|
5970
6019
|
number,
|
package/lib/prompt.js
CHANGED
|
@@ -81,6 +81,15 @@ export function renderPrompt(issue, template) {
|
|
|
81
81
|
export const PENDING_DRAFT_SENTINEL = '\u200a';
|
|
82
82
|
/** Backwards-compatible name for the marker the old overlay used. */
|
|
83
83
|
export const EMPTY_DRAFT_HOLD = PENDING_DRAFT_SENTINEL;
|
|
84
|
+
/**
|
|
85
|
+
* Invisible brackets around the machine prompt in a sent message.
|
|
86
|
+
*
|
|
87
|
+
* The model still receives the whole prompt; the conversation's UserText rule
|
|
88
|
+
* consumes these brackets and renders only the issue card, leaving the user's own
|
|
89
|
+
* appended text visible after the closing bracket.
|
|
90
|
+
*/
|
|
91
|
+
export const PROMPT_BLOCK_START = '\u2063\u2063';
|
|
92
|
+
export const PROMPT_BLOCK_END = '\u2063\u2064';
|
|
84
93
|
/**
|
|
85
94
|
* Compose the message a pending issue card sends.
|
|
86
95
|
*
|
|
@@ -94,9 +103,10 @@ export const EMPTY_DRAFT_HOLD = PENDING_DRAFT_SENTINEL;
|
|
|
94
103
|
export function composeHandoffPrompt(prompt, memo) {
|
|
95
104
|
const extra = memo
|
|
96
105
|
.split(PENDING_DRAFT_SENTINEL).join('')
|
|
97
|
-
.replace(/[\u200b\u200c\u200d\u2060\u2063\ufeff]/g, '')
|
|
106
|
+
.replace(/[\u200b\u200c\u200d\u2060\u2063\u2064\ufeff]/g, '')
|
|
98
107
|
.replace(/^\n+/, '')
|
|
99
108
|
.trim();
|
|
100
|
-
|
|
109
|
+
const block = `${PROMPT_BLOCK_START}${prompt}${PROMPT_BLOCK_END}`;
|
|
110
|
+
return extra === '' ? block : `${block}\n\n${extra}`;
|
|
101
111
|
}
|
|
102
112
|
//# sourceMappingURL=prompt.js.map
|
package/lib/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
|
package/lib/types/prompt.d.ts
CHANGED
|
@@ -27,6 +27,15 @@ export declare function renderPrompt(issue: PromptIssue, template: string): stri
|
|
|
27
27
|
export declare const PENDING_DRAFT_SENTINEL = "\u200A";
|
|
28
28
|
/** Backwards-compatible name for the marker the old overlay used. */
|
|
29
29
|
export declare const EMPTY_DRAFT_HOLD = "\u200A";
|
|
30
|
+
/**
|
|
31
|
+
* Invisible brackets around the machine prompt in a sent message.
|
|
32
|
+
*
|
|
33
|
+
* The model still receives the whole prompt; the conversation's UserText rule
|
|
34
|
+
* consumes these brackets and renders only the issue card, leaving the user's own
|
|
35
|
+
* appended text visible after the closing bracket.
|
|
36
|
+
*/
|
|
37
|
+
export declare const PROMPT_BLOCK_START = "\u2063\u2063";
|
|
38
|
+
export declare const PROMPT_BLOCK_END = "\u2063\u2064";
|
|
30
39
|
/**
|
|
31
40
|
* Compose the message a pending issue card sends.
|
|
32
41
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AA0CpD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAezE;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,WAAW,CAAA;AAE9C,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,WAAyB,CAAA;AAEtD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AA0CpD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAezE;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,WAAW,CAAA;AAE9C,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,WAAyB,CAAA;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,iBAAiB,CAAA;AAChD,eAAO,MAAM,gBAAgB,iBAAiB,CAAA;AAE9C;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQzE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-github-issues",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.6",
|
|
4
4
|
"description": "Browse GitHub issues, milestones, labels, priority, and linked PR status inside DeepSeek Harness, and hand an issue to the agent by dragging it into the composer.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dsh-plugin",
|