runpane 2.4.76 → 2.4.78
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/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +9 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +48 -4
- package/dist/commands.js.map +1 -1
- package/dist/daemonClient.d.ts +5 -0
- package/dist/daemonClient.d.ts.map +1 -1
- package/dist/daemonClient.js +7 -0
- package/dist/daemonClient.js.map +1 -1
- package/dist/generated/contract.d.ts +319 -2
- package/dist/generated/contract.d.ts.map +1 -1
- package/dist/generated/contract.js +475 -0
- package/dist/generated/contract.js.map +1 -1
- package/dist/localControl.d.ts +2 -0
- package/dist/localControl.d.ts.map +1 -1
- package/dist/localControl.js +143 -0
- package/dist/localControl.js.map +1 -1
- package/package.json +1 -1
|
@@ -108,6 +108,16 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
108
108
|
readonly summary: "List Pane sessions in a saved repository.";
|
|
109
109
|
readonly usage: readonly ["runpane panes list [--repo <selector>] [--json]"];
|
|
110
110
|
readonly jsonSchemas: readonly ["paneListResult"];
|
|
111
|
+
}, {
|
|
112
|
+
readonly name: "workspace state";
|
|
113
|
+
readonly summary: "Read one workspace snapshot of every Pane and CLI panel.";
|
|
114
|
+
readonly usage: readonly ["runpane workspace state [--repo <selector>] [--json]"];
|
|
115
|
+
readonly jsonSchemas: readonly ["workspaceStateResult"];
|
|
116
|
+
}, {
|
|
117
|
+
readonly name: "watch";
|
|
118
|
+
readonly summary: "Wait for workspace agent and Pane transitions using a daemon-held cursor.";
|
|
119
|
+
readonly usage: readonly ["runpane watch [--as <name>|--since <generation>] [--follow] [--kinds <kind,...>] [--pane <id>] [--repo <selector>] [--name-contains <text>] [--timeout-ms <ms>] [--from <now|earliest>] [--json]"];
|
|
120
|
+
readonly jsonSchemas: readonly ["workspaceWaitRequest", "workspaceWaitResult"];
|
|
111
121
|
}, {
|
|
112
122
|
readonly name: "panes create";
|
|
113
123
|
readonly summary: "Create user-visible Panes (Pane sessions) backed by Pane-managed worktrees for feature/PR work and open terminal-backed tool tabs.";
|
|
@@ -348,6 +358,26 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
348
358
|
readonly name: "--strategy";
|
|
349
359
|
readonly value: "<auto|codex-ctrl-enter|enter>";
|
|
350
360
|
readonly description: "Composer submit key sequence strategy for panels submit-composer.";
|
|
361
|
+
}, {
|
|
362
|
+
readonly name: "--as";
|
|
363
|
+
readonly value: "<consumer-name>";
|
|
364
|
+
readonly description: "Use a persisted daemon-held workspace cursor.";
|
|
365
|
+
}, {
|
|
366
|
+
readonly name: "--since";
|
|
367
|
+
readonly value: "<generation>";
|
|
368
|
+
readonly description: "Read workspace events after this generation.";
|
|
369
|
+
}, {
|
|
370
|
+
readonly name: "--from";
|
|
371
|
+
readonly value: "<now|earliest>";
|
|
372
|
+
readonly description: "Choose where a new named cursor starts.";
|
|
373
|
+
}, {
|
|
374
|
+
readonly name: "--kinds";
|
|
375
|
+
readonly value: "<kind,...>";
|
|
376
|
+
readonly description: "Limit workspace events to comma-separated kinds.";
|
|
377
|
+
}, {
|
|
378
|
+
readonly name: "--name-contains";
|
|
379
|
+
readonly value: "<text>";
|
|
380
|
+
readonly description: "Limit workspace events to Pane names containing text.";
|
|
351
381
|
}];
|
|
352
382
|
readonly localBoolean: readonly [{
|
|
353
383
|
readonly name: "--json";
|
|
@@ -370,11 +400,20 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
370
400
|
}, {
|
|
371
401
|
readonly name: "--force";
|
|
372
402
|
readonly description: "Archive even if the pane's branch has uncommitted, untracked, or unpushed changes.";
|
|
403
|
+
}, {
|
|
404
|
+
readonly name: "--follow";
|
|
405
|
+
readonly description: "Continue waiting for workspace events until interrupted.";
|
|
406
|
+
}, {
|
|
407
|
+
readonly name: "--ack-now";
|
|
408
|
+
readonly description: "Advance a named cursor immediately for at-most-once delivery.";
|
|
409
|
+
}, {
|
|
410
|
+
readonly name: "--include-held-input";
|
|
411
|
+
readonly description: "Include up to 120 characters of unsubmitted composer text in ready events.";
|
|
373
412
|
}];
|
|
374
413
|
};
|
|
375
414
|
readonly help: {
|
|
376
415
|
readonly npm: {
|
|
377
|
-
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane daemon repair [--pane-dir <path>] [--yes] [--json]", " runpane agent-context [--json]", " runpane agents doctor --agent <codex|claude|cursor> [--repo <selector>] [--json]", " runpane repos list [--json]", " runpane repos add --path <path> [--name <name>]", " runpane panes list [--repo <selector>] [--json]", " runpane panes create --repo <selector> --name <name> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] [--wait-ready]", " runpane panes archive --pane <pane-id> [--source user|agent] [--force] [--dry-run] --yes", " runpane panels create --pane <pane-id> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] --yes", " runpane panels list --pane <pane-id> [--json]", " runpane panels output --panel <panel-id> [--limit <count>] [--json]", " runpane panels screen --panel <panel-id> [--limit <count>] [--json]", " runpane panels input --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", " runpane panels submit --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", " runpane panels submit-composer --panel <panel-id> [--strategy auto|codex-ctrl-enter|enter] --yes [--json]", " runpane panels wait --panel <panel-id> [--for initialized|ready|idle|text] [--json]", " 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", "", "Common commands:", " runpane help", " runpane setup", " runpane install", " runpane doctor", "", "Agent discovery:", " runpane doctor --json", " runpane agent-context --json", " runpane agent-context --command \"<command>\" --json", "", "Run \"runpane help panes create\" for pane orchestration options."];
|
|
416
|
+
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane daemon repair [--pane-dir <path>] [--yes] [--json]", " runpane agent-context [--json]", " runpane agents doctor --agent <codex|claude|cursor> [--repo <selector>] [--json]", " runpane repos list [--json]", " runpane repos add --path <path> [--name <name>]", " runpane panes list [--repo <selector>] [--json]", " runpane workspace state [--repo <selector>] [--json]", " runpane watch [--as <name>|--since <generation>] [--follow] [--json]", " runpane panes create --repo <selector> --name <name> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] [--wait-ready]", " runpane panes archive --pane <pane-id> [--source user|agent] [--force] [--dry-run] --yes", " runpane panels create --pane <pane-id> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] --yes", " runpane panels list --pane <pane-id> [--json]", " runpane panels output --panel <panel-id> [--limit <count>] [--json]", " runpane panels screen --panel <panel-id> [--limit <count>] [--json]", " runpane panels input --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", " runpane panels submit --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", " runpane panels submit-composer --panel <panel-id> [--strategy auto|codex-ctrl-enter|enter] --yes [--json]", " runpane panels wait --panel <panel-id> [--for initialized|ready|idle|text] [--json]", " 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", "", "Common commands:", " runpane help", " runpane setup", " runpane install", " runpane doctor", "", "Agent discovery:", " runpane doctor --json", " runpane agent-context --json", " runpane agent-context --command \"<command>\" --json", "", "Run \"runpane help panes create\" for pane orchestration options."];
|
|
378
417
|
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>"];
|
|
379
418
|
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"];
|
|
380
419
|
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"];
|
|
@@ -385,6 +424,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
385
424
|
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"];
|
|
386
425
|
readonly panes: readonly ["Pane session commands.", "", "Usage:", " runpane panes <command> [options]", "", "Commands:", " runpane panes list [--repo <selector>] [--json]", " runpane panes create --repo <selector> --name <name> --agent <codex|claude|cursor> [options]", " runpane panes archive --pane <pane-id> [--force] [--source user|agent] [--dry-run] --yes [--json]", " runpane panes pin --pane <pane-id> --yes [--dry-run] [--json]", " runpane panes unpin --pane <pane-id> --yes [--dry-run] [--json]", " runpane panes rename --pane <pane-id> --name <new-name> --yes [--dry-run] [--json]", "", "Run \"runpane help panes <command>\" for command-specific options."];
|
|
387
426
|
readonly "panes list": readonly ["Usage:", " runpane panes list [--repo <selector>] [--json]", "", "Lists Pane sessions. Pass --repo to limit results to one saved repository.", "", "Options:", " --repo <selector> active, id, exact path, or saved repository name", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output"];
|
|
427
|
+
readonly workspace: readonly ["Workspace observation commands.", "", "Usage:", " runpane workspace state [--repo <selector>] [--json]", " runpane watch [--as <name>|--since <generation>] [--follow] [options]"];
|
|
428
|
+
readonly "workspace state": readonly ["Usage:", " runpane workspace state [--repo <selector>] [--json]", "", "Returns one workspace snapshot of every Pane and CLI panel."];
|
|
429
|
+
readonly watch: readonly ["Usage:", " runpane watch [--as <name>|--since <generation>] [--follow] [options]", "", "Waits for agent state, Pane lifecycle, and panel exit transitions without polling.", "", "Options:", " --as <name> Use a persisted daemon-held cursor", " --since <generation> Use an explicit cursor instead", " --from <now|earliest> Starting point for a new named cursor", " --follow Continue waiting until interrupted", " --kinds <kind,...> Limit event kinds", " --pane <id> Limit to a Pane; repeatable", " --repo <selector> Limit to a saved repository", " --name-contains <text> Limit by Pane name substring", " --timeout-ms <ms> Wait timeout; 0 polls once", " --limit <count> Maximum entries per response", " --ack-now Use at-most-once named-cursor delivery", " --include-held-input Include unsubmitted composer text", " --json Emit one NDJSON line per entry"];
|
|
388
430
|
readonly "panes create": readonly ["Usage:", " runpane panes create --repo <selector> --name <name> --agent <codex|claude|cursor> [options]", " runpane panes create --from-json <path|-> [--yes] [--json]", "", "Creates user-visible Panes (Pane sessions) for feature/PR work in a saved repository and opens a terminal-backed tool tab. Pane creates and owns the worktree/branch for each new Pane.", "", "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|cursor> 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", " --wait-ready Wait for terminal readiness before returning", " --ready-timeout-ms <ms> Readiness wait timeout; defaults to 30000", " --concurrency <count> Accepted; creation is currently serialized", " --source <user|agent> Mark mutation source; agent implies background creation", " --no-focus Create in the background without stealing focus", " --focus Explicitly focus the created pane", " --pinned Accepted for compatibility; creation already pins by default", " --no-pinned Create unpinned instead of the default pinned (the UI's favorite/pin star)", " --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"];
|
|
389
431
|
readonly "panes archive": readonly ["Usage:", " runpane panes archive --pane <pane-id> [--source user|agent] [--force] [--dry-run] --yes [--json]", "", "Archives a Pane (session) exactly like the UI Archive action, including removal of its Pane-managed git worktree. Refreshes the configured upstream before checking for unpushed commits and reports exact commit evidence. Refuses unsafe archives unless --force is passed. Use --dry-run to print the evidence without mutating Pane state.", "", "Options:", " --pane <pane-id> Pane/session id to archive", " --source <user|agent> Mark mutation source", " --force Archive even if the pane has uncommitted, untracked, or unpushed changes", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output", " --dry-run Refresh and print archive safety evidence without archiving", " --yes Skip confirmation for mutating commands"];
|
|
390
432
|
readonly "panes pin": readonly ["Usage:", " runpane panes pin --pane <pane-id> --yes [--dry-run] [--json]", "", "Declaratively pins a Pane using the Pane UI's favorite/pin star. Repeating the command is idempotent and never changes focus. Use --dry-run to validate and preview without mutating.", "", "Options:", " --pane <pane-id> Pane/session id to pin", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output", " --dry-run Validate and preview without pinning the pane", " --yes Skip confirmation for mutating commands"];
|
|
@@ -403,7 +445,7 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
403
445
|
readonly "panels submit-composer": readonly ["Submit an agent composer using the panel-appropriate key sequence.", "", "Usage:", " runpane panels submit-composer --panel <panel-id> [--strategy auto|codex-ctrl-enter|enter] --yes [--json]", "", "Options:", " --panel <panel-id> Terminal panel id.", " --strategy <strategy> Defaults to auto; Codex sends Ctrl+Enter and other panels send Enter.", " --yes Skip confirmation prompts.", " --json Print JSON output."];
|
|
404
446
|
};
|
|
405
447
|
readonly pip: {
|
|
406
|
-
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane daemon repair [--pane-dir <path>] [--yes] [--json]", " runpane agent-context [--json]", " runpane agents doctor --agent <codex|claude|cursor> [--repo <selector>] [--json]", " runpane repos list [--json]", " runpane repos add --path <path> [--name <name>]", " runpane panes list [--repo <selector>] [--json]", " runpane panes create --repo <selector> --name <name> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] [--wait-ready]", " runpane panes archive --pane <pane-id> [--source user|agent] [--force] [--dry-run] --yes", " python -m runpane panels create --pane <pane-id> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] --yes", " runpane panels list --pane <pane-id> [--json]", " runpane panels output --panel <panel-id> [--limit <count>] [--json]", " runpane panels screen --panel <panel-id> [--limit <count>] [--json]", " runpane panels input --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", " runpane panels submit --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", " runpane panels submit-composer --panel <panel-id> [--strategy auto|codex-ctrl-enter|enter] --yes [--json]", " runpane panels wait --panel <panel-id> [--for initialized|ready|idle|text] [--json]", " 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", "", "Common commands:", " runpane help", " runpane setup", " runpane install", " runpane doctor", "", "Agent discovery:", " runpane doctor --json", " runpane agent-context --json", " runpane agent-context --command \"<command>\" --json", "", "Run \"runpane help panes create\" for pane orchestration options."];
|
|
448
|
+
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane daemon repair [--pane-dir <path>] [--yes] [--json]", " runpane agent-context [--json]", " runpane agents doctor --agent <codex|claude|cursor> [--repo <selector>] [--json]", " runpane repos list [--json]", " runpane repos add --path <path> [--name <name>]", " runpane panes list [--repo <selector>] [--json]", " runpane workspace state [--repo <selector>] [--json]", " runpane watch [--as <name>|--since <generation>] [--follow] [--json]", " runpane panes create --repo <selector> --name <name> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] [--wait-ready]", " runpane panes archive --pane <pane-id> [--source user|agent] [--force] [--dry-run] --yes", " python -m runpane panels create --pane <pane-id> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] --yes", " runpane panels list --pane <pane-id> [--json]", " runpane panels output --panel <panel-id> [--limit <count>] [--json]", " runpane panels screen --panel <panel-id> [--limit <count>] [--json]", " runpane panels input --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", " runpane panels submit --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", " runpane panels submit-composer --panel <panel-id> [--strategy auto|codex-ctrl-enter|enter] --yes [--json]", " runpane panels wait --panel <panel-id> [--for initialized|ready|idle|text] [--json]", " 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", "", "Common commands:", " runpane help", " runpane setup", " runpane install", " runpane doctor", "", "Agent discovery:", " runpane doctor --json", " runpane agent-context --json", " runpane agent-context --command \"<command>\" --json", "", "Run \"runpane help panes create\" for pane orchestration options."];
|
|
407
449
|
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>"];
|
|
408
450
|
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"];
|
|
409
451
|
readonly update: readonly ["Usage:", " runpane update [--version <latest|vX.Y.Z>] [--dry-run] [--yes]"];
|
|
@@ -414,6 +456,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
414
456
|
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"];
|
|
415
457
|
readonly panes: readonly ["Pane session commands.", "", "Usage:", " runpane panes <command> [options]", "", "Commands:", " runpane panes list [--repo <selector>] [--json]", " runpane panes create --repo <selector> --name <name> --agent <codex|claude|cursor> [options]", " runpane panes archive --pane <pane-id> [--force] [--source user|agent] [--dry-run] --yes [--json]", " runpane panes pin --pane <pane-id> --yes [--dry-run] [--json]", " runpane panes unpin --pane <pane-id> --yes [--dry-run] [--json]", " runpane panes rename --pane <pane-id> --name <new-name> --yes [--dry-run] [--json]", "", "Run \"runpane help panes <command>\" for command-specific options."];
|
|
416
458
|
readonly "panes list": readonly ["Usage:", " runpane panes list [--repo <selector>] [--json]", "", "Lists Pane sessions. Pass --repo to limit results to one saved repository.", "", "Options:", " --repo <selector>", " --pane-dir <path>", " --json"];
|
|
459
|
+
readonly workspace: readonly ["Workspace observation commands.", "", "Usage:", " runpane workspace state [--repo <selector>] [--json]", " runpane watch [--as <name>|--since <generation>] [--follow] [options]"];
|
|
460
|
+
readonly "workspace state": readonly ["Usage:", " runpane workspace state [--repo <selector>] [--json]", "", "Returns one workspace snapshot of every Pane and CLI panel."];
|
|
461
|
+
readonly watch: readonly ["Usage:", " runpane watch [--as <name>|--since <generation>] [--follow] [options]", "", "Waits for workspace transitions without polling.", "", "Options:", " --as <name>", " --since <generation>", " --from <now|earliest>", " --follow", " --kinds <kind,...>", " --pane <id> Repeatable", " --repo <selector>", " --name-contains <text>", " --timeout-ms <ms> 0 polls once", " --limit <count>", " --ack-now", " --include-held-input", " --json"];
|
|
417
462
|
readonly "panes create": readonly ["Usage:", " runpane panes create --repo <selector> --name <name> --agent <codex|claude|cursor> [options]", " runpane panes create --from-json <path|-> [--yes] [--json]", "", "Creates user-visible Panes (Pane sessions) for feature/PR work in a saved repository and opens a terminal-backed tool tab. Pane creates and owns the worktree/branch for each new Pane.", "", "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|cursor> 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", " --wait-ready Wait for terminal readiness before returning", " --ready-timeout-ms <ms> Readiness wait timeout; defaults to 30000", " --concurrency <count> Accepted; creation is currently serialized", " --source <user|agent> Mark mutation source; agent implies background creation", " --no-focus Create in the background without stealing focus", " --focus Explicitly focus the created pane", " --pinned Accepted for compatibility; creation already pins by default", " --no-pinned Create unpinned instead of the default pinned (the UI's favorite/pin star)", " --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"];
|
|
418
463
|
readonly "panes archive": readonly ["Usage:", " runpane panes archive --pane <pane-id> [--source user|agent] [--force] [--dry-run] --yes [--json]", "", "Archives a Pane (session) exactly like the UI Archive action, including removal of its Pane-managed git worktree. Refreshes the configured upstream before checking for unpushed commits and reports exact commit evidence. Refuses unsafe archives unless --force is passed. Use --dry-run to print the evidence without mutating Pane state.", "", "Options:", " --pane <pane-id>", " --source <user|agent>", " --force", " --pane-dir <path>", " --json", " --dry-run", " --yes"];
|
|
419
464
|
readonly "panes pin": readonly ["Usage:", " runpane panes pin --pane <pane-id> --yes [--dry-run] [--json]", "", "Declaratively pins a Pane using the Pane UI's favorite/pin star. Repeating the command is idempotent and never changes focus. Use --dry-run to validate and preview without mutating.", "", "Options:", " --pane <pane-id>", " --pane-dir <path>", " --json", " --dry-run", " --yes"];
|
|
@@ -969,6 +1014,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
969
1014
|
readonly ok: {
|
|
970
1015
|
readonly type: "boolean";
|
|
971
1016
|
};
|
|
1017
|
+
readonly generation: {
|
|
1018
|
+
readonly type: "number";
|
|
1019
|
+
};
|
|
972
1020
|
readonly repo: {
|
|
973
1021
|
readonly $ref: "#/jsonSchemas/repoListResult/properties/repos/items";
|
|
974
1022
|
};
|
|
@@ -1273,6 +1321,201 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
1273
1321
|
};
|
|
1274
1322
|
readonly additionalProperties: false;
|
|
1275
1323
|
};
|
|
1324
|
+
readonly workspaceEntry: {
|
|
1325
|
+
readonly type: "object";
|
|
1326
|
+
readonly required: readonly ["gen", "at", "kind", "paneId", "paneName", "source"];
|
|
1327
|
+
readonly properties: {
|
|
1328
|
+
readonly gen: {
|
|
1329
|
+
readonly type: "number";
|
|
1330
|
+
};
|
|
1331
|
+
readonly at: {
|
|
1332
|
+
readonly type: "string";
|
|
1333
|
+
};
|
|
1334
|
+
readonly kind: {
|
|
1335
|
+
readonly enum: readonly ["agent.ready", "agent.busy", "agent.blocked", "agent.unknown", "pane.created", "pane.gone", "panel.exited"];
|
|
1336
|
+
};
|
|
1337
|
+
readonly paneId: {
|
|
1338
|
+
readonly type: "string";
|
|
1339
|
+
};
|
|
1340
|
+
readonly paneName: {
|
|
1341
|
+
readonly type: "string";
|
|
1342
|
+
};
|
|
1343
|
+
readonly repoId: {
|
|
1344
|
+
readonly type: "number";
|
|
1345
|
+
};
|
|
1346
|
+
readonly repoName: {
|
|
1347
|
+
readonly type: "string";
|
|
1348
|
+
};
|
|
1349
|
+
readonly worktreePath: {
|
|
1350
|
+
readonly type: "string";
|
|
1351
|
+
};
|
|
1352
|
+
readonly panelId: {
|
|
1353
|
+
readonly type: "string";
|
|
1354
|
+
};
|
|
1355
|
+
readonly agentType: {
|
|
1356
|
+
readonly type: "string";
|
|
1357
|
+
};
|
|
1358
|
+
readonly from: {
|
|
1359
|
+
readonly enum: readonly ["blocked", "working", "idle", "unknown"];
|
|
1360
|
+
};
|
|
1361
|
+
readonly to: {
|
|
1362
|
+
readonly enum: readonly ["blocked", "working", "idle", "unknown"];
|
|
1363
|
+
};
|
|
1364
|
+
readonly source: {
|
|
1365
|
+
readonly enum: readonly ["agent", "exit", "session"];
|
|
1366
|
+
};
|
|
1367
|
+
readonly reason: {
|
|
1368
|
+
readonly oneOf: readonly [{
|
|
1369
|
+
readonly type: "string";
|
|
1370
|
+
}, {
|
|
1371
|
+
readonly type: "null";
|
|
1372
|
+
}];
|
|
1373
|
+
};
|
|
1374
|
+
readonly settledMs: {
|
|
1375
|
+
readonly type: "number";
|
|
1376
|
+
};
|
|
1377
|
+
readonly heldInput: {
|
|
1378
|
+
readonly type: "string";
|
|
1379
|
+
};
|
|
1380
|
+
readonly exitCode: {
|
|
1381
|
+
readonly type: "number";
|
|
1382
|
+
};
|
|
1383
|
+
readonly baseline: {
|
|
1384
|
+
readonly const: true;
|
|
1385
|
+
};
|
|
1386
|
+
readonly changedWhileAway: {
|
|
1387
|
+
readonly type: "boolean";
|
|
1388
|
+
};
|
|
1389
|
+
};
|
|
1390
|
+
readonly additionalProperties: false;
|
|
1391
|
+
};
|
|
1392
|
+
readonly workspaceWaitRequest: {
|
|
1393
|
+
readonly type: "object";
|
|
1394
|
+
readonly properties: {
|
|
1395
|
+
readonly since: {
|
|
1396
|
+
readonly type: "number";
|
|
1397
|
+
};
|
|
1398
|
+
readonly as: {
|
|
1399
|
+
readonly type: "string";
|
|
1400
|
+
};
|
|
1401
|
+
readonly from: {
|
|
1402
|
+
readonly enum: readonly ["now", "earliest"];
|
|
1403
|
+
};
|
|
1404
|
+
readonly timeoutMs: {
|
|
1405
|
+
readonly type: "number";
|
|
1406
|
+
};
|
|
1407
|
+
readonly limit: {
|
|
1408
|
+
readonly type: "number";
|
|
1409
|
+
};
|
|
1410
|
+
readonly kinds: {
|
|
1411
|
+
readonly type: "array";
|
|
1412
|
+
readonly items: {
|
|
1413
|
+
readonly $ref: "#/jsonSchemas/workspaceEntry/properties/kind";
|
|
1414
|
+
};
|
|
1415
|
+
};
|
|
1416
|
+
readonly paneIds: {
|
|
1417
|
+
readonly type: "array";
|
|
1418
|
+
readonly items: {
|
|
1419
|
+
readonly type: "string";
|
|
1420
|
+
};
|
|
1421
|
+
};
|
|
1422
|
+
readonly repo: {
|
|
1423
|
+
readonly oneOf: readonly [{
|
|
1424
|
+
readonly type: "string";
|
|
1425
|
+
}, {
|
|
1426
|
+
readonly type: "object";
|
|
1427
|
+
readonly properties: {
|
|
1428
|
+
readonly id: {
|
|
1429
|
+
readonly type: "number";
|
|
1430
|
+
};
|
|
1431
|
+
readonly path: {
|
|
1432
|
+
readonly type: "string";
|
|
1433
|
+
};
|
|
1434
|
+
readonly name: {
|
|
1435
|
+
readonly type: "string";
|
|
1436
|
+
};
|
|
1437
|
+
readonly active: {
|
|
1438
|
+
readonly const: true;
|
|
1439
|
+
};
|
|
1440
|
+
};
|
|
1441
|
+
readonly additionalProperties: false;
|
|
1442
|
+
}];
|
|
1443
|
+
};
|
|
1444
|
+
readonly nameContains: {
|
|
1445
|
+
readonly type: "string";
|
|
1446
|
+
};
|
|
1447
|
+
readonly ackNow: {
|
|
1448
|
+
readonly type: "boolean";
|
|
1449
|
+
};
|
|
1450
|
+
readonly includeHeldInput: {
|
|
1451
|
+
readonly type: "boolean";
|
|
1452
|
+
};
|
|
1453
|
+
};
|
|
1454
|
+
readonly additionalProperties: false;
|
|
1455
|
+
};
|
|
1456
|
+
readonly workspaceStateResult: {
|
|
1457
|
+
readonly type: "object";
|
|
1458
|
+
readonly required: readonly ["ok", "epoch", "generation", "entries"];
|
|
1459
|
+
readonly properties: {
|
|
1460
|
+
readonly ok: {
|
|
1461
|
+
readonly const: true;
|
|
1462
|
+
};
|
|
1463
|
+
readonly epoch: {
|
|
1464
|
+
readonly type: "string";
|
|
1465
|
+
};
|
|
1466
|
+
readonly generation: {
|
|
1467
|
+
readonly type: "number";
|
|
1468
|
+
};
|
|
1469
|
+
readonly entries: {
|
|
1470
|
+
readonly type: "array";
|
|
1471
|
+
readonly items: {
|
|
1472
|
+
readonly $ref: "#/jsonSchemas/workspaceEntry";
|
|
1473
|
+
};
|
|
1474
|
+
};
|
|
1475
|
+
};
|
|
1476
|
+
readonly additionalProperties: false;
|
|
1477
|
+
};
|
|
1478
|
+
readonly workspaceWaitResult: {
|
|
1479
|
+
readonly type: "object";
|
|
1480
|
+
readonly required: readonly ["ok", "epoch", "generation", "entries", "timedOut", "nextCommand"];
|
|
1481
|
+
readonly properties: {
|
|
1482
|
+
readonly ok: {
|
|
1483
|
+
readonly const: true;
|
|
1484
|
+
};
|
|
1485
|
+
readonly epoch: {
|
|
1486
|
+
readonly type: "string";
|
|
1487
|
+
};
|
|
1488
|
+
readonly generation: {
|
|
1489
|
+
readonly type: "number";
|
|
1490
|
+
};
|
|
1491
|
+
readonly entries: {
|
|
1492
|
+
readonly type: "array";
|
|
1493
|
+
readonly items: {
|
|
1494
|
+
readonly $ref: "#/jsonSchemas/workspaceEntry";
|
|
1495
|
+
};
|
|
1496
|
+
};
|
|
1497
|
+
readonly timedOut: {
|
|
1498
|
+
readonly type: "boolean";
|
|
1499
|
+
};
|
|
1500
|
+
readonly dropped: {
|
|
1501
|
+
readonly type: "number";
|
|
1502
|
+
};
|
|
1503
|
+
readonly reset: {
|
|
1504
|
+
readonly type: "object";
|
|
1505
|
+
readonly required: readonly ["reason"];
|
|
1506
|
+
readonly properties: {
|
|
1507
|
+
readonly reason: {
|
|
1508
|
+
readonly enum: readonly ["first-use", "epoch-changed", "cursor-truncated", "unknown-consumer"];
|
|
1509
|
+
};
|
|
1510
|
+
};
|
|
1511
|
+
readonly additionalProperties: false;
|
|
1512
|
+
};
|
|
1513
|
+
readonly nextCommand: {
|
|
1514
|
+
readonly type: "string";
|
|
1515
|
+
};
|
|
1516
|
+
};
|
|
1517
|
+
readonly additionalProperties: false;
|
|
1518
|
+
};
|
|
1276
1519
|
readonly paneArchiveRequest: {
|
|
1277
1520
|
readonly type: "object";
|
|
1278
1521
|
readonly required: readonly ["paneId"];
|
|
@@ -1315,6 +1558,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
1315
1558
|
readonly ok: {
|
|
1316
1559
|
readonly const: true;
|
|
1317
1560
|
};
|
|
1561
|
+
readonly generation: {
|
|
1562
|
+
readonly type: "number";
|
|
1563
|
+
};
|
|
1318
1564
|
readonly paneId: {
|
|
1319
1565
|
readonly type: "string";
|
|
1320
1566
|
};
|
|
@@ -1354,6 +1600,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
1354
1600
|
readonly ok: {
|
|
1355
1601
|
readonly const: true;
|
|
1356
1602
|
};
|
|
1603
|
+
readonly generation: {
|
|
1604
|
+
readonly type: "number";
|
|
1605
|
+
};
|
|
1357
1606
|
readonly dryRun: {
|
|
1358
1607
|
readonly const: true;
|
|
1359
1608
|
};
|
|
@@ -1371,6 +1620,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
1371
1620
|
readonly ok: {
|
|
1372
1621
|
readonly type: "boolean";
|
|
1373
1622
|
};
|
|
1623
|
+
readonly generation: {
|
|
1624
|
+
readonly type: "number";
|
|
1625
|
+
};
|
|
1374
1626
|
readonly paneId: {
|
|
1375
1627
|
readonly type: "string";
|
|
1376
1628
|
};
|
|
@@ -1439,6 +1691,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
1439
1691
|
readonly ok: {
|
|
1440
1692
|
readonly const: true;
|
|
1441
1693
|
};
|
|
1694
|
+
readonly generation: {
|
|
1695
|
+
readonly type: "number";
|
|
1696
|
+
};
|
|
1442
1697
|
readonly paneId: {
|
|
1443
1698
|
readonly type: "string";
|
|
1444
1699
|
};
|
|
@@ -1466,6 +1721,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
1466
1721
|
readonly ok: {
|
|
1467
1722
|
readonly const: false;
|
|
1468
1723
|
};
|
|
1724
|
+
readonly generation: {
|
|
1725
|
+
readonly type: "number";
|
|
1726
|
+
};
|
|
1469
1727
|
readonly paneId: {
|
|
1470
1728
|
readonly type: "string";
|
|
1471
1729
|
};
|
|
@@ -1599,6 +1857,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
1599
1857
|
readonly ok: {
|
|
1600
1858
|
readonly const: true;
|
|
1601
1859
|
};
|
|
1860
|
+
readonly generation: {
|
|
1861
|
+
readonly type: "number";
|
|
1862
|
+
};
|
|
1602
1863
|
readonly panelId: {
|
|
1603
1864
|
readonly type: "string";
|
|
1604
1865
|
};
|
|
@@ -1885,6 +2146,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
1885
2146
|
readonly ok: {
|
|
1886
2147
|
readonly type: "boolean";
|
|
1887
2148
|
};
|
|
2149
|
+
readonly generation: {
|
|
2150
|
+
readonly type: "number";
|
|
2151
|
+
};
|
|
1888
2152
|
readonly panelId: {
|
|
1889
2153
|
readonly type: "string";
|
|
1890
2154
|
};
|
|
@@ -2104,6 +2368,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
2104
2368
|
readonly ok: {
|
|
2105
2369
|
readonly type: "boolean";
|
|
2106
2370
|
};
|
|
2371
|
+
readonly generation: {
|
|
2372
|
+
readonly type: "number";
|
|
2373
|
+
};
|
|
2107
2374
|
readonly paneId: {
|
|
2108
2375
|
readonly type: "string";
|
|
2109
2376
|
};
|
|
@@ -2230,6 +2497,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
2230
2497
|
readonly ok: {
|
|
2231
2498
|
readonly type: "boolean";
|
|
2232
2499
|
};
|
|
2500
|
+
readonly generation: {
|
|
2501
|
+
readonly type: "number";
|
|
2502
|
+
};
|
|
2233
2503
|
readonly panelId: {
|
|
2234
2504
|
readonly type: "string";
|
|
2235
2505
|
};
|
|
@@ -3178,6 +3448,53 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
3178
3448
|
readonly jsonSchemas: readonly ["panelSubmitComposerRequest", "panelSubmitComposerResult"];
|
|
3179
3449
|
readonly notes: readonly ["Use `panels input` or `panels submit` to write prompt text first; this command only submits the current composer.", "Use --strategy auto for agent workflows; explicit strategies are diagnostic escape hatches.", "The JSON result includes sequenceName and verifiedSubmitted. If ok is false, follow blocked.suggestedCommand instead of assuming submission happened."];
|
|
3180
3450
|
};
|
|
3451
|
+
readonly "workspace state": {
|
|
3452
|
+
readonly name: "workspace state";
|
|
3453
|
+
readonly summary: "Read one snapshot of every Pane and CLI panel.";
|
|
3454
|
+
readonly details: "Use this instead of spawning one command per pane or panel.";
|
|
3455
|
+
readonly requiresPaneDaemon: true;
|
|
3456
|
+
readonly mutates: false;
|
|
3457
|
+
readonly arguments: readonly [{
|
|
3458
|
+
readonly name: "--repo";
|
|
3459
|
+
readonly value: "<selector>";
|
|
3460
|
+
readonly required: false;
|
|
3461
|
+
readonly description: "Optionally limit the snapshot to one saved repository.";
|
|
3462
|
+
}, {
|
|
3463
|
+
readonly name: "--json";
|
|
3464
|
+
readonly required: false;
|
|
3465
|
+
readonly description: "Print machine-readable output.";
|
|
3466
|
+
}];
|
|
3467
|
+
readonly examples: readonly ["runpane workspace state --json"];
|
|
3468
|
+
readonly notes: readonly ["The response carries the daemon epoch and current journal generation."];
|
|
3469
|
+
};
|
|
3470
|
+
readonly watch: {
|
|
3471
|
+
readonly name: "watch";
|
|
3472
|
+
readonly summary: "Wait for workspace transitions using the daemon journal.";
|
|
3473
|
+
readonly details: "Named cursors persist in the Pane data directory so separate invocations do not need local state.";
|
|
3474
|
+
readonly requiresPaneDaemon: true;
|
|
3475
|
+
readonly mutates: false;
|
|
3476
|
+
readonly arguments: readonly [{
|
|
3477
|
+
readonly name: "--as";
|
|
3478
|
+
readonly value: "<consumer-name>";
|
|
3479
|
+
readonly required: false;
|
|
3480
|
+
readonly description: "Use a persisted named cursor.";
|
|
3481
|
+
}, {
|
|
3482
|
+
readonly name: "--since";
|
|
3483
|
+
readonly value: "<generation>";
|
|
3484
|
+
readonly required: false;
|
|
3485
|
+
readonly description: "Use an explicit generation cursor.";
|
|
3486
|
+
}, {
|
|
3487
|
+
readonly name: "--follow";
|
|
3488
|
+
readonly required: false;
|
|
3489
|
+
readonly description: "Continue waiting until interrupted.";
|
|
3490
|
+
}, {
|
|
3491
|
+
readonly name: "--json";
|
|
3492
|
+
readonly required: false;
|
|
3493
|
+
readonly description: "Emit one NDJSON line per entry.";
|
|
3494
|
+
}];
|
|
3495
|
+
readonly examples: readonly ["runpane watch --as monitor --follow --json"];
|
|
3496
|
+
readonly notes: readonly ["Journal loss is surfaced through reset and dropped metadata."];
|
|
3497
|
+
};
|
|
3181
3498
|
};
|
|
3182
3499
|
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, implementation, and review work.", "", "This managed guidance was created by [runpane.com](https://runpane.com) for the [Pane repository](https://github.com/dcouple/Pane). Do not delete or overwrite this block; the developer uses it for their workflow and it should remain committed to the main repository unless they explicitly ask to remove it.", "", "Pane mental model: a repository is the saved base repo; a Pane is a user-visible feature/PR workspace (Pane session) that normally maps to one Pane-managed git worktree and branch; a panel/tab is a terminal inside one Pane and shares that Pane's worktree; an agent is the CLI process running in a panel.", "", "Default happy path when the user asks you to use Pane or RunPane: run `runpane doctor --json`; read `runpane agent-context --json`; resolve the saved base repository with `runpane repos list --json` or add it once with `runpane repos add --path <repo> --yes --json`; create one visible Pane (Pane session) for the requested feature/PR with a complete command such as `runpane panes create --repo <repo> --name <name> --agent <agent> --prompt \"<task>\" --source agent --no-focus --wait-ready --yes --json` or the equivalent `--tool-command <command>` form; then validate with `runpane panels wait` or `runpane panels screen` before reporting progress.", "", "Use Pane when the user wants visible Panes or co-drivable parallel feature/PR workspaces. Do not use Pane as your default private delegation mechanism; for private background decomposition, use your normal subagent/worktree workflow.", "", "Register the main/base repository once. Do not register pre-created git worktrees as separate Pane repositories unless the user explicitly asks.", "", "Use `runpane panes create` for separate visible Panes (Pane sessions) for feature/PR work. Use `runpane panels create` for reviewer/helper tabs inside an existing Pane that should share that Pane's worktree.", "", "Typical workflow: register the saved base repository once; create one Pane (Pane session) per feature/PR; use panels/tabs inside that Pane for helper or reviewer agents that should share the worktree; archive the Pane after the PR is done to remove it from active Panes and clean up its managed worktree when applicable.", "", "Skill routing reference: when the user says `discussion`, `plan`, `simple-plan`, `create-plan`, or `implement`, or asks for the behavior those words imply, treat three references as peer context: Pane's local skill cache under `<PANE_DIR>/skills/`, the Pane Chat orchestrator handoff at `<PANE_DIR>/skills/pane-chat/runpane-orchestrator.md` when present, and the [workflow map](https://github.com/dcouple/skills/raw/main/docs/readme-workflow-map.png).", "Use those peer references together to choose the phase: discuss/investigate until the work is clear enough to delegate, then ticket/plan/implement/review/PR-test/teach-back as appropriate. The orchestrator and workflow map may point to different skills; reconcile them with the user's request instead of hardcoding a skill list or treating one reference as subordinate.", "For the Pane implementation source of truth for where the skill cache, cached workflow assets, and Pane Chat bootstrap live, reference [PR #291](https://github.com/dcouple/Pane/pull/291): `main/src/services/skillCacheManager.ts` owns `<PANE_DIR>/skills/`, `.sources/dcouple-skills`, and `pane-chat/runpane-orchestrator.md`; `main/src/services/paneChatManager.ts` owns the tiny bootstrap prompt that tells the selected Pane Chat agent to read that guide.", "Use GitHub reads against the [Parsa skills folder](https://github.com/dcouple/skills/tree/main/parsa) only to inspect or refresh referenced skill files; do not clone/install the repo unless the user asks.", "Do not hardcode a specific assistant brand in workflow guidance. Use the Pane agent or custom tool command the user selected, and use `runpane agents doctor --agent <agent> --repo <selector> --json` only when checking a built-in agent template.", "", "Start with `runpane doctor --json` before taking Pane actions. Use it to understand wrapper/runtime details, daemon reachability, and the next safe commands.", "", "In a Pane repository checkout, if `runpane` is not on PATH, use the built local wrapper with Node 22: `PATH=/opt/homebrew/opt/node@22/bin:$PATH node packages/runpane/dist/cli.js doctor --json`.", "", "Use `runpane agent-context --json` for full Pane CLI context. Use `runpane agent-context --command \"panels wait\" --json` or another command name for detailed schema only when needed.", "", "Default to context-safe validation: after creating Panes or sending terminal input, run `runpane panels wait` or `runpane panels screen` before reporting success. Prefer `runpane panels submit` for normal text plus Enter; use `runpane panels input` only for exact bytes such as Ctrl-C or escape sequences.", "", "Pane terminals draw inline images: sixel, iTerm2 inline images, and the kitty graphics protocol. Tools that need kitty graphics, such as [terminal-browser](https://github.com/zenbu-labs/terminal-browser) and [terminal-doom](https://github.com/dcouple/terminal-doom), run inside a Pane panel. `runpane doctor --json` reports the protocol list under `terminal.graphicsProtocols`.", "", "Common commands:", "- `runpane doctor --json`", "- `runpane agent-context --json`", "- `runpane repos list --json`", "- `runpane repos add --path <repo> --yes --json`", "- `runpane agents doctor --agent <agent> --repo active --json`", "- `runpane panes create --repo active --name <name> --agent <agent> --prompt \"<task>\" --source agent --no-focus --wait-ready --yes --json`", "- `runpane panels create --pane <pane-id> --agent <agent> --source agent --no-focus --wait-ready --yes --json`", "- `runpane panels list --pane <pane-id> --json`", "- `runpane panels screen --panel <panel-id> --limit 80 --json`", "- `runpane panels wait --panel <panel-id> --for ready --timeout-ms 30000 --json`", "- `runpane panels submit --panel <panel-id> --text \"<answer>\" --yes --json`", "- `runpane panels input --panel <panel-id> --input-file <path|-> --yes --json`", "", "WSL note: if `runpane doctor --json` cannot find `/tmp/pane-daemon.../daemon.sock` or `runpane` resolves to a broken Windows shim, Pane may be running on Windows. Try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane doctor --json'`, then create Panes through the same PowerShell form using the saved WSL repo name or id. Use `runpane agents doctor --agent <agent> --repo <selector> --json` to diagnose the repo environment Pane will actually use."];
|
|
3183
3500
|
};
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4nMnB,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"}
|