runpane 2.3.8 → 2.3.10

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.
@@ -111,9 +111,12 @@ exports.RUNPANE_CONTRACT = {
111
111
  },
112
112
  {
113
113
  "name": "doctor",
114
- "summary": "Run platform, release, installed Pane, and remote setup diagnostics.",
114
+ "summary": "Run platform, release, installed Pane, daemon reachability, and remote setup diagnostics.",
115
115
  "usage": [
116
- "runpane doctor"
116
+ "runpane doctor [--json] [--pane-dir <path>] [--pane-path <path>] [--format <format>] [--verbose]"
117
+ ],
118
+ "jsonSchemas": [
119
+ "doctorResult"
117
120
  ]
118
121
  },
119
122
  {
@@ -501,7 +504,17 @@ exports.RUNPANE_CONTRACT = {
501
504
  " npx --yes runpane@latest install daemon --label \"My Server\"",
502
505
  " pnpm dlx runpane@latest",
503
506
  "",
504
- "Run \"runpane agent-context\" when an agent needs Pane command context.",
507
+ "Common commands:",
508
+ " runpane help",
509
+ " runpane setup",
510
+ " runpane install",
511
+ " runpane doctor",
512
+ "",
513
+ "Agent discovery:",
514
+ " runpane doctor --json",
515
+ " runpane agent-context --json",
516
+ " runpane agent-context --command \"<command>\" --json",
517
+ "",
505
518
  "Run \"runpane help panes create\" for pane orchestration options."
506
519
  ],
507
520
  "install": [
@@ -568,7 +581,20 @@ exports.RUNPANE_CONTRACT = {
568
581
  ],
569
582
  "doctor": [
570
583
  "Usage:",
571
- " runpane doctor [--pane-path <path>] [--format <format>] [--verbose]"
584
+ " runpane doctor [--json] [--pane-dir <path>] [--pane-path <path>] [--format <format>] [--verbose]",
585
+ "",
586
+ "Checks wrapper/runtime details, release metadata, installed Pane detection, and Pane daemon reachability.",
587
+ "",
588
+ "Options:",
589
+ " --json Print a machine-readable environment report",
590
+ " --pane-dir <path> Connect to a specific Pane data directory",
591
+ " --pane-path <path> Inspect a specific Pane executable",
592
+ " --format <format> Release artifact format to inspect",
593
+ " --verbose Print extra diagnostics",
594
+ "",
595
+ "Agent discovery:",
596
+ " runpane doctor --json",
597
+ " runpane agent-context --json"
572
598
  ],
573
599
  "repos list": [
574
600
  "Usage:",
@@ -773,7 +799,17 @@ exports.RUNPANE_CONTRACT = {
773
799
  " pipx run runpane install daemon --label \"My Server\"",
774
800
  " uvx runpane@latest",
775
801
  "",
776
- "Run \"runpane agent-context\" when an agent needs Pane command context.",
802
+ "Common commands:",
803
+ " runpane help",
804
+ " runpane setup",
805
+ " runpane install",
806
+ " runpane doctor",
807
+ "",
808
+ "Agent discovery:",
809
+ " runpane doctor --json",
810
+ " runpane agent-context --json",
811
+ " runpane agent-context --command \"<command>\" --json",
812
+ "",
777
813
  "Run \"runpane help panes create\" for pane orchestration options."
778
814
  ],
779
815
  "install": [
@@ -829,7 +865,20 @@ exports.RUNPANE_CONTRACT = {
829
865
  ],
830
866
  "doctor": [
831
867
  "Usage:",
832
- " runpane doctor [--pane-path <path>] [--format <format>] [--verbose]"
868
+ " runpane doctor [--json] [--pane-dir <path>] [--pane-path <path>] [--format <format>] [--verbose]",
869
+ "",
870
+ "Checks wrapper/runtime details, release metadata, installed Pane detection, and Pane daemon reachability.",
871
+ "",
872
+ "Options:",
873
+ " --json",
874
+ " --pane-dir <path>",
875
+ " --pane-path <path>",
876
+ " --format <format>",
877
+ " --verbose",
878
+ "",
879
+ "Agent discovery:",
880
+ " runpane doctor --json",
881
+ " runpane agent-context --json"
833
882
  ],
834
883
  "repos list": [
835
884
  "Usage:",
@@ -1065,6 +1114,7 @@ exports.RUNPANE_CONTRACT = {
1065
1114
  "runpane update",
1066
1115
  "runpane version",
1067
1116
  "runpane doctor",
1117
+ "runpane doctor --json",
1068
1118
  "runpane agent-context",
1069
1119
  "runpane agent-context --command \"panes create\" --json",
1070
1120
  "runpane repos list --json",
@@ -1079,14 +1129,14 @@ exports.RUNPANE_CONTRACT = {
1079
1129
  "runpane <command> --help"
1080
1130
  ],
1081
1131
  "commandDescriptions": [
1082
- "`runpane` with no arguments and `runpane setup` open an interactive wizard when stdin and stdout are TTYs. In non-interactive shells or CI, both forms must print help and exit successfully instead of waiting for input.",
1132
+ "`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.",
1083
1133
  "`runpane install` is an alias for `runpane install client`.",
1084
1134
  "`runpane install client` downloads the selected Pane desktop artifact and installs, opens, or launches it for the current platform.",
1085
1135
  "`runpane install daemon` downloads or installs Pane, resolves a stable Pane executable path, and spawns `<pane executable> --remote-setup <forwarded remote setup args>`.",
1086
1136
  "The wrapper must stream Pane stdout/stderr without reformatting because `pane --remote-setup` prints the one-time `pane-remote://...` connection code.",
1087
1137
  "`runpane update` uses the same release resolution and installer path as `install client`.",
1088
1138
  "`runpane version` prints the wrapper package version, the installed Pane version when detectable, and the latest GitHub release version when reachable.",
1089
- "`runpane doctor` checks platform support, release metadata reachability, download URL selection, installed Pane detection, and remote-daemon hints.",
1139
+ "`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.",
1090
1140
  "`runpane agent-context` prints a brief, token-efficient command schema for coding agents without connecting to the Pane daemon.",
1091
1141
  "`runpane agent-context --command \"panes create\"` prints the detailed definition for one command. Add `--json` for machine-readable output.",
1092
1142
  "`runpane repos list` connects to the running local Pane daemon and prints saved repository records.",
@@ -1100,7 +1150,7 @@ exports.RUNPANE_CONTRACT = {
1100
1150
  "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'`."
1101
1151
  ],
1102
1152
  "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.",
1103
- "localControlFlagNote": "`runpane repos list`, `runpane panes list`, `runpane panes create`, and `runpane panels ...` commands use the local framed daemon socket/pipe for a running Pane app. `--pane-dir` points the wrapper at a non-default Pane data directory, such as `PANE_DIR=~/.pane_test` in development. `runpane agent-context` is local/offline and can be used before Pane is running. 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.",
1153
+ "localControlFlagNote": "`runpane doctor --json`, `runpane repos list`, `runpane panes list`, `runpane panes create`, 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. 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.",
1104
1154
  "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.",
1105
1155
  "downloadAttribution": [
1106
1156
  "The npm package uses `source=npm` for all npm-registry consumers, including `npx`, `pnpm dlx`, `yarn dlx`, `bunx`, and global npm/pnpm installs.",
@@ -1179,6 +1229,12 @@ exports.RUNPANE_CONTRACT = {
1179
1229
  "zip",
1180
1230
  "--verbose"
1181
1231
  ],
1232
+ [
1233
+ "doctor",
1234
+ "--json",
1235
+ "--pane-dir",
1236
+ "/tmp/pane"
1237
+ ],
1182
1238
  [
1183
1239
  "agent-context"
1184
1240
  ],
@@ -1341,7 +1397,11 @@ exports.RUNPANE_CONTRACT = {
1341
1397
  "runpane agents doctor",
1342
1398
  "runpane panels screen",
1343
1399
  "runpane panels submit",
1344
- "runpane panels wait"
1400
+ "runpane panels wait",
1401
+ "runpane doctor --json",
1402
+ "runpane agent-context --json",
1403
+ "Agent discovery:",
1404
+ "Common commands:"
1345
1405
  ],
1346
1406
  "npmHelpIncludes": [
1347
1407
  "pnpm dlx runpane@latest",
@@ -1390,6 +1450,168 @@ exports.RUNPANE_CONTRACT = {
1390
1450
  },
1391
1451
  "additionalProperties": false
1392
1452
  },
1453
+ "doctorResult": {
1454
+ "type": "object",
1455
+ "required": [
1456
+ "ok",
1457
+ "source",
1458
+ "wrapper",
1459
+ "release",
1460
+ "installedPane",
1461
+ "daemon",
1462
+ "nextCommands"
1463
+ ],
1464
+ "properties": {
1465
+ "ok": {
1466
+ "type": "boolean"
1467
+ },
1468
+ "source": {
1469
+ "enum": [
1470
+ "npm",
1471
+ "pip"
1472
+ ]
1473
+ },
1474
+ "wrapper": {
1475
+ "type": "object",
1476
+ "required": [
1477
+ "runtime",
1478
+ "version",
1479
+ "paneDir",
1480
+ "endpoint"
1481
+ ],
1482
+ "properties": {
1483
+ "runtime": {
1484
+ "enum": [
1485
+ "node",
1486
+ "python"
1487
+ ]
1488
+ },
1489
+ "version": {
1490
+ "type": "string"
1491
+ },
1492
+ "paneDir": {
1493
+ "type": "string"
1494
+ },
1495
+ "endpoint": {
1496
+ "type": "object",
1497
+ "required": [
1498
+ "transport",
1499
+ "path"
1500
+ ],
1501
+ "properties": {
1502
+ "transport": {
1503
+ "enum": [
1504
+ "pipe",
1505
+ "unix"
1506
+ ]
1507
+ },
1508
+ "path": {
1509
+ "type": "string"
1510
+ }
1511
+ },
1512
+ "additionalProperties": false
1513
+ }
1514
+ },
1515
+ "additionalProperties": false
1516
+ },
1517
+ "platform": {
1518
+ "type": "object",
1519
+ "properties": {
1520
+ "os": {
1521
+ "type": "string"
1522
+ },
1523
+ "arch": {
1524
+ "type": "string"
1525
+ },
1526
+ "error": {
1527
+ "type": "string"
1528
+ }
1529
+ },
1530
+ "additionalProperties": true
1531
+ },
1532
+ "release": {
1533
+ "type": "object",
1534
+ "required": [
1535
+ "ok"
1536
+ ],
1537
+ "properties": {
1538
+ "ok": {
1539
+ "type": "boolean"
1540
+ },
1541
+ "error": {
1542
+ "type": "string"
1543
+ }
1544
+ },
1545
+ "additionalProperties": true
1546
+ },
1547
+ "installedPane": {
1548
+ "type": "object",
1549
+ "required": [
1550
+ "found"
1551
+ ],
1552
+ "properties": {
1553
+ "found": {
1554
+ "type": "boolean"
1555
+ },
1556
+ "path": {
1557
+ "type": "string"
1558
+ },
1559
+ "version": {
1560
+ "type": "string"
1561
+ }
1562
+ },
1563
+ "additionalProperties": false
1564
+ },
1565
+ "daemon": {
1566
+ "type": "object",
1567
+ "required": [
1568
+ "reachable",
1569
+ "endpoint"
1570
+ ],
1571
+ "properties": {
1572
+ "reachable": {
1573
+ "type": "boolean"
1574
+ },
1575
+ "endpoint": {
1576
+ "type": "object",
1577
+ "required": [
1578
+ "transport",
1579
+ "path"
1580
+ ],
1581
+ "properties": {
1582
+ "transport": {
1583
+ "enum": [
1584
+ "pipe",
1585
+ "unix"
1586
+ ]
1587
+ },
1588
+ "path": {
1589
+ "type": "string"
1590
+ }
1591
+ },
1592
+ "additionalProperties": false
1593
+ },
1594
+ "result": {
1595
+ "type": "object"
1596
+ },
1597
+ "error": {
1598
+ "type": "string"
1599
+ },
1600
+ "nextCommand": {
1601
+ "type": "string"
1602
+ }
1603
+ },
1604
+ "additionalProperties": false
1605
+ },
1606
+ "nextCommands": {
1607
+ "type": "array",
1608
+ "items": {
1609
+ "type": "string"
1610
+ }
1611
+ }
1612
+ },
1613
+ "additionalProperties": false
1614
+ },
1393
1615
  "repoListResult": {
1394
1616
  "type": "object",
1395
1617
  "required": [
@@ -2553,18 +2775,28 @@ exports.RUNPANE_CONTRACT = {
2553
2775
  "title": "Pane agent context",
2554
2776
  "summary": "Pane lets a developer manage repositories and user-visible terminal panes. Agents can use runpane to create panes, inspect compact terminal state, wait for readiness, and submit interactive input.",
2555
2777
  "rules": [
2556
- "Start with `runpane repos list --json` to find the saved repository when unsure.",
2557
- "If WSL cannot reach Pane or `runpane` resolves to a broken Windows shim, the user may be running Windows Pane; try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane repos list --json'`.",
2778
+ "Start with `runpane doctor --json` to understand wrapper, platform, daemon reachability, and the next safe commands before mutating Pane state.",
2779
+ "Use `runpane agent-context --json` for the full agent-facing CLI context, or `runpane agent-context --command <command> --json` for one detailed command definition.",
2780
+ "Use `runpane repos list --json` to find the saved repository when unsure after doctor shows the daemon is reachable.",
2781
+ "If WSL cannot reach Pane or `runpane` resolves to a broken Windows shim, the user may be running Windows Pane; try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane doctor --json'`.",
2558
2782
  "If the repository exists on disk but is not saved in Pane, use `runpane repos add --path <repo> --yes --json` before creating panes.",
2559
2783
  "Use `runpane agents doctor --agent <codex|claude> --repo <selector> --json` when agent availability differs across host, Windows, WSL, or repo environments.",
2560
2784
  "Use `runpane panes create --wait-ready` to create panes and validate initial terminal readiness in one call.",
2561
2785
  "Use `runpane panels screen` for compact current state, `panels wait` for readiness/text checks, and `panels submit` for ordinary Enter-submitted input.",
2562
2786
  "Use `runpane panels input` only when exact bytes are required, such as Ctrl-C or handcrafted terminal input.",
2563
- "After creating panes or sending terminal input, validate with `panels wait` or bounded `panels screen` before reporting success.",
2564
- "Use `runpane agent-context --command <command>` for detailed command definitions only when needed."
2787
+ "After creating panes or sending terminal input, validate with `panels wait` or bounded `panels screen` before reporting success."
2565
2788
  ],
2566
2789
  "detailCommand": "runpane agent-context --command <command> [--json]",
2567
2790
  "tools": [
2791
+ {
2792
+ "name": "doctor",
2793
+ "summary": "Report wrapper, platform, installed Pane, and daemon reachability before an agent mutates Pane state.",
2794
+ "arguments": [
2795
+ "--json",
2796
+ "--pane-dir <path>",
2797
+ "--pane-path <path>"
2798
+ ]
2799
+ },
2568
2800
  {
2569
2801
  "name": "agent-context",
2570
2802
  "summary": "Print token-efficient Pane command context for coding agents.",
@@ -2828,16 +3060,33 @@ exports.RUNPANE_CONTRACT = {
2828
3060
  },
2829
3061
  "doctor": {
2830
3062
  "name": "doctor",
2831
- "summary": "Run platform, release, installed Pane, and remote setup diagnostics.",
2832
- "details": "Use this when runpane install/update behavior needs environment diagnostics.",
3063
+ "summary": "Run platform, release, installed Pane, daemon reachability, and remote setup diagnostics.",
3064
+ "details": "Use this first when an agent needs to understand whether Pane is installed, which wrapper/runtime is running, what daemon endpoint is expected, and whether the running Pane app is reachable. JSON mode should return a report even when the daemon is unreachable.",
2833
3065
  "requiresPaneDaemon": false,
2834
3066
  "mutates": false,
2835
3067
  "arguments": [
3068
+ {
3069
+ "name": "--json",
3070
+ "required": false,
3071
+ "description": "Print a machine-readable environment report."
3072
+ },
3073
+ {
3074
+ "name": "--pane-dir",
3075
+ "value": "<path>",
3076
+ "required": false,
3077
+ "description": "Connect to a specific Pane data directory."
3078
+ },
2836
3079
  {
2837
3080
  "name": "--pane-path",
2838
3081
  "value": "<path>",
2839
3082
  "required": false,
2840
- "description": "Use an existing Pane executable for diagnostics."
3083
+ "description": "Inspect a specific Pane executable."
3084
+ },
3085
+ {
3086
+ "name": "--format",
3087
+ "value": "<format>",
3088
+ "required": false,
3089
+ "description": "Release artifact format to inspect."
2841
3090
  },
2842
3091
  {
2843
3092
  "name": "--verbose",
@@ -2846,10 +3095,17 @@ exports.RUNPANE_CONTRACT = {
2846
3095
  }
2847
3096
  ],
2848
3097
  "examples": [
2849
- "runpane doctor",
2850
- "runpane doctor --verbose"
3098
+ "runpane doctor --json",
3099
+ "runpane doctor"
2851
3100
  ],
2852
- "notes": []
3101
+ "jsonSchemas": [
3102
+ "doctorResult"
3103
+ ],
3104
+ "notes": [
3105
+ "Agents should run `runpane doctor --json` before mutating Pane state.",
3106
+ "The JSON report includes daemon reachability as data; an unreachable daemon is not a reason to skip the rest of the report.",
3107
+ "Use `runpane agent-context --json` after doctor when full CLI context is needed."
3108
+ ]
2853
3109
  },
2854
3110
  "agent-context": {
2855
3111
  "name": "agent-context",
@@ -3445,11 +3701,15 @@ exports.RUNPANE_CONTRACT = {
3445
3701
  "",
3446
3702
  "The developer is using Pane for this repository. Pane can manage saved repositories and create user-visible panes with terminal-backed tools for planning, discussion, implementation, and review work.",
3447
3703
  "",
3448
- "Use `runpane agent-context` for a brief Pane command schema. Use `runpane agent-context --command \"panels wait\"` or another command name for detailed schema only when needed.",
3704
+ "Start with `runpane doctor --json` before taking Pane actions. Use it to understand wrapper/runtime details, daemon reachability, and the next safe commands.",
3705
+ "",
3706
+ "Use `runpane agent-context --json` for full Pane CLI context. Use `runpane agent-context --command \"panels wait\" --json` or another command name for detailed schema only when needed.",
3449
3707
  "",
3450
3708
  "Default to context-safe validation: after creating panes or sending terminal input, run `runpane panels wait` or `runpane panels screen` before reporting success. Prefer `runpane panels submit` for normal text plus Enter; use `runpane panels input` only for exact bytes such as Ctrl-C or escape sequences.",
3451
3709
  "",
3452
3710
  "Common commands:",
3711
+ "- `runpane doctor --json`",
3712
+ "- `runpane agent-context --json`",
3453
3713
  "- `runpane repos list --json`",
3454
3714
  "- `runpane repos add --path <repo> --yes --json`",
3455
3715
  "- `runpane agents doctor --agent codex --repo active --json`",
@@ -3460,7 +3720,7 @@ exports.RUNPANE_CONTRACT = {
3460
3720
  "- `runpane panels submit --panel <panel-id> --text \"<answer>\" --yes --json`",
3461
3721
  "- `runpane panels input --panel <panel-id> --input-file <path|-> --yes --json`",
3462
3722
  "",
3463
- "WSL note: if `runpane repos list` cannot find `/tmp/pane-daemon.../daemon.sock` or `runpane` resolves to a broken Windows shim, Pane may be running on Windows. Try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane repos list --json'`, then create panes through the same PowerShell form using the saved WSL repo name or id. Use `runpane agents doctor --agent codex --repo <selector> --json` to diagnose the repo environment Pane will actually use."
3723
+ "WSL note: if `runpane doctor --json` cannot find `/tmp/pane-daemon.../daemon.sock` or `runpane` resolves to a broken Windows shim, Pane may be running on Windows. Try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane doctor --json'`, then create panes through the same PowerShell form using the saved WSL repo name or id. Use `runpane agents doctor --agent codex --repo <selector> --json` to diagnose the repo environment Pane will actually use."
3464
3724
  ]
3465
3725
  }
3466
3726
  };