dsh-plugin-github-issues 0.8.4 → 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 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 prompt's `处理 GitHub Issue:owner/repo#number title` heading is rendered as the same clickable 240×64 issue card (state + title), and the metadata stays a Markdown table |
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 default handoff prompt renders its issue metadata as a Markdown table, so it survives as a real
127
- table in the transcript after sending. Legacy pre-table prompts are upgraded once on load; **Reset
128
- to default** in Settings restores this template.
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
- - 默认交接提示词把 Issue 元信息排成 Markdown 表格,发送后在对话里会渲染成真正的表格;旧版没有表格的
111
- 提示词会在加载时自动升级一次,也可以在设置里点「恢复默认」重新套用。
110
+ - 交接提示词外面包了不可见的展示括号:模型会收到完整 prompt(含 Markdown 表格),对话里只显示
111
+ Issue 卡片和用户补充的文字;旧版没有表格的提示词会在加载时自动升级一次,也可以在设置里点
112
+ 「恢复默认」重新套用。
112
113
  - 卡片标记是一个 hair space(Unicode 空白字符):卡片后面输入 `/命令` 或 `@引用` 时前面天然有空白,
113
114
  输入触发管线和命令的 leading guard 都能工作;因为它本身是空白,也不会在打字时累积成可见缩进。
114
115
  输入框卡片和发送后的消息卡片都会打开 Issue 网址。
package/lib/client.js CHANGED
@@ -49,7 +49,21 @@ var DEFAULT_PROMPT_TEMPLATE = [
49
49
  "| \u6807\u7B7E | {{labels}} |",
50
50
  "| \u5173\u8054 PR | {{prs}} |",
51
51
  "",
52
- "\u8981\u6C42\uFF1A\u5148\u8BFB Issue \u6B63\u6587\u4E0E\u5173\u8054 PR\uFF0C\u786E\u8BA4\u9A8C\u6536\u6807\u51C6\u540E\u518D\u52A8\u624B\uFF1B\u7528 subagent_codex \u6267\u884C\u5177\u4F53\u6539\u52A8\uFF0C\u5B8C\u6210\u540E\u8DD1\u76F8\u5173\u6D4B\u8BD5\u5E76\u56DE\u62A5\u3002"
52
+ "\u8981\u6C42\uFF1A\u5148\u8BFB Issue \u6B63\u6587\u4E0E\u5173\u8054 PR\uFF0C\u786E\u8BA4\u9A8C\u6536\u6807\u51C6\u540E\u518D\u52A8\u624B\uFF0C\u5B8C\u6210\u540E\u8DD1\u76F8\u5173\u6D4B\u8BD5\u5E76\u56DE\u62A5\u3002"
53
+ ].join("\n");
54
+ var TABLE_PROMPT_PREFIX = [
55
+ "\u5904\u7406 GitHub Issue\uFF1A{{repo}}#{{number}} {{title}}",
56
+ "",
57
+ "\u94FE\u63A5\uFF1A{{url}}",
58
+ "",
59
+ "| \u5B57\u6BB5 | \u503C |",
60
+ "| --- | --- |",
61
+ "| \u72B6\u6001 | {{state}} |",
62
+ "| \u91CC\u7A0B\u7891 | {{milestone}} |",
63
+ "| \u4F18\u5148\u7EA7 | {{priority}} |",
64
+ "| \u6307\u6D3E | {{assignees}} |",
65
+ "| \u6807\u7B7E | {{labels}} |",
66
+ "| \u5173\u8054 PR | {{prs}} |"
53
67
  ].join("\n");
54
68
  var DEFAULT_PREFS = {
55
69
  org: void 0,
@@ -107,9 +121,12 @@ function renderPrompt(issue, template) {
107
121
  return text2;
108
122
  }
109
123
  var PENDING_DRAFT_SENTINEL = "\u200A";
124
+ var PROMPT_BLOCK_START = "\u2063\u2063";
125
+ var PROMPT_BLOCK_END = "\u2063\u2064";
110
126
  function composeHandoffPrompt(prompt, memo) {
111
- const extra = memo.split(PENDING_DRAFT_SENTINEL).join("").replace(/[\u200b\u200c\u200d\u2060\u2063\ufeff]/g, "").replace(/^\n+/, "").trim();
112
- return extra === "" ? prompt : `${prompt}
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}
113
130
 
114
131
  ${extra}`;
115
132
  }
@@ -5932,10 +5949,52 @@ function stateOf(text2) {
5932
5949
  const legacy = STATE_LEGACY.exec(text2);
5933
5950
  return legacy?.[1]?.trim();
5934
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
+ }
5935
5971
  var GITHUB_ISSUE_RULE = {
5936
5972
  id: "github-issue",
5937
5973
  order: 40,
5938
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
+ }
5939
5998
  ISSUE_HEADING.lastIndex = from;
5940
5999
  for (let match = ISSUE_HEADING.exec(text2); match !== null; match = ISSUE_HEADING.exec(text2)) {
5941
6000
  const before = match.index === 0 ? "" : text2[match.index - 1] ?? "";
@@ -5947,10 +6006,14 @@ var GITHUB_ISSUE_RULE = {
5947
6006
  if (!Number.isInteger(number) || number <= 0) continue;
5948
6007
  const title = match[3]?.trim();
5949
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;
5950
6013
  return {
5951
6014
  id: "github-issue",
5952
6015
  start: match.index,
5953
- end: match.index + match[0].length,
6016
+ end,
5954
6017
  data: {
5955
6018
  repo,
5956
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
- return extra === '' ? prompt : `${prompt}\n\n${extra}`;
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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"}
@@ -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,CAOzE"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../src/vm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../src/vm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8CAA8C;AAC9C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAA;AAE1C,iDAAiD;AACjD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAA;AAEvF,sFAAsF;AACtF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,CAAA;AAEhE,sDAAsD;AACtD,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,SAAS,GACT,OAAO,GACP,SAAS,GACT,UAAU,GACV,SAAS,GACT,SAAS,GACT,IAAI,CAAA;AAER,sFAAsF;AACtF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,IAAI,CAAA;AAExF,oDAAoD;AACpD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE3D,+DAA+D;AAC/D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,oBAAoB;AACpB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,cAAc,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,2CAA2C;AAC3C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,EAAE,UAAU,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,0CAA0C;AAC1C,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,EAAE,EAAE,MAAM,CAAA;IACV,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,UAAU,CAAA;IACjB,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,SAAS,EAAE,UAAU,EAAE,CAAA;IACvB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,UAAU,CAAA;IACrB,uEAAuE;IACvE,SAAS,EAAE,UAAU,EAAE,CAAA;IACvB,wEAAwE;IACxE,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAA;CACpC;AAED,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,+BAA+B;AAC/B,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,yFAAyF;IACzF,YAAY,EAAE,UAAU,EAAE,CAAA;CAC3B;AAED,iDAAiD;AACjD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,EAAE,EAAE,MAAM,CAAA;CACX;AAED,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;CACX;AAED,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAA;CACf;AAED,4BAA4B;AAC5B,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAC5D,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,uCAAuC;AACvC,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;AAE3E;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,+EAA+E;AAC/E,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,0CAA0C;AAC1C,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,mDAAmD;AACnD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AAED,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACpD,sEAAsE;IACtE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAChB,mFAAmF;IACnF,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,mFAAmF;IACnF,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,4EAA4E;AAC5E,MAAM,WAAW,KAAK;IACpB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC3B,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAA;IAChB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;IAChC,kEAAkE;IAClE,WAAW,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7B,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAA;IACtB,yCAAyC;IACzC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;CACtD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG;KAAG,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;CAAE,CAAA;AAEjE,qDAAqD;AACrD,eAAO,MAAM,uBAAuB,QAexB,CAAA;AAqBZ,uFAAuF;AACvF,eAAO,MAAM,aAAa,EAAE,KAU3B,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAYnF;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,KAAK,CAUP"}
package/lib/vm.js CHANGED
@@ -22,8 +22,25 @@ export const DEFAULT_PROMPT_TEMPLATE = [
22
22
  '| 标签 | {{labels}} |',
23
23
  '| 关联 PR | {{prs}} |',
24
24
  '',
25
- '要求:先读 Issue 正文与关联 PR,确认验收标准后再动手;用 subagent_codex 执行具体改动,完成后跑相关测试并回报。',
25
+ '要求:先读 Issue 正文与关联 PR,确认验收标准后再动手,完成后跑相关测试并回报。',
26
26
  ].join('\n');
27
+ /** The table block every previous default prompt shared. */
28
+ const TABLE_PROMPT_PREFIX = [
29
+ '处理 GitHub Issue:{{repo}}#{{number}} {{title}}',
30
+ '',
31
+ '链接:{{url}}',
32
+ '',
33
+ '| 字段 | 值 |',
34
+ '| --- | --- |',
35
+ '| 状态 | {{state}} |',
36
+ '| 里程碑 | {{milestone}} |',
37
+ '| 优先级 | {{priority}} |',
38
+ '| 指派 | {{assignees}} |',
39
+ '| 标签 | {{labels}} |',
40
+ '| 关联 PR | {{prs}} |',
41
+ ].join('\n');
42
+ /** The requirement sentence bundled with the first table template. */
43
+ const LEGACY_REQUIREMENT = '要求:先读 Issue 正文与关联 PR,确认验收标准后再动手;用 subagent_codex 执行具体改动,完成后跑相关测试并回报。';
27
44
  /** Default preferences for a fresh install: everything assigned to me that is open. */
28
45
  export const DEFAULT_PREFS = {
29
46
  org: undefined,
@@ -48,6 +65,15 @@ export const DEFAULT_PREFS = {
48
65
  export function migratePromptTemplate(saved) {
49
66
  if (saved === undefined || saved === '')
50
67
  return saved;
68
+ if (saved === DEFAULT_PROMPT_TEMPLATE)
69
+ return saved;
70
+ if (saved.includes(TABLE_PROMPT_PREFIX)) {
71
+ // Previous table defaults: the old requirement sentence, or a table prompt
72
+ // whose requirement row the user removed.
73
+ if (saved.includes(LEGACY_REQUIREMENT) || !saved.includes('要求:'))
74
+ return DEFAULT_PROMPT_TEMPLATE;
75
+ return saved;
76
+ }
51
77
  if (saved.includes('| 字段 |'))
52
78
  return saved;
53
79
  if (!saved.startsWith('处理 GitHub Issue:') || !saved.includes('状态:'))
package/lib/vm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vm.js","sourceRoot":"","sources":["../src/vm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoSH,qDAAqD;AACrD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,+CAA+C;IAC/C,EAAE;IACF,YAAY;IACZ,EAAE;IACF,YAAY;IACZ,eAAe;IACf,oBAAoB;IACpB,yBAAyB;IACzB,wBAAwB;IACxB,wBAAwB;IACxB,qBAAqB;IACrB,qBAAqB;IACrB,EAAE;IACF,sEAAsE;CACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ,uFAAuF;AACvF,MAAM,CAAC,MAAM,aAAa,GAAU;IAClC,GAAG,EAAE,SAAS;IACd,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,OAAO;IACpB,cAAc,EAAE,uBAAuB;IACvC,MAAM,EAAE,SAAS;CAClB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC7D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,CAAA;IACrD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACjF,OAAO,uBAAuB,CAAA;AAChC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,UAAU,CACxB,KAAiC,EACjC,iBAAqC,EACrC,cAAkC;IAElC,MAAM,OAAO,GAAG,KAAK,EAAE,WAAW;WAC7B,CAAC,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACtD,OAAO;QACL,GAAG,aAAa;QAChB,GAAG,KAAK;QACR,WAAW,EAAE,OAAO;QACpB,cAAc,EAAE,qBAAqB,CAAC,KAAK,EAAE,cAAc,CAAC;eACvD,CAAC,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,cAAc,CAAC;KACxG,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"vm.js","sourceRoot":"","sources":["../src/vm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoSH,qDAAqD;AACrD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,+CAA+C;IAC/C,EAAE;IACF,YAAY;IACZ,EAAE;IACF,YAAY;IACZ,eAAe;IACf,oBAAoB;IACpB,yBAAyB;IACzB,wBAAwB;IACxB,wBAAwB;IACxB,qBAAqB;IACrB,qBAAqB;IACrB,EAAE;IACF,8CAA8C;CAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ,4DAA4D;AAC5D,MAAM,mBAAmB,GAAG;IAC1B,+CAA+C;IAC/C,EAAE;IACF,YAAY;IACZ,EAAE;IACF,YAAY;IACZ,eAAe;IACf,oBAAoB;IACpB,yBAAyB;IACzB,wBAAwB;IACxB,wBAAwB;IACxB,qBAAqB;IACrB,qBAAqB;CACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ,sEAAsE;AACtE,MAAM,kBAAkB,GAAG,sEAAsE,CAAA;AAEjG,uFAAuF;AACvF,MAAM,CAAC,MAAM,aAAa,GAAU;IAClC,GAAG,EAAE,SAAS;IACd,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,OAAO;IACpB,cAAc,EAAE,uBAAuB;IACvC,MAAM,EAAE,SAAS;CAClB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC7D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,CAAA;IACrD,IAAI,KAAK,KAAK,uBAAuB;QAAE,OAAO,KAAK,CAAA;IACnD,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACxC,2EAA2E;QAC3E,0CAA0C;QAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,uBAAuB,CAAA;QAChG,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACjF,OAAO,uBAAuB,CAAA;AAChC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,UAAU,CACxB,KAAiC,EACjC,iBAAqC,EACrC,cAAkC;IAElC,MAAM,OAAO,GAAG,KAAK,EAAE,WAAW;WAC7B,CAAC,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACtD,OAAO;QACL,GAAG,aAAa;QAChB,GAAG,KAAK;QACR,WAAW,EAAE,OAAO;QACpB,cAAc,EAAE,qBAAqB,CAAC,KAAK,EAAE,cAAc,CAAC;eACvD,CAAC,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,cAAc,CAAC;KACxG,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-plugin-github-issues",
3
- "version": "0.8.4",
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",