@open-everywhere/provider-github 0.0.0-stage → 0.1.1

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.
Files changed (111) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +21 -0
  3. package/README.md +50 -2
  4. package/agent/channels/github-catch-up.ts +134 -0
  5. package/agent/channels/github-engagement.ts +381 -0
  6. package/agent/channels/github-identity.ts +376 -0
  7. package/agent/channels/github-installations.ts +152 -0
  8. package/agent/channels/github-message-ops.ts +62 -0
  9. package/agent/channels/github-origin-codec.ts +42 -0
  10. package/agent/channels/github-post-arm.ts +422 -0
  11. package/agent/channels/github-reaction-feedback.ts +489 -0
  12. package/agent/channels/github-reaction-scope.ts +312 -0
  13. package/agent/channels/github-read.ts +471 -0
  14. package/agent/channels/github-stop.ts +175 -0
  15. package/agent/channels/github-supervisor.ts +645 -0
  16. package/agent/channels/github-webhook-verifier.ts +56 -0
  17. package/agent/channels/github.ts +1458 -0
  18. package/agent/contributions.ts +31 -0
  19. package/agent/docs-generated.ts +15 -0
  20. package/agent/memory/memory.ts +265 -0
  21. package/agent/ops.ts +17 -0
  22. package/agent/provider-events.ts +114 -0
  23. package/agent/register.ts +130 -0
  24. package/agent/surface-parity.ts +116 -0
  25. package/dist/agent/channels/github-catch-up.d.ts +29 -0
  26. package/dist/agent/channels/github-catch-up.d.ts.map +1 -0
  27. package/dist/agent/channels/github-catch-up.js +105 -0
  28. package/dist/agent/channels/github-catch-up.js.map +1 -0
  29. package/dist/agent/channels/github-engagement.d.ts +223 -0
  30. package/dist/agent/channels/github-engagement.d.ts.map +1 -0
  31. package/dist/agent/channels/github-engagement.js +317 -0
  32. package/dist/agent/channels/github-engagement.js.map +1 -0
  33. package/dist/agent/channels/github-identity.d.ts +164 -0
  34. package/dist/agent/channels/github-identity.d.ts.map +1 -0
  35. package/dist/agent/channels/github-identity.js +295 -0
  36. package/dist/agent/channels/github-identity.js.map +1 -0
  37. package/dist/agent/channels/github-installations.d.ts +49 -0
  38. package/dist/agent/channels/github-installations.d.ts.map +1 -0
  39. package/dist/agent/channels/github-installations.js +114 -0
  40. package/dist/agent/channels/github-installations.js.map +1 -0
  41. package/dist/agent/channels/github-message-ops.d.ts +3 -0
  42. package/dist/agent/channels/github-message-ops.d.ts.map +1 -0
  43. package/dist/agent/channels/github-message-ops.js +58 -0
  44. package/dist/agent/channels/github-message-ops.js.map +1 -0
  45. package/dist/agent/channels/github-origin-codec.d.ts +7 -0
  46. package/dist/agent/channels/github-origin-codec.d.ts.map +1 -0
  47. package/dist/agent/channels/github-origin-codec.js +36 -0
  48. package/dist/agent/channels/github-origin-codec.js.map +1 -0
  49. package/dist/agent/channels/github-post-arm.d.ts +54 -0
  50. package/dist/agent/channels/github-post-arm.d.ts.map +1 -0
  51. package/dist/agent/channels/github-post-arm.js +339 -0
  52. package/dist/agent/channels/github-post-arm.js.map +1 -0
  53. package/dist/agent/channels/github-reaction-feedback.d.ts +97 -0
  54. package/dist/agent/channels/github-reaction-feedback.d.ts.map +1 -0
  55. package/dist/agent/channels/github-reaction-feedback.js +380 -0
  56. package/dist/agent/channels/github-reaction-feedback.js.map +1 -0
  57. package/dist/agent/channels/github-reaction-scope.d.ts +102 -0
  58. package/dist/agent/channels/github-reaction-scope.d.ts.map +1 -0
  59. package/dist/agent/channels/github-reaction-scope.js +296 -0
  60. package/dist/agent/channels/github-reaction-scope.js.map +1 -0
  61. package/dist/agent/channels/github-read.d.ts +135 -0
  62. package/dist/agent/channels/github-read.d.ts.map +1 -0
  63. package/dist/agent/channels/github-read.js +371 -0
  64. package/dist/agent/channels/github-read.js.map +1 -0
  65. package/dist/agent/channels/github-stop.d.ts +52 -0
  66. package/dist/agent/channels/github-stop.d.ts.map +1 -0
  67. package/dist/agent/channels/github-stop.js +145 -0
  68. package/dist/agent/channels/github-stop.js.map +1 -0
  69. package/dist/agent/channels/github-supervisor.d.ts +308 -0
  70. package/dist/agent/channels/github-supervisor.d.ts.map +1 -0
  71. package/dist/agent/channels/github-supervisor.js +339 -0
  72. package/dist/agent/channels/github-supervisor.js.map +1 -0
  73. package/dist/agent/channels/github-webhook-verifier.d.ts +5 -0
  74. package/dist/agent/channels/github-webhook-verifier.d.ts.map +1 -0
  75. package/dist/agent/channels/github-webhook-verifier.js +55 -0
  76. package/dist/agent/channels/github-webhook-verifier.js.map +1 -0
  77. package/dist/agent/channels/github.d.ts +139 -0
  78. package/dist/agent/channels/github.d.ts.map +1 -0
  79. package/dist/agent/channels/github.js +1232 -0
  80. package/dist/agent/channels/github.js.map +1 -0
  81. package/dist/agent/contributions.d.ts +12 -0
  82. package/dist/agent/contributions.d.ts.map +1 -0
  83. package/dist/agent/contributions.js +31 -0
  84. package/dist/agent/contributions.js.map +1 -0
  85. package/dist/agent/docs-generated.d.ts +3 -0
  86. package/dist/agent/docs-generated.d.ts.map +1 -0
  87. package/dist/agent/docs-generated.js +13 -0
  88. package/dist/agent/docs-generated.js.map +1 -0
  89. package/dist/agent/memory/memory.d.ts +54 -0
  90. package/dist/agent/memory/memory.d.ts.map +1 -0
  91. package/dist/agent/memory/memory.js +224 -0
  92. package/dist/agent/memory/memory.js.map +1 -0
  93. package/dist/agent/ops.d.ts +3 -0
  94. package/dist/agent/ops.d.ts.map +1 -0
  95. package/dist/agent/ops.js +16 -0
  96. package/dist/agent/ops.js.map +1 -0
  97. package/dist/agent/provider-events.d.ts +3 -0
  98. package/dist/agent/provider-events.d.ts.map +1 -0
  99. package/dist/agent/provider-events.js +112 -0
  100. package/dist/agent/provider-events.js.map +1 -0
  101. package/dist/agent/register.d.ts +4 -0
  102. package/dist/agent/register.d.ts.map +1 -0
  103. package/dist/agent/register.js +116 -0
  104. package/dist/agent/register.js.map +1 -0
  105. package/dist/agent/surface-parity.d.ts +3 -0
  106. package/dist/agent/surface-parity.d.ts.map +1 -0
  107. package/dist/agent/surface-parity.js +110 -0
  108. package/dist/agent/surface-parity.js.map +1 -0
  109. package/package.json +156 -4
  110. package/tsconfig.build.json +22 -0
  111. package/tsconfig.json +15 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../agent/channels/github.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare const CONTRIBUTIONS: {
2
+ readonly schemaVersion: 1;
3
+ readonly package: "@open-everywhere/provider-github";
4
+ readonly register: "agent/register.js#registerGithubProvider";
5
+ readonly contributions: readonly [{
6
+ readonly kind: "channel";
7
+ readonly name: "github";
8
+ readonly module: "agent/channels/github.js";
9
+ readonly summary: "GitHub — a PROPER conversational surface (not just an event pipe).";
10
+ }];
11
+ };
12
+ //# sourceMappingURL=contributions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributions.d.ts","sourceRoot":"","sources":["../../agent/contributions.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,aAAa;aACxB,aAAa,EAAE,CAAC;aAChB,OAAO,EAAE,kCAAkC;aAC3C,QAAQ,EAAE,0CAA0C;aACpD,aAAa;iBAET,IAAI,EAAE,SAAS;iBAAE,IAAI,EAAE,QAAQ;iBAAE,MAAM,EAAE,0BAA0B;iBAAE,OAAO,EAAE,oEAAoE;;CAE9I,CAAC"}
@@ -0,0 +1,31 @@
1
+ // THE CONTRIBUTION MANIFEST for `@open-everywhere/provider-github` (OPE-375) — the curated
2
+ // catalogue of everything this package OFFERS an app's eve slot tree. `oe build` reads it;
3
+ // the app's `roster.config.ts` decides about it, and `roster.lock.json` records the review.
4
+ //
5
+ // 🔴 CURATED, NOT SCANNED, AND THAT IS MEASURED RATHER THAN STYLISTIC. A directory scan cannot
6
+ // enumerate contributions: core ships 47 files under `agent/channels/` of which 9 are channels, and
7
+ // 13 under `agent/connections/` of which 1 is a connection. Shape predicates do not rescue it either
8
+ // — only 8 of the 9 mounted core channels contain `defineChannel(`. A hand-kept list is the only
9
+ // honest catalogue, so keeping it current is a real authoring duty (`npm run lint:contributions`
10
+ // scan-compares the two kinds where a predicate IS sound — tools and hooks — and says plainly that
11
+ // the other four are unguarded).
12
+ //
13
+ // 🔴 THIS FILE IMPORTS NOTHING, DELIBERATELY. A provider bundle may reach core only through the
14
+ // `@open-everywhere/core/agent/adapter-api.js` barrel (the boundary lock, packages/core/scripts/
15
+ // boundary-test.ts), so a manifest that imported its own types would be a boundary red — and
16
+ // widening the barrel to admit a build-time type would be the wrong fix. Every manifest is therefore
17
+ // import-free DATA whose shape `roster-plan.ts` validates at build time, exactly as it must for a
18
+ // third-party package it has never seen. The types are in
19
+ // `@open-everywhere/core/agent/scaffold/roster-config.js` for READERS.
20
+ //
21
+ // ERASABLE SYNTAX ONLY (no `enum`, no `namespace`) — `oe build` loads this with a bare import.
22
+ export const CONTRIBUTIONS = {
23
+ schemaVersion: 1,
24
+ package: "@open-everywhere/provider-github",
25
+ register: "agent/register.js#registerGithubProvider",
26
+ contributions: [
27
+ // ── channels ─────────────────────────────────────────────────────────────────────────────────
28
+ { kind: "channel", name: "github", module: "agent/channels/github.js", summary: "GitHub — a PROPER conversational surface (not just an event pipe)." },
29
+ ],
30
+ };
31
+ //# sourceMappingURL=contributions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributions.js","sourceRoot":"","sources":["../../agent/contributions.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,2FAA2F;AAC3F,4FAA4F;AAC5F,EAAE;AACF,+FAA+F;AAC/F,oGAAoG;AACpG,qGAAqG;AACrG,iGAAiG;AACjG,iGAAiG;AACjG,mGAAmG;AACnG,iCAAiC;AACjC,EAAE;AACF,gGAAgG;AAChG,iGAAiG;AACjG,6FAA6F;AAC7F,qGAAqG;AACrG,kGAAkG;AAClG,0DAA0D;AAC1D,uEAAuE;AACvE,EAAE;AACF,+FAA+F;AAE/F,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,kCAAkC;IAC3C,QAAQ,EAAE,0CAA0C;IACpD,aAAa,EAAE;QACb,gGAAgG;QAChG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,oEAAoE,EAAE;KACvJ;CACO,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { DocEntry } from "@open-everywhere/core/agent/adapter-api.js";
2
+ export declare const PROVIDER_DOCS: readonly DocEntry[];
3
+ //# sourceMappingURL=docs-generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-generated.d.ts","sourceRoot":"","sources":["../../agent/docs-generated.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAE3E,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAO5C,CAAC"}
@@ -0,0 +1,13 @@
1
+ // GENERATED by `npx tsx scripts/docs-generate.ts` from docs/deploy/surfaces/github.md — DO NOT HAND-EDIT.
2
+ // Edit the markdown under docs/ and re-run the generator; `npm run lint:docs` fails the
3
+ // build if this file and its sources ever disagree. See scripts/docs-generate.ts for why the
4
+ // manual is compiled in at all (docs/ does not exist on disk in a hosted deployment).
5
+ export const PROVIDER_DOCS = [
6
+ {
7
+ path: "docs/deploy/surfaces/github.md",
8
+ title: "GitHub",
9
+ summary: "Install Open Everywhere's GitHub App on a repo and the agent becomes a conversational teammate on issues and pull requests: @mention it in an issue/PR/review comment and it wakes with the repo checked out into its sandbox (and the PR diff…",
10
+ markdown: "# GitHub\n\nInstall Open Everywhere's GitHub App on a repo and the agent becomes a **conversational\nteammate on issues and pull requests**: @mention it in an issue/PR/review comment and it wakes\nwith the repo checked out into its sandbox (and the PR diff in context), does the work, and\nreplies as a comment. Opt the repo's memory **domain** into ambient mode and it also becomes a\n**quiet standing reviewer**: it reads every issue/PR-timeline comment, judges each against a\ndeliberately high bar (GitHub defaults to the *reserved* calibration tier), and comments only\nwhere it clearly adds something — every silence audited.\n\nThis is the GitHub *conversational-surface* runbook. It is **distinct from the\n[source-control plane](../../capabilities/source-control.md)** (the agent's own coding loop —\ncheckout/push/PR via the `OE_GITHUB_*` credentials): the two are orthogonal planes that can\nshare one GitHub App but use **separate env var sets** (bare `GITHUB_*` here). For the concept\nof a *surface*, see [Surfaces](../../extending/surfaces.md). Like\n[Linear](./linear.md)/[Notion](./notion.md), GitHub is ticket/comment-based rather than\nchat-based, so it's out of scope for the chat [support matrix](./support-matrix.md).\n\n## How it works — three legs on one webhook route\n\nEvery GitHub App webhook delivery hits **`POST /eve/v1/github`** and feeds up to three legs:\n\n1. **The @mention leg** (eve's native `githubChannel`). Typing `@<app-slug>` in an issue, PR,\n or review comment wakes an agent session anchored to that conversation, with the repo\n checked out and (for PRs) the diff in context; the reply posts back as a comment. Note App\n bots don't appear in GitHub's `@` autocomplete — the mention matcher is text-based, so\n **type the slug in full** (e.g. `@open-everywhere`). The `@mention` also **engages** that\n issue or pull request: later plain comments on it wake the agent with no new mention, until\n somebody asks it to stop following — see [Reply without re-tagging](#reply-without-re-tagging)\n below.\n2. **The event → routine fan-out.** `issues` / `pull_request` / CI events fire any subscribed\n [event routines](../../capabilities/proactivity-and-routines.md) into their (Slack) surfaces.\n Before it fires, OE **re-fetches the entity over its own credential** rather than trusting the\n webhook body — *payload-as-pointer*. The fired message states the read instant and marks\n itself the current, authoritative state; the webhook's own one-line summary sits above it and\n may be older (a queued delivery can still describe a PR that has since merged), so that\n summary is HISTORY, not the present. The vendor's own `updated` timestamp, when GitHub sends\n one, is aged against the read the same way a [Linear](./linear.md#reading-an-issue) comment is.\n **The re-fetch applies to an issue or a pull request**, the two things GitHub serves under a\n number. A `check_run`, a `release` or a `workflow_run` is identified by an opaque id instead, so\n there is nothing to re-read: those fire from the webhook's own one-line summary and claim to have\n read nothing.\n A **`workflow_run`** fire also carries the run's branch, workflow name, status and conclusion as\n filterable fields, so \"a red build on our `main`\" is a subscription rather than a routine that\n wakes on every run and reads the payload:\n `.scope.container == \"acme/web\" and .fields.conclusion == \"failure\" and .fields.branch == \"main\"`.\n **The container clause is required, not decoration** — a `github` subscription that narrows by\n nothing is refused when you arm it, because one source spans every repo the App is installed on.\n And `branch` is a ref *name*: a run triggered by a pull request from a fork carries the\n contributor's head ref, and a fork's own default branch is usually `main` too, so `branch` alone\n does not prove the run ran on your branch. See the\n [event inventory](../../capabilities/proactivity-and-routines.md#the-event-inventory--what-each-vendor-can-send-and-how-far-we-carry-it)\n for what every other event does and does not carry.\n3. **The ambient-supervisor leg** (opt-in). Every *non-mention* issue/PR-timeline comment on an\n opted-in repo is judged by a **standing per-repo supervisor session** — the same ambient\n judge Slack channels and Notion docs use — which replies into the triggering issue/PR or\n stays audibly silent (a `github.no_reply` audit row, reason included).\n\n### Reply without re-tagging\n\nAn `@mention` marks that issue or pull request **engaged**. From then on a plain comment there\nwakes the agent — no second `@mention`, and no domain opt-in: the invitation was the comment\nsomebody already wrote.\n\n- **It is per container, never per repo.** Engaging issue #42 says nothing about #43.\n- **Private repos only.** A plain follow-up wakes a full turn — the agent checks the repo out and\n spends on the model — so on a public repo it would let any passer-by buy one. The follow-up\n therefore does nothing on a public repo, or on one whose privacy the delivery does not state.\n It is a *stricter* floor than ambient mode's below: ambient mode admits a public repo you vouched\n internal, and this one does not — vouching a repo never opens an uninvited full turn on it. An\n `@mention` still works on a public repo, exactly as before.\n- **Inline review comments do not count as follow-ups.** A review thread shares its pull request's\n container, so a plain inline comment on an engaged pull request wakes nothing — one review would\n otherwise start a turn per comment. `@mention` the app inside the review thread to get an answer\n there.\n- **Asking it to stop works, and it is durable.** Say it in words — \"leave this to us\", \"stop\n following this one\" — and the agent calls `stand_down`, which stores the stop against that\n issue. It then answers nothing there, on either leg, until somebody `@mentions` it again. A new\n `@mention` is the way back in; there is no timeout.\n- **A container nobody ever mentioned it in is untouched** by all of this. It wakes only through\n the ambient supervisor below, which is off until a domain opts in.\n- **The agent's own comments never re-trigger it**, and neither do other bots' — an engaged issue\n admits comments from people only.\n\n### Ambient mode — reserved by default, fail-closed everywhere\n\n- **Opt-in is per domain** (`ambientSupervisor: true` on the repo's memory domain — the same\n flag that turns on Slack/Notion ambient). Until a domain opts in, non-mention comments do\n nothing.\n- **A positively private repo, or any repo the operator vouched internal — fail-closed.** On a\n private repo every commenter was invited. On an unvouched public repo any drive-by stranger\n could buy judged model turns (an uninvited spend + prompt-injection surface). So the ambient\n leg runs on a repo the delivery states is private, and on any repo the operator vouched\n internal. It **drops every other comment** fail-closed — a repo that is neither positively\n private nor vouched, which includes a repo whose privacy the delivery does not state. Vouch\n one repo by declaring the surface key `github/<owner>` or `github/<owner>/<repo>` internal in\n the trust register (see\n [Identity](../../how-it-works/identity.md#the-trust-registry--declaring-what-a-rooms-audience-is));\n `OE_TRUST=internal` is the deployment-wide blanket, not the per-repo act.\n- **GitHub's calibration tier defaults to `reserved`** — a deliberately *higher* bar than\n Slack/Notion, because an over-eager bot in a collaborative code space reads as spam. Tune it\n per domain with `engagementTier` (see the\n [configuration reference](../configuration-reference.md#memory-domain--silo)).\n- **Mentions never double-handle, and neither do engaged follow-ups.** The ambient classifier\n reuses the exact mention gate the native leg wakes on. On a SINGLE-WINDOW, operator-vouched\n repo it returns `direct`, and the unified window answers the mention. On every other repo it\n *drops* the mention, because the native leg owns it. An engaged follow-up goes to whichever\n leg owns mentions on that repo, so the two legs partition every comment with no overlap and\n no gap:\n - on a repo where the NATIVE leg answers mentions, the native leg owns the engaged follow-up\n too, and the ambient leg drops it;\n - on a SINGLE-WINDOW, operator-vouched repo the native leg stands down for every comment\n (`shouldSuppressNativeMention`), so the AMBIENT leg owns the engaged follow-up and answers it\n as a judged wake — even with `ambientSupervisor` off. That wake states\n `follow-up=\"thread-engaged\"`, as the Slack, Linear and Notion wakes do, so the agent reads the\n follow-up as part of a conversation it is already in. An @mention carries no `follow-up`\n attribute: it is owed an answer whatever the enrolment says. The classifier itself reads no\n engagement row; the split is made at the native suppression gate.\n- **A stood-down container is dropped here too.** Once somebody asks the agent to stop following\n an issue, the ambient leg stops answering it as well, whatever this opt-in says. That is the\n only thing that makes the stop a stop rather than a note.\n- **The supervisor is silent plumbing.** Its judged turns add no 👀 reaction (the mention leg\n keeps its ack reaction), never check the repo out, and a *failed* judge turn is audited —\n never posted as an error comment.\n- Review-thread **inline** comments (`pull_request_review_comment`) are out of ambient scope\n v1 (a different reply/threading model); PR *timeline* comments are covered (GitHub delivers\n them as `issue_comment`).\n\n## How the silo model maps\n\n| Open Everywhere concept | GitHub thing |\n| --- | --- |\n| `org` (tenant) | your deployment (`deploymentIdentity.org` in `agent/identity/surfaces.ts`, one org per deploy today) |\n| `workspace` (identity key) | the repo **owner** (org/user login) |\n| `surface` (partition key) | the **repo** (one repo, many issues/PRs over time) |\n| invocation + post-back anchor | the **issue / PR** number |\n| `mode` | `channel` (GitHub has no 1:1 DM analog) |\n| `visibility` | `public` only for an explicitly public repo; else `private` (fail-closed) |\n\n**Trust fails closed.** Only a *private* repo touched by an org **OWNER/MEMBER** binds\n`internal` (shared/org memory readable); public repos, outside collaborators, and missing\nsignals bind `external`. The operator can vouch a deployment with `OE_TRUST=internal` — the\nsame layer the other non-Slack platforms use.\n\n## Setup\n\n1. **Create (or reuse) a GitHub App** with a webhook pointed at\n `https://<your-deploy-url>/eve/v1/github`, a webhook secret, and repo permissions for\n Issues + Pull requests (read/write) and Contents (read — the mention leg's sandbox\n checkout). **Grant Issues *and* Pull requests, both at read/write — neither alone is\n enough.** GitHub serves an issue and a PR through the same `/issues/{n}` endpoints but\n routes permission by the resource the number names, so an App missing either family goes\n 403 on half of its own conversations: missing Issues and it cannot read a plain issue,\n missing Pull requests and its replies never land on a PR thread. Subscribe to\n **`issue_comment`** + **`pull_request_review_comment`** (mention\n turns; `issue_comment` also feeds the ambient leg) and, for the routine fan-out,\n `issues` / `pull_request` / `check_suite` / `check_run` / `workflow_run` (the Checks events\n only appear once the Checks permission is granted).\n You do **not** need to subscribe to `installation` / `installation_repositories` — GitHub\n sends both to every App automatically and they are absent from the \"Subscribe to events\"\n list for that reason (\"All GitHub Apps receive this event by default. You cannot manually\n subscribe to this event.\"). They arrive on the same webhook URL, so each org that installs\n the App registers itself with no extra configuration (see *Multi-org installs* below).\n2. **Install the App** on the repos the agent should live on.\n3. **Configure the environment** (the conversational surface uses the **bare** names — the\n `OE_GITHUB_*` set is the separate source-control plane, even when both point at one App):\n\n ```bash\n GITHUB_APP_ID=… # the App's numeric id\n GITHUB_APP_SLUG=… # the App slug — the bot answers to @<slug>\n GITHUB_APP_PRIVATE_KEY=… # PEM private key (mint installation tokens)\n GITHUB_WEBHOOK_SECRET=… # HMAC-verifies every delivery. REQUIRED — unset rejects all (fail closed)\n # DEV ONLY, and it is a SETTING not a variable: turn on `webhooks.allowUnverifiedGithub`\n # in agent/settings/settings.ts to accept unsigned deliveries locally.\n ```\n\n4. **For ambient mode**, add the repo to a memory domain (surface key\n `github/<owner>/<repo>`) and set `ambientSupervisor: true` on it — see\n [Memory](../../capabilities/memory.md). A domain can compose repos **with** Slack channels,\n Notion docs, and Linear teams: one flag, one shared silo, ambient everywhere in it.\n\n## Multi-org installs (self-registering)\n\nThe source-control plane mints tokens per **owner**, so it needs an `owner → installation id`\nentry for every account the App is installed on. You can set that by hand with\n`OE_GITHUB_INSTALLATIONS` (a JSON map) or the single-owner `OE_GITHUB_OWNER` /\n`OE_GITHUB_INSTALLATION_ID` pair — and you no longer have to.\n\nBecause GitHub delivers `installation` + `installation_repositories` to every App by default\n(no subscription exists to switch on), each install/uninstall registers\nitself: `created`/`unsuspend` records the owner's installation id, `deleted`/`suspend` clears it,\nand a repo-scope change refreshes it. An org installing your App is then self-service end to end —\nno env edit, no redeploy.\n\n**`OE_GITHUB_INSTALLATIONS` stays authoritative.** The discovered entries are composed *under* the\nenv map, so anything you pinned by hand always wins, a store outage degrades to exactly the\nenv-configured set, and a webhook can never re-point an owner you configured yourself. (By the same\nrule, uninstalling an org you *also* pinned in env leaves the env entry in place — its mints then\nfail loudly at GitHub, which is the honest signal; remove it from the env map to finish the removal.)\n\nInstall and uninstall both write an audit row — `surface.app_installed` / `surface.app_uninstalled`,\nwith the owner as the workspace — so the install history is queryable over the control plane's\naudit route.\n\n## Ticket actions (state / assignee / labels)\n\nThe agent can also mutate an issue/PR's own state, assignee, and labels —\n[Source control § Ticket actions](../../capabilities/source-control.md#ticket-actions-set_state--assign--add_label)\nis the canonical doc (these ride the **source-control plane**'s credential, the `OE_GITHUB_*`\nApp, not this page's bare `GITHUB_*` conversational set — grant it the Issues permission).\nThese three verbs are known to work on an **issue**. On a **pull request** they are expected to\nbe refused today, because their credential names only the Issues family — tracked as OPE-1021.\n\nIt can also **file a new issue** with `create_ticket` (`target` = `owner/repo`, defaulting to\nthis turn's own repo, or to the channel's sole granted repo) — same Issues permission, same\nper-channel repo grant, and it always goes through the approval gate first — a card, unless an\noperator has explicitly lowered that verb in the approver chain. See\n[Source control § Filing new work](../../capabilities/source-control.md#filing-new-work-create_ticket).\n\n## Reading the conversation\n\nThe agent reads the thread it was called into with the same two verbs it uses on every other\nsurface: `read_channel` reads the issue-or-PR conversation — the opening post, then the newest\ntimeline comments — and `read_thread` reads one PR **review thread**, the inline discussion on a\nline of the diff. Both take no target: they read the conversation this turn arrived in.\n\nThree things worth knowing:\n\n- **A plain issue reads exactly like a PR.** The read goes through `/repos/{repo}/issues/{number}`,\n which GitHub serves for both, so nothing is PR-only here. `get_pr_feedback` remains the richer\n read for a PR under review — reviews, inline comments and check runs, which a conversation read\n does not carry.\n- **Only a comment on the diff has a thread.** An issue comment and a PR timeline comment are at the\n top level of their conversation, so `read_thread` on one says so rather than reading the timeline\n under a thread read's name.\n- **A delegated worker needs the repo grant.** The seat reads its own conversation; the worker's\n `read_work_channel` / `read_work_thread` mount only when the calling scope grants at least one repo\n ([Connectors § A chat surface can be a work surface too](../../capabilities/connectors-and-providers.md#a-chat-surface-can-be-a-work-surface-too)).\n\nThe read runs on the source-control credential — the `OE_GITHUB_*` App installation token, falling\nback to `GITHUB_TOKEN` — so a repo the App is not installed on cannot be read.\n\n## Gotchas\n\n- **A reaction on the agent's comment is read, not delivered — and only in conversations it has\n commented in.** GitHub sends no reaction webhook, so the agent looks for reactions on its own\n comments when the *next* delivery names that conversation. Two bounds keep that cheap, and both\n change what you will see. It looks only in conversations it is *in* — ones this deployment's reply\n path has commented in, or ones somebody `@mention`ed it in — because a conversation it is not in\n can hold no reaction it would record. The `@mention` half is what covers the replies the framework\n posts on its own; what falls outside both is a conversation it only ever answered *ambiently*,\n with no `@mention` ever, and has not answered in since this shipped — that one is picked up again\n on its next reply there. And each repository runs roughly 60 such polls an hour at most; the\n counter is deliberately cheap rather than exact, so a burst of simultaneous deliveries can push an\n hour a little over. When a repository passes the ceiling, one **`github.reaction_poll_budget`**\n audit row is written for that hour and the rest of the hour's reactions are not read. Query it with\n `GET /control/v1/audit?since=<iso>&actions=github.reaction_poll_budget` — a busy repository showing these rows\n every hour is the signal that the ceiling, not the feature, is what you are seeing.\n- **A reaction the agent has already recorded is skipped, and a store it cannot read skips\n everything.** The dedupe is a durable claim per reaction, and it fails *closed*: an unreadable\n claim store is treated as \"already recorded\", so no duplicate row is ever written. The cost is\n that a store outage stops the feedback signal completely while it lasts, which on its own looks\n exactly like a quiet week. Each poll that could not read the store writes one\n **`github.reaction_claim_unreadable`** audit row naming how many reactions it skipped. Query it\n with `GET /control/v1/audit?since=<iso>&actions=github.reaction_claim_unreadable`. Rows here mean\n the operational store, not the feature, is what you are seeing; reactions are recorded on the next\n poll after it recovers. **The row covers a *partial* fault, not every one** — it is written to the\n same operational store the claim read failed against, so a store that is wholly unreachable loses\n this row too. That case is visible instead as the audit drop counter and an\n `[open-everywhere:audit] dropped a \"github.reaction_claim_unreadable\" entry …` warning in the\n logs. So: rows present means the claim table specifically; the warning means the store.\n- **Ambient is off until a domain opts in**, and it never runs on a repo that isn't positively\n private. If non-mention comments get no response, check the domain flag, then the repo's\n privacy — and read the record rather than guessing: the first delivery from a repo the\n supervisor was never asked about writes a **`github.ambient_skipped`** audit row naming the\n surface key, the reason (`no-domain` — nothing routes this repo — versus `domain-refused` —\n a domain does route it but hasn't opted in) and the exact edit to make. Query it with\n `GET /control/v1/audit?since=<iso>&actions=github.ambient_skipped`. A whole owner at once is\n `reach: [\"github/<owner>\"]` on the domain — or, better where it fits, a same-level glob\n `reach: [\"github/<owner>/payments-*\"]` plus `exclude` for the repos that must stay out. With\n 500 repos the whole-owner entry is tempting, but it confers the domain's bundles on every repo\n the org will ever create; the glob is the same ergonomics with strictly less reach.\n See the [configuration reference](../configuration-reference.md#memory-domain--silo) and\n [Access & scoping](../../how-it-works/access-and-scoping.md#reach-exact-keys-and-containers).\n- **The `reply` tool is the only way an answer reaches an issue.** The agent posts mid-turn by\n calling `reply`; its turn's closing text is DROPPED and never posted. A turn that delivered\n writes a `github.replied` row carrying `route: \"tool\"`.\n- **Silence is a first-class outcome.** Most comments correctly get no reply (reserved tier).\n Every judged-silent turn is a `github.no_reply` audit row — the surface is working, not\n broken. Tune via `engagementTier`, watching the live `no_reply` rate. A **different** quiet\n outcome is a `turn.supervisor_prose_dropped` row on the github partition: the agent wrote an\n answer as its closing text and never called `reply`, so nothing was posted. That row is a\n defect signal, not a tuning signal — read the session transcript it names.\n- **An @mention turn can judge silence too.** The `github.no_reply` row is not only an ambient\n outcome. A turn woken by a direct @mention can also decide the wake does not warrant an answer;\n it then comments NOTHING and writes the same row with `route: \"native\"` and the reason. Those\n rows are rare by construction — a member addressed the app — so treat one as worth reading, not\n as tuning noise.\n- **Mention the slug in full.** App bots aren't in GitHub's `@` autocomplete; the matcher is\n text-based (`@<slug>` followed by a non-word character).\n- **Webhook verification is fail-closed.** `GITHUB_WEBHOOK_SECRET` unset/wrong → every\n delivery is rejected 401 and every leg stays silent — including the installation leg, so a\n deploy with a wrong secret silently learns nothing. Check the secret first if installs\n aren't registering.\n\n## Status\n\nThe @mention leg and the routine fan-out are **live-verified**. The ambient leg is built,\nunit-tested, and driven by the `J-GH` end-to-end scenario in\n`packages/core/scripts/e2e/scenarios.ts` (`suite: \"core\"`, non-optional, judged), with\n`J-ENGAGED-github` covering the engaged-follow-up seam. `J-GH` drives the mention reply, the\npickup reaction, the **mention gate** (a non-mention comment gets no reply) with its\naudited-silence row, session resume, reply-targeting across two issues, and the signed-forge\nroute contract. The ambient *wake* on an opted-in repo is `J-ENGAGED-github`'s leg: a mention\nengages the issue, a plain follow-up wakes, and `stand_down` stops it. The repository holds the\nscenarios, not their results, so read live-verification status off those runs rather than off\nthis page.\n",
11
+ },
12
+ ];
13
+ //# sourceMappingURL=docs-generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-generated.js","sourceRoot":"","sources":["../../agent/docs-generated.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,wFAAwF;AACxF,6FAA6F;AAC7F,sFAAsF;AAItF,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD;QACE,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,iPAAiP;QAC1P,QAAQ,EAAE,mouBAAmouB;KAC9ouB;CACF,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { type MemoryProvider, type MemorySilo, type DomainMemoryGrants, registerProvider, GitHubContents, type CommitId, getGitHubApp } from "@open-everywhere/core/agent/adapter-api.js";
2
+ export interface GitHubMemoryDeps {
3
+ readonly contents: GitHubContents;
4
+ /** Mint a scoped contents:write token for one "owner/repo". */
5
+ mintToken(repo: string): Promise<string>;
6
+ /** The bot commit identity (open-everywhere[bot]). */
7
+ committer(): CommitId;
8
+ readonly branch?: string;
9
+ }
10
+ export declare function makeGitHubProvider(deps: GitHubMemoryDeps): MemoryProvider;
11
+ /**
12
+ * THE PREFETCH INVARIANT for the github backing (OPE-390) — pure, so the bundle's own test can
13
+ * drive it without a live App.
14
+ *
15
+ * Domain-level GitHub access is THREE-layered: App installation = the mintable universe → the
16
+ * bundle `repos` grant (access/bundle.ts, additive union via the resolver) = what the domain may
17
+ * touch → a per-call token minted narrowed to the one named repo. Every scm tool enforces the
18
+ * MIDDLE layer fail-closed (S-PR-BOUNDARY live-proves the ungranted-repo refusal before any API
19
+ * call). This backing used to check only the OUTER layer — "is the App installed on the silo's
20
+ * repo" — and skip the grant layer entirely, which made a memory silo a way to read a repo the
21
+ * domain was never granted. One membership check against existing config closes it.
22
+ */
23
+ export declare function githubMemoryContainerProblem(silo: MemorySilo, grants: DomainMemoryGrants): string | null;
24
+ type GitHubMemoryApp = Pick<NonNullable<ReturnType<typeof getGitHubApp>>, "tokensForRepos" | "committer">;
25
+ /** Narrow construction seam for the offline registration test. Production supplies nothing. */
26
+ export interface GitHubMemoryRegistrationDeps {
27
+ readonly app?: GitHubMemoryApp;
28
+ readonly contents?: GitHubContents;
29
+ readonly register?: typeof registerProvider;
30
+ }
31
+ /**
32
+ * Register the github memory backing from the configured GitHub App plane. No-op (returns false)
33
+ * when the App isn't configured — a deployment that doesn't use git-backed memory simply never
34
+ * references the "github" provider.
35
+ *
36
+ * The per-repo installation token is held by the SHARED always-warm seam (credentials/warm.ts,
37
+ * OPE-134): 1h `re-mint` rhythm, ~1 min margin, per-repo single-flight (a memory write touching
38
+ * several files no longer races itself to the token endpoint) and a LOUD
39
+ * `github.token_mint_failed` audit row when the mint fails — previously an App whose installation
40
+ * had been revoked made every memory read/write throw with nothing durable recording why.
41
+ *
42
+ * The App installation token is an APP-PRINCIPAL credential by construction — there is no user
43
+ * subject anywhere on this path — which is what the capability's `subject` field declares.
44
+ */
45
+ export declare function registerGitHubMemory(deps?: GitHubMemoryRegistrationDeps): boolean;
46
+ /**
47
+ * Declare the capability WITHOUT wiring the live provider — split out so the invariant is
48
+ * enforceable on a deployment whose App plane is unconfigured (config validation must still refuse
49
+ * an ungranted github silo, rather than going quiet because no credential exists yet) and so the
50
+ * bundle's offline test can register it without a GitHub App.
51
+ */
52
+ export declare function declareGitHubMemoryCapability(): void;
53
+ export {};
54
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +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,EAGb,MAAM,4CAA4C,CAAC;AAIpD,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,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAeD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,cAAc,CAkGzE;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"}
@@ -0,0 +1,224 @@
1
+ // The github memory backing — a domain's memory living in a GitHub repo subtree, behind the
2
+ // MemoryProvider seam (docs/capabilities/memory.md "Git backing"). It PIGGYBACKS the GitHub App
3
+ // plane (scm/*: installations, scoped contents:write token minting), so a memory repo is just
4
+ // another repo the App is installed on — the second consumer of authenticated git-repo access
5
+ // after code checkout.
6
+ //
7
+ // LIVES HERE, NOT IN CORE (OPE-390 owner Direction 3). A connector-owned backing belongs to the
8
+ // provider package that owns the connector; core keeps only the FIRST-PARTY backings (postgres,
9
+ // sqlite), whose "connection" is the deployment identity. Core reaches nothing in here — this
10
+ // module registers itself into core's provider registry through the adapter-api barrel, exactly
11
+ // like the Notion backing already did.
12
+ //
13
+ // The MemorySilo supplies the location: `container` = "owner/repo", `path` = a subtree root.
14
+ // Within that, files are keyed by org + tier (so one repo can host many domains with at-rest
15
+ // separation, or you give each domain its own repo). The agent never sees any of this — the host
16
+ // materialises the resolved files into the sandbox.
17
+ //
18
+ // Construction is dependency-injected (a GitHubContents client + a per-repo token mint + the bot
19
+ // committer) so it's unit-testable offline; registerGitHubMemory() wires the real GitHub App plane
20
+ // AND declares the connector-memory capability that carries the prefetch invariant.
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";
24
+ function requireSilo(silo) {
25
+ if (!silo?.container) {
26
+ throw new Error('github memory backing needs a silo with container "owner/repo" (memory/silo.ts).');
27
+ }
28
+ return silo;
29
+ }
30
+ // The repo subtree a (silo, partition, tier) maps to: silo.path / <org> / <tier path>.
31
+ // Org is included so one repo can safely host multiple orgs/domains at rest.
32
+ function repoPath(silo, p, tier) {
33
+ return [silo.path, safeName(p.org), tierRelDir(p, tier)].filter((s) => s && s.length > 0).join("/");
34
+ }
35
+ export function makeGitHubProvider(deps) {
36
+ const branch = deps.branch ?? DEFAULT_BRANCH;
37
+ async function read(p, tier, siloArg) {
38
+ const silo = requireSilo(siloArg);
39
+ const repo = silo.container;
40
+ const dir = repoPath(silo, p, tier);
41
+ const token = await deps.mintToken(repo);
42
+ const shas = await deps.contents.listFiles(repo, dir, branch, token, makeSelector(normalizeSelection(silo)));
43
+ const out = {};
44
+ for (const rel of Object.keys(shas)) {
45
+ const file = await deps.contents.getFile(repo, `${dir}/${rel}`, branch, token);
46
+ if (file)
47
+ out[rel] = file.content;
48
+ }
49
+ return out;
50
+ }
51
+ async function write(p, tier, files, message, siloArg) {
52
+ const silo = requireSilo(siloArg);
53
+ const repo = silo.container;
54
+ const dir = repoPath(silo, p, tier);
55
+ const token = await deps.mintToken(repo);
56
+ const committer = deps.committer();
57
+ let last = null;
58
+ let changed = false;
59
+ for (const [rel, content] of Object.entries(files)) {
60
+ const path = `${dir}/${rel}`;
61
+ const existing = await deps.contents.getFile(repo, path, branch, token);
62
+ if (existing && existing.content === content)
63
+ continue; // unchanged → skip (no-op)
64
+ changed = true;
65
+ last = await deps.contents.putFile(repo, path, content, message, branch, token, committer, existing?.sha);
66
+ }
67
+ return changed ? last : null; // null when nothing changed (matches the provider contract)
68
+ }
69
+ return {
70
+ id: "github",
71
+ readTier: read,
72
+ ensureTier: async (p, tier, siloArg) => {
73
+ const existing = await read(p, tier, siloArg);
74
+ if (Object.keys(existing).length > 0)
75
+ return existing;
76
+ const seed = seedFor(p, tier);
77
+ await write(p, tier, seed, `seed ${tier.kind} memory`, siloArg);
78
+ return seed;
79
+ },
80
+ writeTier: write,
81
+ // Cheap version probe: a digest over the subtree LISTING (rel → blob sha) — one
82
+ // metadata call (listFiles), zero content downloads. Blob shas are content-addressed,
83
+ // so any file change/add/remove changes the digest. `null` for an empty/absent tier.
84
+ tierVersion: async (p, tier, siloArg) => {
85
+ const silo = requireSilo(siloArg);
86
+ const repo = silo.container;
87
+ const dir = repoPath(silo, p, tier);
88
+ const token = await deps.mintToken(repo);
89
+ const shas = await deps.contents.listFiles(repo, dir, branch, token, makeSelector(normalizeSelection(silo)));
90
+ const entries = Object.entries(shas).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
91
+ if (entries.length === 0)
92
+ return null;
93
+ const h = createHash("sha1");
94
+ for (const [rel, sha] of entries)
95
+ h.update(`${rel}\n${sha}\n`);
96
+ return h.digest("hex");
97
+ },
98
+ // (OPE-64) `deleteFile` — the memory-admin MCP's per-file removal primitive
99
+ // (control/writes.ts `memory_delete_file`). Was deferred at the 2026-07-04
100
+ // memory-admin build because GitHubContents.deleteFile() (scm/contents.ts) returned
101
+ // void, not a commit sha; widened it there (its only caller is this module) rather
102
+ // than bundling a source-control-plane change into that build. `deleteFile` is
103
+ // otherwise NOT shared with `deleteTier` below (that one only needs "delete every
104
+ // listed path", never a version token back) — kept separate rather than making
105
+ // `deleteTier` a loop over this, so a single-file failure's error message stays
106
+ // about the one path the caller asked for.
107
+ deleteFile: async (p, tier, relPath, siloArg) => {
108
+ const silo = requireSilo(siloArg);
109
+ const repo = silo.container;
110
+ const path = `${repoPath(silo, p, tier)}/${relPath}`;
111
+ const token = await deps.mintToken(repo);
112
+ const existing = await deps.contents.getFile(repo, path, branch, token);
113
+ if (!existing)
114
+ return null; // already absent — idempotent, matches writeTier's "nothing changed"
115
+ const committer = deps.committer();
116
+ // Any failure here (permission, network, a stale sha — the file changed between
117
+ // the getFile above and this delete) THROWS (scm/contents.ts: only a 404 is
118
+ // swallowed, matching the "already absent" case, already handled above) and
119
+ // propagates to the caller uncaught — control/writes.ts's memory_delete_file
120
+ // catches it, surfaces a structured error, AND audits the failed attempt. Never a
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`, branch, token, committer);
123
+ },
124
+ deleteTier: async (p, tier, siloArg) => {
125
+ const silo = requireSilo(siloArg);
126
+ const repo = silo.container;
127
+ const dir = repoPath(silo, p, tier);
128
+ const token = await deps.mintToken(repo);
129
+ const committer = deps.committer();
130
+ const shas = await deps.contents.listFiles(repo, dir, branch, token, makeSelector(normalizeSelection(silo)));
131
+ for (const [rel, sha] of Object.entries(shas)) {
132
+ await deps.contents.deleteFile(repo, `${dir}/${rel}`, sha, `delete ${tier.kind} memory`, branch, token, committer);
133
+ }
134
+ },
135
+ };
136
+ }
137
+ /**
138
+ * THE PREFETCH INVARIANT for the github backing (OPE-390) — pure, so the bundle's own test can
139
+ * drive it without a live App.
140
+ *
141
+ * Domain-level GitHub access is THREE-layered: App installation = the mintable universe → the
142
+ * bundle `repos` grant (access/bundle.ts, additive union via the resolver) = what the domain may
143
+ * touch → a per-call token minted narrowed to the one named repo. Every scm tool enforces the
144
+ * MIDDLE layer fail-closed (S-PR-BOUNDARY live-proves the ungranted-repo refusal before any API
145
+ * call). This backing used to check only the OUTER layer — "is the App installed on the silo's
146
+ * repo" — and skip the grant layer entirely, which made a memory silo a way to read a repo the
147
+ * domain was never granted. One membership check against existing config closes it.
148
+ */
149
+ export function githubMemoryContainerProblem(silo, grants) {
150
+ const repo = silo.container;
151
+ if (typeof repo !== "string" || repo.length === 0) {
152
+ return `github-backed silos need container = "owner/repo" (memory/silo.ts)`;
153
+ }
154
+ if (grants.repos.includes(repo))
155
+ return null;
156
+ return (`container "${repo}" is NOT in this domain's granted repos [${grants.repos.join(", ") || "none"}] — ` +
157
+ `a memory projection is read access, and the scm tools already refuse an ungranted repo fail-closed, so ` +
158
+ `add "${repo}" to a bundle bound to this domain (bundle.repos) or point the silo at a granted repo.`);
159
+ }
160
+ /**
161
+ * Register the github memory backing from the configured GitHub App plane. No-op (returns false)
162
+ * when the App isn't configured — a deployment that doesn't use git-backed memory simply never
163
+ * references the "github" provider.
164
+ *
165
+ * The per-repo installation token is held by the SHARED always-warm seam (credentials/warm.ts,
166
+ * OPE-134): 1h `re-mint` rhythm, ~1 min margin, per-repo single-flight (a memory write touching
167
+ * several files no longer races itself to the token endpoint) and a LOUD
168
+ * `github.token_mint_failed` audit row when the mint fails — previously an App whose installation
169
+ * had been revoked made every memory read/write throw with nothing durable recording why.
170
+ *
171
+ * The App installation token is an APP-PRINCIPAL credential by construction — there is no user
172
+ * subject anywhere on this path — which is what the capability's `subject` field declares.
173
+ */
174
+ export function registerGitHubMemory(deps = {}) {
175
+ const app = deps.app ?? getGitHubApp();
176
+ if (!app)
177
+ return false;
178
+ const memoryToken = warmCredential({
179
+ name: "github.memory-installation-token",
180
+ platform: "github",
181
+ auditAction: "github.token_mint_failed",
182
+ refresh: "re-mint",
183
+ refreshMarginMs: 60_000,
184
+ fallbackTtlSeconds: 3600,
185
+ key: (repo) => repo, // "owner/name" — non-secret
186
+ mint: async (repo) => {
187
+ const out = await app.tokensForRepos([repo], MEMORY_WRITE_PERMISSIONS);
188
+ const owner = repo.slice(0, repo.indexOf("/"));
189
+ const minted = out.tokens.get(owner);
190
+ if (!minted) {
191
+ throw new Error(`memory repo "${repo}" has no linked GitHub App installation (scm config).`);
192
+ }
193
+ const parsed = Date.parse(minted.expiresAt);
194
+ return { value: minted.token, expiresAtMs: Number.isFinite(parsed) ? parsed : undefined };
195
+ },
196
+ });
197
+ const provider = makeGitHubProvider({
198
+ contents: deps.contents ?? new GitHubContents(),
199
+ committer: () => app.committer(),
200
+ mintToken: (repo) => memoryToken.get(repo),
201
+ });
202
+ (deps.register ?? registerProvider)(provider);
203
+ declareGitHubMemoryCapability();
204
+ return true;
205
+ }
206
+ /**
207
+ * Declare the capability WITHOUT wiring the live provider — split out so the invariant is
208
+ * enforceable on a deployment whose App plane is unconfigured (config validation must still refuse
209
+ * an ungranted github silo, rather than going quiet because no credential exists yet) and so the
210
+ * bundle's offline test can register it without a GitHub App.
211
+ */
212
+ export function declareGitHubMemoryCapability() {
213
+ registerConnectorMemory({
214
+ provider: "github",
215
+ connector: "github",
216
+ // The files ARE the source of truth here (a repo subtree), so this backing is writable —
217
+ // unlike the Notion projection, whose files are a cache and whose writes go through Notion.
218
+ mode: "read-write",
219
+ subject: "app-principal",
220
+ containerLabel: 'a repo, "owner/repo"',
221
+ assertContainerGranted: githubMemoryContainerProblem,
222
+ });
223
+ }
224
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../agent/memory/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Register the github ops-plane arms (telemetry presence probe). */
2
+ export declare function registerGithubOps(): void;
3
+ //# sourceMappingURL=ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../agent/ops.ts"],"names":[],"mappings":"AAaA,qEAAqE;AACrE,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -0,0 +1,16 @@
1
+ // registerGithubOps — the ops-plane half of the github bundle's boot wiring: the telemetry
2
+ // credential-presence probe (OPE-495, the OPE-488 follow-up). Split into its own file so the
3
+ // STANDALONE ops MCP entry (repo-root scripts/ops-mcp.ts, which serves preflight/quickstart with
4
+ // no agent boot) can register it without pulling the whole channel graph — the same split slack
5
+ // and teams use.
6
+ //
7
+ // This file (not core) owns the credential-probe use of OE_GITHUB_APP_ID. The env var itself
8
+ // stays known to core too (packages/core/agent/scm/config.ts) — the SCM subsystem is a SEPARATE
9
+ // concern that stays in core by doctrine (see register.ts's header) — so this is not a
10
+ // zero-residue fingerprint, only the telemetry probe's own home.
11
+ import { registerSurfaceCredentialProbe } from "@open-everywhere/core/agent/adapter-api.js";
12
+ /** Register the github ops-plane arms (telemetry presence probe). */
13
+ export function registerGithubOps() {
14
+ registerSurfaceCredentialProbe("github", () => Boolean(process.env.OE_GITHUB_APP_ID));
15
+ }
16
+ //# sourceMappingURL=ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ops.js","sourceRoot":"","sources":["../../agent/ops.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,6FAA6F;AAC7F,iGAAiG;AACjG,gGAAgG;AAChG,iBAAiB;AACjB,EAAE;AACF,6FAA6F;AAC7F,gGAAgG;AAChG,uFAAuF;AACvF,iEAAiE;AAEjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAE5F,qEAAqE;AACrE,MAAM,UAAU,iBAAiB;IAC/B,8BAA8B,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACxF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ProviderEventDeclaration } from "@open-everywhere/core/agent/adapter-api.js";
2
+ export declare const GITHUB_PROVIDER_EVENTS: ProviderEventDeclaration;
3
+ //# sourceMappingURL=provider-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-events.d.ts","sourceRoot":"","sources":["../../agent/provider-events.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAE3F,eAAO,MAAM,sBAAsB,EAAE,wBAyFpC,CAAC"}