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 +5 -0
- package/dist/cli.d.ts +2 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +162 -30
- package/dist/cli.js.map +1 -1
- package/dist/download.d.ts +1 -1
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +7 -1
- package/dist/download.js.map +1 -1
- package/dist/generated/contract.d.ts +21 -9
- package/dist/generated/contract.d.ts.map +1 -1
- package/dist/generated/contract.js +28 -4
- package/dist/generated/contract.js.map +1 -1
- package/dist/localControl.d.ts.map +1 -1
- package/dist/localControl.js.map +1 -1
- package/dist/telemetry.d.ts +43 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +285 -0
- package/dist/telemetry.js.map +1 -0
- package/package.json +1 -1
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;
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
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
|
-
|
|
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
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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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"}
|
package/dist/download.d.ts
CHANGED
|
@@ -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
|
package/dist/download.d.ts.map
CHANGED
|
@@ -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,
|
|
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);
|
package/dist/download.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":";;;;;AAeA,
|
|
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
|
|
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
|
|
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
|
|
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"}
|