runpane 2.4.130 → 2.4.132
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/README.md +13 -0
- package/dist/agentTasks.d.ts +8 -0
- package/dist/agentTasks.d.ts.map +1 -0
- package/dist/agentTasks.js +123 -0
- package/dist/agentTasks.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +30 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +7 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +76 -10
- package/dist/commands.js.map +1 -1
- package/dist/daemonActions.d.ts +16 -0
- package/dist/daemonActions.d.ts.map +1 -0
- package/dist/daemonActions.js +98 -0
- package/dist/daemonActions.js.map +1 -0
- package/dist/daemonClient.js +4 -5
- package/dist/daemonClient.js.map +1 -1
- package/dist/docs-index.json +1 -0
- package/dist/docs.d.ts +18 -0
- package/dist/docs.d.ts.map +1 -0
- package/dist/docs.js +123 -0
- package/dist/docs.js.map +1 -0
- package/dist/doctor.js +2 -2
- package/dist/doctor.js.map +1 -1
- package/dist/generated/contract.d.ts +1337 -12
- package/dist/generated/contract.d.ts.map +1 -1
- package/dist/generated/contract.js +3763 -1121
- package/dist/generated/contract.js.map +1 -1
- package/dist/installers.js +10 -4
- package/dist/installers.js.map +1 -1
- package/dist/links.d.ts +13 -0
- package/dist/links.d.ts.map +1 -0
- package/dist/links.js +57 -0
- package/dist/links.js.map +1 -0
- package/dist/localControl.d.ts +220 -1
- package/dist/localControl.d.ts.map +1 -1
- package/dist/localControl.js +35 -23
- package/dist/localControl.js.map +1 -1
- package/dist/mcp.d.ts +12 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +189 -0
- package/dist/mcp.js.map +1 -0
- package/dist/mcpSdk.d.ts +3 -0
- package/dist/mcpSdk.d.ts.map +1 -0
- package/dist/mcpSdk.js +74 -0
- package/dist/mcpSdk.js.LEGAL.txt +8 -0
- package/dist/mcpTools.d.ts +78 -0
- package/dist/mcpTools.d.ts.map +1 -0
- package/dist/mcpTools.js +195 -0
- package/dist/mcpTools.js.map +1 -0
- package/package.json +5 -2
|
@@ -57,6 +57,19 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
57
57
|
readonly description: "Open a Cursor Agent terminal tab and allow the initial input to drive the agent.";
|
|
58
58
|
};
|
|
59
59
|
};
|
|
60
|
+
readonly terminalKeys: {
|
|
61
|
+
readonly enter: "\r";
|
|
62
|
+
readonly escape: "\u001B";
|
|
63
|
+
readonly tab: "\t";
|
|
64
|
+
readonly backspace: "";
|
|
65
|
+
readonly space: " ";
|
|
66
|
+
readonly up: "\u001B[A";
|
|
67
|
+
readonly down: "\u001B[B";
|
|
68
|
+
readonly right: "\u001B[C";
|
|
69
|
+
readonly left: "\u001B[D";
|
|
70
|
+
readonly "ctrl-c": "\u0003";
|
|
71
|
+
readonly "ctrl-d": "\u0004";
|
|
72
|
+
};
|
|
60
73
|
readonly commands: readonly [{
|
|
61
74
|
readonly name: "help";
|
|
62
75
|
readonly summary: "Show help for runpane or a specific command.";
|
|
@@ -85,185 +98,485 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
85
98
|
}, {
|
|
86
99
|
readonly name: "doctor";
|
|
87
100
|
readonly summary: "Run platform, release, installed Pane, daemon reachability, and remote setup diagnostics.";
|
|
101
|
+
readonly openWorld: true;
|
|
88
102
|
readonly usage: readonly ["runpane doctor [--json] [--pane-dir <path>] [--pane-path <path>] [--format <format>] [--verbose]", "runpane doctor --report [--title <text>] --body-file <path|-> [--yes] [--json]"];
|
|
103
|
+
readonly toolsets: readonly ["core", "admin"];
|
|
89
104
|
readonly jsonSchemas: readonly ["doctorResult"];
|
|
90
105
|
}, {
|
|
91
106
|
readonly name: "daemon repair";
|
|
92
107
|
readonly summary: "Repair and restart the managed remote-daemon launcher without changing pairing or tunnel configuration.";
|
|
93
108
|
readonly usage: readonly ["runpane daemon repair [--pane-dir <path>] [--pane-path <path>] [--yes] [--json]"];
|
|
94
109
|
readonly mutates: true;
|
|
110
|
+
readonly toolsets: readonly ["admin"];
|
|
95
111
|
readonly jsonSchemas: readonly ["daemonRepairResult"];
|
|
96
112
|
}, {
|
|
97
113
|
readonly name: "agents doctor";
|
|
98
114
|
readonly summary: "Diagnose whether a built-in agent command is available in a Pane repository environment.";
|
|
99
115
|
readonly usage: readonly ["runpane agents doctor --agent <codex|claude|cursor> [--repo <selector>] [--json]"];
|
|
116
|
+
readonly toolsets: readonly ["admin"];
|
|
100
117
|
readonly jsonSchemas: readonly ["agentDoctorResult"];
|
|
101
118
|
}, {
|
|
102
119
|
readonly name: "agent-context";
|
|
103
120
|
readonly summary: "Print token-efficient Pane command context for coding agents.";
|
|
104
121
|
readonly usage: readonly ["runpane agent-context [--json]", "runpane agent-context --command <command> [--json]"];
|
|
122
|
+
readonly toolsets: readonly ["admin", "docs"];
|
|
105
123
|
readonly jsonSchemas: readonly ["agentContextBriefResult", "agentContextCommandResult"];
|
|
124
|
+
}, {
|
|
125
|
+
readonly name: "mcp";
|
|
126
|
+
readonly summary: "Run the Pane MCP server over stdio so coding agents can call runpane commands as tools.";
|
|
127
|
+
readonly usage: readonly ["runpane mcp [--toolsets <name,...>] [--read-only]"];
|
|
128
|
+
readonly wrappers: readonly ["npm"];
|
|
106
129
|
}, {
|
|
107
130
|
readonly name: "repos list";
|
|
108
131
|
readonly summary: "List repositories saved in the running Pane app.";
|
|
109
132
|
readonly usage: readonly ["runpane repos list [--json] [--pane-dir <path>]"];
|
|
133
|
+
readonly toolsets: readonly ["core", "repos"];
|
|
110
134
|
readonly jsonSchemas: readonly ["repoListResult"];
|
|
111
135
|
}, {
|
|
112
136
|
readonly name: "repos add";
|
|
113
137
|
readonly summary: "Register an existing git repository with the running Pane app.";
|
|
114
138
|
readonly usage: readonly ["runpane repos add --path <path> [--name <name>] [--json] [--yes]"];
|
|
115
139
|
readonly mutates: true;
|
|
140
|
+
readonly additive: true;
|
|
141
|
+
readonly idempotent: true;
|
|
142
|
+
readonly toolsets: readonly ["core", "repos"];
|
|
116
143
|
readonly jsonSchemas: readonly ["repoAddRequest", "repoAddResult"];
|
|
117
144
|
}, {
|
|
118
145
|
readonly name: "panes list";
|
|
119
146
|
readonly summary: "List Pane sessions in a saved repository.";
|
|
120
147
|
readonly usage: readonly ["runpane panes list [--repo <selector>] [--json]"];
|
|
148
|
+
readonly toolsets: readonly ["core", "panes"];
|
|
121
149
|
readonly jsonSchemas: readonly ["paneListResult"];
|
|
122
150
|
}, {
|
|
123
151
|
readonly name: "panes cost";
|
|
124
152
|
readonly summary: "Report estimated token cost per Pane, with per-model breakdown and cache efficiency.";
|
|
125
153
|
readonly usage: readonly ["runpane panes cost [--repo <selector>] [--pane <pane-id>] [--json]"];
|
|
154
|
+
readonly toolsets: readonly ["panes"];
|
|
126
155
|
readonly jsonSchemas: readonly ["paneCostRequest", "paneCostResult"];
|
|
127
156
|
}, {
|
|
128
157
|
readonly name: "workspace state";
|
|
129
158
|
readonly summary: "Read one workspace snapshot of every Pane and CLI panel.";
|
|
130
159
|
readonly usage: readonly ["runpane workspace state [--repo <selector>] [--json]"];
|
|
160
|
+
readonly toolsets: readonly ["core", "agents"];
|
|
131
161
|
readonly jsonSchemas: readonly ["workspaceStateResult"];
|
|
132
162
|
}, {
|
|
133
163
|
readonly name: "watch";
|
|
134
164
|
readonly summary: "Wait for workspace agent and Pane transitions using a daemon-held cursor.";
|
|
135
165
|
readonly usage: readonly ["runpane watch [--as <name>|--since <generation>] [--follow] [--format <lines|json>] [--heartbeat <seconds>] [--idle-after <ms>] [--settle <ms>] [--blocked-settle <ms>] [--min-interval <ms>] [--idle-backoff] [--all-managed|--pane <id>] [--include-shells] [--self-test] [--kinds <kind,...>] [--repo <selector>] [--name-contains <text>] [--timeout-ms <ms>] [--from <now|earliest>] [--json]"];
|
|
166
|
+
readonly toolsets: readonly ["agents"];
|
|
136
167
|
readonly jsonSchemas: readonly ["workspaceWaitRequest", "workspaceWaitResult"];
|
|
137
168
|
}, {
|
|
138
169
|
readonly name: "panes create";
|
|
139
170
|
readonly summary: "Create user-visible Panes (Pane sessions) backed by Pane-managed worktrees for feature/PR work and open terminal-backed tool tabs.";
|
|
140
171
|
readonly usage: readonly ["runpane panes create --repo <selector> --name <name> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] [options]", "runpane panes create --from-json <path|-> [--yes] [--json]"];
|
|
141
172
|
readonly mutates: true;
|
|
173
|
+
readonly additive: true;
|
|
174
|
+
readonly toolsets: readonly ["panes"];
|
|
142
175
|
readonly jsonSchemas: readonly ["paneCreateRequest", "paneCreateResult"];
|
|
143
176
|
}, {
|
|
144
177
|
readonly name: "panes adopt";
|
|
145
178
|
readonly summary: "Adopt an existing externally managed git worktree as a Pane without changing the worktree.";
|
|
146
179
|
readonly usage: readonly ["runpane panes adopt --repo <selector> --path <dir> --name <name> --agent <codex|claude|cursor> [--resume <id>] [--folder <name>] [--launch] [--no-pinned] [--dry-run] [--yes] [--json]"];
|
|
147
180
|
readonly mutates: true;
|
|
181
|
+
readonly additive: true;
|
|
182
|
+
readonly toolsets: readonly ["panes"];
|
|
148
183
|
readonly jsonSchemas: readonly ["paneCreateResult"];
|
|
149
184
|
}, {
|
|
150
185
|
readonly name: "panes archive";
|
|
151
186
|
readonly summary: "Archive a Pane (session) exactly like the UI Archive action, including safe removal of its Pane-managed git worktree.";
|
|
152
187
|
readonly usage: readonly ["runpane panes archive --pane <pane-id> [--source user|agent] [--force] [--dry-run] --yes [--json]"];
|
|
153
188
|
readonly mutates: true;
|
|
189
|
+
readonly toolsets: readonly ["core", "panes"];
|
|
154
190
|
readonly jsonSchemas: readonly ["paneArchiveRequest", "paneArchiveResult"];
|
|
155
191
|
}, {
|
|
156
192
|
readonly name: "panes pin";
|
|
157
193
|
readonly summary: "Declaratively pin a Pane; pinned is the Pane UI's favorite/pin star and repeated requests are idempotent.";
|
|
158
194
|
readonly usage: readonly ["runpane panes pin --pane <pane-id> --yes [--dry-run] [--json]"];
|
|
159
195
|
readonly mutates: true;
|
|
196
|
+
readonly idempotent: true;
|
|
197
|
+
readonly toolsets: readonly ["panes"];
|
|
160
198
|
readonly jsonSchemas: readonly ["panePinRequest", "panePinResult"];
|
|
161
199
|
}, {
|
|
162
200
|
readonly name: "panes unpin";
|
|
163
201
|
readonly summary: "Declaratively unpin a Pane; pinned is the Pane UI's favorite/pin star and repeated requests are idempotent.";
|
|
164
202
|
readonly usage: readonly ["runpane panes unpin --pane <pane-id> --yes [--dry-run] [--json]"];
|
|
165
203
|
readonly mutates: true;
|
|
204
|
+
readonly idempotent: true;
|
|
205
|
+
readonly toolsets: readonly ["panes"];
|
|
166
206
|
readonly jsonSchemas: readonly ["panePinRequest", "panePinResult"];
|
|
167
207
|
}, {
|
|
168
208
|
readonly name: "panes rename";
|
|
169
209
|
readonly summary: "Rename a Pane without changing its worktree, branch, panels, or focus.";
|
|
170
210
|
readonly usage: readonly ["runpane panes rename --pane <pane-id> --name <new-name> --yes [--dry-run] [--json]"];
|
|
171
211
|
readonly mutates: true;
|
|
212
|
+
readonly idempotent: true;
|
|
213
|
+
readonly toolsets: readonly ["panes"];
|
|
172
214
|
readonly jsonSchemas: readonly ["paneRenameRequest", "paneRenameResult"];
|
|
173
215
|
}, {
|
|
174
216
|
readonly name: "panes focus";
|
|
175
217
|
readonly summary: "Raise the Pane window and select a Pane (and optionally one of its panels) on explicit user request.";
|
|
176
218
|
readonly usage: readonly ["runpane panes focus --pane <pane-id> [--panel <panel-id>] --source user|agent --yes [--json]"];
|
|
177
219
|
readonly mutates: true;
|
|
220
|
+
readonly additive: true;
|
|
221
|
+
readonly idempotent: true;
|
|
222
|
+
readonly toolsets: readonly ["panes"];
|
|
178
223
|
readonly jsonSchemas: readonly ["paneFocusRequest", "paneFocusResult"];
|
|
179
224
|
}, {
|
|
180
225
|
readonly name: "panels create";
|
|
181
226
|
readonly summary: "Create a terminal-backed tool panel inside an existing Pane session.";
|
|
182
227
|
readonly usage: readonly ["runpane panels create --pane <pane-id> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] [--wait-ready] --yes [--json]", "runpane panels create --pane <pane-id> --tool-command <command> [--title <title>] [--focus|--no-focus] --yes [--json]"];
|
|
183
228
|
readonly mutates: true;
|
|
229
|
+
readonly additive: true;
|
|
230
|
+
readonly toolsets: readonly ["panels"];
|
|
184
231
|
readonly jsonSchemas: readonly ["panelCreateRequest", "panelCreateResult"];
|
|
185
232
|
}, {
|
|
186
233
|
readonly name: "panels list";
|
|
187
234
|
readonly summary: "List tool panels inside a Pane session.";
|
|
188
235
|
readonly usage: readonly ["runpane panels list --pane <pane-id> [--json]"];
|
|
236
|
+
readonly toolsets: readonly ["panels"];
|
|
189
237
|
readonly jsonSchemas: readonly ["panelListResult"];
|
|
190
238
|
}, {
|
|
191
239
|
readonly name: "panels output";
|
|
192
240
|
readonly summary: "Read recent terminal output from a panel.";
|
|
193
241
|
readonly usage: readonly ["runpane panels output --panel <panel-id> [--limit <count>] [--json]"];
|
|
242
|
+
readonly toolsets: readonly ["panels"];
|
|
194
243
|
readonly jsonSchemas: readonly ["panelOutputResult"];
|
|
195
244
|
}, {
|
|
196
245
|
readonly name: "panels screen";
|
|
197
246
|
readonly summary: "Read a compact current-screen view from a terminal panel.";
|
|
198
247
|
readonly usage: readonly ["runpane panels screen --panel <panel-id> [--limit <count>] [--json]"];
|
|
248
|
+
readonly toolsets: readonly ["panels"];
|
|
199
249
|
readonly jsonSchemas: readonly ["panelScreenResult"];
|
|
200
250
|
}, {
|
|
201
251
|
readonly name: "panels input";
|
|
202
252
|
readonly summary: "Send input bytes to a terminal panel.";
|
|
203
|
-
readonly usage: readonly ["runpane panels input --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]"];
|
|
253
|
+
readonly usage: readonly ["runpane panels input --panel <panel-id> (--text <text>|--keys <name,...>|--input-file <path|->) --yes [--json]"];
|
|
204
254
|
readonly mutates: true;
|
|
255
|
+
readonly toolsets: readonly ["core", "panels"];
|
|
205
256
|
readonly jsonSchemas: readonly ["panelInputRequest", "panelInputResult"];
|
|
206
257
|
}, {
|
|
207
258
|
readonly name: "panels submit";
|
|
208
259
|
readonly summary: "Send and submit text to a terminal panel, including idle agent composers.";
|
|
209
260
|
readonly usage: readonly ["runpane panels submit --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]"];
|
|
210
261
|
readonly mutates: true;
|
|
262
|
+
readonly toolsets: readonly ["panels"];
|
|
211
263
|
readonly jsonSchemas: readonly ["panelSubmitRequest", "panelSubmitResult"];
|
|
212
264
|
}, {
|
|
213
265
|
readonly name: "panels submit-composer";
|
|
214
266
|
readonly summary: "Submit an agent composer using the panel-appropriate key sequence.";
|
|
215
267
|
readonly usage: readonly ["runpane panels submit-composer --panel <panel-id> [--strategy auto|codex-ctrl-enter|enter] --yes [--json]"];
|
|
216
268
|
readonly mutates: true;
|
|
269
|
+
readonly toolsets: readonly ["panels"];
|
|
217
270
|
readonly jsonSchemas: readonly ["panelSubmitComposerRequest", "panelSubmitComposerResult"];
|
|
218
271
|
}, {
|
|
219
272
|
readonly name: "panels wait";
|
|
220
273
|
readonly summary: "Wait for a terminal panel to initialize, become ready/idle, or contain text.";
|
|
221
274
|
readonly usage: readonly ["runpane panels wait --panel <panel-id> [--for initialized|ready|idle|text] [--contains <text>] [--timeout-ms <ms>] [--interval-ms <ms>] [--json]"];
|
|
275
|
+
readonly toolsets: readonly ["panels"];
|
|
222
276
|
readonly jsonSchemas: readonly ["panelWaitResult"];
|
|
277
|
+
}, {
|
|
278
|
+
readonly name: "panes git-status";
|
|
279
|
+
readonly summary: "Read the git status of a Pane worktree: uncommitted, unpushed, and behind-main counts.";
|
|
280
|
+
readonly usage: readonly ["runpane panes git-status --pane <pane-id> [--json] [--pane-dir <path>]"];
|
|
281
|
+
readonly daemonAction: {
|
|
282
|
+
readonly channel: "sessions:get-git-status";
|
|
283
|
+
readonly args: readonly ["--pane"];
|
|
284
|
+
};
|
|
285
|
+
readonly toolsets: readonly ["core", "git"];
|
|
286
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
287
|
+
}, {
|
|
288
|
+
readonly name: "panes commit";
|
|
289
|
+
readonly summary: "Stage all changes in a Pane worktree and commit them.";
|
|
290
|
+
readonly usage: readonly ["runpane panes commit --pane <pane-id> --message <message> --yes [--json] [--pane-dir <path>]"];
|
|
291
|
+
readonly mutates: true;
|
|
292
|
+
readonly additive: true;
|
|
293
|
+
readonly daemonAction: {
|
|
294
|
+
readonly channel: "sessions:git-stage-and-commit";
|
|
295
|
+
readonly args: readonly ["--pane", "--message"];
|
|
296
|
+
};
|
|
297
|
+
readonly toolsets: readonly ["git"];
|
|
298
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
299
|
+
}, {
|
|
300
|
+
readonly name: "panes push";
|
|
301
|
+
readonly summary: "Push a Pane branch to its remote.";
|
|
302
|
+
readonly usage: readonly ["runpane panes push --pane <pane-id> --yes [--json] [--pane-dir <path>]"];
|
|
303
|
+
readonly openWorld: true;
|
|
304
|
+
readonly mutates: true;
|
|
305
|
+
readonly additive: true;
|
|
306
|
+
readonly idempotent: true;
|
|
307
|
+
readonly daemonAction: {
|
|
308
|
+
readonly channel: "sessions:git-push";
|
|
309
|
+
readonly args: readonly ["--pane"];
|
|
310
|
+
};
|
|
311
|
+
readonly toolsets: readonly ["git"];
|
|
312
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
313
|
+
}, {
|
|
314
|
+
readonly name: "panes pull";
|
|
315
|
+
readonly summary: "Pull the remote branch into a Pane worktree.";
|
|
316
|
+
readonly usage: readonly ["runpane panes pull --pane <pane-id> --yes [--json] [--pane-dir <path>]"];
|
|
317
|
+
readonly openWorld: true;
|
|
318
|
+
readonly mutates: true;
|
|
319
|
+
readonly daemonAction: {
|
|
320
|
+
readonly channel: "sessions:git-pull";
|
|
321
|
+
readonly args: readonly ["--pane"];
|
|
322
|
+
};
|
|
323
|
+
readonly toolsets: readonly ["git"];
|
|
324
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
325
|
+
}, {
|
|
326
|
+
readonly name: "panes rebase-main";
|
|
327
|
+
readonly summary: "Rebase a Pane branch onto the latest main branch.";
|
|
328
|
+
readonly usage: readonly ["runpane panes rebase-main --pane <pane-id> --yes [--json] [--pane-dir <path>]"];
|
|
329
|
+
readonly mutates: true;
|
|
330
|
+
readonly daemonAction: {
|
|
331
|
+
readonly channel: "sessions:rebase-main-into-worktree";
|
|
332
|
+
readonly args: readonly ["--pane"];
|
|
333
|
+
};
|
|
334
|
+
readonly toolsets: readonly ["git"];
|
|
335
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
336
|
+
}, {
|
|
337
|
+
readonly name: "panes restore";
|
|
338
|
+
readonly summary: "Restore an archived Pane, recreating its worktree.";
|
|
339
|
+
readonly usage: readonly ["runpane panes restore --pane <pane-id> --yes [--json] [--pane-dir <path>]"];
|
|
340
|
+
readonly mutates: true;
|
|
341
|
+
readonly additive: true;
|
|
342
|
+
readonly idempotent: true;
|
|
343
|
+
readonly daemonAction: {
|
|
344
|
+
readonly channel: "sessions:restore";
|
|
345
|
+
readonly args: readonly ["--pane"];
|
|
346
|
+
};
|
|
347
|
+
readonly toolsets: readonly ["core", "panes"];
|
|
348
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
349
|
+
}, {
|
|
350
|
+
readonly name: "panes squash-rebase";
|
|
351
|
+
readonly summary: "Squash a Pane branch into one commit and rebase it onto main.";
|
|
352
|
+
readonly usage: readonly ["runpane panes squash-rebase --pane <pane-id> --message <message> --yes [--json] [--pane-dir <path>]"];
|
|
353
|
+
readonly mutates: true;
|
|
354
|
+
readonly daemonAction: {
|
|
355
|
+
readonly channel: "sessions:squash-and-rebase-to-main";
|
|
356
|
+
readonly args: readonly ["--pane", "--message"];
|
|
357
|
+
};
|
|
358
|
+
readonly toolsets: readonly ["git"];
|
|
359
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
360
|
+
}, {
|
|
361
|
+
readonly name: "panes stash";
|
|
362
|
+
readonly summary: "Stash uncommitted changes in a Pane worktree.";
|
|
363
|
+
readonly usage: readonly ["runpane panes stash --pane <pane-id> --yes [--json] [--pane-dir <path>]"];
|
|
364
|
+
readonly mutates: true;
|
|
365
|
+
readonly daemonAction: {
|
|
366
|
+
readonly channel: "sessions:git-stash";
|
|
367
|
+
readonly args: readonly ["--pane"];
|
|
368
|
+
};
|
|
369
|
+
readonly toolsets: readonly ["git"];
|
|
370
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
371
|
+
}, {
|
|
372
|
+
readonly name: "panes stash-pop";
|
|
373
|
+
readonly summary: "Apply and drop the latest stash in a Pane worktree.";
|
|
374
|
+
readonly usage: readonly ["runpane panes stash-pop --pane <pane-id> --yes [--json] [--pane-dir <path>]"];
|
|
375
|
+
readonly mutates: true;
|
|
376
|
+
readonly daemonAction: {
|
|
377
|
+
readonly channel: "sessions:git-stash-pop";
|
|
378
|
+
readonly args: readonly ["--pane"];
|
|
379
|
+
};
|
|
380
|
+
readonly toolsets: readonly ["git"];
|
|
381
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
382
|
+
}, {
|
|
383
|
+
readonly name: "panes soft-reset";
|
|
384
|
+
readonly summary: "Undo the last commit in a Pane, keeping its changes staged.";
|
|
385
|
+
readonly usage: readonly ["runpane panes soft-reset --pane <pane-id> --yes [--json] [--pane-dir <path>]"];
|
|
386
|
+
readonly mutates: true;
|
|
387
|
+
readonly daemonAction: {
|
|
388
|
+
readonly channel: "sessions:git-soft-reset";
|
|
389
|
+
readonly args: readonly ["--pane"];
|
|
390
|
+
};
|
|
391
|
+
readonly toolsets: readonly ["git"];
|
|
392
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
393
|
+
}, {
|
|
394
|
+
readonly name: "panes fetch";
|
|
395
|
+
readonly summary: "Fetch the remote for a Pane worktree.";
|
|
396
|
+
readonly usage: readonly ["runpane panes fetch --pane <pane-id> --yes [--json] [--pane-dir <path>]"];
|
|
397
|
+
readonly openWorld: true;
|
|
398
|
+
readonly mutates: true;
|
|
399
|
+
readonly additive: true;
|
|
400
|
+
readonly idempotent: true;
|
|
401
|
+
readonly daemonAction: {
|
|
402
|
+
readonly channel: "sessions:git-fetch";
|
|
403
|
+
readonly args: readonly ["--pane"];
|
|
404
|
+
};
|
|
405
|
+
readonly toolsets: readonly ["git"];
|
|
406
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
407
|
+
}, {
|
|
408
|
+
readonly name: "panes run-script";
|
|
409
|
+
readonly summary: "Run the repository's run script in a Pane.";
|
|
410
|
+
readonly usage: readonly ["runpane panes run-script --pane <pane-id> --yes [--json] [--pane-dir <path>]"];
|
|
411
|
+
readonly mutates: true;
|
|
412
|
+
readonly additive: true;
|
|
413
|
+
readonly daemonAction: {
|
|
414
|
+
readonly channel: "sessions:run-script";
|
|
415
|
+
readonly args: readonly ["--pane"];
|
|
416
|
+
};
|
|
417
|
+
readonly toolsets: readonly ["panes"];
|
|
418
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
419
|
+
}, {
|
|
420
|
+
readonly name: "panes stop-script";
|
|
421
|
+
readonly summary: "Stop the run script running in a Pane.";
|
|
422
|
+
readonly usage: readonly ["runpane panes stop-script --pane <pane-id> --yes [--json] [--pane-dir <path>]"];
|
|
423
|
+
readonly mutates: true;
|
|
424
|
+
readonly idempotent: true;
|
|
425
|
+
readonly daemonAction: {
|
|
426
|
+
readonly channel: "sessions:stop-script";
|
|
427
|
+
readonly args: readonly ["--pane"];
|
|
428
|
+
};
|
|
429
|
+
readonly toolsets: readonly ["panes"];
|
|
430
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
431
|
+
}, {
|
|
432
|
+
readonly name: "panes move";
|
|
433
|
+
readonly summary: "Move a Pane into a sidebar folder.";
|
|
434
|
+
readonly usage: readonly ["runpane panes move --pane <pane-id> --folder <folder-id> --yes [--json] [--pane-dir <path>]"];
|
|
435
|
+
readonly mutates: true;
|
|
436
|
+
readonly idempotent: true;
|
|
437
|
+
readonly daemonAction: {
|
|
438
|
+
readonly channel: "folders:move-session";
|
|
439
|
+
readonly args: readonly ["--pane", "--folder"];
|
|
440
|
+
};
|
|
441
|
+
readonly toolsets: readonly ["panes"];
|
|
442
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
443
|
+
}, {
|
|
444
|
+
readonly name: "folders list";
|
|
445
|
+
readonly summary: "List the sidebar folders of a repository.";
|
|
446
|
+
readonly usage: readonly ["runpane folders list --repo <repo-id> [--json] [--pane-dir <path>]"];
|
|
447
|
+
readonly daemonAction: {
|
|
448
|
+
readonly channel: "folders:get-by-project";
|
|
449
|
+
readonly args: readonly ["--repo"];
|
|
450
|
+
};
|
|
451
|
+
readonly toolsets: readonly ["panes"];
|
|
452
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
453
|
+
}, {
|
|
454
|
+
readonly name: "folders create";
|
|
455
|
+
readonly summary: "Create a sidebar folder in a repository.";
|
|
456
|
+
readonly usage: readonly ["runpane folders create --repo <repo-id> --name <name> --yes [--json] [--pane-dir <path>]"];
|
|
457
|
+
readonly mutates: true;
|
|
458
|
+
readonly additive: true;
|
|
459
|
+
readonly daemonAction: {
|
|
460
|
+
readonly channel: "folders:create";
|
|
461
|
+
readonly args: readonly ["--name", "--repo"];
|
|
462
|
+
};
|
|
463
|
+
readonly toolsets: readonly ["panes"];
|
|
464
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
465
|
+
}, {
|
|
466
|
+
readonly name: "links create";
|
|
467
|
+
readonly summary: "Build a pane:// link that opens a Pane, panel, repository, or Session in the Pane app.";
|
|
468
|
+
readonly usage: readonly ["runpane links create --pane <pane-id> [--panel <panel-id>] [--json]", "runpane links create --repo <repo-id> [--json]", "runpane links create --session <session-id> [--json]"];
|
|
469
|
+
readonly toolsets: readonly ["core", "links"];
|
|
470
|
+
readonly jsonSchemas: readonly ["linkCreateResult"];
|
|
471
|
+
}, {
|
|
472
|
+
readonly name: "links open";
|
|
473
|
+
readonly summary: "Open a pane:// link in the running Pane app.";
|
|
474
|
+
readonly usage: readonly ["runpane links open --url <pane-url> --yes [--json] [--pane-dir <path>]"];
|
|
475
|
+
readonly mutates: true;
|
|
476
|
+
readonly additive: true;
|
|
477
|
+
readonly idempotent: true;
|
|
478
|
+
readonly daemonAction: {
|
|
479
|
+
readonly channel: "runpane:links:open";
|
|
480
|
+
readonly args: readonly ["--url"];
|
|
481
|
+
};
|
|
482
|
+
readonly toolsets: readonly ["links"];
|
|
483
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
484
|
+
}, {
|
|
485
|
+
readonly name: "docs search";
|
|
486
|
+
readonly summary: "Search Pane's docs, runpane help, and the Pane Chat skills.";
|
|
487
|
+
readonly usage: readonly ["runpane docs search --query <text> [--limit <count>] [--json]"];
|
|
488
|
+
readonly wrappers: readonly ["npm"];
|
|
489
|
+
readonly toolsets: readonly ["core", "docs"];
|
|
490
|
+
readonly jsonSchemas: readonly ["docsSearchResult"];
|
|
491
|
+
}, {
|
|
492
|
+
readonly name: "docs read";
|
|
493
|
+
readonly summary: "Read one Pane doc, help topic, or skill in full.";
|
|
494
|
+
readonly usage: readonly ["runpane docs read --doc <path> [--json]"];
|
|
495
|
+
readonly wrappers: readonly ["npm"];
|
|
496
|
+
readonly toolsets: readonly ["core", "docs"];
|
|
497
|
+
readonly jsonSchemas: readonly ["docsReadResult"];
|
|
498
|
+
}, {
|
|
499
|
+
readonly name: "agents start";
|
|
500
|
+
readonly summary: "Start an agent on a task: create a Pane in a repository, launch the agent with the prompt, and wait until it is ready.";
|
|
501
|
+
readonly usage: readonly ["runpane agents start --repo <selector> --name <name> (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task> [--base-branch <branch>] --yes [--json] [--pane-dir <path>]"];
|
|
502
|
+
readonly mutates: true;
|
|
503
|
+
readonly additive: true;
|
|
504
|
+
readonly wrappers: readonly ["npm"];
|
|
505
|
+
readonly toolsets: readonly ["core", "agents"];
|
|
506
|
+
readonly jsonSchemas: readonly ["agentTaskResult"];
|
|
507
|
+
}, {
|
|
508
|
+
readonly name: "agents status";
|
|
509
|
+
readonly summary: "Check on an agent: whether it is working, ready, blocked, or idle, plus its current screen.";
|
|
510
|
+
readonly usage: readonly ["runpane agents status (--pane <pane-id>|--panel <panel-id>) [--limit <count>] [--json] [--pane-dir <path>]"];
|
|
511
|
+
readonly wrappers: readonly ["npm"];
|
|
512
|
+
readonly toolsets: readonly ["core", "agents"];
|
|
513
|
+
readonly jsonSchemas: readonly ["agentStatusResult"];
|
|
514
|
+
}, {
|
|
515
|
+
readonly name: "agents send";
|
|
516
|
+
readonly summary: "Send a follow-up message to an agent and confirm it was submitted.";
|
|
517
|
+
readonly usage: readonly ["runpane agents send (--pane <pane-id>|--panel <panel-id>) --text <message> --yes [--json] [--pane-dir <path>]"];
|
|
518
|
+
readonly mutates: true;
|
|
519
|
+
readonly wrappers: readonly ["npm"];
|
|
520
|
+
readonly toolsets: readonly ["core", "agents"];
|
|
521
|
+
readonly jsonSchemas: readonly ["agentSendResult"];
|
|
223
522
|
}, {
|
|
224
523
|
readonly name: "sessions list";
|
|
225
524
|
readonly summary: "List durable named orchestration Sessions.";
|
|
226
525
|
readonly usage: readonly ["runpane sessions list [--json] [--pane-dir <path>]"];
|
|
526
|
+
readonly toolsets: readonly ["sessions"];
|
|
227
527
|
readonly jsonSchemas: readonly ["sessionListResult"];
|
|
228
528
|
}, {
|
|
229
529
|
readonly name: "sessions create";
|
|
230
530
|
readonly summary: "Create a durable named orchestration Session and its hidden terminal owner.";
|
|
231
531
|
readonly usage: readonly ["runpane sessions create --from-json <path|-> [--json] [--pane-dir <path>]"];
|
|
232
532
|
readonly mutates: true;
|
|
533
|
+
readonly additive: true;
|
|
534
|
+
readonly toolsets: readonly ["sessions"];
|
|
233
535
|
readonly jsonSchemas: readonly ["sessionResult"];
|
|
234
536
|
}, {
|
|
235
537
|
readonly name: "sessions get";
|
|
236
538
|
readonly summary: "Read one durable named orchestration Session.";
|
|
237
539
|
readonly usage: readonly ["runpane sessions get --session <id|name> [--json] [--pane-dir <path>]"];
|
|
540
|
+
readonly toolsets: readonly ["sessions"];
|
|
238
541
|
readonly jsonSchemas: readonly ["sessionResult"];
|
|
239
542
|
}, {
|
|
240
543
|
readonly name: "sessions update";
|
|
241
544
|
readonly summary: "Update a Session overview from structured JSON.";
|
|
242
545
|
readonly usage: readonly ["runpane sessions update --session <id|name> --from-json <path|-> [--json] [--pane-dir <path>]"];
|
|
243
546
|
readonly mutates: true;
|
|
547
|
+
readonly idempotent: true;
|
|
548
|
+
readonly toolsets: readonly ["sessions"];
|
|
244
549
|
readonly jsonSchemas: readonly ["sessionResult"];
|
|
245
550
|
}, {
|
|
246
551
|
readonly name: "sessions set-agent";
|
|
247
552
|
readonly summary: "Switch the durable terminal agent for a named Session.";
|
|
248
553
|
readonly usage: readonly ["runpane sessions set-agent --session <id|name> --agent <codex|claude|cursor> [--json] [--pane-dir <path>]"];
|
|
249
554
|
readonly mutates: true;
|
|
555
|
+
readonly idempotent: true;
|
|
556
|
+
readonly toolsets: readonly ["sessions"];
|
|
250
557
|
readonly jsonSchemas: readonly ["sessionResult"];
|
|
251
558
|
}, {
|
|
252
559
|
readonly name: "sessions associate";
|
|
253
560
|
readonly summary: "Associate a user-visible Pane with a named Session.";
|
|
254
561
|
readonly usage: readonly ["runpane sessions associate --session <id|name> --pane <pane-id> [--json] [--pane-dir <path>]"];
|
|
255
562
|
readonly mutates: true;
|
|
563
|
+
readonly additive: true;
|
|
564
|
+
readonly idempotent: true;
|
|
565
|
+
readonly toolsets: readonly ["sessions"];
|
|
256
566
|
readonly jsonSchemas: readonly ["sessionResult"];
|
|
257
567
|
}, {
|
|
258
568
|
readonly name: "sessions detach";
|
|
259
569
|
readonly summary: "Detach a Pane from a named Session.";
|
|
260
570
|
readonly usage: readonly ["runpane sessions detach --session <id|name> [--pane <pane-id>] [--json] [--pane-dir <path>]"];
|
|
261
571
|
readonly mutates: true;
|
|
572
|
+
readonly idempotent: true;
|
|
573
|
+
readonly toolsets: readonly ["sessions"];
|
|
262
574
|
readonly jsonSchemas: readonly ["sessionResult"];
|
|
263
575
|
}, {
|
|
264
576
|
readonly name: "sessions overview";
|
|
265
577
|
readonly summary: "Read a live status, activity, git, and pull request overview for a named Session.";
|
|
266
578
|
readonly usage: readonly ["runpane sessions overview --session <id|name> [--json] [--pane-dir <path>]"];
|
|
579
|
+
readonly toolsets: readonly ["sessions"];
|
|
267
580
|
readonly jsonSchemas: readonly ["sessionOverviewResult"];
|
|
268
581
|
}];
|
|
269
582
|
readonly flags: {
|
|
@@ -495,6 +808,30 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
495
808
|
readonly name: "--session";
|
|
496
809
|
readonly value: "<id|name>";
|
|
497
810
|
readonly description: "Named orchestration Session id or exact name.";
|
|
811
|
+
}, {
|
|
812
|
+
readonly name: "--message";
|
|
813
|
+
readonly value: "<message>";
|
|
814
|
+
readonly description: "Commit message for panes commit.";
|
|
815
|
+
}, {
|
|
816
|
+
readonly name: "--query";
|
|
817
|
+
readonly value: "<text>";
|
|
818
|
+
readonly description: "Search words for docs search.";
|
|
819
|
+
}, {
|
|
820
|
+
readonly name: "--doc";
|
|
821
|
+
readonly value: "<path>";
|
|
822
|
+
readonly description: "Doc path for docs read.";
|
|
823
|
+
}, {
|
|
824
|
+
readonly name: "--url";
|
|
825
|
+
readonly value: "<pane-url>";
|
|
826
|
+
readonly description: "pane:// link for links open.";
|
|
827
|
+
}, {
|
|
828
|
+
readonly name: "--toolsets";
|
|
829
|
+
readonly value: "<name,...>";
|
|
830
|
+
readonly description: "MCP toolsets for runpane mcp.";
|
|
831
|
+
}, {
|
|
832
|
+
readonly name: "--keys";
|
|
833
|
+
readonly value: "<name,...>";
|
|
834
|
+
readonly description: "Named keys for panels input, such as down,enter.";
|
|
498
835
|
}];
|
|
499
836
|
readonly localBoolean: readonly [{
|
|
500
837
|
readonly name: "--json";
|
|
@@ -550,11 +887,14 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
550
887
|
}, {
|
|
551
888
|
readonly name: "--report";
|
|
552
889
|
readonly description: "Prepare a redacted doctor report; external filing still requires --yes.";
|
|
890
|
+
}, {
|
|
891
|
+
readonly name: "--read-only";
|
|
892
|
+
readonly description: "Serve only read-only MCP tools.";
|
|
553
893
|
}];
|
|
554
894
|
};
|
|
555
895
|
readonly help: {
|
|
556
896
|
readonly npm: {
|
|
557
|
-
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane doctor --report --body-file <path|->", " 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 sessions list [--json] [--pane-dir <path>]", " runpane sessions create --from-json <path|-> [--json] [--pane-dir <path>]", " runpane sessions get --session <id|name> [--json] [--pane-dir <path>]", " runpane sessions update --session <id|name> --from-json <path|-> [--json] [--pane-dir <path>]", " runpane sessions set-agent --session <id|name> --agent <codex|claude|cursor> [--json] [--pane-dir <path>]", " runpane sessions associate --session <id|name> --pane <pane-id> [--json] [--pane-dir <path>]", " runpane sessions detach --session <id|name> [--pane <pane-id>] [--json] [--pane-dir <path>]", " runpane sessions overview --session <id|name> [--json] [--pane-dir <path>]", " runpane panes list [--repo <selector>] [--json]", " runpane panes cost [--repo <selector>] [--pane <pane-id>] [--json]", " runpane workspace state [--repo <selector>] [--json]", " runpane watch --follow", " 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."];
|
|
897
|
+
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane doctor --report --body-file <path|->", " runpane daemon repair [--pane-dir <path>] [--yes] [--json]", " runpane agent-context [--json]", " runpane mcp [--toolsets <name,...>] [--read-only]", " runpane agents doctor --agent <codex|claude|cursor> [--repo <selector>] [--json]", " runpane repos list [--json]", " runpane repos add --path <path> [--name <name>]", " runpane sessions list [--json] [--pane-dir <path>]", " runpane sessions create --from-json <path|-> [--json] [--pane-dir <path>]", " runpane sessions get --session <id|name> [--json] [--pane-dir <path>]", " runpane sessions update --session <id|name> --from-json <path|-> [--json] [--pane-dir <path>]", " runpane sessions set-agent --session <id|name> --agent <codex|claude|cursor> [--json] [--pane-dir <path>]", " runpane sessions associate --session <id|name> --pane <pane-id> [--json] [--pane-dir <path>]", " runpane sessions detach --session <id|name> [--pane <pane-id>] [--json] [--pane-dir <path>]", " runpane sessions overview --session <id|name> [--json] [--pane-dir <path>]", " runpane panes list [--repo <selector>] [--json]", " runpane panes cost [--repo <selector>] [--pane <pane-id>] [--json]", " runpane workspace state [--repo <selector>] [--json]", " runpane watch --follow", " 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>|--keys <name,...>|--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 panes git-status --pane <pane-id> [--json] [--pane-dir <path>]", " runpane panes commit --pane <pane-id> --message <message> --yes [--json] [--pane-dir <path>]", " runpane panes push --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes pull --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes rebase-main --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes restore --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane links create --pane <pane-id> [--panel <panel-id>] [--json]", " runpane links open --url <pane-url> --yes [--json] [--pane-dir <path>]", " runpane docs search --query <text> [--limit <count>] [--json]", " runpane docs read --doc <path> [--json]", " runpane agents start --repo <selector> --name <name> (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task> [--base-branch <branch>] --yes [--json] [--pane-dir <path>]", " runpane agents status (--pane <pane-id>|--panel <panel-id>) [--limit <count>] [--json] [--pane-dir <path>]", " runpane agents send (--pane <pane-id>|--panel <panel-id>) --text <message> --yes [--json] [--pane-dir <path>]", " runpane panes squash-rebase --pane <pane-id> --message <message> --yes [--json] [--pane-dir <path>]", " runpane panes stash --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes stash-pop --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes soft-reset --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes fetch --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes run-script --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes stop-script --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes move --pane <pane-id> --folder <folder-id> --yes [--json] [--pane-dir <path>]", " runpane folders list --repo <repo-id> [--json] [--pane-dir <path>]", " runpane folders create --repo <repo-id> --name <name> --yes [--json] [--pane-dir <path>]", " 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."];
|
|
558
898
|
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>"];
|
|
559
899
|
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"];
|
|
560
900
|
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"];
|
|
@@ -579,8 +919,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
579
919
|
readonly panels: readonly ["Terminal-backed panel commands.", "", "Usage:", " runpane panels <command> [options]", "", "Commands:", " runpane panels create --pane <pane-id> --agent <codex|claude|cursor> [options]", " runpane panels list --pane <pane-id> [--json]", " runpane panels screen --panel <panel-id> [--limit <count>] [--json]", " runpane panels output --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]", "", "Run \"runpane help panels create\" or another command-specific topic for options."];
|
|
580
920
|
readonly "panels list": readonly ["Usage:", " runpane panels list --pane <pane-id> [--json]", "", "Lists tool panels in a Pane session.", "", "Options:", " --pane <pane-id> Pane/session id", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output"];
|
|
581
921
|
readonly "panels output": readonly ["Usage:", " runpane panels output --panel <panel-id> [--limit <count>] [--json]", "", "Reads bounded recent terminal output from a panel.", "", "Options:", " --panel <panel-id> Tool panel id", " --limit <count> Maximum recent output lines or records to read", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output"];
|
|
582
|
-
readonly "panels input": readonly ["Usage:", " runpane panels input --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", "", "Sends exact input bytes to a terminal panel. Include a newline in the input when you mean Enter.", "", "Options:", " --panel <panel-id> Terminal panel id", " --text <text> Text bytes to send", " --input-file <path|-> Read input from a file or stdin", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output", " --yes Skip confirmation for mutating commands"];
|
|
922
|
+
readonly "panels input": readonly ["Usage:", " runpane panels input --panel <panel-id> (--text <text>|--keys <name,...>|--input-file <path|->) --yes [--json]", "", "Sends exact input bytes to a terminal panel. Include a newline in the input when you mean Enter.", "", "Options:", " --panel <panel-id> Terminal panel id", " --text <text> Text bytes to send", " --keys <name,...> Keys to press: enter, escape, tab, up, down, ctrl-c, ...", " --input-file <path|-> Read input from a file or stdin", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output", " --yes Skip confirmation for mutating commands"];
|
|
583
923
|
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"];
|
|
924
|
+
readonly mcp: readonly ["Usage:", " runpane mcp [--toolsets <name,...>] [--read-only]", "", "Runs the Pane MCP server over stdio. Each runpane command with a JSON result becomes a tool that returns the same JSON as `runpane <command> --json`. Commands that need --yes take `yes: true` instead.", "Pane registers this server with Claude Code and Codex automatically (Settings > AI & Agents). To register it by hand:", " claude mcp add --scope user pane -- npx --yes runpane@latest mcp", " codex mcp add pane -- npx --yes runpane@latest mcp", "", "The MCP server ships in the npm package and inside the Pane app. The Python package does not include it.", "", "Options:", " --toolsets <name,...> core (default), all, read, repos, panes, panels, agents, sessions, git, docs, links, admin", " --read-only Serve only read-only tools"];
|
|
584
925
|
readonly "agents doctor": readonly ["Usage:", " runpane agents doctor --agent <codex|claude|cursor> [--repo <selector>] [--json]", "", "Diagnoses whether Codex or Claude is available in the same repository environment Pane will use.", "", "Options:", " --agent <codex|claude|cursor> Built-in agent command to diagnose", " --repo <selector> active, id, exact path, or saved repository name; defaults to active", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output"];
|
|
585
926
|
readonly "panels screen": readonly ["Usage:", " runpane panels screen --panel <panel-id> [--limit <count>] [--json]", "", "Reads a compact current-screen view from a terminal panel. Prefers alternate-screen/TUI output and falls back to recent scrollback.", "", "Options:", " --panel <panel-id> Terminal panel id", " --limit <count> Maximum lines to return; defaults to 80", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output"];
|
|
586
927
|
readonly "panels submit": readonly ["Usage:", " runpane panels submit --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", "", "Sends text to a terminal panel and normalizes the final terminal Enter to CR. Use this for ordinary prompt answers and shell commands.", "", "Options:", " --panel <panel-id> Terminal panel id", " --text <text> Text to submit before Enter", " --input-file <path|-> Read text from a file or stdin before Enter", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output", " --yes Skip confirmation for this mutating command"];
|
|
@@ -595,10 +936,33 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
595
936
|
readonly "sessions associate": readonly ["Usage:", "runpane sessions associate --session <id|name> --pane <pane-id> [--json] [--pane-dir <path>]", "", "Options:", " --session <id|name> Named Session id or exact name.", " --from-json <path|-> Read structured JSON from a file or stdin.", " --pane <pane-id> User-visible Pane to associate or detach.", " --agent <codex|claude|cursor> Agent terminal to use.", " --json Print JSON output."];
|
|
596
937
|
readonly "sessions detach": readonly ["Usage:", "runpane sessions detach --session <id|name> [--pane <pane-id>] [--json] [--pane-dir <path>]", "", "Options:", " --session <id|name> Named Session id or exact name.", " --from-json <path|-> Read structured JSON from a file or stdin.", " --pane <pane-id> User-visible Pane to associate or detach.", " --agent <codex|claude|cursor> Agent terminal to use.", " --json Print JSON output."];
|
|
597
938
|
readonly "sessions overview": readonly ["Usage:", "runpane sessions overview --session <id|name> [--json] [--pane-dir <path>]", "", "Options:", " --session <id|name> Named Session id or exact name.", " --from-json <path|-> Read structured JSON from a file or stdin.", " --pane <pane-id> User-visible Pane to associate or detach.", " --agent <codex|claude|cursor> Agent terminal to use.", " --json Print JSON output."];
|
|
939
|
+
readonly "panes git-status": readonly ["Usage:", " runpane panes git-status --pane <pane-id> [--json] [--pane-dir <path>]", "", "Read the git status of a Pane worktree: uncommitted, unpushed, and behind-main counts.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
940
|
+
readonly "panes commit": readonly ["Usage:", " runpane panes commit --pane <pane-id> --message <message> --yes [--json] [--pane-dir <path>]", "", "Stage all changes in a Pane worktree and commit them.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --message <message> Commit message; the first line is the title.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
941
|
+
readonly "panes push": readonly ["Usage:", " runpane panes push --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Push a Pane branch to its remote.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
942
|
+
readonly "panes pull": readonly ["Usage:", " runpane panes pull --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Pull the remote branch into a Pane worktree.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
943
|
+
readonly "panes rebase-main": readonly ["Usage:", " runpane panes rebase-main --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Rebase a Pane branch onto the latest main branch.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
944
|
+
readonly "panes restore": readonly ["Usage:", " runpane panes restore --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Restore an archived Pane, recreating its worktree.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
945
|
+
readonly "panes squash-rebase": readonly ["Usage:", " runpane panes squash-rebase --pane <pane-id> --message <message> --yes [--json] [--pane-dir <path>]", "", "Squash a Pane branch into one commit and rebase it onto main.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --message <message> Commit message; the first line is the title.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
946
|
+
readonly "panes stash": readonly ["Usage:", " runpane panes stash --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Stash uncommitted changes in a Pane worktree.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
947
|
+
readonly "panes stash-pop": readonly ["Usage:", " runpane panes stash-pop --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Apply and drop the latest stash in a Pane worktree.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
948
|
+
readonly "panes soft-reset": readonly ["Usage:", " runpane panes soft-reset --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Undo the last commit in a Pane, keeping its changes staged.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
949
|
+
readonly "panes fetch": readonly ["Usage:", " runpane panes fetch --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Fetch the remote for a Pane worktree.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
950
|
+
readonly "panes run-script": readonly ["Usage:", " runpane panes run-script --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Run the repository's run script in a Pane.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
951
|
+
readonly "panes stop-script": readonly ["Usage:", " runpane panes stop-script --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Stop the run script running in a Pane.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
952
|
+
readonly "panes move": readonly ["Usage:", " runpane panes move --pane <pane-id> --folder <folder-id> --yes [--json] [--pane-dir <path>]", "", "Move a Pane into a sidebar folder.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --folder <folder-id> Folder id from folders list.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
953
|
+
readonly "folders list": readonly ["Usage:", " runpane folders list --repo <repo-id> [--json] [--pane-dir <path>]", "", "List the sidebar folders of a repository.", "", "Options:", " --repo <repo-id> Numeric repository id from repos list.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
954
|
+
readonly "folders create": readonly ["Usage:", " runpane folders create --repo <repo-id> --name <name> --yes [--json] [--pane-dir <path>]", "", "Create a sidebar folder in a repository.", "", "Options:", " --repo <repo-id> Numeric repository id from repos list.", " --name <name> Folder name.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
955
|
+
readonly "links create": readonly ["Usage:", " runpane links create --pane <pane-id> [--panel <panel-id>] [--json]", " runpane links create --repo <repo-id> [--json]", " runpane links create --session <session-id> [--json]", "", "Build a pane:// link that opens a Pane, panel, repository, or Session in the Pane app.", "", "Options:", " --pane <pane-id> Pane to open.", " --panel <panel-id> Panel inside the Pane to select.", " --repo <repo-id> Repository id from repos list.", " --session <session-id> Session id or name from sessions list.", " --json Print machine-readable output."];
|
|
956
|
+
readonly "links open": readonly ["Usage:", " runpane links open --url <pane-url> --yes [--json] [--pane-dir <path>]", "", "Open a pane:// link in the running Pane app.", "", "Options:", " --url <pane-url> A pane://open link from links create.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
957
|
+
readonly "docs search": readonly ["Usage:", " runpane docs search --query <text> [--limit <count>] [--json]", "", "Search Pane's docs, runpane help, and the Pane Chat skills.", "", "Options:", " --query <text> Words to search for.", " --limit <count> Maximum results; defaults to 5.", " --json Print machine-readable output."];
|
|
958
|
+
readonly "docs read": readonly ["Usage:", " runpane docs read --doc <path> [--json]", "", "Read one Pane doc, help topic, or skill in full.", "", "Options:", " --doc <path> Path from docs search, such as docs/PANE_MCP.md.", " --json Print machine-readable output."];
|
|
959
|
+
readonly "agents start": readonly ["Usage:", " runpane agents start --repo <selector> --name <name> (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task> [--base-branch <branch>] --yes [--json] [--pane-dir <path>]", "", "Start an agent on a task: create a Pane in a repository, launch the agent with the prompt, and wait until it is ready.", "", "Options:", " --repo <selector> Repository: active, id, exact path, or saved name.", " --name <name> Name for the new Pane.", " --agent <codex|claude|cursor> Built-in agent to launch.", " --tool-command <command> Custom terminal command instead of a built-in agent.", " --prompt <task> The task to send once the agent is ready.", " --base-branch <branch> Branch to start the worktree from.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
960
|
+
readonly "agents status": readonly ["Usage:", " runpane agents status (--pane <pane-id>|--panel <panel-id>) [--limit <count>] [--json] [--pane-dir <path>]", "", "Check on an agent: whether it is working, ready, blocked, or idle, plus its current screen.", "", "Options:", " --pane <pane-id> Pane id; its agent panel is used.", " --panel <panel-id> Panel id.", " --limit <count> Screen lines to return; defaults to 40.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
961
|
+
readonly "agents send": readonly ["Usage:", " runpane agents send (--pane <pane-id>|--panel <panel-id>) --text <message> --yes [--json] [--pane-dir <path>]", "", "Send a follow-up message to an agent and confirm it was submitted.", "", "Options:", " --pane <pane-id> Pane id; its agent panel is used.", " --panel <panel-id> Panel id.", " --text <message> The message to submit.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
598
962
|
readonly sessions: readonly ["Usage:", " runpane sessions <list|create|get|update|set-agent|associate|detach|overview> [options]", "", "Use a named Session to keep context, activity, and evidence attached to one orchestration thread."];
|
|
599
963
|
};
|
|
600
964
|
readonly pip: {
|
|
601
|
-
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane doctor --report --body-file <path|->", " 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 cost [--repo <selector>] [--pane <pane-id>] [--json]", " runpane workspace state [--repo <selector>] [--json]", " runpane watch --follow", " 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."];
|
|
965
|
+
readonly default: readonly ["Usage:", " runpane", " runpane setup", " runpane install [client|daemon] [options]", " runpane update [options]", " runpane version", " runpane doctor", " runpane doctor --report --body-file <path|->", " runpane daemon repair [--pane-dir <path>] [--yes] [--json]", " runpane agent-context [--json]", " runpane mcp [--toolsets <name,...>] [--read-only]", " 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 cost [--repo <selector>] [--pane <pane-id>] [--json]", " runpane workspace state [--repo <selector>] [--json]", " runpane watch --follow", " 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>|--keys <name,...>|--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 panes git-status --pane <pane-id> [--json] [--pane-dir <path>]", " runpane panes commit --pane <pane-id> --message <message> --yes [--json] [--pane-dir <path>]", " runpane panes push --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes pull --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes rebase-main --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes restore --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane links create --pane <pane-id> [--panel <panel-id>] [--json]", " runpane links open --url <pane-url> --yes [--json] [--pane-dir <path>]", " runpane docs search --query <text> [--limit <count>] [--json]", " runpane docs read --doc <path> [--json]", " runpane agents start --repo <selector> --name <name> (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task> [--base-branch <branch>] --yes [--json] [--pane-dir <path>]", " runpane agents status (--pane <pane-id>|--panel <panel-id>) [--limit <count>] [--json] [--pane-dir <path>]", " runpane agents send (--pane <pane-id>|--panel <panel-id>) --text <message> --yes [--json] [--pane-dir <path>]", " runpane panes squash-rebase --pane <pane-id> --message <message> --yes [--json] [--pane-dir <path>]", " runpane panes stash --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes stash-pop --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes soft-reset --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes fetch --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes run-script --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes stop-script --pane <pane-id> --yes [--json] [--pane-dir <path>]", " runpane panes move --pane <pane-id> --folder <folder-id> --yes [--json] [--pane-dir <path>]", " runpane folders list --repo <repo-id> [--json] [--pane-dir <path>]", " runpane folders create --repo <repo-id> --name <name> --yes [--json] [--pane-dir <path>]", " 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."];
|
|
602
966
|
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>"];
|
|
603
967
|
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"];
|
|
604
968
|
readonly update: readonly ["Usage:", " runpane update [--version <latest|vX.Y.Z>] [--dry-run] [--yes]"];
|
|
@@ -623,8 +987,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
623
987
|
readonly panels: readonly ["Terminal-backed panel commands.", "", "Usage:", " runpane panels <command> [options]", "", "Commands:", " runpane panels create --pane <pane-id> --agent <codex|claude|cursor> [options]", " runpane panels list --pane <pane-id> [--json]", " runpane panels screen --panel <panel-id> [--limit <count>] [--json]", " runpane panels output --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]", "", "Run \"runpane help panels create\" or another command-specific topic for options."];
|
|
624
988
|
readonly "panels list": readonly ["Usage:", " runpane panels list --pane <pane-id> [--json]", "", "Lists tool panels in a Pane session.", "", "Options:", " --pane <pane-id>", " --pane-dir <path>", " --json"];
|
|
625
989
|
readonly "panels output": readonly ["Usage:", " runpane panels output --panel <panel-id> [--limit <count>] [--json]", "", "Reads recent terminal output records from a panel.", "", "Options:", " --panel <panel-id>", " --limit <count>", " --pane-dir <path>", " --json"];
|
|
626
|
-
readonly "panels input": readonly ["Usage:", " runpane panels input --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", "", "Sends exact input bytes to a terminal panel. Include a newline in the input when you mean Enter.", "", "Options:", " --panel <panel-id>", " --text <text>", " --input-file <path|->", " --pane-dir <path>", " --json", " --yes"];
|
|
990
|
+
readonly "panels input": readonly ["Usage:", " runpane panels input --panel <panel-id> (--text <text>|--keys <name,...>|--input-file <path|->) --yes [--json]", "", "Sends exact input bytes to a terminal panel. Include a newline in the input when you mean Enter.", "", "Options:", " --panel <panel-id>", " --text <text>", " --keys <name,...> Keys to press: enter, escape, tab, up, down, ctrl-c, ...", " --input-file <path|->", " --pane-dir <path>", " --json", " --yes"];
|
|
627
991
|
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"];
|
|
992
|
+
readonly mcp: readonly ["Usage:", " runpane mcp", "", "The Pane MCP server ships in the npm package and inside the Pane app, not in the Python package.", "Run it with Node instead: npx --yes runpane@latest mcp"];
|
|
628
993
|
readonly "agents doctor": readonly ["Usage:", " runpane agents doctor --agent <codex|claude|cursor> [--repo <selector>] [--json]", "", "Diagnoses whether Codex or Claude is available in the same repository environment Pane will use.", "", "Options:", " --agent <codex|claude|cursor> Built-in agent command to diagnose", " --repo <selector> active, id, exact path, or saved repository name; defaults to active", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output"];
|
|
629
994
|
readonly "panels screen": readonly ["Usage:", " runpane panels screen --panel <panel-id> [--limit <count>] [--json]", "", "Reads a compact current-screen view from a terminal panel. Prefers alternate-screen/TUI output and falls back to recent scrollback.", "", "Options:", " --panel <panel-id> Terminal panel id", " --limit <count> Maximum lines to return; defaults to 80", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output"];
|
|
630
995
|
readonly "panels submit": readonly ["Usage:", " runpane panels submit --panel <panel-id> (--text <text>|--input-file <path|->) --yes [--json]", "", "Sends text to a terminal panel and normalizes the final terminal Enter to CR. Use this for ordinary prompt answers and shell commands.", "", "Options:", " --panel <panel-id> Terminal panel id", " --text <text> Text to submit before Enter", " --input-file <path|-> Read text from a file or stdin before Enter", " --pane-dir <path> Connect to a specific Pane data directory", " --json Print machine-readable output", " --yes Skip confirmation for this mutating command"];
|
|
@@ -639,6 +1004,29 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
639
1004
|
readonly "sessions associate": readonly ["Usage:", "python -m runpane sessions associate --session <id|name> --pane <pane-id> [--json] [--pane-dir <path>]", "", "Options:", " --session <id|name> Named Session id or exact name.", " --from-json <path|-> Read structured JSON from a file or stdin.", " --pane <pane-id> User-visible Pane to associate or detach.", " --agent <codex|claude|cursor> Agent terminal to use.", " --json Print JSON output."];
|
|
640
1005
|
readonly "sessions detach": readonly ["Usage:", "python -m runpane sessions detach --session <id|name> [--pane <pane-id>] [--json] [--pane-dir <path>]", "", "Options:", " --session <id|name> Named Session id or exact name.", " --from-json <path|-> Read structured JSON from a file or stdin.", " --pane <pane-id> User-visible Pane to associate or detach.", " --agent <codex|claude|cursor> Agent terminal to use.", " --json Print JSON output."];
|
|
641
1006
|
readonly "sessions overview": readonly ["Usage:", "python -m runpane sessions overview --session <id|name> [--json] [--pane-dir <path>]", "", "Options:", " --session <id|name> Named Session id or exact name.", " --from-json <path|-> Read structured JSON from a file or stdin.", " --pane <pane-id> User-visible Pane to associate or detach.", " --agent <codex|claude|cursor> Agent terminal to use.", " --json Print JSON output."];
|
|
1007
|
+
readonly "panes git-status": readonly ["Usage:", " runpane panes git-status --pane <pane-id> [--json] [--pane-dir <path>]", "", "Read the git status of a Pane worktree: uncommitted, unpushed, and behind-main counts.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1008
|
+
readonly "panes commit": readonly ["Usage:", " runpane panes commit --pane <pane-id> --message <message> --yes [--json] [--pane-dir <path>]", "", "Stage all changes in a Pane worktree and commit them.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --message <message> Commit message; the first line is the title.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1009
|
+
readonly "panes push": readonly ["Usage:", " runpane panes push --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Push a Pane branch to its remote.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1010
|
+
readonly "panes pull": readonly ["Usage:", " runpane panes pull --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Pull the remote branch into a Pane worktree.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1011
|
+
readonly "panes rebase-main": readonly ["Usage:", " runpane panes rebase-main --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Rebase a Pane branch onto the latest main branch.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1012
|
+
readonly "panes restore": readonly ["Usage:", " runpane panes restore --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Restore an archived Pane, recreating its worktree.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1013
|
+
readonly "panes squash-rebase": readonly ["Usage:", " runpane panes squash-rebase --pane <pane-id> --message <message> --yes [--json] [--pane-dir <path>]", "", "Squash a Pane branch into one commit and rebase it onto main.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --message <message> Commit message; the first line is the title.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1014
|
+
readonly "panes stash": readonly ["Usage:", " runpane panes stash --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Stash uncommitted changes in a Pane worktree.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1015
|
+
readonly "panes stash-pop": readonly ["Usage:", " runpane panes stash-pop --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Apply and drop the latest stash in a Pane worktree.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1016
|
+
readonly "panes soft-reset": readonly ["Usage:", " runpane panes soft-reset --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Undo the last commit in a Pane, keeping its changes staged.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1017
|
+
readonly "panes fetch": readonly ["Usage:", " runpane panes fetch --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Fetch the remote for a Pane worktree.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1018
|
+
readonly "panes run-script": readonly ["Usage:", " runpane panes run-script --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Run the repository's run script in a Pane.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1019
|
+
readonly "panes stop-script": readonly ["Usage:", " runpane panes stop-script --pane <pane-id> --yes [--json] [--pane-dir <path>]", "", "Stop the run script running in a Pane.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1020
|
+
readonly "panes move": readonly ["Usage:", " runpane panes move --pane <pane-id> --folder <folder-id> --yes [--json] [--pane-dir <path>]", "", "Move a Pane into a sidebar folder.", "", "Options:", " --pane <pane-id> Pane id from panes list or agents start.", " --folder <folder-id> Folder id from folders list.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1021
|
+
readonly "folders list": readonly ["Usage:", " runpane folders list --repo <repo-id> [--json] [--pane-dir <path>]", "", "List the sidebar folders of a repository.", "", "Options:", " --repo <repo-id> Numeric repository id from repos list.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1022
|
+
readonly "folders create": readonly ["Usage:", " runpane folders create --repo <repo-id> --name <name> --yes [--json] [--pane-dir <path>]", "", "Create a sidebar folder in a repository.", "", "Options:", " --repo <repo-id> Numeric repository id from repos list.", " --name <name> Folder name.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1023
|
+
readonly "links create": readonly ["Usage:", " runpane links create --pane <pane-id> [--panel <panel-id>] [--json]", " runpane links create --repo <repo-id> [--json]", " runpane links create --session <session-id> [--json]", "", "Build a pane:// link that opens a Pane, panel, repository, or Session in the Pane app.", "", "Options:", " --pane <pane-id> Pane to open.", " --panel <panel-id> Panel inside the Pane to select.", " --repo <repo-id> Repository id from repos list.", " --session <session-id> Session id or name from sessions list.", " --json Print machine-readable output."];
|
|
1024
|
+
readonly "links open": readonly ["Usage:", " runpane links open --url <pane-url> --yes [--json] [--pane-dir <path>]", "", "Open a pane:// link in the running Pane app.", "", "Options:", " --url <pane-url> A pane://open link from links create.", " --yes Confirm this change; required in non-interactive shells.", " --json Print machine-readable output.", " --pane-dir <path> Connect to a specific Pane data directory."];
|
|
1025
|
+
readonly "docs search": readonly ["Usage:", " runpane docs search --query <text> [--limit <count>] [--json]", "", "`runpane docs search` ships in the npm package and the Pane app, not in the Python package.", "Run it with Node instead: npx --yes runpane@latest docs search"];
|
|
1026
|
+
readonly "docs read": readonly ["Usage:", " runpane docs read --doc <path> [--json]", "", "`runpane docs read` ships in the npm package and the Pane app, not in the Python package.", "Run it with Node instead: npx --yes runpane@latest docs read"];
|
|
1027
|
+
readonly "agents start": readonly ["Usage:", " runpane agents start --repo <selector> --name <name> (--agent <codex|claude|cursor>|--tool-command <command>) --prompt <task> [--base-branch <branch>] --yes [--json] [--pane-dir <path>]", "", "`runpane agents start` ships in the npm package and the Pane app, not in the Python package.", "Run it with Node instead: npx --yes runpane@latest agents start"];
|
|
1028
|
+
readonly "agents status": readonly ["Usage:", " runpane agents status (--pane <pane-id>|--panel <panel-id>) [--limit <count>] [--json] [--pane-dir <path>]", "", "`runpane agents status` ships in the npm package and the Pane app, not in the Python package.", "Run it with Node instead: npx --yes runpane@latest agents status"];
|
|
1029
|
+
readonly "agents send": readonly ["Usage:", " runpane agents send (--pane <pane-id>|--panel <panel-id>) --text <message> --yes [--json] [--pane-dir <path>]", "", "`runpane agents send` ships in the npm package and the Pane app, not in the Python package.", "Run it with Node instead: npx --yes runpane@latest agents send"];
|
|
642
1030
|
readonly sessions: readonly ["Usage:", " runpane sessions <list|create|get|update|set-agent|associate|detach|overview> [options]", "", "Use a named Session to keep context, activity, and evidence attached to one orchestration thread."];
|
|
643
1031
|
};
|
|
644
1032
|
};
|
|
@@ -648,8 +1036,8 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
648
1036
|
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\""];
|
|
649
1037
|
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\""];
|
|
650
1038
|
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."];
|
|
651
|
-
readonly commandUsages: readonly ["runpane", "runpane setup", "runpane install", "runpane install client", "runpane install daemon", "runpane update", "runpane version", "runpane doctor", "runpane doctor --json", "runpane daemon repair --pane-dir ~/.pane_remote --yes --json", "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 list --repo active --json", "runpane panes cost --pane <pane-id> --json", "runpane panes create --repo active --name issue-252 --agent <agent> --prompt \"Kick off the discussion skill for issue 252\" --source agent --no-focus --wait-ready --yes --json", "runpane panes create --from-json panes.json --yes --json", "runpane panes archive --pane <pane-id> --source agent --yes --json", "runpane panes rename --pane <pane-id> --name issue-393 --yes --json", "runpane panels list --pane <pane-id> --json", "runpane panels output --panel <panel-id> --limit 200 --json", "printf 'Continue\\n' | runpane panels input --panel <panel-id> --input-file - --yes --json", "runpane watch --self-test", "runpane watch --follow", "runpane watch --follow --kinds agent.ready,agent.blocked,agent.idle,panel.exited,pane.gone --settle 180000 --blocked-settle 30000 --min-interval 600000 --idle-backoff", "runpane sessions list [--json] [--pane-dir <path>]", "runpane sessions create --from-json <path|-> [--json] [--pane-dir <path>]", "runpane sessions get --session <id|name> [--json] [--pane-dir <path>]", "runpane sessions update --session <id|name> --from-json <path|-> [--json] [--pane-dir <path>]", "runpane sessions set-agent --session <id|name> --agent <codex|claude|cursor> [--json] [--pane-dir <path>]", "runpane sessions associate --session <id|name> --pane <pane-id> [--json] [--pane-dir <path>]", "runpane sessions detach --session <id|name> [--pane <pane-id>] [--json] [--pane-dir <path>]", "runpane sessions overview --session <id|name> [--json] [--pane-dir <path>]", "runpane help", "runpane <command> --help"];
|
|
652
|
-
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, common commands, and agent discovery hints, then 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 only wrapper package metadata and does not contact, launch, or focus the Pane app or daemon.", "`runpane doctor` checks platform support, release metadata reachability, download URL selection, installed Pane detection, daemon reachability, and remote-daemon hints. Add `--json` for a machine-readable report that agents should run before mutating Pane state. Installed app version detection must be best-effort and must not launch, focus, or configure Pane; macOS wrappers read app bundle metadata instead of executing `Pane --version`.", "`runpane daemon repair` rewrites and restarts only the managed remote-daemon launcher/service. It never creates pairing credentials, changes tunnels, or downloads Pane; doctor only recommends it and never runs it automatically.", "`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 list` lists Pane sessions, optionally scoped to one saved repository.", "`runpane panes cost` reports estimated token costs per Pane for the last 30 days, including per-model breakdowns and cache efficiency; unscoped output includes an Unattributed bucket that reconciles against workspace totals.", "`runpane panes create` connects to the running local Pane daemon, resolves the requested saved base repository, creates user-visible Pane sessions backed by Pane-managed worktrees/branches, opens terminal-backed tool tabs, and optionally sends initial input to the started tool. Built-in agent panes and `--source agent` default to background/no-focus unless `--focus` is passed. New Panes are pinned into the UI's favorite/pin set by default; pass `--no-pinned` to opt out. Panes created interactively in the Pane UI are unaffected.", "For `panes create --wait-ready`, `initialInput.verifiedSubmitted: true` is reported only after argument attachment or composer-clear plus activity evidence. Routing input does not by itself verify submission.", "`runpane panes archive` refreshes the configured upstream, reports exact unpushed commit evidence, and refuses unsafe archive operations unless `--force` is used. Add `--dry-run` to inspect the same evidence without archiving. Successful archives wait for worktree removal and report `worktreeCleanup`.", "`runpane panes rename` trims and updates a Pane's display name without changing its worktree, branch, panels, or focus, and returns the updated pane summary.", "`runpane panes focus` raises the Pane window and selects a Pane (and optionally one of its panels) exactly like clicking it in the UI. Because it steals the user's window focus, run it only on an explicit user request to open, focus, show, or switch to a Pane; never focus a Pane proactively, the same doctrine that keeps `panes create` background/no-focus for `--source agent`.", "`runpane panels list` lists tool panels inside one Pane session.", "`runpane panels output` reads bounded recent terminal output from one panel and strips common terminal control noise for agent use.", "`runpane panels input` sends exact input bytes to one terminal panel. Prefer `--input-file` for newlines, Ctrl-C, quotes, or shell-sensitive text.", "`runpane panes create --prompt` is an alias for `--initial-input`; request JSON and daemon payloads should use the canonical `initialInput` field.", "If composer submission cannot be verified without risking a duplicate, the create item is unsuccessful with `initialInput.staged`, `initialInput.attempts`, `initialInput.blocked.kind: submission_unverified`, and an actionable `nextCommand`. The CLI-facing `--prompt` alias maps to this canonical `initialInput` result.", "When running from WSL while Pane is installed on Windows, the Linux wrapper may look for a missing `/tmp/pane-daemon.../daemon.sock` or resolve to a Windows shim such as Volta. In that case invoke the Windows wrapper through PowerShell from a Windows cwd, for example `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane repos list --json'`.", "`runpane watch` waits for workspace transitions from the daemon journal without polling. `--follow` keeps waiting and prints one line per event: READY, BLOCKED, IDLE, STUCK, NEW, GONE, EXIT, plus HEARTBEAT every 60 seconds as proof of life. Defaults are responsive: no settle, no batching, all kinds, IDLE every `--idle-after`. Expensive consumers opt into `--kinds` (drop `agent.busy`; BUSY carries no action), `--settle <ms>` (READY only after a quiet window; a BUSY inside it cancels the line), `--blocked-settle <ms>`, `--min-interval <ms>` (batch non-urgent lines; BLOCKED bypasses it), and `--idle-backoff` (10m, 30m, 1h, 3h, then daily). The recommended orchestrator invocation is `runpane watch --follow --kinds agent.ready,agent.blocked,agent.idle,panel.exited,pane.gone --settle 180000 --blocked-settle 30000 --min-interval 600000 --idle-backoff`, which budgets about 6 wake-ups per active pane per hour worst case, usually 1-3. Pane Chat arms it automatically through its skill; only your own scripts need the flags. STUCK means real unsubmitted composer text, never an agent prompt suggestion. Judge a dead watch by a non-zero exit or a WATCH ERROR line, not by silence.", "`sessions list` list durable named orchestration Sessions.", "`sessions create` create a durable named orchestration Session and its hidden terminal owner.", "`sessions get` read one durable named orchestration Session.", "`sessions update` update a Session overview from structured JSON.", "`sessions set-agent` switch the durable terminal agent for a named Session.", "`sessions associate` associate a user-visible Pane with a named Session.", "`sessions detach` detach a Pane from a named Session.", "`sessions overview` read a live status, activity, git, and pull request overview for a named Session."];
|
|
1039
|
+
readonly commandUsages: readonly ["runpane", "runpane setup", "runpane install", "runpane install client", "runpane install daemon", "runpane update", "runpane version", "runpane doctor", "runpane doctor --json", "runpane daemon repair --pane-dir ~/.pane_remote --yes --json", "runpane agent-context", "runpane agent-context --command \"panes create\" --json", "runpane mcp", "runpane repos list --json", "runpane repos add --path /path/to/repo --name Pane --yes --json", "runpane panes list --repo active --json", "runpane panes cost --pane <pane-id> --json", "runpane panes create --repo active --name issue-252 --agent <agent> --prompt \"Kick off the discussion skill for issue 252\" --source agent --no-focus --wait-ready --yes --json", "runpane panes create --from-json panes.json --yes --json", "runpane panes archive --pane <pane-id> --source agent --yes --json", "runpane panes rename --pane <pane-id> --name issue-393 --yes --json", "runpane panels list --pane <pane-id> --json", "runpane panels output --panel <panel-id> --limit 200 --json", "printf 'Continue\\n' | runpane panels input --panel <panel-id> --input-file - --yes --json", "runpane watch --self-test", "runpane watch --follow", "runpane watch --follow --kinds agent.ready,agent.blocked,agent.idle,panel.exited,pane.gone --settle 180000 --blocked-settle 30000 --min-interval 600000 --idle-backoff", "runpane sessions list [--json] [--pane-dir <path>]", "runpane sessions create --from-json <path|-> [--json] [--pane-dir <path>]", "runpane sessions get --session <id|name> [--json] [--pane-dir <path>]", "runpane sessions update --session <id|name> --from-json <path|-> [--json] [--pane-dir <path>]", "runpane sessions set-agent --session <id|name> --agent <codex|claude|cursor> [--json] [--pane-dir <path>]", "runpane sessions associate --session <id|name> --pane <pane-id> [--json] [--pane-dir <path>]", "runpane sessions detach --session <id|name> [--pane <pane-id>] [--json] [--pane-dir <path>]", "runpane sessions overview --session <id|name> [--json] [--pane-dir <path>]", "runpane agents start --repo active --name fix-login --agent claude --prompt \"Fix the login redirect\" --yes --json", "runpane agents status --pane <pane-id> --json", "runpane agents send --pane <pane-id> --text \"Also add a test\" --yes --json", "runpane docs search --query \"archive a pane\" --json", "runpane links create --pane <pane-id> --json", "runpane panes git-status --pane <pane-id> --json", "runpane help", "runpane <command> --help"];
|
|
1040
|
+
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, common commands, and agent discovery hints, then 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 only wrapper package metadata and does not contact, launch, or focus the Pane app or daemon.", "`runpane doctor` checks platform support, release metadata reachability, download URL selection, installed Pane detection, daemon reachability, and remote-daemon hints. Add `--json` for a machine-readable report that agents should run before mutating Pane state. Installed app version detection must be best-effort and must not launch, focus, or configure Pane; macOS wrappers read app bundle metadata instead of executing `Pane --version`.", "`runpane daemon repair` rewrites and restarts only the managed remote-daemon launcher/service. It never creates pairing credentials, changes tunnels, or downloads Pane; doctor only recommends it and never runs it automatically.", "`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 mcp` runs a stdio MCP server whose tools are generated from this contract: every command with result `jsonSchemas` becomes a tool that runs `runpane <command> --json` and returns its output. Only the npm package and the Pane app include it; the Python wrapper prints how to run it with Node and exits non-zero.", "`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 list` lists Pane sessions, optionally scoped to one saved repository.", "`runpane panes cost` reports estimated token costs per Pane for the last 30 days, including per-model breakdowns and cache efficiency; unscoped output includes an Unattributed bucket that reconciles against workspace totals.", "`runpane panes create` connects to the running local Pane daemon, resolves the requested saved base repository, creates user-visible Pane sessions backed by Pane-managed worktrees/branches, opens terminal-backed tool tabs, and optionally sends initial input to the started tool. Built-in agent panes and `--source agent` default to background/no-focus unless `--focus` is passed. New Panes are pinned into the UI's favorite/pin set by default; pass `--no-pinned` to opt out. Panes created interactively in the Pane UI are unaffected.", "For `panes create --wait-ready`, `initialInput.verifiedSubmitted: true` is reported only after argument attachment or composer-clear plus activity evidence. Routing input does not by itself verify submission.", "`runpane panes archive` refreshes the configured upstream, reports exact unpushed commit evidence, and refuses unsafe archive operations unless `--force` is used. Add `--dry-run` to inspect the same evidence without archiving. Successful archives wait for worktree removal and report `worktreeCleanup`.", "`runpane panes rename` trims and updates a Pane's display name without changing its worktree, branch, panels, or focus, and returns the updated pane summary.", "`runpane panes focus` raises the Pane window and selects a Pane (and optionally one of its panels) exactly like clicking it in the UI. Because it steals the user's window focus, run it only on an explicit user request to open, focus, show, or switch to a Pane; never focus a Pane proactively, the same doctrine that keeps `panes create` background/no-focus for `--source agent`.", "`runpane panels list` lists tool panels inside one Pane session.", "`runpane panels output` reads bounded recent terminal output from one panel and strips common terminal control noise for agent use.", "`runpane panels input` sends exact input bytes to one terminal panel. Prefer `--input-file` for newlines, Ctrl-C, quotes, or shell-sensitive text.", "`runpane panes create --prompt` is an alias for `--initial-input`; request JSON and daemon payloads should use the canonical `initialInput` field.", "If composer submission cannot be verified without risking a duplicate, the create item is unsuccessful with `initialInput.staged`, `initialInput.attempts`, `initialInput.blocked.kind: submission_unverified`, and an actionable `nextCommand`. The CLI-facing `--prompt` alias maps to this canonical `initialInput` result.", "When running from WSL while Pane is installed on Windows, the Linux wrapper may look for a missing `/tmp/pane-daemon.../daemon.sock` or resolve to a Windows shim such as Volta. In that case invoke the Windows wrapper through PowerShell from a Windows cwd, for example `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane repos list --json'`.", "`runpane watch` waits for workspace transitions from the daemon journal without polling. `--follow` keeps waiting and prints one line per event: READY, BLOCKED, IDLE, STUCK, NEW, GONE, EXIT, plus HEARTBEAT every 60 seconds as proof of life. Defaults are responsive: no settle, no batching, all kinds, IDLE every `--idle-after`. Expensive consumers opt into `--kinds` (drop `agent.busy`; BUSY carries no action), `--settle <ms>` (READY only after a quiet window; a BUSY inside it cancels the line), `--blocked-settle <ms>`, `--min-interval <ms>` (batch non-urgent lines; BLOCKED bypasses it), and `--idle-backoff` (10m, 30m, 1h, 3h, then daily). The recommended orchestrator invocation is `runpane watch --follow --kinds agent.ready,agent.blocked,agent.idle,panel.exited,pane.gone --settle 180000 --blocked-settle 30000 --min-interval 600000 --idle-backoff`, which budgets about 6 wake-ups per active pane per hour worst case, usually 1-3. Pane Chat arms it automatically through its skill; only your own scripts need the flags. STUCK means real unsubmitted composer text, never an agent prompt suggestion. Judge a dead watch by a non-zero exit or a WATCH ERROR line, not by silence.", "`sessions list` list durable named orchestration Sessions.", "`sessions create` create a durable named orchestration Session and its hidden terminal owner.", "`sessions get` read one durable named orchestration Session.", "`sessions update` update a Session overview from structured JSON.", "`sessions set-agent` switch the durable terminal agent for a named Session.", "`sessions associate` associate a user-visible Pane with a named Session.", "`sessions detach` detach a Pane from a named Session.", "`sessions overview` read a live status, activity, git, and pull request overview for a named Session.", "`runpane agents start|status|send` finish the three common agent jobs in one call each: start an agent on a task in a repository, check on it, and send it a follow-up.", "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.", "`runpane links create` builds `pane://open?...` links; opening one in Pane selects what it names and never changes Pane state.", "`runpane docs search|read` search and read Pane docs, help, and installed Pane Chat skills offline. They ship in the npm package and the Pane app only."];
|
|
653
1041
|
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.";
|
|
654
1042
|
readonly localControlFlagNote: "`runpane doctor --json`, `runpane repos list`, `runpane panes ...`, and `runpane panels ...` commands use or describe 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. In a Pane repository checkout, if `runpane` is not on PATH, use the built local wrapper with Node 22, for example `PATH=/opt/homebrew/opt/node@22/bin:$PATH node packages/runpane/dist/cli.js doctor --json`. From WSL, if the user runs Windows Pane, call the Windows wrapper through `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane ...'` so the command can reach the Windows named-pipe daemon and avoid UNC cwd issues.";
|
|
655
1043
|
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.";
|
|
@@ -657,7 +1045,7 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
657
1045
|
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."];
|
|
658
1046
|
};
|
|
659
1047
|
readonly testFixtures: {
|
|
660
|
-
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 ["doctor", "--json", "--pane-dir", "/tmp/pane"], readonly ["doctor", "--report", "--title", "watch failed", "--body-file", "/tmp/watch-evidence.txt", "--json"], readonly ["watch", "--as", "monitor", "--from", "earliest", "--follow", "--format", "lines", "--heartbeat", "60", "--idle-after", "600000", "--settle", "180000", "--blocked-settle", "30000", "--min-interval", "600000", "--idle-backoff", "--all-managed", "--agents-only", "--exclude-pane", "pane-old", "--kinds", "agent.ready,agent.idle", "--include-held-input", "--self-test"], readonly ["daemon", "repair", "--pane-dir", "/tmp/pane-remote", "--yes", "--json"], 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", "list", "--repo", "active", "--json"], readonly ["panes", "cost", "--pane", "session-1", "--json"], readonly ["panes", "create", "--repo", "active", "--name", "issue-252", "--agent", "codex", "--prompt", "Kick off discussion", "--source", "agent", "--pinned", "--dry-run", "--yes", "--json"], readonly ["panes", "create", "--repo", "active", "--name", "issue-252", "--agent", "codex", "--prompt", "Kick off discussion", "--source", "agent", "--no-pinned", "--dry-run", "--yes", "--json"], readonly ["panes", "create", "--from-json", "-", "--yes", "--json"], readonly ["panes", "archive", "--pane", "session-1", "--force", "--source", "agent", "--yes", "--json"], readonly ["panes", "pin", "--pane", "session-1", "--yes", "--json"], readonly ["panes", "unpin", "--pane", "session-1", "--yes", "--json"], readonly ["panes", "rename", "--pane", "session-1", "--name", "issue-393", "--yes", "--json"], readonly ["panes", "focus", "--pane", "session-1", "--panel", "panel-1", "--source", "user", "--yes", "--json"], readonly ["panels", "list", "--pane", "session-1", "--json"], readonly ["panels", "output", "--panel", "panel-1", "--limit", "200", "--json"], readonly ["panels", "input", "--panel", "panel-1", "--text", "Continue\\n", "--yes", "--json"], readonly ["--version"], readonly ["agents", "doctor", "--agent", "codex", "--repo", "active", "--json"], readonly ["panes", "create", "--from-json", "-", "--source", "agent", "--focus", "--wait-ready", "--ready-timeout-ms", "45000", "--concurrency", "2", "--yes", "--json"], readonly ["panels", "screen", "--panel", "panel-1", "--limit", "80", "--json"], readonly ["panels", "submit", "--panel", "panel-1", "--text", "2", "--yes", "--json"], readonly ["panels", "wait", "--panel", "panel-1", "--for", "text", "--contains", "ready", "--timeout-ms", "30000", "--interval-ms", "500", "--json"], readonly ["panels", "create", "--pane", "pane-1", "--agent", "codex", "--source", "agent", "--no-focus", "--wait-ready", "--ready-timeout-ms", "15000", "--yes", "--json"], readonly ["panels", "create", "--pane", "pane-1", "--agent", "codex", "--focus", "--yes", "--json"], readonly ["panels", "submit-composer", "--panel", "panel-1", "--strategy", "auto", "--yes", "--json"], readonly ["sessions", "list", "--json"], readonly ["sessions", "get", "--session", "demo", "--json"], readonly ["sessions", "update", "--session", "demo", "--from-json", "-"]];
|
|
1048
|
+
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 ["doctor", "--json", "--pane-dir", "/tmp/pane"], readonly ["doctor", "--report", "--title", "watch failed", "--body-file", "/tmp/watch-evidence.txt", "--json"], readonly ["watch", "--as", "monitor", "--from", "earliest", "--follow", "--format", "lines", "--heartbeat", "60", "--idle-after", "600000", "--settle", "180000", "--blocked-settle", "30000", "--min-interval", "600000", "--idle-backoff", "--all-managed", "--agents-only", "--exclude-pane", "pane-old", "--kinds", "agent.ready,agent.idle", "--include-held-input", "--self-test"], readonly ["daemon", "repair", "--pane-dir", "/tmp/pane-remote", "--yes", "--json"], 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", "list", "--repo", "active", "--json"], readonly ["panes", "cost", "--pane", "session-1", "--json"], readonly ["panes", "create", "--repo", "active", "--name", "issue-252", "--agent", "codex", "--prompt", "Kick off discussion", "--source", "agent", "--pinned", "--dry-run", "--yes", "--json"], readonly ["panes", "create", "--repo", "active", "--name", "issue-252", "--agent", "codex", "--prompt", "Kick off discussion", "--source", "agent", "--no-pinned", "--dry-run", "--yes", "--json"], readonly ["panes", "create", "--from-json", "-", "--yes", "--json"], readonly ["panes", "archive", "--pane", "session-1", "--force", "--source", "agent", "--yes", "--json"], readonly ["panes", "pin", "--pane", "session-1", "--yes", "--json"], readonly ["panes", "unpin", "--pane", "session-1", "--yes", "--json"], readonly ["panes", "rename", "--pane", "session-1", "--name", "issue-393", "--yes", "--json"], readonly ["panes", "focus", "--pane", "session-1", "--panel", "panel-1", "--source", "user", "--yes", "--json"], readonly ["panels", "list", "--pane", "session-1", "--json"], readonly ["panels", "output", "--panel", "panel-1", "--limit", "200", "--json"], readonly ["panels", "input", "--panel", "panel-1", "--text", "Continue\\n", "--yes", "--json"], readonly ["--version"], readonly ["agents", "doctor", "--agent", "codex", "--repo", "active", "--json"], readonly ["panes", "create", "--from-json", "-", "--source", "agent", "--focus", "--wait-ready", "--ready-timeout-ms", "45000", "--concurrency", "2", "--yes", "--json"], readonly ["panels", "screen", "--panel", "panel-1", "--limit", "80", "--json"], readonly ["panels", "submit", "--panel", "panel-1", "--text", "2", "--yes", "--json"], readonly ["panels", "wait", "--panel", "panel-1", "--for", "text", "--contains", "ready", "--timeout-ms", "30000", "--interval-ms", "500", "--json"], readonly ["panels", "create", "--pane", "pane-1", "--agent", "codex", "--source", "agent", "--no-focus", "--wait-ready", "--ready-timeout-ms", "15000", "--yes", "--json"], readonly ["panels", "create", "--pane", "pane-1", "--agent", "codex", "--focus", "--yes", "--json"], readonly ["panels", "submit-composer", "--panel", "panel-1", "--strategy", "auto", "--yes", "--json"], readonly ["sessions", "list", "--json"], readonly ["sessions", "get", "--session", "demo", "--json"], readonly ["sessions", "update", "--session", "demo", "--from-json", "-"], readonly ["panels", "submit", "--panel=panel-1", "--text=- [ ] item", "--yes", "--json"], readonly ["panes", "commit", "--pane", "pane-1", "--message", "fix: title\n\nbody", "--yes", "--json"], readonly ["links", "create", "--pane", "pane-1", "--panel", "panel-1", "--json"], readonly ["links", "open", "--url=pane://open?pane=pane-1", "--yes"], readonly ["mcp", "--toolsets", "core,git", "--read-only"], readonly ["docs", "search", "--query", "archive a pane", "--limit", "3"], readonly ["docs", "read", "--doc", "docs/PANE_MCP.md"], readonly ["agents", "start", "--repo", "active", "--name", "fix-login", "--agent", "claude", "--prompt", "Fix the login redirect", "--yes", "--json"], readonly ["agents", "send", "--pane", "pane-1", "--text=- [ ] item", "--yes"], readonly ["panels", "input", "--panel", "panel-1", "--keys", "down,enter", "--yes", "--json"], readonly ["panes", "squash-rebase", "--pane", "pane-1", "--message", "feat: land it", "--yes", "--json"], readonly ["folders", "create", "--repo", "3", "--name", "Reviews", "--yes"], readonly ["panes", "move", "--pane", "pane-1", "--folder", "folder-9", "--yes", "--json"]];
|
|
661
1049
|
readonly topLevelHelpIncludes: readonly ["runpane setup", "runpane install", "runpane update", "runpane version", "runpane doctor", "runpane agent-context", "runpane repos list", "runpane repos add", "runpane panes list", "runpane panes create", "runpane panes archive", "runpane panels create", "runpane panels list", "runpane panels output", "runpane panels input", "runpane agents doctor", "runpane panels screen", "runpane panels submit", "runpane panels submit-composer", "runpane panels wait", "runpane doctor --json", "runpane agent-context --json", "Agent discovery:", "Common commands:"];
|
|
662
1050
|
readonly npmHelpIncludes: readonly ["pnpm dlx runpane@latest", "npx --yes runpane@latest"];
|
|
663
1051
|
readonly pipHelpIncludes: readonly ["pipx run runpane", "python -m pip install runpane && python -m runpane setup"];
|
|
@@ -3106,6 +3494,206 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
3106
3494
|
};
|
|
3107
3495
|
readonly additionalProperties: false;
|
|
3108
3496
|
};
|
|
3497
|
+
readonly daemonActionResult: {
|
|
3498
|
+
readonly type: "object";
|
|
3499
|
+
readonly required: readonly ["ok"];
|
|
3500
|
+
readonly properties: {
|
|
3501
|
+
readonly ok: {
|
|
3502
|
+
readonly type: "boolean";
|
|
3503
|
+
};
|
|
3504
|
+
readonly data: {};
|
|
3505
|
+
readonly error: {
|
|
3506
|
+
readonly type: "object";
|
|
3507
|
+
readonly required: readonly ["message"];
|
|
3508
|
+
readonly properties: {
|
|
3509
|
+
readonly message: {
|
|
3510
|
+
readonly type: "string";
|
|
3511
|
+
};
|
|
3512
|
+
};
|
|
3513
|
+
readonly additionalProperties: false;
|
|
3514
|
+
};
|
|
3515
|
+
readonly link: {
|
|
3516
|
+
readonly type: "string";
|
|
3517
|
+
};
|
|
3518
|
+
};
|
|
3519
|
+
readonly additionalProperties: false;
|
|
3520
|
+
};
|
|
3521
|
+
readonly linkCreateResult: {
|
|
3522
|
+
readonly type: "object";
|
|
3523
|
+
readonly required: readonly ["ok", "url", "target"];
|
|
3524
|
+
readonly properties: {
|
|
3525
|
+
readonly ok: {
|
|
3526
|
+
readonly const: true;
|
|
3527
|
+
};
|
|
3528
|
+
readonly url: {
|
|
3529
|
+
readonly type: "string";
|
|
3530
|
+
};
|
|
3531
|
+
readonly target: {
|
|
3532
|
+
readonly type: "object";
|
|
3533
|
+
readonly required: readonly ["kind", "id"];
|
|
3534
|
+
readonly properties: {
|
|
3535
|
+
readonly kind: {
|
|
3536
|
+
readonly enum: readonly ["pane", "repo", "session"];
|
|
3537
|
+
};
|
|
3538
|
+
readonly id: {
|
|
3539
|
+
readonly type: "string";
|
|
3540
|
+
};
|
|
3541
|
+
readonly panelId: {
|
|
3542
|
+
readonly type: "string";
|
|
3543
|
+
};
|
|
3544
|
+
};
|
|
3545
|
+
readonly additionalProperties: false;
|
|
3546
|
+
};
|
|
3547
|
+
};
|
|
3548
|
+
readonly additionalProperties: false;
|
|
3549
|
+
};
|
|
3550
|
+
readonly docsSearchResult: {
|
|
3551
|
+
readonly type: "object";
|
|
3552
|
+
readonly required: readonly ["ok", "query", "results"];
|
|
3553
|
+
readonly properties: {
|
|
3554
|
+
readonly ok: {
|
|
3555
|
+
readonly const: true;
|
|
3556
|
+
};
|
|
3557
|
+
readonly query: {
|
|
3558
|
+
readonly type: "string";
|
|
3559
|
+
};
|
|
3560
|
+
readonly results: {
|
|
3561
|
+
readonly type: "array";
|
|
3562
|
+
readonly items: {
|
|
3563
|
+
readonly type: "object";
|
|
3564
|
+
readonly required: readonly ["path", "title", "kind", "excerpt"];
|
|
3565
|
+
readonly properties: {
|
|
3566
|
+
readonly path: {
|
|
3567
|
+
readonly type: "string";
|
|
3568
|
+
};
|
|
3569
|
+
readonly title: {
|
|
3570
|
+
readonly type: "string";
|
|
3571
|
+
};
|
|
3572
|
+
readonly kind: {
|
|
3573
|
+
readonly enum: readonly ["doc", "skill", "help", "command"];
|
|
3574
|
+
};
|
|
3575
|
+
readonly excerpt: {
|
|
3576
|
+
readonly type: "string";
|
|
3577
|
+
};
|
|
3578
|
+
};
|
|
3579
|
+
readonly additionalProperties: false;
|
|
3580
|
+
};
|
|
3581
|
+
};
|
|
3582
|
+
};
|
|
3583
|
+
readonly additionalProperties: false;
|
|
3584
|
+
};
|
|
3585
|
+
readonly docsReadResult: {
|
|
3586
|
+
readonly type: "object";
|
|
3587
|
+
readonly required: readonly ["ok", "path", "title", "kind", "text"];
|
|
3588
|
+
readonly properties: {
|
|
3589
|
+
readonly ok: {
|
|
3590
|
+
readonly const: true;
|
|
3591
|
+
};
|
|
3592
|
+
readonly path: {
|
|
3593
|
+
readonly type: "string";
|
|
3594
|
+
};
|
|
3595
|
+
readonly title: {
|
|
3596
|
+
readonly type: "string";
|
|
3597
|
+
};
|
|
3598
|
+
readonly kind: {
|
|
3599
|
+
readonly enum: readonly ["doc", "skill", "help", "command"];
|
|
3600
|
+
};
|
|
3601
|
+
readonly text: {
|
|
3602
|
+
readonly type: "string";
|
|
3603
|
+
};
|
|
3604
|
+
};
|
|
3605
|
+
readonly additionalProperties: false;
|
|
3606
|
+
};
|
|
3607
|
+
readonly agentTaskResult: {
|
|
3608
|
+
readonly type: "object";
|
|
3609
|
+
readonly required: readonly ["ok", "paneId", "panelId", "link", "ready"];
|
|
3610
|
+
readonly properties: {
|
|
3611
|
+
readonly ok: {
|
|
3612
|
+
readonly type: "boolean";
|
|
3613
|
+
};
|
|
3614
|
+
readonly paneId: {
|
|
3615
|
+
readonly type: "string";
|
|
3616
|
+
};
|
|
3617
|
+
readonly panelId: {
|
|
3618
|
+
readonly type: "string";
|
|
3619
|
+
};
|
|
3620
|
+
readonly name: {
|
|
3621
|
+
readonly type: "string";
|
|
3622
|
+
};
|
|
3623
|
+
readonly worktreePath: {
|
|
3624
|
+
readonly type: "string";
|
|
3625
|
+
};
|
|
3626
|
+
readonly link: {
|
|
3627
|
+
readonly type: "string";
|
|
3628
|
+
};
|
|
3629
|
+
readonly ready: {
|
|
3630
|
+
readonly type: "boolean";
|
|
3631
|
+
};
|
|
3632
|
+
readonly promptDelivered: {
|
|
3633
|
+
readonly type: "boolean";
|
|
3634
|
+
};
|
|
3635
|
+
readonly next: {
|
|
3636
|
+
readonly type: "string";
|
|
3637
|
+
};
|
|
3638
|
+
};
|
|
3639
|
+
readonly additionalProperties: false;
|
|
3640
|
+
};
|
|
3641
|
+
readonly agentStatusResult: {
|
|
3642
|
+
readonly type: "object";
|
|
3643
|
+
readonly required: readonly ["ok", "paneId", "panelId", "status", "screen"];
|
|
3644
|
+
readonly properties: {
|
|
3645
|
+
readonly ok: {
|
|
3646
|
+
readonly const: true;
|
|
3647
|
+
};
|
|
3648
|
+
readonly paneId: {
|
|
3649
|
+
readonly type: "string";
|
|
3650
|
+
};
|
|
3651
|
+
readonly panelId: {
|
|
3652
|
+
readonly type: "string";
|
|
3653
|
+
};
|
|
3654
|
+
readonly paneName: {
|
|
3655
|
+
readonly type: "string";
|
|
3656
|
+
};
|
|
3657
|
+
readonly status: {
|
|
3658
|
+
readonly enum: readonly ["working", "ready", "blocked", "idle", "exited", "unknown"];
|
|
3659
|
+
};
|
|
3660
|
+
readonly screen: {
|
|
3661
|
+
readonly type: "string";
|
|
3662
|
+
};
|
|
3663
|
+
readonly hasUndeliveredText: {
|
|
3664
|
+
readonly type: "boolean";
|
|
3665
|
+
};
|
|
3666
|
+
readonly link: {
|
|
3667
|
+
readonly type: "string";
|
|
3668
|
+
};
|
|
3669
|
+
};
|
|
3670
|
+
readonly additionalProperties: false;
|
|
3671
|
+
};
|
|
3672
|
+
readonly agentSendResult: {
|
|
3673
|
+
readonly type: "object";
|
|
3674
|
+
readonly required: readonly ["ok", "paneId", "panelId", "delivered"];
|
|
3675
|
+
readonly properties: {
|
|
3676
|
+
readonly ok: {
|
|
3677
|
+
readonly type: "boolean";
|
|
3678
|
+
};
|
|
3679
|
+
readonly paneId: {
|
|
3680
|
+
readonly type: "string";
|
|
3681
|
+
};
|
|
3682
|
+
readonly panelId: {
|
|
3683
|
+
readonly type: "string";
|
|
3684
|
+
};
|
|
3685
|
+
readonly delivered: {
|
|
3686
|
+
readonly type: "boolean";
|
|
3687
|
+
};
|
|
3688
|
+
readonly blocked: {
|
|
3689
|
+
readonly type: "string";
|
|
3690
|
+
};
|
|
3691
|
+
readonly next: {
|
|
3692
|
+
readonly type: "string";
|
|
3693
|
+
};
|
|
3694
|
+
};
|
|
3695
|
+
readonly additionalProperties: false;
|
|
3696
|
+
};
|
|
3109
3697
|
};
|
|
3110
3698
|
readonly agentContext: {
|
|
3111
3699
|
readonly brief: {
|
|
@@ -3398,6 +3986,25 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
3398
3986
|
readonly jsonSchemas: readonly ["agentContextBriefResult", "agentContextCommandResult"];
|
|
3399
3987
|
readonly notes: readonly ["Default output is brief so AGENTS.md can point here without bloating context.", "`--command` accepts canonical spaced names and common copied forms, including `panes.create` and `runpane panes create`."];
|
|
3400
3988
|
};
|
|
3989
|
+
readonly mcp: {
|
|
3990
|
+
readonly name: "mcp";
|
|
3991
|
+
readonly summary: "Run the Pane MCP server over stdio so coding agents can call runpane commands as tools.";
|
|
3992
|
+
readonly details: "Use this to register Pane with an MCP client. Pane registers it with Claude Code and Codex automatically; each tool mirrors one runpane command and returns its --json result.";
|
|
3993
|
+
readonly requiresPaneDaemon: false;
|
|
3994
|
+
readonly mutates: false;
|
|
3995
|
+
readonly arguments: readonly [{
|
|
3996
|
+
readonly name: "--toolsets";
|
|
3997
|
+
readonly value: "<name,...>";
|
|
3998
|
+
readonly required: false;
|
|
3999
|
+
readonly description: "Comma-separated toolsets to serve: core (default), all, read, repos, panes, panels, agents, sessions, git, docs, links, admin.";
|
|
4000
|
+
}, {
|
|
4001
|
+
readonly name: "--read-only";
|
|
4002
|
+
readonly required: false;
|
|
4003
|
+
readonly description: "Serve only read-only tools.";
|
|
4004
|
+
}];
|
|
4005
|
+
readonly examples: readonly ["claude mcp add --scope user pane -- npx --yes runpane@latest mcp", "codex mcp add pane -- npx --yes runpane@latest mcp"];
|
|
4006
|
+
readonly notes: readonly ["Only the npm package and the Pane app include the MCP server; the Python package prints how to run it with Node.", "Commands that need --yes in the CLI take `yes: true` as a tool input."];
|
|
4007
|
+
};
|
|
3401
4008
|
readonly "repos list": {
|
|
3402
4009
|
readonly name: "repos list";
|
|
3403
4010
|
readonly summary: "List repositories saved in the running Pane app.";
|
|
@@ -3700,7 +4307,7 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
3700
4307
|
}];
|
|
3701
4308
|
readonly examples: readonly ["runpane panes archive --pane <pane-id> --source agent --yes --json", "runpane panes archive --pane <pane-id> --dry-run --json", "runpane panes archive --pane <pane-id> --force --yes --json"];
|
|
3702
4309
|
readonly jsonSchemas: readonly ["paneArchiveRequest", "paneArchiveResult"];
|
|
3703
|
-
readonly notes: readonly ["If the result has ok:false with a blocked field, the pane was NOT archived; inspect blocked.code and rerun with --force if discarding the flagged work is intentional.", "Inspect safetyCheck.unpushedCommitDetails for exact commit IDs and subjects; upstreamRefreshed confirms the tracking ref was refreshed first.", "A --dry-run result sets dryRun:true and wouldArchive without deleting the Pane or its worktree.", "A successful archive waits for the Pane-managed worktree to be removed before returning; check worktreeCleanup in the result for the final outcome.", "Archiving a main-repo Pane (no Pane-managed worktree) always succeeds immediately since nothing is deleted from disk."];
|
|
4310
|
+
readonly notes: readonly ["If the result has ok:false with a blocked field, the pane was NOT archived; inspect blocked.code and rerun with --force if discarding the flagged work is intentional.", "Inspect safetyCheck.unpushedCommitDetails for exact commit IDs and subjects; upstreamRefreshed confirms the tracking ref was refreshed first.", "A --dry-run result sets dryRun:true and wouldArchive without deleting the Pane or its worktree.", "A successful archive waits for the Pane-managed worktree to be removed before returning; check worktreeCleanup in the result for the final outcome.", "Archiving a main-repo Pane (no Pane-managed worktree) always succeeds immediately since nothing is deleted from disk.", "Undo an archive with `runpane panes restore --pane <pane-id> --yes`, which recreates the worktree. `runpane links create --pane <pane-id>` gives the user a link to review the Pane first."];
|
|
3704
4311
|
};
|
|
3705
4312
|
readonly "panes pin": {
|
|
3706
4313
|
readonly name: "panes pin";
|
|
@@ -3896,6 +4503,11 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
3896
4503
|
readonly value: "<text>";
|
|
3897
4504
|
readonly required: false;
|
|
3898
4505
|
readonly description: "Text bytes to send.";
|
|
4506
|
+
}, {
|
|
4507
|
+
readonly name: "--keys";
|
|
4508
|
+
readonly value: "<name,...>";
|
|
4509
|
+
readonly required: false;
|
|
4510
|
+
readonly description: "Comma-separated key names to press in order: enter, escape, tab, backspace, space, up, down, left, right, ctrl-c, ctrl-d, or any single character.";
|
|
3899
4511
|
}, {
|
|
3900
4512
|
readonly name: "--input-file";
|
|
3901
4513
|
readonly value: "<path|->";
|
|
@@ -3915,9 +4527,9 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
3915
4527
|
readonly required: false;
|
|
3916
4528
|
readonly description: "Connect to a specific Pane data directory.";
|
|
3917
4529
|
}];
|
|
3918
|
-
readonly examples: readonly ["printf 'Continue\\n' | runpane panels input --panel <panel-id> --input-file - --yes", "printf '\\003' | runpane panels input --panel <panel-id> --input-file - --yes", "runpane panels input --panel <panel-id> --text \"simple text\" --yes --json"];
|
|
4530
|
+
readonly examples: readonly ["printf 'Continue\\n' | runpane panels input --panel <panel-id> --input-file - --yes", "printf '\\003' | runpane panels input --panel <panel-id> --input-file - --yes", "runpane panels input --panel <panel-id> --text \"simple text\" --yes --json", "runpane panels input --panel <panel-id> --keys down,enter --yes --json"];
|
|
3919
4531
|
readonly jsonSchemas: readonly ["panelInputRequest", "panelInputResult"];
|
|
3920
|
-
readonly notes: readonly ["Input is sent exactly as provided. Include a real newline byte when the terminal should receive Enter; across shells, `--input-file` is safer than `--text \"...\\n\"`.", "Use `--input-file -` or a temp file for multi-line input, quotes, Ctrl-C, or shell-sensitive text.", "If interrupting a running process, send Ctrl-C first, validate/read output, then send the next command in a separate `panels input` call so bytes are not dropped.", "After sending input, validate with `runpane panels output --panel <panel-id> --json` before reporting success.", "Runpane records action metadata and errors for observability, but should not log full input text by default.", "For ordinary text plus Enter, prefer `panels submit` so the terminal receives a CR Enter byte."];
|
|
4532
|
+
readonly notes: readonly ["To answer a menu or prompt, prefer `--keys` (for example `--keys down,enter`) over escape sequences in `--text`.", "Input is sent exactly as provided. Include a real newline byte when the terminal should receive Enter; across shells, `--input-file` is safer than `--text \"...\\n\"`.", "Use `--input-file -` or a temp file for multi-line input, quotes, Ctrl-C, or shell-sensitive text.", "If interrupting a running process, send Ctrl-C first, validate/read output, then send the next command in a separate `panels input` call so bytes are not dropped.", "After sending input, validate with `runpane panels output --panel <panel-id> --json` before reporting success.", "Runpane records action metadata and errors for observability, but should not log full input text by default.", "For ordinary text plus Enter, prefer `panels submit` so the terminal receives a CR Enter byte."];
|
|
3921
4533
|
};
|
|
3922
4534
|
readonly "agents doctor": {
|
|
3923
4535
|
readonly name: "agents doctor";
|
|
@@ -4312,6 +4924,719 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
4312
4924
|
readonly examples: readonly ["runpane watch --self-test", "runpane watch --follow", "runpane watch --as monitor --follow --json", "runpane watch --follow --kinds agent.ready,agent.blocked,agent.idle,panel.exited,pane.gone --settle 180000 --blocked-settle 30000 --min-interval 600000 --idle-backoff"];
|
|
4313
4925
|
readonly notes: readonly ["Defaults stay responsive: no settle, no batching, all kinds, IDLE every --idle-after. Cadence flags are opt-in for expensive consumers and require --follow.", "Recommended orchestrator invocation (what Pane Chat arms automatically): runpane watch --self-test, then runpane watch --follow --kinds agent.ready,agent.blocked,agent.idle,panel.exited,pane.gone --settle 180000 --blocked-settle 30000 --min-interval 600000 --idle-backoff. Budget: about 6 wake-ups per active pane per hour worst case, usually 1-3.", "BUSY carries no action; drop it with --kinds. HEARTBEAT is client-side proof of life, is never shaped by cadence flags, and should be filtered out of any monitor that wakes an agent.", "STUCK means real unsubmitted composer text. An agent prompt suggestion (for example a grey Try \"...\" hint) never counts.", "Dead watch: judge death by a non-zero exit or a WATCH ERROR line, not by silence. Re-arm once; if it dies again, file runpane doctor --report.", "Cadence state is held per named consumer; an anonymous --follow with a cadence flag names itself follow-<pid>. Held lines survive a reconnect of the same consumer; a changed filter re-delivers them under the new filter.", "Journal loss is surfaced through reset and dropped metadata.", "The daemon treats omitted idleAfterMs as disabled so older clients never receive agent.idle unexpectedly."];
|
|
4314
4926
|
};
|
|
4927
|
+
readonly "panes git-status": {
|
|
4928
|
+
readonly name: "panes git-status";
|
|
4929
|
+
readonly summary: "Read the git status of a Pane worktree: uncommitted, unpushed, and behind-main counts.";
|
|
4930
|
+
readonly details: "Use this to check whether a Pane has work to commit, push, or rebase before archiving it or opening a PR.";
|
|
4931
|
+
readonly requiresPaneDaemon: true;
|
|
4932
|
+
readonly mutates: false;
|
|
4933
|
+
readonly arguments: readonly [{
|
|
4934
|
+
readonly name: "--pane";
|
|
4935
|
+
readonly value: "<pane-id>";
|
|
4936
|
+
readonly required: true;
|
|
4937
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
4938
|
+
}, {
|
|
4939
|
+
readonly name: "--json";
|
|
4940
|
+
readonly required: false;
|
|
4941
|
+
readonly description: "Print machine-readable output.";
|
|
4942
|
+
}, {
|
|
4943
|
+
readonly name: "--pane-dir";
|
|
4944
|
+
readonly value: "<path>";
|
|
4945
|
+
readonly required: false;
|
|
4946
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
4947
|
+
}];
|
|
4948
|
+
readonly examples: readonly ["runpane panes git-status --pane <pane-id> --json"];
|
|
4949
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
4950
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message."];
|
|
4951
|
+
};
|
|
4952
|
+
readonly "panes commit": {
|
|
4953
|
+
readonly name: "panes commit";
|
|
4954
|
+
readonly summary: "Stage all changes in a Pane worktree and commit them.";
|
|
4955
|
+
readonly details: "Use this to commit a Pane's work the way the app's commit action does. The message needs a title line.";
|
|
4956
|
+
readonly requiresPaneDaemon: true;
|
|
4957
|
+
readonly mutates: true;
|
|
4958
|
+
readonly arguments: readonly [{
|
|
4959
|
+
readonly name: "--pane";
|
|
4960
|
+
readonly value: "<pane-id>";
|
|
4961
|
+
readonly required: true;
|
|
4962
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
4963
|
+
}, {
|
|
4964
|
+
readonly name: "--message";
|
|
4965
|
+
readonly value: "<message>";
|
|
4966
|
+
readonly required: true;
|
|
4967
|
+
readonly description: "Commit message; the first line is the title.";
|
|
4968
|
+
}, {
|
|
4969
|
+
readonly name: "--yes";
|
|
4970
|
+
readonly required: false;
|
|
4971
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
4972
|
+
}, {
|
|
4973
|
+
readonly name: "--json";
|
|
4974
|
+
readonly required: false;
|
|
4975
|
+
readonly description: "Print machine-readable output.";
|
|
4976
|
+
}, {
|
|
4977
|
+
readonly name: "--pane-dir";
|
|
4978
|
+
readonly value: "<path>";
|
|
4979
|
+
readonly required: false;
|
|
4980
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
4981
|
+
}];
|
|
4982
|
+
readonly examples: readonly ["runpane panes commit --pane <pane-id> --message <message> --yes --json"];
|
|
4983
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
4984
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message."];
|
|
4985
|
+
};
|
|
4986
|
+
readonly "panes push": {
|
|
4987
|
+
readonly name: "panes push";
|
|
4988
|
+
readonly summary: "Push a Pane branch to its remote.";
|
|
4989
|
+
readonly details: "Use this to publish a Pane's commits, the way the app's push action does.";
|
|
4990
|
+
readonly requiresPaneDaemon: true;
|
|
4991
|
+
readonly mutates: true;
|
|
4992
|
+
readonly arguments: readonly [{
|
|
4993
|
+
readonly name: "--pane";
|
|
4994
|
+
readonly value: "<pane-id>";
|
|
4995
|
+
readonly required: true;
|
|
4996
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
4997
|
+
}, {
|
|
4998
|
+
readonly name: "--yes";
|
|
4999
|
+
readonly required: false;
|
|
5000
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5001
|
+
}, {
|
|
5002
|
+
readonly name: "--json";
|
|
5003
|
+
readonly required: false;
|
|
5004
|
+
readonly description: "Print machine-readable output.";
|
|
5005
|
+
}, {
|
|
5006
|
+
readonly name: "--pane-dir";
|
|
5007
|
+
readonly value: "<path>";
|
|
5008
|
+
readonly required: false;
|
|
5009
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5010
|
+
}];
|
|
5011
|
+
readonly examples: readonly ["runpane panes push --pane <pane-id> --yes --json"];
|
|
5012
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5013
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message."];
|
|
5014
|
+
};
|
|
5015
|
+
readonly "panes pull": {
|
|
5016
|
+
readonly name: "panes pull";
|
|
5017
|
+
readonly summary: "Pull the remote branch into a Pane worktree.";
|
|
5018
|
+
readonly details: "Use this to bring remote commits into a Pane, the way the app's pull action does.";
|
|
5019
|
+
readonly requiresPaneDaemon: true;
|
|
5020
|
+
readonly mutates: true;
|
|
5021
|
+
readonly arguments: readonly [{
|
|
5022
|
+
readonly name: "--pane";
|
|
5023
|
+
readonly value: "<pane-id>";
|
|
5024
|
+
readonly required: true;
|
|
5025
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
5026
|
+
}, {
|
|
5027
|
+
readonly name: "--yes";
|
|
5028
|
+
readonly required: false;
|
|
5029
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5030
|
+
}, {
|
|
5031
|
+
readonly name: "--json";
|
|
5032
|
+
readonly required: false;
|
|
5033
|
+
readonly description: "Print machine-readable output.";
|
|
5034
|
+
}, {
|
|
5035
|
+
readonly name: "--pane-dir";
|
|
5036
|
+
readonly value: "<path>";
|
|
5037
|
+
readonly required: false;
|
|
5038
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5039
|
+
}];
|
|
5040
|
+
readonly examples: readonly ["runpane panes pull --pane <pane-id> --yes --json"];
|
|
5041
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5042
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message."];
|
|
5043
|
+
};
|
|
5044
|
+
readonly "panes rebase-main": {
|
|
5045
|
+
readonly name: "panes rebase-main";
|
|
5046
|
+
readonly summary: "Rebase a Pane branch onto the latest main branch.";
|
|
5047
|
+
readonly details: "Use this to bring main's changes into a Pane. It rewrites the Pane branch history; conflicts are reported, not resolved.";
|
|
5048
|
+
readonly requiresPaneDaemon: true;
|
|
5049
|
+
readonly mutates: true;
|
|
5050
|
+
readonly arguments: readonly [{
|
|
5051
|
+
readonly name: "--pane";
|
|
5052
|
+
readonly value: "<pane-id>";
|
|
5053
|
+
readonly required: true;
|
|
5054
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
5055
|
+
}, {
|
|
5056
|
+
readonly name: "--yes";
|
|
5057
|
+
readonly required: false;
|
|
5058
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5059
|
+
}, {
|
|
5060
|
+
readonly name: "--json";
|
|
5061
|
+
readonly required: false;
|
|
5062
|
+
readonly description: "Print machine-readable output.";
|
|
5063
|
+
}, {
|
|
5064
|
+
readonly name: "--pane-dir";
|
|
5065
|
+
readonly value: "<path>";
|
|
5066
|
+
readonly required: false;
|
|
5067
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5068
|
+
}];
|
|
5069
|
+
readonly examples: readonly ["runpane panes rebase-main --pane <pane-id> --yes --json"];
|
|
5070
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5071
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message."];
|
|
5072
|
+
};
|
|
5073
|
+
readonly "panes restore": {
|
|
5074
|
+
readonly name: "panes restore";
|
|
5075
|
+
readonly summary: "Restore an archived Pane, recreating its worktree.";
|
|
5076
|
+
readonly details: "Use this to undo `panes archive`.";
|
|
5077
|
+
readonly requiresPaneDaemon: true;
|
|
5078
|
+
readonly mutates: true;
|
|
5079
|
+
readonly arguments: readonly [{
|
|
5080
|
+
readonly name: "--pane";
|
|
5081
|
+
readonly value: "<pane-id>";
|
|
5082
|
+
readonly required: true;
|
|
5083
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
5084
|
+
}, {
|
|
5085
|
+
readonly name: "--yes";
|
|
5086
|
+
readonly required: false;
|
|
5087
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5088
|
+
}, {
|
|
5089
|
+
readonly name: "--json";
|
|
5090
|
+
readonly required: false;
|
|
5091
|
+
readonly description: "Print machine-readable output.";
|
|
5092
|
+
}, {
|
|
5093
|
+
readonly name: "--pane-dir";
|
|
5094
|
+
readonly value: "<path>";
|
|
5095
|
+
readonly required: false;
|
|
5096
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5097
|
+
}];
|
|
5098
|
+
readonly examples: readonly ["runpane panes restore --pane <pane-id> --yes --json"];
|
|
5099
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5100
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message."];
|
|
5101
|
+
};
|
|
5102
|
+
readonly "panes squash-rebase": {
|
|
5103
|
+
readonly name: "panes squash-rebase";
|
|
5104
|
+
readonly summary: "Squash a Pane branch into one commit and rebase it onto main.";
|
|
5105
|
+
readonly details: "Use this to land a Pane's work on the repository's main branch the way the app's squash-and-rebase action does. It rewrites the Pane branch and updates main.";
|
|
5106
|
+
readonly requiresPaneDaemon: true;
|
|
5107
|
+
readonly mutates: true;
|
|
5108
|
+
readonly arguments: readonly [{
|
|
5109
|
+
readonly name: "--pane";
|
|
5110
|
+
readonly value: "<pane-id>";
|
|
5111
|
+
readonly required: true;
|
|
5112
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
5113
|
+
}, {
|
|
5114
|
+
readonly name: "--message";
|
|
5115
|
+
readonly value: "<message>";
|
|
5116
|
+
readonly required: true;
|
|
5117
|
+
readonly description: "Commit message; the first line is the title.";
|
|
5118
|
+
}, {
|
|
5119
|
+
readonly name: "--yes";
|
|
5120
|
+
readonly required: false;
|
|
5121
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5122
|
+
}, {
|
|
5123
|
+
readonly name: "--json";
|
|
5124
|
+
readonly required: false;
|
|
5125
|
+
readonly description: "Print machine-readable output.";
|
|
5126
|
+
}, {
|
|
5127
|
+
readonly name: "--pane-dir";
|
|
5128
|
+
readonly value: "<path>";
|
|
5129
|
+
readonly required: false;
|
|
5130
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5131
|
+
}];
|
|
5132
|
+
readonly examples: readonly ["runpane panes squash-rebase --pane <pane-id> --message <message> --yes --json"];
|
|
5133
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5134
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message.", "The result includes `link`, a pane:// link the user can open to review the Pane."];
|
|
5135
|
+
};
|
|
5136
|
+
readonly "panes stash": {
|
|
5137
|
+
readonly name: "panes stash";
|
|
5138
|
+
readonly summary: "Stash uncommitted changes in a Pane worktree.";
|
|
5139
|
+
readonly details: "Use this to set aside work in progress, the way the app's stash action does. `panes stash-pop` brings it back.";
|
|
5140
|
+
readonly requiresPaneDaemon: true;
|
|
5141
|
+
readonly mutates: true;
|
|
5142
|
+
readonly arguments: readonly [{
|
|
5143
|
+
readonly name: "--pane";
|
|
5144
|
+
readonly value: "<pane-id>";
|
|
5145
|
+
readonly required: true;
|
|
5146
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
5147
|
+
}, {
|
|
5148
|
+
readonly name: "--yes";
|
|
5149
|
+
readonly required: false;
|
|
5150
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5151
|
+
}, {
|
|
5152
|
+
readonly name: "--json";
|
|
5153
|
+
readonly required: false;
|
|
5154
|
+
readonly description: "Print machine-readable output.";
|
|
5155
|
+
}, {
|
|
5156
|
+
readonly name: "--pane-dir";
|
|
5157
|
+
readonly value: "<path>";
|
|
5158
|
+
readonly required: false;
|
|
5159
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5160
|
+
}];
|
|
5161
|
+
readonly examples: readonly ["runpane panes stash --pane <pane-id> --yes --json"];
|
|
5162
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5163
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message.", "The result includes `link`, a pane:// link the user can open to review the Pane."];
|
|
5164
|
+
};
|
|
5165
|
+
readonly "panes stash-pop": {
|
|
5166
|
+
readonly name: "panes stash-pop";
|
|
5167
|
+
readonly summary: "Apply and drop the latest stash in a Pane worktree.";
|
|
5168
|
+
readonly details: "Use this to bring back work set aside with `panes stash`.";
|
|
5169
|
+
readonly requiresPaneDaemon: true;
|
|
5170
|
+
readonly mutates: true;
|
|
5171
|
+
readonly arguments: readonly [{
|
|
5172
|
+
readonly name: "--pane";
|
|
5173
|
+
readonly value: "<pane-id>";
|
|
5174
|
+
readonly required: true;
|
|
5175
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
5176
|
+
}, {
|
|
5177
|
+
readonly name: "--yes";
|
|
5178
|
+
readonly required: false;
|
|
5179
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5180
|
+
}, {
|
|
5181
|
+
readonly name: "--json";
|
|
5182
|
+
readonly required: false;
|
|
5183
|
+
readonly description: "Print machine-readable output.";
|
|
5184
|
+
}, {
|
|
5185
|
+
readonly name: "--pane-dir";
|
|
5186
|
+
readonly value: "<path>";
|
|
5187
|
+
readonly required: false;
|
|
5188
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5189
|
+
}];
|
|
5190
|
+
readonly examples: readonly ["runpane panes stash-pop --pane <pane-id> --yes --json"];
|
|
5191
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5192
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message.", "The result includes `link`, a pane:// link the user can open to review the Pane."];
|
|
5193
|
+
};
|
|
5194
|
+
readonly "panes soft-reset": {
|
|
5195
|
+
readonly name: "panes soft-reset";
|
|
5196
|
+
readonly summary: "Undo the last commit in a Pane, keeping its changes staged.";
|
|
5197
|
+
readonly details: "Use this to reword or regroup the latest commit, the way the app's soft reset action does.";
|
|
5198
|
+
readonly requiresPaneDaemon: true;
|
|
5199
|
+
readonly mutates: true;
|
|
5200
|
+
readonly arguments: readonly [{
|
|
5201
|
+
readonly name: "--pane";
|
|
5202
|
+
readonly value: "<pane-id>";
|
|
5203
|
+
readonly required: true;
|
|
5204
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
5205
|
+
}, {
|
|
5206
|
+
readonly name: "--yes";
|
|
5207
|
+
readonly required: false;
|
|
5208
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5209
|
+
}, {
|
|
5210
|
+
readonly name: "--json";
|
|
5211
|
+
readonly required: false;
|
|
5212
|
+
readonly description: "Print machine-readable output.";
|
|
5213
|
+
}, {
|
|
5214
|
+
readonly name: "--pane-dir";
|
|
5215
|
+
readonly value: "<path>";
|
|
5216
|
+
readonly required: false;
|
|
5217
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5218
|
+
}];
|
|
5219
|
+
readonly examples: readonly ["runpane panes soft-reset --pane <pane-id> --yes --json"];
|
|
5220
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5221
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message.", "The result includes `link`, a pane:// link the user can open to review the Pane."];
|
|
5222
|
+
};
|
|
5223
|
+
readonly "panes fetch": {
|
|
5224
|
+
readonly name: "panes fetch";
|
|
5225
|
+
readonly summary: "Fetch the remote for a Pane worktree.";
|
|
5226
|
+
readonly details: "Use this to refresh remote branches before checking git status or rebasing.";
|
|
5227
|
+
readonly requiresPaneDaemon: true;
|
|
5228
|
+
readonly mutates: true;
|
|
5229
|
+
readonly arguments: readonly [{
|
|
5230
|
+
readonly name: "--pane";
|
|
5231
|
+
readonly value: "<pane-id>";
|
|
5232
|
+
readonly required: true;
|
|
5233
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
5234
|
+
}, {
|
|
5235
|
+
readonly name: "--yes";
|
|
5236
|
+
readonly required: false;
|
|
5237
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5238
|
+
}, {
|
|
5239
|
+
readonly name: "--json";
|
|
5240
|
+
readonly required: false;
|
|
5241
|
+
readonly description: "Print machine-readable output.";
|
|
5242
|
+
}, {
|
|
5243
|
+
readonly name: "--pane-dir";
|
|
5244
|
+
readonly value: "<path>";
|
|
5245
|
+
readonly required: false;
|
|
5246
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5247
|
+
}];
|
|
5248
|
+
readonly examples: readonly ["runpane panes fetch --pane <pane-id> --yes --json"];
|
|
5249
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5250
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message."];
|
|
5251
|
+
};
|
|
5252
|
+
readonly "panes run-script": {
|
|
5253
|
+
readonly name: "panes run-script";
|
|
5254
|
+
readonly summary: "Run the repository's run script in a Pane.";
|
|
5255
|
+
readonly details: "Use this to start the dev server or app for a Pane, the way the app's Run button does.";
|
|
5256
|
+
readonly requiresPaneDaemon: true;
|
|
5257
|
+
readonly mutates: true;
|
|
5258
|
+
readonly arguments: readonly [{
|
|
5259
|
+
readonly name: "--pane";
|
|
5260
|
+
readonly value: "<pane-id>";
|
|
5261
|
+
readonly required: true;
|
|
5262
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
5263
|
+
}, {
|
|
5264
|
+
readonly name: "--yes";
|
|
5265
|
+
readonly required: false;
|
|
5266
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5267
|
+
}, {
|
|
5268
|
+
readonly name: "--json";
|
|
5269
|
+
readonly required: false;
|
|
5270
|
+
readonly description: "Print machine-readable output.";
|
|
5271
|
+
}, {
|
|
5272
|
+
readonly name: "--pane-dir";
|
|
5273
|
+
readonly value: "<path>";
|
|
5274
|
+
readonly required: false;
|
|
5275
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5276
|
+
}];
|
|
5277
|
+
readonly examples: readonly ["runpane panes run-script --pane <pane-id> --yes --json"];
|
|
5278
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5279
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message."];
|
|
5280
|
+
};
|
|
5281
|
+
readonly "panes stop-script": {
|
|
5282
|
+
readonly name: "panes stop-script";
|
|
5283
|
+
readonly summary: "Stop the run script running in a Pane.";
|
|
5284
|
+
readonly details: "Use this to stop what `panes run-script` started.";
|
|
5285
|
+
readonly requiresPaneDaemon: true;
|
|
5286
|
+
readonly mutates: true;
|
|
5287
|
+
readonly arguments: readonly [{
|
|
5288
|
+
readonly name: "--pane";
|
|
5289
|
+
readonly value: "<pane-id>";
|
|
5290
|
+
readonly required: true;
|
|
5291
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
5292
|
+
}, {
|
|
5293
|
+
readonly name: "--yes";
|
|
5294
|
+
readonly required: false;
|
|
5295
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5296
|
+
}, {
|
|
5297
|
+
readonly name: "--json";
|
|
5298
|
+
readonly required: false;
|
|
5299
|
+
readonly description: "Print machine-readable output.";
|
|
5300
|
+
}, {
|
|
5301
|
+
readonly name: "--pane-dir";
|
|
5302
|
+
readonly value: "<path>";
|
|
5303
|
+
readonly required: false;
|
|
5304
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5305
|
+
}];
|
|
5306
|
+
readonly examples: readonly ["runpane panes stop-script --pane <pane-id> --yes --json"];
|
|
5307
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5308
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message.", "The result includes `link`, a pane:// link the user can open to review the Pane."];
|
|
5309
|
+
};
|
|
5310
|
+
readonly "panes move": {
|
|
5311
|
+
readonly name: "panes move";
|
|
5312
|
+
readonly summary: "Move a Pane into a sidebar folder.";
|
|
5313
|
+
readonly details: "Use this to organize Panes. Folder ids come from `runpane folders list`.";
|
|
5314
|
+
readonly requiresPaneDaemon: true;
|
|
5315
|
+
readonly mutates: true;
|
|
5316
|
+
readonly arguments: readonly [{
|
|
5317
|
+
readonly name: "--pane";
|
|
5318
|
+
readonly value: "<pane-id>";
|
|
5319
|
+
readonly required: true;
|
|
5320
|
+
readonly description: "Pane id from panes list or agents start.";
|
|
5321
|
+
}, {
|
|
5322
|
+
readonly name: "--folder";
|
|
5323
|
+
readonly value: "<folder-id>";
|
|
5324
|
+
readonly required: true;
|
|
5325
|
+
readonly description: "Folder id from folders list.";
|
|
5326
|
+
}, {
|
|
5327
|
+
readonly name: "--yes";
|
|
5328
|
+
readonly required: false;
|
|
5329
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5330
|
+
}, {
|
|
5331
|
+
readonly name: "--json";
|
|
5332
|
+
readonly required: false;
|
|
5333
|
+
readonly description: "Print machine-readable output.";
|
|
5334
|
+
}, {
|
|
5335
|
+
readonly name: "--pane-dir";
|
|
5336
|
+
readonly value: "<path>";
|
|
5337
|
+
readonly required: false;
|
|
5338
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5339
|
+
}];
|
|
5340
|
+
readonly examples: readonly ["runpane panes move --pane <pane-id> --folder <folder-id> --yes --json"];
|
|
5341
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5342
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message.", "The result includes `link`, a pane:// link the user can open to review the Pane."];
|
|
5343
|
+
};
|
|
5344
|
+
readonly "folders list": {
|
|
5345
|
+
readonly name: "folders list";
|
|
5346
|
+
readonly summary: "List the sidebar folders of a repository.";
|
|
5347
|
+
readonly details: "Use this to find folder ids for `panes move`.";
|
|
5348
|
+
readonly requiresPaneDaemon: true;
|
|
5349
|
+
readonly mutates: false;
|
|
5350
|
+
readonly arguments: readonly [{
|
|
5351
|
+
readonly name: "--repo";
|
|
5352
|
+
readonly value: "<repo-id>";
|
|
5353
|
+
readonly required: true;
|
|
5354
|
+
readonly description: "Numeric repository id from repos list.";
|
|
5355
|
+
}, {
|
|
5356
|
+
readonly name: "--json";
|
|
5357
|
+
readonly required: false;
|
|
5358
|
+
readonly description: "Print machine-readable output.";
|
|
5359
|
+
}, {
|
|
5360
|
+
readonly name: "--pane-dir";
|
|
5361
|
+
readonly value: "<path>";
|
|
5362
|
+
readonly required: false;
|
|
5363
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5364
|
+
}];
|
|
5365
|
+
readonly examples: readonly ["runpane folders list --repo <repo-id> --json"];
|
|
5366
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5367
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message."];
|
|
5368
|
+
};
|
|
5369
|
+
readonly "folders create": {
|
|
5370
|
+
readonly name: "folders create";
|
|
5371
|
+
readonly summary: "Create a sidebar folder in a repository.";
|
|
5372
|
+
readonly details: "Use this to add a folder for grouping Panes.";
|
|
5373
|
+
readonly requiresPaneDaemon: true;
|
|
5374
|
+
readonly mutates: true;
|
|
5375
|
+
readonly arguments: readonly [{
|
|
5376
|
+
readonly name: "--repo";
|
|
5377
|
+
readonly value: "<repo-id>";
|
|
5378
|
+
readonly required: true;
|
|
5379
|
+
readonly description: "Numeric repository id from repos list.";
|
|
5380
|
+
}, {
|
|
5381
|
+
readonly name: "--name";
|
|
5382
|
+
readonly value: "<name>";
|
|
5383
|
+
readonly required: true;
|
|
5384
|
+
readonly description: "Folder name.";
|
|
5385
|
+
}, {
|
|
5386
|
+
readonly name: "--yes";
|
|
5387
|
+
readonly required: false;
|
|
5388
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5389
|
+
}, {
|
|
5390
|
+
readonly name: "--json";
|
|
5391
|
+
readonly required: false;
|
|
5392
|
+
readonly description: "Print machine-readable output.";
|
|
5393
|
+
}, {
|
|
5394
|
+
readonly name: "--pane-dir";
|
|
5395
|
+
readonly value: "<path>";
|
|
5396
|
+
readonly required: false;
|
|
5397
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5398
|
+
}];
|
|
5399
|
+
readonly examples: readonly ["runpane folders create --repo <repo-id> --name <name> --yes --json"];
|
|
5400
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5401
|
+
readonly notes: readonly ["Runs the same Pane action as the button in the app, through the running Pane daemon.", "Output is `{ ok, data, error }`; `ok: false` exits non-zero with the error message."];
|
|
5402
|
+
};
|
|
5403
|
+
readonly "links create": {
|
|
5404
|
+
readonly name: "links create";
|
|
5405
|
+
readonly summary: "Build a pane:// link that opens a Pane, panel, repository, or Session in the Pane app.";
|
|
5406
|
+
readonly details: "Use this to hand the user a clickable link. It only builds the URL; opening it navigates and never changes Pane state.";
|
|
5407
|
+
readonly requiresPaneDaemon: false;
|
|
5408
|
+
readonly mutates: false;
|
|
5409
|
+
readonly arguments: readonly [{
|
|
5410
|
+
readonly name: "--pane";
|
|
5411
|
+
readonly value: "<pane-id>";
|
|
5412
|
+
readonly required: false;
|
|
5413
|
+
readonly description: "Pane to open.";
|
|
5414
|
+
}, {
|
|
5415
|
+
readonly name: "--panel";
|
|
5416
|
+
readonly value: "<panel-id>";
|
|
5417
|
+
readonly required: false;
|
|
5418
|
+
readonly description: "Panel inside the Pane to select.";
|
|
5419
|
+
}, {
|
|
5420
|
+
readonly name: "--repo";
|
|
5421
|
+
readonly value: "<repo-id>";
|
|
5422
|
+
readonly required: false;
|
|
5423
|
+
readonly description: "Repository id from repos list.";
|
|
5424
|
+
}, {
|
|
5425
|
+
readonly name: "--session";
|
|
5426
|
+
readonly value: "<session-id>";
|
|
5427
|
+
readonly required: false;
|
|
5428
|
+
readonly description: "Session id or name from sessions list.";
|
|
5429
|
+
}, {
|
|
5430
|
+
readonly name: "--json";
|
|
5431
|
+
readonly required: false;
|
|
5432
|
+
readonly description: "Print machine-readable output.";
|
|
5433
|
+
}];
|
|
5434
|
+
readonly examples: readonly ["runpane links create --pane <pane-id> --json"];
|
|
5435
|
+
readonly jsonSchemas: readonly ["linkCreateResult"];
|
|
5436
|
+
readonly notes: readonly ["Links look like `pane://open?pane=<pane-id>&panel=<panel-id>`. Give exactly one of --pane, --repo, or --session."];
|
|
5437
|
+
};
|
|
5438
|
+
readonly "links open": {
|
|
5439
|
+
readonly name: "links open";
|
|
5440
|
+
readonly summary: "Open a pane:// link in the running Pane app.";
|
|
5441
|
+
readonly details: "Use this to navigate the app to a Pane, panel, repository, or Session. It raises the Pane window, so run it only when the user asked.";
|
|
5442
|
+
readonly requiresPaneDaemon: true;
|
|
5443
|
+
readonly mutates: true;
|
|
5444
|
+
readonly arguments: readonly [{
|
|
5445
|
+
readonly name: "--url";
|
|
5446
|
+
readonly value: "<pane-url>";
|
|
5447
|
+
readonly required: true;
|
|
5448
|
+
readonly description: "A pane://open link from links create.";
|
|
5449
|
+
}, {
|
|
5450
|
+
readonly name: "--yes";
|
|
5451
|
+
readonly required: false;
|
|
5452
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5453
|
+
}, {
|
|
5454
|
+
readonly name: "--json";
|
|
5455
|
+
readonly required: false;
|
|
5456
|
+
readonly description: "Print machine-readable output.";
|
|
5457
|
+
}, {
|
|
5458
|
+
readonly name: "--pane-dir";
|
|
5459
|
+
readonly value: "<path>";
|
|
5460
|
+
readonly required: false;
|
|
5461
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5462
|
+
}];
|
|
5463
|
+
readonly examples: readonly ["runpane links open --url \"pane://open?pane=<pane-id>\" --yes --json"];
|
|
5464
|
+
readonly jsonSchemas: readonly ["daemonActionResult"];
|
|
5465
|
+
readonly notes: readonly ["Opening a link never changes Pane state; it selects what the link names."];
|
|
5466
|
+
};
|
|
5467
|
+
readonly "docs search": {
|
|
5468
|
+
readonly name: "docs search";
|
|
5469
|
+
readonly summary: "Search Pane's docs, runpane help, and the Pane Chat skills.";
|
|
5470
|
+
readonly details: "Use this before guessing how Pane works. Results are short excerpts with a path; read the full text with `runpane docs read`.";
|
|
5471
|
+
readonly requiresPaneDaemon: false;
|
|
5472
|
+
readonly mutates: false;
|
|
5473
|
+
readonly arguments: readonly [{
|
|
5474
|
+
readonly name: "--query";
|
|
5475
|
+
readonly value: "<text>";
|
|
5476
|
+
readonly required: true;
|
|
5477
|
+
readonly description: "Words to search for.";
|
|
5478
|
+
}, {
|
|
5479
|
+
readonly name: "--limit";
|
|
5480
|
+
readonly value: "<count>";
|
|
5481
|
+
readonly required: false;
|
|
5482
|
+
readonly description: "Maximum results; defaults to 5.";
|
|
5483
|
+
}, {
|
|
5484
|
+
readonly name: "--json";
|
|
5485
|
+
readonly required: false;
|
|
5486
|
+
readonly description: "Print machine-readable output.";
|
|
5487
|
+
}];
|
|
5488
|
+
readonly examples: readonly ["runpane docs search --query \"archive a pane\" --json"];
|
|
5489
|
+
readonly jsonSchemas: readonly ["docsSearchResult"];
|
|
5490
|
+
readonly notes: readonly ["Works offline. Skills are found in the Pane data directory when the Pane app has installed them."];
|
|
5491
|
+
};
|
|
5492
|
+
readonly "docs read": {
|
|
5493
|
+
readonly name: "docs read";
|
|
5494
|
+
readonly summary: "Read one Pane doc, help topic, or skill in full.";
|
|
5495
|
+
readonly details: "Use this with a path from `runpane docs search`.";
|
|
5496
|
+
readonly requiresPaneDaemon: false;
|
|
5497
|
+
readonly mutates: false;
|
|
5498
|
+
readonly arguments: readonly [{
|
|
5499
|
+
readonly name: "--doc";
|
|
5500
|
+
readonly value: "<path>";
|
|
5501
|
+
readonly required: true;
|
|
5502
|
+
readonly description: "Path from docs search, such as docs/PANE_MCP.md.";
|
|
5503
|
+
}, {
|
|
5504
|
+
readonly name: "--json";
|
|
5505
|
+
readonly required: false;
|
|
5506
|
+
readonly description: "Print machine-readable output.";
|
|
5507
|
+
}];
|
|
5508
|
+
readonly examples: readonly ["runpane docs read --doc docs/PANE_MCP.md --json"];
|
|
5509
|
+
readonly jsonSchemas: readonly ["docsReadResult"];
|
|
5510
|
+
readonly notes: readonly ["Paths come from docs search: `docs/<file>.md`, `skills/<name>/SKILL.md`, `help/<topic>`, or `command/<name>`."];
|
|
5511
|
+
};
|
|
5512
|
+
readonly "agents start": {
|
|
5513
|
+
readonly name: "agents start";
|
|
5514
|
+
readonly summary: "Start an agent on a task: create a Pane in a repository, launch the agent with the prompt, and wait until it is ready.";
|
|
5515
|
+
readonly details: "Use this for the common job \"have an agent work on X in repo Y\". It returns the pane and panel ids and a pane:// link to hand the user.";
|
|
5516
|
+
readonly requiresPaneDaemon: true;
|
|
5517
|
+
readonly mutates: true;
|
|
5518
|
+
readonly arguments: readonly [{
|
|
5519
|
+
readonly name: "--repo";
|
|
5520
|
+
readonly value: "<selector>";
|
|
5521
|
+
readonly required: true;
|
|
5522
|
+
readonly description: "Repository: active, id, exact path, or saved name.";
|
|
5523
|
+
}, {
|
|
5524
|
+
readonly name: "--name";
|
|
5525
|
+
readonly value: "<name>";
|
|
5526
|
+
readonly required: true;
|
|
5527
|
+
readonly description: "Name for the new Pane.";
|
|
5528
|
+
}, {
|
|
5529
|
+
readonly name: "--agent";
|
|
5530
|
+
readonly value: "<codex|claude|cursor>";
|
|
5531
|
+
readonly required: false;
|
|
5532
|
+
readonly description: "Built-in agent to launch.";
|
|
5533
|
+
}, {
|
|
5534
|
+
readonly name: "--tool-command";
|
|
5535
|
+
readonly value: "<command>";
|
|
5536
|
+
readonly required: false;
|
|
5537
|
+
readonly description: "Custom terminal command instead of a built-in agent.";
|
|
5538
|
+
}, {
|
|
5539
|
+
readonly name: "--prompt";
|
|
5540
|
+
readonly value: "<task>";
|
|
5541
|
+
readonly required: true;
|
|
5542
|
+
readonly description: "The task to send once the agent is ready.";
|
|
5543
|
+
}, {
|
|
5544
|
+
readonly name: "--base-branch";
|
|
5545
|
+
readonly value: "<branch>";
|
|
5546
|
+
readonly required: false;
|
|
5547
|
+
readonly description: "Branch to start the worktree from.";
|
|
5548
|
+
}, {
|
|
5549
|
+
readonly name: "--yes";
|
|
5550
|
+
readonly required: false;
|
|
5551
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5552
|
+
}, {
|
|
5553
|
+
readonly name: "--json";
|
|
5554
|
+
readonly required: false;
|
|
5555
|
+
readonly description: "Print machine-readable output.";
|
|
5556
|
+
}, {
|
|
5557
|
+
readonly name: "--pane-dir";
|
|
5558
|
+
readonly value: "<path>";
|
|
5559
|
+
readonly required: false;
|
|
5560
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5561
|
+
}];
|
|
5562
|
+
readonly examples: readonly ["runpane agents start --repo active --name fix-login --agent claude --prompt \"Fix the login redirect\" --yes --json"];
|
|
5563
|
+
readonly jsonSchemas: readonly ["agentTaskResult"];
|
|
5564
|
+
readonly notes: readonly ["Creates the Pane in the background (no focus change), pinned, and waits for the agent to be ready before sending the prompt.", "Check on it with `runpane agents status`; send follow-ups with `runpane agents send`."];
|
|
5565
|
+
};
|
|
5566
|
+
readonly "agents status": {
|
|
5567
|
+
readonly name: "agents status";
|
|
5568
|
+
readonly summary: "Check on an agent: whether it is working, ready, blocked, or idle, plus its current screen.";
|
|
5569
|
+
readonly details: "Use this to see how an agent started with `agents start` is doing, or whether it needs input.";
|
|
5570
|
+
readonly requiresPaneDaemon: true;
|
|
5571
|
+
readonly mutates: false;
|
|
5572
|
+
readonly arguments: readonly [{
|
|
5573
|
+
readonly name: "--pane";
|
|
5574
|
+
readonly value: "<pane-id>";
|
|
5575
|
+
readonly required: false;
|
|
5576
|
+
readonly description: "Pane id; its agent panel is used.";
|
|
5577
|
+
}, {
|
|
5578
|
+
readonly name: "--panel";
|
|
5579
|
+
readonly value: "<panel-id>";
|
|
5580
|
+
readonly required: false;
|
|
5581
|
+
readonly description: "Panel id.";
|
|
5582
|
+
}, {
|
|
5583
|
+
readonly name: "--limit";
|
|
5584
|
+
readonly value: "<count>";
|
|
5585
|
+
readonly required: false;
|
|
5586
|
+
readonly description: "Screen lines to return; defaults to 40.";
|
|
5587
|
+
}, {
|
|
5588
|
+
readonly name: "--json";
|
|
5589
|
+
readonly required: false;
|
|
5590
|
+
readonly description: "Print machine-readable output.";
|
|
5591
|
+
}, {
|
|
5592
|
+
readonly name: "--pane-dir";
|
|
5593
|
+
readonly value: "<path>";
|
|
5594
|
+
readonly required: false;
|
|
5595
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5596
|
+
}];
|
|
5597
|
+
readonly examples: readonly ["runpane agents status --pane <pane-id> --json"];
|
|
5598
|
+
readonly jsonSchemas: readonly ["agentStatusResult"];
|
|
5599
|
+
readonly notes: readonly ["`status` is `working`, `ready`, `blocked`, `idle`, `exited`, or `unknown`. `blocked` means the agent is waiting on a person."];
|
|
5600
|
+
};
|
|
5601
|
+
readonly "agents send": {
|
|
5602
|
+
readonly name: "agents send";
|
|
5603
|
+
readonly summary: "Send a follow-up message to an agent and confirm it was submitted.";
|
|
5604
|
+
readonly details: "Use this to answer an agent or give it the next instruction.";
|
|
5605
|
+
readonly requiresPaneDaemon: true;
|
|
5606
|
+
readonly mutates: true;
|
|
5607
|
+
readonly arguments: readonly [{
|
|
5608
|
+
readonly name: "--pane";
|
|
5609
|
+
readonly value: "<pane-id>";
|
|
5610
|
+
readonly required: false;
|
|
5611
|
+
readonly description: "Pane id; its agent panel is used.";
|
|
5612
|
+
}, {
|
|
5613
|
+
readonly name: "--panel";
|
|
5614
|
+
readonly value: "<panel-id>";
|
|
5615
|
+
readonly required: false;
|
|
5616
|
+
readonly description: "Panel id.";
|
|
5617
|
+
}, {
|
|
5618
|
+
readonly name: "--text";
|
|
5619
|
+
readonly value: "<message>";
|
|
5620
|
+
readonly required: true;
|
|
5621
|
+
readonly description: "The message to submit.";
|
|
5622
|
+
}, {
|
|
5623
|
+
readonly name: "--yes";
|
|
5624
|
+
readonly required: false;
|
|
5625
|
+
readonly description: "Confirm this change; required in non-interactive shells.";
|
|
5626
|
+
}, {
|
|
5627
|
+
readonly name: "--json";
|
|
5628
|
+
readonly required: false;
|
|
5629
|
+
readonly description: "Print machine-readable output.";
|
|
5630
|
+
}, {
|
|
5631
|
+
readonly name: "--pane-dir";
|
|
5632
|
+
readonly value: "<path>";
|
|
5633
|
+
readonly required: false;
|
|
5634
|
+
readonly description: "Connect to a specific Pane data directory.";
|
|
5635
|
+
}];
|
|
5636
|
+
readonly examples: readonly ["runpane agents send --pane <pane-id> --text \"Also add a test\" --yes --json"];
|
|
5637
|
+
readonly jsonSchemas: readonly ["agentSendResult"];
|
|
5638
|
+
readonly notes: readonly ["`delivered` is true only when Pane saw the message leave the composer.", "It types the text and presses Enter, so it is for messages, not keys. To answer a menu, use `runpane panels input --panel <panel-id> --keys down,enter --yes`, then check the screen with `runpane agents status`."];
|
|
5639
|
+
};
|
|
4315
5640
|
readonly "sessions list": {
|
|
4316
5641
|
readonly name: "sessions list";
|
|
4317
5642
|
readonly summary: "List durable named orchestration Sessions.";
|
|
@@ -4401,7 +5726,7 @@ export declare const RUNPANE_CONTRACT: {
|
|
|
4401
5726
|
readonly notes: readonly [];
|
|
4402
5727
|
};
|
|
4403
5728
|
};
|
|
4404
|
-
readonly managedBlock: readonly ["## Pane", "", "
|
|
5729
|
+
readonly managedBlock: readonly ["## Pane", "", "This repository is used with [Pane](https://runpane.com). Drive it with the CLI or the `pane` MCP server.", "", "CLI: `npm i -g runpane` (or `npx --yes runpane@latest`), then `runpane doctor --json`. Full command reference: `runpane agent-context --json`.", "", "MCP: packaged Pane registers a stdio server named `pane` with Claude Code and Codex. Check the connection with `claude mcp list` or `codex mcp list`. 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\"]`; any other stdio client uses the same command and args."];
|
|
4405
5730
|
};
|
|
4406
5731
|
};
|
|
4407
5732
|
export type RunpaneCommand = typeof RUNPANE_CONTRACT.commands[number]['name'];
|