@open-everywhere/provider-github 0.8.1 → 0.9.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/agent/app-manifest.ts +39 -17
- package/agent/channels/github-catch-up.ts +9 -4
- package/agent/channels/github-credentials.ts +41 -0
- package/agent/channels/github-engagement.ts +1 -1
- package/agent/channels/github-event-reach.ts +9 -4
- package/agent/channels/github-post-arm.ts +15 -12
- package/agent/channels/github-reaction-feedback.ts +2 -2
- package/agent/channels/github.ts +58 -14
- package/agent/docs-generated.ts +42 -23
- package/agent/memory/memory.ts +13 -12
- package/agent/ops.ts +9 -6
- package/dist/agent/app-manifest.d.ts +16 -3
- package/dist/agent/app-manifest.d.ts.map +1 -1
- package/dist/agent/app-manifest.js +32 -17
- package/dist/agent/app-manifest.js.map +1 -1
- package/dist/agent/channels/github-catch-up.d.ts.map +1 -1
- package/dist/agent/channels/github-catch-up.js +9 -5
- package/dist/agent/channels/github-catch-up.js.map +1 -1
- package/dist/agent/channels/github-credentials.d.ts +10 -0
- package/dist/agent/channels/github-credentials.d.ts.map +1 -0
- package/dist/agent/channels/github-credentials.js +40 -0
- package/dist/agent/channels/github-credentials.js.map +1 -0
- package/dist/agent/channels/github-engagement.d.ts +1 -1
- package/dist/agent/channels/github-engagement.js +1 -1
- package/dist/agent/channels/github-event-reach.d.ts +3 -2
- package/dist/agent/channels/github-event-reach.d.ts.map +1 -1
- package/dist/agent/channels/github-event-reach.js +8 -4
- package/dist/agent/channels/github-event-reach.js.map +1 -1
- package/dist/agent/channels/github-post-arm.d.ts.map +1 -1
- package/dist/agent/channels/github-post-arm.js +15 -14
- package/dist/agent/channels/github-post-arm.js.map +1 -1
- package/dist/agent/channels/github-reaction-feedback.d.ts +1 -1
- package/dist/agent/channels/github-reaction-feedback.js +2 -2
- package/dist/agent/channels/github-reaction-feedback.js.map +1 -1
- package/dist/agent/channels/github.d.ts +33 -0
- package/dist/agent/channels/github.d.ts.map +1 -1
- package/dist/agent/channels/github.js +57 -13
- package/dist/agent/channels/github.js.map +1 -1
- package/dist/agent/docs-generated.d.ts.map +1 -1
- package/dist/agent/docs-generated.js +42 -23
- package/dist/agent/docs-generated.js.map +1 -1
- package/dist/agent/memory/memory.d.ts +1 -0
- package/dist/agent/memory/memory.d.ts.map +1 -1
- package/dist/agent/memory/memory.js +12 -12
- package/dist/agent/memory/memory.js.map +1 -1
- package/dist/agent/ops.d.ts.map +1 -1
- package/dist/agent/ops.js +9 -6
- package/dist/agent/ops.js.map +1 -1
- package/package.json +6 -2
|
@@ -5,6 +5,7 @@ export interface GitHubMemoryDeps {
|
|
|
5
5
|
mintToken(repo: string): Promise<string>;
|
|
6
6
|
/** The bot commit identity (open-everywhere[bot]). */
|
|
7
7
|
committer(): CommitId;
|
|
8
|
+
/** The branch to read and commit. Absent ⇒ the `memory.gitBranch` setting, read per call (OPE-2650: was `OE_MEMORY_GIT_BRANCH`). */
|
|
8
9
|
readonly branch?: string;
|
|
9
10
|
}
|
|
10
11
|
export declare function makeGitHubProvider(deps: GitHubMemoryDeps): MemoryProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../agent/memory/memory.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,UAAU,EAIf,KAAK,kBAAkB,EACvB,gBAAgB,EAOhB,cAAc,EACd,KAAK,QAAQ,EACb,YAAY,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../agent/memory/memory.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,UAAU,EAIf,KAAK,kBAAkB,EACvB,gBAAgB,EAOhB,cAAc,EACd,KAAK,QAAQ,EACb,YAAY,EAIb,MAAM,4CAA4C,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,+DAA+D;IAC/D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,sDAAsD;IACtD,SAAS,IAAI,QAAQ,CAAC;IACtB,oIAAoI;IACpI,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAeD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,cAAc,CAmGzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAWxG;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAAC,CAAC;AAE1G,+FAA+F;AAC/F,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,gBAAgB,CAAC;CAC7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,4BAAiC,GAAG,OAAO,CA8BrF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAWpD"}
|
|
@@ -19,8 +19,7 @@
|
|
|
19
19
|
// committer) so it's unit-testable offline; registerGitHubMemory() wires the real GitHub App plane
|
|
20
20
|
// AND declares the connector-memory capability that carries the prefetch invariant.
|
|
21
21
|
import { createHash } from "node:crypto";
|
|
22
|
-
import { registerProvider, registerConnectorMemory, tierRelDir, safeName, seedFor, makeSelector, normalizeSelection, GitHubContents, getGitHubApp, MEMORY_WRITE_PERMISSIONS, warmCredential, } from "@open-everywhere/core/agent/adapter-api.js";
|
|
23
|
-
const DEFAULT_BRANCH = process.env.OE_MEMORY_GIT_BRANCH || "main";
|
|
22
|
+
import { registerProvider, registerConnectorMemory, tierRelDir, safeName, seedFor, makeSelector, normalizeSelection, GitHubContents, getGitHubApp, MEMORY_WRITE_PERMISSIONS, warmCredential, getSettings, } from "@open-everywhere/core/agent/adapter-api.js";
|
|
24
23
|
function requireSilo(silo) {
|
|
25
24
|
if (!silo?.container) {
|
|
26
25
|
throw new Error('github memory backing needs a silo with container "owner/repo" (memory/silo.ts).');
|
|
@@ -33,16 +32,17 @@ function repoPath(silo, p, tier) {
|
|
|
33
32
|
return [silo.path, safeName(p.org), tierRelDir(p, tier)].filter((s) => s && s.length > 0).join("/");
|
|
34
33
|
}
|
|
35
34
|
export function makeGitHubProvider(deps) {
|
|
36
|
-
|
|
35
|
+
// Per call, not at construction: a deployment's `memory.gitBranch` then reaches every read and write.
|
|
36
|
+
const branchOf = () => deps.branch ?? getSettings().memory.gitBranch;
|
|
37
37
|
async function read(p, tier, siloArg) {
|
|
38
38
|
const silo = requireSilo(siloArg);
|
|
39
39
|
const repo = silo.container;
|
|
40
40
|
const dir = repoPath(silo, p, tier);
|
|
41
41
|
const token = await deps.mintToken(repo);
|
|
42
|
-
const shas = await deps.contents.listFiles(repo, dir,
|
|
42
|
+
const shas = await deps.contents.listFiles(repo, dir, branchOf(), token, makeSelector(normalizeSelection(silo)));
|
|
43
43
|
const out = {};
|
|
44
44
|
for (const rel of Object.keys(shas)) {
|
|
45
|
-
const file = await deps.contents.getFile(repo, `${dir}/${rel}`,
|
|
45
|
+
const file = await deps.contents.getFile(repo, `${dir}/${rel}`, branchOf(), token);
|
|
46
46
|
if (file)
|
|
47
47
|
out[rel] = file.content;
|
|
48
48
|
}
|
|
@@ -58,11 +58,11 @@ export function makeGitHubProvider(deps) {
|
|
|
58
58
|
let changed = false;
|
|
59
59
|
for (const [rel, content] of Object.entries(files)) {
|
|
60
60
|
const path = `${dir}/${rel}`;
|
|
61
|
-
const existing = await deps.contents.getFile(repo, path,
|
|
61
|
+
const existing = await deps.contents.getFile(repo, path, branchOf(), token);
|
|
62
62
|
if (existing && existing.content === content)
|
|
63
63
|
continue; // unchanged → skip (no-op)
|
|
64
64
|
changed = true;
|
|
65
|
-
last = await deps.contents.putFile(repo, path, content, message,
|
|
65
|
+
last = await deps.contents.putFile(repo, path, content, message, branchOf(), token, committer, existing?.sha);
|
|
66
66
|
}
|
|
67
67
|
return changed ? last : null; // null when nothing changed (matches the provider contract)
|
|
68
68
|
}
|
|
@@ -86,7 +86,7 @@ export function makeGitHubProvider(deps) {
|
|
|
86
86
|
const repo = silo.container;
|
|
87
87
|
const dir = repoPath(silo, p, tier);
|
|
88
88
|
const token = await deps.mintToken(repo);
|
|
89
|
-
const shas = await deps.contents.listFiles(repo, dir,
|
|
89
|
+
const shas = await deps.contents.listFiles(repo, dir, branchOf(), token, makeSelector(normalizeSelection(silo)));
|
|
90
90
|
const entries = Object.entries(shas).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
|
|
91
91
|
if (entries.length === 0)
|
|
92
92
|
return null;
|
|
@@ -109,7 +109,7 @@ export function makeGitHubProvider(deps) {
|
|
|
109
109
|
const repo = silo.container;
|
|
110
110
|
const path = `${repoPath(silo, p, tier)}/${relPath}`;
|
|
111
111
|
const token = await deps.mintToken(repo);
|
|
112
|
-
const existing = await deps.contents.getFile(repo, path,
|
|
112
|
+
const existing = await deps.contents.getFile(repo, path, branchOf(), token);
|
|
113
113
|
if (!existing)
|
|
114
114
|
return null; // already absent — idempotent, matches writeTier's "nothing changed"
|
|
115
115
|
const committer = deps.committer();
|
|
@@ -119,7 +119,7 @@ export function makeGitHubProvider(deps) {
|
|
|
119
119
|
// propagates to the caller uncaught — control/writes.ts's memory_delete_file
|
|
120
120
|
// catches it, surfaces a structured error, AND audits the failed attempt. Never a
|
|
121
121
|
// silent no-op reporting `deleted: true` while the file survives.
|
|
122
|
-
return deps.contents.deleteFile(repo, path, existing.sha, `delete ${relPath} from ${tier.kind} memory`,
|
|
122
|
+
return deps.contents.deleteFile(repo, path, existing.sha, `delete ${relPath} from ${tier.kind} memory`, branchOf(), token, committer);
|
|
123
123
|
},
|
|
124
124
|
deleteTier: async (p, tier, siloArg) => {
|
|
125
125
|
const silo = requireSilo(siloArg);
|
|
@@ -127,9 +127,9 @@ export function makeGitHubProvider(deps) {
|
|
|
127
127
|
const dir = repoPath(silo, p, tier);
|
|
128
128
|
const token = await deps.mintToken(repo);
|
|
129
129
|
const committer = deps.committer();
|
|
130
|
-
const shas = await deps.contents.listFiles(repo, dir,
|
|
130
|
+
const shas = await deps.contents.listFiles(repo, dir, branchOf(), token, makeSelector(normalizeSelection(silo)));
|
|
131
131
|
for (const [rel, sha] of Object.entries(shas)) {
|
|
132
|
-
await deps.contents.deleteFile(repo, `${dir}/${rel}`, sha, `delete ${tier.kind} memory`,
|
|
132
|
+
await deps.contents.deleteFile(repo, `${dir}/${rel}`, sha, `delete ${tier.kind} memory`, branchOf(), token, committer);
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
135
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../agent/memory/memory.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,gGAAgG;AAChG,8FAA8F;AAC9F,8FAA8F;AAC9F,uBAAuB;AACvB,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,8FAA8F;AAC9F,gGAAgG;AAChG,uCAAuC;AACvC,EAAE;AACF,6FAA6F;AAC7F,6FAA6F;AAC7F,iGAAiG;AACjG,oDAAoD;AACpD,EAAE;AACF,iGAAiG;AACjG,mGAAmG;AACnG,oFAAoF;AAEpF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAOL,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,kBAAkB,EAClB,cAAc,EAEd,YAAY,EACZ,wBAAwB,EACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../agent/memory/memory.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/ops.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../agent/ops.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../agent/ops.ts"],"names":[],"mappings":"AAkBA,6FAA6F;AAC7F,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC"}
|
package/dist/agent/ops.js
CHANGED
|
@@ -4,18 +4,21 @@
|
|
|
4
4
|
// no agent boot) can register it without pulling the whole channel graph — the same split slack
|
|
5
5
|
// and teams use.
|
|
6
6
|
//
|
|
7
|
-
// This file (not core) owns the credential-probe use of
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
// zero-residue fingerprint, only the telemetry
|
|
7
|
+
// This file (not core) owns the credential-probe use of the `github.appId` setting (was the
|
|
8
|
+
// OE_GITHUB_APP_ID env var until OPE-2650). The setting stays known to core too
|
|
9
|
+
// (packages/core/agent/scm/config.ts) — the SCM subsystem is a SEPARATE concern that stays in core by
|
|
10
|
+
// doctrine (see register.ts's header) — so this is not a zero-residue fingerprint, only the telemetry
|
|
11
|
+
// probe's own home.
|
|
11
12
|
//
|
|
12
13
|
// ONE-CLICK APP CREATION (OPE-2529): it also registers the GitHub App manifest flow, which the
|
|
13
14
|
// `surface_app_create` ops tool drives. The manifest and the code exchange live in app-manifest.ts.
|
|
14
|
-
import { registerSurfaceAppCreateFlow, registerSurfaceCredentialProbe } from "@open-everywhere/core/agent/adapter-api-ops.js";
|
|
15
|
+
import { getSettings, registerOperatorSecretNames, registerSurfaceAppCreateFlow, registerSurfaceCredentialProbe } from "@open-everywhere/core/agent/adapter-api-ops.js";
|
|
15
16
|
import { GITHUB_APP_CREATE_FLOW } from "./app-manifest.js";
|
|
16
17
|
/** Register the github ops-plane arms (telemetry presence probe, one-click App creation). */
|
|
17
18
|
export function registerGithubOps() {
|
|
18
|
-
registerSurfaceCredentialProbe("github", () =>
|
|
19
|
+
registerSurfaceCredentialProbe("github", () => getSettings().github.appId !== "");
|
|
19
20
|
registerSurfaceAppCreateFlow("github", GITHUB_APP_CREATE_FLOW);
|
|
21
|
+
// The webhook secret is an operator secret (OPE-2650); core registers the App key itself.
|
|
22
|
+
registerOperatorSecretNames(["GITHUB_WEBHOOK_SECRET"]);
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=ops.js.map
|
package/dist/agent/ops.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../agent/ops.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,6FAA6F;AAC7F,4FAA4F;AAC5F,gGAAgG;AAChG,iBAAiB;AACjB,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../agent/ops.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,6FAA6F;AAC7F,4FAA4F;AAC5F,gGAAgG;AAChG,iBAAiB;AACjB,EAAE;AACF,4FAA4F;AAC5F,gFAAgF;AAChF,sGAAsG;AACtG,sGAAsG;AACtG,oBAAoB;AACpB,EAAE;AACF,+FAA+F;AAC/F,oGAAoG;AAEpG,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AACxK,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,6FAA6F;AAC7F,MAAM,UAAU,iBAAiB;IAC/B,8BAA8B,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IAClF,4BAA4B,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAC/D,0FAA0F;IAC1F,2BAA2B,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-everywhere/provider-github",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Open Everywhere GitHub provider — GitHub issues and pull requests as a conversational wake surface.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent",
|
|
@@ -44,6 +44,10 @@
|
|
|
44
44
|
"types": "./dist/agent/channels/github-catch-up.d.ts",
|
|
45
45
|
"default": "./dist/agent/channels/github-catch-up.js"
|
|
46
46
|
},
|
|
47
|
+
"./agent/channels/github-credentials.js": {
|
|
48
|
+
"types": "./dist/agent/channels/github-credentials.d.ts",
|
|
49
|
+
"default": "./dist/agent/channels/github-credentials.js"
|
|
50
|
+
},
|
|
47
51
|
"./agent/channels/github-engagement.js": {
|
|
48
52
|
"types": "./dist/agent/channels/github-engagement.d.ts",
|
|
49
53
|
"default": "./dist/agent/channels/github-engagement.js"
|
|
@@ -154,7 +158,7 @@
|
|
|
154
158
|
"test:github-reaction-scope": "NODE_NO_WARNINGS=1 tsx scripts/github-reaction-scope-test.ts"
|
|
155
159
|
},
|
|
156
160
|
"dependencies": {
|
|
157
|
-
"@open-everywhere/core": "0.
|
|
161
|
+
"@open-everywhere/core": "0.9.0",
|
|
158
162
|
"zod": "4.5.4"
|
|
159
163
|
},
|
|
160
164
|
"peerDependencies": {
|