runpane 2.4.151 → 2.4.152

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.
@@ -74,11 +74,13 @@ export declare const RUNPANE_CONTRACT: {
74
74
  readonly name: "help";
75
75
  readonly summary: "Show help for runpane or a specific command.";
76
76
  readonly usage: readonly ["runpane help [command]"];
77
+ readonly localControl: false;
77
78
  }, {
78
79
  readonly name: "setup";
79
80
  readonly summary: "Open the guided setup wizard for install, remote host setup, update, and diagnostics.";
80
81
  readonly usage: readonly ["runpane setup"];
81
82
  readonly interactiveEntrypoint: true;
83
+ readonly localControl: false;
82
84
  }, {
83
85
  readonly name: "install";
84
86
  readonly summary: "Install Pane on this machine or configure this machine as a remote daemon host.";
@@ -86,15 +88,18 @@ export declare const RUNPANE_CONTRACT: {
86
88
  readonly defaultTarget: "client";
87
89
  readonly targets: readonly ["client", "daemon"];
88
90
  readonly unknownDaemonFlagsForwarded: true;
91
+ readonly localControl: false;
89
92
  }, {
90
93
  readonly name: "update";
91
94
  readonly summary: "Update the Pane desktop app using the same artifact path as install client.";
92
95
  readonly usage: readonly ["runpane update [options]"];
93
96
  readonly target: "client";
97
+ readonly localControl: false;
94
98
  }, {
95
99
  readonly name: "version";
96
100
  readonly summary: "Print the runpane wrapper version without contacting, launching, or focusing Pane.";
97
101
  readonly usage: readonly ["runpane version [--pane-dir <path>]", "runpane --version"];
102
+ readonly localControl: false;
98
103
  }, {
99
104
  readonly name: "doctor";
100
105
  readonly summary: "Run platform, release, installed Pane, daemon reachability, and remote setup diagnostics.";
@@ -102,6 +107,7 @@ export declare const RUNPANE_CONTRACT: {
102
107
  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
108
  readonly toolsets: readonly ["core", "admin"];
104
109
  readonly jsonSchemas: readonly ["doctorResult"];
110
+ readonly localControl: true;
105
111
  }, {
106
112
  readonly name: "daemon repair";
107
113
  readonly summary: "Repair and restart the managed remote-daemon launcher without changing pairing or tunnel configuration.";
@@ -109,29 +115,34 @@ export declare const RUNPANE_CONTRACT: {
109
115
  readonly mutates: true;
110
116
  readonly toolsets: readonly ["admin"];
111
117
  readonly jsonSchemas: readonly ["daemonRepairResult"];
118
+ readonly localControl: true;
112
119
  }, {
113
120
  readonly name: "agents doctor";
114
121
  readonly summary: "Diagnose whether a built-in agent command is available in a Pane repository environment.";
115
122
  readonly usage: readonly ["runpane agents doctor --agent <codex|claude|cursor> [--repo <selector>] [--json] [--pane-dir <path>]"];
116
123
  readonly toolsets: readonly ["admin"];
117
124
  readonly jsonSchemas: readonly ["agentDoctorResult"];
125
+ readonly localControl: true;
118
126
  }, {
119
127
  readonly name: "agent-context";
120
128
  readonly summary: "Print token-efficient Pane command context for coding agents.";
121
129
  readonly usage: readonly ["runpane agent-context [--json]", "runpane agent-context --command <command> [--json]"];
122
130
  readonly toolsets: readonly ["admin", "docs"];
123
131
  readonly jsonSchemas: readonly ["agentContextBriefResult", "agentContextCommandResult"];
132
+ readonly localControl: false;
124
133
  }, {
125
134
  readonly name: "mcp";
126
135
  readonly summary: "Run the Pane MCP server over stdio so coding agents can call runpane commands as tools.";
127
136
  readonly usage: readonly ["runpane mcp [--toolsets <name,...>] [--read-only]"];
128
137
  readonly wrappers: readonly ["npm"];
138
+ readonly localControl: true;
129
139
  }, {
130
140
  readonly name: "repos list";
131
141
  readonly summary: "List repositories saved in the running Pane app.";
132
142
  readonly usage: readonly ["runpane repos list [--json] [--pane-dir <path>]"];
133
143
  readonly toolsets: readonly ["core", "repos"];
134
144
  readonly jsonSchemas: readonly ["repoListResult"];
145
+ readonly localControl: true;
135
146
  }, {
136
147
  readonly name: "repos add";
137
148
  readonly summary: "Register an existing git repository with the running Pane app.";
@@ -141,30 +152,35 @@ export declare const RUNPANE_CONTRACT: {
141
152
  readonly idempotent: true;
142
153
  readonly toolsets: readonly ["core", "repos"];
143
154
  readonly jsonSchemas: readonly ["repoAddRequest", "repoAddResult"];
155
+ readonly localControl: true;
144
156
  }, {
145
157
  readonly name: "panes list";
146
158
  readonly summary: "List Pane sessions in a saved repository.";
147
159
  readonly usage: readonly ["runpane panes list [--repo <selector>] [--json] [--pane-dir <path>]"];
148
160
  readonly toolsets: readonly ["core", "panes"];
149
161
  readonly jsonSchemas: readonly ["paneListResult"];
162
+ readonly localControl: true;
150
163
  }, {
151
164
  readonly name: "panes cost";
152
165
  readonly summary: "Report estimated token cost per Pane, with per-model breakdown and cache efficiency.";
153
166
  readonly usage: readonly ["runpane panes cost [--repo <selector>] [--pane <pane-id>] [--json] [--pane-dir <path>]"];
154
167
  readonly toolsets: readonly ["panes"];
155
168
  readonly jsonSchemas: readonly ["paneCostRequest", "paneCostResult"];
169
+ readonly localControl: true;
156
170
  }, {
157
171
  readonly name: "workspace state";
158
172
  readonly summary: "Read one workspace snapshot of every Pane and CLI panel.";
159
173
  readonly usage: readonly ["runpane workspace state [--repo <selector>] [--json] [--pane-dir <path>]"];
160
174
  readonly toolsets: readonly ["core", "agents"];
161
175
  readonly jsonSchemas: readonly ["workspaceStateResult"];
176
+ readonly localControl: true;
162
177
  }, {
163
178
  readonly name: "watch";
164
179
  readonly summary: "Wait for workspace agent and Pane transitions using a daemon-held cursor.";
165
180
  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>|--session <id|name>] [--include-shells] [--self-test] [--quiet] [--kinds <kind,...>] [--repo <selector>] [--name-contains <text>] [--timeout-ms <ms>] [--from <now|earliest>] [--json] [--pane-dir <path>]"];
166
181
  readonly toolsets: readonly ["agents"];
167
182
  readonly jsonSchemas: readonly ["workspaceWaitRequest", "workspaceWaitResult"];
183
+ readonly localControl: true;
168
184
  }, {
169
185
  readonly name: "panes create";
170
186
  readonly summary: "Create user-visible Panes (Pane sessions) backed by Pane-managed worktrees for feature/PR work and open terminal-backed tool tabs.";
@@ -173,6 +189,7 @@ export declare const RUNPANE_CONTRACT: {
173
189
  readonly additive: true;
174
190
  readonly toolsets: readonly ["panes"];
175
191
  readonly jsonSchemas: readonly ["paneCreateRequest", "paneCreateResult"];
192
+ readonly localControl: true;
176
193
  }, {
177
194
  readonly name: "panes adopt";
178
195
  readonly summary: "Adopt an existing externally managed git worktree as a Pane without changing the worktree.";
@@ -181,6 +198,7 @@ export declare const RUNPANE_CONTRACT: {
181
198
  readonly additive: true;
182
199
  readonly toolsets: readonly ["panes"];
183
200
  readonly jsonSchemas: readonly ["paneCreateResult"];
201
+ readonly localControl: true;
184
202
  }, {
185
203
  readonly name: "panes archive";
186
204
  readonly summary: "Archive a Pane (session) exactly like the UI Archive action, including safe removal of its Pane-managed git worktree, or archive every merged Pane in a Session.";
@@ -188,6 +206,7 @@ export declare const RUNPANE_CONTRACT: {
188
206
  readonly mutates: true;
189
207
  readonly toolsets: readonly ["core", "panes"];
190
208
  readonly jsonSchemas: readonly ["paneArchiveRequest", "paneArchiveBulkRequest", "paneArchiveResult", "paneArchiveBulkResult"];
209
+ readonly localControl: true;
191
210
  }, {
192
211
  readonly name: "panes pin";
193
212
  readonly summary: "Declaratively pin a Pane; pinned is the Pane UI's favorite/pin star and repeated requests are idempotent.";
@@ -196,6 +215,7 @@ export declare const RUNPANE_CONTRACT: {
196
215
  readonly idempotent: true;
197
216
  readonly toolsets: readonly ["panes"];
198
217
  readonly jsonSchemas: readonly ["panePinRequest", "panePinResult"];
218
+ readonly localControl: true;
199
219
  }, {
200
220
  readonly name: "panes unpin";
201
221
  readonly summary: "Declaratively unpin a Pane; pinned is the Pane UI's favorite/pin star and repeated requests are idempotent.";
@@ -204,6 +224,7 @@ export declare const RUNPANE_CONTRACT: {
204
224
  readonly idempotent: true;
205
225
  readonly toolsets: readonly ["panes"];
206
226
  readonly jsonSchemas: readonly ["panePinRequest", "panePinResult"];
227
+ readonly localControl: true;
207
228
  }, {
208
229
  readonly name: "panes rename";
209
230
  readonly summary: "Rename a Pane without changing its worktree, branch, panels, or focus.";
@@ -212,6 +233,7 @@ export declare const RUNPANE_CONTRACT: {
212
233
  readonly idempotent: true;
213
234
  readonly toolsets: readonly ["panes"];
214
235
  readonly jsonSchemas: readonly ["paneRenameRequest", "paneRenameResult"];
236
+ readonly localControl: true;
215
237
  }, {
216
238
  readonly name: "panes focus";
217
239
  readonly summary: "Raise the Pane window and select a Pane (and optionally one of its panels) on explicit user request.";
@@ -221,6 +243,7 @@ export declare const RUNPANE_CONTRACT: {
221
243
  readonly idempotent: true;
222
244
  readonly toolsets: readonly ["panes"];
223
245
  readonly jsonSchemas: readonly ["paneFocusRequest", "paneFocusResult"];
246
+ readonly localControl: true;
224
247
  }, {
225
248
  readonly name: "panels create";
226
249
  readonly summary: "Create a terminal-backed tool panel inside an existing Pane session.";
@@ -229,30 +252,35 @@ export declare const RUNPANE_CONTRACT: {
229
252
  readonly additive: true;
230
253
  readonly toolsets: readonly ["panels"];
231
254
  readonly jsonSchemas: readonly ["panelCreateRequest", "panelCreateResult"];
255
+ readonly localControl: true;
232
256
  }, {
233
257
  readonly name: "panels open";
234
258
  readonly summary: "Open a URL or file as a browser/editor tab in a Pane, in split view beside the agent by default.";
235
259
  readonly usage: readonly ["runpane panels open [--pane <pane-id>] (--url <url>|--file <path>) [--title <title>] [--split|--tab] [--focus|--no-focus] [--source user|agent] --yes [--json]"];
236
260
  readonly mutates: true;
237
261
  readonly jsonSchemas: readonly ["panelOpenRequest", "panelOpenResult"];
262
+ readonly localControl: true;
238
263
  }, {
239
264
  readonly name: "panels list";
240
265
  readonly summary: "List tool panels inside a Pane session.";
241
266
  readonly usage: readonly ["runpane panels list --pane <pane-id> [--json] [--pane-dir <path>]"];
242
267
  readonly toolsets: readonly ["panels"];
243
268
  readonly jsonSchemas: readonly ["panelListResult"];
269
+ readonly localControl: true;
244
270
  }, {
245
271
  readonly name: "panels output";
246
272
  readonly summary: "Read recent terminal output from a panel.";
247
273
  readonly usage: readonly ["runpane panels output --panel <panel-id> [--limit <count>] [--json] [--pane-dir <path>]"];
248
274
  readonly toolsets: readonly ["panels"];
249
275
  readonly jsonSchemas: readonly ["panelOutputResult"];
276
+ readonly localControl: true;
250
277
  }, {
251
278
  readonly name: "panels screen";
252
279
  readonly summary: "Read a compact current-screen view from a terminal panel.";
253
280
  readonly usage: readonly ["runpane panels screen --panel <panel-id> [--limit <count>] [--json] [--pane-dir <path>]"];
254
281
  readonly toolsets: readonly ["panels"];
255
282
  readonly jsonSchemas: readonly ["panelScreenResult"];
283
+ readonly localControl: true;
256
284
  }, {
257
285
  readonly name: "panels input";
258
286
  readonly summary: "Send input bytes to a terminal panel.";
@@ -260,6 +288,7 @@ export declare const RUNPANE_CONTRACT: {
260
288
  readonly mutates: true;
261
289
  readonly toolsets: readonly ["core", "panels"];
262
290
  readonly jsonSchemas: readonly ["panelInputRequest", "panelInputResult"];
291
+ readonly localControl: true;
263
292
  }, {
264
293
  readonly name: "panels submit";
265
294
  readonly summary: "Send and submit text to a terminal panel, including idle agent composers.";
@@ -267,6 +296,7 @@ export declare const RUNPANE_CONTRACT: {
267
296
  readonly mutates: true;
268
297
  readonly toolsets: readonly ["panels"];
269
298
  readonly jsonSchemas: readonly ["panelSubmitRequest", "panelSubmitResult"];
299
+ readonly localControl: true;
270
300
  }, {
271
301
  readonly name: "panels submit-composer";
272
302
  readonly summary: "Submit an agent composer using the panel-appropriate key sequence.";
@@ -274,18 +304,21 @@ export declare const RUNPANE_CONTRACT: {
274
304
  readonly mutates: true;
275
305
  readonly toolsets: readonly ["panels"];
276
306
  readonly jsonSchemas: readonly ["panelSubmitComposerRequest", "panelSubmitComposerResult"];
307
+ readonly localControl: true;
277
308
  }, {
278
309
  readonly name: "panels wait";
279
310
  readonly summary: "Wait for a terminal panel to initialize, become ready/idle, or contain text.";
280
311
  readonly usage: readonly ["runpane panels wait --panel <panel-id> [--for initialized|ready|idle|text] [--contains <text>] [--timeout-ms <ms>] [--interval-ms <ms>] [--json] [--pane-dir <path>]"];
281
312
  readonly toolsets: readonly ["panels"];
282
313
  readonly jsonSchemas: readonly ["panelWaitResult"];
314
+ readonly localControl: true;
283
315
  }, {
284
316
  readonly name: "panels last-message";
285
317
  readonly summary: "Read an agent's last reply from its transcript, without scraping the screen.";
286
318
  readonly usage: readonly ["runpane panels last-message --panel <panel-id> [--limit <count>] [--json] [--pane-dir <path>]"];
287
319
  readonly toolsets: readonly ["panels", "agents"];
288
320
  readonly jsonSchemas: readonly ["panelLastMessageResult"];
321
+ readonly localControl: true;
289
322
  }, {
290
323
  readonly name: "panes git-status";
291
324
  readonly summary: "Read the git status of a Pane worktree: uncommitted, unpushed, and behind-main counts.";
@@ -296,6 +329,7 @@ export declare const RUNPANE_CONTRACT: {
296
329
  };
297
330
  readonly toolsets: readonly ["core", "git"];
298
331
  readonly jsonSchemas: readonly ["daemonActionResult"];
332
+ readonly localControl: true;
299
333
  }, {
300
334
  readonly name: "panes commit";
301
335
  readonly summary: "Stage all changes in a Pane worktree and commit them.";
@@ -308,6 +342,7 @@ export declare const RUNPANE_CONTRACT: {
308
342
  };
309
343
  readonly toolsets: readonly ["git"];
310
344
  readonly jsonSchemas: readonly ["daemonActionResult"];
345
+ readonly localControl: true;
311
346
  }, {
312
347
  readonly name: "panes push";
313
348
  readonly summary: "Push a Pane branch to its remote.";
@@ -322,6 +357,7 @@ export declare const RUNPANE_CONTRACT: {
322
357
  };
323
358
  readonly toolsets: readonly ["git"];
324
359
  readonly jsonSchemas: readonly ["daemonActionResult"];
360
+ readonly localControl: true;
325
361
  }, {
326
362
  readonly name: "panes pull";
327
363
  readonly summary: "Pull the remote branch into a Pane worktree.";
@@ -334,6 +370,7 @@ export declare const RUNPANE_CONTRACT: {
334
370
  };
335
371
  readonly toolsets: readonly ["git"];
336
372
  readonly jsonSchemas: readonly ["daemonActionResult"];
373
+ readonly localControl: true;
337
374
  }, {
338
375
  readonly name: "panes rebase-main";
339
376
  readonly summary: "Rebase a Pane branch onto the latest main branch.";
@@ -345,6 +382,7 @@ export declare const RUNPANE_CONTRACT: {
345
382
  };
346
383
  readonly toolsets: readonly ["git"];
347
384
  readonly jsonSchemas: readonly ["daemonActionResult"];
385
+ readonly localControl: true;
348
386
  }, {
349
387
  readonly name: "panes restore";
350
388
  readonly summary: "Restore an archived Pane, recreating its worktree.";
@@ -358,6 +396,7 @@ export declare const RUNPANE_CONTRACT: {
358
396
  };
359
397
  readonly toolsets: readonly ["core", "panes"];
360
398
  readonly jsonSchemas: readonly ["daemonActionResult"];
399
+ readonly localControl: true;
361
400
  }, {
362
401
  readonly name: "panes squash-rebase";
363
402
  readonly summary: "Squash a Pane branch into one commit and rebase it onto main.";
@@ -369,6 +408,7 @@ export declare const RUNPANE_CONTRACT: {
369
408
  };
370
409
  readonly toolsets: readonly ["git"];
371
410
  readonly jsonSchemas: readonly ["daemonActionResult"];
411
+ readonly localControl: true;
372
412
  }, {
373
413
  readonly name: "panes stash";
374
414
  readonly summary: "Stash uncommitted changes in a Pane worktree.";
@@ -380,6 +420,7 @@ export declare const RUNPANE_CONTRACT: {
380
420
  };
381
421
  readonly toolsets: readonly ["git"];
382
422
  readonly jsonSchemas: readonly ["daemonActionResult"];
423
+ readonly localControl: true;
383
424
  }, {
384
425
  readonly name: "panes stash-pop";
385
426
  readonly summary: "Apply and drop the latest stash in a Pane worktree.";
@@ -391,6 +432,7 @@ export declare const RUNPANE_CONTRACT: {
391
432
  };
392
433
  readonly toolsets: readonly ["git"];
393
434
  readonly jsonSchemas: readonly ["daemonActionResult"];
435
+ readonly localControl: true;
394
436
  }, {
395
437
  readonly name: "panes soft-reset";
396
438
  readonly summary: "Undo the last commit in a Pane, keeping its changes staged.";
@@ -402,6 +444,7 @@ export declare const RUNPANE_CONTRACT: {
402
444
  };
403
445
  readonly toolsets: readonly ["git"];
404
446
  readonly jsonSchemas: readonly ["daemonActionResult"];
447
+ readonly localControl: true;
405
448
  }, {
406
449
  readonly name: "panes fetch";
407
450
  readonly summary: "Fetch the remote for a Pane worktree.";
@@ -416,6 +459,7 @@ export declare const RUNPANE_CONTRACT: {
416
459
  };
417
460
  readonly toolsets: readonly ["git"];
418
461
  readonly jsonSchemas: readonly ["daemonActionResult"];
462
+ readonly localControl: true;
419
463
  }, {
420
464
  readonly name: "panes run-script";
421
465
  readonly summary: "Run the repository's run script in a Pane.";
@@ -428,6 +472,7 @@ export declare const RUNPANE_CONTRACT: {
428
472
  };
429
473
  readonly toolsets: readonly ["panes"];
430
474
  readonly jsonSchemas: readonly ["daemonActionResult"];
475
+ readonly localControl: true;
431
476
  }, {
432
477
  readonly name: "panes stop-script";
433
478
  readonly summary: "Stop the run script running in a Pane.";
@@ -440,6 +485,7 @@ export declare const RUNPANE_CONTRACT: {
440
485
  };
441
486
  readonly toolsets: readonly ["panes"];
442
487
  readonly jsonSchemas: readonly ["daemonActionResult"];
488
+ readonly localControl: true;
443
489
  }, {
444
490
  readonly name: "panes move";
445
491
  readonly summary: "Move a Pane into a sidebar folder.";
@@ -452,6 +498,7 @@ export declare const RUNPANE_CONTRACT: {
452
498
  };
453
499
  readonly toolsets: readonly ["panes"];
454
500
  readonly jsonSchemas: readonly ["daemonActionResult"];
501
+ readonly localControl: true;
455
502
  }, {
456
503
  readonly name: "folders list";
457
504
  readonly summary: "List the sidebar folders of a repository.";
@@ -462,6 +509,7 @@ export declare const RUNPANE_CONTRACT: {
462
509
  };
463
510
  readonly toolsets: readonly ["panes"];
464
511
  readonly jsonSchemas: readonly ["daemonActionResult"];
512
+ readonly localControl: true;
465
513
  }, {
466
514
  readonly name: "folders create";
467
515
  readonly summary: "Create a sidebar folder in a repository.";
@@ -474,12 +522,14 @@ export declare const RUNPANE_CONTRACT: {
474
522
  };
475
523
  readonly toolsets: readonly ["panes"];
476
524
  readonly jsonSchemas: readonly ["daemonActionResult"];
525
+ readonly localControl: true;
477
526
  }, {
478
527
  readonly name: "links create";
479
528
  readonly summary: "Build a pane:// link that opens a Pane, panel, repository, or Session in the Pane app.";
480
529
  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]"];
481
530
  readonly toolsets: readonly ["core", "links"];
482
531
  readonly jsonSchemas: readonly ["linkCreateResult"];
532
+ readonly localControl: true;
483
533
  }, {
484
534
  readonly name: "links open";
485
535
  readonly summary: "Open a pane:// link in the running Pane app.";
@@ -493,6 +543,7 @@ export declare const RUNPANE_CONTRACT: {
493
543
  };
494
544
  readonly toolsets: readonly ["links"];
495
545
  readonly jsonSchemas: readonly ["daemonActionResult"];
546
+ readonly localControl: true;
496
547
  }, {
497
548
  readonly name: "docs search";
498
549
  readonly summary: "Search Pane's docs, runpane help, and the Pane Chat skills.";
@@ -500,6 +551,7 @@ export declare const RUNPANE_CONTRACT: {
500
551
  readonly wrappers: readonly ["npm"];
501
552
  readonly toolsets: readonly ["core", "docs"];
502
553
  readonly jsonSchemas: readonly ["docsSearchResult"];
554
+ readonly localControl: true;
503
555
  }, {
504
556
  readonly name: "docs read";
505
557
  readonly summary: "Read one Pane doc, help topic, or skill in full.";
@@ -507,6 +559,7 @@ export declare const RUNPANE_CONTRACT: {
507
559
  readonly wrappers: readonly ["npm"];
508
560
  readonly toolsets: readonly ["core", "docs"];
509
561
  readonly jsonSchemas: readonly ["docsReadResult"];
562
+ readonly localControl: true;
510
563
  }, {
511
564
  readonly name: "agents start";
512
565
  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.";
@@ -516,6 +569,7 @@ export declare const RUNPANE_CONTRACT: {
516
569
  readonly wrappers: readonly ["npm"];
517
570
  readonly toolsets: readonly ["core", "agents"];
518
571
  readonly jsonSchemas: readonly ["agentTaskResult"];
572
+ readonly localControl: true;
519
573
  }, {
520
574
  readonly name: "agents status";
521
575
  readonly summary: "Check on an agent: whether it is working, ready, blocked, or idle, plus its current screen.";
@@ -523,6 +577,7 @@ export declare const RUNPANE_CONTRACT: {
523
577
  readonly wrappers: readonly ["npm"];
524
578
  readonly toolsets: readonly ["core", "agents"];
525
579
  readonly jsonSchemas: readonly ["agentStatusResult"];
580
+ readonly localControl: true;
526
581
  }, {
527
582
  readonly name: "agents send";
528
583
  readonly summary: "Send a follow-up message to an agent and confirm it was submitted.";
@@ -531,6 +586,7 @@ export declare const RUNPANE_CONTRACT: {
531
586
  readonly wrappers: readonly ["npm"];
532
587
  readonly toolsets: readonly ["core", "agents"];
533
588
  readonly jsonSchemas: readonly ["agentSendResult"];
589
+ readonly localControl: true;
534
590
  }, {
535
591
  readonly name: "report";
536
592
  readonly summary: "Hand back a worker's structured report: state, PR, head commit, summary, and the question when blocked.";
@@ -540,12 +596,14 @@ export declare const RUNPANE_CONTRACT: {
540
596
  readonly idempotent: true;
541
597
  readonly toolsets: readonly ["agents"];
542
598
  readonly jsonSchemas: readonly ["reportResult"];
599
+ readonly localControl: true;
543
600
  }, {
544
601
  readonly name: "sessions list";
545
602
  readonly summary: "List durable named orchestration Sessions.";
546
603
  readonly usage: readonly ["runpane sessions list [--json] [--pane-dir <path>]"];
547
604
  readonly toolsets: readonly ["sessions"];
548
605
  readonly jsonSchemas: readonly ["sessionListResult"];
606
+ readonly localControl: true;
549
607
  }, {
550
608
  readonly name: "sessions create";
551
609
  readonly summary: "Create a durable named orchestration Session and its hidden terminal owner.";
@@ -554,12 +612,14 @@ export declare const RUNPANE_CONTRACT: {
554
612
  readonly additive: true;
555
613
  readonly toolsets: readonly ["sessions"];
556
614
  readonly jsonSchemas: readonly ["sessionResult"];
615
+ readonly localControl: true;
557
616
  }, {
558
617
  readonly name: "sessions get";
559
618
  readonly summary: "Read one durable named orchestration Session.";
560
619
  readonly usage: readonly ["runpane sessions get --session <id|name> [--json] [--pane-dir <path>]"];
561
620
  readonly toolsets: readonly ["sessions"];
562
621
  readonly jsonSchemas: readonly ["sessionResult"];
622
+ readonly localControl: true;
563
623
  }, {
564
624
  readonly name: "sessions update";
565
625
  readonly summary: "Update a Session overview from structured JSON.";
@@ -568,6 +628,7 @@ export declare const RUNPANE_CONTRACT: {
568
628
  readonly idempotent: true;
569
629
  readonly toolsets: readonly ["sessions"];
570
630
  readonly jsonSchemas: readonly ["sessionResult"];
631
+ readonly localControl: true;
571
632
  }, {
572
633
  readonly name: "sessions set-agent";
573
634
  readonly summary: "Switch the durable terminal agent for a named Session.";
@@ -576,6 +637,7 @@ export declare const RUNPANE_CONTRACT: {
576
637
  readonly idempotent: true;
577
638
  readonly toolsets: readonly ["sessions"];
578
639
  readonly jsonSchemas: readonly ["sessionResult"];
640
+ readonly localControl: true;
579
641
  }, {
580
642
  readonly name: "sessions associate";
581
643
  readonly summary: "Associate a user-visible Pane with a named Session.";
@@ -585,6 +647,7 @@ export declare const RUNPANE_CONTRACT: {
585
647
  readonly idempotent: true;
586
648
  readonly toolsets: readonly ["sessions"];
587
649
  readonly jsonSchemas: readonly ["sessionResult"];
650
+ readonly localControl: true;
588
651
  }, {
589
652
  readonly name: "sessions detach";
590
653
  readonly summary: "Detach a Pane from a named Session.";
@@ -593,12 +656,14 @@ export declare const RUNPANE_CONTRACT: {
593
656
  readonly idempotent: true;
594
657
  readonly toolsets: readonly ["sessions"];
595
658
  readonly jsonSchemas: readonly ["sessionResult"];
659
+ readonly localControl: true;
596
660
  }, {
597
661
  readonly name: "sessions overview";
598
662
  readonly summary: "Read a live status, activity, git, and pull request overview for a named Session.";
599
663
  readonly usage: readonly ["runpane sessions overview --session <id|name> [--json] [--pane-dir <path>]"];
600
664
  readonly toolsets: readonly ["sessions"];
601
665
  readonly jsonSchemas: readonly ["sessionOverviewResult"];
666
+ readonly localControl: true;
602
667
  }, {
603
668
  readonly name: "lock acquire";
604
669
  readonly summary: "Acquire a named lock on a resource shared between agents, such as one test account, optionally waiting for it.";
@@ -608,6 +673,7 @@ export declare const RUNPANE_CONTRACT: {
608
673
  readonly idempotent: true;
609
674
  readonly toolsets: readonly ["sessions"];
610
675
  readonly jsonSchemas: readonly ["lockAcquireRequest", "lockAcquireResult"];
676
+ readonly localControl: true;
611
677
  }, {
612
678
  readonly name: "lock release";
613
679
  readonly summary: "Release a named lock you hold, or force-release another owner's lock.";
@@ -616,12 +682,14 @@ export declare const RUNPANE_CONTRACT: {
616
682
  readonly idempotent: true;
617
683
  readonly toolsets: readonly ["sessions"];
618
684
  readonly jsonSchemas: readonly ["lockReleaseResult"];
685
+ readonly localControl: true;
619
686
  }, {
620
687
  readonly name: "lock list";
621
688
  readonly summary: "List held named locks, optionally only one Session's.";
622
689
  readonly usage: readonly ["runpane lock list [--session <id|name>] [--json] [--pane-dir <path>]"];
623
690
  readonly toolsets: readonly ["sessions"];
624
691
  readonly jsonSchemas: readonly ["lockListResult"];
692
+ readonly localControl: true;
625
693
  }];
626
694
  readonly flags: {
627
695
  readonly wrapper: readonly [{
@@ -1165,7 +1233,7 @@ export declare const RUNPANE_CONTRACT: {
1165
1233
  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 watch --session <id|name> --follow --quiet --json --kinds agent.ready,agent.blocked,agent.idle,panel.exited,pane.gone,pane.associated,pane.detached,pr.conflicted,pr.checks,pr.merged --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 lock acquire --name testing-account --ttl 30m --wait 1800000 --note \"call QA\" --json", "runpane lock release --name testing-account --json", "runpane lock list --json", "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 report --state ready --pr 747 --head fc5dce9 --summary-file /tmp/report.md --json", "runpane panels last-message --panel <panel-id> --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"];
1166
1234
  readonly commandDescriptions: readonly ["`runpane` with no arguments and `runpane setup` open an interactive wizard when stdin and stdout are TTYs. The remote-host wizard asks only for a name, then runs interactive Tailscale setup with automatic port selection; explicit install daemon flags remain available for SSH and manual URLs. 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. An unknown command exits 2 and lists the closest command names; with `--json` it prints `{ ok: false, code: \"unknown_command\", message, candidates }` on stdout.", "`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, 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.", "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.", "`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.", "`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 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.", "`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.", "`runpane panes create --branch <name>` creates the Pane's worktree on exactly that new branch, slashes included (for example `agents/w5a`). The name is checked with `git check-ref-format --branch`, creation fails if the branch already exists, and Pane never renames it to make it unique. `--worktree-name` still names the directory and defaults to `--name`. `--base` is an alias for `--base-branch`, and `--prompt-file` for `--initial-input-file`. `panes create --base <ref> --branch <name> --prompt-file <file>` replaces `git worktree add` plus `panes adopt`.", "`runpane panes adopt --launch` accepts `--prompt`, `--prompt-file`, `--wait-ready`, and `--ready-timeout-ms`, and reports `readiness`, `initialInput`, and `nextCommand` like `panes create`. A prompt without `--launch` is an error rather than being dropped.", "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). Two profiles cover orchestrators. Unattended: `runpane watch --follow --quiet --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, and can deliver READY up to about 13 minutes late. User present: the same kinds with `--settle 60000 --blocked-settle 15000 --min-interval 120000` and no `--idle-backoff`, so READY arrives within about 3 minutes. 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. `--quiet` (alias `--no-control-lines`) drops the WATCH OK, HEARTBEAT, and WATCH RECONNECTED control lines (`_ok`, `_heartbeat`, `_reconnected` in JSON); WATCH ERROR, RESET, and DROPPED (`_error`, `_reset`, `_dropped`) always print. Judge a dead watch by a non-zero exit or a WATCH ERROR line, not by silence. `--session <id|name>` follows every Pane associated with a named Session and re-reads membership on every read, so associate and detach need no re-arm; JOINED and LEFT (`pane.associated`, `pane.detached`) report membership changes. For Session members with an open PR, the daemon polls GitHub about every 3 minutes and reports `pr.conflicted` (`PR <pane-name> pane <pane-id> #<number> CONFLICTED`), `pr.checks` (`... CHECKS PASSED` or `... CHECKS FAILED <names>`), and `pr.merged` (`... MERGED`) on transitions only; list them in `--kinds`. In JSON, an entry with `replay: true` restates current state after a reset and is never READY.", "`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 lock acquire|release|list` coordinate a resource shared between agents, such as one test account. The caller's Pane and panel own the lock; it is scoped to the owner's Session (or global outside one), renews for the same owner, and is released on TTL expiry, owner panel exit, or owner Pane archive. `--wait` blocks in the daemon until the lock comes free.", "`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.", "`runpane report --state ready|blocked|failed|done` is how a worker hands back its result. It stores the latest report on the worker's panel (state, `--pr`, `--head`, up to 16,000 characters of `--summary` or `--summary-file`, and the `--question` a blocked worker needs answered), journals an opt-in `agent.report` watch event (`REPORT <pane-name> pane <pane-id> panel <panel-id> ready pr#747 fc5dce9`; it skips the `--min-interval` batch), records it as Session activity, and shows it in `agents status`, `panels list`, and `sessions overview` (`panes[].report`). Inside a Pane terminal the panel comes from `PANE_SESSION_ID` and `PANE_PANEL_ID`; elsewhere pass `--pane` and `--panel`.", "`runpane panels last-message --panel <panel-id>` reads a Claude or Codex agent's last reply from its transcript (up to `--limit` characters, default 20,000, keeping the end and reporting `truncated`). It never scrapes the screen: without a transcript it prints `{ ok: false, reason: \"transcript-unavailable\" }` and exits 1.", "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."];
1167
1235
  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.";
1168
- 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. `agent-context` and `version` accept and ignore `--pane-dir`, so one `--pane-dir` can be passed to every runpane command. 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.";
1236
+ 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. `agent-context` and `version` accept and ignore `--pane-dir`, so one `--pane-dir` can be passed to every runpane command. In a Pane repository checkout, if `runpane` is not on PATH, build the local wrapper with `pnpm --filter runpane build` and run it with Node 22 or newer, for example `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.";
1169
1237
  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.";
1170
1238
  readonly downloadAttribution: readonly ["The npm package uses `source=npm` for all npm-registry consumers, including `npx`, `pnpm dlx`, `yarn dlx`, `bunx`, and global npm/pnpm installs.", "The PyPI package uses `source=pip` for all Python consumers, including pip, pipx, uvx, and `python -m runpane`.", "Wrappers should prefer `https://runpane.com/api/download?platform=<platform>&arch=<arch>&format=<format>&version=<version>&channel=<channel>&source=<npm|pip>`.", "If the website route cannot satisfy the download, wrappers may fall back to the matching GitHub release asset and print a warning that website attribution may be incomplete for that run.", "Wrappers also emit best-effort lifecycle telemetry to `https://runpane.com/api/runpane/telemetry` for command start/success/failure, download request/success/failure, and GitHub fallback usage.", "Wrapper telemetry uses a persisted anonymous `install_id` in the form `install_<uuid>` and PostHog `distinct_id = install:<install_id>` so distinct wrapper users can be counted with `count(DISTINCT properties.install_id)`.", "Wrapper telemetry must be disabled in CI and when `RUNPANE_TELEMETRY_DISABLED` is set, and must not include raw paths, labels, prompts, raw error text, or environment values."];
1171
1239
  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."];
@@ -4570,7 +4638,7 @@ export declare const RUNPANE_CONTRACT: {
4570
4638
  readonly brief: {
4571
4639
  readonly title: "Pane agent context";
4572
4640
  readonly summary: "Pane lets a developer manage saved base repositories, user-visible Panes (Pane sessions) for feature/PR work, and terminal-backed panel tabs. A Pane is a visible workspace that normally maps to one Pane-managed git worktree and branch; a panel is a terminal tab inside one Pane and shares that Pane's worktree; an agent is a CLI process running inside a panel.";
4573
- readonly rules: readonly ["Start with `runpane doctor --json` to understand wrapper, platform, daemon reachability, and the next safe commands before mutating Pane state.", "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`.", "Happy path for any user request to use Pane/RunPane: run `runpane doctor --json`, read `runpane agent-context --json`, resolve or add the saved base repo, create the requested visible Pane with a complete command such as `runpane panes create --repo <repo> --name <name> --agent <agent> --prompt \"<task>\" --source agent --no-focus --wait-ready --yes --json` (the new Pane is pinned by default; add `--no-pinned` for a throwaway Pane, add `--base-branch <ref>` to branch from something other than the repository default, or use `--tool-command <command>` instead of `--agent <agent>`), then validate with `panels wait` or `panels screen`. For long-lived supervision, use `runpane watch --follow` instead of polling wait or screen.", "Treat Pane as the user's visible cockpit for watching/co-driving work. Do not create Panes or panels for private delegation unless the user asked for visible Pane orchestration or the result should appear in the Pane app.", "Register the saved base repository once with `repos add`; do not register a pre-created worktree as a separate repo unless the user explicitly asks.", "Use `panes create` for separate visible Panes (Pane sessions) for feature/PR work. Pane creates and owns the worktree/branch for each new Pane.", "Use `panels create` for reviewer/helper/clean-context tabs that should stay inside an existing Pane and share that Pane's worktree.", "For private background decomposition, use your normal subagent/worktree mechanism instead of Pane.", "Skill routing: Pane's skills live in `<PANE_DIR>/skills/pane-chat/skills/`, and the Pane Chat entry point is `<PANE_DIR>/skills/pane-chat/pane-orchestrator/SKILL.md`; read the skill that matches the request, such as `discussion`, `create-ticket`, `tdd`, `prepare-pr`, or `review`.", "When an agent creates Panes or panels, pass `--source agent --no-focus --wait-ready --yes --json` unless the user explicitly wants focus moved; `panes create` pins the new Pane into the UI's favorite/pin set by default, so no follow-up `panes pin` call is needed and `--no-pinned` is the opt-out for throwaway Panes.", "Use `runpane agent-context --json` for the full agent-facing CLI context, or `runpane agent-context --command <command> --json` for one detailed command definition.", "For `agent-context --command`, use canonical spaced names like `panes create`; copied forms like `panes.create` or `runpane panes create` are accepted too.", "Use `runpane repos list --json` to find the saved repository when unsure after doctor shows the daemon is reachable.", "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'`.", "If the repository exists on disk but is not saved in Pane, use `runpane repos add --path <repo> --yes --json` before creating panes.", "Use `runpane agents doctor --agent <codex|claude|cursor> --repo <selector> --json` when agent availability differs across host, Windows, WSL, or repo environments.", "Use `runpane panes create --wait-ready` to create Panes and validate initial terminal readiness in one call.", "Use `runpane panels screen` for compact current state, including Claude and Codex composer state. Use `panels wait` for create-time readiness or text checks. Use `runpane watch --follow` to block on workspace transitions (READY, BLOCKED, IDLE, STUCK, EXIT) without polling. Use `panels submit` to send and submit a new turn. Use `panels submit-composer --strategy auto` only for a composer that was filled separately.", "Use `runpane panels input` only when exact bytes are required, such as Ctrl-C or handcrafted terminal input.", "Pane terminals draw inline images: sixel, iTerm2 inline images, and the kitty graphics protocol. Tools that need kitty graphics, such as terminal-browser and terminal-doom, run inside a Pane panel; `runpane doctor --json` reports the exact list under `terminal.graphicsProtocols`.", "After creating Panes or sending terminal input, validate with `panels wait` or bounded `panels screen` before reporting success. For ongoing supervision, `runpane watch --follow` is the canonical monitor.", "When several agents share one resource, such as a test account, name a lock in their prompts: each worker runs `runpane lock acquire --name <name> --ttl 30m --wait 1800000 --json` before using it and `runpane lock release --name <name>` after."];
4641
+ readonly rules: readonly ["Start with `runpane doctor --json` to understand wrapper, platform, daemon reachability, and the next safe commands before mutating Pane state.", "In a Pane repository checkout, if `runpane` is not on PATH, build the local wrapper with `pnpm --filter runpane build` and run it with Node 22 or newer, for example `node packages/runpane/dist/cli.js doctor --json`.", "Happy path for any user request to use Pane/RunPane: run `runpane doctor --json`, read `runpane agent-context --json`, resolve or add the saved base repo, create the requested visible Pane with a complete command such as `runpane panes create --repo <repo> --name <name> --agent <agent> --prompt \"<task>\" --source agent --no-focus --wait-ready --yes --json` (the new Pane is pinned by default; add `--no-pinned` for a throwaway Pane, add `--base-branch <ref>` to branch from something other than the repository default, or use `--tool-command <command>` instead of `--agent <agent>`), then validate with `panels wait` or `panels screen`. For long-lived supervision, use `runpane watch --follow` instead of polling wait or screen.", "Treat Pane as the user's visible cockpit for watching/co-driving work. Do not create Panes or panels for private delegation unless the user asked for visible Pane orchestration or the result should appear in the Pane app.", "Register the saved base repository once with `repos add`; do not register a pre-created worktree as a separate repo unless the user explicitly asks.", "Use `panes create` for separate visible Panes (Pane sessions) for feature/PR work. Pane creates and owns the worktree/branch for each new Pane.", "Use `panels create` for reviewer/helper/clean-context tabs that should stay inside an existing Pane and share that Pane's worktree.", "For private background decomposition, use your normal subagent/worktree mechanism instead of Pane.", "Skill routing: Pane's skills live in `<PANE_DIR>/skills/pane-chat/skills/`, and the Pane Chat entry point is `<PANE_DIR>/skills/pane-chat/pane-orchestrator/SKILL.md`; read the skill that matches the request, such as `discussion`, `create-ticket`, `tdd`, `prepare-pr`, or `review`.", "When an agent creates Panes or panels, pass `--source agent --no-focus --wait-ready --yes --json` unless the user explicitly wants focus moved; `panes create` pins the new Pane into the UI's favorite/pin set by default, so no follow-up `panes pin` call is needed and `--no-pinned` is the opt-out for throwaway Panes.", "Use `runpane agent-context --json` for the full agent-facing CLI context, or `runpane agent-context --command <command> --json` for one detailed command definition.", "For `agent-context --command`, use canonical spaced names like `panes create`; copied forms like `panes.create` or `runpane panes create` are accepted too.", "Use `runpane repos list --json` to find the saved repository when unsure after doctor shows the daemon is reachable.", "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'`.", "If the repository exists on disk but is not saved in Pane, use `runpane repos add --path <repo> --yes --json` before creating panes.", "Use `runpane agents doctor --agent <codex|claude|cursor> --repo <selector> --json` when agent availability differs across host, Windows, WSL, or repo environments.", "Use `runpane panes create --wait-ready` to create Panes and validate initial terminal readiness in one call.", "Use `runpane panels screen` for compact current state, including Claude and Codex composer state. Use `panels wait` for create-time readiness or text checks. Use `runpane watch --follow` to block on workspace transitions (READY, BLOCKED, IDLE, STUCK, EXIT) without polling. Use `panels submit` to send and submit a new turn. Use `panels submit-composer --strategy auto` only for a composer that was filled separately.", "Use `runpane panels input` only when exact bytes are required, such as Ctrl-C or handcrafted terminal input.", "Pane terminals draw inline images: sixel, iTerm2 inline images, and the kitty graphics protocol. Tools that need kitty graphics, such as terminal-browser and terminal-doom, run inside a Pane panel; `runpane doctor --json` reports the exact list under `terminal.graphicsProtocols`.", "After creating Panes or sending terminal input, validate with `panels wait` or bounded `panels screen` before reporting success. For ongoing supervision, `runpane watch --follow` is the canonical monitor.", "When several agents share one resource, such as a test account, name a lock in their prompts: each worker runs `runpane lock acquire --name <name> --ttl 30m --wait 1800000 --json` before using it and `runpane lock release --name <name>` after."];
4574
4642
  readonly detailCommand: "runpane agent-context --command <command> [--json]";
4575
4643
  readonly tools: readonly [{
4576
4644
  readonly name: "doctor";
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/generated/contract.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuuZnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACjF,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACnF,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/generated/contract.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2yZnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACjF,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACnF,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC"}