@scalar/cli 2.1.0 → 2.5.1

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.
Files changed (88) hide show
  1. package/README.md +28 -24
  2. package/chunks/{action-CYP4VDK3.js → action-37EV4UHW.js} +12 -35
  3. package/chunks/{action-MENXFJH3.js → action-4XI7XJR4.js} +9 -9
  4. package/chunks/{action-H5OHT2GV.js → action-5IU77OII.js} +7 -3
  5. package/chunks/{action-STIEAXOE.js → action-B3KKREWQ.js} +16 -5
  6. package/chunks/{action-BYZUBXVB.js → action-CH24QGTE.js} +8 -4
  7. package/chunks/action-F3UX5E3M.js +522 -0
  8. package/chunks/{action-GB6DM53B.js → action-FDB7NEOK.js} +21 -10
  9. package/chunks/action-FIXBOJEW.js +244 -0
  10. package/chunks/{action-DFKHSDFV.js → action-G26LSVZ7.js} +7 -3
  11. package/chunks/{action-Q5UJ32D6.js → action-H3RTILLM.js} +1 -1
  12. package/chunks/{action-GEBRPNRT.js → action-HGBBV353.js} +15 -16
  13. package/chunks/{action-5R5FDF6S.js → action-IUE4IOWO.js} +67 -22
  14. package/chunks/{action-TPBKPHNS.js → action-JZLZ7ZAD.js} +22 -22
  15. package/chunks/action-LA6KVAXQ.js +374 -0
  16. package/chunks/{action-PVDDRIM6.js → action-M7RQKBSB.js} +65 -26
  17. package/chunks/{action-F4Y6Q2VB.js → action-MSLBC2SO.js} +21 -21
  18. package/chunks/{action-BNEGJBUH.js → action-NVSZT2ZD.js} +8 -9
  19. package/chunks/{action-ANU5HGC4.js → action-OGQSTRMX.js} +17 -14
  20. package/chunks/{action-CLSD7O2R.js → action-PAGJ5PWC.js} +10 -10
  21. package/chunks/action-QE2ZQQX7.js +250 -0
  22. package/chunks/{action-HD2T6BFJ.js → action-QPUSPD5M.js} +10 -10
  23. package/chunks/{action-45OGQB2M.js → action-R7IMFHQ5.js} +17 -8
  24. package/chunks/{action-UDZUUJSI.js → action-SH4UUXPL.js} +18 -7
  25. package/chunks/action-SNLCIBQC.js +84 -0
  26. package/chunks/{action-C5VB4ITT.js → action-SQG3JAII.js} +36 -18
  27. package/chunks/action-UZQJNYK4.js +18 -0
  28. package/chunks/{action-HNKM3Q65.js → action-VC4DCVST.js} +17 -14
  29. package/chunks/{action-BMFXENMX.js → action-VTVFY2MP.js} +39 -34
  30. package/chunks/{action-TZ5KGAQT.js → action-WFWYGY7O.js} +17 -14
  31. package/chunks/{action-W5BATF4Q.js → action-XMNX5ZYT.js} +24 -24
  32. package/chunks/{agent-XGLOHXNA.js → agent-HCQRMHQ5.js} +25 -5
  33. package/chunks/asyncapi-QM76O55R.js +105 -0
  34. package/chunks/{build.action-LKOILPA6.js → build.action-P7FCIMYU.js} +22 -22
  35. package/chunks/{chunk-23I5PKZZ.js → chunk-24WAOKGG.js} +32 -5
  36. package/chunks/chunk-3L6DLIXJ.js +25530 -0
  37. package/chunks/chunk-3ZJYGGAA.js +30 -0
  38. package/chunks/{chunk-ZTVWAKNJ.js → chunk-4NHMAG6F.js} +1 -1
  39. package/chunks/{chunk-IX7LJ3AD.js → chunk-4ORL4MST.js} +2 -3
  40. package/chunks/{chunk-OAXFCOJV.js → chunk-4ZDQXWBT.js} +2 -1
  41. package/chunks/{chunk-ASMHW5AY.js → chunk-6ZMT63IV.js} +1 -1
  42. package/chunks/{chunk-P2VH7DOC.js → chunk-7AGLC7WV.js} +6 -6
  43. package/chunks/{chunk-SXYALPYK.js → chunk-AO3F5XWR.js} +498 -60
  44. package/chunks/{chunk-B6QZJWCQ.js → chunk-B2MHTD3R.js} +4 -6
  45. package/chunks/{chunk-4QS7SJTG.js → chunk-CISTON3A.js} +51 -36
  46. package/chunks/chunk-COBPBRQF.js +25 -0
  47. package/chunks/{chunk-2BSG2QHO.js → chunk-F467BYYR.js} +133 -20
  48. package/chunks/{chunk-TLFMATXR.js → chunk-GSGZHE26.js} +33 -25
  49. package/chunks/{chunk-UPUTMFD4.js → chunk-HCPN3KNF.js} +185 -13
  50. package/chunks/{chunk-P646T2WH.js → chunk-HPL3ZZ2P.js} +131 -13
  51. package/chunks/{chunk-H2WRMLYY.js → chunk-IKT5F47M.js} +3571 -7
  52. package/chunks/{chunk-AHWWJ3MD.js → chunk-K4DTP5TV.js} +1 -1
  53. package/chunks/{chunk-TQ5XC2E3.js → chunk-LFU5ZUAP.js} +77 -11
  54. package/chunks/{chunk-5BISXQX4.js → chunk-M37TP6U2.js} +11 -13
  55. package/chunks/chunk-OQKDBLOZ.js +741 -0
  56. package/chunks/chunk-P7H7GY5A.js +14 -0
  57. package/chunks/{chunk-47Y4L5IT.js → chunk-PBXZN65A.js} +1031 -481
  58. package/chunks/{chunk-HQKBZOYU.js → chunk-PT5TI77I.js} +3 -3
  59. package/chunks/chunk-Q7DOQHZN.js +404 -0
  60. package/chunks/{chunk-X4QLDBB5.js → chunk-T5HJUAWB.js} +24 -3
  61. package/chunks/{chunk-NUXPNUSS.js → chunk-UGGNHILG.js} +1 -1
  62. package/chunks/{chunk-4DGQIAJX.js → chunk-VNYE4R7N.js} +154 -14
  63. package/chunks/{chunk-KWOL7A6J.js → chunk-X5T526CE.js} +2 -2
  64. package/chunks/chunk-XCSR4RIT.js +210 -0
  65. package/chunks/{chunk-SHSHFGA7.js → chunk-Z2KMGFE6.js} +4 -6
  66. package/chunks/{create.action-FFQLBSJH.js → create.action-HDD2WUON.js} +22 -22
  67. package/chunks/{delete.action-STHQHP4F.js → delete.action-7GOZY7ID.js} +22 -22
  68. package/chunks/{delete.action-QNN3LC2F.js → delete.action-VE66JFDS.js} +22 -22
  69. package/chunks/{get.action-OTKYOP3Z.js → get.action-2745EB4N.js} +15 -16
  70. package/chunks/{list.action-KDM5RHEH.js → list.action-3VTXQJRA.js} +19 -19
  71. package/chunks/{list.action-6I5EZAVB.js → list.action-4QDCZLSZ.js} +22 -22
  72. package/chunks/{publish.action-PODTVRXS.js → publish.action-ULQLZKWU.js} +44 -36
  73. package/chunks/{update.action-KMD4ZM75.js → update.action-6QEFP7NA.js} +22 -22
  74. package/chunks/{update.action-4F6STTEQ.js → update.action-OROQSP2S.js} +22 -22
  75. package/docs.html +104 -103
  76. package/index.js +84 -68
  77. package/package.json +16 -12
  78. package/chunks/action-CCW66QJN.js +0 -72
  79. package/chunks/action-CQ56FVES.js +0 -65
  80. package/chunks/action-JOSVV6YA.js +0 -71
  81. package/chunks/action-P7LN6FGY.js +0 -13
  82. package/chunks/action-R6ZZO26F.js +0 -299
  83. package/chunks/action-TWFJNQ2R.js +0 -95
  84. package/chunks/chunk-5BPPGTUU.js +0 -463
  85. package/chunks/chunk-DOVIWNKQ.js +0 -108
  86. package/chunks/chunk-ISGLWBXZ.js +0 -4265
  87. package/chunks/chunk-T7MDADON.js +0 -17
  88. package/chunks/chunk-VTYTPSXO.js +0 -161
@@ -5,50 +5,64 @@ import {
5
5
  accessGroupSchema,
6
6
  identityProviderRecordSchema,
7
7
  identityProviders,
8
+ linkedRepositorySchema,
8
9
  loginPortalSchema,
9
10
  managedSchema,
11
+ managedSchemaVersion,
12
+ webhookDeliverySchema,
13
+ webhookSubscriptionSchema,
10
14
  workspaceSchema,
11
15
  workspaceVersionSchema
12
- } from "./chunk-UPUTMFD4.js";
16
+ } from "./chunk-HCPN3KNF.js";
13
17
  import {
14
18
  userSchema
15
- } from "./chunk-B6QZJWCQ.js";
19
+ } from "./chunk-B2MHTD3R.js";
16
20
  import {
17
- managedDocSchema,
18
- managedDocVersionSchema,
19
- ruleSchema
20
- } from "./chunk-4QS7SJTG.js";
21
- import {
22
- registryGitBindingSchema,
23
- registryPublishRecordSchema
24
- } from "./chunk-VTYTPSXO.js";
21
+ sdkSchema
22
+ } from "./chunk-3L6DLIXJ.js";
25
23
  import {
26
24
  generateAccessByPersonalToken,
27
25
  getAuthData,
28
26
  refreshToken
29
- } from "./chunk-5BISXQX4.js";
27
+ } from "./chunk-M37TP6U2.js";
30
28
  import {
31
29
  config
32
- } from "./chunk-OAXFCOJV.js";
30
+ } from "./chunk-4ZDQXWBT.js";
33
31
  import {
32
+ UnifiedDocsMigrationStatus,
33
+ pendingInviteSchema,
34
34
  teamBillingSummary,
35
35
  teamImageSchema,
36
- teamNameSchema
37
- } from "./chunk-4DGQIAJX.js";
36
+ teamNameSchema,
37
+ teamSdkPricing,
38
+ userRefSchema
39
+ } from "./chunk-VNYE4R7N.js";
38
40
  import {
39
41
  docsProjectSchema,
40
42
  githubInstallSchema,
41
43
  githubProjectSchema,
42
- nanoid,
43
- nanoidSchema,
44
44
  projectSchema,
45
- schemaModel,
46
- slugSchema,
47
45
  themeSchema
48
- } from "./chunk-ISGLWBXZ.js";
46
+ } from "./chunk-OQKDBLOZ.js";
49
47
  import {
50
- external_exports
51
- } from "./chunk-H2WRMLYY.js";
48
+ managedDocSchema,
49
+ managedDocVersionSchema,
50
+ ruleSchema
51
+ } from "./chunk-CISTON3A.js";
52
+ import {
53
+ docInstanceSchema,
54
+ docSourceSchema,
55
+ docVersionRecordSchema,
56
+ registryGitBindingSchema,
57
+ registryPublishRecordSchema
58
+ } from "./chunk-Q7DOQHZN.js";
59
+ import {
60
+ external_exports,
61
+ nanoid,
62
+ nanoidSchema,
63
+ schemaModel,
64
+ slugSchema
65
+ } from "./chunk-IKT5F47M.js";
52
66
 
53
67
  // ../../packages/service-api/dist/apis/access-groups.js
54
68
  function accessGroupsApiFactory(requestService) {
@@ -139,7 +153,6 @@ var timeseriesPointSchema = external_exports.object({
139
153
  human: external_exports.number().int().nonnegative(),
140
154
  bot: external_exports.number().int().nonnegative(),
141
155
  llm: external_exports.number().int().nonnegative(),
142
- mcp: external_exports.number().int().nonnegative(),
143
156
  unique: external_exports.number().int().nonnegative()
144
157
  });
145
158
  var overviewResultSchema = external_exports.object({
@@ -172,8 +185,7 @@ var consumersResultSchema = external_exports.object({
172
185
  totals: external_exports.object({
173
186
  human: external_exports.number().int().nonnegative(),
174
187
  bot: external_exports.number().int().nonnegative(),
175
- llm: external_exports.number().int().nonnegative(),
176
- mcp: external_exports.number().int().nonnegative()
188
+ llm: external_exports.number().int().nonnegative()
177
189
  }),
178
190
  timeseries: external_exports.array(timeseriesPointSchema)
179
191
  });
@@ -301,6 +313,69 @@ function loginPortalsApiFactory(requestService) {
301
313
  };
302
314
  }
303
315
 
316
+ // ../../packages/service-api/dist/apis/minify-json.js
317
+ var SPACE = 32;
318
+ var TAB = 9;
319
+ var LINE_FEED = 10;
320
+ var CARRIAGE_RETURN = 13;
321
+ var QUOTE = 34;
322
+ var BACKSLASH = 92;
323
+ function isInsignificantWhitespace(code) {
324
+ return code === SPACE || code === TAB || code === LINE_FEED || code === CARRIAGE_RETURN;
325
+ }
326
+ function minifyJson(json) {
327
+ const kept = [];
328
+ let keptFrom = 0;
329
+ let index = 0;
330
+ let inString = false;
331
+ while (index < json.length) {
332
+ const code = json.charCodeAt(index);
333
+ if (inString) {
334
+ if (code === BACKSLASH)
335
+ index++;
336
+ else if (code === QUOTE)
337
+ inString = false;
338
+ index++;
339
+ continue;
340
+ }
341
+ if (code === QUOTE) {
342
+ inString = true;
343
+ index++;
344
+ continue;
345
+ }
346
+ if (isInsignificantWhitespace(code)) {
347
+ kept.push(json.slice(keptFrom, index));
348
+ do
349
+ index++;
350
+ while (index < json.length && isInsignificantWhitespace(json.charCodeAt(index)));
351
+ keptFrom = index;
352
+ continue;
353
+ }
354
+ index++;
355
+ }
356
+ if (keptFrom === 0)
357
+ return json;
358
+ kept.push(json.slice(keptFrom));
359
+ return kept.join("");
360
+ }
361
+
362
+ // ../../packages/service-api/dist/apis/compact-publish-body.js
363
+ var PUBLISH_BODY_LIMIT_BYTES = 2e7;
364
+ function encodedBytes(value) {
365
+ return new TextEncoder().encode(value).length;
366
+ }
367
+ function compactPublishBody(body) {
368
+ try {
369
+ if (encodedBytes(JSON.stringify(body)) <= PUBLISH_BODY_LIMIT_BYTES)
370
+ return { body, minified: false };
371
+ JSON.parse(body.document);
372
+ const document2 = minifyJson(body.document);
373
+ return document2.length < body.document.length ? { body: { ...body, document: document2 }, minified: true } : { body, minified: false };
374
+ } catch {
375
+ return { body, minified: false };
376
+ }
377
+ }
378
+
304
379
  // ../../packages/service-api/dist/apis/managed-docs.js
305
380
  function managedDocsApiFactory(requestService) {
306
381
  async function get(namespace, slug, semver, options) {
@@ -330,9 +405,8 @@ function managedDocsApiFactory(requestService) {
330
405
  description: true,
331
406
  namespace: true,
332
407
  isPrivate: true,
333
- tags: true,
334
- versions: true
335
- }).array()
408
+ tags: true
409
+ }).extend({ versions: managedDocVersionSchema.array() }).array()
336
410
  });
337
411
  }
338
412
  async function getApiDoc(namespace, slug) {
@@ -347,9 +421,8 @@ function managedDocsApiFactory(requestService) {
347
421
  description: true,
348
422
  namespace: true,
349
423
  isPrivate: true,
350
- tags: true,
351
- versions: true
352
- })
424
+ tags: true
425
+ }).extend({ versions: managedDocVersionSchema.array() })
353
426
  });
354
427
  }
355
428
  async function listApiDocs() {
@@ -364,23 +437,24 @@ function managedDocsApiFactory(requestService) {
364
437
  description: true,
365
438
  namespace: true,
366
439
  isPrivate: true,
367
- tags: true,
368
- versions: true
369
- }).array()
440
+ tags: true
441
+ }).extend({ versions: managedDocVersionSchema.array() }).array()
370
442
  });
371
443
  }
372
- async function create(namespace, data) {
444
+ async function create(namespace, data, options) {
445
+ const { body, minified } = compactPublishBody(data);
446
+ if (minified)
447
+ options?.onCompacted?.();
373
448
  return await requestService.request({
374
449
  url: `core/managed-doc/${namespace}`,
375
450
  method: "post",
376
- data,
451
+ data: body,
377
452
  schema: external_exports.object({
378
453
  uid: external_exports.string(),
379
454
  versionUid: external_exports.string(),
380
455
  title: external_exports.string(),
381
456
  jsonSha: external_exports.string(),
382
- yamlSha: external_exports.string(),
383
- versionSha: external_exports.string()
457
+ yamlSha: external_exports.string()
384
458
  })
385
459
  });
386
460
  }
@@ -392,23 +466,28 @@ function managedDocsApiFactory(requestService) {
392
466
  schema: external_exports.null()
393
467
  });
394
468
  }
395
- async function addVersion(namespace, slug, data) {
469
+ async function addVersion(namespace, slug, data, options) {
470
+ const { body, minified } = compactPublishBody(data);
471
+ if (minified)
472
+ options?.onCompacted?.();
396
473
  return await requestService.request({
397
474
  url: `core/managed-doc/${namespace}/${slug}/version`,
398
475
  method: "post",
399
- data,
476
+ data: body,
400
477
  schema: managedDocVersionSchema
401
478
  });
402
479
  }
403
- async function updateVersion(namespace, slug, semver, data) {
480
+ async function updateVersion(namespace, slug, semver, data, options) {
481
+ const { body, minified } = compactPublishBody(data);
482
+ if (minified)
483
+ options?.onCompacted?.();
404
484
  return await requestService.request({
405
485
  url: `core/managed-doc/${namespace}/${slug}/version/${semver}`,
406
486
  method: "patch",
407
- data,
487
+ data: body,
408
488
  schema: external_exports.object({
409
489
  jsonSha: external_exports.string(),
410
- yamlSha: external_exports.string(),
411
- versionSha: external_exports.string()
490
+ yamlSha: external_exports.string()
412
491
  })
413
492
  });
414
493
  }
@@ -510,9 +589,8 @@ function managedSchemasApiFactory(requestService) {
510
589
  description: true,
511
590
  slug: true,
512
591
  namespace: true,
513
- isPrivate: true,
514
- versions: true
515
- }).array()
592
+ isPrivate: true
593
+ }).extend({ versions: managedSchemaVersion.array() }).array()
516
594
  });
517
595
  }
518
596
  async function create(namespace, data) {
@@ -550,7 +628,9 @@ function managedSchemasApiFactory(requestService) {
550
628
  url: `core/schemas/${namespace}/${slug}/version`,
551
629
  method: "post",
552
630
  data,
553
- schema: external_exports.object({ uid: external_exports.string() })
631
+ schema: external_exports.object({
632
+ uid: external_exports.string()
633
+ })
554
634
  });
555
635
  }
556
636
  async function duplicateVersion(namespace, slug, version, data) {
@@ -566,7 +646,7 @@ function managedSchemasApiFactory(requestService) {
566
646
  url: `core/schemas/${namespace}/${slug}/version/${version}`,
567
647
  method: "post",
568
648
  data,
569
- schema: external_exports.null()
649
+ schema: external_exports.object({ jsonSha: external_exports.string() })
570
650
  });
571
651
  }
572
652
  async function deleteVersion(namespace, slug, version) {
@@ -680,7 +760,7 @@ function registryGitApiFactory(requestService) {
680
760
  url: `${base(asset, namespace, slug)}/config`,
681
761
  method: "patch",
682
762
  data,
683
- schema: registryGitBindingSchema
763
+ schema: external_exports.object({ source: docSourceSchema })
684
764
  });
685
765
  }
686
766
  async function linkExternal(asset, namespace, slug, data) {
@@ -689,7 +769,8 @@ function registryGitApiFactory(requestService) {
689
769
  method: "post",
690
770
  data,
691
771
  schema: external_exports.object({
692
- git: registryGitBindingSchema,
772
+ repository: linkedRepositorySchema,
773
+ source: docSourceSchema,
693
774
  pullRequest: external_exports.object({
694
775
  url: external_exports.string(),
695
776
  number: external_exports.number(),
@@ -703,13 +784,72 @@ function registryGitApiFactory(requestService) {
703
784
  url: `${base(asset, namespace, slug)}/unlink-external`,
704
785
  method: "post",
705
786
  data: {},
706
- schema: registryGitBindingSchema
787
+ schema: external_exports.object({ source: docSourceSchema })
788
+ });
789
+ }
790
+ async function proposeEdit(asset, namespace, slug, data) {
791
+ return await requestService.request({
792
+ url: `core/registry-git/${asset}/${namespace}/${slug}/propose`,
793
+ method: "post",
794
+ data,
795
+ schema: external_exports.object({
796
+ prNumber: external_exports.number(),
797
+ prUrl: external_exports.string(),
798
+ branch: external_exports.string()
799
+ })
800
+ });
801
+ }
802
+ async function getSource(asset, namespace, slug, opts) {
803
+ const qs = opts?.branch ? `?branch=${encodeURIComponent(opts.branch)}` : "";
804
+ return await requestService.request({
805
+ url: `${base(asset, namespace, slug)}/source${qs}`,
806
+ method: "get",
807
+ schema: external_exports.object({
808
+ source: docSourceSchema.nullable(),
809
+ repository: linkedRepositorySchema.nullable(),
810
+ openProposal: external_exports.object({ prNumber: external_exports.number(), branch: external_exports.string() }).nullable()
811
+ })
812
+ });
813
+ }
814
+ async function listBranches(asset, namespace, slug) {
815
+ return await requestService.request({
816
+ url: `${base(asset, namespace, slug)}/branches`,
817
+ method: "get",
818
+ schema: external_exports.object({
819
+ branches: external_exports.object({ name: external_exports.string(), sha: external_exports.string() }).array(),
820
+ trackedBranch: external_exports.string()
821
+ })
822
+ });
823
+ }
824
+ async function createBranch(asset, namespace, slug, data) {
825
+ return await requestService.request({
826
+ url: `${base(asset, namespace, slug)}/branches`,
827
+ method: "post",
828
+ data,
829
+ schema: external_exports.object({ name: external_exports.string(), sha: external_exports.string() })
830
+ });
831
+ }
832
+ async function getFile(asset, namespace, slug, opts) {
833
+ const qs = opts?.ref ? `?ref=${encodeURIComponent(opts.ref)}` : "";
834
+ return await requestService.request({
835
+ url: `${base(asset, namespace, slug)}/file${qs}`,
836
+ method: "get",
837
+ schema: external_exports.object({
838
+ content: external_exports.string(),
839
+ sha: external_exports.string(),
840
+ ref: external_exports.string()
841
+ })
707
842
  });
708
843
  }
709
844
  return {
845
+ proposeEdit,
710
846
  provision,
711
847
  getHistory,
712
848
  getPublishLog,
849
+ getSource,
850
+ getFile,
851
+ listBranches,
852
+ createBranch,
713
853
  publish,
714
854
  updateConfig,
715
855
  linkExternal,
@@ -717,6 +857,73 @@ function registryGitApiFactory(requestService) {
717
857
  };
718
858
  }
719
859
 
860
+ // ../../packages/service-api/dist/apis/registry-instances.js
861
+ var registryVersionRecordSchema = docVersionRecordSchema.extend({
862
+ /** The content the label serves; null while it has no serving history (no instances, or only drafts). */
863
+ jsonSha: external_exports.string().nullable(),
864
+ yamlSha: external_exports.string().nullable()
865
+ });
866
+ function registryInstancesApiFactory(requestService) {
867
+ const base = (asset, namespace, slug) => `core/registry/${asset}/${namespace}/${slug}`;
868
+ async function listInstances(asset, namespace, slug, opts) {
869
+ const query = new URLSearchParams();
870
+ if (opts?.version)
871
+ query.set("version", opts.version);
872
+ if (opts?.page != null)
873
+ query.set("page", String(opts.page));
874
+ if (opts?.perPage != null)
875
+ query.set("perPage", String(opts.perPage));
876
+ const qs = query.toString();
877
+ return await requestService.request({
878
+ url: `${base(asset, namespace, slug)}/instances${qs ? `?${qs}` : ""}`,
879
+ method: "get",
880
+ schema: external_exports.object({
881
+ instances: docInstanceSchema.array(),
882
+ tracked: external_exports.boolean()
883
+ })
884
+ });
885
+ }
886
+ async function listVersions(asset, namespace, slug) {
887
+ return await requestService.request({
888
+ url: `${base(asset, namespace, slug)}/versions`,
889
+ method: "get",
890
+ schema: external_exports.object({ versions: registryVersionRecordSchema.array() })
891
+ });
892
+ }
893
+ async function getInstanceContent(asset, namespace, slug, jsonSha, opts) {
894
+ const query = new URLSearchParams();
895
+ if (opts?.format)
896
+ query.set("format", opts.format);
897
+ const qs = query.toString();
898
+ return await requestService.request({
899
+ url: `${base(asset, namespace, slug)}/instances/${jsonSha}/content${qs ? `?${qs}` : ""}`,
900
+ method: "get",
901
+ schema: external_exports.object({
902
+ content: external_exports.string(),
903
+ format: external_exports.enum(["json", "yaml"]),
904
+ jsonSha: external_exports.string()
905
+ })
906
+ });
907
+ }
908
+ async function setActiveInstance(asset, namespace, slug, version, instanceUid) {
909
+ return await requestService.request({
910
+ url: `${base(asset, namespace, slug)}/versions/${encodeURIComponent(version)}/active`,
911
+ method: "post",
912
+ data: { instanceUid },
913
+ schema: external_exports.object({
914
+ jsonSha: external_exports.string(),
915
+ changed: external_exports.boolean()
916
+ })
917
+ });
918
+ }
919
+ return {
920
+ listInstances,
921
+ listVersions,
922
+ getInstanceContent,
923
+ setActiveInstance
924
+ };
925
+ }
926
+
720
927
  // ../../packages/service-api/dist/apis/rules.js
721
928
  function rulesApiFactory(requestService) {
722
929
  async function get(namespace, slug) {
@@ -816,6 +1023,27 @@ function rulesApiFactory(requestService) {
816
1023
 
817
1024
  // ../../packages/service-api/dist/apis/sdks.js
818
1025
  function sdksApiFactory(requestService) {
1026
+ async function list(params) {
1027
+ const query = new URLSearchParams();
1028
+ if (params?.limit !== void 0)
1029
+ query.set("limit", String(params.limit));
1030
+ const suffix = query.size ? `?${query.toString()}` : "";
1031
+ return await requestService.request({
1032
+ url: `core/v1/sdks${suffix}`,
1033
+ method: "get",
1034
+ schema: external_exports.object({
1035
+ data: sdkSchema.array(),
1036
+ hasMore: external_exports.boolean()
1037
+ })
1038
+ });
1039
+ }
1040
+ async function get(uid) {
1041
+ return await requestService.request({
1042
+ url: `core/v1/sdks/${uid}`,
1043
+ method: "get",
1044
+ schema: sdkSchema
1045
+ });
1046
+ }
819
1047
  async function create(data) {
820
1048
  return await requestService.request({
821
1049
  url: "core/v1/sdks",
@@ -841,11 +1069,13 @@ function sdksApiFactory(requestService) {
841
1069
  });
842
1070
  }
843
1071
  async function previewCodeSamples(data) {
1072
+ const { signal, ...body } = data;
844
1073
  return await requestService.request({
845
1074
  url: "sdk-generator/preview",
846
1075
  method: "post",
847
- data,
848
- schema: external_exports.unknown()
1076
+ data: body,
1077
+ schema: external_exports.unknown(),
1078
+ signal
849
1079
  });
850
1080
  }
851
1081
  async function resolveConfig(data) {
@@ -898,6 +1128,18 @@ function sdksApiFactory(requestService) {
898
1128
  })
899
1129
  });
900
1130
  }
1131
+ async function checkRegistryAvailability(data) {
1132
+ return await requestService.request({
1133
+ url: "core/v1/sdks/registry/availability",
1134
+ method: "post",
1135
+ data,
1136
+ schema: external_exports.object({
1137
+ /** The registry that was asked, or `null` when the language has none. */
1138
+ registry: external_exports.string().nullable(),
1139
+ status: external_exports.enum(["available", "taken", "unsupported", "invalid"])
1140
+ })
1141
+ });
1142
+ }
901
1143
  async function addAccessGroup(uid, data) {
902
1144
  return await requestService.request({
903
1145
  url: `core/v1/sdks/${uid}/access-group`,
@@ -931,10 +1173,14 @@ function sdksApiFactory(requestService) {
931
1173
  return await requestService.request({
932
1174
  url: `core/v1/sdks/${data.uid}/sample/access`,
933
1175
  method: "post",
1176
+ data: { language: data.language },
934
1177
  schema: external_exports.object({
935
1178
  repositories: external_exports.object({
1179
+ /** Where the repo lives in the server's org, not on the binding. */
936
1180
  repository: external_exports.string(),
937
- invitationUrl: external_exports.string().nullable()
1181
+ invitationUrl: external_exports.string().nullable(),
1182
+ /** Why GitHub refused. Only `missing` can be repaired by a retry. */
1183
+ failure: external_exports.enum(["missing", "forbidden", "unavailable"]).optional()
938
1184
  }).array()
939
1185
  })
940
1186
  });
@@ -943,6 +1189,7 @@ function sdksApiFactory(requestService) {
943
1189
  return await requestService.request({
944
1190
  url: `core/v1/sdks/${data.uid}/sample/retry`,
945
1191
  method: "post",
1192
+ data: { language: data.language },
946
1193
  schema: external_exports.null()
947
1194
  });
948
1195
  };
@@ -1000,6 +1247,8 @@ function sdksApiFactory(requestService) {
1000
1247
  });
1001
1248
  }
1002
1249
  return {
1250
+ list,
1251
+ get,
1003
1252
  create,
1004
1253
  createVersion,
1005
1254
  previewCodeSamples,
@@ -1010,6 +1259,7 @@ function sdksApiFactory(requestService) {
1010
1259
  discardDraft,
1011
1260
  deleteVersion,
1012
1261
  available,
1262
+ checkRegistryAvailability,
1013
1263
  addAccessGroup,
1014
1264
  removeAccessGroup,
1015
1265
  getReleasePr,
@@ -1125,6 +1375,84 @@ function waitlistApiFactory(requestService) {
1125
1375
  };
1126
1376
  }
1127
1377
 
1378
+ // ../../packages/service-api/dist/apis/webhooks.js
1379
+ var subscriptionSchema = webhookSubscriptionSchema.omit({ teamUid: true });
1380
+ var deliverySchema = webhookDeliverySchema.omit({ teamUid: true });
1381
+ var webhooksApiFactory = (requestService) => {
1382
+ const create = async (data) => {
1383
+ return await requestService.request({
1384
+ url: "core/v1/webhooks",
1385
+ method: "post",
1386
+ data,
1387
+ schema: subscriptionSchema.extend({ secret: external_exports.string() })
1388
+ });
1389
+ };
1390
+ const update = async (uid, data) => {
1391
+ return await requestService.request({
1392
+ url: `core/v1/webhooks/${uid}`,
1393
+ method: "patch",
1394
+ data,
1395
+ schema: subscriptionSchema
1396
+ });
1397
+ };
1398
+ const rotateSecret = async (uid, data) => {
1399
+ return await requestService.request({
1400
+ url: `core/v1/webhooks/${uid}/secret`,
1401
+ method: "post",
1402
+ data: data ?? {},
1403
+ schema: external_exports.object({
1404
+ secret: external_exports.string(),
1405
+ /**
1406
+ * When the replaced secret stops signing, or null when it already has.
1407
+ * A routine roll leaves the old key valid for a grace window so the
1408
+ * receiver can be updated without dropping deliveries.
1409
+ */
1410
+ previousSecretExpiresAt: external_exports.number().nullable()
1411
+ })
1412
+ });
1413
+ };
1414
+ const del = async (uid) => {
1415
+ return await requestService.request({
1416
+ url: `core/v1/webhooks/${uid}`,
1417
+ method: "delete",
1418
+ schema: external_exports.null()
1419
+ });
1420
+ };
1421
+ const deliveries = async (uid) => {
1422
+ return await requestService.request({
1423
+ url: `core/v1/webhooks/${uid}/deliveries`,
1424
+ method: "get",
1425
+ schema: deliverySchema.array()
1426
+ });
1427
+ };
1428
+ const deliveryCounts = async () => {
1429
+ return await requestService.request({
1430
+ url: "core/v1/webhooks/delivery-counts",
1431
+ method: "get",
1432
+ schema: external_exports.object({
1433
+ subscriptionUid: webhookSubscriptionSchema.shape.uid,
1434
+ count: external_exports.number()
1435
+ }).array()
1436
+ });
1437
+ };
1438
+ const test = async (uid) => {
1439
+ return await requestService.request({
1440
+ url: `core/v1/webhooks/${uid}/test`,
1441
+ method: "post",
1442
+ schema: external_exports.object({ scheduled: external_exports.number() })
1443
+ });
1444
+ };
1445
+ return {
1446
+ create,
1447
+ update,
1448
+ delete: del,
1449
+ rotateSecret,
1450
+ deliveries,
1451
+ deliveryCounts,
1452
+ test
1453
+ };
1454
+ };
1455
+
1128
1456
  // ../../packages/service-api/dist/apis/workspace.js
1129
1457
  function workspaceApiFactory(requestService) {
1130
1458
  async function createWorkspace(namespace, data) {
@@ -1217,6 +1545,18 @@ function formatApiError(message, status, error = null, code, body) {
1217
1545
  body
1218
1546
  };
1219
1547
  }
1548
+ var UNDICI_TIMEOUT_ERRORS = /* @__PURE__ */ new Set([
1549
+ "HeadersTimeoutError",
1550
+ "BodyTimeoutError"
1551
+ ]);
1552
+ function isDeadlineError(err) {
1553
+ if (err.name === "TimeoutError")
1554
+ return true;
1555
+ const cause = err.cause;
1556
+ if (!(cause instanceof Error))
1557
+ return false;
1558
+ return cause.name === "TimeoutError" || UNDICI_TIMEOUT_ERRORS.has(cause.name);
1559
+ }
1220
1560
  function requestServiceFactory(baseUrl, getAuthToken, logger = console) {
1221
1561
  async function request({ disableAuth = false, url: requestUrl, schema, data, stream, ...config2 }) {
1222
1562
  const headers = {};
@@ -1237,7 +1577,7 @@ function requestServiceFactory(baseUrl, getAuthToken, logger = console) {
1237
1577
  logger.warn("WARNING: Auth token function returned an empty value");
1238
1578
  }
1239
1579
  }
1240
- const url = (requestUrl.includes("http") ? requestUrl : `${baseUrl}/${requestUrl}`).replace(/([^:]\/)\/+/g, "$1");
1580
+ const url = (/^https?:\/\//i.test(requestUrl) ? requestUrl : `${baseUrl}/${requestUrl}`).replace(/([^:]\/)\/+/g, "$1");
1241
1581
  const method = config2.method === "patch" ? "PATCH" : config2.method;
1242
1582
  return fetch(url, {
1243
1583
  ...config2,
@@ -1271,6 +1611,17 @@ function requestServiceFactory(baseUrl, getAuthToken, logger = console) {
1271
1611
  return formatApiError(`Invalid response data from endpoint: ${url}`, 500);
1272
1612
  }
1273
1613
  }).catch((err) => {
1614
+ if (err instanceof Error && err.name === "AbortError") {
1615
+ return formatApiError("Request aborted", 499, err, "request-aborted");
1616
+ }
1617
+ if (err instanceof Error && isDeadlineError(err)) {
1618
+ if (config2.signal?.aborted) {
1619
+ return formatApiError("Request aborted", 499, err, "request-aborted");
1620
+ }
1621
+ logger.error(err);
1622
+ logger.error(`Request to ${url} timed out`);
1623
+ return formatApiError("Request timed out", 504, err, "request-timeout");
1624
+ }
1274
1625
  logger.error(err);
1275
1626
  return formatApiError("Unknown Error", 500);
1276
1627
  });
@@ -1504,6 +1855,20 @@ function bitbucketApiFactory(requestService) {
1504
1855
 
1505
1856
  // ../../packages/service-api/dist/apis/docs-project.js
1506
1857
  function docsProjectApiFactory(requestService) {
1858
+ async function listProjects(params) {
1859
+ const query = new URLSearchParams();
1860
+ if (params?.limit !== void 0)
1861
+ query.set("limit", String(params.limit));
1862
+ const suffix = query.size ? `?${query.toString()}` : "";
1863
+ return await requestService.request({
1864
+ url: `core/docs-projects${suffix}`,
1865
+ method: "get",
1866
+ schema: external_exports.object({
1867
+ data: docsProjectSchema.array(),
1868
+ hasMore: external_exports.boolean()
1869
+ })
1870
+ });
1871
+ }
1507
1872
  async function createProject(data) {
1508
1873
  return await requestService.request({
1509
1874
  url: "core/docs-projects/create",
@@ -1527,6 +1892,33 @@ function docsProjectApiFactory(requestService) {
1527
1892
  schema: docsProjectSchema
1528
1893
  });
1529
1894
  }
1895
+ async function getConfig(projectUid, opts) {
1896
+ const qs = opts?.ref ? `?ref=${encodeURIComponent(opts.ref)}` : "";
1897
+ return await requestService.request({
1898
+ url: `core/docs-projects/${projectUid}/config${qs}`,
1899
+ method: "get",
1900
+ schema: external_exports.object({
1901
+ path: external_exports.string(),
1902
+ content: external_exports.string(),
1903
+ ref: external_exports.string(),
1904
+ /** Compare-and-swap handle for a later write; empty when unsupported. */
1905
+ baseToken: external_exports.string()
1906
+ })
1907
+ });
1908
+ }
1909
+ async function putConfig(projectUid, data) {
1910
+ return await requestService.request({
1911
+ url: `core/docs-projects/${projectUid}/config`,
1912
+ method: "put",
1913
+ data,
1914
+ schema: external_exports.object({
1915
+ commitSha: external_exports.string().nullable(),
1916
+ ref: external_exports.string(),
1917
+ /** Base for the next write; empty when the provider offers none. */
1918
+ baseToken: external_exports.string()
1919
+ })
1920
+ });
1921
+ }
1530
1922
  async function getGitCredentials() {
1531
1923
  return await requestService.request({
1532
1924
  url: "core/forgejo/git-credentials",
@@ -1552,11 +1944,12 @@ function docsProjectApiFactory(requestService) {
1552
1944
  method: "post",
1553
1945
  data: { installationId: data.installationId, repoId: data.repoId },
1554
1946
  schema: external_exports.object({
1947
+ /** Null when the repo had no commits and the docs went straight onto it. */
1555
1948
  pullRequest: external_exports.object({
1556
1949
  url: external_exports.string(),
1557
1950
  number: external_exports.number().int(),
1558
1951
  branch: external_exports.string()
1559
- }),
1952
+ }).nullable(),
1560
1953
  project: docsProjectSchema
1561
1954
  })
1562
1955
  });
@@ -1593,6 +1986,14 @@ function docsProjectApiFactory(requestService) {
1593
1986
  schema: external_exports.object({ project: docsProjectSchema })
1594
1987
  });
1595
1988
  }
1989
+ async function switchRepository(data) {
1990
+ return await requestService.request({
1991
+ url: `core/docs-projects/${data.projectUid}/switch-repository`,
1992
+ method: "post",
1993
+ data: { target: data.target },
1994
+ schema: external_exports.object({ project: docsProjectSchema })
1995
+ });
1996
+ }
1596
1997
  async function refreshBitbucketWebhook(projectUid) {
1597
1998
  return await requestService.request({
1598
1999
  url: `core/docs-projects/${projectUid}/bitbucket/refresh-webhook`,
@@ -1601,16 +2002,20 @@ function docsProjectApiFactory(requestService) {
1601
2002
  });
1602
2003
  }
1603
2004
  return {
2005
+ listProjects,
1604
2006
  createProject,
1605
2007
  deleteProject,
1606
2008
  getProject,
2009
+ getConfig,
2010
+ putConfig,
1607
2011
  getGitCredentials,
1608
2012
  updateRepoSettings,
1609
2013
  linkGithub,
1610
2014
  unlinkGithub,
1611
2015
  linkBitbucket,
1612
2016
  unlinkBitbucket,
1613
- refreshBitbucketWebhook
2017
+ refreshBitbucketWebhook,
2018
+ switchRepository
1614
2019
  };
1615
2020
  }
1616
2021
 
@@ -2078,7 +2483,7 @@ function publishApiFactory(requestService) {
2078
2483
  schema: external_exports.object({ publishUid: nanoidSchema })
2079
2484
  });
2080
2485
  }
2081
- async function publishDocsProject({ slug, configPath, preview, commitSha }) {
2486
+ async function publishDocsProject({ slug, configPath, preview, pullRequestComments, commitSha }) {
2082
2487
  return await requestService.request({
2083
2488
  url: "publish-deploy/publish/docs-project",
2084
2489
  method: "post",
@@ -2086,6 +2491,7 @@ function publishApiFactory(requestService) {
2086
2491
  slug,
2087
2492
  configPath,
2088
2493
  preview,
2494
+ pullRequestComments,
2089
2495
  commitSha
2090
2496
  },
2091
2497
  schema: external_exports.object({ publishUid: nanoidSchema })
@@ -2341,6 +2747,16 @@ function teamApiFactory(requestService, getNewTokens) {
2341
2747
  return r;
2342
2748
  });
2343
2749
  }
2750
+ async function getMembers() {
2751
+ return await requestService.request({
2752
+ url: "core/team/members",
2753
+ method: "get",
2754
+ schema: external_exports.object({
2755
+ members: userRefSchema.array(),
2756
+ pendingInvites: pendingInviteSchema.array()
2757
+ })
2758
+ });
2759
+ }
2344
2760
  async function inviteMember(data) {
2345
2761
  return await requestService.request({
2346
2762
  url: "core/team/invite",
@@ -2424,6 +2840,16 @@ function teamApiFactory(requestService, getNewTokens) {
2424
2840
  schema: external_exports.null()
2425
2841
  });
2426
2842
  }
2843
+ async function requestUnifiedDocsMigration() {
2844
+ return await requestService.request({
2845
+ url: "core/team/request-unified-docs-migration",
2846
+ method: "post",
2847
+ data: {},
2848
+ schema: external_exports.object({
2849
+ status: external_exports.enum(UnifiedDocsMigrationStatus)
2850
+ })
2851
+ });
2852
+ }
2427
2853
  async function leave() {
2428
2854
  return await requestService.request({
2429
2855
  url: "core/team/leave",
@@ -2500,6 +2926,13 @@ function teamApiFactory(requestService, getNewTokens) {
2500
2926
  schema: teamBillingSummary
2501
2927
  });
2502
2928
  }
2929
+ async function getSdkPricing() {
2930
+ return await requestService.request({
2931
+ url: "core/team/sdk-pricing",
2932
+ method: "get",
2933
+ schema: teamSdkPricing
2934
+ });
2935
+ }
2503
2936
  async function updateBillingPlan(billingPlan) {
2504
2937
  return await requestService.request({
2505
2938
  url: "core/team/update/plan",
@@ -2619,14 +3052,17 @@ function teamApiFactory(requestService, getNewTokens) {
2619
3052
  return {
2620
3053
  list,
2621
3054
  create,
3055
+ getMembers,
2622
3056
  inviteMember,
2623
3057
  removeInvite,
2624
3058
  resendInvite,
2625
3059
  rename,
3060
+ requestUnifiedDocsMigration,
2626
3061
  leave,
2627
3062
  removeMember,
2628
3063
  delete: deleteTeam,
2629
3064
  getBillingSummary,
3065
+ getSdkPricing,
2630
3066
  updateBillingEmail,
2631
3067
  updateBillingPlan,
2632
3068
  extendTrial,
@@ -2675,8 +3111,10 @@ var apiServiceFactory = (baseUrl, getAuthToken, getNewTokens) => {
2675
3111
  managedSchemas: managedSchemasApiFactory(requestService),
2676
3112
  rules: rulesApiFactory(requestService),
2677
3113
  registryGit: registryGitApiFactory(requestService),
3114
+ registryInstances: registryInstancesApiFactory(requestService),
2678
3115
  themes: themesApiFactory(requestService),
2679
3116
  accessGroups: accessGroupsApiFactory(requestService),
3117
+ webhooks: webhooksApiFactory(requestService),
2680
3118
  loginPortals: loginPortalsApiFactory(requestService),
2681
3119
  sdks: sdksApiFactory(requestService),
2682
3120
  waitlist: waitlistApiFactory(requestService),
@@ -2686,8 +3124,8 @@ var apiServiceFactory = (baseUrl, getAuthToken, getNewTokens) => {
2686
3124
  };
2687
3125
 
2688
3126
  // src/helpers/api-service.ts
2689
- var apiService = async () => {
2690
- const auth = await getAuthData();
3127
+ var apiService = async (opts) => {
3128
+ const auth = await getAuthData(opts);
2691
3129
  auth.addEventListener((state) => Object.assign(auth, state));
2692
3130
  return apiServiceFactory(
2693
3131
  config.services.api,