runpane 2.4.175 → 2.4.177
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/agentTasks.d.ts +5 -1
- package/dist/agentTasks.d.ts.map +1 -1
- package/dist/agentTasks.js +51 -7
- package/dist/agentTasks.js.map +1 -1
- package/dist/docs-index.json +1 -1
- package/dist/generated/contract.d.ts +41 -20
- package/dist/generated/contract.d.ts.map +1 -1
- package/dist/generated/contract.js +56 -18
- package/dist/generated/contract.js.map +1 -1
- package/dist/handoff.d.ts.map +1 -1
- package/dist/handoff.js +81 -23
- package/dist/handoff.js.map +1 -1
- package/dist/localControl.d.ts +54 -0
- package/dist/localControl.d.ts.map +1 -1
- package/dist/localControl.js +14 -8
- package/dist/localControl.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +2 -1
- package/dist/mcp.js.map +1 -1
- package/package.json +1 -1
|
@@ -536,6 +536,7 @@ exports.RUNPANE_CONTRACT = {
|
|
|
536
536
|
"mutates": true,
|
|
537
537
|
"additive": true,
|
|
538
538
|
"toolsets": [
|
|
539
|
+
"core",
|
|
539
540
|
"panels"
|
|
540
541
|
],
|
|
541
542
|
"jsonSchemas": [
|
|
@@ -1109,9 +1110,9 @@ exports.RUNPANE_CONTRACT = {
|
|
|
1109
1110
|
},
|
|
1110
1111
|
{
|
|
1111
1112
|
"name": "agents start",
|
|
1112
|
-
"summary": "Start an agent on a task:
|
|
1113
|
+
"summary": "Start an agent on a task and wait until it is ready: as a new tab in an existing Pane with --pane <id> (review, audit, fix, QA), or in a new Pane with --repo and --name for new work.",
|
|
1113
1114
|
"usage": [
|
|
1114
|
-
"runpane agents start --repo <selector> --name <name> (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task>
|
|
1115
|
+
"runpane agents start (--pane <pane-id> | --repo <selector> --name <name> [--base-branch <branch>]) (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task> --yes [--json] [--pane-dir <path>]"
|
|
1115
1116
|
],
|
|
1116
1117
|
"mutates": true,
|
|
1117
1118
|
"additive": true,
|
|
@@ -1847,7 +1848,7 @@ exports.RUNPANE_CONTRACT = {
|
|
|
1847
1848
|
},
|
|
1848
1849
|
{
|
|
1849
1850
|
"name": "--merged",
|
|
1850
|
-
"description": "With panes archive --session, archive only Panes
|
|
1851
|
+
"description": "With panes archive --session, archive only Panes whose PR is confirmed merged and whose worktree has no uncommitted, untracked or unpushed work. Other Panes are skipped with a reason (pr-open, pr-not-merged, pr-status-unknown, or a local safety code)."
|
|
1851
1852
|
},
|
|
1852
1853
|
{
|
|
1853
1854
|
"name": "--launch",
|
|
@@ -1980,7 +1981,7 @@ exports.RUNPANE_CONTRACT = {
|
|
|
1980
1981
|
" runpane links open --url <pane-url> --yes [--json] [--pane-dir <path>]",
|
|
1981
1982
|
" runpane docs search --query <text> [--limit <count>] [--json]",
|
|
1982
1983
|
" runpane docs read --doc <path> [--json]",
|
|
1983
|
-
" runpane agents start --repo <selector> --name <name> (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task>
|
|
1984
|
+
" runpane agents start (--pane <pane-id> | --repo <selector> --name <name> [--base-branch <branch>]) (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task> --yes [--json] [--pane-dir <path>]",
|
|
1984
1985
|
" runpane agents status (--pane <pane-id>|--panel <panel-id>) [--limit <count>] [--json] [--pane-dir <path>]",
|
|
1985
1986
|
" runpane agents send (--pane <pane-id>|--panel <panel-id>) --text <message> --yes [--json] [--pane-dir <path>]",
|
|
1986
1987
|
" runpane report --state <ready|blocked|failed|done> [--pr <number>] [--head <sha>] [--summary-file <path|->] [--question <text>] [--json]",
|
|
@@ -2925,9 +2926,9 @@ exports.RUNPANE_CONTRACT = {
|
|
|
2925
2926
|
],
|
|
2926
2927
|
"agents start": [
|
|
2927
2928
|
"Usage:",
|
|
2928
|
-
" runpane agents start --repo <selector> --name <name> (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task>
|
|
2929
|
+
" runpane agents start (--pane <pane-id> | --repo <selector> --name <name> [--base-branch <branch>]) (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task> --yes [--json] [--pane-dir <path>]",
|
|
2929
2930
|
"",
|
|
2930
|
-
"Start an agent on a task:
|
|
2931
|
+
"Start an agent on a task and wait until it is ready: as a new tab in an existing Pane with --pane <id> (review, audit, fix, QA), or in a new Pane with --repo and --name for new work.",
|
|
2931
2932
|
"",
|
|
2932
2933
|
"Options:",
|
|
2933
2934
|
" --repo <selector> Repository: active, id, exact path, or saved name.",
|
|
@@ -3207,7 +3208,7 @@ exports.RUNPANE_CONTRACT = {
|
|
|
3207
3208
|
" runpane links open --url <pane-url> --yes [--json] [--pane-dir <path>]",
|
|
3208
3209
|
" runpane docs search --query <text> [--limit <count>] [--json]",
|
|
3209
3210
|
" runpane docs read --doc <path> [--json]",
|
|
3210
|
-
" runpane agents start --repo <selector> --name <name> (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task>
|
|
3211
|
+
" runpane agents start (--pane <pane-id> | --repo <selector> --name <name> [--base-branch <branch>]) (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task> --yes [--json] [--pane-dir <path>]",
|
|
3211
3212
|
" runpane agents status (--pane <pane-id>|--panel <panel-id>) [--limit <count>] [--json] [--pane-dir <path>]",
|
|
3212
3213
|
" runpane agents send (--pane <pane-id>|--panel <panel-id>) --text <message> --yes [--json] [--pane-dir <path>]",
|
|
3213
3214
|
" runpane report --state <ready|blocked|failed|done> [--pr <number>] [--head <sha>] [--summary-file <path|->] [--question <text>] [--json]",
|
|
@@ -4121,7 +4122,7 @@ exports.RUNPANE_CONTRACT = {
|
|
|
4121
4122
|
],
|
|
4122
4123
|
"agents start": [
|
|
4123
4124
|
"Usage:",
|
|
4124
|
-
" runpane agents start --repo <selector> --name <name> (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task>
|
|
4125
|
+
" runpane agents start (--pane <pane-id> | --repo <selector> --name <name> [--base-branch <branch>]) (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task> --yes [--json] [--pane-dir <path>]",
|
|
4125
4126
|
"",
|
|
4126
4127
|
"`runpane agents start` ships in the npm package and the Pane app, not in the Python package.",
|
|
4127
4128
|
"Run it with Node instead: npx --yes runpane@latest agents start"
|
|
@@ -4396,6 +4397,7 @@ exports.RUNPANE_CONTRACT = {
|
|
|
4396
4397
|
"runpane lock release --name testing-account --json",
|
|
4397
4398
|
"runpane lock list --json",
|
|
4398
4399
|
"runpane agents start --repo active --name fix-login --agent claude --prompt \"Fix the login redirect\" --yes --json",
|
|
4400
|
+
"runpane agents start --pane <pane-id> --agent codex --prompt \"Review the PR from this branch and report findings\" --yes --json",
|
|
4399
4401
|
"runpane agents status --pane <pane-id> --json",
|
|
4400
4402
|
"runpane agents send --pane <pane-id> --text \"Also add a test\" --yes --json",
|
|
4401
4403
|
"runpane report --state ready --pr 747 --head fc5dce9 --summary-file /tmp/report.md --json",
|
|
@@ -4449,7 +4451,7 @@ exports.RUNPANE_CONTRACT = {
|
|
|
4449
4451
|
"`sessions detach` detach a Pane from a named Session.",
|
|
4450
4452
|
"`sessions overview` read a live status, activity, git, and pull request overview for a named Session.",
|
|
4451
4453
|
"`runpane lock acquire|release|list` coordinate a resource shared between agents, such as one test account. The caller's Pane and panel own the lock; it is scoped to the owner's Session (or global outside one), renews for the same owner, and is released on TTL expiry, owner panel exit, or owner Pane archive. `--wait` blocks in the daemon until the lock comes free.",
|
|
4452
|
-
"`runpane agents start|status|send` finish the three common agent jobs in one call each: start an agent on a task in a
|
|
4454
|
+
"`runpane agents start|status|send` finish the three common agent jobs in one call each: start an agent on a task (a new tab in the work's Pane with `--pane <id>`, or a new Pane for new work), check on it, and send it a follow-up.",
|
|
4453
4455
|
"`runpane report --state ready|blocked|failed|done` is how a worker hands back its result. It stores the latest report on the worker's panel (state, `--pr`, `--head`, up to 16,000 characters of `--summary` or `--summary-file`, and the `--question` a blocked worker needs answered), journals an opt-in `agent.report` watch event (`REPORT <pane-name> pane <pane-id> panel <panel-id> ready pr#747 fc5dce9`; it skips the `--min-interval` batch), records it as Session activity, and shows it in `agents status`, `panels list`, and `sessions overview` (`panes[].report`). Inside a Pane terminal the panel comes from `PANE_SESSION_ID` and `PANE_PANEL_ID`; elsewhere pass `--pane` and `--panel`.",
|
|
4454
4456
|
"`runpane panels last-message --panel <panel-id>` reads a Claude or Codex agent's last reply from its transcript (up to `--limit` characters, default 20,000, keeping the end and reporting `truncated`). It never scrapes the screen: without a transcript it prints `{ ok: false, reason: \"transcript-unavailable\" }` and exits 1.",
|
|
4455
4457
|
"Commands with a contract `daemonAction` (the `panes` git, script, restore, and move commands, `folders list|create`, and `links open`) call the same Pane daemon channel as the matching button in the app and print `{ ok, data, error }`. Destructive ones add a pane:// `link` to review the Pane.",
|
|
@@ -9833,7 +9835,10 @@ exports.RUNPANE_CONTRACT = {
|
|
|
9833
9835
|
"status-unknown",
|
|
9834
9836
|
"missing-pane",
|
|
9835
9837
|
"already-archived",
|
|
9836
|
-
"main-repo"
|
|
9838
|
+
"main-repo",
|
|
9839
|
+
"pr-open",
|
|
9840
|
+
"pr-not-merged",
|
|
9841
|
+
"pr-status-unknown"
|
|
9837
9842
|
]
|
|
9838
9843
|
},
|
|
9839
9844
|
"message": {
|
|
@@ -9845,6 +9850,30 @@ exports.RUNPANE_CONTRACT = {
|
|
|
9845
9850
|
"error": {
|
|
9846
9851
|
"type": "string"
|
|
9847
9852
|
},
|
|
9853
|
+
"pr": {
|
|
9854
|
+
"type": "object",
|
|
9855
|
+
"required": [
|
|
9856
|
+
"state"
|
|
9857
|
+
],
|
|
9858
|
+
"properties": {
|
|
9859
|
+
"state": {
|
|
9860
|
+
"enum": [
|
|
9861
|
+
"open",
|
|
9862
|
+
"merged",
|
|
9863
|
+
"closed",
|
|
9864
|
+
"none",
|
|
9865
|
+
"unknown"
|
|
9866
|
+
]
|
|
9867
|
+
},
|
|
9868
|
+
"number": {
|
|
9869
|
+
"type": "number"
|
|
9870
|
+
},
|
|
9871
|
+
"reason": {
|
|
9872
|
+
"type": "string"
|
|
9873
|
+
}
|
|
9874
|
+
},
|
|
9875
|
+
"additionalProperties": false
|
|
9876
|
+
},
|
|
9848
9877
|
"safetyCheck": {
|
|
9849
9878
|
"$ref": "#/jsonSchemas/paneArchiveResult/oneOf/0/properties/safetyCheck"
|
|
9850
9879
|
},
|
|
@@ -10992,7 +11021,7 @@ exports.RUNPANE_CONTRACT = {
|
|
|
10992
11021
|
{
|
|
10993
11022
|
"name": "--merged",
|
|
10994
11023
|
"required": false,
|
|
10995
|
-
"description": "With --session, archive only Panes
|
|
11024
|
+
"description": "With --session, archive only Panes whose PR is confirmed merged and whose worktree has no uncommitted, untracked or unpushed work; skip the rest with a reason and next step. An open PR is skipped as pr-open, no PR or a closed unmerged PR as pr-not-merged, and a PR state GitHub cannot confirm as pr-status-unknown."
|
|
10996
11025
|
},
|
|
10997
11026
|
{
|
|
10998
11027
|
"name": "--yes",
|
|
@@ -12967,22 +12996,28 @@ exports.RUNPANE_CONTRACT = {
|
|
|
12967
12996
|
},
|
|
12968
12997
|
"agents start": {
|
|
12969
12998
|
"name": "agents start",
|
|
12970
|
-
"summary": "Start an agent on a task:
|
|
12971
|
-
"details": "
|
|
12999
|
+
"summary": "Start an agent on a task and wait until it is ready: as a new tab in an existing Pane with --pane <id> (review, audit, fix, QA), or in a new Pane with --repo and --name for new work.",
|
|
13000
|
+
"details": "1 feature = 1 worktree = 1 branch = 1 Pane; reviews, audits, fixes and QA for it are tabs in that Pane. For work that already has a Pane, pass --pane <id>: the agent opens as a new tab sharing that Pane's worktree and branch. Only when the work's branch has no Pane yet, pass --repo and --name to create one. It returns the pane and panel ids and a pane:// link to hand the user.",
|
|
12972
13001
|
"requiresPaneDaemon": true,
|
|
12973
13002
|
"mutates": true,
|
|
12974
13003
|
"arguments": [
|
|
13004
|
+
{
|
|
13005
|
+
"name": "--pane",
|
|
13006
|
+
"value": "<pane-id>",
|
|
13007
|
+
"required": false,
|
|
13008
|
+
"description": "Existing Pane to add the agent to as a new tab. Use this for any work that already has a Pane."
|
|
13009
|
+
},
|
|
12975
13010
|
{
|
|
12976
13011
|
"name": "--repo",
|
|
12977
13012
|
"value": "<selector>",
|
|
12978
|
-
"required":
|
|
13013
|
+
"required": false,
|
|
12979
13014
|
"description": "Repository: active, id, exact path, or saved name."
|
|
12980
13015
|
},
|
|
12981
13016
|
{
|
|
12982
13017
|
"name": "--name",
|
|
12983
13018
|
"value": "<name>",
|
|
12984
|
-
"required":
|
|
12985
|
-
"description": "Name for the new Pane."
|
|
13019
|
+
"required": false,
|
|
13020
|
+
"description": "Name for the new Pane. With --repo, only for work whose branch has no Pane yet."
|
|
12986
13021
|
},
|
|
12987
13022
|
{
|
|
12988
13023
|
"name": "--agent",
|
|
@@ -13026,7 +13061,8 @@ exports.RUNPANE_CONTRACT = {
|
|
|
13026
13061
|
}
|
|
13027
13062
|
],
|
|
13028
13063
|
"examples": [
|
|
13029
|
-
"runpane agents start --repo active --name fix-login --agent claude --prompt \"Fix the login redirect\" --yes --json"
|
|
13064
|
+
"runpane agents start --repo active --name fix-login --agent claude --prompt \"Fix the login redirect\" --yes --json",
|
|
13065
|
+
"runpane agents start --pane <pane-id> --agent codex --prompt \"Review the PR from this branch and report findings\" --yes --json"
|
|
13030
13066
|
],
|
|
13031
13067
|
"jsonSchemas": [
|
|
13032
13068
|
"agentTaskResult"
|
|
@@ -13821,7 +13857,7 @@ exports.RUNPANE_CONTRACT = {
|
|
|
13821
13857
|
"A successful handoff requires initialInput.verifiedSubmitted and delivery taken or queued without blocked/error evidence. Unverified delivery exits nonzero with the created Pane, panel and a panels screen inspection command; inspect before retrying.",
|
|
13822
13858
|
"Write the note for a reader with no context: quote errors and commands exactly, and record approaches that failed so they are not retried. Leave the front matter to the CLI.",
|
|
13823
13859
|
"Model and effort become agent flags: claude --model/--effort, codex -m and -c model_reasoning_effort, cursor-agent --model. Cursor effort is not supported and is rejected before side effects.",
|
|
13824
|
-
"Run it from the checkout being handed off.
|
|
13860
|
+
"Run it from the checkout being handed off. On another machine the receiver works in a new Pane; on this machine, from the Pane that owns this checkout, it works in a new tab of that Pane (the result's receiver.route and receiver.reason say which). Either way it pushes back to your branch, so stop changing that branch yourself."
|
|
13825
13861
|
]
|
|
13826
13862
|
},
|
|
13827
13863
|
"sessions unpin": {
|
|
@@ -13900,6 +13936,8 @@ exports.RUNPANE_CONTRACT = {
|
|
|
13900
13936
|
"",
|
|
13901
13937
|
"This repository is used with [Pane](https://runpane.com). Drive it with the CLI or the `pane` MCP server.",
|
|
13902
13938
|
"",
|
|
13939
|
+
"1 feature = 1 worktree = 1 branch = 1 Pane; reviews, audits, fixes and QA for it are tabs in that Pane. Open later agents with `runpane panels create --pane <id>` (MCP: `panels_create` or `agents_start` with `pane`), not a new Pane.",
|
|
13940
|
+
"",
|
|
13903
13941
|
"CLI: `npm i -g runpane` (or `npx --yes runpane@latest`), then `runpane doctor --json`. Full command reference: `runpane agent-context --json`.",
|
|
13904
13942
|
"",
|
|
13905
13943
|
"MCP: packaged Pane registers a stdio server named `pane` with Claude Code, Codex, and Cursor. Check the connection with `claude mcp list`, `codex mcp list`, or `agent mcp list`. Cursor may ask you to enable `pane` with `agent mcp enable pane`. If tools are missing, add it in the agent's MCP settings: Claude Code `claude mcp add --scope user pane -- npx --yes runpane@latest mcp`; Codex (`~/.codex/config.toml`) table `[mcp_servers.pane]` with `command = \"npx\"` and `args = [\"--yes\", \"runpane@latest\", \"mcp\"]`; Cursor (`~/.cursor/mcp.json`) uses `mcpServers.pane` with the same `npx` command and args; any other stdio client uses them too."
|