@quickchatai/pi-quickreview 1.1.0 → 1.2.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.
Files changed (37) hide show
  1. package/assets/config.example.toml +41 -9
  2. package/assets/prompts/onboarding.md +57 -18
  3. package/dist/src/engine/envmap.d.ts.map +1 -1
  4. package/dist/src/engine/envmap.js +5 -0
  5. package/dist/src/engine/envmap.js.map +1 -1
  6. package/dist/src/engine/pisdk.d.ts +9 -0
  7. package/dist/src/engine/pisdk.d.ts.map +1 -1
  8. package/dist/src/engine/pisdk.js +29 -4
  9. package/dist/src/engine/pisdk.js.map +1 -1
  10. package/dist/src/githubAuth.d.ts +39 -1
  11. package/dist/src/githubAuth.d.ts.map +1 -1
  12. package/dist/src/githubAuth.js +75 -8
  13. package/dist/src/githubAuth.js.map +1 -1
  14. package/dist/src/guards.d.ts +14 -1
  15. package/dist/src/guards.d.ts.map +1 -1
  16. package/dist/src/guards.js +61 -2
  17. package/dist/src/guards.js.map +1 -1
  18. package/dist/src/identity.d.ts +34 -0
  19. package/dist/src/identity.d.ts.map +1 -0
  20. package/dist/src/identity.js +67 -0
  21. package/dist/src/identity.js.map +1 -0
  22. package/dist/src/modelroute.d.ts +38 -0
  23. package/dist/src/modelroute.d.ts.map +1 -0
  24. package/dist/src/modelroute.js +105 -0
  25. package/dist/src/modelroute.js.map +1 -0
  26. package/dist/src/plugin/login.d.ts +3 -0
  27. package/dist/src/plugin/login.d.ts.map +1 -1
  28. package/dist/src/plugin/login.js +11 -2
  29. package/dist/src/plugin/login.js.map +1 -1
  30. package/dist/src/plugin/review.d.ts.map +1 -1
  31. package/dist/src/plugin/review.js +8 -4
  32. package/dist/src/plugin/review.js.map +1 -1
  33. package/dist/src/reviewconfig.d.ts +12 -0
  34. package/dist/src/reviewconfig.d.ts.map +1 -1
  35. package/dist/src/reviewconfig.js +9 -1
  36. package/dist/src/reviewconfig.js.map +1 -1
  37. package/package.json +1 -1
@@ -27,8 +27,22 @@ timezone = "UTC" # ← FILL: your IANA timezone, e.g
27
27
 
28
28
  [github]
29
29
  repo = "" # ← FILL (1): the repo to review, "owner/name"
30
- app_slug = "" # ← FILL (2): your GitHub App slug
31
- bot_login = "" # ← FILL (3): the App bot login, "<app_slug>[bot]"
30
+ # Whose GitHub credential the daemon runs on:
31
+ # "app" (the default; a missing key means "app") — a GitHub App: its
32
+ # installation token, webhooks, APPROVE / REQUEST_CHANGES reviews.
33
+ # "user" — your OWN GitHub account, no App. Polling only: [ingress] shape
34
+ # must be "polling" (config load refuses anything else), no webhooks,
35
+ # no webhook self-heal. Every review posts as a COMMENT whose body
36
+ # states the verdict (an automated verdict never counts as your
37
+ # approval, and GitHub refuses either on your own PR). The token is
38
+ # read from the FILE <secrets dir>/github_token (0600, the token
39
+ # alone), which `qcr github-token sync` writes from your `gh` login;
40
+ # never from the environment or a command line. app_slug may be "";
41
+ # bot_login is your own GitHub login. The App secrets (app_id,
42
+ # app.pem, webhook_secret) are not needed.
43
+ #auth = "app"
44
+ app_slug = "" # ← FILL (2): your GitHub App slug ("" under auth = "user")
45
+ bot_login = "" # ← FILL (3): the App bot login, "<app_slug>[bot]" (your login under auth = "user")
32
46
  review_team = "" # ← FILL (4): "org/team" whose review request triggers
33
47
  # There is no reviewer knob here. The reviewer never hands a PR back: it always
34
48
  # decides on the merits and posts a verdict. If you want a named person told
@@ -39,7 +53,8 @@ in_progress_label = "AI review in progress"
39
53
  reviewed_label = "Automatic Review"
40
54
  improvement_label = "Bot improvement"
41
55
  issue_label = "bot-filed"
42
- # secrets dir: app_id, app.pem, webhook_secret, tunnel_token; optional openai_api_key (pi, API-key
56
+ # secrets dir: app_id, app.pem, webhook_secret, tunnel_token (auth = "user": github_token instead
57
+ # of the first three); optional openai_api_key (pi, API-key
43
58
  # route) and openai_embeddings_api_key (only with embedding_provider = "openai" in the openviking table)
44
59
  # "" (recommended) = the install's config home, $XDG_CONFIG_HOME/qcr/<install>/secrets (the old
45
60
  # ~/.config/quickreview-bot is never read — `qcr install migrate` moves it). A path here wins.
@@ -81,8 +96,12 @@ port = 8787 # loopback only; your HTTPS ingress
81
96
  # touches only the App's own configuration, never the reviewed repo. Off by
82
97
  # default: with the section absent (or shape = "none") no watcher ever starts —
83
98
  # a stable hostname (named tunnel, VM route) needs none of this.
99
+ # shape = "polling" takes no webhooks at all: the daemon's /webhook route
100
+ # refuses every delivery, no webhook_secret is read, and the reconcile poll
101
+ # (poll_interval_s, below) is the only trigger. [github] auth = "user"
102
+ # requires it.
84
103
  #[ingress]
85
- #shape = "tunnel-file" # "none" (default) | "tunnel-file"
104
+ #shape = "tunnel-file" # "none" (default) | "tunnel-file" | "polling"
86
105
  #hostname_file = "" # "" ⇒ <root>/state/ingress/hostname
87
106
  #debounce_ms = 3000 # settle time after a file change
88
107
  #sweep_interval_s = 300 # polling backstop behind fs.watch
@@ -204,7 +223,9 @@ improvement_pr_deny_prefixes = ["migrations/", "infra/", "ansible/", ".github/wo
204
223
  [models]
205
224
  # default for every role; tiered pass models below
206
225
  # Provider prefix is `openai-codex/` — the ChatGPT-OAuth route's provider key
207
- # in pi's auth.json (direct `openai/` needs an API key we don't ship).
226
+ # in pi's auth.json. Any OpenAI login serves it: when pi holds no
227
+ # `openai-codex` login but an `openai` one (pi 1.4's Sign in with ChatGPT, or
228
+ # an OpenAI API key), the same model runs on `openai` (docs/llm-setup.md).
208
229
  default = "openai-codex/gpt-6.1-sol"
209
230
  conversation = "openai-codex/gpt-6.1-sol"
210
231
  # Passes always run at sol-high — single variant, not raisable (already top).
@@ -261,7 +282,11 @@ small_diff_lines = 150
261
282
  # memory forward follows this knob too — it reaches the daemon
262
283
  # container's loopback memory engine with a plain `docker exec`
263
284
  # (the forward script's --local mode) instead of the ssh hop.
264
- # Always explicit: an empty ssh_host does NOT mean local.
285
+ # Onboarding writes this from the recorded topology. Until it has (ssh with an
286
+ # EMPTY ssh_host), the TUI never runs `ssh ""`: on a compose project (the
287
+ # checklist recorded the local topology, or the project .env pins
288
+ # QCR_VERSION) it reads the local stack and says so once; otherwise every
289
+ # surface says "ssh_host is empty — run qcr onboard".
265
290
  target = "ssh"
266
291
  ssh_host = "" # ← FILL (7): ssh alias of the VM running the container
267
292
  # (leave "" when target = "local" — it is unused)
@@ -270,10 +295,14 @@ memory_container = "" # the container the memory forward relays into
270
295
  # (OpenViking is the daemon container's child). On a VM running
271
296
  # the memory sidecar (the openviking table's endpoint =
272
297
  # "remote") set "quickreview-memory"; flip it back with the endpoint.
273
- remote_state_dir = "/opt/quickreview/state" # host path on ssh; inside the daemon container on local
298
+ remote_state_dir = "/opt/quickreview/state" # host path on ssh; inside the daemon container on local,
299
+ # where this default reads as the release image's /opt/qcr/state
300
+ # (the compose state volume; onboarding writes it for local)
274
301
  remote_sandbox_root = "" # "" = read the container's qcr.layout label (release: /opt/qcr, legacy: /opt/quickreview/sandbox);
275
302
  # a value here wins and is never probed
276
- sudo_docker = true # docker on the VM needs sudo (root-owned socket)
303
+ sudo_docker = true # docker on the VM needs sudo (root-owned socket). On local, onboarding
304
+ # writes false, and the TUI drops sudo by itself when this user can open
305
+ # the docker socket (a sudo prompt behind the TUI can only fail)
277
306
  poll_interval_s = 3
278
307
  stale_after_s = 90 # DATA STALE banner past this written_at age
279
308
  # (the daemon rewrites status.json every ~30s)
@@ -594,7 +623,10 @@ local_embedder_threads = 1
594
623
  # (COMPANION_DEFAULTS) are the shipped configuration; uncomment to override.
595
624
  # enabled = true # `qcr tui` starts it unless --no-companion
596
625
  # container_name = "qcr-companion"
597
- # image = "qcr-companion:release" # the release image (docker/Dockerfile) in companion mode, built from the app root: qcr companion rebuild
626
+ # image = "qcr-companion:release" # the release image (docker/Dockerfile) in companion mode, built from the app root: qcr companion rebuild.
627
+ # # Left unset on a compose box (the project .env pins QCR_VERSION), a first start runs the
628
+ # # already-pulled ghcr.io/quickchatai/quickreview:<QCR_VERSION> instead of building, unless a
629
+ # # local build exists; a ghcr.io/quickchatai/quickreview tag set here is pulled, never built over
598
630
  # pihome_volume = "companion-pihome" # its OWN pi auth — never the VM's auth.json
599
631
  # session = "companion" # tmux session inside the container
600
632
  # model = "openai-codex/gpt-6.1-sol:medium"
@@ -26,6 +26,33 @@ never as a lecture up front.
26
26
  - **On a fully-finished installation** this session doubles as a diagnostic:
27
27
  `onboard_status` re-verifies everything; report what holds and what broke.
28
28
 
29
+ ## What the person needs, and the fast path
30
+
31
+ Say this near the start, in two or three short lines. They need three things:
32
+ a **model login** (pi's `/login` opens by itself the first time — any working
33
+ OpenAI login is fine), their **GitHub sign-in** (`gh` logged in; on a Boxes VM
34
+ it already is), and **one repository**. Setup ends once the defaults are in
35
+ place and verified; the TUI then opens on the board, which lists the
36
+ repository's open pull requests — they pick one there and press `R` to review
37
+ it.
38
+
39
+ Recommend the fast path and take its defaults unless they ask otherwise:
40
+
41
+ - **topology** — `onboard_topology` with `choice: "local"` (this computer);
42
+ - **GitHub** — `onboard_github_account` with no `github_auth`: where gh is
43
+ signed in it uses their own account by itself. Call it once to get their
44
+ recent repositories, then again with `repo`;
45
+ - **ingress** — `onboard_ingress` with no `choice`: polling is the default
46
+ (the reviewer checks GitHub every few minutes; webhooks can come later);
47
+ - **the first review** — not part of setup: after `finish_and_exit` the board
48
+ lists the open pull requests, and `R` on one starts its review at once, no
49
+ label to add.
50
+
51
+ **Never ask for something no tool takes.** Every question you put to the person
52
+ is a step's input (the tool's parameters say which). If a step asks for nothing,
53
+ do not invent a question for it — run it. When a tool returns a refusal that
54
+ lists options, read those options out; do not add your own.
55
+
29
56
  ## What you teach, when
30
57
 
31
58
  - **At the start** (one short paragraph): QuickReview is a deterministic
@@ -42,33 +69,45 @@ never as a lecture up front.
42
69
  (what the reviewer learns and keeps). Explain each only when its step is in
43
70
  front of you.
44
71
 
45
- ## The last three steps
72
+ ## GitHub, in one step
73
+
74
+ `onboard_github_account` is the GitHub question. On their own account it saves
75
+ their token (0600, never shown — say so), installs a refresh every 20 minutes,
76
+ and creates the trigger labels if their account may. Read out its refresh line
77
+ as it is: on a machine without `crontab` it says what lapses and gives the
78
+ manual command. If they want a GitHub App instead, call it with
79
+ `github_auth: "app"`; the App steps then take over. Never call the App step on
80
+ the own-account route: it is skipped there.
81
+
82
+ ## The last steps
46
83
 
47
84
  - **Bring-up is slow the first time.** Say so before you run it — the tool's
48
85
  own warning is there to be read out — and let its streamed output show. A
49
86
  long build is expected, not a hang.
50
- - **The proof round is the point of the whole session.** Ask the operator for
51
- one real, open pull request of their own and have them add the trigger label
52
- to it. Then follow it. When the review comes back, show it to them and let
53
- them read it: this is their first sight of what the reviewer says, and it
54
- still cannot have posted anywhere.
55
- - **The go-live offer is theirs, and only theirs.** Read out what dry-run is
56
- and what going live means, then ask once and accept the answer. Do not
57
- advocate, do not repeat the offer, and never call the tool with a decision
58
- they did not say. Staying in dry-run is a finished, fully working
59
- installation — say so plainly if they choose it, and mention that they can
60
- flip later whenever they like.
87
+ - **The reviewer needs its own model login.** The review sessions run in the
88
+ daemon's container, and a login never transfers from this machine into it.
89
+ Once the stack is up, the LLM auth step's `daemon_login` check names the one
90
+ command that opens it; ask them to run it in a second terminal, sign in, and
91
+ tell you — then re-run the LLM auth step. Without it the first review on the
92
+ board would fail at once.
93
+ - **The first review and go-live come after setup.** `onboard_proof_round` and
94
+ `onboard_go_live` are marked "after setup": setup finishes without them. Do
95
+ not run them here unless the person asks. Say plainly that the installation
96
+ stays in dry-run (every intended GitHub write is recorded, nothing is
97
+ posted), and that going live is their decision later: re-run `qcr onboard`
98
+ and ask for it once a review on the board has shown them what it says.
61
99
 
62
100
  ## Finishing
63
101
 
64
- When every step reports done, say that `finish_and_exit` will re-verify the
65
- whole checklist one last time and, only if all green, close this session and
66
- open the TUI. If it returns red checks, that is the answer: explain them, fix
102
+ When every setup step reports done (the "after setup" ones need not be), say
103
+ that `finish_and_exit` will re-verify the whole checklist one last time and,
104
+ only if all green, close this session and open the TUI on the board: there they
105
+ select a pull request and press `R` to review it now. If it returns red checks, that is the answer: explain them, fix
67
106
  what can be fixed through the step tools, and try again. Never present
68
107
  onboarding as finished while anything is red, and never tell the operator to
69
108
  quit around a red check.
70
109
 
71
- Before `finish_and_exit`, pass on what comes next, as the go-live step's
72
- `next` line says it: set up the repo with `qcr setup` (or `I` on the TUI
73
- board). Until then the reviewer knows nothing about this codebase. It is a
110
+ Before `finish_and_exit`, pass on what comes next: the first review is `R` on
111
+ a pull request on the board; then set up the repo with `qcr setup` (or `I` on
112
+ the TUI board). Until then the reviewer knows nothing about this codebase. It is a
74
113
  recommendation, once — never start it from here.
@@ -1 +1 @@
1
- {"version":3,"file":"envmap.d.ts","sourceRoot":"","sources":["../../../src/engine/envmap.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAID,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAqVrE,CAAC;AAEF;yEACyE;AACzE,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGpE,CAAC;AAEF,gDAAgD;AAChD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAKlE"}
1
+ {"version":3,"file":"envmap.d.ts","sourceRoot":"","sources":["../../../src/engine/envmap.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAID,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CA0VrE,CAAC;AAEF;yEACyE;AACzE,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGpE,CAAC;AAEF,gDAAgD;AAChD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAKlE"}
@@ -235,6 +235,11 @@ export const EXTENSION_ENV = {
235
235
  readers: [`${OV}/qcr-shim.ts`, `${OV}/sync.ts`],
236
236
  note: "session id that survives the tmux server env",
237
237
  },
238
+ QCR_LOGIN_OPEN: {
239
+ kind: "companion-only",
240
+ readers: ["cli/login-route.ts", "login-route.ts"],
241
+ note: "submit opens pi's /login by itself (the wizard's first run); else the command is only typed in",
242
+ },
238
243
  // ---- OPENVIKING_*: upstream plugin config, read in-process by the vendored extension
239
244
  OPENVIKING_ACCOUNT: {
240
245
  kind: "extension-config",
@@ -1 +1 @@
1
- {"version":3,"file":"envmap.js","sourceRoot":"","sources":["../../../src/engine/envmap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envmap.js","sourceRoot":"","sources":["../../../src/engine/envmap.ts"],"names":[],"mappings":"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"}
@@ -190,6 +190,15 @@ export interface HostSessionSpec {
190
190
  }
191
191
  /** pi's own default tool set at the pin (DEFAULT_TOOL_NAMES). Canary 5 holds it. */
192
192
  export declare const DEFAULT_TOOLS: readonly string[];
193
+ /**
194
+ * The spec's model on this host. An OpenAI spec runs on the login that exists
195
+ * (modelroute.ts): the provider it names when that provider has a credential,
196
+ * else its twin (`openai-codex` <-> `openai`) when the twin has one and serves
197
+ * the same id. pi's own offline auth check decides (ModelRuntime.checkAuth
198
+ * reads the credential store and the runtime keys; the host's snapshot is
199
+ * empty, since it is created without a refresh).
200
+ */
201
+ export declare function resolveModel(runtime: Pick<ModelRuntime, "getModel" | "checkAuth">, model: string | Model<Api>): Promise<Model<Api>>;
193
202
  /** The id a session JSONL's header carries; null when the file does not start
194
203
  * with a session header. */
195
204
  export declare function headerId(file: string): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"pisdk.d.ts","sourceRoot":"","sources":["../../../src/engine/pisdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pisdk.d.ts","sourceRoot":"","sources":["../../../src/engine/pisdk.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,7 @@ import { randomUUID } from "node:crypto";
51
51
  import { DefaultResourceLoader, ModelRuntime, SessionManager, SettingsManager, createAgentSession, createBashToolDefinition, createFindToolDefinition, createGrepToolDefinition, createLsToolDefinition, createReadToolDefinition, createEditToolDefinition, createWriteToolDefinition, getPackageDir, main as piCliMain, } from "@earendil-works/pi-coding-agent";
52
52
  import { isProtectedWriteTarget } from "../../extensions/bash-guard.js";
53
53
  import { GITHUB_TOKEN_ENVS } from "../envstrip.js";
54
+ import { routeProvider, splitProvider, twinProvider } from "../modelroute.js";
54
55
  import { FENCED_TOOLS, createToolFence, credentialPaths, fencedOperations, guardedTool, loginSourceDirs, } from "./toolfence.js";
55
56
  import { inheritingBashOperations, isolatedBashOperations } from "./tooluid.js";
56
57
  // ---- the HTTP dispatcher -------------------------------------------------
@@ -307,11 +308,35 @@ function checkToolAllowlist(tools) {
307
308
  if (!/^[A-Za-z0-9_][A-Za-z0-9_.:-]*$/.test(t))
308
309
  throw new Error(`tool allowlist entries are exact names, got ${JSON.stringify(t)}`);
309
310
  }
310
- function resolveModel(runtime, model) {
311
+ /**
312
+ * The spec's model on this host. An OpenAI spec runs on the login that exists
313
+ * (modelroute.ts): the provider it names when that provider has a credential,
314
+ * else its twin (`openai-codex` <-> `openai`) when the twin has one and serves
315
+ * the same id. pi's own offline auth check decides (ModelRuntime.checkAuth
316
+ * reads the credential store and the runtime keys; the host's snapshot is
317
+ * empty, since it is created without a refresh).
318
+ */
319
+ export async function resolveModel(runtime, model) {
311
320
  if (typeof model !== "string")
312
321
  return model;
313
- const at = model.indexOf("/");
314
- const found = at > 0 ? runtime.getModel(model.slice(0, at), model.slice(at + 1)) : undefined;
322
+ const parts = splitProvider(model);
323
+ if (parts === null)
324
+ throw new Error(`model ${JSON.stringify(model)} is not known to the host`);
325
+ const twin = twinProvider(parts.provider);
326
+ let provider = parts.provider;
327
+ if (twin !== undefined) {
328
+ // VERIFY-ON-PIN (pi 1.4.0): checkAuth resolves undefined for a provider with
329
+ // no credential and an AuthCheck for one with an OAuth or API-key credential.
330
+ const usable = new Set();
331
+ for (const p of [parts.provider, twin])
332
+ if ((await runtime.checkAuth(p).catch(() => undefined)) !== undefined)
333
+ usable.add(p);
334
+ provider = routeProvider(parts.provider, parts.rest, {
335
+ hasCredential: (p) => usable.has(p),
336
+ hasModel: (p, id) => runtime.getModel(p, id) !== undefined,
337
+ });
338
+ }
339
+ const found = runtime.getModel(provider, parts.rest);
315
340
  if (!found)
316
341
  throw new Error(`model ${JSON.stringify(model)} is not known to the host`);
317
342
  return found;
@@ -504,7 +529,7 @@ export class PiHost {
504
529
  const { session } = await createAgentSession({
505
530
  cwd: spec.cwd,
506
531
  agentDir: this.agentDir,
507
- model: resolveModel(this.modelRuntime, spec.model),
532
+ model: await resolveModel(this.modelRuntime, spec.model),
508
533
  ...(spec.thinkingLevel ? { thinkingLevel: spec.thinkingLevel } : {}),
509
534
  modelRuntime: this.modelRuntime,
510
535
  resourceLoader,
@@ -1 +1 @@
1
- {"version":3,"file":"pisdk.js","sourceRoot":"","sources":["../../../src/engine/pisdk.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,gFAAgF;AAChF,uEAAuE;AACvE,8EAA8E;AAC9E,EAAE;AACF,wEAAwE;AACxE,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,+DAA+D;AAC/D,+EAA+E;AAC/E,sEAAsE;AACtE,wEAAwE;AACxE,2EAA2E;AAC3E,4EAA4E;AAC5E,uEAAuE;AACvE,wEAAwE;AACxE,qDAAqD;AACrD,4EAA4E;AAC5E,6EAA6E;AAC7E,wEAAwE;AACxE,8CAA8C;AAC9C,uEAAuE;AACvE,oEAAoE;AACpE,gFAAgF;AAChF,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,uEAAuE;AACvE,EAAE;AACF,+FAA+F;AAC/F,2EAA2E;AAC3E,0EAA0E;AAC1E,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,wEAAwE;AACxE,6BAA6B;AAC7B,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,2DAA2D;AAC3D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAOL,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,EACb,IAAI,IAAI,SAAS,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,eAAe,GAGhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAgB,MAAM,cAAc,CAAC;AAE9F,6EAA6E;AAE7E;0DAC0D;AAC1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAChF,mEAAmE;AACnE,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC/D;0DAC0D;AAC1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAQpD;4EAC4E;AAC5E,MAAM,UAAU,WAAW;IACzB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAEhF,CAAC;QACF,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;wDAIwD;AACxD,MAAM,UAAU,WAAW,CACzB,MAAyB,OAAO,CAAC,GAAG,EACpC,QAAgB,OAAO,CAAC,KAAK;IAE7B,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,MAAM,IAAI,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED;;qEAEqE;AACrE,MAAM,UAAU,YAAY;IAC1B,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAID;;;oDAGoD;AACpD,MAAM,CAAC,KAAK,UAAU,2BAA2B;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACxE,IAAI,GAA0C,CAAC;IAC/C,IAAI,CAAC;QACH,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAe,CAAC;IAC3D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,qFAAqF;QACrF,IAAK,CAAuB,CAAC,IAAI,KAAK,iBAAiB;YAAE,MAAM,CAAC,CAAC;QACjE,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAe,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,uBAAuB,KAAK,UAAU;QACnD,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,oEAAoE,CACtH,CAAC;IACJ,OAAO,GAAG,CAAC,uBAAkD,CAAC;AAChE,CAAC;AAKD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAElD;;;;+CAI+C;AAC/C,MAAM,UAAU,aAAa,CAAC,OAA8B,EAAE,GAAiB;IAC7E,MAAM,MAAM,GAAG,OAAqD,CAAC;IACrE,IAAI,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9F,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC5B,CAAC;AAED;;;+EAG+E;AAC/E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc,EAAE,GAAiB;IACnE,OAAO,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC,CAAE,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAC/B,CAAC,MAAM,2BAA2B,EAAE,CAAC,EAAE,CAAC;IACxC,aAAa,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,IAAI,YAAsD,CAAC;AAE3D;;wEAEwE;AACxE,MAAM,UAAU,gBAAgB;IAC9B,YAAY,KAAK,CAAC,KAAK,IAAI,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC9D,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAElD,CAAC;YACF,OAAO,OAAO,GAAG,CAAC,4BAA4B,KAAK,UAAU;gBAC3D,CAAC,CAAE,GAAG,CAAC,4BAA6C;gBACpD,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,CAM1C;IACC,MAAM,CAAC,GAAG,UAAqC,CAAC;IAChD,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,WAAW,EAAE;QAAE,OAAO,QAAQ,CAAC;IACxD,MAAM,IAAI,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,wBAAwB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7F,IAAI,CAAC,CAAC,CAAC,WAAW;QAAE,OAAO,MAAM,CAAC;IAClC,CAAC,MAAM,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC;IACrD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,kFAAkF;AAElF;4DAC4D;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,UAAU;IACV,MAAM;IACN,MAAM;IACN,IAAI;IACJ,QAAQ;CACT,CAAC;AAEF;qDACqD;AACrD,MAAM,cAAc,GAAG;IACrB,eAAe;IACf,iBAAiB;IACjB,aAAa;IACb,UAAU;IACV,oBAAoB;CACZ,CAAC;AAUX,SAAS,OAAO,CAAC,IAAY,EAAE,QAA2B;IACxD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAqD,EACrD,KAAmD,EACnD,UAA0B,EAAE;IAE5B,MAAM,QAAQ,GAAG,CAAC,GAAG,sBAAsB,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACxE,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC7C,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,iBAAiB;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mFAAmF;AAEnF;;;kCAGkC;AAClC,MAAM,qBAAqB,GAAG;IAC5B,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;+DAE+D;AAC/D,SAAS,mBAAmB,CAAC,OAAqB;IAChD,MAAM,MAAM,GAAI,OAA6D,CAAC,MAAM,CAAC;IACrF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI;QAClF,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,MAAM,CAAC,WAAW,GAAG,qBAAqB,CAAC;AAC7C,CAAC;AAED,kFAAkF;AAElF,2EAA2E;AAC3E,MAAM,YAAY,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAE7E,MAAM,sBAAuB,SAAQ,qBAAqB;IACxD,YAAY,CAQX;QACC,KAAK,CAAC;YACJ,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC;YAC7C,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,IAAI;YACvB,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE,IAAI;YACpB,qEAAqE;YACrE,0EAA0E;YAC1E,0EAA0E;YAC1E,oBAAoB;YACpB,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;YACvD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;YACzD,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;YACvD,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAClF,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY;YAC1C,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC;SAC5D,CAAC,CAAC;QACH,yEAAyE;QACzE,6EAA6E;QAC7E,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,IAAI,GAAG,IAA+D,CAAC;QAC7E,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC/B,IACE,CAAC,EAAE;YACH,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,UAAU;YACnC,OAAO,EAAE,CAAC,yBAAyB,CAAC,KAAK,UAAU;YAEnD,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;QACJ,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC;QACzC,EAAE,CAAC,yBAAyB,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC;IAC3D,CAAC;CACF;AAsGD,oFAAoF;AACpF,MAAM,CAAC,MAAM,aAAa,GAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAElF,SAAS,kBAAkB,CAAC,KAAwB;IAClD,KAAK,MAAM,CAAC,IAAI,KAAK;QACnB,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,YAAY,CAAC,OAAqB,EAAE,KAA0B;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACvF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;4BAC4B;AAC5B,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,IAAI,KAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,mEAAmE;QACnE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;YACpC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAqC,CAAC;QACtE,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;oDAIoD;AACpD,SAAS,iBAAiB,CAAC,IAAqB;IAC9C,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IACzC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC;QAC7F,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;IACJ,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC1E,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC3E,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;QACvF,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,EAAE,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mCAAmC,CAAC,CAAC;QAC7E,6EAA6E;QAC7E,sEAAsE;QACtE,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE;YAC/B,MAAM,IAAI,KAAK,CACb,YAAY,IAAI,4BAA4B,EAAE,OAAO,OAAO,CAAC,YAAY,EAAE,GAAG,CAC/E,CAAC;QACJ,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,IAAI,aAAa,IAAI,OAAO,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;QACvF,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,CAAC;QAC7E,2EAA2E;QAC3E,mEAAmE;QACnE,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO;QACT,OAAO,cAAc,CAAC,MAAM,CAC1B,IAAI,CAAC,GAAG,EACR,OAAO,CAAC,UAAU,EAClB,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAClE,CAAC;IACJ,8FAA8F;IAC9F,yEAAyE;IACzE,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,OAAO,MAAM;IAWE;IAVV,QAAQ,CAAS;IACjB,YAAY,CAAe;IACpC,4DAA4D;IACnD,UAAU,CAAoB;IAC9B,iBAAiB,CAAS;IACnC,oDAAoD;IAC3C,KAAK,CAAmB;IAChB,QAAQ,GAAG,IAAI,GAAG,EAAgB,CAAC;IAEpD,YACmB,OAAsB,EACvC,YAA0B,EAC1B,UAA6B,EAC7B,iBAAyB;QAHR,YAAO,GAAP,OAAO,CAAe;QAKvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,KAAK;YACR,OAAO,CAAC,KAAK,KAAK,KAAK;gBACrB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK;oBACd,eAAe,CAAC;wBACd,cAAc,EAAE,sBAAsB;wBACtC,IAAI,EAAE;4BACJ,OAAO,CAAC,QAAQ;4BAChB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxE,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC;4BAC/B,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC;4BAC/B,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;yBAC7B;qBACF,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAsB;QACxC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,kDAAkD,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxF,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,IAAI,4BAA4B,CAAC;QACvE,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI;YACzD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC;YAC5C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;YACzC,aAAa,EAAE,IAAI;YACnB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC;YAC7C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC;YACjD,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;YAC5D,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,uEAAuE;YACvE,8CAA8C;YAC9C,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QACH,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;mFAC+E;IACvE,QAAQ;QACd,OAAO,eAAe,CAAC,QAAQ,CAC7B,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EACvE,EAAE,cAAc,EAAE,KAAK,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,sFAAsF;IAC9E,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,KAAwB;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,gBAAgB,CAC1B,KAAK,EACL,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,gBAAgB,EAAE,CAC/D,CAAC;QACF,MAAM,IAAI,GAAyD;YACjE,IAAI,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;YACnE,IAAI,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;YACnE,IAAI,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC;YACzC,EAAE,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;YAC7D,IAAI,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;YACnE,KAAK,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;SACvE,CAAC;QACF,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7D,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAC3E,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,IAAqB;QACrC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC;QACjD,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,sBAAsB,CAAC;YAChD,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe;YACf,kBAAkB,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;YACzC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,EAAE;YACjD,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE;SAChE,CAAC,CAAC;QACH,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;QAC9B,4EAA4E;QAC5E,4DAA4D;QAC5D,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,GAAG,EAAE;YAC9C,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACnB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;aACnD,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;gBACtB,CAAC,CAAC;oBACE,UAAU,EAAE,sBAAsB,CAChC,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,IAAI,CAAC,OAAO,CAAC,UAAU,EACvB,IAAI,CAAC,UAAU,CAChB;iBACF;gBACH,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM;oBACvB,CAAC,CAAC,EAAE,UAAU,EAAE,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBAC3D,CAAC,CAAC,EAAE,CAAC;SACV,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC;YAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc;YACd,cAAc;YACd,eAAe;YACf,KAAK;YACL,WAAW,EAAE,CAAC,IAAiC,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;SACxF,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACjE,wEAAwE;YACxE,MAAM,KAAK,GAAG,OAAO;iBAClB,WAAW,EAAE;iBACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,CAAC;QACV,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,wDAAwD;IACxD,OAAO;QACL,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF;AAED;;qFAEqF;AACrF,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,UAAkB,EAAE,GAAW;IAC9E,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,mBAAmB,EAAE,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"pisdk.js","sourceRoot":"","sources":["../../../src/engine/pisdk.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,44 @@
1
1
  export type FetchFn = typeof fetch;
2
2
  /** GraphQL's bare App actor, only for a matching configured bot login. */
3
3
  export declare function appActorAlias(botLogin: string, appSlug: string): string | undefined;
4
+ /**
5
+ * What the GitHub adapter authenticates with. `installationToken` is the
6
+ * bearer for every repo read and gated write (the App's installation token,
7
+ * or the person's own token); `invalidate` drops it after a 401 so the next
8
+ * call fetches a fresh one. `appJwt` exists only on the App credential: a
9
+ * route that needs it (the App's own hook configuration and deliveries) is
10
+ * refused where it is absent.
11
+ */
12
+ export interface GitHubCredential {
13
+ installationToken(): Promise<string>;
14
+ invalidate(): void;
15
+ appJwt?(): string | Promise<string>;
16
+ }
17
+ /** The person's token file under the secrets dir (`auth = "user"`). */
18
+ export declare const USER_TOKEN_FILE = "github_token";
19
+ /** How long a read of the token file is trusted before it is read again. */
20
+ export declare const USER_TOKEN_REREAD_MS: number;
21
+ /** The person's own GitHub token, as the host-side refresher last wrote it. */
22
+ export declare class UserTokenSource implements GitHubCredential {
23
+ private readonly secretsDir;
24
+ private readonly now;
25
+ private token;
26
+ private readAt;
27
+ constructor(secretsDir: string, now?: () => number);
28
+ /** The token file's path — named in every error, never its contents. */
29
+ get path(): string;
30
+ installationToken(): Promise<string>;
31
+ /** After a 401: the next call reads the file again (the refresher may have
32
+ * written a new token since). */
33
+ invalidate(): void;
34
+ private reload;
35
+ }
36
+ /** The credential `[github] auth` names: the App minter by default, the
37
+ * person's token file under "user". */
38
+ export declare function githubCredential(g: {
39
+ auth?: "app" | "user";
40
+ secrets_dir: string;
41
+ }, fetchFn?: FetchFn): GitHubCredential;
4
42
  export declare function mintAppJwt(appId: string, privateKeyPem: string, now?: () => number): string;
5
43
  export interface InstallationToken {
6
44
  token: string;
@@ -9,7 +47,7 @@ export interface InstallationToken {
9
47
  /** The deadline on each request — the same as the adapter's REST calls, so a
10
48
  * stalled mint cannot hold every caller waiting on its shared promise. */
11
49
  export declare const GITHUB_REQUEST_TIMEOUT_MS = 60000;
12
- export declare class TokenMinter {
50
+ export declare class TokenMinter implements GitHubCredential {
13
51
  private readonly secretsDir;
14
52
  private readonly fetchFn;
15
53
  private readonly apiBase;
@@ -1 +1 @@
1
- {"version":3,"file":"githubAuth.d.ts","sourceRoot":"","sources":["../../src/githubAuth.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC;AAEnC,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnF;AAMD,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,MAAM,MAAiB,GAC3B,MAAM,CAOR;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAID;0EAC0E;AAC1E,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAchD,qBAAa,WAAW;IAMpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IARtB,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,cAAc,CAAuB;gBAG1B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,OAAe,EACxB,OAAO,SAA2B,EAClC,GAAG,GAAE,MAAM,MAAiB;IAG/C,OAAO,CAAC,UAAU;IAIlB,MAAM,IAAI,MAAM;IAQhB,mEAAmE;IAC7D,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;IAe9C,OAAO,CAAC,KAAK;IAIb,wEAAwE;IAClE,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAWnD,IAAI;IAelB,4DAA4D;IAC5D,UAAU,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;CAI1C"}
1
+ {"version":3,"file":"githubAuth.d.ts","sourceRoot":"","sources":["../../src/githubAuth.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC;AAEnC,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGnF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,IAAI,IAAI,CAAC;IACnB,MAAM,CAAC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAED,uEAAuE;AACvE,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,QAAgB,CAAC;AAElD,+EAA+E;AAC/E,qBAAa,eAAgB,YAAW,gBAAgB;IAKpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,MAAM,CAAK;gBAGA,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,MAAiB;IAG/C,wEAAwE;IACxE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAK1C;qCACiC;IACjC,UAAU,IAAI,IAAI;IAIlB,OAAO,CAAC,MAAM;CAwBf;AAED;uCACuC;AACvC,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EACjD,OAAO,GAAE,OAAe,GACvB,gBAAgB,CAIlB;AAMD,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,MAAM,MAAiB,GAC3B,MAAM,CAOR;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAID;0EAC0E;AAC1E,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAchD,qBAAa,WAAY,YAAW,gBAAgB;IAMhD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IARtB,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,cAAc,CAAuB;gBAG1B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,OAAe,EACxB,OAAO,SAA2B,EAClC,GAAG,GAAE,MAAM,MAAiB;IAG/C,OAAO,CAAC,UAAU;IAIlB,MAAM,IAAI,MAAM;IAQhB,mEAAmE;IAC7D,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;IAe9C,OAAO,CAAC,KAAK;IAIb,wEAAwE;IAClE,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAWnD,IAAI;IAelB,4DAA4D;IAC5D,UAAU,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;CAI1C"}
@@ -1,18 +1,85 @@
1
- // GitHub App authentication: RS256 app JWTs and cached installation tokens.
2
- // The JWT is backdated 60 s against clock skew and lives 600 s from that iat
3
- // (9 min from now); scripts/mint-token.sh signs its own with a 540 s life
4
- // (8 min from now). Both stay under GitHub's 10-minute ceiling. Tokens are
5
- // cached per installation off `expires_at` with a ~5 min proactive refresh
6
- // window, refreshed single-flight, re-minted once on a 401 (by the caller's
7
- // `invalidate`). Every request carries the adapter's 60 s deadline.
8
- // The app PEM is the only credential anywhere — no personal token code path.
1
+ // The daemon's GitHub credential, behind one seam (`GitHubCredential`), in
2
+ // one of two shapes chosen by `[github] auth`:
3
+ //
4
+ // * "app" (the default) — `TokenMinter`: RS256 app JWTs and cached
5
+ // installation tokens. The JWT is backdated 60 s against clock skew and
6
+ // lives 600 s from that iat (9 min from now); scripts/mint-token.sh signs
7
+ // its own with a 540 s life (8 min from now). Both stay under GitHub's
8
+ // 10-minute ceiling. Tokens are cached per installation off `expires_at`
9
+ // with a ~5 min proactive refresh window, refreshed single-flight,
10
+ // re-minted once on a 401 (by the caller's `invalidate`). Every request
11
+ // carries the adapter's 60 s deadline.
12
+ // * "user" — `UserTokenSource`: the person's own token, read from the ONE
13
+ // file `<secrets dir>/github_token` (0600, the token alone) that the
14
+ // host-side refresher keeps fresh. It is re-read on first use, every five
15
+ // minutes, and after a 401. This mode is polling-only, it has no App JWT
16
+ // (so every JWT-authed App route is refused), every mutation still goes
17
+ // through the one gate, and the token reaches the daemon as that file,
18
+ // never through the environment or a command line (SECURITY.md, hard
19
+ // rule 3 as amended). Nothing here reads the environment.
9
20
  import { createSign } from "node:crypto";
10
21
  import { readFileSync } from "node:fs";
11
22
  import { join } from "node:path";
12
23
  /** GraphQL's bare App actor, only for a matching configured bot login. */
13
24
  export function appActorAlias(botLogin, appSlug) {
25
+ if (!appSlug)
26
+ return undefined;
14
27
  return botLogin === `${appSlug}[bot]` ? appSlug : undefined;
15
28
  }
29
+ /** The person's token file under the secrets dir (`auth = "user"`). */
30
+ export const USER_TOKEN_FILE = "github_token";
31
+ /** How long a read of the token file is trusted before it is read again. */
32
+ export const USER_TOKEN_REREAD_MS = 5 * 60 * 1000;
33
+ /** The person's own GitHub token, as the host-side refresher last wrote it. */
34
+ export class UserTokenSource {
35
+ secretsDir;
36
+ now;
37
+ token = null;
38
+ readAt = 0;
39
+ constructor(secretsDir, now = Date.now) {
40
+ this.secretsDir = secretsDir;
41
+ this.now = now;
42
+ }
43
+ /** The token file's path — named in every error, never its contents. */
44
+ get path() {
45
+ return join(this.secretsDir, USER_TOKEN_FILE);
46
+ }
47
+ async installationToken() {
48
+ if (this.token === null || this.now() - this.readAt >= USER_TOKEN_REREAD_MS)
49
+ this.reload();
50
+ return this.token;
51
+ }
52
+ /** After a 401: the next call reads the file again (the refresher may have
53
+ * written a new token since). */
54
+ invalidate() {
55
+ this.token = null;
56
+ }
57
+ reload() {
58
+ let text;
59
+ try {
60
+ text = readFileSync(this.path, "utf8");
61
+ }
62
+ catch (err) {
63
+ const code = err.code ?? "unreadable";
64
+ throw new Error(`no GitHub user token at ${this.path} (${code}) — [github] auth = "user" reads the person's ` +
65
+ "token from this file; run `qcr github-token sync` on the host to write it", { cause: err });
66
+ }
67
+ const token = text.trim();
68
+ if (token === "")
69
+ throw new Error(`the GitHub user token file ${this.path} is empty — run \`qcr github-token sync\``);
70
+ if (/\s/.test(token))
71
+ throw new Error(`the GitHub user token file ${this.path} holds more than one token-shaped word`);
72
+ this.token = token;
73
+ this.readAt = this.now();
74
+ }
75
+ }
76
+ /** The credential `[github] auth` names: the App minter by default, the
77
+ * person's token file under "user". */
78
+ export function githubCredential(g, fetchFn = fetch) {
79
+ return g.auth === "user"
80
+ ? new UserTokenSource(g.secrets_dir)
81
+ : new TokenMinter(g.secrets_dir, fetchFn);
82
+ }
16
83
  function b64url(input) {
17
84
  return Buffer.from(input).toString("base64url");
18
85
  }