@agent-native/recap-cli 0.5.44 → 0.5.46-nightly-20260927013707
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/plan-publish-store.d.ts +0 -29
- package/dist/plan-publish-store.d.ts.map +1 -1
- package/dist/plan-publish-store.js +0 -30
- package/dist/plan-publish-store.js.map +1 -1
- package/dist/pr-visual-recap-workflow.d.ts +0 -1
- package/dist/pr-visual-recap-workflow.d.ts.map +1 -1
- package/dist/pr-visual-recap-workflow.js +0 -1
- package/dist/pr-visual-recap-workflow.js.map +1 -1
- package/dist/recap.d.ts +0 -216
- package/dist/recap.d.ts.map +1 -1
- package/dist/recap.js +2 -392
- package/dist/recap.js.map +1 -1
- package/dist/skill-content/wireframe.d.ts.map +1 -1
- package/dist/skill-content/wireframe.js +0 -25
- package/dist/skill-content/wireframe.js.map +1 -1
- package/dist/workflows/pr-visual-recap.yml +0 -26
- package/package.json +1 -1
|
@@ -20,41 +20,12 @@
|
|
|
20
20
|
* best-effort, since persisting MCP config is the primary contract and a failed
|
|
21
21
|
* canonical write must never fail the connect.
|
|
22
22
|
*/
|
|
23
|
-
/**
|
|
24
|
-
* Absolute path to the canonical publish-token file. Honors
|
|
25
|
-
* `PLAN_PUBLISH_CONFIG_PATH` so connect and the local server agree on the
|
|
26
|
-
* location in tests and custom setups; defaults to
|
|
27
|
-
* `~/.agent-native/plan-publish.json`.
|
|
28
|
-
*/
|
|
29
23
|
export declare function planPublishConfigPath(): string;
|
|
30
|
-
/**
|
|
31
|
-
* Whether `url`'s host is the first-party Agent-Native Plans app whose token
|
|
32
|
-
* we should mirror to the canonical publish file. Only the hosted Plans app
|
|
33
|
-
* (`plan.agent-native.com`) qualifies — mirroring tokens for other
|
|
34
|
-
* agent-native subdomains (assets, mail, …) would silently overwrite the
|
|
35
|
-
* canonical Plans endpoint with the wrong URL+token each time `connect --all`
|
|
36
|
-
* runs last-write-wins. A custom self-hosted origin (ngrok, localhost, a
|
|
37
|
-
* private deployment) is intentionally excluded: the user can still point the
|
|
38
|
-
* server at it via `PLAN_PUBLISH_URL` / `PLAN_PUBLISH_TOKEN` env vars.
|
|
39
|
-
*/
|
|
40
24
|
export declare function isFirstPartyPlanHost(url: string): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Merge `{ url, token }` into the canonical publish file without clobbering any
|
|
43
|
-
* other keys the file already holds. Best-effort: returns the written path on
|
|
44
|
-
* success, or `null` if the write failed or the inputs were unusable.
|
|
45
|
-
*
|
|
46
|
-
* `filePath` is injectable for tests; production callers omit it and get the
|
|
47
|
-
* env-overridable home-dir path.
|
|
48
|
-
*/
|
|
49
25
|
export declare function writePlanPublishAuth(params: {
|
|
50
26
|
url: string;
|
|
51
27
|
token: string;
|
|
52
28
|
}, filePath?: string): string | null;
|
|
53
|
-
/**
|
|
54
|
-
* Read the canonical Plans publish auth written by `agent-native connect`.
|
|
55
|
-
* Returns `null` for missing/corrupt/incomplete files so callers can treat the
|
|
56
|
-
* publish token as optional and guide the user to reconnect.
|
|
57
|
-
*/
|
|
58
29
|
export declare function readPlanPublishAuth(filePath?: string): {
|
|
59
30
|
url: string;
|
|
60
31
|
token: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-publish-store.d.ts","sourceRoot":"","sources":["../src/plan-publish-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"plan-publish-store.d.ts","sourceRoot":"","sources":["../src/plan-publish-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,wBAAgB,qBAAqB,IAAI,MAAM,CAK9C;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOzD;AAMD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACtC,QAAQ,GAAE,MAAgC,GACzC,MAAM,GAAG,IAAI,CAmCf;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,GAAE,MAAgC,GACzC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgBvC"}
|
|
@@ -23,28 +23,11 @@
|
|
|
23
23
|
import fs from "node:fs";
|
|
24
24
|
import os from "node:os";
|
|
25
25
|
import path from "node:path";
|
|
26
|
-
/** Matches the env override read by `templates/plan/server/lib/plan-publish.ts`. */
|
|
27
26
|
const CONFIG_PATH_ENV = "PLAN_PUBLISH_CONFIG_PATH";
|
|
28
|
-
/**
|
|
29
|
-
* Absolute path to the canonical publish-token file. Honors
|
|
30
|
-
* `PLAN_PUBLISH_CONFIG_PATH` so connect and the local server agree on the
|
|
31
|
-
* location in tests and custom setups; defaults to
|
|
32
|
-
* `~/.agent-native/plan-publish.json`.
|
|
33
|
-
*/
|
|
34
27
|
export function planPublishConfigPath() {
|
|
35
28
|
return path.resolve(process.env[CONFIG_PATH_ENV] ??
|
|
36
29
|
path.join(os.homedir(), ".agent-native", "plan-publish.json"));
|
|
37
30
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Whether `url`'s host is the first-party Agent-Native Plans app whose token
|
|
40
|
-
* we should mirror to the canonical publish file. Only the hosted Plans app
|
|
41
|
-
* (`plan.agent-native.com`) qualifies — mirroring tokens for other
|
|
42
|
-
* agent-native subdomains (assets, mail, …) would silently overwrite the
|
|
43
|
-
* canonical Plans endpoint with the wrong URL+token each time `connect --all`
|
|
44
|
-
* runs last-write-wins. A custom self-hosted origin (ngrok, localhost, a
|
|
45
|
-
* private deployment) is intentionally excluded: the user can still point the
|
|
46
|
-
* server at it via `PLAN_PUBLISH_URL` / `PLAN_PUBLISH_TOKEN` env vars.
|
|
47
|
-
*/
|
|
48
31
|
export function isFirstPartyPlanHost(url) {
|
|
49
32
|
try {
|
|
50
33
|
const host = new URL(url).hostname.toLowerCase();
|
|
@@ -57,14 +40,6 @@ export function isFirstPartyPlanHost(url) {
|
|
|
57
40
|
function stripTrailingSlash(url) {
|
|
58
41
|
return url.replace(/\/+$/, "");
|
|
59
42
|
}
|
|
60
|
-
/**
|
|
61
|
-
* Merge `{ url, token }` into the canonical publish file without clobbering any
|
|
62
|
-
* other keys the file already holds. Best-effort: returns the written path on
|
|
63
|
-
* success, or `null` if the write failed or the inputs were unusable.
|
|
64
|
-
*
|
|
65
|
-
* `filePath` is injectable for tests; production callers omit it and get the
|
|
66
|
-
* env-overridable home-dir path.
|
|
67
|
-
*/
|
|
68
43
|
export function writePlanPublishAuth(params, filePath = planPublishConfigPath()) {
|
|
69
44
|
const url = stripTrailingSlash((params.url ?? "").trim());
|
|
70
45
|
const token = (params.token ?? "").trim();
|
|
@@ -101,11 +76,6 @@ export function writePlanPublishAuth(params, filePath = planPublishConfigPath())
|
|
|
101
76
|
return null;
|
|
102
77
|
}
|
|
103
78
|
}
|
|
104
|
-
/**
|
|
105
|
-
* Read the canonical Plans publish auth written by `agent-native connect`.
|
|
106
|
-
* Returns `null` for missing/corrupt/incomplete files so callers can treat the
|
|
107
|
-
* publish token as optional and guide the user to reconnect.
|
|
108
|
-
*/
|
|
109
79
|
export function readPlanPublishAuth(filePath = planPublishConfigPath()) {
|
|
110
80
|
try {
|
|
111
81
|
const parsed = JSON.parse(fs.readFileSync(filePath, "utf-8"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-publish-store.js","sourceRoot":"","sources":["../src/plan-publish-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,
|
|
1
|
+
{"version":3,"file":"plan-publish-store.js","sourceRoot":"","sources":["../src/plan-publish-store.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Canonical publish-token store for the local Plans server.\n *\n * `agent-native connect <hosted-url>` mints a bearer token and writes it into\n * each coding agent's per-client MCP config (`.mcp.json` / Codex `config.toml`\n * via `mcp-config-writers`). Those files are client-specific, so the local Plans\n * server cannot read them for a server-to-server publish.\n *\n * To close that seam, the connect flow ALSO writes a single canonical record to\n * `~/.agent-native/plan-publish.json` whenever it authenticates a first-party\n * Plans app. The local server's `publish-visual-plan` action reads the exact\n * same file (see `templates/plan/server/lib/plan-publish.ts`):\n *\n * { \"url\": \"https://plan.agent-native.com\", \"token\": \"<bearer>\" }\n *\n * This mirrors the existing device-token precedent in\n * `code-agent-connector.ts` (`~/.agent-native/remote-device.json`): home-dir\n * JSON, env-overridable path, atomic 0600 write. The write is additive — it\n * merges into any existing file rather than clobbering sibling keys — and\n * best-effort, since persisting MCP config is the primary contract and a failed\n * canonical write must never fail the connect.\n */\n\nimport fs from \"node:fs\";\nimport os from \"node:os\";\nimport path from \"node:path\";\n\nconst CONFIG_PATH_ENV = \"PLAN_PUBLISH_CONFIG_PATH\";\n\nexport function planPublishConfigPath(): string {\n return path.resolve(\n process.env[CONFIG_PATH_ENV] ??\n path.join(os.homedir(), \".agent-native\", \"plan-publish.json\"),\n );\n}\n\nexport function isFirstPartyPlanHost(url: string): boolean {\n try {\n const host = new URL(url).hostname.toLowerCase();\n return host === \"plan.agent-native.com\";\n } catch {\n return false;\n }\n}\n\nfunction stripTrailingSlash(url: string): string {\n return url.replace(/\\/+$/, \"\");\n}\n\nexport function writePlanPublishAuth(\n params: { url: string; token: string },\n filePath: string = planPublishConfigPath(),\n): string | null {\n const url = stripTrailingSlash((params.url ?? \"\").trim());\n const token = (params.token ?? \"\").trim();\n if (!url || !token) return null;\n\n try {\n let existing: Record<string, unknown> = {};\n try {\n const raw = JSON.parse(fs.readFileSync(filePath, \"utf-8\")) as unknown;\n if (raw && typeof raw === \"object\" && !Array.isArray(raw)) {\n existing = raw as Record<string, unknown>;\n }\n } catch {\n // No existing file (or unreadable/corrupt) — start fresh.\n }\n\n const merged = {\n ...existing,\n url,\n token,\n updatedAt: new Date().toISOString(),\n };\n\n fs.mkdirSync(path.dirname(filePath), { recursive: true, mode: 0o700 });\n const tmp = `${filePath}.tmp`;\n fs.writeFileSync(tmp, JSON.stringify(merged, null, 2) + \"\\n\", {\n mode: 0o600,\n });\n fs.renameSync(tmp, filePath);\n return filePath;\n } catch {\n // Best-effort: the per-client MCP config is the primary write. A failed\n // canonical write must never fail the connect flow.\n return null;\n }\n}\n\nexport function readPlanPublishAuth(\n filePath: string = planPublishConfigPath(),\n): { url: string; token: string } | null {\n try {\n const parsed = JSON.parse(fs.readFileSync(filePath, \"utf-8\")) as unknown;\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n return null;\n }\n const record = parsed as Record<string, unknown>;\n const urlValue = record.url ?? record.baseUrl ?? record.hostedUrl;\n const tokenValue = record.token ?? record.accessToken ?? record.bearerToken;\n const url = typeof urlValue === \"string\" ? urlValue.trim() : \"\";\n const token = typeof tokenValue === \"string\" ? tokenValue.trim() : \"\";\n if (!url || !token) return null;\n return { url: stripTrailingSlash(url), token };\n } catch {\n return null;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-visual-recap-workflow.d.ts","sourceRoot":"","sources":["../src/pr-visual-recap-workflow.ts"],"names":[],"mappings":"AAUA,
|
|
1
|
+
{"version":3,"file":"pr-visual-recap-workflow.d.ts","sourceRoot":"","sources":["../src/pr-visual-recap-workflow.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,4BAA4B,QAAqC,CAAC"}
|
|
@@ -5,6 +5,5 @@ const moduleDir = path.dirname(fileURLToPath(import.meta.url));
|
|
|
5
5
|
const workflowPath = path.basename(moduleDir) === "dist"
|
|
6
6
|
? path.join(moduleDir, "workflows", "pr-visual-recap.yml")
|
|
7
7
|
: path.resolve(moduleDir, "../../../.github/workflows/pr-visual-recap.yml");
|
|
8
|
-
/** Canonical PR Visual Recap workflow bundled by the CLI installer. */
|
|
9
8
|
export const PR_VISUAL_RECAP_WORKFLOW_YML = readFileSync(workflowPath, "utf8");
|
|
10
9
|
//# sourceMappingURL=pr-visual-recap-workflow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-visual-recap-workflow.js","sourceRoot":"","sources":["../src/pr-visual-recap-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,YAAY,GAChB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,MAAM;IACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,qBAAqB,CAAC;IAC1D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,gDAAgD,CAAC,CAAC;AAEhF,
|
|
1
|
+
{"version":3,"file":"pr-visual-recap-workflow.js","sourceRoot":"","sources":["../src/pr-visual-recap-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,YAAY,GAChB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,MAAM;IACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,qBAAqB,CAAC;IAC1D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,gDAAgD,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC","sourcesContent":["import { readFileSync } from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst moduleDir = path.dirname(fileURLToPath(import.meta.url));\nconst workflowPath =\n path.basename(moduleDir) === \"dist\"\n ? path.join(moduleDir, \"workflows\", \"pr-visual-recap.yml\")\n : path.resolve(moduleDir, \"../../../.github/workflows/pr-visual-recap.yml\");\n\nexport const PR_VISUAL_RECAP_WORKFLOW_YML = readFileSync(workflowPath, \"utf8\");\n"]}
|
package/dist/recap.d.ts
CHANGED
|
@@ -1,48 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `agent-native recap` — the helper surface used by the PR Visual Recap GitHub
|
|
3
|
-
* Action. Run `agent-native recap help` for the full subcommand list.
|
|
4
|
-
*
|
|
5
|
-
* The action no longer generates the recap deterministically. Instead a coding
|
|
6
|
-
* agent (Claude Code or Codex) RUNS THE REPO'S visual-recap skill against the
|
|
7
|
-
* diff and publishes the plan via the plan MCP tools. These subcommands are the
|
|
8
|
-
* thin, deterministic glue around that:
|
|
9
|
-
*
|
|
10
|
-
* gate The security boundary: decide whether the recap runs at all
|
|
11
|
-
* (skipping drafts, forks without secret access, bots, missing
|
|
12
|
-
* secrets, an invalid agent/model, and untrusted PRs that touch
|
|
13
|
-
* recap-control files) and which normalized backend agent to use.
|
|
14
|
-
* collect-diff Collect the bounded base...head diff (excluding lockfiles,
|
|
15
|
-
* build output, snapshots), cap it at ~600KB, and classify the
|
|
16
|
-
* huge/tiny flags.
|
|
17
|
-
* scan Refuse to hand a secret-leaking diff to the agent.
|
|
18
|
-
* block-reference
|
|
19
|
-
* Fetch the live get-plan-blocks reference for the target app.
|
|
20
|
-
* build-prompt Assemble the agent prompt = latest visual-recap skill bundle
|
|
21
|
-
* + a task wrapper (or repo-pinned skill with --skill-source).
|
|
22
|
-
* publish Publish the agent-authored recap-source.json over HTTP.
|
|
23
|
-
* shot Screenshot the published plan and upload it to the plan app's
|
|
24
|
-
* signed public image route (for an inline PR-comment image).
|
|
25
|
-
* usage Parse and emit agent token-usage/cost from stdout.
|
|
26
|
-
* comment Find the previous plan id / upsert the sticky PR comment.
|
|
27
|
-
* check Evaluate the recap result and set a GitHub commit status.
|
|
28
|
-
* setup Install the PR Visual Recap GitHub Action workflow.
|
|
29
|
-
* doctor Diagnose missing secrets / misconfigured workflow.
|
|
30
|
-
*
|
|
31
|
-
* Promoting these to the published CLI means an installed repo's workflow calls
|
|
32
|
-
* `agent-native recap …` instead of copying helper scripts into the repo.
|
|
33
|
-
*
|
|
34
|
-
* Node built-ins only (plus an optional dynamic `playwright` import for `shot`).
|
|
35
|
-
*/
|
|
36
|
-
/** GitHub secrets the installed PR Visual Recap workflow needs. */
|
|
37
1
|
export declare const PR_VISUAL_RECAP_SETUP: string[];
|
|
38
|
-
/**
|
|
39
|
-
* Result of attempting to write the PR Visual Recap workflow.
|
|
40
|
-
*
|
|
41
|
-
* - `written` — the file was written (new or forced overwrite).
|
|
42
|
-
* - `skipped` — the file already exists and is identical; no-op.
|
|
43
|
-
* - `refused` — the file already exists and differs; nothing was written.
|
|
44
|
-
* Caller should re-run with `--force` (or pass `force: true`) to overwrite.
|
|
45
|
-
*/
|
|
46
2
|
export type WriteWorkflowResult = {
|
|
47
3
|
status: "written";
|
|
48
4
|
path: string;
|
|
@@ -55,23 +11,9 @@ export type WriteWorkflowResult = {
|
|
|
55
11
|
path: string;
|
|
56
12
|
message: string;
|
|
57
13
|
};
|
|
58
|
-
/** Write .github/workflows/pr-visual-recap.yml into a repo. */
|
|
59
14
|
export declare function writePrVisualRecapWorkflow(baseDir: string, options?: {
|
|
60
15
|
force?: boolean;
|
|
61
16
|
}): WriteWorkflowResult;
|
|
62
|
-
/**
|
|
63
|
-
* The thin caller workflow that consumers paste into their repo when using the
|
|
64
|
-
* reusable variant. It references the canonical reusable workflow in the
|
|
65
|
-
* BuilderIO/agent-native repo rather than carrying a full copy.
|
|
66
|
-
*
|
|
67
|
-
* Callers must trigger on the same `pull_request` event types so that
|
|
68
|
-
* `github.event.pull_request.*` expressions in the reusable workflow resolve
|
|
69
|
-
* correctly (workflow_call inherits the caller's event context). The `labeled`
|
|
70
|
-
* event lets required-label configurations run as soon as a maintainer opts in.
|
|
71
|
-
*
|
|
72
|
-
* @param options.cliVersion Semver or tag to pin (default "main" / latest).
|
|
73
|
-
* @param options.ref Git ref to pin the reusable workflow to (default "@main").
|
|
74
|
-
*/
|
|
75
17
|
export declare function buildReusableCallerWorkflow(options?: {
|
|
76
18
|
ref?: string;
|
|
77
19
|
agent?: RecapAgentValue;
|
|
@@ -80,7 +22,6 @@ export declare function buildReusableCallerWorkflow(options?: {
|
|
|
80
22
|
gateRunsOn?: string;
|
|
81
23
|
requiredLabels?: string;
|
|
82
24
|
}): string;
|
|
83
|
-
/** Write the thin caller workflow that references the reusable workflow. */
|
|
84
25
|
export declare function writePrVisualRecapReusableCallerWorkflow(baseDir: string, options?: {
|
|
85
26
|
force?: boolean;
|
|
86
27
|
ref?: string;
|
|
@@ -125,9 +66,7 @@ export interface RecapRunsOnConfig {
|
|
|
125
66
|
labels: string[];
|
|
126
67
|
selfHosted: boolean;
|
|
127
68
|
}
|
|
128
|
-
/** Parse the JSON consumed by GitHub Actions `fromJSON(...)` for `runs-on`. */
|
|
129
69
|
export declare function parseRecapRunsOn(value: string): RecapRunsOnConfig;
|
|
130
|
-
/** Validate the plain label used directly by the gate job's `runs-on`. */
|
|
131
70
|
export declare function parseRecapGateRunsOn(value: string): string;
|
|
132
71
|
export declare function validateOpenAiCompatibleRecapVariables(input: {
|
|
133
72
|
baseUrl?: string;
|
|
@@ -146,19 +85,7 @@ export declare function buildRecapSetupPlan(input: {
|
|
|
146
85
|
export type RecapSecretScanMode = "off" | "high-confidence" | "strict";
|
|
147
86
|
export declare function normalizeRecapSecretScanMode(value: string | undefined): RecapSecretScanMode;
|
|
148
87
|
export declare function lineLooksSecret(line: string, mode?: RecapSecretScanMode): boolean;
|
|
149
|
-
/**
|
|
150
|
-
* Parse a `.github/recap-scan-allowlist` file into a list of matchers.
|
|
151
|
-
* Each non-blank, non-comment line is either:
|
|
152
|
-
* - a `/regex/` literal (JS regex syntax) — matched against the full line
|
|
153
|
-
* - a plain literal string — checked with String.includes()
|
|
154
|
-
*
|
|
155
|
-
* Returns an empty array when the file is absent or empty.
|
|
156
|
-
*/
|
|
157
88
|
export declare function parseRecapScanAllowlist(allowlistPath: string): Array<RegExp | string>;
|
|
158
|
-
/**
|
|
159
|
-
* Return true when `line` matches ANY entry in the allowlist (i.e., the
|
|
160
|
-
* finding should be ignored).
|
|
161
|
-
*/
|
|
162
89
|
export declare function lineMatchesAllowlist(line: string, allowlist: Array<RegExp | string>): boolean;
|
|
163
90
|
export declare function diffContainsSecret(diffText: string, allowlist?: Array<RegExp | string>, mode?: RecapSecretScanMode): boolean;
|
|
164
91
|
export declare function sanitizeAgentFailureSummary(value: string, maxChars?: number): string;
|
|
@@ -173,21 +100,8 @@ export declare function summarizeLocalAgentFailure(input?: {
|
|
|
173
100
|
cwd?: string;
|
|
174
101
|
agent?: string;
|
|
175
102
|
}): string;
|
|
176
|
-
/** ~600KB byte cap for the diff handed to the recap agent. */
|
|
177
103
|
export declare const RECAP_DIFF_BYTE_CAP = 614400;
|
|
178
|
-
/** The footer appended when a diff is truncated at the byte cap. */
|
|
179
104
|
export declare const RECAP_DIFF_TRUNCATED_FOOTER = "\n\n[diff truncated at 600KB for the recap agent]\n";
|
|
180
|
-
/**
|
|
181
|
-
* Classify a bounded diff into the `huge` / `tiny` flags the workflow consumes.
|
|
182
|
-
*
|
|
183
|
-
* - huge: BYTES over the ~600KB cap. The agent is told to summarize AND the
|
|
184
|
-
* diff file is physically truncated so it can't overflow the prompt budget.
|
|
185
|
-
* - tiny: <= 1 changed file AND <= 8 changed lines. Uses ORIGINAL line count
|
|
186
|
-
* (captured before any truncation) so a large diff is never misclassified as
|
|
187
|
-
* tiny after the byte cap drops most of its lines.
|
|
188
|
-
*
|
|
189
|
-
* Pure (no I/O) so the classification can be unit-tested without invoking git.
|
|
190
|
-
*/
|
|
191
105
|
export declare function classifyDiff(input: {
|
|
192
106
|
bytes: number;
|
|
193
107
|
changed: number;
|
|
@@ -196,37 +110,9 @@ export declare function classifyDiff(input: {
|
|
|
196
110
|
huge: boolean;
|
|
197
111
|
tiny: boolean;
|
|
198
112
|
};
|
|
199
|
-
/**
|
|
200
|
-
* Reorder a unified diff's per-file segments so likely-noise paths (paths whose
|
|
201
|
-
* first component starts with `.`, e.g. `.changeset/`, `.github/`) sort LAST,
|
|
202
|
-
* and all other paths keep their original git order. This ensures that when
|
|
203
|
-
* `truncateDiffAtLineBoundary` drops the tail to stay under the byte cap, source
|
|
204
|
-
* files survive and dotfile dirs are sacrificed instead.
|
|
205
|
-
*
|
|
206
|
-
* Pure (string in → string out) for unit testing. The initial preamble (lines
|
|
207
|
-
* before the first `diff --git` header) is preserved unchanged.
|
|
208
|
-
*/
|
|
209
113
|
export declare function sortDiffSourceFirst(text: string): string;
|
|
210
|
-
/**
|
|
211
|
-
* Truncate a diff to the ~600KB byte cap at a COMPLETE LINE boundary, then
|
|
212
|
-
* append the truncated footer. Dropping the last (possibly-partial) line is the
|
|
213
|
-
* equivalent of the original `head -c 614400 | sed '$d'`: it guarantees the cap
|
|
214
|
-
* never cuts a multi-byte UTF-8 char or a diff line mid-way and corrupts the
|
|
215
|
-
* agent's input. Pure (string in, string out) so it can be unit-tested.
|
|
216
|
-
*/
|
|
217
114
|
export declare function truncateDiffAtLineBoundary(text: string): string;
|
|
218
|
-
/**
|
|
219
|
-
* Count lines that begin with `+` or `-` (added/removed diff lines), excluding
|
|
220
|
-
* the `+++ b/file` / `--- a/file` unified-diff header lines. Without this
|
|
221
|
-
* exclusion a single-file change loses ~2 "real" lines from the 8-line tiny
|
|
222
|
-
* threshold, incorrectly classifying a small-but-meaningful change as tiny.
|
|
223
|
-
*/
|
|
224
115
|
export declare function countDiffLines(diffText: string): number;
|
|
225
|
-
/**
|
|
226
|
-
* Locate the repo's visual-recap SKILL.md, preferring the host-agent install
|
|
227
|
-
* locations so a user's `agent-native skills add` copy wins, then falling back
|
|
228
|
-
* to the framework's own source locations.
|
|
229
|
-
*/
|
|
230
116
|
export declare function readRepoSkillMd(cwd?: string): {
|
|
231
117
|
text: string;
|
|
232
118
|
source: string;
|
|
@@ -249,8 +135,6 @@ export declare function buildRecapPrompt(input: {
|
|
|
249
135
|
huge?: boolean;
|
|
250
136
|
localFiles?: boolean;
|
|
251
137
|
localDir?: string;
|
|
252
|
-
/** Fully-qualified PR URL to store on the plan as the back-link. When
|
|
253
|
-
* `repo` is supplied this is auto-derived; pass explicitly to override. */
|
|
254
138
|
sourceUrl?: string;
|
|
255
139
|
/**
|
|
256
140
|
* When true, the diff originates from a fork PR — an external contributor's
|
|
@@ -260,15 +144,7 @@ export declare function buildRecapPrompt(input: {
|
|
|
260
144
|
* attacker-controlled input to an LLM that holds a publish token.
|
|
261
145
|
*/
|
|
262
146
|
forkPr?: boolean;
|
|
263
|
-
/**
|
|
264
|
-
* Byte size of the (possibly truncated) diff file — used to emit a
|
|
265
|
-
* consumption instruction so the agent knows how large the file is and reads
|
|
266
|
-
* it in full before authoring. When omitted, no size instruction is emitted.
|
|
267
|
-
*/
|
|
268
147
|
diffBytes?: number;
|
|
269
|
-
/**
|
|
270
|
-
* Line count of the (possibly truncated) diff — same purpose as diffBytes.
|
|
271
|
-
*/
|
|
272
148
|
diffLines?: number;
|
|
273
149
|
}): string;
|
|
274
150
|
type RecapScreenshotTheme = "light" | "dark";
|
|
@@ -312,7 +188,6 @@ export declare function upsertComment(input: {
|
|
|
312
188
|
repo: string;
|
|
313
189
|
issue: string;
|
|
314
190
|
body: string;
|
|
315
|
-
/** When true, refresh an existing comment but never create a new one. */
|
|
316
191
|
updateOnly?: boolean;
|
|
317
192
|
/** @internal test seam — defaults to global fetch */
|
|
318
193
|
fetchFn?: typeof fetch;
|
|
@@ -322,7 +197,6 @@ export declare function upsertComment(input: {
|
|
|
322
197
|
html_url?: string;
|
|
323
198
|
}>;
|
|
324
199
|
export declare function withRecapImageCacheKey(imageUrl: string, cacheKey: string | undefined | null): string;
|
|
325
|
-
/** Build the sticky comment body from the workflow's environment. */
|
|
326
200
|
export declare function buildCommentBody(env?: NodeJS.ProcessEnv): string;
|
|
327
201
|
export declare class RecapPublishHttpError extends Error {
|
|
328
202
|
readonly status: number;
|
|
@@ -380,24 +254,12 @@ export declare function publishRecapSource(input: {
|
|
|
380
254
|
url: string;
|
|
381
255
|
out: string;
|
|
382
256
|
}>;
|
|
383
|
-
/**
|
|
384
|
-
* Confirm GitHub can fetch the uploaded image anonymously before we embed it.
|
|
385
|
-
*
|
|
386
|
-
* Default budget: 8 attempts with capped exponential backoff (1s, 2s, 3s, …
|
|
387
|
-
* capped at 4s) → ~20s total. This is enough to survive a cold-start CDN
|
|
388
|
-
* propagation delay that would otherwise cause `uploadRecapImage` to return a
|
|
389
|
-
* URL that the GitHub PR comment can't display.
|
|
390
|
-
*
|
|
391
|
-
* The `attempts` and `delayMs` overrides remain for unit tests and for callers
|
|
392
|
-
* that need a tighter or looser budget.
|
|
393
|
-
*/
|
|
394
257
|
export declare function waitForPublicRecapImage(input: {
|
|
395
258
|
imageUrl: string;
|
|
396
259
|
attempts?: number;
|
|
397
260
|
delayMs?: number;
|
|
398
261
|
fetchFn?: typeof fetch;
|
|
399
262
|
}): Promise<boolean>;
|
|
400
|
-
/** Upload a PNG to the plan app's signed public image route; returns its URL. */
|
|
401
263
|
export declare function uploadRecapImage(input: {
|
|
402
264
|
appUrl: string;
|
|
403
265
|
token: string;
|
|
@@ -418,11 +280,6 @@ export declare function withRecapScreenshotParams(url: string, options?: {
|
|
|
418
280
|
export declare function runShot(args: Record<string, string | boolean>,
|
|
419
281
|
/** @internal test seam — defaults to dynamic playwright import */
|
|
420
282
|
importPlaywright?: () => Promise<PlaywrightModule>): Promise<void>;
|
|
421
|
-
/**
|
|
422
|
-
* Minimal shape of the `pull_request` object from a GitHub `pull_request` event
|
|
423
|
-
* payload that the gate inspects. Everything is optional so a malformed/partial
|
|
424
|
-
* payload degrades to "skip" rather than throwing.
|
|
425
|
-
*/
|
|
426
283
|
export interface RecapGatePullRequest {
|
|
427
284
|
number?: number;
|
|
428
285
|
draft?: boolean;
|
|
@@ -441,58 +298,28 @@ export interface RecapGatePullRequest {
|
|
|
441
298
|
} | null> | null;
|
|
442
299
|
}
|
|
443
300
|
export interface RecapGateInput {
|
|
444
|
-
/** The `pull_request` payload object, or null when absent. */
|
|
445
301
|
pr: RecapGatePullRequest | null;
|
|
446
|
-
/** GITHUB_REPOSITORY ("owner/name"). */
|
|
447
302
|
repository: string | undefined;
|
|
448
|
-
/** Whether the base repository is private. */
|
|
449
303
|
repositoryPrivate?: boolean;
|
|
450
|
-
/** PLAN_RECAP_TOKEN present. */
|
|
451
304
|
hasPlan: boolean;
|
|
452
|
-
/** ANTHROPIC_API_KEY present. */
|
|
453
305
|
hasAnthropic: boolean;
|
|
454
|
-
/** OPENAI_API_KEY present. */
|
|
455
306
|
hasOpenai: boolean;
|
|
456
|
-
/** VISUAL_RECAP_API_KEY present for OpenAI-compatible backends. */
|
|
457
307
|
hasOpenaiCompatible?: boolean;
|
|
458
|
-
/** Raw VISUAL_RECAP_AGENT value (may be undefined / mis-cased). */
|
|
459
308
|
agentRaw: string | undefined;
|
|
460
|
-
/** Raw VISUAL_RECAP_MODEL value (may be undefined). */
|
|
461
309
|
model: string | undefined;
|
|
462
|
-
/** Raw VISUAL_RECAP_BASE_URL value for OpenAI-compatible backends. */
|
|
463
310
|
baseUrl?: string;
|
|
464
|
-
/** Raw VISUAL_RECAP_SKILL_SOURCE value (auto/latest/repo; may be undefined). */
|
|
465
311
|
skillSource: string | undefined;
|
|
466
|
-
/** Comma-separated PR labels required before the recap runs. */
|
|
467
312
|
requiredLabels?: string;
|
|
468
|
-
/** Filenames changed by the PR (for the self-modifying guard). */
|
|
469
313
|
changedFiles: string[];
|
|
470
314
|
}
|
|
471
315
|
export declare function isRecapSensitivePath(p: string, options?: {
|
|
472
316
|
skillSource?: string;
|
|
473
317
|
}): boolean;
|
|
474
|
-
/**
|
|
475
|
-
* The pure gate decision: given the PR payload, secret-presence flags, the
|
|
476
|
-
* configured backend/model, and the PR's changed files, decide whether the
|
|
477
|
-
* visual recap should run, which (normalized) agent to use, and — when skipped —
|
|
478
|
-
* the human-readable reasons. This is the security boundary; it replicates the
|
|
479
|
-
* inline github-script gate bit-for-bit. No I/O so it can be unit-tested.
|
|
480
|
-
*/
|
|
481
318
|
export declare function evaluateRecapGate(input: RecapGateInput): {
|
|
482
319
|
run: boolean;
|
|
483
320
|
agent: string;
|
|
484
321
|
reasons: string[];
|
|
485
322
|
};
|
|
486
|
-
/**
|
|
487
|
-
* Canonicalize the agent-written plan URL into a trusted recap URL, or "".
|
|
488
|
-
*
|
|
489
|
-
* recap-url.txt is produced by the (LLM) agent, so the raw URL is untrusted.
|
|
490
|
-
* This rebuilds a canonical `${origin}${base}/recaps/<id>` link from the TRUSTED
|
|
491
|
-
* app URL plus a strictly-validated plan id, enforcing the app origin and
|
|
492
|
-
* honoring a path-prefixed mount (e.g. https://host/agent-native). Returns ""
|
|
493
|
-
* for a wrong origin or an unrecognized path. Pure so it can be unit-tested —
|
|
494
|
-
* SAME impl as the workflow's previous inline `canonicalRecapUrl`.
|
|
495
|
-
*/
|
|
496
323
|
export declare function canonicalRecapUrl(rawUrl: string, appUrl: string): string;
|
|
497
324
|
export declare function inferLocalRecapUrlFailureReason(input?: {
|
|
498
325
|
cwd?: string;
|
|
@@ -502,30 +329,18 @@ export declare function buildRecapFailureDiagnostic(input: {
|
|
|
502
329
|
failureSummary?: string;
|
|
503
330
|
urlReason?: string;
|
|
504
331
|
}): string;
|
|
505
|
-
/** The signals that decide the completed "Visual Recap" check's conclusion. */
|
|
506
332
|
export interface RecapCheckOutcomeInput {
|
|
507
|
-
/** steps.url.outputs.ok — the agent published a plan whose origin validated. */
|
|
508
333
|
planOk: boolean;
|
|
509
|
-
/** steps.url.outputs.plan_url — the (untrusted) agent-written plan URL. */
|
|
510
334
|
planUrl: string;
|
|
511
|
-
/** PLAN_RECAP_APP_URL — the trusted plan app origin/base. */
|
|
512
335
|
appUrl: string;
|
|
513
|
-
/** steps.diff.outputs.huge — the diff exceeded the byte cap (summarized). */
|
|
514
336
|
huge: boolean;
|
|
515
|
-
/** steps.diff.outputs.tiny — the diff was too small to recap. */
|
|
516
337
|
tiny: boolean;
|
|
517
|
-
/** steps.scan.outputs.suppressed — a secret pattern suppressed the recap. */
|
|
518
338
|
suppressed: boolean;
|
|
519
|
-
/** steps.scan.outputs.json — the raw scan JSON (carries the suppress reason). */
|
|
520
339
|
suppressedJson: string;
|
|
521
|
-
/** Sanitized final agent output when no valid plan URL was produced. */
|
|
522
340
|
failureSummary?: string;
|
|
523
|
-
/** Explanation from the URL-reading step when recap-url.txt was absent/bad. */
|
|
524
341
|
urlReason?: string;
|
|
525
|
-
/** The Actions run URL, used as the default details_url. */
|
|
526
342
|
workflowUrl: string;
|
|
527
343
|
}
|
|
528
|
-
/** The completed-check fields PATCHed to the GitHub check run. */
|
|
529
344
|
export interface RecapCheckOutcome {
|
|
530
345
|
conclusion: "neutral" | "success" | "skipped";
|
|
531
346
|
title: string;
|
|
@@ -533,18 +348,6 @@ export interface RecapCheckOutcome {
|
|
|
533
348
|
text: string;
|
|
534
349
|
detailsUrl: string;
|
|
535
350
|
}
|
|
536
|
-
/**
|
|
537
|
-
* Map the workflow's terminal recap state to the completed check's
|
|
538
|
-
* conclusion/title/summary/text/details_url. Pure so it can be unit-tested —
|
|
539
|
-
* reproduces the workflow's previous inline branch logic EXACTLY:
|
|
540
|
-
*
|
|
541
|
-
* - default → neutral "Visual recap not generated"
|
|
542
|
-
* - planOk + valid recapUrl → success "Visual recap ready" (huge → "summarized"
|
|
543
|
-
* summary), Open-recap link as text, details_url = recapUrl
|
|
544
|
-
* - planOk + invalid url → neutral "Visual recap published" (see the comment)
|
|
545
|
-
* - else tiny → skipped "Visual recap skipped"
|
|
546
|
-
* - else suppressed → skipped "Visual recap suppressed" (reason from scan JSON)
|
|
547
|
-
*/
|
|
548
351
|
export declare function recapCheckOutcome(input: RecapCheckOutcomeInput): RecapCheckOutcome;
|
|
549
352
|
interface ParsedUsage {
|
|
550
353
|
inputTokens: number;
|
|
@@ -554,27 +357,8 @@ interface ParsedUsage {
|
|
|
554
357
|
model?: string;
|
|
555
358
|
reportedCostUsd?: number;
|
|
556
359
|
}
|
|
557
|
-
/**
|
|
558
|
-
* Claude Code `-p --output-format json` prints one final result object with a
|
|
559
|
-
* `usage` block and `total_cost_usd`. Anthropic's `input_tokens` EXCLUDES cache
|
|
560
|
-
* tokens, so the cache counts are added back: `inputTokens` reports the whole
|
|
561
|
-
* prompt, with the cache counts a slice of it. That is the one convention
|
|
562
|
-
* `calculateCost` and the engine `usage` event share.
|
|
563
|
-
*/
|
|
564
360
|
export declare function parseClaudeUsage(stdout: string): ParsedUsage | null;
|
|
565
|
-
/**
|
|
566
|
-
* Codex `exec --json` reports `input_tokens` INCLUSIVE of `cached_input_tokens`
|
|
567
|
-
* (OpenAI counts cached as a subset of prompt tokens), which is already the
|
|
568
|
-
* convention `calculateCost` and the engine `usage` event share — so input
|
|
569
|
-
* passes through untouched and `calculateCost` subtracts to price each token
|
|
570
|
-
* once. This used to strip the cached tokens out here instead, back when
|
|
571
|
-
* pricing added the cache counts on top; doing both now bills them twice.
|
|
572
|
-
*
|
|
573
|
-
* `reasoning_output_tokens` is still folded into output — it is billed at the
|
|
574
|
-
* output rate and would otherwise be dropped.
|
|
575
|
-
*/
|
|
576
361
|
export declare function parseCodexUsage(jsonl: string): ParsedUsage | null;
|
|
577
|
-
/** Parse the usage sidecar emitted by an Agent-Native Code run. */
|
|
578
362
|
export declare function parseOpenAiCompatibleUsage(json: string): ParsedUsage | null;
|
|
579
363
|
export declare function runRecap(argv: string[]): Promise<void>;
|
|
580
364
|
export {};
|
package/dist/recap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recap.d.ts","sourceRoot":"","sources":["../src/recap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAgEH,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAezC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACrD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,+DAA+D;AAC/D,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,mBAAmB,CAsBrB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,MAAM,CAkER;AAKD,4EAA4E;AAC5E,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,mBAAmB,CA8BrB;AAID,KAAK,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,mBAAmB,CAAC;AAEhE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,mBAAmB,CAAC;AAIlE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAczE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CAShE;AAyLD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAyCD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EAAE,EACtB,cAAc,EAAE,MAAM,EAAE,GACvB,WAAW,EAAE,CAOf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACvD,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EACA,uBAAuB,GACvB,oBAAoB,GACpB,sBAAsB,GACtB,2BAA2B,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,wBAAwB,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB;AAoBD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAqDjE;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ1D;AA6BD,wBAAgB,sCAAsC,CAAC,KAAK,EAAE;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,oBAAoB,EAAE,CAiCzB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,cAAc,CA+EjB;AA8ZD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,iBAAiB,GAAG,QAAQ,CAAC;AAEvE,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,mBAAmB,CAKrB;AAQD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,mBAAuC,GAC5C,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,GACpB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CA0BxB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAChC,OAAO,CAST;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAM,EACtC,IAAI,GAAE,mBAAuC,GAC5C,OAAO,CAeT;AAUD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAgC,GACzC,MAAM,CAyBR;AA2CD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,MAAM,CA8DR;AAUD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAoBT;AA2CD,wBAAgB,0BAA0B,CACxC,KAAK,GAAE;IACL,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,GACL,MAAM,CAqBR;AAMD,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,oEAAoE;AACpE,eAAO,MAAM,2BAA2B,wDACe,CAAC;AAyBxD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAKnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2CxD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOvD;AA4HD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAgBA;AAED,KAAK,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AA8DvD,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,MAAsB,EAC3B,IAAI,GAAE,oBAA6B,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKlC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;gFAC4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CA2HT;AAeD,KAAK,oBAAoB,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;CACxC,CAAC;AAkEF,wBAAsB,8BAA8B,CAAC,KAAK,EAAE;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB,GAAG,OAAO,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAsDD;AAED,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAkB1B;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAoBhC;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB,GAAG,OAAO,CAAC;IACV,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC,CAuCD;AAoCD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAClC,MAAM,CAYR;AA+BD,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CA+I7E;AA0FD,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAI1C;CACF;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,CAMhC;AAED,KAAK,sBAAsB,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B,CAAC;AAkEF,wBAAgB,sBAAsB,CACpC,QAAQ,GAAE,MAA8B,GACvC,sBAAsB,CAqBxB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CA4GzB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAsBT;AAaD,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAQrD;AAwED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAiJlD;AA2ID;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,CA0BnB;AAED,iFAAiF;AACjF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,uBAAuB,CAAC;CACzC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgDzB;AAoCD,KAAK,gBAAgB,GAAG;IAAE,QAAQ,EAAE,OAAO,YAAY,EAAE,WAAW,CAAA;CAAE,CAAC;AA8CvE,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,OAAO,YAAY,EAAE,WAAW,GACzC,OAAO,CAAC,OAAO,YAAY,EAAE,OAAO,CAAC,CAqCvC;AAgBD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,oBAAoB,CAAA;CAAO,GAC7C,MAAM,CAcR;AAED,wBAAsB,OAAO,CAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;AACtC,kEAAkE;AAClE,gBAAgB,GAAE,MAAM,OAAO,CAAC,gBAAgB,CAA2B,GAC1E,OAAO,CAAC,IAAI,CAAC,CAsQf;AAsGD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9D,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9D,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;CACjE;AAED,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAChC,wCAAwC;IACxC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,8BAA8B;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mEAAmE;IACnE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,uDAAuD;IACvD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAiCD,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,MAAM,EACT,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACrC,OAAO,CAiBT;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG;IACxD,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CA+HA;AA+ID;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiBxE;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,GAAE;IACL,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACZ,GACL,MAAM,CAoCR;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAUT;AAED,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,MAAM,EAAE,OAAO,CAAC;IAChB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,IAAI,EAAE,OAAO,CAAC;IACd,iEAAiE;IACjE,IAAI,EAAE,OAAO,CAAC;IACd,6EAA6E;IAC7E,UAAU,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,cAAc,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,sBAAsB,GAC5B,iBAAiB,CAqDnB;AAgLD,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAwBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAsBnE;AA2BD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAWjE;AAED,mEAAmE;AACnE,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAwC3E;AAyND,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D5D"}
|
|
1
|
+
{"version":3,"file":"recap.d.ts","sourceRoot":"","sources":["../src/recap.ts"],"names":[],"mappings":"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"}
|