@openagt/skill-github 0.1.1 → 0.1.2
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/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +14 -0
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/replies.d.ts +66 -0
- package/dist/replies.d.ts.map +1 -0
- package/dist/replies.js +139 -0
- package/dist/replies.js.map +1 -0
- package/package.json +4 -3
package/dist/cli.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { type GhRunner } from './gh.js';
|
|
|
14
14
|
* Every command acts on the repository the working directory is in: `gh` finds the repository
|
|
15
15
|
* and its remote from there, as it does for a person.
|
|
16
16
|
*/
|
|
17
|
-
export declare const USAGE = "usage: github <command>\n\n requests [--branch <b>] [--state open|merged|all] [--since <iso>]\n the project's pull requests, newest first: number, url, state, title, draft, branch, head, createdAt, mergedAt, mergeCommit\n open [--branch <b>] --title <t> [--body <text>] [--draft] [--merge]\n open the pull request of branch <b> (default: the current branch; it must be on the remote already); an open one is answered as it is; --merge lands it on green\n merge <number> land pull request <number>: a draft is marked ready, then the merge is armed as --merge arms it\n watch <number> wait for pull request <number>'s checks and merge it once they pass; what --merge starts where the repository has no auto-merge\n home the project's page on GitHub, from its origin remote\n me who is signed in to GitHub through gh: login, name, avatar (a picture's https address)\n create [--check] create a private repository for a project with no origin, named <account>/<folder>, set it as origin and push;\n --check only says which repository that would be\n\nJSON on stdout. Exit code 1 for a refusal or a failure (the reason on stderr), 2 for a usage error.";
|
|
17
|
+
export declare const USAGE = "usage: github <command>\n\n requests [--branch <b>] [--state open|merged|all] [--since <iso>]\n the project's pull requests, newest first: number, url, state, title, draft, branch, head, createdAt, mergedAt, mergeCommit\n replies what came on the open pull requests this machine's agents opened, since each agent ended: maintainers' comments\n and reviews, checks that turned red, a conflict once the base branch moved; [{ run, text }], one per run, read\n from the project's run records; the check of a scheduler's row that resumes runs\n open [--branch <b>] --title <t> [--body <text>] [--draft] [--merge]\n open the pull request of branch <b> (default: the current branch; it must be on the remote already); an open one is answered as it is; --merge lands it on green\n merge <number> land pull request <number>: a draft is marked ready, then the merge is armed as --merge arms it\n watch <number> wait for pull request <number>'s checks and merge it once they pass; what --merge starts where the repository has no auto-merge\n home the project's page on GitHub, from its origin remote\n me who is signed in to GitHub through gh: login, name, avatar (a picture's https address)\n create [--check] create a private repository for a project with no origin, named <account>/<folder>, set it as origin and push;\n --check only says which repository that would be\n\nJSON on stdout. Exit code 1 for a refusal or a failure (the reason on stderr), 2 for a usage error.";
|
|
18
18
|
/** The streams and the working directory a run of the CLI sees. */
|
|
19
19
|
export interface CliIo {
|
|
20
20
|
cwd: string;
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAUrD;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,KAAK,0sDAgBkF,CAAA;AAEpG,mEAAmE;AACnE,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B;AAED,oFAAoF;AACpF,MAAM,WAAW,OAAO;IACtB,EAAE,CAAC,EAAE,QAAQ,CAAA;IACb,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,4FAA4F;IAC5F,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxD;AAED,8DAA8D;AAC9D,MAAM,MAAM,UAAU,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAY9E,2FAA2F;AAC3F,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA0B3F"}
|
package/dist/cli.js
CHANGED
|
@@ -8,6 +8,7 @@ import { watchAndMerge } from './merge-watch.js';
|
|
|
8
8
|
import { GIT_HOST_NAME, homeUrlFor } from './home.js';
|
|
9
9
|
import { createRepository, offerRepository } from './create.js';
|
|
10
10
|
import { signedIn } from './me.js';
|
|
11
|
+
import { listReplies } from './replies.js';
|
|
11
12
|
/**
|
|
12
13
|
* The command line over the package (#1820): the same functions for an agent in a shell, and for
|
|
13
14
|
* OpenAgent and the scheduler, which run this command as the project's git host provider,
|
|
@@ -26,6 +27,9 @@ export const USAGE = `usage: github <command>
|
|
|
26
27
|
|
|
27
28
|
requests [--branch <b>] [--state open|merged|all] [--since <iso>]
|
|
28
29
|
the project's pull requests, newest first: number, url, state, title, draft, branch, head, createdAt, mergedAt, mergeCommit
|
|
30
|
+
replies what came on the open pull requests this machine's agents opened, since each agent ended: maintainers' comments
|
|
31
|
+
and reviews, checks that turned red, a conflict once the base branch moved; [{ run, text }], one per run, read
|
|
32
|
+
from the project's run records; the check of a scheduler's row that resumes runs
|
|
29
33
|
open [--branch <b>] --title <t> [--body <text>] [--draft] [--merge]
|
|
30
34
|
open the pull request of branch <b> (default: the current branch; it must be on the remote already); an open one is answered as it is; --merge lands it on green
|
|
31
35
|
merge <number> land pull request <number>: a draft is marked ready, then the merge is armed as --merge arms it
|
|
@@ -92,6 +96,16 @@ const COMMANDS = {
|
|
|
92
96
|
throw new Refused({ ok: false, reason: 'git-host-failed', detail }, `the pull requests could not be read: ${detail}`);
|
|
93
97
|
}
|
|
94
98
|
},
|
|
99
|
+
async replies(args, { cwd, gh }) {
|
|
100
|
+
parse(args, {}, 0);
|
|
101
|
+
try {
|
|
102
|
+
return await listReplies(cwd, { gh });
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
106
|
+
throw new Refused({ ok: false, reason: 'git-host-failed', detail }, `the pull requests could not be read: ${detail}`);
|
|
107
|
+
}
|
|
108
|
+
},
|
|
95
109
|
async open(args, { cwd, gh, git, watch }) {
|
|
96
110
|
const { values } = parse(args, { branch: { type: 'string' }, title: { type: 'string' }, body: { type: 'string' }, merge: { type: 'boolean' }, draft: { type: 'boolean' } }, 0);
|
|
97
111
|
if (!values.title?.trim())
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAiB,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAwC,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ export { homeUrlFromRemote, homeUrlFor, GIT_HOST_NAME } from './home.js';
|
|
|
7
7
|
export { runCli, USAGE, type CliIo, type CliDeps, type CliRefusal } from './cli.js';
|
|
8
8
|
export { createRepository, offerRepository, type CreateOffer, type CreateOutcome } from './create.js';
|
|
9
9
|
export { signedIn, type MeOutcome } from './me.js';
|
|
10
|
+
export { listReplies, parseOpenRequests, repliesArgs, repliesFor, watchedRequests, REPLIES_LIMIT, type OpenRequest, type Watched } from './replies.js';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AACvJ,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AACzG,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAClM,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AACvJ,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AACzG,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAClM,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -7,4 +7,5 @@ export { homeUrlFromRemote, homeUrlFor, GIT_HOST_NAME } from './home.js';
|
|
|
7
7
|
export { runCli, USAGE } from './cli.js';
|
|
8
8
|
export { createRepository, offerRepository } from './create.js';
|
|
9
9
|
export { signedIn } from './me.js';
|
|
10
|
+
export { listReplies, parseOpenRequests, repliesArgs, repliesFor, watchedRequests, REPLIES_LIMIT } from './replies.js';
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAoC,MAAM,eAAe,CAAA;AACvJ,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAsC,MAAM,WAAW,CAAA;AACzG,OAAO,EAAE,QAAQ,EAAE,YAAY,EAA6E,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAA0D,MAAM,kBAAkB,CAAA;AAClM,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,KAAK,EAA6C,MAAM,UAAU,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAwC,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,QAAQ,EAAkB,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAoC,MAAM,eAAe,CAAA;AACvJ,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAsC,MAAM,WAAW,CAAA;AACzG,OAAO,EAAE,QAAQ,EAAE,YAAY,EAA6E,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAA0D,MAAM,kBAAkB,CAAA;AAClM,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,KAAK,EAA6C,MAAM,UAAU,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAwC,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,QAAQ,EAAkB,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAkC,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type RunCard } from '@openagt/skill-logs';
|
|
2
|
+
import { type GhRunner } from './gh.js';
|
|
3
|
+
/**
|
|
4
|
+
* What came on the pull requests this machine's agents opened, since each agent ended (#2042):
|
|
5
|
+
* the check of a scheduler's row that resumes runs. It prints `[{ "run": "<id>", "text": "…" }]`,
|
|
6
|
+
* one item per run with something new, and the scheduler resumes each run with its words.
|
|
7
|
+
*
|
|
8
|
+
* New is after the run last ended: no time is kept anywhere. Something that comes while the run
|
|
9
|
+
* still works is found at the first look after it ends; and what came before it ended, the run
|
|
10
|
+
* saw or left, so a red check it chose to leave does not wake it again and again.
|
|
11
|
+
*
|
|
12
|
+
* What counts:
|
|
13
|
+
* - a comment or a review of a maintainer, a person who can write to the repository: GitHub's
|
|
14
|
+
* owner, member or collaborator. One that carries the 🤖 line is an agent's, posted with a
|
|
15
|
+
* person's account, and never counts;
|
|
16
|
+
* - a check that turned red;
|
|
17
|
+
* - a conflict with the base branch, once the base branch moved.
|
|
18
|
+
*
|
|
19
|
+
* Only the open pull requests whose last run was on this machine and has ended: only this machine
|
|
20
|
+
* holds that run's conversation, and a pull request another run still works on is that run's.
|
|
21
|
+
* One GitHub call a look, whatever the number of pull requests.
|
|
22
|
+
*/
|
|
23
|
+
/** A pull request a run opened, with the run that last worked on it and when that run ended. */
|
|
24
|
+
export interface Watched {
|
|
25
|
+
number: number;
|
|
26
|
+
run: string;
|
|
27
|
+
endedAt: string;
|
|
28
|
+
}
|
|
29
|
+
/** The open pull requests one GitHub call reads, newest change first. */
|
|
30
|
+
export declare const REPLIES_LIMIT = 50;
|
|
31
|
+
/**
|
|
32
|
+
* Each pull request the runs worked on, with the run that last did, when that run is this
|
|
33
|
+
* machine's and has ended. A pull request a run still works on, on any machine, is left to it.
|
|
34
|
+
*/
|
|
35
|
+
export declare function watchedRequests(cards: RunCard[], host: string): Watched[];
|
|
36
|
+
/** The gh command line of the one read: the repository is the one the working directory is in. */
|
|
37
|
+
export declare function repliesArgs(): string[];
|
|
38
|
+
/** One thing that came on a pull request, as the run is told it. */
|
|
39
|
+
interface Came {
|
|
40
|
+
at: string;
|
|
41
|
+
line: string;
|
|
42
|
+
}
|
|
43
|
+
/** An open pull request as read: what came on it, each with when. */
|
|
44
|
+
export interface OpenRequest {
|
|
45
|
+
number: number;
|
|
46
|
+
url: string;
|
|
47
|
+
came: Came[];
|
|
48
|
+
}
|
|
49
|
+
/** The pull requests GitHub answered, each with what came on it; one it answered in a shape not known is left out. */
|
|
50
|
+
export declare function parseOpenRequests(output: unknown): OpenRequest[];
|
|
51
|
+
/** For each watched pull request with something new since its run ended, the run and the words it is told. */
|
|
52
|
+
export declare function repliesFor(watched: Watched[], open: OpenRequest[]): {
|
|
53
|
+
run: string;
|
|
54
|
+
text: string;
|
|
55
|
+
}[];
|
|
56
|
+
/** What came on this machine's agents' open pull requests since each ended, as a scheduler's row reads it. Throws when GitHub cannot answer. */
|
|
57
|
+
export declare function listReplies(repo: string, deps?: {
|
|
58
|
+
gh?: GhRunner;
|
|
59
|
+
host?: string;
|
|
60
|
+
runs?: () => Promise<RunCard[]>;
|
|
61
|
+
}): Promise<{
|
|
62
|
+
run: string;
|
|
63
|
+
text: string;
|
|
64
|
+
}[]>;
|
|
65
|
+
export {};
|
|
66
|
+
//# sourceMappingURL=replies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replies.d.ts","sourceRoot":"","sources":["../src/replies.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAErD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,gGAAgG;AAChG,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,yEAAyE;AACzE,eAAO,MAAM,aAAa,KAAK,CAAA;AAW/B;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAUzE;AA2BD,kGAAkG;AAClG,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED,oEAAoE;AACpE,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,IAAI,EAAE,CAAA;CACb;AAkBD,sHAAsH;AACtH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,EAAE,CAqChE;AAED,8GAA8G;AAC9G,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAUnG;AAED,gJAAgJ;AAChJ,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,EAAE,CAAC,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;CAAO,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAMtK"}
|
package/dist/replies.js
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { hostname } from 'node:os';
|
|
2
|
+
import { listRuns } from '@openagt/skill-logs';
|
|
3
|
+
import { nodeGhRunner } from './gh.js';
|
|
4
|
+
/** The open pull requests one GitHub call reads, newest change first. */
|
|
5
|
+
export const REPLIES_LIMIT = 50;
|
|
6
|
+
/** The authors whose words count: those who can write to the repository. */
|
|
7
|
+
const MAINTAINERS = new Set(['OWNER', 'MEMBER', 'COLLABORATOR']);
|
|
8
|
+
/** What an agent puts on what it posts. */
|
|
9
|
+
const AGENT_MARK = '🤖';
|
|
10
|
+
/** A check's ending that is red. */
|
|
11
|
+
const RED = new Set(['FAILURE', 'TIMED_OUT', 'STARTUP_FAILURE', 'ACTION_REQUIRED', 'ERROR', 'CANCELLED']);
|
|
12
|
+
/**
|
|
13
|
+
* Each pull request the runs worked on, with the run that last did, when that run is this
|
|
14
|
+
* machine's and has ended. A pull request a run still works on, on any machine, is left to it.
|
|
15
|
+
*/
|
|
16
|
+
export function watchedRequests(cards, host) {
|
|
17
|
+
const byRequest = new Map();
|
|
18
|
+
for (const card of cards)
|
|
19
|
+
if (card.pr)
|
|
20
|
+
byRequest.set(card.pr.number, [...(byRequest.get(card.pr.number) ?? []), card]);
|
|
21
|
+
const watched = [];
|
|
22
|
+
for (const [number, runs] of byRequest) {
|
|
23
|
+
if (runs.some(card => card.status === 'running'))
|
|
24
|
+
continue;
|
|
25
|
+
const last = runs.filter(card => card.endedAt !== undefined).sort((a, b) => Date.parse(b.endedAt) - Date.parse(a.endedAt))[0];
|
|
26
|
+
if (last && last.caller?.['host'] === host)
|
|
27
|
+
watched.push({ number, run: last.id, endedAt: last.endedAt });
|
|
28
|
+
}
|
|
29
|
+
return watched.sort((a, b) => a.number - b.number);
|
|
30
|
+
}
|
|
31
|
+
const QUERY = `query($owner: String!, $name: String!) {
|
|
32
|
+
repository(owner: $owner, name: $name) {
|
|
33
|
+
pullRequests(states: OPEN, first: ${REPLIES_LIMIT}, orderBy: { field: UPDATED_AT, direction: DESC }) {
|
|
34
|
+
nodes {
|
|
35
|
+
number url mergeable
|
|
36
|
+
baseRef { name target { ... on Commit { committedDate } } }
|
|
37
|
+
comments(last: 30) { nodes { author { login } authorAssociation body createdAt url } }
|
|
38
|
+
reviews(last: 30) {
|
|
39
|
+
nodes {
|
|
40
|
+
author { login } authorAssociation body state submittedAt url
|
|
41
|
+
comments(first: 30) { nodes { author { login } authorAssociation body path line createdAt url } }
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
commits(last: 1) {
|
|
45
|
+
nodes { commit { statusCheckRollup { contexts(first: 50) { nodes {
|
|
46
|
+
__typename
|
|
47
|
+
... on CheckRun { name conclusion completedAt detailsUrl }
|
|
48
|
+
... on StatusContext { context state createdAt targetUrl }
|
|
49
|
+
} } } } }
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}`;
|
|
55
|
+
/** The gh command line of the one read: the repository is the one the working directory is in. */
|
|
56
|
+
export function repliesArgs() {
|
|
57
|
+
return ['api', 'graphql', '-F', 'owner={owner}', '-F', 'name={repo}', '-f', `query=${QUERY}`];
|
|
58
|
+
}
|
|
59
|
+
const nodes = (value) => {
|
|
60
|
+
const list = value?.nodes;
|
|
61
|
+
return Array.isArray(list) ? list.filter((n) => typeof n === 'object' && n !== null) : [];
|
|
62
|
+
};
|
|
63
|
+
const text = (value) => (typeof value === 'string' && value !== '' ? value : undefined);
|
|
64
|
+
const login = (node) => text(node['author']?.['login']) ?? 'someone';
|
|
65
|
+
/** A maintainer's words that are no agent's: what counts of a comment or a review. */
|
|
66
|
+
function maintainers(node) {
|
|
67
|
+
const body = text(node['body'])?.trim();
|
|
68
|
+
if (!body || body.includes(AGENT_MARK) || !MAINTAINERS.has(String(node['authorAssociation'])))
|
|
69
|
+
return undefined;
|
|
70
|
+
return body;
|
|
71
|
+
}
|
|
72
|
+
/** The pull requests GitHub answered, each with what came on it; one it answered in a shape not known is left out. */
|
|
73
|
+
export function parseOpenRequests(output) {
|
|
74
|
+
const repository = output?.['data']?.['repository'];
|
|
75
|
+
const requests = [];
|
|
76
|
+
for (const pr of nodes(repository?.['pullRequests'])) {
|
|
77
|
+
if (typeof pr['number'] !== 'number' || typeof pr['url'] !== 'string')
|
|
78
|
+
continue;
|
|
79
|
+
const came = [];
|
|
80
|
+
for (const comment of nodes(pr['comments'])) {
|
|
81
|
+
const body = maintainers(comment);
|
|
82
|
+
const at = text(comment['createdAt']);
|
|
83
|
+
if (body && at)
|
|
84
|
+
came.push({ at, line: `@${login(comment)} commented (${comment['url']}):\n${body}` });
|
|
85
|
+
}
|
|
86
|
+
for (const review of nodes(pr['reviews'])) {
|
|
87
|
+
const at = text(review['submittedAt']);
|
|
88
|
+
const body = maintainers(review);
|
|
89
|
+
// A request for changes counts with no words too; an approval with none asks nothing, and a review's comments count one by one.
|
|
90
|
+
const changes = review['state'] === 'CHANGES_REQUESTED' && MAINTAINERS.has(String(review['authorAssociation'])) && !text(review['body'])?.includes(AGENT_MARK);
|
|
91
|
+
if (at && (body || changes))
|
|
92
|
+
came.push({ at, line: `@${login(review)} ${changes ? 'requested changes' : 'reviewed'} (${review['url']})${body ? `:\n${body}` : '.'}` });
|
|
93
|
+
for (const comment of nodes(review['comments'])) {
|
|
94
|
+
const words = maintainers(comment);
|
|
95
|
+
const when = text(comment['createdAt']);
|
|
96
|
+
const where = `${comment['path']}${typeof comment['line'] === 'number' ? ` line ${comment['line']}` : ''}`;
|
|
97
|
+
if (words && when)
|
|
98
|
+
came.push({ at: when, line: `@${login(comment)} on ${where} (${comment['url']}):\n${words}` });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const commit = nodes(pr['commits'])[0]?.['commit']?.['statusCheckRollup'];
|
|
102
|
+
for (const check of nodes(commit?.['contexts'])) {
|
|
103
|
+
const run = check['__typename'] === 'CheckRun';
|
|
104
|
+
const ending = String(run ? check['conclusion'] : check['state']);
|
|
105
|
+
const at = text(run ? check['completedAt'] : check['createdAt']);
|
|
106
|
+
if (at && RED.has(ending))
|
|
107
|
+
came.push({ at, line: `The check "${run ? check['name'] : check['context']}" failed (${(run ? check['detailsUrl'] : check['targetUrl']) ?? 'no link'}).` });
|
|
108
|
+
}
|
|
109
|
+
const base = pr['baseRef'];
|
|
110
|
+
const moved = text(base?.['target']?.['committedDate']);
|
|
111
|
+
if (pr['mergeable'] === 'CONFLICTING' && moved)
|
|
112
|
+
came.push({ at: moved, line: `It conflicts with ${base?.['name']}, which moved since.` });
|
|
113
|
+
requests.push({ number: pr['number'], url: pr['url'], came });
|
|
114
|
+
}
|
|
115
|
+
return requests;
|
|
116
|
+
}
|
|
117
|
+
/** For each watched pull request with something new since its run ended, the run and the words it is told. */
|
|
118
|
+
export function repliesFor(watched, open) {
|
|
119
|
+
const replies = [];
|
|
120
|
+
for (const { number, run, endedAt } of watched) {
|
|
121
|
+
const request = open.find(r => r.number === number);
|
|
122
|
+
// ISO times compare as text only in one shape: GitHub's have no fraction, a record's do.
|
|
123
|
+
const after = Date.parse(endedAt);
|
|
124
|
+
const came = request?.came.filter(c => Date.parse(c.at) > after).sort((a, b) => Date.parse(a.at) - Date.parse(b.at)) ?? [];
|
|
125
|
+
if (request && came.length > 0)
|
|
126
|
+
replies.push({ run, text: [`On your pull request #${number} (${request.url}), since you ended:`, ...came.map(c => `- ${c.line}`)].join('\n') });
|
|
127
|
+
}
|
|
128
|
+
return replies;
|
|
129
|
+
}
|
|
130
|
+
/** What came on this machine's agents' open pull requests since each ended, as a scheduler's row reads it. Throws when GitHub cannot answer. */
|
|
131
|
+
export async function listReplies(repo, deps = {}) {
|
|
132
|
+
const watched = watchedRequests(await (deps.runs ?? (() => listRuns(repo)))(), deps.host ?? hostname());
|
|
133
|
+
// Nothing to watch asks GitHub nothing.
|
|
134
|
+
if (watched.length === 0)
|
|
135
|
+
return [];
|
|
136
|
+
const answered = await (deps.gh ?? nodeGhRunner())(repliesArgs(), repo);
|
|
137
|
+
return repliesFor(watched, parseOpenRequests(JSON.parse(answered)));
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=replies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replies.js","sourceRoot":"","sources":["../src/replies.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openagt/skill-github",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "GitHub as a skill for coding agents: the project's pull requests and issues through gh, and the one command OpenAgent and the scheduler run for the git host: requests, open, merge, home.",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "GitHub as a skill for coding agents: the project's pull requests and issues through gh, and the one command OpenAgent and the scheduler run for the git host: requests, open, merge, home, and replies, what came on the pull requests this machine's agents opened since each ended.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
"./SKILL.md": "./SKILL.md"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@openagt/agent-data": "0.0.
|
|
39
|
+
"@openagt/agent-data": "0.0.6",
|
|
40
|
+
"@openagt/skill-logs": "0.1.3"
|
|
40
41
|
},
|
|
41
42
|
"devDependencies": {
|
|
42
43
|
"@types/node": "^20.0.0",
|