runpane 2.3.1 → 2.3.2
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/agentContext.d.ts +23 -0
- package/dist/agentContext.d.ts.map +1 -0
- package/dist/agentContext.js +100 -0
- package/dist/agentContext.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +1 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +9 -0
- package/dist/commands.js.map +1 -1
- package/dist/generated/contract.d.ts +398 -7
- package/dist/generated/contract.d.ts.map +1 -1
- package/dist/generated/contract.js +609 -1
- package/dist/generated/contract.js.map +1 -1
- package/package.json +1 -1
|
@@ -70,6 +70,11 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
70
70
|
readonly name: "doctor";
|
|
71
71
|
readonly summary: "Run platform, release, installed Pane, and remote setup diagnostics.";
|
|
72
72
|
readonly usage: readonly ["runpane doctor"];
|
|
73
|
+
}, {
|
|
74
|
+
readonly name: "agent-context";
|
|
75
|
+
readonly summary: "Print token-efficient Pane command context for coding agents.";
|
|
76
|
+
readonly usage: readonly ["runpane agent-context [--json]", "runpane agent-context --command <command> [--json]"];
|
|
77
|
+
readonly jsonSchemas: readonly ["agentContextBriefResult", "agentContextCommandResult"];
|
|
73
78
|
}, {
|
|
74
79
|
readonly name: "repos list";
|
|
75
80
|
readonly summary: "List repositories saved in the running Pane app.";
|
|
@@ -213,7 +218,7 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
213
218
|
};
|
|
214
219
|
readonly help: {
|
|
215
220
|
readonly npm: {
|
|
216
|
-
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane repos list [--json]", " runpane repos add --path <path> [--name <name>]", " runpane panes create --repo <selector> --name <name> --agent <codex|claude>", " runpane help [command]", "", "Quick start:", " npx --yes runpane@latest", " npm i -g runpane && runpane setup", "", "Advanced examples:", " npx --yes runpane@latest install client", " npx --yes runpane@latest install daemon --label \"My Server\"", " pnpm dlx runpane@latest", " pipx run runpane", "", "Run \"runpane help panes create\" for pane orchestration options."];
|
|
221
|
+
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane agent-context [--json]", " runpane repos list [--json]", " runpane repos add --path <path> [--name <name>]", " runpane panes create --repo <selector> --name <name> --agent <codex|claude>", " runpane help [command]", "", "Quick start:", " npx --yes runpane@latest", " npm i -g runpane && runpane setup", "", "Advanced examples:", " npx --yes runpane@latest install client", " npx --yes runpane@latest install daemon --label \"My Server\"", " pnpm dlx runpane@latest", " pipx run runpane", "", "Run \"runpane agent-context\" when an agent needs Pane command context.", "Run \"runpane help panes create\" for pane orchestration options."];
|
|
217
222
|
readonly install: readonly ["Usage:", " runpane install [client|daemon] [options]", "", "Examples:", " npx --yes runpane@latest install client", " npx --yes runpane@latest install daemon --label \"My Server\"", " pnpm dlx runpane@latest install daemon --prefer-tunnel ssh --label \"VM\"", "", "Wrapper options:", " --version <latest|vX.Y.Z> Pane release to install", " --format <auto|appimage|deb|dmg|zip|exe>", " --download-dir <path>", " --pane-path <path> Use an existing Pane executable", " --dry-run Print the plan without downloading", " --yes Skip interactive prompts where possible", " --verbose", "", "Daemon passthrough options:", " --label <name>", " --prefer-tunnel <tailscale|ssh|manual|auto>", " --channel <stable|nightly>", " --base-url <url>", " --pane-dir <path>", " --listen-port <port> / --port <port>", " --auto-listen-port", " --interactive-tailscale-setup", " --no-install-service", " --no-tailscale-serve", " --print-only", " --repo-ref <ref>"];
|
|
218
223
|
readonly setup: readonly ["Usage:", " runpane setup", "", "Opens the guided setup for desktop install, remote host setup, update, and diagnostics.", "", "Quick start:", " npx --yes runpane@latest", " npm i -g runpane && runpane setup"];
|
|
219
224
|
readonly update: readonly ["Usage:", " runpane update [options]", "", "Updates Pane using the same artifact selection as \"runpane install client\".", "", "Options:", " --version <latest|vX.Y.Z>", " --format <auto|appimage|deb|dmg|zip|exe>", " --download-dir <path>", " --pane-path <path>", " --dry-run", " --yes", " --verbose"];
|
|
@@ -222,9 +227,10 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
222
227
|
readonly "repos list": readonly ["Usage:", " runpane repos list [--json] [--pane-dir <path>]", "", "Lists repositories saved in the running Pane app.", "", "Options:", " --json Print machine-readable output", " --pane-dir <path> Connect to a specific Pane data directory"];
|
|
223
228
|
readonly "repos add": readonly ["Usage:", " runpane repos add --path <path> [--name <name>] [--json] [--yes]", "", "Registers an existing git repository with the running Pane app.", "", "Options:", " --path <path> Existing git repository path", " --name <name> Saved repository name; defaults to the directory name", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output", " --dry-run Validate and preview without adding the repo", " --yes Skip confirmation for mutating commands"];
|
|
224
229
|
readonly "panes create": readonly ["Usage:", " runpane panes create --repo <selector> --name <name> --agent <codex|claude> [options]", " runpane panes create --from-json <path|-> [--yes] [--json]", "", "Creates Pane sessions in a saved repository and opens a terminal-backed tool tab.", "", "Options:", " --repo <selector> active, id, exact path, or saved repository name", " --name <name> Pane/session name", " --worktree-name <name> Worktree name; defaults to --name", " --base-branch <branch> Base branch for the worktree", " --agent <codex|claude> Built-in terminal template", " --tool-command <command> Custom terminal command", " --title <title> Terminal tab title", " --initial-input <text> Text sent after the command is ready", " --prompt <text> Alias for --initial-input", " --initial-input-file <path|-> Read initial input from a file or stdin", " --from-json <path|-> Read a full request payload", " --timeout-ms <milliseconds> Pane creation timeout", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output", " --dry-run Validate and preview without creating panes", " --yes Skip confirmation for mutating commands"];
|
|
230
|
+
readonly "agent-context": readonly ["Usage:", " runpane agent-context [--json]", " runpane agent-context --command <command> [--json]", "", "Prints Pane command context for coding agents without requiring a running Pane app.", "", "Options:", " --command <command> Print the full definition for one runpane command", " --json Print machine-readable output", "", "Examples:", " runpane agent-context", " runpane agent-context --json", " runpane agent-context --command \"panes create\"", " runpane agent-context --command \"panes create\" --json"];
|
|
225
231
|
};
|
|
226
232
|
readonly pip: {
|
|
227
|
-
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane repos list [--json]", " runpane repos add --path <path> [--name <name>]", " runpane panes create --repo <selector> --name <name> --agent <codex|claude>", " runpane help [command]", "", "Quick start:", " pipx run runpane", " python -m pip install runpane && python -m runpane setup", "", "Advanced examples:", " pipx run runpane install client", " pipx run runpane install daemon --label \"My Server\"", " uvx runpane@latest", "", "Run \"runpane help panes create\" for pane orchestration options."];
|
|
233
|
+
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane agent-context [--json]", " runpane repos list [--json]", " runpane repos add --path <path> [--name <name>]", " runpane panes create --repo <selector> --name <name> --agent <codex|claude>", " runpane help [command]", "", "Quick start:", " pipx run runpane", " python -m pip install runpane && python -m runpane setup", "", "Advanced examples:", " pipx run runpane install client", " pipx run runpane install daemon --label \"My Server\"", " uvx runpane@latest", "", "Run \"runpane agent-context\" when an agent needs Pane command context.", "Run \"runpane help panes create\" for pane orchestration options."];
|
|
228
234
|
readonly install: readonly ["Usage:", " runpane install [client|daemon] [options]", "", "Examples:", " npx --yes runpane@latest install daemon --label \"My Server\"", " pnpm dlx runpane@latest install daemon --prefer-tunnel ssh --label \"VM\"", " pipx run runpane install daemon --label \"My Server\"", "", "Wrapper options:", " --version <latest|vX.Y.Z>", " --format <auto|appimage|deb|dmg|zip|exe>", " --download-dir <path>", " --pane-path <path>", " --dry-run", " --yes", " --verbose", "", "Daemon passthrough options:", " --label <name>", " --prefer-tunnel <tailscale|ssh|manual|auto>", " --channel <stable|nightly>", " --base-url <url>", " --pane-dir <path>", " --listen-port <port> / --port <port>", " --auto-listen-port", " --interactive-tailscale-setup", " --no-install-service", " --no-tailscale-serve", " --print-only", " --repo-ref <ref>"];
|
|
229
235
|
readonly setup: readonly ["Usage:", " runpane setup", "", "Opens the guided setup for desktop install, remote host setup, update, and diagnostics.", "", "Quick start:", " pipx run runpane", " python -m pip install runpane && python -m runpane setup"];
|
|
230
236
|
readonly update: readonly ["Usage:", " runpane update [--version <latest|vX.Y.Z>] [--dry-run] [--yes]"];
|
|
@@ -233,6 +239,7 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
233
239
|
readonly "repos list": readonly ["Usage:", " runpane repos list [--json] [--pane-dir <path>]", "", "Lists repositories saved in the running Pane app.", "", "Options:", " --json", " --pane-dir <path>"];
|
|
234
240
|
readonly "repos add": readonly ["Usage:", " runpane repos add --path <path> [--name <name>] [--json] [--yes]", "", "Registers an existing git repository with the running Pane app.", "", "Options:", " --path <path>", " --name <name>", " --pane-dir <path>", " --json", " --dry-run", " --yes"];
|
|
235
241
|
readonly "panes create": readonly ["Usage:", " runpane panes create --repo <selector> --name <name> --agent <codex|claude> [options]", " runpane panes create --from-json <path|-> [--yes] [--json]", "", "Creates Pane sessions in a saved repository and opens a terminal-backed tool tab.", "", "Options:", " --repo <selector>", " --name <name>", " --worktree-name <name>", " --base-branch <branch>", " --agent <codex|claude>", " --tool-command <command>", " --title <title>", " --initial-input <text>", " --prompt <text>", " --initial-input-file <path|->", " --from-json <path|->", " --timeout-ms <milliseconds>", " --pane-dir <path>", " --json", " --dry-run", " --yes"];
|
|
242
|
+
readonly "agent-context": readonly ["Usage:", " runpane agent-context [--json]", " runpane agent-context --command <command> [--json]", "", "Prints Pane command context for coding agents without requiring a running Pane app.", "", "Options:", " --command <command>", " --json", "", "Examples:", " runpane agent-context", " runpane agent-context --json", " runpane agent-context --command \"panes create\"", " runpane agent-context --command \"panes create\" --json"];
|
|
236
243
|
};
|
|
237
244
|
};
|
|
238
245
|
readonly docs: {
|
|
@@ -241,17 +248,17 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
241
248
|
readonly npmCommands: readonly ["npx --yes runpane@latest", "npx --yes runpane@latest setup", "npx --yes runpane@latest install client", "npx --yes runpane@latest install daemon --label \"My Server\"", "pnpm dlx runpane@latest", "pnpm dlx runpane@latest install daemon --label \"My Server\"", "npm i -g runpane && runpane", "npm i -g runpane && runpane setup", "npm i -g runpane && runpane install daemon --label \"My Server\"", "pnpm add -g runpane && runpane", "pnpm add -g runpane && runpane setup", "pnpm add -g runpane && runpane install daemon --label \"My Server\"", "yarn dlx runpane@latest install daemon --label \"My Server\"", "bunx runpane@latest install daemon --label \"My Server\""];
|
|
242
249
|
readonly pythonCommands: readonly ["pipx run runpane", "pipx run runpane setup", "python -m pip install runpane", "runpane", "runpane setup", "python -m runpane setup", "runpane install daemon --label \"My Server\"", "pipx install runpane", "runpane", "runpane setup", "pipx run runpane install daemon --label \"My Server\"", "uvx runpane@latest", "uvx runpane@latest setup", "uvx runpane@latest install daemon --label \"My Server\"", "python -m runpane install daemon --label \"My Server\""];
|
|
243
250
|
readonly packageManagerNotes: readonly ["Use `pnpm dlx` for one-shot pnpm execution and `pnpm add -g` for persistent CLI installation.", "Do not document `pnpm install runpane` as the public CLI install path."];
|
|
244
|
-
readonly commandUsages: readonly ["runpane", "runpane setup", "runpane install", "runpane install client", "runpane install daemon", "runpane update", "runpane version", "runpane doctor", "runpane repos list --json", "runpane repos add --path /path/to/repo --name Pane --yes --json", "runpane panes create --repo active --name issue-252 --agent codex --prompt \"Kick off the discussion skill for issue 252\" --yes", "runpane panes create --from-json panes.json --yes --json", "runpane help", "runpane <command> --help"];
|
|
245
|
-
readonly commandDescriptions: readonly ["`runpane` with no arguments and `runpane setup` open an interactive wizard when stdin and stdout are TTYs. In non-interactive shells or CI, both forms must print help and exit successfully instead of waiting for input.", "`runpane install` is an alias for `runpane install client`.", "`runpane install client` downloads the selected Pane desktop artifact and installs, opens, or launches it for the current platform.", "`runpane install daemon` downloads or installs Pane, resolves a stable Pane executable path, and spawns `<pane executable> --remote-setup <forwarded remote setup args>`.", "The wrapper must stream Pane stdout/stderr without reformatting because `pane --remote-setup` prints the one-time `pane-remote://...` connection code.", "`runpane update` uses the same release resolution and installer path as `install client`.", "`runpane version` prints the wrapper package version, the installed Pane version when detectable, and the latest GitHub release version when reachable.", "`runpane doctor` checks platform support, release metadata reachability, download URL selection, installed Pane detection, and remote-daemon hints.", "`runpane repos list` connects to the running local Pane daemon and prints saved repository records.", "`runpane repos add` registers an existing git repository with the running local Pane daemon. It does not create directories or initialize git repositories by default.", "`runpane panes create` connects to the running local Pane daemon, resolves the requested repository, creates Pane sessions, opens terminal-backed tool tabs, and optionally sends initial input to the started tool.", "`runpane panes create --prompt` is an alias for `--initial-input`; request JSON and daemon payloads should use the canonical `initialInput` field."];
|
|
251
|
+
readonly commandUsages: readonly ["runpane", "runpane setup", "runpane install", "runpane install client", "runpane install daemon", "runpane update", "runpane version", "runpane doctor", "runpane agent-context", "runpane agent-context --command \"panes create\" --json", "runpane repos list --json", "runpane repos add --path /path/to/repo --name Pane --yes --json", "runpane panes create --repo active --name issue-252 --agent codex --prompt \"Kick off the discussion skill for issue 252\" --yes", "runpane panes create --from-json panes.json --yes --json", "runpane help", "runpane <command> --help"];
|
|
252
|
+
readonly commandDescriptions: readonly ["`runpane` with no arguments and `runpane setup` open an interactive wizard when stdin and stdout are TTYs. In non-interactive shells or CI, both forms must print help and exit successfully instead of waiting for input.", "`runpane install` is an alias for `runpane install client`.", "`runpane install client` downloads the selected Pane desktop artifact and installs, opens, or launches it for the current platform.", "`runpane install daemon` downloads or installs Pane, resolves a stable Pane executable path, and spawns `<pane executable> --remote-setup <forwarded remote setup args>`.", "The wrapper must stream Pane stdout/stderr without reformatting because `pane --remote-setup` prints the one-time `pane-remote://...` connection code.", "`runpane update` uses the same release resolution and installer path as `install client`.", "`runpane version` prints the wrapper package version, the installed Pane version when detectable, and the latest GitHub release version when reachable.", "`runpane doctor` checks platform support, release metadata reachability, download URL selection, installed Pane detection, and remote-daemon hints.", "`runpane agent-context` prints a brief, token-efficient command schema for coding agents without connecting to the Pane daemon.", "`runpane agent-context --command \"panes create\"` prints the detailed definition for one command. Add `--json` for machine-readable output.", "`runpane repos list` connects to the running local Pane daemon and prints saved repository records.", "`runpane repos add` registers an existing git repository with the running local Pane daemon. It does not create directories or initialize git repositories by default.", "`runpane panes create` connects to the running local Pane daemon, resolves the requested repository, creates Pane sessions, opens terminal-backed tool tabs, and optionally sends initial input to the started tool.", "`runpane panes create --prompt` is an alias for `--initial-input`; request JSON and daemon payloads should use the canonical `initialInput` field."];
|
|
246
253
|
readonly wrapperFlagNote: "The top-level `runpane --version` form prints the wrapper version. The install subcommand form `runpane install --version vX.Y.Z` selects a Pane release.";
|
|
247
|
-
readonly localControlFlagNote: "`runpane repos list` and `runpane panes create` use the local framed daemon socket/pipe for a running Pane app. `--pane-dir` points the wrapper at a non-default Pane data directory, such as `PANE_DIR=~/.pane_test` in development.";
|
|
254
|
+
readonly localControlFlagNote: "`runpane repos list` and `runpane panes create` use the local framed daemon socket/pipe for a running Pane app. `--pane-dir` points the wrapper at a non-default Pane data directory, such as `PANE_DIR=~/.pane_test` in development. `runpane agent-context` is local/offline and can be used before Pane is running.";
|
|
248
255
|
readonly daemonFlagNote: "Unknown daemon flags should be forwarded rather than dropped so newer Pane versions can extend `--remote-setup` without requiring an immediate wrapper release. Unknown flags for non-daemon commands should fail clearly.";
|
|
249
256
|
readonly downloadAttribution: readonly ["The npm package uses `source=npm` for all npm-registry consumers, including `npx`, `pnpm dlx`, `yarn dlx`, `bunx`, and global npm/pnpm installs.", "The PyPI package uses `source=pip` for all Python consumers, including pip, pipx, uvx, and `python -m runpane`.", "Wrappers should prefer `https://runpane.com/api/download?platform=<platform>&arch=<arch>&format=<format>&version=<version>&channel=<channel>&source=<npm|pip>`.", "If the website route cannot satisfy the download, wrappers may fall back to the matching GitHub release asset and print a warning that website attribution may be incomplete for that run."];
|
|
250
257
|
readonly publishingCredentials: readonly ["Local implementation, build, and dry-run validation do not need npm or PyPI API tokens.", "Release publishing should prefer npm Trusted Publishing and PyPI Trusted Publishing from GitHub Actions.", "Fallback `NPM_TOKEN` or `PYPI_API_TOKEN` credentials may be used for first package reservation or manual publication only. They must be supplied through local environment variables or GitHub Actions secrets, never committed, and revoked or rotated after use."];
|
|
251
258
|
};
|
|
252
259
|
readonly testFixtures: {
|
|
253
|
-
readonly parserSamples: readonly [readonly ["setup"], readonly ["install"], readonly ["install", "client", "--version", "v2.2.8", "--format", "dmg", "--download-dir", "/tmp/pane-downloads", "--dry-run", "--yes"], readonly ["install", "daemon", "--label", "VM", "--prefer-tunnel", "ssh", "--channel", "nightly", "--base-url", "https://example.test", "--pane-dir", "/tmp/pane", "--listen-port", "4555", "--auto-listen-port", "--print-only", "--repo-ref", "main", "--unknown-future-flag", "future-value", "--dry-run", "--verbose"], readonly ["update", "--version", "latest", "--format", "appimage", "--pane-path", "/usr/bin/pane", "--dry-run"], readonly ["doctor", "--pane-path", "/usr/bin/pane", "--format", "zip", "--verbose"], readonly ["repos", "list", "--json", "--pane-dir", "/tmp/pane"], readonly ["repos", "add", "--path", "/tmp/repo", "--name", "Repo", "--dry-run", "--yes", "--json", "--pane-dir", "/tmp/pane"], readonly ["panes", "create", "--repo", "active", "--name", "issue-252", "--agent", "codex", "--prompt", "Kick off discussion", "--dry-run", "--yes", "--json"], readonly ["panes", "create", "--from-json", "-", "--yes", "--json"], readonly ["--version"]];
|
|
254
|
-
readonly topLevelHelpIncludes: readonly ["runpane setup", "runpane install", "runpane update", "runpane version", "runpane doctor", "runpane repos list", "runpane repos add", "runpane panes create"];
|
|
260
|
+
readonly parserSamples: readonly [readonly ["setup"], readonly ["install"], readonly ["install", "client", "--version", "v2.2.8", "--format", "dmg", "--download-dir", "/tmp/pane-downloads", "--dry-run", "--yes"], readonly ["install", "daemon", "--label", "VM", "--prefer-tunnel", "ssh", "--channel", "nightly", "--base-url", "https://example.test", "--pane-dir", "/tmp/pane", "--listen-port", "4555", "--auto-listen-port", "--print-only", "--repo-ref", "main", "--unknown-future-flag", "future-value", "--dry-run", "--verbose"], readonly ["update", "--version", "latest", "--format", "appimage", "--pane-path", "/usr/bin/pane", "--dry-run"], readonly ["doctor", "--pane-path", "/usr/bin/pane", "--format", "zip", "--verbose"], readonly ["agent-context"], readonly ["agent-context", "--command", "panes create", "--json"], readonly ["repos", "list", "--json", "--pane-dir", "/tmp/pane"], readonly ["repos", "add", "--path", "/tmp/repo", "--name", "Repo", "--dry-run", "--yes", "--json", "--pane-dir", "/tmp/pane"], readonly ["panes", "create", "--repo", "active", "--name", "issue-252", "--agent", "codex", "--prompt", "Kick off discussion", "--dry-run", "--yes", "--json"], readonly ["panes", "create", "--from-json", "-", "--yes", "--json"], readonly ["--version"]];
|
|
261
|
+
readonly topLevelHelpIncludes: readonly ["runpane setup", "runpane install", "runpane update", "runpane version", "runpane doctor", "runpane agent-context", "runpane repos list", "runpane repos add", "runpane panes create"];
|
|
255
262
|
readonly npmHelpIncludes: readonly ["pnpm dlx runpane@latest", "npx --yes runpane@latest"];
|
|
256
263
|
readonly pipHelpIncludes: readonly ["pipx run runpane", "python -m pip install runpane && python -m runpane setup"];
|
|
257
264
|
readonly installHelpIncludes: readonly ["--version <latest|vX.Y.Z>", "--format <auto|appimage|deb|dmg|zip|exe>", "--download-dir <path>", "--pane-path <path>", "--label <name>", "--prefer-tunnel <tailscale|ssh|manual|auto>", "--repo-ref <ref>"];
|
|
@@ -556,6 +563,390 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
556
563
|
};
|
|
557
564
|
readonly additionalProperties: false;
|
|
558
565
|
};
|
|
566
|
+
readonly agentContextBriefResult: {
|
|
567
|
+
readonly type: "object";
|
|
568
|
+
readonly required: readonly ["ok", "mode", "source", "summary", "rules", "tools", "detailCommand"];
|
|
569
|
+
readonly properties: {
|
|
570
|
+
readonly ok: {
|
|
571
|
+
readonly const: true;
|
|
572
|
+
};
|
|
573
|
+
readonly mode: {
|
|
574
|
+
readonly const: "brief";
|
|
575
|
+
};
|
|
576
|
+
readonly source: {
|
|
577
|
+
readonly const: "runpane-contract";
|
|
578
|
+
};
|
|
579
|
+
readonly summary: {
|
|
580
|
+
readonly type: "string";
|
|
581
|
+
};
|
|
582
|
+
readonly rules: {
|
|
583
|
+
readonly type: "array";
|
|
584
|
+
readonly items: {
|
|
585
|
+
readonly type: "string";
|
|
586
|
+
};
|
|
587
|
+
};
|
|
588
|
+
readonly tools: {
|
|
589
|
+
readonly type: "array";
|
|
590
|
+
readonly items: {
|
|
591
|
+
readonly type: "object";
|
|
592
|
+
readonly required: readonly ["name", "summary", "arguments"];
|
|
593
|
+
readonly properties: {
|
|
594
|
+
readonly name: {
|
|
595
|
+
readonly type: "string";
|
|
596
|
+
};
|
|
597
|
+
readonly summary: {
|
|
598
|
+
readonly type: "string";
|
|
599
|
+
};
|
|
600
|
+
readonly arguments: {
|
|
601
|
+
readonly type: "array";
|
|
602
|
+
readonly items: {
|
|
603
|
+
readonly type: "string";
|
|
604
|
+
};
|
|
605
|
+
};
|
|
606
|
+
};
|
|
607
|
+
readonly additionalProperties: false;
|
|
608
|
+
};
|
|
609
|
+
};
|
|
610
|
+
readonly detailCommand: {
|
|
611
|
+
readonly type: "string";
|
|
612
|
+
};
|
|
613
|
+
};
|
|
614
|
+
readonly additionalProperties: false;
|
|
615
|
+
};
|
|
616
|
+
readonly agentContextCommandResult: {
|
|
617
|
+
readonly type: "object";
|
|
618
|
+
readonly required: readonly ["ok", "mode", "source", "command"];
|
|
619
|
+
readonly properties: {
|
|
620
|
+
readonly ok: {
|
|
621
|
+
readonly const: true;
|
|
622
|
+
};
|
|
623
|
+
readonly mode: {
|
|
624
|
+
readonly const: "command";
|
|
625
|
+
};
|
|
626
|
+
readonly source: {
|
|
627
|
+
readonly const: "runpane-contract";
|
|
628
|
+
};
|
|
629
|
+
readonly command: {
|
|
630
|
+
readonly type: "object";
|
|
631
|
+
readonly required: readonly ["name", "summary", "details", "arguments", "examples"];
|
|
632
|
+
readonly properties: {
|
|
633
|
+
readonly name: {
|
|
634
|
+
readonly type: "string";
|
|
635
|
+
};
|
|
636
|
+
readonly summary: {
|
|
637
|
+
readonly type: "string";
|
|
638
|
+
};
|
|
639
|
+
readonly details: {
|
|
640
|
+
readonly type: "string";
|
|
641
|
+
};
|
|
642
|
+
readonly requiresPaneDaemon: {
|
|
643
|
+
readonly type: "boolean";
|
|
644
|
+
};
|
|
645
|
+
readonly mutates: {
|
|
646
|
+
readonly type: "boolean";
|
|
647
|
+
};
|
|
648
|
+
readonly arguments: {
|
|
649
|
+
readonly type: "array";
|
|
650
|
+
readonly items: {
|
|
651
|
+
readonly type: "object";
|
|
652
|
+
};
|
|
653
|
+
};
|
|
654
|
+
readonly examples: {
|
|
655
|
+
readonly type: "array";
|
|
656
|
+
readonly items: {
|
|
657
|
+
readonly type: "string";
|
|
658
|
+
};
|
|
659
|
+
};
|
|
660
|
+
readonly jsonSchemas: {
|
|
661
|
+
readonly type: "array";
|
|
662
|
+
readonly items: {
|
|
663
|
+
readonly type: "string";
|
|
664
|
+
};
|
|
665
|
+
};
|
|
666
|
+
readonly notes: {
|
|
667
|
+
readonly type: "array";
|
|
668
|
+
readonly items: {
|
|
669
|
+
readonly type: "string";
|
|
670
|
+
};
|
|
671
|
+
};
|
|
672
|
+
};
|
|
673
|
+
readonly additionalProperties: false;
|
|
674
|
+
};
|
|
675
|
+
};
|
|
676
|
+
readonly additionalProperties: false;
|
|
677
|
+
};
|
|
678
|
+
};
|
|
679
|
+
readonly agentContext: {
|
|
680
|
+
readonly brief: {
|
|
681
|
+
readonly title: "Pane agent context";
|
|
682
|
+
readonly summary: "Pane lets a developer manage repositories and user-visible panes. Agents can use runpane to list/add Pane repositories and create panes with terminal-backed tools.";
|
|
683
|
+
readonly rules: readonly ["Start with `runpane repos list --json` to find the saved repository when unsure.", "If the repository exists on disk but is not saved in Pane, use `runpane repos add --path <repo> --yes --json` before creating panes.", "Use `runpane panes create` to create a Pane session and open a built-in agent or custom terminal command.", "Use `runpane agent-context --command <command>` for detailed command definitions only when needed."];
|
|
684
|
+
readonly detailCommand: "runpane agent-context --command <command> [--json]";
|
|
685
|
+
readonly tools: readonly [{
|
|
686
|
+
readonly name: "agent-context";
|
|
687
|
+
readonly summary: "Print token-efficient Pane command context for coding agents.";
|
|
688
|
+
readonly arguments: readonly ["--command <command>", "--json"];
|
|
689
|
+
}, {
|
|
690
|
+
readonly name: "repos list";
|
|
691
|
+
readonly summary: "List repositories saved in the running Pane app.";
|
|
692
|
+
readonly arguments: readonly ["--json", "--pane-dir <path>"];
|
|
693
|
+
}, {
|
|
694
|
+
readonly name: "repos add";
|
|
695
|
+
readonly summary: "Register an existing git repository with the running Pane app.";
|
|
696
|
+
readonly arguments: readonly ["--path <path>", "--name <name>", "--yes", "--json", "--dry-run", "--pane-dir <path>"];
|
|
697
|
+
}, {
|
|
698
|
+
readonly name: "panes create";
|
|
699
|
+
readonly summary: "Create one or more Pane sessions in a saved repository and open a terminal-backed tool tab.";
|
|
700
|
+
readonly arguments: readonly ["--repo <selector>", "--name <name>", "--agent <codex|claude>", "--tool-command <command>", "--prompt <text>", "--from-json <path|->", "--yes", "--json"];
|
|
701
|
+
}];
|
|
702
|
+
};
|
|
703
|
+
readonly commands: {
|
|
704
|
+
readonly help: {
|
|
705
|
+
readonly name: "help";
|
|
706
|
+
readonly summary: "Show help for runpane or a specific command.";
|
|
707
|
+
readonly details: "Use this when you need human-readable usage text for a command.";
|
|
708
|
+
readonly requiresPaneDaemon: false;
|
|
709
|
+
readonly mutates: false;
|
|
710
|
+
readonly arguments: readonly [{
|
|
711
|
+
readonly name: "command";
|
|
712
|
+
readonly value: "<command>";
|
|
713
|
+
readonly required: false;
|
|
714
|
+
readonly description: "Optional command topic such as \"panes create\".";
|
|
715
|
+
}];
|
|
716
|
+
readonly examples: readonly ["runpane help", "runpane help panes create"];
|
|
717
|
+
readonly notes: readonly ["Help text is generated from the runpane contract."];
|
|
718
|
+
};
|
|
719
|
+
readonly setup: {
|
|
720
|
+
readonly name: "setup";
|
|
721
|
+
readonly summary: "Open the guided setup wizard for install, remote host setup, update, and diagnostics.";
|
|
722
|
+
readonly details: "Use this for a human-driven Pane setup flow, not for unattended agent orchestration.";
|
|
723
|
+
readonly requiresPaneDaemon: false;
|
|
724
|
+
readonly mutates: false;
|
|
725
|
+
readonly arguments: readonly [];
|
|
726
|
+
readonly examples: readonly ["runpane setup"];
|
|
727
|
+
readonly notes: readonly ["In non-interactive shells, setup prints help and exits successfully."];
|
|
728
|
+
};
|
|
729
|
+
readonly install: {
|
|
730
|
+
readonly name: "install";
|
|
731
|
+
readonly summary: "Install Pane on this machine or configure this machine as a remote daemon host.";
|
|
732
|
+
readonly details: "Installs or launches Pane release artifacts at command runtime. `install daemon` forwards remote setup flags to Pane.";
|
|
733
|
+
readonly requiresPaneDaemon: false;
|
|
734
|
+
readonly mutates: true;
|
|
735
|
+
readonly arguments: readonly [{
|
|
736
|
+
readonly name: "target";
|
|
737
|
+
readonly value: "<client|daemon>";
|
|
738
|
+
readonly required: false;
|
|
739
|
+
readonly description: "Install the desktop client or configure a remote daemon host.";
|
|
740
|
+
}, {
|
|
741
|
+
readonly name: "--version";
|
|
742
|
+
readonly value: "<latest|vX.Y.Z>";
|
|
743
|
+
readonly required: false;
|
|
744
|
+
readonly description: "Pane release to install.";
|
|
745
|
+
}, {
|
|
746
|
+
readonly name: "--format";
|
|
747
|
+
readonly value: "<auto|appimage|deb|dmg|zip|exe>";
|
|
748
|
+
readonly required: false;
|
|
749
|
+
readonly description: "Release artifact format.";
|
|
750
|
+
}, {
|
|
751
|
+
readonly name: "--yes";
|
|
752
|
+
readonly required: false;
|
|
753
|
+
readonly description: "Skip interactive prompts where possible.";
|
|
754
|
+
}];
|
|
755
|
+
readonly examples: readonly ["runpane install client", "runpane install daemon --label \"My Server\""];
|
|
756
|
+
readonly notes: readonly ["Package install itself is inert; work begins only when runpane is executed."];
|
|
757
|
+
};
|
|
758
|
+
readonly update: {
|
|
759
|
+
readonly name: "update";
|
|
760
|
+
readonly summary: "Update the Pane desktop app using the same artifact path as install client.";
|
|
761
|
+
readonly details: "Resolves and installs the selected Pane client release.";
|
|
762
|
+
readonly requiresPaneDaemon: false;
|
|
763
|
+
readonly mutates: true;
|
|
764
|
+
readonly arguments: readonly [{
|
|
765
|
+
readonly name: "--version";
|
|
766
|
+
readonly value: "<latest|vX.Y.Z>";
|
|
767
|
+
readonly required: false;
|
|
768
|
+
readonly description: "Pane release to update to.";
|
|
769
|
+
}, {
|
|
770
|
+
readonly name: "--format";
|
|
771
|
+
readonly value: "<auto|appimage|deb|dmg|zip|exe>";
|
|
772
|
+
readonly required: false;
|
|
773
|
+
readonly description: "Release artifact format.";
|
|
774
|
+
}, {
|
|
775
|
+
readonly name: "--dry-run";
|
|
776
|
+
readonly required: false;
|
|
777
|
+
readonly description: "Print the update plan without downloading.";
|
|
778
|
+
}];
|
|
779
|
+
readonly examples: readonly ["runpane update", "runpane update --version latest"];
|
|
780
|
+
readonly notes: readonly ["Equivalent artifact selection to `runpane install client`."];
|
|
781
|
+
};
|
|
782
|
+
readonly version: {
|
|
783
|
+
readonly name: "version";
|
|
784
|
+
readonly summary: "Print the runpane wrapper version and installed Pane version when detectable.";
|
|
785
|
+
readonly details: "Use this for diagnostics or to confirm which wrapper is available.";
|
|
786
|
+
readonly requiresPaneDaemon: false;
|
|
787
|
+
readonly mutates: false;
|
|
788
|
+
readonly arguments: readonly [{
|
|
789
|
+
readonly name: "--pane-path";
|
|
790
|
+
readonly value: "<path>";
|
|
791
|
+
readonly required: false;
|
|
792
|
+
readonly description: "Inspect a specific Pane executable.";
|
|
793
|
+
}];
|
|
794
|
+
readonly examples: readonly ["runpane version", "runpane --version"];
|
|
795
|
+
readonly notes: readonly [];
|
|
796
|
+
};
|
|
797
|
+
readonly doctor: {
|
|
798
|
+
readonly name: "doctor";
|
|
799
|
+
readonly summary: "Run platform, release, installed Pane, and remote setup diagnostics.";
|
|
800
|
+
readonly details: "Use this when runpane install/update behavior needs environment diagnostics.";
|
|
801
|
+
readonly requiresPaneDaemon: false;
|
|
802
|
+
readonly mutates: false;
|
|
803
|
+
readonly arguments: readonly [{
|
|
804
|
+
readonly name: "--pane-path";
|
|
805
|
+
readonly value: "<path>";
|
|
806
|
+
readonly required: false;
|
|
807
|
+
readonly description: "Use an existing Pane executable for diagnostics.";
|
|
808
|
+
}, {
|
|
809
|
+
readonly name: "--verbose";
|
|
810
|
+
readonly required: false;
|
|
811
|
+
readonly description: "Print extra diagnostics.";
|
|
812
|
+
}];
|
|
813
|
+
readonly examples: readonly ["runpane doctor", "runpane doctor --verbose"];
|
|
814
|
+
readonly notes: readonly [];
|
|
815
|
+
};
|
|
816
|
+
readonly "agent-context": {
|
|
817
|
+
readonly name: "agent-context";
|
|
818
|
+
readonly summary: "Print token-efficient Pane command context for coding agents.";
|
|
819
|
+
readonly details: "Use this first when an agent needs to discover Pane primitives. It is local/offline and does not require a running Pane app.";
|
|
820
|
+
readonly requiresPaneDaemon: false;
|
|
821
|
+
readonly mutates: false;
|
|
822
|
+
readonly arguments: readonly [{
|
|
823
|
+
readonly name: "--command";
|
|
824
|
+
readonly value: "<command>";
|
|
825
|
+
readonly required: false;
|
|
826
|
+
readonly description: "Print the detailed definition for one command, for example \"panes create\".";
|
|
827
|
+
}, {
|
|
828
|
+
readonly name: "--json";
|
|
829
|
+
readonly required: false;
|
|
830
|
+
readonly description: "Print machine-readable output.";
|
|
831
|
+
}];
|
|
832
|
+
readonly examples: readonly ["runpane agent-context", "runpane agent-context --command \"panes create\" --json"];
|
|
833
|
+
readonly jsonSchemas: readonly ["agentContextBriefResult", "agentContextCommandResult"];
|
|
834
|
+
readonly notes: readonly ["Default output is brief so AGENTS.md can point here without bloating context."];
|
|
835
|
+
};
|
|
836
|
+
readonly "repos list": {
|
|
837
|
+
readonly name: "repos list";
|
|
838
|
+
readonly summary: "List repositories saved in the running Pane app.";
|
|
839
|
+
readonly details: "Use this to find the right Pane-managed repository before creating panes. If the repo is missing, use `repos add` first.";
|
|
840
|
+
readonly requiresPaneDaemon: true;
|
|
841
|
+
readonly mutates: false;
|
|
842
|
+
readonly arguments: readonly [{
|
|
843
|
+
readonly name: "--json";
|
|
844
|
+
readonly required: false;
|
|
845
|
+
readonly description: "Print machine-readable repository records.";
|
|
846
|
+
}, {
|
|
847
|
+
readonly name: "--pane-dir";
|
|
848
|
+
readonly value: "<path>";
|
|
849
|
+
readonly required: false;
|
|
850
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
851
|
+
}];
|
|
852
|
+
readonly examples: readonly ["runpane repos list --json"];
|
|
853
|
+
readonly jsonSchemas: readonly ["repoListResult"];
|
|
854
|
+
readonly notes: readonly ["Requires a running Pane app or daemon for the selected Pane data directory."];
|
|
855
|
+
};
|
|
856
|
+
readonly "repos add": {
|
|
857
|
+
readonly name: "repos add";
|
|
858
|
+
readonly summary: "Register an existing git repository with the running Pane app.";
|
|
859
|
+
readonly details: "Use this when the repository exists on disk but is not saved in Pane yet. It validates the path as a git repository.";
|
|
860
|
+
readonly requiresPaneDaemon: true;
|
|
861
|
+
readonly mutates: true;
|
|
862
|
+
readonly arguments: readonly [{
|
|
863
|
+
readonly name: "--path";
|
|
864
|
+
readonly value: "<path>";
|
|
865
|
+
readonly required: true;
|
|
866
|
+
readonly description: "Existing git repository path to register with Pane.";
|
|
867
|
+
}, {
|
|
868
|
+
readonly name: "--name";
|
|
869
|
+
readonly value: "<name>";
|
|
870
|
+
readonly required: false;
|
|
871
|
+
readonly description: "Saved repository name; defaults to the directory name.";
|
|
872
|
+
}, {
|
|
873
|
+
readonly name: "--yes";
|
|
874
|
+
readonly required: false;
|
|
875
|
+
readonly description: "Skip confirmation for mutating commands.";
|
|
876
|
+
}, {
|
|
877
|
+
readonly name: "--json";
|
|
878
|
+
readonly required: false;
|
|
879
|
+
readonly description: "Print machine-readable output.";
|
|
880
|
+
}, {
|
|
881
|
+
readonly name: "--dry-run";
|
|
882
|
+
readonly required: false;
|
|
883
|
+
readonly description: "Validate and preview without adding the repo.";
|
|
884
|
+
}, {
|
|
885
|
+
readonly name: "--pane-dir";
|
|
886
|
+
readonly value: "<path>";
|
|
887
|
+
readonly required: false;
|
|
888
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
889
|
+
}];
|
|
890
|
+
readonly examples: readonly ["runpane repos add --path /path/to/repo --yes --json"];
|
|
891
|
+
readonly jsonSchemas: readonly ["repoAddRequest", "repoAddResult"];
|
|
892
|
+
readonly notes: readonly ["It does not create directories or initialize git repositories by default."];
|
|
893
|
+
};
|
|
894
|
+
readonly "panes create": {
|
|
895
|
+
readonly name: "panes create";
|
|
896
|
+
readonly summary: "Create one or more Pane sessions in a saved repository and open a terminal-backed tool tab.";
|
|
897
|
+
readonly details: "Use this to set up user-visible panes for work. Select a saved repository, choose a built-in agent or custom terminal command, and optionally send initial input after the tool starts.";
|
|
898
|
+
readonly requiresPaneDaemon: true;
|
|
899
|
+
readonly mutates: true;
|
|
900
|
+
readonly arguments: readonly [{
|
|
901
|
+
readonly name: "--repo";
|
|
902
|
+
readonly value: "<selector>";
|
|
903
|
+
readonly required: true;
|
|
904
|
+
readonly description: "Repository selector: active, id, exact path, or saved repository name.";
|
|
905
|
+
}, {
|
|
906
|
+
readonly name: "--name";
|
|
907
|
+
readonly value: "<name>";
|
|
908
|
+
readonly required: true;
|
|
909
|
+
readonly description: "Pane/session name.";
|
|
910
|
+
}, {
|
|
911
|
+
readonly name: "--agent";
|
|
912
|
+
readonly value: "<codex|claude>";
|
|
913
|
+
readonly required: false;
|
|
914
|
+
readonly description: "Built-in agent terminal template to open.";
|
|
915
|
+
}, {
|
|
916
|
+
readonly name: "--tool-command";
|
|
917
|
+
readonly value: "<command>";
|
|
918
|
+
readonly required: false;
|
|
919
|
+
readonly description: "Custom terminal command to run instead of a built-in agent.";
|
|
920
|
+
}, {
|
|
921
|
+
readonly name: "--prompt";
|
|
922
|
+
readonly value: "<text>";
|
|
923
|
+
readonly required: false;
|
|
924
|
+
readonly description: "Alias for --initial-input; sends text after the command is ready.";
|
|
925
|
+
}, {
|
|
926
|
+
readonly name: "--initial-input-file";
|
|
927
|
+
readonly value: "<path|->";
|
|
928
|
+
readonly required: false;
|
|
929
|
+
readonly description: "Read initial input from a file or stdin.";
|
|
930
|
+
}, {
|
|
931
|
+
readonly name: "--from-json";
|
|
932
|
+
readonly value: "<path|->";
|
|
933
|
+
readonly required: false;
|
|
934
|
+
readonly description: "Read a full panes.create request JSON payload.";
|
|
935
|
+
}, {
|
|
936
|
+
readonly name: "--yes";
|
|
937
|
+
readonly required: false;
|
|
938
|
+
readonly description: "Skip confirmation for mutating commands.";
|
|
939
|
+
}, {
|
|
940
|
+
readonly name: "--json";
|
|
941
|
+
readonly required: false;
|
|
942
|
+
readonly description: "Print machine-readable output.";
|
|
943
|
+
}];
|
|
944
|
+
readonly examples: readonly ["runpane panes create --repo active --name issue-257 --agent codex --prompt \"Plan this issue\" --yes", "runpane panes create --from-json panes.json --yes --json"];
|
|
945
|
+
readonly jsonSchemas: readonly ["paneCreateRequest", "paneCreateResult"];
|
|
946
|
+
readonly notes: readonly ["At least one of --agent or --tool-command is required unless --from-json is used.", "The built-in agent templates come from the runpane contract; custom terminal commands can pass agent-specific flags when requested by the user."];
|
|
947
|
+
};
|
|
948
|
+
};
|
|
949
|
+
readonly managedBlock: readonly ["## Pane", "", "The developer is using Pane for this repository. Pane can manage saved repositories and create user-visible panes with terminal-backed tools for planning, discussion, and implementation work.", "", "Use `runpane agent-context` for a brief Pane command schema. Use `runpane agent-context --command \"panes create\"` or another command name for the detailed schema only when needed.", "", "Common commands:", "- `runpane repos list --json`", "- `runpane repos add --path <repo> --yes --json`", "- `runpane panes create --repo active --name <name> --agent codex --prompt \"<task>\" --yes`"];
|
|
559
950
|
};
|
|
560
951
|
};
|
|
561
952
|
export type RunpaneCommand = typeof RUNPANE_CONTRACT.commands[number]['name'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/generated/contract.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/generated/contract.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwwDnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACjF,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACnF,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC"}
|