@reposkein/mcp 0.3.0 → 0.5.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 (117) hide show
  1. package/README.md +76 -1
  2. package/binary-digests.json +4 -4
  3. package/dist/SKILL.md +19 -0
  4. package/dist/cli/agentAdapters.d.ts +68 -0
  5. package/dist/cli/agentAdapters.js +223 -0
  6. package/dist/cli/agentAdapters.js.map +1 -0
  7. package/dist/cli/ansi.d.ts +24 -0
  8. package/dist/cli/ansi.js +40 -0
  9. package/dist/cli/ansi.js.map +1 -0
  10. package/dist/cli/doctor.d.ts +34 -2
  11. package/dist/cli/doctor.js +51 -6
  12. package/dist/cli/doctor.js.map +1 -1
  13. package/dist/cli/doctorFreshness.d.ts +43 -0
  14. package/dist/cli/doctorFreshness.js +111 -0
  15. package/dist/cli/doctorFreshness.js.map +1 -0
  16. package/dist/cli/doctorSummaries.d.ts +2 -0
  17. package/dist/cli/doctorSummaries.js +95 -0
  18. package/dist/cli/doctorSummaries.js.map +1 -0
  19. package/dist/cli/federatedDiscovery.d.ts +16 -0
  20. package/dist/cli/federatedDiscovery.js +75 -0
  21. package/dist/cli/federatedDiscovery.js.map +1 -0
  22. package/dist/cli/init.d.ts +69 -6
  23. package/dist/cli/init.js +194 -28
  24. package/dist/cli/init.js.map +1 -1
  25. package/dist/cli/sourceSlices.d.ts +17 -0
  26. package/dist/cli/sourceSlices.js +59 -0
  27. package/dist/cli/sourceSlices.js.map +1 -0
  28. package/dist/cli/stats.d.ts +29 -0
  29. package/dist/cli/stats.js +180 -0
  30. package/dist/cli/stats.js.map +1 -0
  31. package/dist/cli/view.d.ts +71 -3
  32. package/dist/cli/view.js +170 -14
  33. package/dist/cli/view.js.map +1 -1
  34. package/dist/index.d.ts +8 -48
  35. package/dist/index.js +94 -295
  36. package/dist/index.js.map +1 -1
  37. package/dist/indexer/fetchBinary.d.ts +14 -0
  38. package/dist/indexer/fetchBinary.js +81 -40
  39. package/dist/indexer/fetchBinary.js.map +1 -1
  40. package/dist/indexer/indexLock.d.ts +13 -0
  41. package/dist/indexer/indexLock.js +66 -0
  42. package/dist/indexer/indexLock.js.map +1 -0
  43. package/dist/indexer/runIndexer.d.ts +8 -2
  44. package/dist/indexer/runIndexer.js +20 -4
  45. package/dist/indexer/runIndexer.js.map +1 -1
  46. package/dist/serve/serve.d.ts +95 -0
  47. package/dist/serve/serve.js +581 -0
  48. package/dist/serve/serve.js.map +1 -0
  49. package/dist/serve/tokens.d.ts +49 -0
  50. package/dist/serve/tokens.js +108 -0
  51. package/dist/serve/tokens.js.map +1 -0
  52. package/dist/serve/watch.d.ts +73 -0
  53. package/dist/serve/watch.js +135 -0
  54. package/dist/serve/watch.js.map +1 -0
  55. package/dist/server/createMcpServer.d.ts +129 -0
  56. package/dist/server/createMcpServer.js +464 -0
  57. package/dist/server/createMcpServer.js.map +1 -0
  58. package/dist/store/JsonlGraphStore.d.ts +18 -4
  59. package/dist/store/JsonlGraphStore.js +61 -19
  60. package/dist/store/JsonlGraphStore.js.map +1 -1
  61. package/dist/store/decisions.d.ts +20 -2
  62. package/dist/store/decisions.js +35 -2
  63. package/dist/store/decisions.js.map +1 -1
  64. package/dist/store/indexedAt.d.ts +18 -0
  65. package/dist/store/indexedAt.js +56 -0
  66. package/dist/store/indexedAt.js.map +1 -0
  67. package/dist/store/instrumentTool.d.ts +40 -0
  68. package/dist/store/instrumentTool.js +82 -0
  69. package/dist/store/instrumentTool.js.map +1 -0
  70. package/dist/store/repoContextCache.d.ts +15 -0
  71. package/dist/store/repoContextCache.js +26 -0
  72. package/dist/store/repoContextCache.js.map +1 -0
  73. package/dist/store/repoSession.d.ts +63 -0
  74. package/dist/store/repoSession.js +123 -0
  75. package/dist/store/repoSession.js.map +1 -0
  76. package/dist/store/resolveRepoPath.d.ts +31 -0
  77. package/dist/store/resolveRepoPath.js +85 -0
  78. package/dist/store/resolveRepoPath.js.map +1 -0
  79. package/dist/store/sessionLog.d.ts +98 -0
  80. package/dist/store/sessionLog.js +216 -0
  81. package/dist/store/sessionLog.js.map +1 -0
  82. package/dist/store/sessionStats.d.ts +55 -0
  83. package/dist/store/sessionStats.js +140 -0
  84. package/dist/store/sessionStats.js.map +1 -0
  85. package/dist/store/sidecar.d.ts +39 -3
  86. package/dist/store/sidecar.js +89 -5
  87. package/dist/store/sidecar.js.map +1 -1
  88. package/dist/store/summaryShards.d.ts +117 -0
  89. package/dist/store/summaryShards.js +291 -0
  90. package/dist/store/summaryShards.js.map +1 -0
  91. package/dist/store/teamConfig.d.ts +17 -0
  92. package/dist/store/teamConfig.js +55 -0
  93. package/dist/store/teamConfig.js.map +1 -0
  94. package/dist/tools/indexerTools.d.ts +14 -2
  95. package/dist/tools/indexerTools.js +17 -5
  96. package/dist/tools/indexerTools.js.map +1 -1
  97. package/dist/tools/recordDecision.d.ts +3 -0
  98. package/dist/tools/recordDecision.js +7 -2
  99. package/dist/tools/recordDecision.js.map +1 -1
  100. package/dist/tools/writeSemanticSummary.d.ts +4 -1
  101. package/dist/tools/writeSemanticSummary.js +5 -2
  102. package/dist/tools/writeSemanticSummary.js.map +1 -1
  103. package/dist/viz/assets/{graph.worker-CC7BeE-8.js → graph.worker-DkH6-lMU.js} +1 -1
  104. package/dist/viz/assets/index-BnqIVYFE.css +1 -0
  105. package/dist/viz/assets/index-IhtszTp0.js +5 -0
  106. package/dist/viz/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  107. package/dist/viz/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  108. package/dist/viz/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2 +0 -0
  109. package/dist/viz/assets/r3f-Bn9htB92.js +336 -0
  110. package/dist/viz/assets/tanstack-CSzx6NDA.js +62 -0
  111. package/dist/viz/assets/three-Cpu5RUEM.js +4116 -0
  112. package/dist/viz/index.html +5 -4
  113. package/package.json +5 -4
  114. package/dist/viz/assets/index-C_8UkiJ8.js +0 -9
  115. package/dist/viz/assets/r3f-Cku1OhB-.js +0 -277
  116. package/dist/viz/assets/tanstack-DyXcNRWk.js +0 -77
  117. package/dist/viz/assets/three-Z8XaLGmf.js +0 -3839
@@ -1,4 +1,5 @@
1
1
  import { type IncomingMessage, type ServerResponse } from "node:http";
2
+ import { type SourceSliceEntry } from "./sourceSlices.js";
2
3
  /** The prebuilt viz/ SPA bundle, copied into the mcp package at build time
3
4
  * (scripts/bundle-viz.mjs copies viz/dist -> mcp/dist/viz). */
4
5
  export declare function vizDistDir(): string;
@@ -7,6 +8,25 @@ export interface ViewOptions {
7
8
  host: string;
8
9
  open: boolean;
9
10
  }
11
+ export interface RepoBakeMeta {
12
+ commitSha: string | null;
13
+ builtAt: string | null;
14
+ repoUrl: string | null;
15
+ /** `[team] pages_url` from `.reposkein/config.toml`, or null when unset.
16
+ * The team's canonical/CI-published constellation link (e.g. a GitHub
17
+ * Pages URL) — distinct from whatever local `view`/export a machine
18
+ * happens to be looking at. Drives the viewer header's "team constellation"
19
+ * link (viz/src/routes/Root.tsx). */
20
+ pagesUrl: string | null;
21
+ }
22
+ /** Best-effort git introspection for the live `view` server: the current HEAD
23
+ * sha + a guessed web URL for `origin` (github.com only; other hosts degrade
24
+ * to null rather than guessing wrong), plus `[team] pages_url` from
25
+ * config.toml. Never throws — any failure (not a repo, no origin, git
26
+ * missing, no config.toml) yields nulls so the affected UI just doesn't
27
+ * render. Computed ONCE at server start (not per-request) since it shells
28
+ * out to git. */
29
+ export declare function resolveServerRepoMeta(repoPath: string): RepoBakeMeta;
10
30
  /** Builds the request handler. Exposed for tests (no listening socket). */
11
31
  export declare function makeViewHandler(repoPath: string, repoId: string): (req: IncomingMessage, res: ServerResponse) => void;
12
32
  /** `reposkein-mcp view [repoPath] [--port N] [--host H] [--no-open]`.
@@ -15,11 +35,54 @@ export declare function makeViewHandler(repoPath: string, repoId: string): (req:
15
35
  export declare function runView(repoPath: string, repoId: string, opts: ViewOptions): Promise<number>;
16
36
  /** Parses `view` CLI args (after the `view` subcommand). When `--export <dir>`
17
37
  * is present, returns `exportDir` set (and the server opts are ignored). */
38
+ /** Metadata baked into a static export, driving the viewer's staleness badge.
39
+ * `builtAt` defaults to bake-time (now) when not given explicitly — it is the
40
+ * one time-derived field: the same repo + commitSha + builtAt always bakes
41
+ * byte-identical output, but builtAt itself is naturally different per run
42
+ * unless the caller pins it (e.g. for a reproducibility test). */
43
+ export interface ExportBakeOptions {
44
+ commitSha?: string | null;
45
+ repoUrl?: string | null;
46
+ builtAt?: string | null;
47
+ /** `[team] pages_url`; defaults to reading `.reposkein/config.toml` at
48
+ * export time when omitted (same source resolveServerRepoMeta uses in
49
+ * server mode) — pass explicitly only to override or pin it. */
50
+ pagesUrl?: string | null;
51
+ /** Bake size-capped per-node source slices (design: optional, flag-gated). */
52
+ withSource?: boolean;
53
+ /** Byte cap for baked source slices; only consulted when withSource is true. */
54
+ sourceMaxBytes?: number;
55
+ /** How many directory levels to scan for nested `.reposkein/` repos. */
56
+ federatedDepth?: number;
57
+ }
18
58
  export declare function parseViewArgs(argv: string[]): {
19
59
  repoPath: string;
20
60
  opts: ViewOptions;
21
61
  exportDir: string | null;
62
+ exportOpts: ExportBakeOptions;
22
63
  };
64
+ /** A federated repo's data inlined into a static export (self-contained: no
65
+ * fetch of nodesUrl/edgesUrl at runtime — the viewer reads federatedText). */
66
+ export interface FederatedBakeEntry {
67
+ repoId: string;
68
+ rootPath: string;
69
+ nodesText: string;
70
+ edgesText: string;
71
+ }
72
+ /** Extra data baked into `graph-data.js` alongside the root repo's JSONL. */
73
+ export interface GraphDataExtra {
74
+ meta?: RepoBakeMeta;
75
+ /** Git-derived file co-change map (same shape /api/temporal returns), or
76
+ * omitted/{} when temporal data is unavailable. */
77
+ cochange?: Record<string, {
78
+ path: string;
79
+ support: number;
80
+ confidence: number;
81
+ }[]>;
82
+ federated?: FederatedBakeEntry[];
83
+ /** node id -> source slice, size-capped (design: optional, flag-gated). */
84
+ sourceSlices?: Record<string, SourceSliceEntry>;
85
+ }
23
86
  /** Builds the contents of `graph-data.js` for a static export: a single
24
87
  * assignment of `window.__REPOSKEIN_GRAPH__` with the manifest + the inlined
25
88
  * JSONL text. The viewer's static-mode path parses this on the main thread.
@@ -27,7 +90,7 @@ export declare function parseViewArgs(argv: string[]): {
27
90
  * Pure (string in → string out) so the baked shape is unit-testable. The
28
91
  * payload is a JSON.stringify'd object assigned in an external .js file (NOT
29
92
  * inline HTML), so `</script>` sequences in the JSONL need no escaping. */
30
- export declare function buildGraphDataJs(repoId: string, nodesText: string, edgesText: string): string;
93
+ export declare function buildGraphDataJs(repoId: string, nodesText: string, edgesText: string, extra?: GraphDataExtra): string;
31
94
  /** Injects `<script src="./graph-data.js"></script>` into `html` BEFORE the
32
95
  * first app bundle `<script ... src=...>` (or before </head> / </body> as a
33
96
  * fallback) so the global is set prior to the app booting. Pure. Idempotent:
@@ -36,5 +99,10 @@ export declare function injectGraphDataScript(html: string): string;
36
99
  /** `reposkein-mcp view --export <outDir> [repoPath]`.
37
100
  * Writes a SELF-CONTAINED static site to `<outDir>`: the viz bundle plus the
38
101
  * repo's graph baked into `graph-data.js`, so it loads with NO server (works
39
- * from file:// and from any static-host subpath). Returns the exit code. */
40
- export declare function runExport(repoPath: string, repoId: string, outDir: string): Promise<number>;
102
+ * from file:// and from any static-host subpath). Returns the exit code.
103
+ *
104
+ * Determinism: given the same repo state + the same {commitSha, repoUrl,
105
+ * builtAt} inputs, the export is byte-identical. `builtAt` is the one
106
+ * time-derived field (defaults to bake-time `new Date().toISOString()` when
107
+ * not passed) — pin it explicitly for a reproducible export. */
108
+ export declare function runExport(repoPath: string, repoId: string, outDir: string, bake?: ExportBakeOptions): Promise<number>;
package/dist/cli/view.js CHANGED
@@ -2,9 +2,12 @@ import { createServer } from "node:http";
2
2
  import { readFileSync, existsSync, statSync, createReadStream, mkdirSync, cpSync, writeFileSync, realpathSync, } from "node:fs";
3
3
  import { join, resolve, normalize, extname } from "node:path";
4
4
  import { gzipSync } from "node:zlib";
5
- import { spawn } from "node:child_process";
5
+ import { spawn, execFileSync } from "node:child_process";
6
6
  import { packageRoot } from "../indexer/fetchBinary.js";
7
+ import { readTeamPagesUrl } from "../store/teamConfig.js";
7
8
  import { getTemporal } from "../temporal/temporal.js";
9
+ import { discoverFederatedRepos } from "./federatedDiscovery.js";
10
+ import { collectSourceSlices } from "./sourceSlices.js";
8
11
  /** The prebuilt viz/ SPA bundle, copied into the mcp package at build time
9
12
  * (scripts/bundle-viz.mjs copies viz/dist -> mcp/dist/viz). */
10
13
  export function vizDistDir() {
@@ -65,7 +68,56 @@ function safeJoin(root, urlPath) {
65
68
  return abs;
66
69
  return null;
67
70
  }
68
- function buildManifest(repoId, repoRoot) {
71
+ /** Best-effort git introspection for the live `view` server: the current HEAD
72
+ * sha + a guessed web URL for `origin` (github.com only; other hosts degrade
73
+ * to null rather than guessing wrong), plus `[team] pages_url` from
74
+ * config.toml. Never throws — any failure (not a repo, no origin, git
75
+ * missing, no config.toml) yields nulls so the affected UI just doesn't
76
+ * render. Computed ONCE at server start (not per-request) since it shells
77
+ * out to git. */
78
+ export function resolveServerRepoMeta(repoPath) {
79
+ const git = (args) => {
80
+ try {
81
+ return execFileSync("git", args, { cwd: repoPath, encoding: "utf8" }).trim() || null;
82
+ }
83
+ catch {
84
+ return null;
85
+ }
86
+ };
87
+ const commitSha = git(["rev-parse", "HEAD"]);
88
+ const remote = git(["remote", "get-url", "origin"]);
89
+ const repoUrl = remote ? githubHttpsUrl(remote) : null;
90
+ const pagesUrl = readTeamPagesUrl(repoPath);
91
+ return { commitSha, builtAt: new Date().toISOString(), repoUrl, pagesUrl };
92
+ }
93
+ /** Normalizes a git remote URL (https or ssh form) to an https://github.com/...
94
+ * web URL. Returns null for non-github.com remotes (no safe guess). */
95
+ function githubHttpsUrl(remote) {
96
+ const httpsMatch = remote.match(/^https:\/\/github\.com\/([^/]+)\/(.+?)(?:\.git)?\/?$/);
97
+ if (httpsMatch)
98
+ return `https://github.com/${httpsMatch[1]}/${httpsMatch[2]}`;
99
+ const sshMatch = remote.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?\/?$/);
100
+ if (sshMatch)
101
+ return `https://github.com/${sshMatch[1]}/${sshMatch[2]}`;
102
+ return null;
103
+ }
104
+ /** Counts records in a `.jsonl` file's text: one non-blank line, one record.
105
+ * Tolerates a trailing newline (the common case) and any stray blank lines
106
+ * without over- or under-counting. Shared by the live manifest and the
107
+ * static-export bake (REP-22 polish: both used to hardcode `{ nodes: 0,
108
+ * edges: 0 }` with a "the client re-derives" comment — true for the live
109
+ * worker path, but the baked `graph-data.js` payload is also a document
110
+ * other tooling may read directly, so a real count belongs in it too). */
111
+ function countJsonlRecords(text) {
112
+ if (!text)
113
+ return 0;
114
+ let count = 0;
115
+ for (const line of text.split("\n"))
116
+ if (line.trim().length > 0)
117
+ count++;
118
+ return count;
119
+ }
120
+ function buildManifest(repoId, repoRoot, meta, counts) {
69
121
  return JSON.stringify({
70
122
  root: {
71
123
  repoId,
@@ -81,7 +133,8 @@ function buildManifest(repoId, repoRoot) {
81
133
  repoRoot,
82
134
  },
83
135
  federated: [], // M1: single repo. Federation deferred to M3.
84
- counts: { nodes: 0, edges: 0 }, // counts are advisory; the client re-derives.
136
+ counts,
137
+ meta,
85
138
  });
86
139
  }
87
140
  /** Max lines a single /api/source request may return (cap, design §P3). */
@@ -119,13 +172,21 @@ export function makeViewHandler(repoPath, repoId) {
119
172
  const edgesPath = join(reposkeinDir, "edges.jsonl");
120
173
  const distDir = vizDistDir();
121
174
  const repoRoot = resolve(repoPath);
175
+ // Computed once (shells out to git / reads the JSONL files) — cheap and
176
+ // stable for the server's lifetime; recomputing per-request would add a
177
+ // git spawn and two file reads to every /api/graph hit.
178
+ const repoMeta = resolveServerRepoMeta(repoPath);
179
+ const counts = {
180
+ nodes: existsSync(nodesPath) ? countJsonlRecords(readFileSync(nodesPath, "utf8")) : 0,
181
+ edges: existsSync(edgesPath) ? countJsonlRecords(readFileSync(edgesPath, "utf8")) : 0,
182
+ };
122
183
  return function handler(req, res) {
123
184
  const rawUrl = req.url ?? "/";
124
185
  const qIdx = rawUrl.indexOf("?");
125
186
  const url = (qIdx === -1 ? rawUrl : rawUrl.slice(0, qIdx)) || "/";
126
187
  // --- API routes ---
127
188
  if (url === "/api/graph") {
128
- sendGzip(res, buildManifest(repoId, repoRoot), "application/json; charset=utf-8");
189
+ sendGzip(res, buildManifest(repoId, repoRoot, repoMeta, counts), "application/json; charset=utf-8");
129
190
  return;
130
191
  }
131
192
  // Read-only source slice (design §P3). Path-guarded by safeJoin (rejects
@@ -245,13 +306,17 @@ export async function runView(repoPath, repoId, opts) {
245
306
  process.on("SIGTERM", shutdown);
246
307
  });
247
308
  }
248
- /** Parses `view` CLI args (after the `view` subcommand). When `--export <dir>`
249
- * is present, returns `exportDir` set (and the server opts are ignored). */
250
309
  export function parseViewArgs(argv) {
251
310
  let port = 4317;
252
311
  let host = "127.0.0.1";
253
312
  let open = true;
254
313
  let exportDir = null;
314
+ let commitSha = null;
315
+ let repoUrl = null;
316
+ let builtAt = null;
317
+ let pagesUrl;
318
+ let withSource = false;
319
+ let sourceMaxBytes;
255
320
  const positional = [];
256
321
  for (let i = 0; i < argv.length; i++) {
257
322
  const a = argv[i];
@@ -269,11 +334,48 @@ export function parseViewArgs(argv) {
269
334
  exportDir = argv[++i] ?? null;
270
335
  else if (a.startsWith("--export="))
271
336
  exportDir = a.slice(9);
337
+ else if (a === "--commit-sha")
338
+ commitSha = argv[++i] ?? null;
339
+ else if (a.startsWith("--commit-sha="))
340
+ commitSha = a.slice(13);
341
+ else if (a === "--repo-url")
342
+ repoUrl = argv[++i] ?? null;
343
+ else if (a.startsWith("--repo-url="))
344
+ repoUrl = a.slice(11);
345
+ else if (a === "--built-at")
346
+ builtAt = argv[++i] ?? null;
347
+ else if (a.startsWith("--built-at="))
348
+ builtAt = a.slice(11);
349
+ else if (a === "--pages-url")
350
+ pagesUrl = argv[++i];
351
+ else if (a.startsWith("--pages-url="))
352
+ pagesUrl = a.slice(12);
353
+ else if (a === "--with-source") {
354
+ withSource = true;
355
+ // Optional numeric byte-cap as the next bare token (e.g. `--with-source 500000`).
356
+ const next = argv[i + 1];
357
+ if (next && /^\d+$/.test(next))
358
+ sourceMaxBytes = parseInt(argv[++i], 10);
359
+ }
360
+ else if (a.startsWith("--with-source=")) {
361
+ withSource = true;
362
+ const v = a.slice(14);
363
+ if (/^\d+$/.test(v))
364
+ sourceMaxBytes = parseInt(v, 10);
365
+ }
272
366
  else if (!a.startsWith("-"))
273
367
  positional.push(a);
274
368
  }
275
369
  const repoPath = positional[0] ?? process.env.REPOSKEIN_REPO_PATH ?? ".";
276
- return { repoPath, opts: { port, host, open }, exportDir };
370
+ const exportOpts = {
371
+ commitSha: commitSha ?? process.env.REPOSKEIN_COMMIT_SHA ?? null,
372
+ repoUrl: repoUrl ?? process.env.REPOSKEIN_REPO_URL ?? null,
373
+ builtAt,
374
+ pagesUrl: pagesUrl ?? process.env.REPOSKEIN_PAGES_URL, // undefined -> runExport reads config.toml itself
375
+ withSource,
376
+ sourceMaxBytes,
377
+ };
378
+ return { repoPath, opts: { port, host, open }, exportDir, exportOpts };
277
379
  }
278
380
  /** Builds the contents of `graph-data.js` for a static export: a single
279
381
  * assignment of `window.__REPOSKEIN_GRAPH__` with the manifest + the inlined
@@ -282,7 +384,8 @@ export function parseViewArgs(argv) {
282
384
  * Pure (string in → string out) so the baked shape is unit-testable. The
283
385
  * payload is a JSON.stringify'd object assigned in an external .js file (NOT
284
386
  * inline HTML), so `</script>` sequences in the JSONL need no escaping. */
285
- export function buildGraphDataJs(repoId, nodesText, edgesText) {
387
+ export function buildGraphDataJs(repoId, nodesText, edgesText, extra = {}) {
388
+ const federated = extra.federated ?? [];
286
389
  // Static export bakes a single repo (no federation) and intentionally OMITS
287
390
  // repoRoot — the export is shared/hosted, so a local absolute path is both
288
391
  // meaningless and a leak; server-only features degrade in the viewer.
@@ -295,11 +398,26 @@ export function buildGraphDataJs(repoId, nodesText, edgesText) {
295
398
  nodesUrl: "/api/jsonl/nodes.jsonl",
296
399
  edgesUrl: "/api/jsonl/edges.jsonl",
297
400
  },
298
- federated: [],
299
- counts: { nodes: 0, edges: 0 },
401
+ // federated[] entries carry no fetchable URLs in a static export — the
402
+ // actual text is inlined below (federatedText), read entirely offline.
403
+ federated: federated.map((f) => ({
404
+ repoId: f.repoId,
405
+ rootPath: f.rootPath,
406
+ nodesUrl: "",
407
+ edgesUrl: "",
408
+ })),
409
+ counts: { nodes: countJsonlRecords(nodesText), edges: countJsonlRecords(edgesText) },
300
410
  },
301
411
  nodesText,
302
412
  edgesText,
413
+ federatedText: federated.map((f) => ({
414
+ repoId: f.repoId,
415
+ nodesText: f.nodesText,
416
+ edgesText: f.edgesText,
417
+ })),
418
+ meta: extra.meta ?? { commitSha: null, builtAt: null, repoUrl: null, pagesUrl: null },
419
+ cochange: extra.cochange ?? {},
420
+ ...(extra.sourceSlices ? { sourceSlices: extra.sourceSlices } : {}),
303
421
  };
304
422
  return `window.__REPOSKEIN_GRAPH__ = ${JSON.stringify(payload)};\n`;
305
423
  }
@@ -325,8 +443,13 @@ export function injectGraphDataScript(html) {
325
443
  /** `reposkein-mcp view --export <outDir> [repoPath]`.
326
444
  * Writes a SELF-CONTAINED static site to `<outDir>`: the viz bundle plus the
327
445
  * repo's graph baked into `graph-data.js`, so it loads with NO server (works
328
- * from file:// and from any static-host subpath). Returns the exit code. */
329
- export async function runExport(repoPath, repoId, outDir) {
446
+ * from file:// and from any static-host subpath). Returns the exit code.
447
+ *
448
+ * Determinism: given the same repo state + the same {commitSha, repoUrl,
449
+ * builtAt} inputs, the export is byte-identical. `builtAt` is the one
450
+ * time-derived field (defaults to bake-time `new Date().toISOString()` when
451
+ * not passed) — pin it explicitly for a reproducible export. */
452
+ export async function runExport(repoPath, repoId, outDir, bake = {}) {
330
453
  const reposkeinDir = join(repoPath, ".reposkein");
331
454
  const nodesPath = join(reposkeinDir, "nodes.jsonl");
332
455
  const edgesPath = join(reposkeinDir, "edges.jsonl");
@@ -346,10 +469,41 @@ export async function runExport(repoPath, repoId, outDir) {
346
469
  // 1) Copy the prebuilt viz bundle into the output directory.
347
470
  mkdirSync(absOut, { recursive: true });
348
471
  cpSync(distDir, absOut, { recursive: true });
349
- // 2) Bake the repo graph into graph-data.js.
472
+ // 2) Bake the repo graph + metadata + temporal + federation into graph-data.js.
350
473
  const nodesText = readFileSync(nodesPath, "utf8");
351
474
  const edgesText = existsSync(edgesPath) ? readFileSync(edgesPath, "utf8") : "";
352
- writeFileSync(join(absOut, "graph-data.js"), buildGraphDataJs(repoId, nodesText, edgesText), "utf8");
475
+ const meta = {
476
+ commitSha: bake.commitSha ?? null,
477
+ repoUrl: bake.repoUrl ?? null,
478
+ builtAt: bake.builtAt ?? new Date().toISOString(),
479
+ pagesUrl: bake.pagesUrl !== undefined ? bake.pagesUrl : readTeamPagesUrl(repoPath),
480
+ };
481
+ // Temporal co-change data: the SAME code path /api/temporal uses, called
482
+ // once at export time so the static viewer's coupling overlay works
483
+ // offline. Best-effort — degrades to {} on any failure (never blocks the
484
+ // export).
485
+ const temporalResult = await getTemporal(repoPath);
486
+ const cochange = "cochange" in temporalResult ? temporalResult.cochange : {};
487
+ // Federation: nested `.reposkein/` repos discovered under repoPath, inlined
488
+ // in full (self-contained — no network fetch of federated JSONL at runtime).
489
+ const federatedRepos = discoverFederatedRepos(repoPath, bake.federatedDepth ?? 6);
490
+ const federated = [];
491
+ for (const fed of federatedRepos) {
492
+ const fNodes = join(fed.absPath, ".reposkein", "nodes.jsonl");
493
+ const fEdges = join(fed.absPath, ".reposkein", "edges.jsonl");
494
+ if (!existsSync(fNodes))
495
+ continue; // not indexed — skip, don't fail the export
496
+ federated.push({
497
+ repoId: fed.repoId,
498
+ rootPath: fed.rootPath,
499
+ nodesText: readFileSync(fNodes, "utf8"),
500
+ edgesText: existsSync(fEdges) ? readFileSync(fEdges, "utf8") : "",
501
+ });
502
+ }
503
+ const sourceSlices = bake.withSource
504
+ ? collectSourceSlices(repoPath, nodesText, bake.sourceMaxBytes ?? DEFAULT_SOURCE_MAX_BYTES)
505
+ : undefined;
506
+ writeFileSync(join(absOut, "graph-data.js"), buildGraphDataJs(repoId, nodesText, edgesText, { meta, cochange, federated, sourceSlices }), "utf8");
353
507
  // 3) Inject the graph-data.js script into index.html before the app bundle.
354
508
  const indexPath = join(absOut, "index.html");
355
509
  const html = readFileSync(indexPath, "utf8");
@@ -369,4 +523,6 @@ export async function runExport(repoPath, repoId, outDir) {
369
523
  console.error(` open ${join(absOut, "index.html")} or host this folder.`);
370
524
  return 0;
371
525
  }
526
+ /** Default byte cap for baked per-node source slices (--with-source). */
527
+ const DEFAULT_SOURCE_MAX_BYTES = 2_000_000;
372
528
  //# sourceMappingURL=view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/cli/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/cli/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EACL,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,MAAM,EACN,aAAa,EACb,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAyB,MAAM,mBAAmB,CAAC;AAE/E;gEACgE;AAChE,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,IAAI,GAA2B;IACnC,OAAO,EAAE,0BAA0B;IACnC,KAAK,EAAE,gCAAgC;IACvC,MAAM,EAAE,gCAAgC;IACxC,MAAM,EAAE,yBAAyB;IACjC,OAAO,EAAE,iCAAiC;IAC1C,MAAM,EAAE,iCAAiC;IACzC,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,YAAY;CACvB,CAAC;AAQF;;;;;;;;;;;gEAWgE;AAChE,SAAS,QAAQ,CAAC,IAAY,EAAE,OAAe;IAC7C,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnE,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,8DAA8D;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3E,OAAO,IAAI,CAAC;AACd,CAAC;AAcD;;;;;;kBAMkB;AAClB,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,GAAG,GAAG,CAAC,IAAc,EAAiB,EAAE;QAC5C,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QACvF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC7E,CAAC;AAED;wEACwE;AACxE,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACxF,IAAI,UAAU;QAAE,OAAO,sBAAsB,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC/E,IAAI,QAAQ;QAAE,OAAO,sBAAsB,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;2EAM2E;AAC3E,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IACpB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,EAAE,CAAC;IACzE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CACpB,MAAc,EACd,QAAgB,EAChB,IAAkB,EAClB,MAAwC;IAExC,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE;YACJ,MAAM;YACN,uEAAuE;YACvE,uEAAuE;YACvE,0EAA0E;YAC1E,2DAA2D;YAC3D,QAAQ,EAAE,wBAAwB;YAClC,QAAQ,EAAE,wBAAwB;YAClC,mEAAmE;YACnE,wEAAwE;YACxE,kEAAkE;YAClE,QAAQ;SACT;QACD,SAAS,EAAE,EAAE,EAAE,8CAA8C;QAC7D,MAAM;QACN,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AAC3E,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,SAAS,QAAQ,CAAC,GAAmB,EAAE,IAAY,EAAE,WAAmB;IACtE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,cAAc,EAAE,WAAW;QAC3B,kBAAkB,EAAE,MAAM;QAC1B,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IACH,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,GAAmB;IAClC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;IACrD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACvB,CAAC;AAED,sEAAsE;AACtE,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,GAAG,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IACvF,MAAM,IAAI,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,MAAc;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,wEAAwE;IACxE,wEAAwE;IACxE,wDAAwD;IACxD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACtF,CAAC;IAEF,OAAO,SAAS,OAAO,CAAC,GAAoB,EAAE,GAAmB;QAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;QAElE,qBAAqB;QACrB,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,iCAAiC,CAAC,CAAC;YACpG,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,+BAA+B;QAC/B,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,OAAO;oBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,yBAAyB;gBAClE,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;oBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7E,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpD,sEAAsE;gBACtE,kDAAkD;gBAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;oBAAE,KAAK,CAAC,GAAG,EAAE,CAAC;gBACpE,oEAAoE;gBACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC;gBAChE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC1C,QAAQ,CACN,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EACpD,iCAAiC,CAClC,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;gBACpE,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,GAAG,KAAK,wBAAwB,IAAI,GAAG,KAAK,wBAAwB,EAAE,CAAC;YACzE,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC;gBACH,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,qCAAqC,CAAC,CAAC;YACnF,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,OAAO;QACT,CAAC;QAED,mEAAmE;QACnE,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC5B,WAAW,CAAC,QAAQ,CAAC;iBAClB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,mEAAmE;gBACnE,MAAM,QAAQ,GAAG,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,iCAAiC,CAAC,CAAC;YAC7E,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACV,+DAA+D;gBAC/D,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,iCAAiC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACL,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5C,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjC,0DAA0D;QAC1D,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5D,GAAG,GAAG,aAAa,CAAC;YACpB,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,0BAA0B,CAAC;QAC9D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC;AAED;;sEAEsE;AACtE,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,MAAc,EAAE,IAAiB;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CACX,2CAA2C,QAAQ,KAAK;YACtD,2EAA2E,CAC9E,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CACX,4CAA4C,OAAO,MAAM;YACvD,yEAAyE,CAC5E,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,cAAc,EAAE,EAAE;QAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACzB,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,cAAc,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,8DAA8D;QAC9D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACtE,MAAM,IAAI,GAAG,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,6BAA6B,MAAM,OAAO,IAAI,mBAAmB,CAAC,CAAC;YACjF,IAAI,IAAI,CAAC,IAAI;gBAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YACjC,0EAA0E;QAC5E,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAyBD,MAAM,UAAU,aAAa,CAAC,IAAc;IAM1C,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,IAAI,GAAG,WAAW,CAAC;IACvB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,QAA4B,CAAC;IACjC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,cAAkC,CAAC;IACvC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACnB,IAAI,CAAC,KAAK,WAAW;YAAE,IAAI,GAAG,KAAK,CAAC;aAC/B,IAAI,CAAC,KAAK,QAAQ;YAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;aACrE,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;aACrE,IAAI,CAAC,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC;aACpD,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/C,IAAI,CAAC,KAAK,UAAU;YAAE,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;aACpD,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACtD,IAAI,CAAC,KAAK,cAAc;YAAE,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;aACxD,IAAI,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;YAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC3D,IAAI,CAAC,KAAK,YAAY;YAAE,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;aACpD,IAAI,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACvD,IAAI,CAAC,KAAK,YAAY;YAAE,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;aACpD,IAAI,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACvD,IAAI,CAAC,KAAK,aAAa;YAAE,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9C,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACzD,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;YAC/B,UAAU,GAAG,IAAI,CAAC;YAClB,kFAAkF;YAClF,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1C,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,cAAc,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC;IACzE,MAAM,UAAU,GAAsB;QACpC,SAAS,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAI;QAChE,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI;QAC1D,OAAO;QACP,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,kDAAkD;QACzG,UAAU;QACV,cAAc;KACf,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACzE,CAAC;AAsBD;;;;;;4EAM4E;AAC5E,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,SAAiB,EACjB,SAAiB,EACjB,QAAwB,EAAE;IAE1B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACxC,4EAA4E;IAC5E,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE;YACR,IAAI,EAAE;gBACJ,MAAM;gBACN,qEAAqE;gBACrE,2CAA2C;gBAC3C,QAAQ,EAAE,wBAAwB;gBAClC,QAAQ,EAAE,wBAAwB;aACnC;YACD,uEAAuE;YACvE,uEAAuE;YACvE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;YACH,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAAE;SACrF;QACD,SAAS;QACT,SAAS;QACT,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC,CAAC;QACH,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;QACrF,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;QAC9B,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;IACF,OAAO,gCAAgC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;AACtE,CAAC;AAED;;;iEAGiE;AACjE,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,GAAG,GAAG,yCAAyC,CAAC;IACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,8EAA8E;IAC9E,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,aAAa,CAAC,CAAC;IACpF,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,aAAa,CAAC,CAAC;IACpF,OAAO,IAAI,GAAG,GAAG,CAAC;AACpB,CAAC;AAED;;;;;;;;iEAQiE;AACjE,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,MAAc,EACd,MAAc,EACd,OAA0B,EAAE;IAE5B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CACX,2CAA2C,QAAQ,KAAK;YACtD,2EAA2E,CAC9E,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CACX,4CAA4C,OAAO,MAAM;YACvD,yEAAyE,CAC5E,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,6DAA6D;QAC7D,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,gFAAgF;QAChF,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/E,MAAM,IAAI,GAAiB;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC;SACnF,CAAC;QAEF,yEAAyE;QACzE,oEAAoE;QACpE,yEAAyE;QACzE,WAAW;QACX,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,UAAU,IAAI,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7E,4EAA4E;QAC5E,6EAA6E;QAC7E,MAAM,cAAc,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;QAClF,MAAM,SAAS,GAAyB,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAS,CAAC,4CAA4C;YAC/E,SAAS,CAAC,IAAI,CAAC;gBACb,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,SAAS,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;gBACvC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;aAClE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU;YAClC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,IAAI,wBAAwB,CAAC;YAC3F,CAAC,CAAC,SAAS,CAAC;QAEd,aAAa,CACX,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAC7B,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAC3F,MAAM,CACP,CAAC;QAEF,4EAA4E;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC7C,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE3C,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,qDAAqD;QACrD,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAChF,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,gDAAgD,MAAM,OAAO,MAAM,EAAE,CAAC,CAAC;IACrF,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,uBAAuB,CAAC,CAAC;IAC3E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,yEAAyE;AACzE,MAAM,wBAAwB,GAAG,SAAS,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,50 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { z } from "zod";
3
- export declare const getContextProfileInputSchema: {
4
- node_id: z.ZodOptional<z.ZodString>;
5
- file_path: z.ZodOptional<z.ZodString>;
6
- name: z.ZodOptional<z.ZodString>;
7
- hops: z.ZodOptional<z.ZodNumber>;
8
- federated: z.ZodOptional<z.ZodBoolean>;
9
- };
10
- export declare const recordDecisionInputSchema: {
11
- title: z.ZodString;
12
- context: z.ZodString;
13
- decision: z.ZodString;
14
- consequences: z.ZodOptional<z.ZodString>;
15
- alternatives: z.ZodOptional<z.ZodString>;
16
- status: z.ZodOptional<z.ZodEnum<{
17
- proposed: "proposed";
18
- accepted: "accepted";
19
- }>>;
20
- anchor_node_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
- anchor_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
22
- supersedes: z.ZodOptional<z.ZodArray<z.ZodString>>;
23
- };
24
- export declare const setDecisionStatusInputSchema: {
25
- decision_id: z.ZodString;
26
- status: z.ZodEnum<{
27
- accepted: "accepted";
28
- rejected: "rejected";
29
- deprecated: "deprecated";
30
- }>;
31
- };
32
- export declare const reaffirmDecisionInputSchema: {
33
- decision_id: z.ZodString;
34
- };
35
- export declare const listDecisionsInputSchema: {
36
- status: z.ZodOptional<z.ZodEnum<{
37
- proposed: "proposed";
38
- accepted: "accepted";
39
- rejected: "rejected";
40
- deprecated: "deprecated";
41
- superseded: "superseded";
42
- }>>;
43
- anchor: z.ZodOptional<z.ZodString>;
44
- q: z.ZodOptional<z.ZodString>;
45
- limit: z.ZodOptional<z.ZodNumber>;
46
- };
47
- export declare const getDecisionInputSchema: {
48
- decision_id: z.ZodString;
49
- };
2
+ /** Re-exported from `server/createMcpServer.ts`, where the tool registration
3
+ * now lives (REP-17 extracted it so `serve --http` can build one server PER
4
+ * CONNECTION). Kept here because these are this module's public surface. */
5
+ export { repoRequiredMessage, repoUnindexedMessage, getContextProfileInputSchema, recordDecisionInputSchema, setDecisionStatusInputSchema, reaffirmDecisionInputSchema, listDecisionsInputSchema, getDecisionInputSchema, createMcpServer, buildStore, WRITE_TOOLS, } from "./server/createMcpServer.js";
6
+ /** Starts the MCP server on the stdio transport — the default and only
7
+ * transport for a single developer. One `createMcpServer` per process, with
8
+ * full write capability and the historical REPOSKEIN_AGENT identity
9
+ * fallback: unchanged by REP-17. */
50
10
  export declare function main(): Promise<void>;