@stim-cli/server 1.21.0 → 1.22.0

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.
@@ -32,6 +32,116 @@ var protocol_exports = /* @__PURE__ */ __exportAll({ protocolJsonSchema: () => p
32
32
  import * as import__stim_cli_core_protocol from "@stim-cli/core/protocol";
33
33
  __reExport(protocol_exports, import__stim_cli_core_protocol);
34
34
  const requestId = { type: ["integer", "string"] };
35
+ const runText = {
36
+ type: "string",
37
+ minLength: 1,
38
+ maxLength: 1024,
39
+ pattern: "^[^\\u0000]+$"
40
+ };
41
+ const runSelector = { oneOf: [runText, { type: "boolean" }] };
42
+ const nativeRunProperties = {
43
+ slot: runText,
44
+ remote: runText,
45
+ remoteBuild: runText,
46
+ easProfile: runText,
47
+ device: runSelector,
48
+ wait: runSelector,
49
+ metroCheck: { type: "boolean" },
50
+ buildCache: { type: "boolean" }
51
+ };
52
+ const platformRunOptions = { oneOf: [
53
+ {
54
+ type: "object",
55
+ required: ["platform"],
56
+ additionalProperties: false,
57
+ properties: {
58
+ platform: { const: "ios" },
59
+ ...nativeRunProperties,
60
+ configuration: runText,
61
+ scheme: runText,
62
+ deviceType: runText,
63
+ runtime: runText,
64
+ simulatorApp: runText
65
+ }
66
+ },
67
+ {
68
+ type: "object",
69
+ required: ["platform"],
70
+ additionalProperties: false,
71
+ properties: {
72
+ platform: { const: "android" },
73
+ ...nativeRunProperties,
74
+ variant: runText,
75
+ systemImage: runText,
76
+ deviceProfile: runText
77
+ }
78
+ },
79
+ {
80
+ type: "object",
81
+ required: ["platform"],
82
+ additionalProperties: false,
83
+ properties: {
84
+ platform: { const: "macos" },
85
+ remote: runText,
86
+ remoteBuild: runText
87
+ }
88
+ },
89
+ {
90
+ type: "object",
91
+ required: ["platform"],
92
+ additionalProperties: false,
93
+ properties: {
94
+ platform: { const: "web" },
95
+ headed: { type: "boolean" }
96
+ }
97
+ }
98
+ ] };
99
+ const platformBuildOptions = { oneOf: [
100
+ {
101
+ type: "object",
102
+ required: ["platform"],
103
+ additionalProperties: false,
104
+ properties: {
105
+ platform: { const: "ios" },
106
+ configuration: runText,
107
+ scheme: runText,
108
+ arch: { enum: [
109
+ "arm64",
110
+ "x86_64",
111
+ "all"
112
+ ] },
113
+ buildCache: { type: "boolean" },
114
+ remoteBuild: runText
115
+ }
116
+ },
117
+ {
118
+ type: "object",
119
+ required: ["platform"],
120
+ additionalProperties: false,
121
+ properties: {
122
+ platform: { const: "android" },
123
+ variant: runText,
124
+ abi: { enum: [
125
+ "arm64-v8a",
126
+ "armeabi-v7a",
127
+ "x86",
128
+ "x86_64",
129
+ "all"
130
+ ] },
131
+ buildCache: { type: "boolean" },
132
+ remoteBuild: runText
133
+ }
134
+ },
135
+ {
136
+ type: "object",
137
+ required: ["platform"],
138
+ additionalProperties: false,
139
+ properties: {
140
+ platform: { const: "macos" },
141
+ remoteBuild: runText
142
+ }
143
+ }
144
+ ] };
35
145
  const protocolError = {
36
146
  type: "object",
37
147
  required: ["code", "message"],
@@ -41,6 +151,10 @@ const protocolError = {
41
151
  message: { type: "string" }
42
152
  }
43
153
  };
154
+ const sha256 = {
155
+ type: "string",
156
+ pattern: "^[0-9a-f]{64}$"
157
+ };
44
158
  const buildRepo = {
45
159
  type: "string",
46
160
  pattern: BUILD_REPO_PATTERN
@@ -62,6 +176,304 @@ const buildArtifactIdentity = {
62
176
  }
63
177
  }
64
178
  };
179
+ const gradleArtifactQuery = {
180
+ type: "object",
181
+ required: [
182
+ "project",
183
+ "sourceDigest",
184
+ "inputs",
185
+ "android"
186
+ ],
187
+ additionalProperties: false,
188
+ properties: {
189
+ project: { type: "string" },
190
+ sourceDigest: sha256,
191
+ inputs: {
192
+ type: "object",
193
+ required: [
194
+ "complete",
195
+ "ignored",
196
+ "outputs"
197
+ ],
198
+ additionalProperties: false,
199
+ properties: {
200
+ complete: { const: true },
201
+ ignored: {
202
+ type: "array",
203
+ items: {
204
+ type: "string",
205
+ minLength: 1
206
+ }
207
+ },
208
+ outputs: {
209
+ type: "array",
210
+ items: {
211
+ type: "string",
212
+ minLength: 1
213
+ }
214
+ }
215
+ }
216
+ },
217
+ android: {
218
+ type: "object",
219
+ required: [
220
+ "variant",
221
+ "abi",
222
+ "gradleBuildCache",
223
+ "pch",
224
+ "compilerCache"
225
+ ],
226
+ additionalProperties: false,
227
+ properties: {
228
+ variant: {
229
+ type: "string",
230
+ minLength: 1
231
+ },
232
+ abi: { type: ["string", "null"] },
233
+ gradleBuildCache: { type: "boolean" },
234
+ pch: { enum: [
235
+ "auto",
236
+ "on",
237
+ "off"
238
+ ] },
239
+ compilerCache: { enum: ["ccache", "none"] },
240
+ gradleRoot: { type: ["string", "null"] },
241
+ module: { type: ["string", "null"] }
242
+ }
243
+ }
244
+ }
245
+ };
246
+ const swiftpmArtifactInputs = {
247
+ type: "object",
248
+ required: [
249
+ "complete",
250
+ "ignored",
251
+ "outputs",
252
+ "localFiles",
253
+ "environment"
254
+ ],
255
+ additionalProperties: false,
256
+ properties: {
257
+ complete: { const: true },
258
+ ignored: {
259
+ type: "array",
260
+ maxItems: 1e3,
261
+ items: {
262
+ type: "string",
263
+ minLength: 1
264
+ }
265
+ },
266
+ outputs: {
267
+ type: "array",
268
+ maxItems: 1e3,
269
+ items: {
270
+ type: "string",
271
+ minLength: 1
272
+ }
273
+ },
274
+ localFiles: {
275
+ type: "array",
276
+ maxItems: 1e3,
277
+ items: {
278
+ type: "string",
279
+ minLength: 1,
280
+ maxLength: 4096
281
+ }
282
+ },
283
+ environment: {
284
+ type: "array",
285
+ maxItems: 1e3,
286
+ items: {
287
+ type: "string",
288
+ pattern: "^[A-Za-z_][A-Za-z0-9_]*$"
289
+ }
290
+ }
291
+ }
292
+ };
293
+ const swiftpmArtifactQuery = {
294
+ type: "object",
295
+ required: [
296
+ "project",
297
+ "sourceDigest",
298
+ "stimBuild",
299
+ "inputs",
300
+ "build"
301
+ ],
302
+ additionalProperties: false,
303
+ properties: {
304
+ project: { type: "string" },
305
+ sourceDigest: sha256,
306
+ stimBuild: {
307
+ type: "string",
308
+ minLength: 1,
309
+ maxLength: 256
310
+ },
311
+ inputs: swiftpmArtifactInputs,
312
+ build: {
313
+ type: "object",
314
+ required: [
315
+ "product",
316
+ "infoPlist",
317
+ "resources",
318
+ "assetCatalog"
319
+ ],
320
+ additionalProperties: false,
321
+ properties: {
322
+ product: {
323
+ type: "string",
324
+ pattern: "^[A-Za-z0-9_.-]{1,100}$"
325
+ },
326
+ infoPlist: {
327
+ type: "string",
328
+ minLength: 1
329
+ },
330
+ resources: {
331
+ type: "object",
332
+ maxProperties: 256,
333
+ additionalProperties: { type: "string" }
334
+ },
335
+ assetCatalog: {
336
+ type: ["string", "null"],
337
+ minLength: 1
338
+ }
339
+ }
340
+ }
341
+ }
342
+ };
343
+ const reactNativeArtifactQuery = {
344
+ type: "object",
345
+ required: [
346
+ "project",
347
+ "fingerprint",
348
+ "isExpo",
349
+ "platform",
350
+ "toolchain"
351
+ ],
352
+ additionalProperties: false,
353
+ oneOf: [{
354
+ properties: {
355
+ platform: { const: "ios" },
356
+ toolchain: { required: [
357
+ "arch",
358
+ "xcode",
359
+ "simulatorSdk",
360
+ "cocoapods"
361
+ ] }
362
+ },
363
+ required: ["ios"]
364
+ }, {
365
+ properties: {
366
+ platform: { const: "android" },
367
+ toolchain: { required: ["jdk"] }
368
+ },
369
+ required: ["android"]
370
+ }],
371
+ properties: {
372
+ project: { type: "string" },
373
+ fingerprint: {
374
+ type: "string",
375
+ minLength: 1,
376
+ maxLength: 256
377
+ },
378
+ isExpo: { type: "boolean" },
379
+ platform: { enum: ["ios", "android"] },
380
+ toolchain: {
381
+ type: "object",
382
+ required: ["stimBuild"],
383
+ additionalProperties: false,
384
+ properties: {
385
+ stimBuild: {
386
+ type: "string",
387
+ minLength: 1
388
+ },
389
+ arch: {
390
+ type: "string",
391
+ minLength: 1
392
+ },
393
+ xcode: {
394
+ type: "string",
395
+ minLength: 1
396
+ },
397
+ simulatorSdk: {
398
+ type: "string",
399
+ minLength: 1
400
+ },
401
+ cocoapods: {
402
+ type: "string",
403
+ minLength: 1
404
+ },
405
+ jdk: {
406
+ type: "string",
407
+ minLength: 1
408
+ }
409
+ }
410
+ },
411
+ ios: {
412
+ type: "object",
413
+ required: [
414
+ "runtime",
415
+ "configuration",
416
+ "scheme",
417
+ "projectPath",
418
+ "optimizations"
419
+ ],
420
+ additionalProperties: false,
421
+ properties: {
422
+ runtime: {
423
+ type: "string",
424
+ minLength: 1
425
+ },
426
+ configuration: {
427
+ type: "string",
428
+ minLength: 1
429
+ },
430
+ scheme: { type: ["string", "null"] },
431
+ projectPath: {
432
+ type: "string",
433
+ minLength: 1
434
+ },
435
+ optimizations: {
436
+ type: "object",
437
+ required: [
438
+ "compilationCache",
439
+ "swiftCompilationCache",
440
+ "prefixMapping"
441
+ ],
442
+ additionalProperties: false,
443
+ properties: {
444
+ compilationCache: { type: "boolean" },
445
+ swiftCompilationCache: { type: ["boolean", "null"] },
446
+ prefixMapping: { type: "boolean" }
447
+ }
448
+ }
449
+ }
450
+ },
451
+ android: {
452
+ type: "object",
453
+ required: [
454
+ "variant",
455
+ "abi",
456
+ "gradleBuildCache",
457
+ "pch",
458
+ "compilerCache"
459
+ ],
460
+ additionalProperties: false,
461
+ properties: {
462
+ variant: { type: ["string", "null"] },
463
+ abi: { type: ["string", "null"] },
464
+ gradleBuildCache: { type: "boolean" },
465
+ pch: { enum: [
466
+ "auto",
467
+ "on",
468
+ "off"
469
+ ] },
470
+ compilerCache: { enum: ["ccache", "none"] },
471
+ gradleRoot: { type: ["string", "null"] },
472
+ module: { type: ["string", "null"] }
473
+ }
474
+ }
475
+ }
476
+ };
65
477
  const workspaceRef = {
66
478
  type: "object",
67
479
  required: ["workspace"],
@@ -88,10 +500,6 @@ const keyedDelta = (description) => ({
88
500
  }
89
501
  }
90
502
  });
91
- const sha256 = {
92
- type: "string",
93
- pattern: "^[0-9a-f]{64}$"
94
- };
95
503
  const buildJob = {
96
504
  type: "object",
97
505
  required: ["job"],
@@ -2071,6 +2479,22 @@ function protocolJsonSchema() {
2071
2479
  }
2072
2480
  }
2073
2481
  }),
2482
+ request("desktop.machine-access.subscribe", {
2483
+ type: "object",
2484
+ required: ["cwd"],
2485
+ additionalProperties: false,
2486
+ properties: {
2487
+ cwd: {
2488
+ type: "string",
2489
+ minLength: 1,
2490
+ maxLength: 4096
2491
+ },
2492
+ ticket: {
2493
+ type: "string",
2494
+ pattern: "^[A-Za-z0-9_-]{43}$"
2495
+ }
2496
+ }
2497
+ }),
2074
2498
  request("desktop.reload.subscribe", {
2075
2499
  type: "object",
2076
2500
  required: ["cwd"],
@@ -2084,6 +2508,155 @@ function protocolJsonSchema() {
2084
2508
  platform: { enum: [...RELOAD_PLATFORMS] }
2085
2509
  }
2086
2510
  }),
2511
+ request("desktop.start.subscribe", {
2512
+ type: "object",
2513
+ required: ["cwd"],
2514
+ additionalProperties: false,
2515
+ properties: {
2516
+ cwd: {
2517
+ type: "string",
2518
+ minLength: 1,
2519
+ maxLength: 4096
2520
+ },
2521
+ remote: { type: "boolean" },
2522
+ resetCache: { type: "boolean" },
2523
+ waitSeconds: {
2524
+ type: "integer",
2525
+ minimum: 1,
2526
+ maximum: Number.MAX_SAFE_INTEGER
2527
+ }
2528
+ }
2529
+ }),
2530
+ request("desktop.run.subscribe", {
2531
+ type: "object",
2532
+ required: ["cwd", "options"],
2533
+ additionalProperties: false,
2534
+ properties: {
2535
+ cwd: {
2536
+ type: "string",
2537
+ minLength: 1,
2538
+ maxLength: 4096
2539
+ },
2540
+ options: platformRunOptions
2541
+ }
2542
+ }),
2543
+ request("desktop.plan.get", { oneOf: [{
2544
+ type: "object",
2545
+ required: ["cwd", "platform"],
2546
+ additionalProperties: false,
2547
+ properties: {
2548
+ cwd: {
2549
+ type: "string",
2550
+ minLength: 1,
2551
+ maxLength: 4096
2552
+ },
2553
+ platform: { enum: ["ios", "android"] },
2554
+ slot: {
2555
+ type: "string",
2556
+ pattern: "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
2557
+ },
2558
+ request: {
2559
+ type: "string",
2560
+ pattern: "^[A-Za-z0-9_-]{1,128}$"
2561
+ }
2562
+ }
2563
+ }, {
2564
+ type: "object",
2565
+ required: ["cwd", "platform"],
2566
+ additionalProperties: false,
2567
+ properties: {
2568
+ cwd: {
2569
+ type: "string",
2570
+ minLength: 1,
2571
+ maxLength: 4096
2572
+ },
2573
+ platform: { const: "macos" },
2574
+ request: {
2575
+ type: "string",
2576
+ pattern: "^[A-Za-z0-9_-]{1,128}$"
2577
+ }
2578
+ }
2579
+ }] }),
2580
+ request("desktop.plan.cancel", {
2581
+ type: "object",
2582
+ required: ["request"],
2583
+ additionalProperties: false,
2584
+ properties: { request: {
2585
+ type: "string",
2586
+ pattern: "^[A-Za-z0-9_-]{1,128}$"
2587
+ } }
2588
+ }),
2589
+ request("desktop.build.subscribe", {
2590
+ type: "object",
2591
+ required: ["cwd", "options"],
2592
+ additionalProperties: false,
2593
+ properties: {
2594
+ cwd: {
2595
+ type: "string",
2596
+ minLength: 1,
2597
+ maxLength: 4096
2598
+ },
2599
+ options: platformBuildOptions
2600
+ }
2601
+ }),
2602
+ request("desktop.gc.subscribe", {
2603
+ type: "object",
2604
+ required: ["cwd"],
2605
+ additionalProperties: false,
2606
+ properties: {
2607
+ cwd: {
2608
+ type: "string",
2609
+ minLength: 1,
2610
+ maxLength: 4096
2611
+ },
2612
+ cache: {
2613
+ type: "string",
2614
+ minLength: 1,
2615
+ maxLength: 1024,
2616
+ pattern: "^.*\\S.*$"
2617
+ },
2618
+ olderThan: {
2619
+ type: "integer",
2620
+ minimum: Number.MIN_SAFE_INTEGER,
2621
+ maximum: Number.MAX_SAFE_INTEGER
2622
+ },
2623
+ worktrees: { type: "boolean" },
2624
+ delete: { type: "boolean" },
2625
+ idleMs: {
2626
+ type: "integer",
2627
+ minimum: 1,
2628
+ maximum: Number.MAX_SAFE_INTEGER
2629
+ }
2630
+ }
2631
+ }),
2632
+ request("desktop.worktree.warm.subscribe", {
2633
+ type: "object",
2634
+ required: ["cwd"],
2635
+ additionalProperties: false,
2636
+ properties: { cwd: {
2637
+ type: "string",
2638
+ minLength: 1,
2639
+ maxLength: 4096
2640
+ } }
2641
+ }),
2642
+ request("desktop.worktree.remove.subscribe", {
2643
+ type: "object",
2644
+ required: ["cwd"],
2645
+ additionalProperties: false,
2646
+ properties: {
2647
+ cwd: {
2648
+ type: "string",
2649
+ minLength: 1,
2650
+ maxLength: 4096
2651
+ },
2652
+ target: {
2653
+ type: "string",
2654
+ minLength: 1,
2655
+ maxLength: 4096
2656
+ },
2657
+ force: { type: "boolean" }
2658
+ }
2659
+ }),
2087
2660
  request("status.subscribe"),
2088
2661
  request("workspaces.subscribe"),
2089
2662
  request("workspace.subscribe", workspaceRef),
@@ -2406,12 +2979,24 @@ function protocolJsonSchema() {
2406
2979
  properties: {
2407
2980
  repo: buildRepo,
2408
2981
  lockfile: sha256,
2982
+ dependencies: {
2983
+ type: "object",
2984
+ required: ["project", "packageName"],
2985
+ additionalProperties: false,
2986
+ properties: {
2987
+ project: { type: "string" },
2988
+ packageName: { type: ["string", "null"] }
2989
+ }
2990
+ },
2409
2991
  rubyVersion: {
2410
2992
  type: "string",
2411
2993
  pattern: BUILD_RUBY_VERSION_PATTERN
2412
2994
  },
2413
2995
  native: { enum: ["xcode", "gradle"] },
2414
- artifact: buildArtifactIdentity
2996
+ artifact: buildArtifactIdentity,
2997
+ gradleArtifact: gradleArtifactQuery,
2998
+ reactNativeArtifact: reactNativeArtifactQuery,
2999
+ swiftpmArtifact: swiftpmArtifactQuery
2415
3000
  }
2416
3001
  }),
2417
3002
  request("build.sync", {
@@ -2555,6 +3140,20 @@ function protocolJsonSchema() {
2555
3140
  properties: {
2556
3141
  provider: { const: "gradle" },
2557
3142
  sourceDigest: sha256,
3143
+ cache: {
3144
+ type: "object",
3145
+ required: [
3146
+ "read",
3147
+ "write",
3148
+ "remote"
3149
+ ],
3150
+ additionalProperties: false,
3151
+ properties: {
3152
+ read: { type: "boolean" },
3153
+ write: { type: "boolean" },
3154
+ remote: { type: "boolean" }
3155
+ }
3156
+ },
2558
3157
  inputs: {
2559
3158
  type: "object",
2560
3159
  required: [
@@ -2629,6 +3228,7 @@ function protocolJsonSchema() {
2629
3228
  type: "string",
2630
3229
  pattern: "^[A-Za-z0-9][A-Za-z0-9.-]{0,199}$"
2631
3230
  },
3231
+ artifactInputs: swiftpmArtifactInputs,
2632
3232
  resources: {
2633
3233
  type: "object",
2634
3234
  maxProperties: 256,
@@ -2640,6 +3240,7 @@ function protocolJsonSchema() {
2640
3240
  }
2641
3241
  }
2642
3242
  },
3243
+ cacheArtifact: { type: "boolean" },
2643
3244
  stimBuild: {
2644
3245
  type: "string",
2645
3246
  minLength: 1
@@ -2654,7 +3255,10 @@ function protocolJsonSchema() {
2654
3255
  additionalProperties: false,
2655
3256
  properties: {
2656
3257
  repo: buildRepo,
2657
- artifact: buildArtifactIdentity
3258
+ artifact: buildArtifactIdentity,
3259
+ gradleArtifact: gradleArtifactQuery,
3260
+ reactNativeArtifact: reactNativeArtifactQuery,
3261
+ swiftpmArtifact: swiftpmArtifactQuery
2658
3262
  }
2659
3263
  }),
2660
3264
  request("build.attach", buildJob),
@@ -2920,7 +3524,17 @@ function protocolJsonSchema() {
2920
3524
  ],
2921
3525
  additionalProperties: false,
2922
3526
  properties: {
2923
- event: { enum: ["desktop-stop-progress", "desktop-reload-progress"] },
3527
+ event: { enum: [
3528
+ "desktop-stop-progress",
3529
+ "desktop-reload-progress",
3530
+ "desktop-start-progress",
3531
+ "desktop-run-progress",
3532
+ "desktop-build-progress",
3533
+ "desktop-gc-progress",
3534
+ "desktop-worktree-remove-progress",
3535
+ "desktop-worktree-warm-progress",
3536
+ "desktop-machine-access-progress"
3537
+ ] },
2924
3538
  subscription: { type: "string" },
2925
3539
  stream: { enum: ["stdout", "stderr"] },
2926
3540
  message: { type: "string" }
@@ -2937,7 +3551,17 @@ function protocolJsonSchema() {
2937
3551
  ],
2938
3552
  additionalProperties: false,
2939
3553
  properties: {
2940
- event: { enum: ["desktop-stop-ended", "desktop-reload-ended"] },
3554
+ event: { enum: [
3555
+ "desktop-stop-ended",
3556
+ "desktop-reload-ended",
3557
+ "desktop-start-ended",
3558
+ "desktop-run-ended",
3559
+ "desktop-build-ended",
3560
+ "desktop-gc-ended",
3561
+ "desktop-worktree-remove-ended",
3562
+ "desktop-worktree-warm-ended",
3563
+ "desktop-machine-access-ended"
3564
+ ] },
2941
3565
  subscription: { type: "string" },
2942
3566
  exitCode: { enum: [0, 1] },
2943
3567
  stdout: { type: "string" },