runpane 2.4.82 → 2.4.84

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.
@@ -28,7 +28,14 @@ exports.RUNPANE_CONTRACT = {
28
28
  "format": "auto",
29
29
  "dryRun": false,
30
30
  "yes": false,
31
- "verbose": false
31
+ "verbose": false,
32
+ "watch": {
33
+ "format": "lines",
34
+ "heartbeatSeconds": 60,
35
+ "idleAfterMs": 600000,
36
+ "agentsOnly": true,
37
+ "includeHeldInputPresence": true
38
+ }
32
39
  },
33
40
  "enums": {
34
41
  "installTargets": [
@@ -119,7 +126,8 @@ exports.RUNPANE_CONTRACT = {
119
126
  "name": "doctor",
120
127
  "summary": "Run platform, release, installed Pane, daemon reachability, and remote setup diagnostics.",
121
128
  "usage": [
122
- "runpane doctor [--json] [--pane-dir <path>] [--pane-path <path>] [--format <format>] [--verbose]"
129
+ "runpane doctor [--json] [--pane-dir <path>] [--pane-path <path>] [--format <format>] [--verbose]",
130
+ "runpane doctor --report [--title <text>] --body-file <path|-> [--yes] [--json]"
123
131
  ],
124
132
  "jsonSchemas": [
125
133
  "doctorResult"
@@ -215,7 +223,7 @@ exports.RUNPANE_CONTRACT = {
215
223
  "name": "watch",
216
224
  "summary": "Wait for workspace agent and Pane transitions using a daemon-held cursor.",
217
225
  "usage": [
218
- "runpane watch [--as <name>|--since <generation>] [--follow] [--kinds <kind,...>] [--pane <id>] [--repo <selector>] [--name-contains <text>] [--timeout-ms <ms>] [--from <now|earliest>] [--json]"
226
+ "runpane watch [--as <name>|--since <generation>] [--follow] [--format <lines|json>] [--heartbeat <seconds>] [--idle-after <ms>] [--all-managed|--pane <id>] [--include-shells] [--self-test] [--kinds <kind,...>] [--repo <selector>] [--name-contains <text>] [--timeout-ms <ms>] [--from <now|earliest>] [--json]"
219
227
  ],
220
228
  "jsonSchemas": [
221
229
  "workspaceWaitRequest",
@@ -615,6 +623,31 @@ exports.RUNPANE_CONTRACT = {
615
623
  "name": "--name-contains",
616
624
  "value": "<text>",
617
625
  "description": "Limit workspace events to Pane names containing text."
626
+ },
627
+ {
628
+ "name": "--exclude-pane",
629
+ "value": "<pane-id>",
630
+ "description": "Exclude a Pane from workspace watch results; repeatable."
631
+ },
632
+ {
633
+ "name": "--format",
634
+ "value": "<lines|json>",
635
+ "description": "Watch output format; scoped to the watch command."
636
+ },
637
+ {
638
+ "name": "--heartbeat",
639
+ "value": "<seconds>",
640
+ "description": "Maximum healthy silence in follow mode; 0 disables heartbeats."
641
+ },
642
+ {
643
+ "name": "--idle-after",
644
+ "value": "<milliseconds>",
645
+ "description": "Emit agent.idle after this READY duration; 0 disables idle events."
646
+ },
647
+ {
648
+ "name": "--body-file",
649
+ "value": "<path|->",
650
+ "description": "Read diagnostic report evidence from a file or stdin."
618
651
  }
619
652
  ],
620
653
  "localBoolean": [
@@ -657,6 +690,30 @@ exports.RUNPANE_CONTRACT = {
657
690
  {
658
691
  "name": "--include-held-input",
659
692
  "description": "Include up to 120 characters of unsubmitted composer text in ready events."
693
+ },
694
+ {
695
+ "name": "--agents-only",
696
+ "description": "Limit workspace events to CLI agent panels."
697
+ },
698
+ {
699
+ "name": "--all-managed",
700
+ "description": "Watch all non-archived, non-hidden managed panes."
701
+ },
702
+ {
703
+ "name": "--include-shells",
704
+ "description": "Include ordinary shell panels in follow mode."
705
+ },
706
+ {
707
+ "name": "--no-held-input",
708
+ "description": "Disable redacted STUCK detection in lines follow mode."
709
+ },
710
+ {
711
+ "name": "--self-test",
712
+ "description": "Probe the current daemon watch path without advancing a named cursor."
713
+ },
714
+ {
715
+ "name": "--report",
716
+ "description": "Prepare a redacted doctor report; external filing still requires --yes."
660
717
  }
661
718
  ]
662
719
  },
@@ -670,6 +727,7 @@ exports.RUNPANE_CONTRACT = {
670
727
  " runpane update [options]",
671
728
  " runpane version",
672
729
  " runpane doctor",
730
+ " runpane doctor --report --body-file <path|->",
673
731
  " runpane daemon repair [--pane-dir <path>] [--yes] [--json]",
674
732
  " runpane agent-context [--json]",
675
733
  " runpane agents doctor --agent <codex|claude|cursor> [--repo <selector>] [--json]",
@@ -678,7 +736,7 @@ exports.RUNPANE_CONTRACT = {
678
736
  " runpane panes list [--repo <selector>] [--json]",
679
737
  " runpane panes cost [--repo <selector>] [--pane <pane-id>] [--json]",
680
738
  " runpane workspace state [--repo <selector>] [--json]",
681
- " runpane watch [--as <name>|--since <generation>] [--follow] [--json]",
739
+ " runpane watch --follow",
682
740
  " runpane panes create --repo <selector> --name <name> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] [--wait-ready]",
683
741
  " runpane panes archive --pane <pane-id> [--source user|agent] [--force] [--dry-run] --yes",
684
742
  " runpane panels create --pane <pane-id> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] --yes",
@@ -778,6 +836,7 @@ exports.RUNPANE_CONTRACT = {
778
836
  "doctor": [
779
837
  "Usage:",
780
838
  " runpane doctor [--json] [--pane-dir <path>] [--pane-path <path>] [--format <format>] [--verbose]",
839
+ " runpane doctor --report [--title <text>] --body-file <path|-> [--yes] [--json]",
781
840
  "",
782
841
  "Checks wrapper/runtime details, release metadata, installed Pane detection, and Pane daemon reachability.",
783
842
  "",
@@ -787,6 +846,10 @@ exports.RUNPANE_CONTRACT = {
787
846
  " --pane-path <path> Inspect a specific Pane executable",
788
847
  " --format <format> Release artifact format to inspect",
789
848
  " --verbose Print extra diagnostics",
849
+ " --report Prepare a redacted, inspectable report",
850
+ " --body-file <path|-> Read report evidence from a file or stdin",
851
+ " --title <text> Report title",
852
+ " --yes Confirm creating one dcouple/Pane issue",
790
853
  "",
791
854
  "Agent discovery:",
792
855
  " runpane doctor --json",
@@ -873,7 +936,7 @@ exports.RUNPANE_CONTRACT = {
873
936
  "",
874
937
  "Usage:",
875
938
  " runpane workspace state [--repo <selector>] [--json]",
876
- " runpane watch [--as <name>|--since <generation>] [--follow] [options]"
939
+ " runpane watch --follow"
877
940
  ],
878
941
  "workspace state": [
879
942
  "Usage:",
@@ -892,6 +955,14 @@ exports.RUNPANE_CONTRACT = {
892
955
  " --since <generation> Use an explicit cursor instead",
893
956
  " --from <now|earliest> Starting point for a new named cursor",
894
957
  " --follow Continue waiting until interrupted",
958
+ " --format <lines|json> Output format; lines is the follow default",
959
+ " --heartbeat <seconds> Healthy-silence bound; defaults to 60 under --follow",
960
+ " --idle-after <ms> Re-firing READY idle interval; defaults to 600000 under --follow",
961
+ " --all-managed Explicitly watch all managed panes",
962
+ " --include-shells Include ordinary shell panels",
963
+ " --agents-only Limit to CLI agent panels",
964
+ " --exclude-pane <id> Exclude a Pane; repeatable",
965
+ " --self-test Anonymous, read-only daemon path probe",
895
966
  " --kinds <kind,...> Limit event kinds",
896
967
  " --pane <id> Limit to a Pane; repeatable",
897
968
  " --repo <selector> Limit to a saved repository",
@@ -899,8 +970,9 @@ exports.RUNPANE_CONTRACT = {
899
970
  " --timeout-ms <ms> Wait timeout; 0 polls once",
900
971
  " --limit <count> Maximum entries per response",
901
972
  " --ack-now Use at-most-once named-cursor delivery",
902
- " --include-held-input Include unsubmitted composer text",
903
- " --json Emit one NDJSON line per entry"
973
+ " --include-held-input Include unsubmitted composer text in JSON",
974
+ " --no-held-input Disable redacted STUCK detection",
975
+ " --json Alias for --format json"
904
976
  ],
905
977
  "panes create": [
906
978
  "Usage:",
@@ -1159,6 +1231,7 @@ exports.RUNPANE_CONTRACT = {
1159
1231
  " runpane update [options]",
1160
1232
  " runpane version",
1161
1233
  " runpane doctor",
1234
+ " runpane doctor --report --body-file <path|->",
1162
1235
  " runpane daemon repair [--pane-dir <path>] [--yes] [--json]",
1163
1236
  " runpane agent-context [--json]",
1164
1237
  " runpane agents doctor --agent <codex|claude|cursor> [--repo <selector>] [--json]",
@@ -1167,7 +1240,7 @@ exports.RUNPANE_CONTRACT = {
1167
1240
  " runpane panes list [--repo <selector>] [--json]",
1168
1241
  " runpane panes cost [--repo <selector>] [--pane <pane-id>] [--json]",
1169
1242
  " runpane workspace state [--repo <selector>] [--json]",
1170
- " runpane watch [--as <name>|--since <generation>] [--follow] [--json]",
1243
+ " runpane watch --follow",
1171
1244
  " runpane panes create --repo <selector> --name <name> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] [--wait-ready]",
1172
1245
  " runpane panes archive --pane <pane-id> [--source user|agent] [--force] [--dry-run] --yes",
1173
1246
  " python -m runpane panels create --pane <pane-id> --agent <codex|claude|cursor> [--source user|agent] [--focus|--no-focus] --yes",
@@ -1256,6 +1329,7 @@ exports.RUNPANE_CONTRACT = {
1256
1329
  "doctor": [
1257
1330
  "Usage:",
1258
1331
  " runpane doctor [--json] [--pane-dir <path>] [--pane-path <path>] [--format <format>] [--verbose]",
1332
+ " runpane doctor --report [--title <text>] --body-file <path|-> [--yes] [--json]",
1259
1333
  "",
1260
1334
  "Checks wrapper/runtime details, release metadata, installed Pane detection, and Pane daemon reachability.",
1261
1335
  "",
@@ -1265,6 +1339,10 @@ exports.RUNPANE_CONTRACT = {
1265
1339
  " --pane-path <path>",
1266
1340
  " --format <format>",
1267
1341
  " --verbose",
1342
+ " --report",
1343
+ " --body-file <path|->",
1344
+ " --title <text>",
1345
+ " --yes",
1268
1346
  "",
1269
1347
  "Agent discovery:",
1270
1348
  " runpane doctor --json",
@@ -1351,7 +1429,7 @@ exports.RUNPANE_CONTRACT = {
1351
1429
  "",
1352
1430
  "Usage:",
1353
1431
  " runpane workspace state [--repo <selector>] [--json]",
1354
- " runpane watch [--as <name>|--since <generation>] [--follow] [options]"
1432
+ " runpane watch --follow"
1355
1433
  ],
1356
1434
  "workspace state": [
1357
1435
  "Usage:",
@@ -1370,6 +1448,14 @@ exports.RUNPANE_CONTRACT = {
1370
1448
  " --since <generation>",
1371
1449
  " --from <now|earliest>",
1372
1450
  " --follow",
1451
+ " --format <lines|json>",
1452
+ " --heartbeat <seconds>",
1453
+ " --idle-after <ms>",
1454
+ " --all-managed",
1455
+ " --include-shells",
1456
+ " --agents-only",
1457
+ " --exclude-pane <id> Repeatable",
1458
+ " --self-test",
1373
1459
  " --kinds <kind,...>",
1374
1460
  " --pane <id> Repeatable",
1375
1461
  " --repo <selector>",
@@ -1378,7 +1464,8 @@ exports.RUNPANE_CONTRACT = {
1378
1464
  " --limit <count>",
1379
1465
  " --ack-now",
1380
1466
  " --include-held-input",
1381
- " --json"
1467
+ " --no-held-input",
1468
+ " --json Alias for --format json"
1382
1469
  ],
1383
1470
  "panes create": [
1384
1471
  "Usage:",
@@ -1822,6 +1909,37 @@ exports.RUNPANE_CONTRACT = {
1822
1909
  "--pane-dir",
1823
1910
  "/tmp/pane"
1824
1911
  ],
1912
+ [
1913
+ "doctor",
1914
+ "--report",
1915
+ "--title",
1916
+ "watch failed",
1917
+ "--body-file",
1918
+ "/tmp/watch-evidence.txt",
1919
+ "--json"
1920
+ ],
1921
+ [
1922
+ "watch",
1923
+ "--as",
1924
+ "monitor",
1925
+ "--from",
1926
+ "earliest",
1927
+ "--follow",
1928
+ "--format",
1929
+ "lines",
1930
+ "--heartbeat",
1931
+ "60",
1932
+ "--idle-after",
1933
+ "600000",
1934
+ "--all-managed",
1935
+ "--agents-only",
1936
+ "--exclude-pane",
1937
+ "pane-old",
1938
+ "--kinds",
1939
+ "agent.ready,agent.idle",
1940
+ "--include-held-input",
1941
+ "--self-test"
1942
+ ],
1825
1943
  [
1826
1944
  "daemon",
1827
1945
  "repair",
@@ -3552,6 +3670,7 @@ exports.RUNPANE_CONTRACT = {
3552
3670
  "agent.busy",
3553
3671
  "agent.blocked",
3554
3672
  "agent.unknown",
3673
+ "agent.idle",
3555
3674
  "pane.created",
3556
3675
  "pane.gone",
3557
3676
  "panel.exited"
@@ -3614,9 +3733,18 @@ exports.RUNPANE_CONTRACT = {
3614
3733
  "settledMs": {
3615
3734
  "type": "number"
3616
3735
  },
3736
+ "idleMs": {
3737
+ "type": "number"
3738
+ },
3739
+ "idleCount": {
3740
+ "type": "number"
3741
+ },
3617
3742
  "heldInput": {
3618
3743
  "type": "string"
3619
3744
  },
3745
+ "heldInputPresent": {
3746
+ "type": "boolean"
3747
+ },
3620
3748
  "exitCode": {
3621
3749
  "type": "number"
3622
3750
  },
@@ -3662,6 +3790,12 @@ exports.RUNPANE_CONTRACT = {
3662
3790
  "type": "string"
3663
3791
  }
3664
3792
  },
3793
+ "excludePaneIds": {
3794
+ "type": "array",
3795
+ "items": {
3796
+ "type": "string"
3797
+ }
3798
+ },
3665
3799
  "repo": {
3666
3800
  "oneOf": [
3667
3801
  {
@@ -3690,11 +3824,23 @@ exports.RUNPANE_CONTRACT = {
3690
3824
  "nameContains": {
3691
3825
  "type": "string"
3692
3826
  },
3827
+ "agentsOnly": {
3828
+ "type": "boolean"
3829
+ },
3693
3830
  "ackNow": {
3694
3831
  "type": "boolean"
3695
3832
  },
3696
3833
  "includeHeldInput": {
3697
3834
  "type": "boolean"
3835
+ },
3836
+ "includeHeldInputPresence": {
3837
+ "type": "boolean"
3838
+ },
3839
+ "idleAfterMs": {
3840
+ "type": "number"
3841
+ },
3842
+ "idleWindowStartMs": {
3843
+ "type": "number"
3698
3844
  }
3699
3845
  },
3700
3846
  "additionalProperties": false
@@ -5526,11 +5672,34 @@ exports.RUNPANE_CONTRACT = {
5526
5672
  "name": "--verbose",
5527
5673
  "required": false,
5528
5674
  "description": "Print extra diagnostics."
5675
+ },
5676
+ {
5677
+ "name": "--report",
5678
+ "required": false,
5679
+ "description": "Prepare a redacted, inspectable diagnostic report."
5680
+ },
5681
+ {
5682
+ "name": "--body-file",
5683
+ "value": "<path|->",
5684
+ "required": false,
5685
+ "description": "Read report evidence from a file or stdin."
5686
+ },
5687
+ {
5688
+ "name": "--title",
5689
+ "value": "<text>",
5690
+ "required": false,
5691
+ "description": "Report title."
5692
+ },
5693
+ {
5694
+ "name": "--yes",
5695
+ "required": false,
5696
+ "description": "Confirm creating exactly one dcouple/Pane issue."
5529
5697
  }
5530
5698
  ],
5531
5699
  "examples": [
5532
5700
  "runpane doctor --json",
5533
- "runpane doctor"
5701
+ "runpane doctor",
5702
+ "runpane doctor --report --title \"runpane watch failed\" --body-file ./watch.txt --json"
5534
5703
  ],
5535
5704
  "jsonSchemas": [
5536
5705
  "doctorResult"
@@ -6611,7 +6780,7 @@ exports.RUNPANE_CONTRACT = {
6611
6780
  "watch": {
6612
6781
  "name": "watch",
6613
6782
  "summary": "Wait for workspace transitions using the daemon journal.",
6614
- "details": "Named cursors persist in the Pane data directory so separate invocations do not need local state.",
6783
+ "details": "`runpane watch --follow` is the canonical zero-flag monitor: lines, 60-second heartbeats, 10-minute re-firing IDLE, managed-agent scope, and redacted STUCK detection are follow defaults. Named cursors persist in the Pane data directory.",
6615
6784
  "requiresPaneDaemon": true,
6616
6785
  "mutates": false,
6617
6786
  "arguments": [
@@ -6632,17 +6801,52 @@ exports.RUNPANE_CONTRACT = {
6632
6801
  "required": false,
6633
6802
  "description": "Continue waiting until interrupted."
6634
6803
  },
6804
+ {
6805
+ "name": "--format",
6806
+ "value": "<lines|json>",
6807
+ "required": false,
6808
+ "description": "Output format; lines is the follow default."
6809
+ },
6810
+ {
6811
+ "name": "--heartbeat",
6812
+ "value": "<seconds>",
6813
+ "required": false,
6814
+ "description": "Healthy-silence bound; defaults to 60 under follow."
6815
+ },
6816
+ {
6817
+ "name": "--idle-after",
6818
+ "value": "<milliseconds>",
6819
+ "required": false,
6820
+ "description": "Re-firing READY idle interval; defaults to 600000 under follow."
6821
+ },
6822
+ {
6823
+ "name": "--all-managed",
6824
+ "required": false,
6825
+ "description": "Explicit spelling for the all-managed default scope."
6826
+ },
6827
+ {
6828
+ "name": "--include-shells",
6829
+ "required": false,
6830
+ "description": "Include ordinary shell panels."
6831
+ },
6832
+ {
6833
+ "name": "--self-test",
6834
+ "required": false,
6835
+ "description": "Probe the watch path anonymously without advancing a named cursor."
6836
+ },
6635
6837
  {
6636
6838
  "name": "--json",
6637
6839
  "required": false,
6638
- "description": "Emit one NDJSON line per entry."
6840
+ "description": "Emit structured NDJSON; held-input content remains opt-in."
6639
6841
  }
6640
6842
  ],
6641
6843
  "examples": [
6844
+ "runpane watch --follow",
6642
6845
  "runpane watch --as monitor --follow --json"
6643
6846
  ],
6644
6847
  "notes": [
6645
- "Journal loss is surfaced through reset and dropped metadata."
6848
+ "Journal loss is surfaced through reset and dropped metadata.",
6849
+ "The daemon treats omitted idleAfterMs as disabled so older clients never receive agent.idle unexpectedly."
6646
6850
  ]
6647
6851
  }
6648
6852
  },