runpane 2.3.3 → 2.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -97,6 +97,11 @@ npm package downloads use `source=npm` when requesting release artifacts from
97
97
  `runpane.com/api/download`. If that route is unavailable, the CLI falls back to
98
98
  matching GitHub release assets and prints a warning.
99
99
 
100
+ The wrapper also sends best-effort lifecycle telemetry with a persisted
101
+ anonymous `install_id`. Count distinct wrapper users with
102
+ `count(DISTINCT properties.install_id)` on `runpane_wrapper_*` events. Set
103
+ `RUNPANE_TELEMETRY_DISABLED=1` to disable wrapper telemetry.
104
+
100
105
  ## Maintenance Notes
101
106
 
102
107
  Keep the npm and PyPI clients in sync with each Pane release. When changing
package/dist/cli.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { type ParsedArgs } from './commands';
3
+ import { type WrapperTelemetryContext } from './telemetry';
3
4
  export declare function main(argv: string[]): Promise<number>;
4
- export declare function installOrUpdate(parsed: ParsedArgs): Promise<number>;
5
+ export declare function installOrUpdate(parsed: ParsedArgs, telemetryContext?: WrapperTelemetryContext): Promise<number>;
5
6
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAKA,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAyBzE,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA8D1D;AA6ID,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAkDzE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAKA,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAqBzE,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAKrB,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB1D;AA2OD,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsHrH"}
package/dist/cli.js CHANGED
@@ -47,19 +47,34 @@ const installers_1 = require("./installers");
47
47
  const localControl_1 = require("./localControl");
48
48
  const platform_1 = require("./platform");
49
49
  const releases_1 = require("./releases");
50
+ const telemetry_1 = require("./telemetry");
50
51
  const version_1 = require("./version");
51
52
  const SOURCE = 'npm';
52
53
  async function main(argv) {
54
+ const telemetryContext = (0, telemetry_1.createInitialTelemetryContext)(argv);
53
55
  if (argv.length === 0) {
54
- return runNoArgsEntrypoint();
56
+ return runTrackedCommand(telemetryContext, () => runNoArgsEntrypoint(telemetryContext));
55
57
  }
56
- const parsed = (0, commands_1.parseRunpaneArgs)(argv);
58
+ let parsed;
59
+ try {
60
+ parsed = (0, commands_1.parseRunpaneArgs)(argv);
61
+ }
62
+ catch (error) {
63
+ telemetryContext.failureStage = 'parse';
64
+ telemetryContext.failureCategory = (0, telemetry_1.categorizeFailure)(error);
65
+ await (0, telemetry_1.trackWrapperEvent)('runpane_wrapper_command_failed', telemetryContext);
66
+ throw error;
67
+ }
68
+ (0, telemetry_1.applyParsedArgsToTelemetryContext)(telemetryContext, parsed);
69
+ return runTrackedCommand(telemetryContext, () => dispatchParsedCommand(parsed, telemetryContext));
70
+ }
71
+ async function dispatchParsedCommand(parsed, telemetryContext) {
57
72
  if (parsed.command === 'help') {
58
73
  console.log((0, commands_1.helpText)(parsed.helpTopic));
59
74
  return 0;
60
75
  }
61
76
  if (parsed.command === 'setup') {
62
- return runNoArgsEntrypoint();
77
+ return runNoArgsEntrypoint(telemetryContext);
63
78
  }
64
79
  if (parsed.command === 'version') {
65
80
  return (0, version_1.printVersion)(parsed.panePath);
@@ -92,22 +107,51 @@ async function main(argv) {
92
107
  return (0, localControl_1.runPanelsInput)(parsed);
93
108
  }
94
109
  if (parsed.command === 'install' || parsed.command === 'update') {
95
- return installOrUpdate(parsed);
110
+ return installOrUpdate(parsed, telemetryContext);
96
111
  }
97
112
  console.log((0, commands_1.helpText)());
98
113
  return 0;
99
114
  }
100
- async function runNoArgsEntrypoint() {
115
+ async function runTrackedCommand(telemetryContext, execute) {
116
+ await (0, telemetry_1.trackWrapperEvent)('runpane_wrapper_command_started', telemetryContext);
117
+ try {
118
+ const code = await execute();
119
+ telemetryContext.exitCode = code;
120
+ if (code === 0) {
121
+ await (0, telemetry_1.trackWrapperEvent)('runpane_wrapper_command_succeeded', telemetryContext);
122
+ }
123
+ else {
124
+ telemetryContext.failureStage ??= inferFailureStage(telemetryContext);
125
+ telemetryContext.failureCategory ??= 'process_exit';
126
+ await (0, telemetry_1.trackWrapperEvent)('runpane_wrapper_command_failed', telemetryContext);
127
+ }
128
+ return code;
129
+ }
130
+ catch (error) {
131
+ telemetryContext.failureStage ??= 'unknown';
132
+ telemetryContext.failureCategory ??= (0, telemetry_1.categorizeFailure)(error);
133
+ await (0, telemetry_1.trackWrapperEvent)('runpane_wrapper_command_failed', telemetryContext);
134
+ throw error;
135
+ }
136
+ }
137
+ function inferFailureStage(telemetryContext) {
138
+ if (telemetryContext.resolvedCommand === 'install' && telemetryContext.target === 'daemon') {
139
+ return 'remote_setup';
140
+ }
141
+ return 'unknown';
142
+ }
143
+ async function runNoArgsEntrypoint(telemetryContext) {
101
144
  if (!isInteractiveShell()) {
145
+ telemetryContext.resolvedCommand = 'help';
102
146
  console.log((0, commands_1.helpText)());
103
147
  return 0;
104
148
  }
105
- return runInteractiveWizard();
149
+ return runInteractiveWizard(telemetryContext);
106
150
  }
107
151
  function isInteractiveShell() {
108
152
  return Boolean(node_process_1.stdin.isTTY && node_process_1.stdout.isTTY && !process.env.CI);
109
153
  }
110
- async function runInteractiveWizard() {
154
+ async function runInteractiveWizard(telemetryContext) {
111
155
  const rl = (0, promises_1.createInterface)({ input: node_process_1.stdin, output: node_process_1.stdout });
112
156
  try {
113
157
  console.log('Pane setup');
@@ -137,16 +181,19 @@ async function runInteractiveWizard() {
137
181
  if (action === 'client') {
138
182
  console.log('');
139
183
  console.log('Installing Pane desktop app on this machine...');
140
- return installOrUpdate(createParsedArgs('install', { target: 'client' }));
184
+ (0, telemetry_1.setSetupSelection)(telemetryContext, 'install', 'client');
185
+ return installOrUpdate(createParsedArgs('install', { target: 'client' }), telemetryContext);
141
186
  }
142
187
  if (action === 'update') {
143
188
  console.log('');
144
189
  console.log('Updating Pane desktop app on this machine...');
145
- return installOrUpdate(createParsedArgs('update', { target: 'client' }));
190
+ (0, telemetry_1.setSetupSelection)(telemetryContext, 'update', 'client');
191
+ return installOrUpdate(createParsedArgs('update', { target: 'client' }), telemetryContext);
146
192
  }
147
193
  if (action === 'doctor') {
148
194
  console.log('');
149
195
  console.log('Running runpane diagnostics...');
196
+ (0, telemetry_1.setSetupSelection)(telemetryContext, 'doctor');
150
197
  return (0, doctor_1.runDoctor)(createParsedArgs('doctor'), SOURCE);
151
198
  }
152
199
  console.log('');
@@ -181,10 +228,11 @@ async function runInteractiveWizard() {
181
228
  console.log('');
182
229
  console.log('Setting up this machine as a Pane remote host...');
183
230
  console.log('When setup finishes, paste the printed pane-remote:// code into Pane or runpane.com/app.');
231
+ (0, telemetry_1.setSetupSelection)(telemetryContext, 'install', 'daemon');
184
232
  return installOrUpdate(createParsedArgs('install', {
185
233
  target: 'daemon',
186
234
  remoteSetupArgs
187
- }));
235
+ }), telemetryContext);
188
236
  }
189
237
  finally {
190
238
  rl.close();
@@ -215,51 +263,135 @@ function createParsedArgs(command, overrides = {}) {
215
263
  ...overrides
216
264
  };
217
265
  }
218
- async function installOrUpdate(parsed) {
266
+ async function installOrUpdate(parsed, telemetryContext) {
219
267
  const target = parsed.command === 'update' ? 'client' : parsed.target;
268
+ const context = telemetryContext ?? createInstallTelemetryContext(parsed, target);
269
+ context.target = target;
270
+ context.paneVersion = parsed.paneVersion;
271
+ context.channel = parsed.channel;
272
+ context.format = parsed.format;
273
+ context.dryRun = parsed.dryRun;
220
274
  if (!parsed.dryRun && (0, installers_1.shouldReuseExistingPane)(parsed, target)) {
221
275
  const existing = (0, installers_1.resolveExistingPanePath)(parsed.panePath);
222
276
  if (existing) {
223
277
  console.log(`runpane: using existing Pane executable at ${existing}`);
224
278
  console.log('runpane: starting remote setup...');
225
- return (0, installers_1.spawnPane)(existing, ['--remote-setup', ...parsed.remoteSetupArgs]);
279
+ context.installKind = 'existing';
280
+ const code = await (0, installers_1.spawnPane)(existing, ['--remote-setup', ...parsed.remoteSetupArgs]);
281
+ context.exitCode = code;
282
+ if (code !== 0) {
283
+ context.failureStage = 'remote_setup';
284
+ context.failureCategory = 'process_exit';
285
+ }
286
+ return code;
226
287
  }
227
288
  }
228
- const platform = (0, platform_1.detectPlatform)();
289
+ let platform;
290
+ try {
291
+ platform = (0, platform_1.detectPlatform)();
292
+ context.platform = platform;
293
+ }
294
+ catch (error) {
295
+ context.failureStage = 'resolve_release';
296
+ context.failureCategory = (0, telemetry_1.categorizeFailure)(error);
297
+ throw error;
298
+ }
229
299
  console.log(`runpane: resolving Pane release ${parsed.paneVersion}...`);
230
- const resolved = await (0, releases_1.resolveRelease)({
231
- version: parsed.paneVersion,
232
- channel: parsed.channel,
233
- source: SOURCE,
234
- platform,
235
- format: parsed.format,
236
- target
237
- });
300
+ let resolved;
301
+ try {
302
+ resolved = await (0, releases_1.resolveRelease)({
303
+ version: parsed.paneVersion,
304
+ channel: parsed.channel,
305
+ source: SOURCE,
306
+ platform,
307
+ format: parsed.format,
308
+ target
309
+ });
310
+ context.resolvedFormat = resolved.format;
311
+ }
312
+ catch (error) {
313
+ context.failureStage = 'resolve_release';
314
+ context.failureCategory = (0, telemetry_1.categorizeFailure)(error);
315
+ throw error;
316
+ }
238
317
  if (parsed.dryRun) {
239
318
  printDryRun(parsed, resolved.artifact.name, resolved.preferredDownloadUrl, resolved.fallbackDownloadUrl);
240
319
  return 0;
241
320
  }
242
321
  console.log(`runpane: selected ${resolved.artifact.name}`);
243
322
  console.log(`runpane: downloading ${resolved.artifact.name}...`);
244
- const artifact = await (0, download_1.downloadArtifact)(resolved, parsed.downloadDir, parsed.verbose);
323
+ await (0, telemetry_1.trackWrapperEvent)('runpane_wrapper_download_requested', context);
324
+ let artifact;
325
+ try {
326
+ artifact = await (0, download_1.downloadArtifact)(resolved, parsed.downloadDir, parsed.verbose, async (error) => {
327
+ await (0, telemetry_1.trackWrapperEvent)('runpane_wrapper_github_fallback_used', {
328
+ ...context,
329
+ usedFallback: true,
330
+ failureStage: 'download',
331
+ failureCategory: (0, telemetry_1.categorizeFailure)(error),
332
+ });
333
+ });
334
+ context.usedFallback = artifact.usedFallback;
335
+ await (0, telemetry_1.trackWrapperEvent)('runpane_wrapper_download_succeeded', context);
336
+ }
337
+ catch (error) {
338
+ const failureCategory = (0, telemetry_1.categorizeFailure)(error);
339
+ context.failureStage = failureCategory === 'checksum' ? 'checksum' : 'download';
340
+ context.failureCategory = failureCategory;
341
+ await (0, telemetry_1.trackWrapperEvent)('runpane_wrapper_download_failed', context);
342
+ throw error;
343
+ }
245
344
  console.log(`runpane: downloaded ${artifact.fileName}${artifact.usedFallback ? ' from GitHub fallback' : ''}`);
246
345
  console.log('runpane: installing Pane...');
247
- const installed = await (0, installers_1.installPaneArtifact)(artifact, {
248
- parsed,
249
- platform,
250
- format: resolved.format,
251
- target
252
- });
346
+ let installed;
347
+ try {
348
+ installed = await (0, installers_1.installPaneArtifact)(artifact, {
349
+ parsed,
350
+ platform,
351
+ format: resolved.format,
352
+ target
353
+ });
354
+ context.installKind = installed.installKind;
355
+ }
356
+ catch (error) {
357
+ context.failureStage = 'install';
358
+ context.failureCategory = (0, telemetry_1.categorizeFailure)(error);
359
+ throw error;
360
+ }
253
361
  if (target === 'daemon') {
254
362
  console.log('runpane: starting remote setup...');
255
- return (0, installers_1.spawnPane)(installed.executablePath, ['--remote-setup', ...parsed.remoteSetupArgs]);
363
+ const code = await (0, installers_1.spawnPane)(installed.executablePath, ['--remote-setup', ...parsed.remoteSetupArgs]);
364
+ context.exitCode = code;
365
+ if (code !== 0) {
366
+ context.failureStage = 'remote_setup';
367
+ context.failureCategory = 'process_exit';
368
+ }
369
+ return code;
256
370
  }
257
371
  if (installed.installKind === 'installed') {
258
- (0, installers_1.launchPaneClient)(installed.executablePath);
372
+ try {
373
+ (0, installers_1.launchPaneClient)(installed.executablePath);
374
+ }
375
+ catch (error) {
376
+ context.failureStage = 'launch';
377
+ context.failureCategory = (0, telemetry_1.categorizeFailure)(error);
378
+ throw error;
379
+ }
259
380
  }
260
381
  console.log(`Pane ${installed.installKind === 'existing' ? 'found' : 'installed'}: ${installed.executablePath}`);
261
382
  return 0;
262
383
  }
384
+ function createInstallTelemetryContext(parsed, target) {
385
+ return {
386
+ command: parsed.command,
387
+ resolvedCommand: parsed.command === 'install' || parsed.command === 'update' ? parsed.command : undefined,
388
+ target,
389
+ paneVersion: parsed.paneVersion,
390
+ channel: parsed.channel,
391
+ format: parsed.format,
392
+ dryRun: parsed.dryRun,
393
+ };
394
+ }
263
395
  function printDryRun(parsed, artifactName, preferredDownloadUrl, fallbackDownloadUrl) {
264
396
  const target = parsed.command === 'update' ? 'client' : parsed.target;
265
397
  console.log('runpane dry run');
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export interface DownloadedArtifact {
4
4
  fileName: string;
5
5
  usedFallback: boolean;
6
6
  }
7
- export declare function downloadArtifact(resolved: ResolvedRelease, downloadDir?: string, verbose?: boolean): Promise<DownloadedArtifact>;
7
+ export declare function downloadArtifact(resolved: ResolvedRelease, downloadDir?: string, verbose?: boolean, onFallbackUsed?: (error: unknown) => Promise<void> | void): Promise<DownloadedArtifact>;
8
8
  //# sourceMappingURL=download.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"AAOA,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,UAAQ,GACd,OAAO,CAAC,kBAAkB,CAAC,CAkB7B"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"AAOA,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,UAAQ,EACf,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GACxD,OAAO,CAAC,kBAAkB,CAAC,CAuB7B"}
package/dist/download.js CHANGED
@@ -11,7 +11,7 @@ const path_1 = __importDefault(require("path"));
11
11
  const stream_1 = require("stream");
12
12
  const promises_1 = require("stream/promises");
13
13
  const releases_1 = require("./releases");
14
- async function downloadArtifact(resolved, downloadDir, verbose = false) {
14
+ async function downloadArtifact(resolved, downloadDir, verbose = false, onFallbackUsed) {
15
15
  const targetDir = downloadDir ?? path_1.default.join(os_1.default.tmpdir(), `runpane-${Date.now()}`);
16
16
  fs_1.default.mkdirSync(targetDir, { recursive: true });
17
17
  const fileName = (0, releases_1.artifactFileName)(resolved.artifact.name);
@@ -23,6 +23,12 @@ async function downloadArtifact(resolved, downloadDir, verbose = false) {
23
23
  catch (error) {
24
24
  usedFallback = true;
25
25
  console.warn(`runpane: website download route failed; falling back to GitHub release asset. ${formatError(error)}`);
26
+ try {
27
+ await onFallbackUsed?.(error);
28
+ }
29
+ catch {
30
+ // Fallback telemetry must not affect download behavior.
31
+ }
26
32
  await downloadToFile(resolved.fallbackDownloadUrl, targetPath, verbose);
27
33
  }
28
34
  await verifyChecksumIfAvailable(resolved, targetPath, fileName);
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"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"}
@@ -302,7 +302,7 @@ export declare const RUNPANE_CONTRACT: {
302
302
  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.";
303
303
  readonly localControlFlagNote: "`runpane repos list`, `runpane panes list`, `runpane panes create`, and `runpane panels ...` commands use the local framed daemon socket/pipe for a running Pane app. `--pane-dir` points the wrapper at a non-default Pane data directory, such as `PANE_DIR=~/.pane_test` in development. `runpane agent-context` is local/offline and can be used before Pane is running. From WSL, if the user runs Windows Pane, call the Windows wrapper through `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane ...'` so the command can reach the Windows named-pipe daemon.";
304
304
  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.";
305
- 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."];
305
+ 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."];
306
306
  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."];
307
307
  };
308
308
  readonly testFixtures: {
@@ -560,6 +560,9 @@ export declare const RUNPANE_CONTRACT: {
560
560
  readonly worktreePath: {
561
561
  readonly type: "string";
562
562
  };
563
+ readonly nextCommand: {
564
+ readonly type: "string";
565
+ };
563
566
  readonly tool: {
564
567
  readonly type: "object";
565
568
  readonly required: readonly ["title", "command"];
@@ -729,7 +732,7 @@ export declare const RUNPANE_CONTRACT: {
729
732
  };
730
733
  readonly panelOutputResult: {
731
734
  readonly type: "object";
732
- readonly required: readonly ["ok", "panelId", "outputs", "text"];
735
+ readonly required: readonly ["ok", "panelId", "limit", "returnedCount", "hasMore", "outputs", "text"];
733
736
  readonly properties: {
734
737
  readonly ok: {
735
738
  readonly const: true;
@@ -743,6 +746,12 @@ export declare const RUNPANE_CONTRACT: {
743
746
  readonly limit: {
744
747
  readonly type: "number";
745
748
  };
749
+ readonly returnedCount: {
750
+ readonly type: "number";
751
+ };
752
+ readonly hasMore: {
753
+ readonly type: "boolean";
754
+ };
746
755
  readonly outputs: {
747
756
  readonly type: "array";
748
757
  readonly items: {
@@ -798,6 +807,9 @@ export declare const RUNPANE_CONTRACT: {
798
807
  readonly sentAt: {
799
808
  readonly type: "string";
800
809
  };
810
+ readonly nextCommand: {
811
+ readonly type: "string";
812
+ };
801
813
  };
802
814
  readonly additionalProperties: false;
803
815
  };
@@ -918,7 +930,7 @@ export declare const RUNPANE_CONTRACT: {
918
930
  readonly brief: {
919
931
  readonly title: "Pane agent context";
920
932
  readonly summary: "Pane lets a developer manage repositories and user-visible panes. Agents can use runpane to list/add Pane repositories and create panes with terminal-backed tools.";
921
- readonly rules: readonly ["Start with `runpane repos list --json` to find the saved repository when unsure.", "If WSL cannot find `/tmp/pane-daemon.../daemon.sock`, the user may be running Windows Pane; try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane repos list --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 panes create` to create a Pane session and open a built-in agent or custom terminal command.", "Use `runpane panels list`, `runpane panels output`, and `runpane panels input` when you need to inspect or drive an existing Pane terminal.", "Use `runpane agent-context --command <command>` for detailed command definitions only when needed."];
933
+ readonly rules: readonly ["Start with `runpane repos list --json` to find the saved repository when unsure.", "If WSL cannot find `/tmp/pane-daemon.../daemon.sock`, the user may be running Windows Pane; try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane repos list --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 panes create` to create a Pane session and open a built-in agent or custom terminal command.", "Use `runpane panels list`, `runpane panels output`, and `runpane panels input` when you need to inspect or drive an existing Pane terminal.", "After creating panes or sending terminal input, validate with bounded panel output before reporting success.", "Use `runpane agent-context --command <command>` for detailed command definitions only when needed."];
922
934
  readonly detailCommand: "runpane agent-context --command <command> [--json]";
923
935
  readonly tools: readonly [{
924
936
  readonly name: "agent-context";
@@ -1222,7 +1234,7 @@ export declare const RUNPANE_CONTRACT: {
1222
1234
  }];
1223
1235
  readonly examples: readonly ["runpane panes create --repo active --name issue-257 --agent codex --prompt \"Plan this issue\" --yes", "runpane panes create --from-json panes.json --yes --json"];
1224
1236
  readonly jsonSchemas: readonly ["paneCreateRequest", "paneCreateResult"];
1225
- readonly notes: readonly ["At least one of --agent or --tool-command is required unless --from-json is used.", "The built-in agent templates come from the runpane contract; custom terminal commands can pass agent-specific flags when requested by the user.", "From WSL with Windows Pane, invoke through PowerShell and select the saved WSL repo by name or id, for example `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane panes create --repo \"WSL Pane\" --name issue-123 --agent codex --prompt \"Plan this issue\" --yes --json'`."];
1237
+ readonly notes: readonly ["At least one of --agent or --tool-command is required unless --from-json is used.", "The built-in agent templates come from the runpane contract; custom terminal commands can pass agent-specific flags when requested by the user.", "When the JSON result includes nextCommand, run it to validate that the terminal produced output before reporting success.", "From WSL with Windows Pane, invoke through PowerShell and select the saved WSL repo by name or id, for example `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane panes create --repo \"WSL Pane\" --name issue-123 --agent codex --prompt \"Plan this issue\" --yes --json'`."];
1226
1238
  };
1227
1239
  readonly "panels list": {
1228
1240
  readonly name: "panels list";
@@ -1252,7 +1264,7 @@ export declare const RUNPANE_CONTRACT: {
1252
1264
  readonly "panels output": {
1253
1265
  readonly name: "panels output";
1254
1266
  readonly summary: "Read recent terminal output from a panel.";
1255
- readonly details: "Use this to inspect what is currently visible or recently emitted by a terminal-backed panel.";
1267
+ readonly details: "Use this to inspect recent terminal output from a terminal-backed panel without loading the full history by default.";
1256
1268
  readonly requiresPaneDaemon: true;
1257
1269
  readonly mutates: false;
1258
1270
  readonly arguments: readonly [{
@@ -1264,7 +1276,7 @@ export declare const RUNPANE_CONTRACT: {
1264
1276
  readonly name: "--limit";
1265
1277
  readonly value: "<count>";
1266
1278
  readonly required: false;
1267
- readonly description: "Maximum output records to read.";
1279
+ readonly description: "Maximum output records to read. Defaults to 200.";
1268
1280
  }, {
1269
1281
  readonly name: "--json";
1270
1282
  readonly required: false;
@@ -1277,7 +1289,7 @@ export declare const RUNPANE_CONTRACT: {
1277
1289
  }];
1278
1290
  readonly examples: readonly ["runpane panels output --panel <panel-id> --limit 200 --json"];
1279
1291
  readonly jsonSchemas: readonly ["panelOutputResult"];
1280
- readonly notes: readonly ["Default text output concatenates stdout/stderr-like records. Use --json when an agent needs timestamps and record types."];
1292
+ readonly notes: readonly ["Default output is bounded to the latest 200 records. Use a larger --limit only when hasMore is true and more history is needed.", "Use --json when an agent needs timestamps, record types, returnedCount, or hasMore."];
1281
1293
  };
1282
1294
  readonly "panels input": {
1283
1295
  readonly name: "panels input";
@@ -1316,10 +1328,10 @@ export declare const RUNPANE_CONTRACT: {
1316
1328
  }];
1317
1329
  readonly examples: readonly ["runpane panels input --panel <panel-id> --text \"Continue\\n\" --yes --json", "printf 'Continue\\n' | runpane panels input --panel <panel-id> --input-file - --yes"];
1318
1330
  readonly jsonSchemas: readonly ["panelInputRequest", "panelInputResult"];
1319
- readonly notes: readonly ["Input is sent exactly as provided. Include `\\n` or `\\r` when the terminal should receive Enter.", "Runpane records action metadata and errors for observability, but should not log full input text by default."];
1331
+ readonly notes: readonly ["Input is sent exactly as provided. Include `\\n` or `\\r` when the terminal should receive Enter.", "After sending input, validate with `runpane panels output --panel <panel-id> --json` before reporting success.", "Runpane records action metadata and errors for observability, but should not log full input text by default."];
1320
1332
  };
1321
1333
  };
1322
- readonly managedBlock: readonly ["## Pane", "", "The developer is using Pane for this repository. Pane can manage saved repositories and create user-visible panes with terminal-backed tools for planning, discussion, and implementation work.", "", "Use `runpane agent-context` for a brief Pane command schema. Use `runpane agent-context --command \"panes create\"` or another command name for the detailed schema only when needed.", "", "Common commands:", "- `runpane repos list --json`", "- `runpane repos add --path <repo> --yes --json`", "- `runpane panes create --repo active --name <name> --agent codex --prompt \"<task>\" --yes`", "- `runpane panels list --pane <pane-id> --json`", "- `runpane panels output --panel <panel-id> --limit 200 --json`", "- `runpane panels input --panel <panel-id> --text \"<input>\" --yes`", "", "WSL note: if `runpane repos list` cannot find `/tmp/pane-daemon.../daemon.sock`, Pane may be running on Windows. Try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane repos list --json'`, then create panes through the same PowerShell form using the saved WSL repo name or id."];
1334
+ readonly managedBlock: readonly ["## Pane", "", "The developer is using Pane for this repository. Pane can manage saved repositories and create user-visible panes with terminal-backed tools for planning, discussion, and implementation work.", "", "Use `runpane agent-context` for a brief Pane command schema. Use `runpane agent-context --command \"panes create\"` or another command name for the detailed schema only when needed.", "", "After creating panes or sending terminal input, validate with bounded panel output before reporting success.", "", "Common commands:", "- `runpane repos list --json`", "- `runpane repos add --path <repo> --yes --json`", "- `runpane panes create --repo active --name <name> --agent codex --prompt \"<task>\" --yes`", "- `runpane panels list --pane <pane-id> --json`", "- `runpane panels output --panel <panel-id> --limit 200 --json`", "- `runpane panels input --panel <panel-id> --text \"<input>\" --yes`", "", "WSL note: if `runpane repos list` cannot find `/tmp/pane-daemon.../daemon.sock`, Pane may be running on Windows. Try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane repos list --json'`, then create panes through the same PowerShell form using the saved WSL repo name or id."];
1323
1335
  };
1324
1336
  };
1325
1337
  export type RunpaneCommand = typeof RUNPANE_CONTRACT.commands[number]['name'];
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/generated/contract.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA65EnB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAq7EnB,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"}