dsh-plugin-github-issues 0.6.0 → 0.7.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/README.md +4 -1
- package/assets/panel.png +0 -0
- package/docs/README.zh.md +2 -1
- package/lib/client.js +3545 -48
- package/lib/controller.js +1 -36
- package/lib/controller.js.map +1 -1
- package/lib/github/list-request.js +62 -0
- package/lib/github/list-request.js.map +1 -0
- package/lib/types/controller.d.ts.map +1 -1
- package/lib/types/github/list-request.d.ts +31 -0
- package/lib/types/github/list-request.d.ts.map +1 -0
- package/package.json +3 -1
package/lib/controller.js
CHANGED
|
@@ -47,44 +47,9 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
47
47
|
};
|
|
48
48
|
import { Remote, TypertRemoteService } from '@deepseek-ai/dsh-typert-protocol';
|
|
49
49
|
import { GitHubApiError } from "./github/types.js";
|
|
50
|
+
import { normalizeRequest } from "./github/list-request.js";
|
|
50
51
|
/** How long one resolved token is reused before asking `gh` again. */
|
|
51
52
|
const TOKEN_TTL_MS = 5 * 60 * 1_000;
|
|
52
|
-
/** Validate a list request that came over the wire. */
|
|
53
|
-
function normalizeRequest(input) {
|
|
54
|
-
const raw = (typeof input === 'object' && input !== null ? input : {});
|
|
55
|
-
const views = ['assigned', 'created', 'open', 'repo', 'project'];
|
|
56
|
-
const view = typeof raw.view === 'string' && views.includes(raw.view)
|
|
57
|
-
? raw.view
|
|
58
|
-
: undefined;
|
|
59
|
-
const states = ['open', 'closed', 'all'];
|
|
60
|
-
const state = typeof raw.state === 'string' && states.includes(raw.state)
|
|
61
|
-
? raw.state
|
|
62
|
-
: 'open';
|
|
63
|
-
const repos = Array.isArray(raw.repos)
|
|
64
|
-
? raw.repos.filter((entry) => typeof entry === 'string' && entry.includes('/')).slice(0, 10)
|
|
65
|
-
: undefined;
|
|
66
|
-
const first = typeof raw.first === 'number' && Number.isFinite(raw.first)
|
|
67
|
-
? Math.min(Math.max(Math.trunc(raw.first), 1), 50)
|
|
68
|
-
: 30;
|
|
69
|
-
const after = typeof raw.after === 'string' && raw.after !== '' ? raw.after : null;
|
|
70
|
-
const assignee = typeof raw.assignee === 'string' && raw.assignee !== ''
|
|
71
|
-
? raw.assignee
|
|
72
|
-
: view === 'assigned' ? '@me' : 'all';
|
|
73
|
-
const author = typeof raw.author === 'string' && raw.author !== ''
|
|
74
|
-
? raw.author
|
|
75
|
-
: view === 'created' ? '@me' : undefined;
|
|
76
|
-
return {
|
|
77
|
-
...view === undefined ? {} : { view },
|
|
78
|
-
state,
|
|
79
|
-
first,
|
|
80
|
-
after,
|
|
81
|
-
assignee,
|
|
82
|
-
...author === undefined ? {} : { author },
|
|
83
|
-
...repos === undefined || repos.length === 0 ? {} : { repos },
|
|
84
|
-
...typeof raw.projectId === 'string' && raw.projectId !== '' ? { projectId: raw.projectId } : {},
|
|
85
|
-
...typeof raw.org === 'string' && raw.org !== '' ? { org: raw.org } : {},
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
53
|
/** Remote owner of the GitHub Issues surface, namespace `githubIssues`. */
|
|
89
54
|
let GitHubIssuesController = (() => {
|
|
90
55
|
let _classSuper = TypertRemoteService;
|
package/lib/controller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAG9E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The wire validator for list requests.
|
|
3
|
+
*
|
|
4
|
+
* The Remote receiver is the trust boundary: the browser can send any JSON, so
|
|
5
|
+
* this whitelist decides what reaches the GitHub client. It lives outside the
|
|
6
|
+
* controller so it can be unit tested without the Cordis decorators.
|
|
7
|
+
*
|
|
8
|
+
* @module dsh-plugin-github-issues/github/list-request
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Validate a list request that came over the wire.
|
|
12
|
+
*
|
|
13
|
+
* The wire is untrusted: this whitelist is the only path from the browser to the
|
|
14
|
+
* list API, so every new filter must be added here as well as in the client.
|
|
15
|
+
* @param input - the raw Remote argument.
|
|
16
|
+
* @returns the validated request.
|
|
17
|
+
*/
|
|
18
|
+
export function normalizeRequest(input) {
|
|
19
|
+
const raw = (typeof input === 'object' && input !== null ? input : {});
|
|
20
|
+
const views = ['assigned', 'created', 'open', 'repo', 'project'];
|
|
21
|
+
const view = typeof raw.view === 'string' && views.includes(raw.view)
|
|
22
|
+
? raw.view
|
|
23
|
+
: undefined;
|
|
24
|
+
const states = ['open', 'closed', 'all'];
|
|
25
|
+
const state = typeof raw.state === 'string' && states.includes(raw.state)
|
|
26
|
+
? raw.state
|
|
27
|
+
: 'open';
|
|
28
|
+
const repos = Array.isArray(raw.repos)
|
|
29
|
+
? raw.repos.filter((entry) => typeof entry === 'string' && entry.includes('/')).slice(0, 10)
|
|
30
|
+
: undefined;
|
|
31
|
+
const first = typeof raw.first === 'number' && Number.isFinite(raw.first)
|
|
32
|
+
? Math.min(Math.max(Math.trunc(raw.first), 1), 50)
|
|
33
|
+
: 30;
|
|
34
|
+
const after = typeof raw.after === 'string' && raw.after !== '' ? raw.after : null;
|
|
35
|
+
const assignee = typeof raw.assignee === 'string' && raw.assignee !== ''
|
|
36
|
+
? raw.assignee
|
|
37
|
+
: view === 'assigned' ? '@me' : 'all';
|
|
38
|
+
const author = typeof raw.author === 'string' && raw.author !== ''
|
|
39
|
+
? raw.author
|
|
40
|
+
: view === 'created' ? '@me' : undefined;
|
|
41
|
+
const milestone = typeof raw.milestone === 'string' && raw.milestone.trim() !== ''
|
|
42
|
+
? raw.milestone.trim().slice(0, 200)
|
|
43
|
+
: undefined;
|
|
44
|
+
const milestoneNumber = typeof raw.milestoneNumber === 'number'
|
|
45
|
+
&& Number.isInteger(raw.milestoneNumber) && raw.milestoneNumber > 0
|
|
46
|
+
? raw.milestoneNumber
|
|
47
|
+
: undefined;
|
|
48
|
+
return {
|
|
49
|
+
...view === undefined ? {} : { view },
|
|
50
|
+
state,
|
|
51
|
+
first,
|
|
52
|
+
after,
|
|
53
|
+
assignee,
|
|
54
|
+
...author === undefined ? {} : { author },
|
|
55
|
+
...repos === undefined || repos.length === 0 ? {} : { repos },
|
|
56
|
+
...typeof raw.projectId === 'string' && raw.projectId !== '' ? { projectId: raw.projectId } : {},
|
|
57
|
+
...typeof raw.org === 'string' && raw.org !== '' ? { org: raw.org } : {},
|
|
58
|
+
...milestone === undefined ? {} : { milestone },
|
|
59
|
+
...milestoneNumber === undefined ? {} : { milestoneNumber },
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=list-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-request.js","sourceRoot":"","sources":["../../src/github/list-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAU,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAE9E,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The wire validator for list requests.
|
|
3
|
+
*
|
|
4
|
+
* The Remote receiver is the trust boundary: the browser can send any JSON, so
|
|
5
|
+
* this whitelist decides what reaches the GitHub client. It lives outside the
|
|
6
|
+
* controller so it can be unit tested without the Cordis decorators.
|
|
7
|
+
*
|
|
8
|
+
* @module dsh-plugin-github-issues/github/list-request
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Validate a list request that came over the wire.
|
|
12
|
+
*
|
|
13
|
+
* The wire is untrusted: this whitelist is the only path from the browser to the
|
|
14
|
+
* list API, so every new filter must be added here as well as in the client.
|
|
15
|
+
* @param input - the raw Remote argument.
|
|
16
|
+
* @returns the validated request.
|
|
17
|
+
*/
|
|
18
|
+
export declare function normalizeRequest(input: unknown): {
|
|
19
|
+
view?: 'assigned' | 'created' | 'open' | 'repo' | 'project';
|
|
20
|
+
repos?: string[];
|
|
21
|
+
projectId?: string;
|
|
22
|
+
org?: string;
|
|
23
|
+
assignee: string;
|
|
24
|
+
author?: string;
|
|
25
|
+
state: 'open' | 'closed' | 'all';
|
|
26
|
+
milestone?: string;
|
|
27
|
+
milestoneNumber?: number;
|
|
28
|
+
first: number;
|
|
29
|
+
after: string | null;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=list-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-request.d.ts","sourceRoot":"","sources":["../../../src/github/list-request.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG;IAChD,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAC3D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CA2CA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-github-issues",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
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",
|
|
@@ -93,7 +93,9 @@
|
|
|
93
93
|
"devDependencies": {
|
|
94
94
|
"@types/node": "^22.20.5",
|
|
95
95
|
"@types/react": "^18.3.31",
|
|
96
|
+
"dompurify": "^3.4.17",
|
|
96
97
|
"esbuild": "^0.25.12",
|
|
98
|
+
"marked": "^18.1.2",
|
|
97
99
|
"react": "^18.3.1",
|
|
98
100
|
"react-dom": "^18.3.1",
|
|
99
101
|
"typescript": "^5.9.0"
|