runpane 2.4.137 → 2.4.138

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.
@@ -431,6 +431,18 @@ exports.RUNPANE_CONTRACT = {
431
431
  "panelCreateResult"
432
432
  ]
433
433
  },
434
+ {
435
+ "name": "panels open",
436
+ "summary": "Open a URL or file as a browser/editor tab in a Pane, in split view beside the agent by default.",
437
+ "usage": [
438
+ "runpane panels open [--pane <pane-id>] (--url <url>|--file <path>) [--title <title>] [--split|--tab] [--focus|--no-focus] [--source user|agent] --yes [--json]"
439
+ ],
440
+ "mutates": true,
441
+ "jsonSchemas": [
442
+ "panelOpenRequest",
443
+ "panelOpenResult"
444
+ ]
445
+ },
434
446
  {
435
447
  "name": "panels list",
436
448
  "summary": "List tool panels inside a Pane session.",
@@ -1347,6 +1359,16 @@ exports.RUNPANE_CONTRACT = {
1347
1359
  "value": "<title>",
1348
1360
  "description": "Terminal tab title. Defaults to the selected agent title or Terminal."
1349
1361
  },
1362
+ {
1363
+ "name": "--url",
1364
+ "value": "<url>",
1365
+ "description": "http(s) or file URL for panels open; pane:// link for links open."
1366
+ },
1367
+ {
1368
+ "name": "--file",
1369
+ "value": "<path>",
1370
+ "description": "File inside the Pane worktree to open; HTML renders in a browser tab."
1371
+ },
1350
1372
  {
1351
1373
  "name": "--initial-input",
1352
1374
  "value": "<text>",
@@ -1523,11 +1545,6 @@ exports.RUNPANE_CONTRACT = {
1523
1545
  "value": "<path>",
1524
1546
  "description": "Doc path for docs read."
1525
1547
  },
1526
- {
1527
- "name": "--url",
1528
- "value": "<pane-url>",
1529
- "description": "pane:// link for links open."
1530
- },
1531
1548
  {
1532
1549
  "name": "--toolsets",
1533
1550
  "value": "<name,...>",
@@ -1586,6 +1603,14 @@ exports.RUNPANE_CONTRACT = {
1586
1603
  "name": "--focus",
1587
1604
  "description": "Explicitly focus the created pane or panel."
1588
1605
  },
1606
+ {
1607
+ "name": "--split",
1608
+ "description": "Open the tab in split view beside the primary tab group (default for panels open)."
1609
+ },
1610
+ {
1611
+ "name": "--tab",
1612
+ "description": "Open the tab in the current tab group instead of split view."
1613
+ },
1589
1614
  {
1590
1615
  "name": "--pinned",
1591
1616
  "description": "Accepted for backward compatibility; `panes create` already pins by default."
@@ -2118,6 +2143,7 @@ exports.RUNPANE_CONTRACT = {
2118
2143
  "",
2119
2144
  "Commands:",
2120
2145
  " runpane panels create --pane <pane-id> --agent <codex|claude|cursor> [options]",
2146
+ " runpane panels open (--url <url>|--file <path>) [--split|--tab] --yes [--json]",
2121
2147
  " runpane panels list --pane <pane-id> [--json]",
2122
2148
  " runpane panels screen --panel <panel-id> [--limit <count>] [--json]",
2123
2149
  " runpane panels output --panel <panel-id> [--limit <count>] [--json]",
@@ -2285,6 +2311,28 @@ exports.RUNPANE_CONTRACT = {
2285
2311
  " --yes Skip confirmation prompts.",
2286
2312
  " --json Print JSON output."
2287
2313
  ],
2314
+ "panels open": [
2315
+ "Open a URL or file as a browser/editor tab in a Pane, in split view beside the agent by default.",
2316
+ "",
2317
+ "Usage:",
2318
+ " runpane panels open [--pane <pane-id>] (--url <url>|--file <path>) [--title <title>] [--split|--tab] [--focus|--no-focus] [--source user|agent] --yes [--json]",
2319
+ "",
2320
+ "Opens a tab inside a Pane (default: the Pane of the calling panel, from PANE_SESSION_ID). Use it to show the user an HTML page, plan, report, local dev server, or file beside the conversation. --url opens a browser tab (http, https, or file). --file opens a file inside the Pane worktree: .html/.htm files render in a browser tab, other files open in an editor tab. Tabs open in split view beside the agent by default; --tab keeps them in the current group. An existing tab showing the same URL or file is reused. Never raises or focuses the Pane window.",
2321
+ "",
2322
+ "Options:",
2323
+ " --pane <pane-id> Pane to open the tab in; defaults to PANE_SESSION_ID.",
2324
+ " --url <url> http(s) or file URL to open in a browser tab.",
2325
+ " --file <path> File inside the Pane worktree (relative or absolute).",
2326
+ " --title <title> Tab title override.",
2327
+ " --split Open in split view beside the agent (default).",
2328
+ " --tab Open in the current tab group instead.",
2329
+ " --no-focus Open without selecting the tab.",
2330
+ " --focus Select the tab (default); never raises the window.",
2331
+ " --source <user|agent> Mutation source.",
2332
+ " --pane-dir <path> Connect to a specific Pane data directory.",
2333
+ " --yes Skip confirmation prompts.",
2334
+ " --json Print JSON output."
2335
+ ],
2288
2336
  "panels submit-composer": [
2289
2337
  "Submit an agent composer using the panel-appropriate key sequence.",
2290
2338
  "",
@@ -3196,6 +3244,7 @@ exports.RUNPANE_CONTRACT = {
3196
3244
  "",
3197
3245
  "Commands:",
3198
3246
  " runpane panels create --pane <pane-id> --agent <codex|claude|cursor> [options]",
3247
+ " runpane panels open (--url <url>|--file <path>) [--split|--tab] --yes [--json]",
3199
3248
  " runpane panels list --pane <pane-id> [--json]",
3200
3249
  " runpane panels screen --panel <panel-id> [--limit <count>] [--json]",
3201
3250
  " runpane panels output --panel <panel-id> [--limit <count>] [--json]",
@@ -3355,6 +3404,28 @@ exports.RUNPANE_CONTRACT = {
3355
3404
  " --yes Skip confirmation prompts.",
3356
3405
  " --json Print JSON output."
3357
3406
  ],
3407
+ "panels open": [
3408
+ "Open a URL or file as a browser/editor tab in a Pane, in split view beside the agent by default.",
3409
+ "",
3410
+ "Usage:",
3411
+ " python -m runpane panels open [--pane <pane-id>] (--url <url>|--file <path>) [--title <title>] [--split|--tab] [--focus|--no-focus] [--source user|agent] --yes [--json]",
3412
+ "",
3413
+ "Opens a tab inside a Pane (default: the Pane of the calling panel, from PANE_SESSION_ID). Use it to show the user an HTML page, plan, report, local dev server, or file beside the conversation. --url opens a browser tab (http, https, or file). --file opens a file inside the Pane worktree: .html/.htm files render in a browser tab, other files open in an editor tab. Tabs open in split view beside the agent by default; --tab keeps them in the current group. An existing tab showing the same URL or file is reused. Never raises or focuses the Pane window.",
3414
+ "",
3415
+ "Options:",
3416
+ " --pane <pane-id> Pane to open the tab in; defaults to PANE_SESSION_ID.",
3417
+ " --url <url> http(s) or file URL to open in a browser tab.",
3418
+ " --file <path> File inside the Pane worktree (relative or absolute).",
3419
+ " --title <title> Tab title override.",
3420
+ " --split Open in split view beside the agent (default).",
3421
+ " --tab Open in the current tab group instead.",
3422
+ " --no-focus Open without selecting the tab.",
3423
+ " --focus Select the tab (default); never raises the window.",
3424
+ " --source <user|agent> Mutation source.",
3425
+ " --pane-dir <path> Connect to a specific Pane data directory.",
3426
+ " --yes Skip confirmation prompts.",
3427
+ " --json Print JSON output."
3428
+ ],
3358
3429
  "panels submit-composer": [
3359
3430
  "Submit an agent composer using the panel-appropriate key sequence.",
3360
3431
  "",
@@ -3930,11 +4001,12 @@ exports.RUNPANE_CONTRACT = {
3930
4001
  "`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.",
3931
4002
  "`runpane panes list` lists Pane sessions, optionally scoped to one saved repository.",
3932
4003
  "`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.",
3933
- "`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. Inside a Session orchestrator (`PANE_ORCHESTRATION_SESSION_ID` set), new Panes are associated with that Session automatically; `--no-associate` opts out. A failed association is reported on the item and never undoes the Pane.",
4004
+ "`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, except when the CLI runs inside a Session orchestrator (`PANE_ORCHESTRATION_SESSION_ID`), where child worktrees default to unpinned. Explicit `--pinned` / `--no-pinned` override creation defaults. First Session association clears an existing pin; manual pins applied afterward are preserved. Panes created interactively in the Pane UI are unaffected. Inside a Session orchestrator (`PANE_ORCHESTRATION_SESSION_ID` set), new Panes are associated with that Session automatically; `--no-associate` opts out. A failed association is reported on the item and never undoes the Pane.",
3934
4005
  "For `panes create --wait-ready`, `initialInput.delivery` says where the prompt went: `taken` or `queued` (from the agent's transcript, its screen, or `argv` for a launch-argument prompt), `in-composer`, or `unknown`. `initialInput.verifiedSubmitted` is true exactly when it is `taken` or `queued`. Routing input does not by itself verify submission.",
3935
4006
  "`runpane panes archive` refreshes the configured upstream, reports exact unpushed commit evidence, and refuses unsafe archive operations unless `--force` is used. A branch whose upstream is gone counts as pushed when a merged GitHub pull request has HEAD as its head (`safetyCheck.mergedViaPr`). Add `--dry-run` to inspect the same evidence without archiving. `--remove-worktree` applies the same check and removal to an adopted worktree; local branches are always kept. Successful archives report `worktreeCleanup: completed` once the worktree is gone from its path and from git; `trashDeletion: pending` means its files are still being deleted in the background. `runpane panes archive --session <id|name> --merged` archives every Session Pane that is clean and pushed or merged, and reports a reason for each skipped Pane.",
3936
4007
  "`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.",
3937
4008
  "`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`.",
4009
+ "`runpane panels open` opens a URL or a file from the Pane worktree as a tab in an existing Pane (default: the calling panel's Pane from `PANE_SESSION_ID`), in split view beside the agent unless `--tab` is passed. HTML files render in a browser tab and other files open in an editor tab; an existing tab showing the same target is reused. It activates the tab inside the Pane but never raises or focuses the Pane window.",
3938
4010
  "`runpane panels list` lists tool panels inside one Pane session.",
3939
4011
  "`runpane panels output` reads bounded recent terminal output from one panel and strips common terminal control noise for agent use.",
3940
4012
  "`runpane panels input` sends exact input bytes to one terminal panel. Prefer `--input-file` for newlines, Ctrl-C, quotes, or shell-sensitive text.",
@@ -4775,6 +4847,31 @@ exports.RUNPANE_CONTRACT = {
4775
4847
  [
4776
4848
  "lock",
4777
4849
  "--help"
4850
+ ],
4851
+ [
4852
+ "panels",
4853
+ "open",
4854
+ "--pane",
4855
+ "session-1",
4856
+ "--file",
4857
+ "plan.html",
4858
+ "--title",
4859
+ "Plan",
4860
+ "--split",
4861
+ "--no-focus",
4862
+ "--source",
4863
+ "agent",
4864
+ "--yes",
4865
+ "--json"
4866
+ ],
4867
+ [
4868
+ "panels",
4869
+ "open",
4870
+ "--url",
4871
+ "http://localhost:3000",
4872
+ "--tab",
4873
+ "--yes",
4874
+ "--json"
4778
4875
  ]
4779
4876
  ],
4780
4877
  "topLevelHelpIncludes": [
@@ -8224,6 +8321,97 @@ exports.RUNPANE_CONTRACT = {
8224
8321
  },
8225
8322
  "additionalProperties": false
8226
8323
  },
8324
+ "panelOpenRequest": {
8325
+ "type": "object",
8326
+ "required": [
8327
+ "paneId"
8328
+ ],
8329
+ "properties": {
8330
+ "paneId": {
8331
+ "type": "string"
8332
+ },
8333
+ "url": {
8334
+ "type": "string"
8335
+ },
8336
+ "filePath": {
8337
+ "type": "string"
8338
+ },
8339
+ "title": {
8340
+ "type": "string"
8341
+ },
8342
+ "placement": {
8343
+ "enum": [
8344
+ "split",
8345
+ "tab"
8346
+ ]
8347
+ },
8348
+ "noFocus": {
8349
+ "type": "boolean"
8350
+ },
8351
+ "focus": {
8352
+ "type": "boolean"
8353
+ },
8354
+ "source": {
8355
+ "enum": [
8356
+ "user",
8357
+ "agent"
8358
+ ]
8359
+ }
8360
+ },
8361
+ "additionalProperties": false
8362
+ },
8363
+ "panelOpenResult": {
8364
+ "type": "object",
8365
+ "required": [
8366
+ "ok",
8367
+ "paneId",
8368
+ "panelId",
8369
+ "type",
8370
+ "title",
8371
+ "placement",
8372
+ "active",
8373
+ "reused"
8374
+ ],
8375
+ "properties": {
8376
+ "ok": {
8377
+ "const": true
8378
+ },
8379
+ "paneId": {
8380
+ "type": "string"
8381
+ },
8382
+ "panelId": {
8383
+ "type": "string"
8384
+ },
8385
+ "type": {
8386
+ "enum": [
8387
+ "browser",
8388
+ "editor"
8389
+ ]
8390
+ },
8391
+ "title": {
8392
+ "type": "string"
8393
+ },
8394
+ "url": {
8395
+ "type": "string"
8396
+ },
8397
+ "filePath": {
8398
+ "type": "string"
8399
+ },
8400
+ "placement": {
8401
+ "enum": [
8402
+ "split",
8403
+ "tab"
8404
+ ]
8405
+ },
8406
+ "active": {
8407
+ "type": "boolean"
8408
+ },
8409
+ "reused": {
8410
+ "type": "boolean"
8411
+ }
8412
+ },
8413
+ "additionalProperties": false
8414
+ },
8227
8415
  "panelSubmitComposerRequest": {
8228
8416
  "type": "object",
8229
8417
  "required": [
@@ -9322,6 +9510,22 @@ exports.RUNPANE_CONTRACT = {
9322
9510
  "--json"
9323
9511
  ]
9324
9512
  },
9513
+ {
9514
+ "name": "panels open",
9515
+ "summary": "Show the user an HTML page, plan, report, dev server URL, or file as a tab in split view beside the agent.",
9516
+ "arguments": [
9517
+ "--pane <pane-id>",
9518
+ "--url <url>",
9519
+ "--file <path>",
9520
+ "--title <title>",
9521
+ "--split",
9522
+ "--tab",
9523
+ "--no-focus",
9524
+ "--source <user|agent>",
9525
+ "--yes",
9526
+ "--json"
9527
+ ]
9528
+ },
9325
9529
  {
9326
9530
  "name": "panels list",
9327
9531
  "summary": "List tool panels inside a Pane session.",
@@ -11011,6 +11215,89 @@ exports.RUNPANE_CONTRACT = {
11011
11215
  "With --tool-command, --agent names the agent the command runs (a wrapper such as `agent-farm run`): Pane launches the command unchanged and treats the panel as that agent. Without --agent, Pane detects Claude Code, Codex and Cursor from the foreground process or the agent's screen."
11012
11216
  ]
11013
11217
  },
11218
+ "panels open": {
11219
+ "name": "panels open",
11220
+ "summary": "Open a URL or file as a browser/editor tab in a Pane, in split view beside the agent by default.",
11221
+ "details": "Opens a tab inside a Pane (default: the Pane of the calling panel, from PANE_SESSION_ID). Use it to show the user an HTML page, plan, report, local dev server, or file beside the conversation. --url opens a browser tab (http, https, or file). --file opens a file inside the Pane worktree: .html/.htm files render in a browser tab, other files open in an editor tab. Tabs open in split view beside the agent by default; --tab keeps them in the current group. An existing tab showing the same URL or file is reused. Never raises or focuses the Pane window.",
11222
+ "requiresPaneDaemon": true,
11223
+ "mutates": true,
11224
+ "arguments": [
11225
+ {
11226
+ "name": "--pane",
11227
+ "value": "<pane-id>",
11228
+ "required": false,
11229
+ "description": "Pane to open the tab in; defaults to PANE_SESSION_ID (the calling panel's Pane, including a Session orchestrator's)."
11230
+ },
11231
+ {
11232
+ "name": "--url",
11233
+ "value": "<url>",
11234
+ "required": false,
11235
+ "description": "http(s) or file URL to open in a browser tab. Pass exactly one of --url or --file."
11236
+ },
11237
+ {
11238
+ "name": "--file",
11239
+ "value": "<path>",
11240
+ "required": false,
11241
+ "description": "File inside the Pane worktree, relative or absolute. .html/.htm renders in a browser tab; other files open in an editor tab."
11242
+ },
11243
+ {
11244
+ "name": "--title",
11245
+ "value": "<title>",
11246
+ "required": false,
11247
+ "description": "Tab title override."
11248
+ },
11249
+ {
11250
+ "name": "--split",
11251
+ "required": false,
11252
+ "description": "Open in split view beside the primary tab group (default)."
11253
+ },
11254
+ {
11255
+ "name": "--tab",
11256
+ "required": false,
11257
+ "description": "Open in the current tab group instead of split view."
11258
+ },
11259
+ {
11260
+ "name": "--no-focus",
11261
+ "required": false,
11262
+ "description": "Open the tab without selecting it."
11263
+ },
11264
+ {
11265
+ "name": "--focus",
11266
+ "required": false,
11267
+ "description": "Select the tab (default). Never raises or focuses the Pane window."
11268
+ },
11269
+ {
11270
+ "name": "--source",
11271
+ "value": "<user|agent>",
11272
+ "required": false,
11273
+ "description": "Mutation source."
11274
+ },
11275
+ {
11276
+ "name": "--yes",
11277
+ "required": false,
11278
+ "description": "Skip confirmation for this mutating command."
11279
+ },
11280
+ {
11281
+ "name": "--json",
11282
+ "required": false,
11283
+ "description": "Print machine-readable output."
11284
+ }
11285
+ ],
11286
+ "examples": [
11287
+ "runpane panels open --file plan.html --source agent --yes --json",
11288
+ "runpane panels open --url http://localhost:3000 --source agent --yes --json",
11289
+ "runpane panels open --pane <pane-id> --file src/app.ts --tab --source agent --yes --json"
11290
+ ],
11291
+ "jsonSchemas": [
11292
+ "panelOpenRequest",
11293
+ "panelOpenResult"
11294
+ ],
11295
+ "notes": [
11296
+ "Prefer this over opening the system browser when showing the user a page, plan, report, or dev server.",
11297
+ "Write plans and reports as self-contained HTML files, then open them with --file; rerunning the command on the same file reuses its tab.",
11298
+ "Opening a tab does not steal window focus; use `panes focus` only on explicit user request."
11299
+ ]
11300
+ },
11014
11301
  "panels submit-composer": {
11015
11302
  "name": "panels submit-composer",
11016
11303
  "summary": "Submit an agent composer using the panel-appropriate key sequence.",
@@ -12427,7 +12714,9 @@ exports.RUNPANE_CONTRACT = {
12427
12714
  "jsonSchemas": [
12428
12715
  "sessionResult"
12429
12716
  ],
12430
- "notes": []
12717
+ "notes": [
12718
+ "Structured input accepts launchCommand (full command including arguments; empty uses the selected agent default) and profile (Session behavior instructions). Creating/opening a Session submits no automatic prompt. Changes apply on next terminal launch."
12719
+ ]
12431
12720
  },
12432
12721
  "sessions get": {
12433
12722
  "name": "sessions get",
@@ -12471,7 +12760,9 @@ exports.RUNPANE_CONTRACT = {
12471
12760
  "jsonSchemas": [
12472
12761
  "sessionResult"
12473
12762
  ],
12474
- "notes": []
12763
+ "notes": [
12764
+ "Structured input accepts launchCommand (full command including arguments; empty uses the selected agent default) and profile (Session behavior instructions). Creating/opening a Session submits no automatic prompt. Changes apply on next terminal launch."
12765
+ ]
12475
12766
  },
12476
12767
  "sessions set-agent": {
12477
12768
  "name": "sessions set-agent",