@scalar/cli 2.0.1 → 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 (83) hide show
  1. package/README.md +68 -24
  2. package/chunks/action-37EV4UHW.js +125 -0
  3. package/chunks/action-4XI7XJR4.js +204 -0
  4. package/chunks/action-5IU77OII.js +60 -0
  5. package/chunks/action-B3KKREWQ.js +64 -0
  6. package/chunks/action-CH24QGTE.js +86 -0
  7. package/chunks/action-F3UX5E3M.js +522 -0
  8. package/chunks/action-FDB7NEOK.js +81 -0
  9. package/chunks/action-FIXBOJEW.js +244 -0
  10. package/chunks/action-G26LSVZ7.js +40 -0
  11. package/chunks/action-H3RTILLM.js +46 -0
  12. package/chunks/action-HGBBV353.js +86 -0
  13. package/chunks/action-IUE4IOWO.js +2142 -0
  14. package/chunks/action-JZLZ7ZAD.js +110 -0
  15. package/chunks/action-LA6KVAXQ.js +374 -0
  16. package/chunks/action-M7RQKBSB.js +169 -0
  17. package/chunks/action-MSLBC2SO.js +92 -0
  18. package/chunks/action-NVSZT2ZD.js +37 -0
  19. package/chunks/action-OGQSTRMX.js +37 -0
  20. package/chunks/action-PAGJ5PWC.js +60 -0
  21. package/chunks/action-QE2ZQQX7.js +250 -0
  22. package/chunks/action-QPUSPD5M.js +54 -0
  23. package/chunks/action-R7IMFHQ5.js +147 -0
  24. package/chunks/action-SH4UUXPL.js +60 -0
  25. package/chunks/action-SNLCIBQC.js +84 -0
  26. package/chunks/action-SQG3JAII.js +150 -0
  27. package/chunks/action-UZQJNYK4.js +18 -0
  28. package/chunks/action-VC4DCVST.js +68 -0
  29. package/chunks/action-VTVFY2MP.js +181 -0
  30. package/chunks/action-WFWYGY7O.js +67 -0
  31. package/chunks/action-XMNX5ZYT.js +197 -0
  32. package/chunks/agent-HCQRMHQ5.js +132 -0
  33. package/chunks/asyncapi-QM76O55R.js +105 -0
  34. package/chunks/build.action-P7FCIMYU.js +108 -0
  35. package/chunks/chunk-24WAOKGG.js +105 -0
  36. package/chunks/chunk-3L6DLIXJ.js +25530 -0
  37. package/chunks/chunk-3MZYUBJ6.js +49 -0
  38. package/chunks/chunk-3ZJYGGAA.js +30 -0
  39. package/chunks/chunk-4NHMAG6F.js +21 -0
  40. package/chunks/chunk-4ORL4MST.js +16 -0
  41. package/chunks/chunk-4ZDQXWBT.js +26 -0
  42. package/chunks/chunk-6ZMT63IV.js +19 -0
  43. package/chunks/chunk-7AGLC7WV.js +107 -0
  44. package/chunks/chunk-AEFPCC4U.js +16 -0
  45. package/chunks/chunk-AO3F5XWR.js +3147 -0
  46. package/chunks/chunk-B2MHTD3R.js +90 -0
  47. package/chunks/chunk-CISTON3A.js +153 -0
  48. package/chunks/chunk-COBPBRQF.js +25 -0
  49. package/chunks/chunk-F467BYYR.js +568 -0
  50. package/chunks/chunk-GSGZHE26.js +352 -0
  51. package/chunks/chunk-HCPN3KNF.js +637 -0
  52. package/chunks/chunk-HPL3ZZ2P.js +1726 -0
  53. package/chunks/chunk-IKT5F47M.js +17344 -0
  54. package/chunks/chunk-JFIXNSPP.js +26 -0
  55. package/chunks/chunk-K4DTP5TV.js +32 -0
  56. package/chunks/chunk-K74E42RV.js +7311 -0
  57. package/chunks/chunk-KHDYYVYF.js +16 -0
  58. package/chunks/chunk-LFU5ZUAP.js +350 -0
  59. package/chunks/chunk-M37TP6U2.js +445 -0
  60. package/chunks/chunk-OQKDBLOZ.js +741 -0
  61. package/chunks/chunk-P7H7GY5A.js +14 -0
  62. package/chunks/chunk-PBXZN65A.js +63911 -0
  63. package/chunks/chunk-PT5TI77I.js +34 -0
  64. package/chunks/chunk-Q7DOQHZN.js +404 -0
  65. package/chunks/chunk-T5HJUAWB.js +242 -0
  66. package/chunks/chunk-T7B6WNZC.js +18 -0
  67. package/chunks/chunk-UGGNHILG.js +38 -0
  68. package/chunks/chunk-VNYE4R7N.js +499 -0
  69. package/chunks/chunk-X5T526CE.js +23 -0
  70. package/chunks/chunk-XCSR4RIT.js +210 -0
  71. package/chunks/chunk-Z2KMGFE6.js +295 -0
  72. package/chunks/create.action-HDD2WUON.js +108 -0
  73. package/chunks/delete.action-7GOZY7ID.js +88 -0
  74. package/chunks/delete.action-VE66JFDS.js +96 -0
  75. package/chunks/get.action-2745EB4N.js +86 -0
  76. package/chunks/list.action-3VTXQJRA.js +116 -0
  77. package/chunks/list.action-4QDCZLSZ.js +95 -0
  78. package/chunks/publish.action-ULQLZKWU.js +190 -0
  79. package/chunks/update.action-6QEFP7NA.js +95 -0
  80. package/chunks/update.action-OROQSP2S.js +101 -0
  81. package/docs.html +352 -250
  82. package/index.js +664 -99064
  83. package/package.json +17 -11
@@ -0,0 +1,3147 @@
1
+ import { createRequire as $$cR } from "node:module"; const require = $$cR(import.meta.url);
2
+ import {
3
+ WaitlistProducts,
4
+ WaitlistSources,
5
+ accessGroupSchema,
6
+ identityProviderRecordSchema,
7
+ identityProviders,
8
+ linkedRepositorySchema,
9
+ loginPortalSchema,
10
+ managedSchema,
11
+ managedSchemaVersion,
12
+ webhookDeliverySchema,
13
+ webhookSubscriptionSchema,
14
+ workspaceSchema,
15
+ workspaceVersionSchema
16
+ } from "./chunk-HCPN3KNF.js";
17
+ import {
18
+ userSchema
19
+ } from "./chunk-B2MHTD3R.js";
20
+ import {
21
+ sdkSchema
22
+ } from "./chunk-3L6DLIXJ.js";
23
+ import {
24
+ generateAccessByPersonalToken,
25
+ getAuthData,
26
+ refreshToken
27
+ } from "./chunk-M37TP6U2.js";
28
+ import {
29
+ config
30
+ } from "./chunk-4ZDQXWBT.js";
31
+ import {
32
+ UnifiedDocsMigrationStatus,
33
+ pendingInviteSchema,
34
+ teamBillingSummary,
35
+ teamImageSchema,
36
+ teamNameSchema,
37
+ teamSdkPricing,
38
+ userRefSchema
39
+ } from "./chunk-VNYE4R7N.js";
40
+ import {
41
+ docsProjectSchema,
42
+ githubInstallSchema,
43
+ githubProjectSchema,
44
+ projectSchema,
45
+ themeSchema
46
+ } from "./chunk-OQKDBLOZ.js";
47
+ import {
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";
66
+
67
+ // ../../packages/service-api/dist/apis/access-groups.js
68
+ function accessGroupsApiFactory(requestService) {
69
+ async function get(slug) {
70
+ return await requestService.request({
71
+ url: `core/v1/access-groups/${slug}`,
72
+ method: "get",
73
+ schema: accessGroupSchema.pick({
74
+ uid: true,
75
+ name: true,
76
+ slug: true,
77
+ allowedDomains: true,
78
+ allowedEmails: true
79
+ })
80
+ });
81
+ }
82
+ async function create(data) {
83
+ return await requestService.request({
84
+ url: "core/v1/access-groups",
85
+ method: "post",
86
+ data,
87
+ schema: accessGroupSchema
88
+ });
89
+ }
90
+ async function del(uid) {
91
+ return await requestService.request({
92
+ url: `core/v1/access-groups/${uid}`,
93
+ method: "delete",
94
+ schema: external_exports.null()
95
+ });
96
+ }
97
+ async function update(uid, data) {
98
+ return await requestService.request({
99
+ url: `core/v1/access-groups/${uid}`,
100
+ method: "patch",
101
+ data,
102
+ schema: external_exports.null()
103
+ });
104
+ }
105
+ async function addEmail(uid, email) {
106
+ return await requestService.request({
107
+ url: `core/v1/access-groups/${uid}/emails`,
108
+ method: "post",
109
+ data: { email },
110
+ schema: external_exports.null()
111
+ });
112
+ }
113
+ async function addDomain(uid, domain) {
114
+ return await requestService.request({
115
+ url: `core/v1/access-groups/${uid}/domains`,
116
+ method: "post",
117
+ data: { domain },
118
+ schema: external_exports.null()
119
+ });
120
+ }
121
+ async function removeEmail(uid, email) {
122
+ return await requestService.request({
123
+ url: `core/v1/access-groups/${uid}/emails`,
124
+ method: "delete",
125
+ data: { email },
126
+ schema: external_exports.null()
127
+ });
128
+ }
129
+ async function removeDomain(uid, domain) {
130
+ return await requestService.request({
131
+ url: `core/v1/access-groups/${uid}/domains`,
132
+ method: "delete",
133
+ data: { domain },
134
+ schema: external_exports.null()
135
+ });
136
+ }
137
+ return {
138
+ get,
139
+ create,
140
+ update,
141
+ delete: del,
142
+ addEmail,
143
+ addDomain,
144
+ removeEmail,
145
+ removeDomain
146
+ };
147
+ }
148
+
149
+ // ../../packages/bigquery/dist/schemas.js
150
+ var consumerTypeSchema = external_exports.enum(["human", "bot", "llm", "mcp"]);
151
+ var timeseriesPointSchema = external_exports.object({
152
+ bucket: external_exports.string(),
153
+ human: external_exports.number().int().nonnegative(),
154
+ bot: external_exports.number().int().nonnegative(),
155
+ llm: external_exports.number().int().nonnegative(),
156
+ unique: external_exports.number().int().nonnegative()
157
+ });
158
+ var overviewResultSchema = external_exports.object({
159
+ totals: external_exports.object({
160
+ views: external_exports.number().int().nonnegative(),
161
+ peak_daily_visitors: external_exports.number().int().nonnegative(),
162
+ human: external_exports.number().int().nonnegative(),
163
+ bot: external_exports.number().int().nonnegative(),
164
+ llm: external_exports.number().int().nonnegative(),
165
+ mcp: external_exports.number().int().nonnegative()
166
+ }),
167
+ timeseries: external_exports.array(timeseriesPointSchema)
168
+ });
169
+ var topPageSchema = external_exports.object({
170
+ path: external_exports.string(),
171
+ views: external_exports.number().int().nonnegative(),
172
+ unique: external_exports.number().int().nonnegative()
173
+ });
174
+ var topPagesResultSchema = external_exports.object({
175
+ pages: external_exports.array(topPageSchema)
176
+ });
177
+ var topReferrerSchema = external_exports.object({
178
+ referrer: external_exports.string(),
179
+ views: external_exports.number().int().nonnegative()
180
+ });
181
+ var topReferrersResultSchema = external_exports.object({
182
+ referrers: external_exports.array(topReferrerSchema)
183
+ });
184
+ var consumersResultSchema = external_exports.object({
185
+ totals: external_exports.object({
186
+ human: external_exports.number().int().nonnegative(),
187
+ bot: external_exports.number().int().nonnegative(),
188
+ llm: external_exports.number().int().nonnegative()
189
+ }),
190
+ timeseries: external_exports.array(timeseriesPointSchema)
191
+ });
192
+ var mcpEventKindSchema = external_exports.enum([
193
+ "session-start",
194
+ "tool-called",
195
+ "tools-list"
196
+ ]);
197
+
198
+ // ../../packages/service-api/dist/apis/analytics.js
199
+ function buildQuery(params) {
200
+ const search = new URLSearchParams();
201
+ for (const [k, v] of Object.entries(params)) {
202
+ if (v === void 0)
203
+ continue;
204
+ search.set(k, String(v));
205
+ }
206
+ const qs = search.toString();
207
+ return qs ? `?${qs}` : "";
208
+ }
209
+ function analyticsApiFactory(requestService) {
210
+ async function getOverview(projectUid, args = {}) {
211
+ return requestService.request({
212
+ url: `core/analytics/projects/${projectUid}/overview${buildQuery({
213
+ range: args.range,
214
+ granularity: args.granularity
215
+ })}`,
216
+ method: "get",
217
+ schema: overviewResultSchema
218
+ });
219
+ }
220
+ async function getPages(projectUid, args = {}) {
221
+ return requestService.request({
222
+ url: `core/analytics/projects/${projectUid}/pages${buildQuery({
223
+ range: args.range,
224
+ limit: args.limit
225
+ })}`,
226
+ method: "get",
227
+ schema: topPagesResultSchema
228
+ });
229
+ }
230
+ async function getReferrers(projectUid, args = {}) {
231
+ return requestService.request({
232
+ url: `core/analytics/projects/${projectUid}/referrers${buildQuery({
233
+ range: args.range,
234
+ limit: args.limit
235
+ })}`,
236
+ method: "get",
237
+ schema: topReferrersResultSchema
238
+ });
239
+ }
240
+ async function getConsumers(projectUid, args = {}) {
241
+ return requestService.request({
242
+ url: `core/analytics/projects/${projectUid}/consumers${buildQuery({
243
+ range: args.range,
244
+ granularity: args.granularity
245
+ })}`,
246
+ method: "get",
247
+ schema: consumersResultSchema
248
+ });
249
+ }
250
+ return {
251
+ getOverview,
252
+ getPages,
253
+ getReferrers,
254
+ getConsumers
255
+ };
256
+ }
257
+
258
+ // ../../packages/service-api/dist/apis/login-portals.js
259
+ function loginPortalsApiFactory(requestService) {
260
+ async function get(slug) {
261
+ return await requestService.request({
262
+ url: `core/login-portals/${slug}`,
263
+ method: "get",
264
+ schema: loginPortalSchema
265
+ });
266
+ }
267
+ async function create(data) {
268
+ return await requestService.request({
269
+ url: "core/login-portals",
270
+ method: "post",
271
+ data,
272
+ schema: external_exports.object({ uid: external_exports.string() })
273
+ });
274
+ }
275
+ async function update(data) {
276
+ return await requestService.request({
277
+ url: "core/login-portals/update",
278
+ method: "post",
279
+ data,
280
+ schema: external_exports.null()
281
+ });
282
+ }
283
+ async function del(slug) {
284
+ return await requestService.request({
285
+ url: "core/login-portals",
286
+ data: { slug },
287
+ method: "delete",
288
+ schema: external_exports.null()
289
+ });
290
+ }
291
+ async function getLoginPortals() {
292
+ return await requestService.request({
293
+ url: "core/login-portals",
294
+ method: "get",
295
+ schema: loginPortalSchema.pick({
296
+ uid: true,
297
+ title: true,
298
+ slug: true
299
+ }).array()
300
+ });
301
+ }
302
+ return {
303
+ /** Get a login portal by namespace/slug combination */
304
+ get,
305
+ /** Creates a new login portal */
306
+ create,
307
+ /** Update login portal metadata */
308
+ update,
309
+ /** Delete a login portal and remove any associates to projects or docs */
310
+ delete: del,
311
+ /** Get a list of all login portal related to the namespace */
312
+ getLoginPortals
313
+ };
314
+ }
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
+
379
+ // ../../packages/service-api/dist/apis/managed-docs.js
380
+ function managedDocsApiFactory(requestService) {
381
+ async function get(namespace, slug, semver, options) {
382
+ const query = options?.variant ? `?variant=${options.variant}` : "";
383
+ return await requestService.request({
384
+ url: `core/managed-doc/${namespace}/${slug}/version/${semver}${query}`,
385
+ method: "get",
386
+ schema: external_exports.string()
387
+ });
388
+ }
389
+ async function getVersionMetadata(namespace, slug, semver) {
390
+ return await requestService.request({
391
+ url: `core/managed-doc/${namespace}/${slug}/version/${semver}/metadata`,
392
+ method: "get",
393
+ schema: managedDocVersionSchema
394
+ });
395
+ }
396
+ async function getApiDocs(namespace) {
397
+ return await requestService.request({
398
+ url: `core/managed-doc/${namespace}`,
399
+ method: "get",
400
+ schema: managedDocSchema.pick({
401
+ uid: true,
402
+ version: true,
403
+ title: true,
404
+ slug: true,
405
+ description: true,
406
+ namespace: true,
407
+ isPrivate: true,
408
+ tags: true
409
+ }).extend({ versions: managedDocVersionSchema.array() }).array()
410
+ });
411
+ }
412
+ async function getApiDoc(namespace, slug) {
413
+ return await requestService.request({
414
+ url: `core/managed-doc/${namespace}/${slug}`,
415
+ method: "get",
416
+ schema: managedDocSchema.pick({
417
+ uid: true,
418
+ version: true,
419
+ title: true,
420
+ slug: true,
421
+ description: true,
422
+ namespace: true,
423
+ isPrivate: true,
424
+ tags: true
425
+ }).extend({ versions: managedDocVersionSchema.array() })
426
+ });
427
+ }
428
+ async function listApiDocs() {
429
+ return await requestService.request({
430
+ url: "core/managed-doc",
431
+ method: "get",
432
+ schema: managedDocSchema.pick({
433
+ uid: true,
434
+ version: true,
435
+ title: true,
436
+ slug: true,
437
+ description: true,
438
+ namespace: true,
439
+ isPrivate: true,
440
+ tags: true
441
+ }).extend({ versions: managedDocVersionSchema.array() }).array()
442
+ });
443
+ }
444
+ async function create(namespace, data, options) {
445
+ const { body, minified } = compactPublishBody(data);
446
+ if (minified)
447
+ options?.onCompacted?.();
448
+ return await requestService.request({
449
+ url: `core/managed-doc/${namespace}`,
450
+ method: "post",
451
+ data: body,
452
+ schema: external_exports.object({
453
+ uid: external_exports.string(),
454
+ versionUid: external_exports.string(),
455
+ title: external_exports.string(),
456
+ jsonSha: external_exports.string(),
457
+ yamlSha: external_exports.string()
458
+ })
459
+ });
460
+ }
461
+ async function update(namespace, slug, data) {
462
+ return await requestService.request({
463
+ url: `core/managed-doc/${namespace}/${slug}`,
464
+ method: "patch",
465
+ data,
466
+ schema: external_exports.null()
467
+ });
468
+ }
469
+ async function addVersion(namespace, slug, data, options) {
470
+ const { body, minified } = compactPublishBody(data);
471
+ if (minified)
472
+ options?.onCompacted?.();
473
+ return await requestService.request({
474
+ url: `core/managed-doc/${namespace}/${slug}/version`,
475
+ method: "post",
476
+ data: body,
477
+ schema: managedDocVersionSchema
478
+ });
479
+ }
480
+ async function updateVersion(namespace, slug, semver, data, options) {
481
+ const { body, minified } = compactPublishBody(data);
482
+ if (minified)
483
+ options?.onCompacted?.();
484
+ return await requestService.request({
485
+ url: `core/managed-doc/${namespace}/${slug}/version/${semver}`,
486
+ method: "patch",
487
+ data: body,
488
+ schema: external_exports.object({
489
+ jsonSha: external_exports.string(),
490
+ yamlSha: external_exports.string()
491
+ })
492
+ });
493
+ }
494
+ async function deleteVersion(namespace, slug, semver) {
495
+ return await requestService.request({
496
+ url: `core/managed-doc/${namespace}/${slug}/version/${semver}`,
497
+ method: "delete",
498
+ schema: external_exports.null()
499
+ });
500
+ }
501
+ async function addAccessGroup(data) {
502
+ return await requestService.request({
503
+ url: "core/managed-doc/access-group",
504
+ method: "post",
505
+ data,
506
+ schema: external_exports.null()
507
+ });
508
+ }
509
+ async function removeAccessGroup(data) {
510
+ return await requestService.request({
511
+ url: "core/managed-doc/access-group",
512
+ method: "delete",
513
+ data,
514
+ schema: external_exports.null()
515
+ });
516
+ }
517
+ async function addSdk(data) {
518
+ return await requestService.request({
519
+ url: "core/v1/documents/sdk",
520
+ method: "post",
521
+ data,
522
+ schema: external_exports.null()
523
+ });
524
+ }
525
+ 3;
526
+ async function removeSdk(data) {
527
+ return await requestService.request({
528
+ url: "core/v1/documents/sdk",
529
+ method: "delete",
530
+ data,
531
+ schema: external_exports.null()
532
+ });
533
+ }
534
+ async function deleteDoc(namespace, slug) {
535
+ return await requestService.request({
536
+ url: `core/managed-doc/${namespace}/${slug}`,
537
+ method: "delete",
538
+ schema: external_exports.null()
539
+ });
540
+ }
541
+ async function isRegistrySlugAvailable(data) {
542
+ return await requestService.request({
543
+ url: "core/managed-doc/available",
544
+ method: "post",
545
+ data,
546
+ schema: external_exports.object({
547
+ available: external_exports.boolean()
548
+ })
549
+ });
550
+ }
551
+ async function updateMcpTools({ namespace, slug, semver, tools }) {
552
+ return await requestService.request({
553
+ url: `core/managed-doc/${namespace}/${slug}/version/${semver}/tools`,
554
+ method: "post",
555
+ data: tools,
556
+ schema: external_exports.null()
557
+ });
558
+ }
559
+ return {
560
+ getApiDocs,
561
+ listApiDocs,
562
+ get,
563
+ getVersionMetadata,
564
+ create,
565
+ update,
566
+ delete: deleteDoc,
567
+ addVersion,
568
+ addSdk,
569
+ removeSdk,
570
+ updateVersion,
571
+ deleteVersion,
572
+ addAccessGroup,
573
+ removeAccessGroup,
574
+ isRegistrySlugAvailable,
575
+ getApiDoc,
576
+ updateMcpTools
577
+ };
578
+ }
579
+
580
+ // ../../packages/service-api/dist/apis/managed-schemas.js
581
+ function managedSchemasApiFactory(requestService) {
582
+ async function getSchemas(namespace) {
583
+ return await requestService.request({
584
+ url: `core/schemas/${namespace}`,
585
+ method: "get",
586
+ schema: managedSchema.pick({
587
+ uid: true,
588
+ title: true,
589
+ description: true,
590
+ slug: true,
591
+ namespace: true,
592
+ isPrivate: true
593
+ }).extend({ versions: managedSchemaVersion.array() }).array()
594
+ });
595
+ }
596
+ async function create(namespace, data) {
597
+ return await requestService.request({
598
+ url: `core/schemas/${namespace}`,
599
+ method: "post",
600
+ data,
601
+ schema: external_exports.object({ uid: external_exports.string() })
602
+ });
603
+ }
604
+ async function update(namespace, slug, data) {
605
+ return await requestService.request({
606
+ url: `core/schemas/${namespace}/${slug}`,
607
+ method: "patch",
608
+ data,
609
+ schema: external_exports.null()
610
+ });
611
+ }
612
+ async function del(namespace, slug) {
613
+ return await requestService.request({
614
+ url: `core/schemas/${namespace}/${slug}`,
615
+ method: "delete",
616
+ schema: external_exports.null()
617
+ });
618
+ }
619
+ async function get(namespace, slug, version) {
620
+ return await requestService.request({
621
+ url: `core/schemas/${namespace}/${slug}/version/${version}`,
622
+ method: "get",
623
+ schema: external_exports.string()
624
+ });
625
+ }
626
+ async function createVersion(namespace, slug, data) {
627
+ return await requestService.request({
628
+ url: `core/schemas/${namespace}/${slug}/version`,
629
+ method: "post",
630
+ data,
631
+ schema: external_exports.object({
632
+ uid: external_exports.string()
633
+ })
634
+ });
635
+ }
636
+ async function duplicateVersion(namespace, slug, version, data) {
637
+ return await requestService.request({
638
+ url: `core/schemas/${namespace}/${slug}/version/${version}/duplicate`,
639
+ method: "post",
640
+ data,
641
+ schema: external_exports.object({ uid: external_exports.string() })
642
+ });
643
+ }
644
+ async function updateVersion(namespace, slug, version, data) {
645
+ return await requestService.request({
646
+ url: `core/schemas/${namespace}/${slug}/version/${version}`,
647
+ method: "post",
648
+ data,
649
+ schema: external_exports.object({ jsonSha: external_exports.string() })
650
+ });
651
+ }
652
+ async function deleteVersion(namespace, slug, version) {
653
+ return await requestService.request({
654
+ url: `core/schemas/${namespace}/${slug}/version/${version}`,
655
+ method: "delete",
656
+ schema: external_exports.null()
657
+ });
658
+ }
659
+ async function isRegistrySlugAvailable(namespace, slug) {
660
+ return await requestService.request({
661
+ url: "core/schemas/check-slug",
662
+ method: "post",
663
+ data: {
664
+ namespace,
665
+ slug
666
+ },
667
+ schema: external_exports.object({
668
+ available: external_exports.boolean()
669
+ })
670
+ });
671
+ }
672
+ async function addAccessGroup(data) {
673
+ return await requestService.request({
674
+ url: "core/schemas/access-group",
675
+ method: "post",
676
+ data,
677
+ schema: external_exports.null()
678
+ });
679
+ }
680
+ async function removeAccessGroup(data) {
681
+ return await requestService.request({
682
+ url: "core/schemas/access-group",
683
+ method: "delete",
684
+ data,
685
+ schema: external_exports.null()
686
+ });
687
+ }
688
+ return {
689
+ getSchemas,
690
+ create,
691
+ update,
692
+ delete: del,
693
+ get,
694
+ createVersion,
695
+ duplicateVersion,
696
+ updateVersion,
697
+ deleteVersion,
698
+ isRegistrySlugAvailable,
699
+ addAccessGroup,
700
+ removeAccessGroup
701
+ };
702
+ }
703
+
704
+ // ../../packages/service-api/dist/apis/registry-git.js
705
+ var commitSchema = external_exports.object({
706
+ sha: external_exports.string(),
707
+ message: external_exports.string(),
708
+ authorName: external_exports.string(),
709
+ authorEmail: external_exports.string(),
710
+ timestamp: external_exports.number()
711
+ });
712
+ function registryGitApiFactory(requestService) {
713
+ const base = (asset, namespace, slug) => `core/registry-git/${asset}/${namespace}/${slug}`;
714
+ async function provision(asset, namespace, slug) {
715
+ return await requestService.request({
716
+ url: `${base(asset, namespace, slug)}/provision`,
717
+ method: "post",
718
+ data: {},
719
+ schema: external_exports.object({
720
+ git: registryGitBindingSchema.nullable(),
721
+ status: external_exports.enum(["migrated", "already-migrated", "partial"]),
722
+ versionsImported: external_exports.number(),
723
+ versionsSkipped: external_exports.number()
724
+ })
725
+ });
726
+ }
727
+ async function getHistory(asset, namespace, slug, opts) {
728
+ const query = new URLSearchParams();
729
+ if (opts?.page)
730
+ query.set("page", String(opts.page));
731
+ if (opts?.perPage)
732
+ query.set("perPage", String(opts.perPage));
733
+ const qs = query.toString();
734
+ return await requestService.request({
735
+ url: `${base(asset, namespace, slug)}/history${qs ? `?${qs}` : ""}`,
736
+ method: "get",
737
+ schema: external_exports.object({ commits: commitSchema.array() })
738
+ });
739
+ }
740
+ async function getPublishLog(asset, namespace, slug) {
741
+ return await requestService.request({
742
+ url: `${base(asset, namespace, slug)}/publishes`,
743
+ method: "get",
744
+ schema: external_exports.object({ publishes: registryPublishRecordSchema.array() })
745
+ });
746
+ }
747
+ async function publish(asset, namespace, slug, data) {
748
+ return await requestService.request({
749
+ url: `${base(asset, namespace, slug)}/publish`,
750
+ method: "post",
751
+ data: data ?? {},
752
+ schema: external_exports.object({
753
+ commitSha: external_exports.string(),
754
+ version: external_exports.string().nullable()
755
+ })
756
+ });
757
+ }
758
+ async function updateConfig(asset, namespace, slug, data) {
759
+ return await requestService.request({
760
+ url: `${base(asset, namespace, slug)}/config`,
761
+ method: "patch",
762
+ data,
763
+ schema: external_exports.object({ source: docSourceSchema })
764
+ });
765
+ }
766
+ async function linkExternal(asset, namespace, slug, data) {
767
+ return await requestService.request({
768
+ url: `${base(asset, namespace, slug)}/link-external`,
769
+ method: "post",
770
+ data,
771
+ schema: external_exports.object({
772
+ repository: linkedRepositorySchema,
773
+ source: docSourceSchema,
774
+ pullRequest: external_exports.object({
775
+ url: external_exports.string(),
776
+ number: external_exports.number(),
777
+ branch: external_exports.string()
778
+ })
779
+ })
780
+ });
781
+ }
782
+ async function unlinkExternal(asset, namespace, slug) {
783
+ return await requestService.request({
784
+ url: `${base(asset, namespace, slug)}/unlink-external`,
785
+ method: "post",
786
+ data: {},
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
+ })
842
+ });
843
+ }
844
+ return {
845
+ proposeEdit,
846
+ provision,
847
+ getHistory,
848
+ getPublishLog,
849
+ getSource,
850
+ getFile,
851
+ listBranches,
852
+ createBranch,
853
+ publish,
854
+ updateConfig,
855
+ linkExternal,
856
+ unlinkExternal
857
+ };
858
+ }
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
+
927
+ // ../../packages/service-api/dist/apis/rules.js
928
+ function rulesApiFactory(requestService) {
929
+ async function get(namespace, slug) {
930
+ return await requestService.request({
931
+ url: `core/rulesets/${namespace}/${slug}`,
932
+ method: "get",
933
+ schema: external_exports.string()
934
+ });
935
+ }
936
+ async function getRules(namespace) {
937
+ return await requestService.request({
938
+ url: `core/rulesets/${namespace}`,
939
+ method: "get",
940
+ schema: ruleSchema.pick({
941
+ uid: true,
942
+ title: true,
943
+ description: true,
944
+ slug: true,
945
+ namespace: true,
946
+ isPrivate: true,
947
+ blockPublishOn: true
948
+ }).array()
949
+ });
950
+ }
951
+ async function create(namespace, data) {
952
+ return await requestService.request({
953
+ url: `core/rulesets/${namespace}`,
954
+ method: "post",
955
+ data,
956
+ schema: external_exports.object({ uid: external_exports.string() })
957
+ });
958
+ }
959
+ async function upload(data) {
960
+ return await requestService.request({
961
+ url: "core/rulesets/upload",
962
+ method: "post",
963
+ data,
964
+ schema: external_exports.null()
965
+ });
966
+ }
967
+ async function update(namespace, slug, data) {
968
+ return await requestService.request({
969
+ url: `core/rulesets/${namespace}/${slug}`,
970
+ method: "patch",
971
+ data,
972
+ schema: external_exports.null()
973
+ });
974
+ }
975
+ async function del(namespace, slug) {
976
+ return await requestService.request({
977
+ url: `core/rulesets/${namespace}/${slug}`,
978
+ method: "delete",
979
+ schema: external_exports.null()
980
+ });
981
+ }
982
+ async function addAccessGroup(data) {
983
+ return await requestService.request({
984
+ url: "core/rules/access-group",
985
+ method: "post",
986
+ data,
987
+ schema: external_exports.null()
988
+ });
989
+ }
990
+ async function removeAccessGroup(data) {
991
+ return await requestService.request({
992
+ url: "core/rules/access-group",
993
+ method: "delete",
994
+ data,
995
+ schema: external_exports.null()
996
+ });
997
+ }
998
+ async function isRegistrySlugAvailable(namespace, slug) {
999
+ return await requestService.request({
1000
+ url: "core/rulesets/check-slug",
1001
+ method: "post",
1002
+ data: {
1003
+ namespace,
1004
+ slug
1005
+ },
1006
+ schema: external_exports.object({
1007
+ available: external_exports.boolean()
1008
+ })
1009
+ });
1010
+ }
1011
+ return {
1012
+ get,
1013
+ getRules,
1014
+ create,
1015
+ update,
1016
+ delete: del,
1017
+ upload,
1018
+ addAccessGroup,
1019
+ removeAccessGroup,
1020
+ isRegistrySlugAvailable
1021
+ };
1022
+ }
1023
+
1024
+ // ../../packages/service-api/dist/apis/sdks.js
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
+ }
1047
+ async function create(data) {
1048
+ return await requestService.request({
1049
+ url: "core/v1/sdks",
1050
+ method: "post",
1051
+ data,
1052
+ schema: external_exports.string()
1053
+ });
1054
+ }
1055
+ async function update(uid, data) {
1056
+ return await requestService.request({
1057
+ url: `core/v1/sdks/${uid}`,
1058
+ method: "patch",
1059
+ data,
1060
+ schema: external_exports.null()
1061
+ });
1062
+ }
1063
+ async function createVersion(data) {
1064
+ return await requestService.request({
1065
+ url: "core/v1/sdks/version",
1066
+ method: "post",
1067
+ data,
1068
+ schema: external_exports.null()
1069
+ });
1070
+ }
1071
+ async function previewCodeSamples(data) {
1072
+ const { signal, ...body } = data;
1073
+ return await requestService.request({
1074
+ url: "sdk-generator/preview",
1075
+ method: "post",
1076
+ data: body,
1077
+ schema: external_exports.unknown(),
1078
+ signal
1079
+ });
1080
+ }
1081
+ async function resolveConfig(data) {
1082
+ return await requestService.request({
1083
+ url: "core/v1/sdks/resolve-config",
1084
+ method: "post",
1085
+ data,
1086
+ schema: external_exports.object({ config: external_exports.string() })
1087
+ });
1088
+ }
1089
+ async function transformConfig(data) {
1090
+ return await requestService.request({
1091
+ url: "sdk-generator/transform-config",
1092
+ method: "post",
1093
+ data,
1094
+ schema: external_exports.object({
1095
+ config: external_exports.string().nullable()
1096
+ })
1097
+ });
1098
+ }
1099
+ async function del(uid) {
1100
+ return await requestService.request({
1101
+ url: `core/v1/sdks/${uid}`,
1102
+ method: "delete",
1103
+ schema: external_exports.null()
1104
+ });
1105
+ }
1106
+ async function discardDraft(uid) {
1107
+ return await requestService.request({
1108
+ url: `core/v1/sdks/${uid}/draft`,
1109
+ method: "delete",
1110
+ schema: external_exports.null()
1111
+ });
1112
+ }
1113
+ async function deleteVersion(data) {
1114
+ return await requestService.request({
1115
+ url: "core/v1/sdks/version",
1116
+ method: "delete",
1117
+ data,
1118
+ schema: external_exports.null()
1119
+ });
1120
+ }
1121
+ async function available(data) {
1122
+ return await requestService.request({
1123
+ url: "core/v1/sdks/available",
1124
+ method: "post",
1125
+ data,
1126
+ schema: external_exports.object({
1127
+ available: external_exports.boolean()
1128
+ })
1129
+ });
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
+ }
1143
+ async function addAccessGroup(uid, data) {
1144
+ return await requestService.request({
1145
+ url: `core/v1/sdks/${uid}/access-group`,
1146
+ method: "post",
1147
+ data,
1148
+ schema: external_exports.null()
1149
+ });
1150
+ }
1151
+ async function removeAccessGroup(uid, data) {
1152
+ return await requestService.request({
1153
+ url: `core/v1/sdks/${uid}/access-group`,
1154
+ method: "delete",
1155
+ data,
1156
+ schema: external_exports.null()
1157
+ });
1158
+ }
1159
+ async function linkRepo(data) {
1160
+ return await requestService.request({
1161
+ url: "core/v1/sdks/repository",
1162
+ method: "post",
1163
+ data,
1164
+ // The resolved "owner/repo" + branch, so the editor can mirror the
1165
+ // destination into the project config (the source of truth). Nullable to
1166
+ // tolerate a deploy-skew window where core still returns the old `null`
1167
+ // body: the mirror is skipped rather than surfacing a false link error
1168
+ // (the server already wrote the destination into the config regardless).
1169
+ schema: external_exports.object({ repo: external_exports.string(), branch: external_exports.string() }).nullable()
1170
+ });
1171
+ }
1172
+ async function requestSampleAccess(data) {
1173
+ return await requestService.request({
1174
+ url: `core/v1/sdks/${data.uid}/sample/access`,
1175
+ method: "post",
1176
+ data: { language: data.language },
1177
+ schema: external_exports.object({
1178
+ repositories: external_exports.object({
1179
+ /** Where the repo lives in the server's org, not on the binding. */
1180
+ repository: external_exports.string(),
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()
1184
+ }).array()
1185
+ })
1186
+ });
1187
+ }
1188
+ const retrySampleRepos = async (data) => {
1189
+ return await requestService.request({
1190
+ url: `core/v1/sdks/${data.uid}/sample/retry`,
1191
+ method: "post",
1192
+ data: { language: data.language },
1193
+ schema: external_exports.null()
1194
+ });
1195
+ };
1196
+ async function updateRepo(data) {
1197
+ return await requestService.request({
1198
+ url: "core/v1/sdks/repository/update",
1199
+ method: "post",
1200
+ data,
1201
+ schema: external_exports.null()
1202
+ });
1203
+ }
1204
+ const getReleasePr = async (params) => {
1205
+ const query = new URLSearchParams({
1206
+ uid: params.uid,
1207
+ language: params.language
1208
+ });
1209
+ return await requestService.request({
1210
+ url: `core/v1/sdks/repository/release-pr?${query.toString()}`,
1211
+ method: "get",
1212
+ schema: external_exports.object({ pullRequest: external_exports.number().nullable() })
1213
+ });
1214
+ };
1215
+ async function unlinkRepo(data) {
1216
+ return await requestService.request({
1217
+ url: "core/v1/sdks/repository",
1218
+ method: "delete",
1219
+ data,
1220
+ schema: external_exports.null()
1221
+ });
1222
+ }
1223
+ async function updatePublishing(data) {
1224
+ return await requestService.request({
1225
+ url: "core/v1/sdks/repository/publishing",
1226
+ method: "post",
1227
+ data,
1228
+ schema: external_exports.null()
1229
+ });
1230
+ }
1231
+ async function syncBuild(data) {
1232
+ return await requestService.request({
1233
+ url: "core/v1/sdks/sync",
1234
+ method: "post",
1235
+ data,
1236
+ schema: external_exports.null()
1237
+ });
1238
+ }
1239
+ async function build(sdkUid, version, languages) {
1240
+ return await requestService.request({
1241
+ url: "core/v1/sdks/build",
1242
+ method: "post",
1243
+ data: { sdkUid, version, languages },
1244
+ // Non-null exactly when `version` was omitted: the version the server
1245
+ // resolved and is building.
1246
+ schema: external_exports.object({ version: external_exports.string() }).nullable()
1247
+ });
1248
+ }
1249
+ return {
1250
+ list,
1251
+ get,
1252
+ create,
1253
+ createVersion,
1254
+ previewCodeSamples,
1255
+ resolveConfig,
1256
+ transformConfig,
1257
+ update,
1258
+ delete: del,
1259
+ discardDraft,
1260
+ deleteVersion,
1261
+ available,
1262
+ checkRegistryAvailability,
1263
+ addAccessGroup,
1264
+ removeAccessGroup,
1265
+ getReleasePr,
1266
+ linkRepo,
1267
+ requestSampleAccess,
1268
+ retrySampleRepos,
1269
+ unlinkRepo,
1270
+ updateRepo,
1271
+ updatePublishing,
1272
+ build,
1273
+ syncBuild
1274
+ };
1275
+ }
1276
+
1277
+ // ../../packages/service-api/dist/apis/themes.js
1278
+ function themesApiFactory(requestService) {
1279
+ async function get(slug) {
1280
+ return await requestService.request({
1281
+ url: `core/themes/${slug}`,
1282
+ method: "get",
1283
+ schema: external_exports.string()
1284
+ });
1285
+ }
1286
+ async function getThemes() {
1287
+ return await requestService.request({
1288
+ url: "core/themes",
1289
+ method: "get",
1290
+ schema: themeSchema.pick({
1291
+ uid: true,
1292
+ name: true,
1293
+ description: true,
1294
+ slug: true
1295
+ }).array()
1296
+ });
1297
+ }
1298
+ async function create(data) {
1299
+ return await requestService.request({
1300
+ url: "core/themes",
1301
+ method: "post",
1302
+ data,
1303
+ schema: external_exports.object({ uid: external_exports.string(), slug: slugSchema })
1304
+ });
1305
+ }
1306
+ async function replace(slug, data) {
1307
+ return await requestService.request({
1308
+ url: `core/themes/${slug}`,
1309
+ method: "put",
1310
+ data,
1311
+ schema: external_exports.null()
1312
+ });
1313
+ }
1314
+ async function update(slug, data) {
1315
+ return await requestService.request({
1316
+ url: `core/themes/${slug}`,
1317
+ method: "patch",
1318
+ data,
1319
+ schema: external_exports.null()
1320
+ });
1321
+ }
1322
+ async function del(slug) {
1323
+ return await requestService.request({
1324
+ url: `core/themes/${slug}`,
1325
+ method: "delete",
1326
+ schema: external_exports.null()
1327
+ });
1328
+ }
1329
+ return {
1330
+ get,
1331
+ getThemes,
1332
+ create,
1333
+ update,
1334
+ replace,
1335
+ delete: del
1336
+ };
1337
+ }
1338
+
1339
+ // ../../packages/service-api/dist/apis/user.js
1340
+ function userApiFactory(requestService) {
1341
+ async function update(data) {
1342
+ return await requestService.request({
1343
+ url: "core/user/update",
1344
+ method: "post",
1345
+ schema: external_exports.null(),
1346
+ data
1347
+ });
1348
+ }
1349
+ async function getMe() {
1350
+ return await requestService.request({
1351
+ url: "core/me",
1352
+ method: "get",
1353
+ schema: userSchema
1354
+ });
1355
+ }
1356
+ return { update, getMe };
1357
+ }
1358
+
1359
+ // ../../packages/service-api/dist/apis/waitlist.js
1360
+ function waitlistApiFactory(requestService) {
1361
+ async function addToClientWaitlist(email, metadata) {
1362
+ return await requestService.request({
1363
+ url: "core/waitlist",
1364
+ method: "post",
1365
+ data: { email, products: [WaitlistProducts.Client], metadata },
1366
+ headers: {
1367
+ /** Source application. Will be used for header based filtering server side */
1368
+ "x-scalar-product": WaitlistSources.Client
1369
+ },
1370
+ schema: external_exports.null()
1371
+ });
1372
+ }
1373
+ return {
1374
+ addToClientWaitlist
1375
+ };
1376
+ }
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
+
1456
+ // ../../packages/service-api/dist/apis/workspace.js
1457
+ function workspaceApiFactory(requestService) {
1458
+ async function createWorkspace(namespace, data) {
1459
+ return await requestService.request({
1460
+ url: `core/workspaces/${namespace}`,
1461
+ method: "post",
1462
+ data,
1463
+ schema: workspaceSchema
1464
+ });
1465
+ }
1466
+ async function updateWorkspace(namespace, slug, data) {
1467
+ return await requestService.request({
1468
+ url: `core/workspaces/${namespace}/${slug}`,
1469
+ method: "patch",
1470
+ data,
1471
+ schema: workspaceSchema
1472
+ });
1473
+ }
1474
+ async function deleteWorkspace(namespace, slug) {
1475
+ return await requestService.request({
1476
+ url: `core/workspaces/${namespace}/${slug}`,
1477
+ method: "delete",
1478
+ schema: external_exports.null()
1479
+ });
1480
+ }
1481
+ async function deleteWorkspaceVersion(namespace, slug, version) {
1482
+ return await requestService.request({
1483
+ url: `core/workspaces/${namespace}/${slug}/version/${version}`,
1484
+ method: "delete",
1485
+ schema: external_exports.null()
1486
+ });
1487
+ }
1488
+ async function versionWorkspace(namespace, slug, data) {
1489
+ return await requestService.request({
1490
+ url: `core/workspaces/${namespace}/${slug}/version`,
1491
+ method: "post",
1492
+ data,
1493
+ schema: workspaceVersionSchema
1494
+ });
1495
+ }
1496
+ async function addWorkspaceAccess(namespace, slug, group) {
1497
+ return await requestService.request({
1498
+ url: `core/workspaces/${namespace}/${slug}/access/${group}`,
1499
+ method: "post",
1500
+ schema: external_exports.null()
1501
+ });
1502
+ }
1503
+ async function removeWorkspaceAccess(namespace, slug, group) {
1504
+ return await requestService.request({
1505
+ url: `core/workspaces/${namespace}/${slug}/access/${group}`,
1506
+ method: "delete",
1507
+ schema: external_exports.null()
1508
+ });
1509
+ }
1510
+ async function workspaceAvailability(namespace, slug) {
1511
+ return await requestService.request({
1512
+ url: `core/workspaces/${namespace}/${slug}/available`,
1513
+ method: "get",
1514
+ schema: external_exports.object({ available: external_exports.boolean() })
1515
+ });
1516
+ }
1517
+ return {
1518
+ createWorkspace,
1519
+ updateWorkspace,
1520
+ deleteWorkspace,
1521
+ versionWorkspace,
1522
+ addWorkspaceAccess,
1523
+ removeWorkspaceAccess,
1524
+ workspaceAvailability,
1525
+ deleteWorkspaceVersion
1526
+ };
1527
+ }
1528
+
1529
+ // ../../packages/service-api/dist/request.js
1530
+ function formatApiResponse(data, status, headers) {
1531
+ return {
1532
+ status,
1533
+ data,
1534
+ headers,
1535
+ error: false
1536
+ };
1537
+ }
1538
+ function formatApiError(message, status, error = null, code, body) {
1539
+ return {
1540
+ status,
1541
+ message,
1542
+ error: true,
1543
+ originalError: error,
1544
+ code,
1545
+ body
1546
+ };
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
+ }
1560
+ function requestServiceFactory(baseUrl, getAuthToken, logger = console) {
1561
+ async function request({ disableAuth = false, url: requestUrl, schema, data, stream, ...config2 }) {
1562
+ const headers = {};
1563
+ for (const headerKey in config2.headers) {
1564
+ if (Object.hasOwn(config2.headers, headerKey)) {
1565
+ headers[headerKey.toLowerCase()] = config2.headers[headerKey];
1566
+ }
1567
+ }
1568
+ if (!("content-type" in headers) && data)
1569
+ headers["content-type"] = "application/json";
1570
+ if (data instanceof FormData)
1571
+ delete headers["content-type"];
1572
+ if (!disableAuth && (getAuthToken || config2.token)) {
1573
+ const token = (getAuthToken ? getAuthToken() : config2.token)?.trim();
1574
+ if (token) {
1575
+ headers.authorization = `Bearer ${token}`;
1576
+ } else {
1577
+ logger.warn("WARNING: Auth token function returned an empty value");
1578
+ }
1579
+ }
1580
+ const url = (/^https?:\/\//i.test(requestUrl) ? requestUrl : `${baseUrl}/${requestUrl}`).replace(/([^:]\/)\/+/g, "$1");
1581
+ const method = config2.method === "patch" ? "PATCH" : config2.method;
1582
+ return fetch(url, {
1583
+ ...config2,
1584
+ credentials: "include",
1585
+ method,
1586
+ body: data instanceof FormData || data instanceof ReadableStream || data === void 0 ? data : JSON.stringify(data),
1587
+ headers,
1588
+ ...data instanceof ReadableStream && {
1589
+ duplex: "half"
1590
+ }
1591
+ }).then(async (response) => {
1592
+ const isJson = response.headers.get("content-type")?.includes("application/json");
1593
+ if (!response.ok) {
1594
+ const body = isJson ? await response.json().catch(() => ({ message: "Invalid response" })) : { message: await response.text().catch(() => "Invalid response") };
1595
+ const message = String(body.message ?? "") || "Unknown Error";
1596
+ const code = typeof body.code === "string" ? body.code : void 0;
1597
+ return formatApiError(message, response.status, null, code, body);
1598
+ }
1599
+ if (stream)
1600
+ return response.body ?? new ReadableStream();
1601
+ try {
1602
+ const baseData = response.ok && isJson ? await response.json().catch(() => {
1603
+ logger.error(`Invalid JSON response from API service from ${url}`);
1604
+ return null;
1605
+ }) : await response.text();
1606
+ const resultData = schema ? schemaModel(baseData, schema, true) : baseData;
1607
+ return formatApiResponse(resultData, response.status, Object.fromEntries(response.headers));
1608
+ } catch (err) {
1609
+ logger.error(err);
1610
+ logger.error(`Response Zod validation error for ${url}`);
1611
+ return formatApiError(`Invalid response data from endpoint: ${url}`, 500);
1612
+ }
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
+ }
1625
+ logger.error(err);
1626
+ return formatApiError("Unknown Error", 500);
1627
+ });
1628
+ }
1629
+ return {
1630
+ baseUrl,
1631
+ getAuthToken,
1632
+ request
1633
+ };
1634
+ }
1635
+
1636
+ // ../../packages/service-api/dist/apis/auth.js
1637
+ function authApiFactory(requestService) {
1638
+ async function requestPasswordReset(email) {
1639
+ return await requestService.request({
1640
+ url: "core/login/request-password-reset",
1641
+ method: "post",
1642
+ data: {
1643
+ email,
1644
+ clientId: nanoid()
1645
+ },
1646
+ schema: external_exports.null(),
1647
+ disableAuth: true
1648
+ });
1649
+ }
1650
+ async function resetPassword(password, clientId, resetToken) {
1651
+ return await requestService.request({
1652
+ url: "core/login/reset-password",
1653
+ method: "post",
1654
+ data: {
1655
+ clientId,
1656
+ resetToken,
1657
+ password
1658
+ },
1659
+ disableAuth: true,
1660
+ schema: external_exports.object({
1661
+ accessToken: external_exports.string(),
1662
+ refreshToken: external_exports.string()
1663
+ })
1664
+ });
1665
+ }
1666
+ async function generatePersonalToken({ name, description, refreshToken: refreshToken2 }) {
1667
+ return await requestService.request({
1668
+ url: "core/login/personal-token/generate",
1669
+ method: "post",
1670
+ data: {
1671
+ name,
1672
+ description,
1673
+ refreshToken: refreshToken2
1674
+ },
1675
+ schema: external_exports.object({
1676
+ uid: external_exports.string(),
1677
+ personalToken: external_exports.string()
1678
+ })
1679
+ });
1680
+ }
1681
+ async function getAccessTokenByPersonalToken({ personalToken }) {
1682
+ return await requestService.request({
1683
+ url: "core/login/personal-token/access",
1684
+ method: "post",
1685
+ data: {
1686
+ personalToken
1687
+ },
1688
+ schema: external_exports.object({
1689
+ accessToken: external_exports.string()
1690
+ })
1691
+ });
1692
+ }
1693
+ async function revokePersonalToken({ uid }) {
1694
+ return await requestService.request({
1695
+ url: `core/login/personal-token/${uid}/revoke`,
1696
+ method: "post",
1697
+ schema: external_exports.null()
1698
+ });
1699
+ }
1700
+ async function deletePersonalToken({ uid }) {
1701
+ return await requestService.request({
1702
+ url: `core/login/personal-token/${uid}`,
1703
+ method: "delete",
1704
+ schema: external_exports.null()
1705
+ });
1706
+ }
1707
+ async function getIdentityProvider(uid) {
1708
+ return await requestService.request({
1709
+ url: `core/identity-provider/${uid}`,
1710
+ method: "get",
1711
+ schema: identityProviderRecordSchema
1712
+ });
1713
+ }
1714
+ async function createIdentityProvider(data) {
1715
+ return await requestService.request({
1716
+ url: "core/identity-provider",
1717
+ method: "post",
1718
+ data,
1719
+ schema: identityProviderRecordSchema
1720
+ });
1721
+ }
1722
+ async function updateIdentityProvider(uid, data) {
1723
+ return await requestService.request({
1724
+ url: "core/identity-provider/update",
1725
+ method: "post",
1726
+ data: {
1727
+ uid,
1728
+ ...data
1729
+ },
1730
+ schema: identityProviderRecordSchema
1731
+ });
1732
+ }
1733
+ async function deleteIdentityProvider(uid) {
1734
+ return await requestService.request({
1735
+ url: `core/identity-provider/${uid}`,
1736
+ method: "delete",
1737
+ schema: external_exports.null()
1738
+ });
1739
+ }
1740
+ async function initiateSaml(data) {
1741
+ return await requestService.request({
1742
+ url: "core/saml/initiate",
1743
+ method: "post",
1744
+ data,
1745
+ schema: external_exports.object({
1746
+ options: external_exports.object({
1747
+ loginUrl: external_exports.url(),
1748
+ provider: external_exports.enum(identityProviders),
1749
+ teamSlug: slugSchema
1750
+ }).array()
1751
+ })
1752
+ });
1753
+ }
1754
+ async function changePassword({ oldPassword, newPassword }) {
1755
+ return await requestService.request({
1756
+ url: "core/login/change-password",
1757
+ method: "post",
1758
+ data: {
1759
+ oldPassword,
1760
+ newPassword
1761
+ },
1762
+ schema: external_exports.null()
1763
+ });
1764
+ }
1765
+ return {
1766
+ requestPasswordReset,
1767
+ resetPassword,
1768
+ changePassword,
1769
+ // Personal tokens
1770
+ generatePersonalToken,
1771
+ getAccessTokenByPersonalToken,
1772
+ revokePersonalToken,
1773
+ deletePersonalToken,
1774
+ // Identity Provider,
1775
+ getIdentityProvider,
1776
+ createIdentityProvider,
1777
+ updateIdentityProvider,
1778
+ deleteIdentityProvider,
1779
+ // SAML
1780
+ initiateSaml
1781
+ };
1782
+ }
1783
+
1784
+ // ../../packages/service-api/dist/apis/bitbucket.js
1785
+ var bitbucketRepoSummarySchema = external_exports.object({
1786
+ uuid: external_exports.string(),
1787
+ slug: external_exports.string(),
1788
+ fullName: external_exports.string(),
1789
+ defaultBranch: external_exports.string(),
1790
+ isPrivate: external_exports.boolean(),
1791
+ workspaceUuid: external_exports.string(),
1792
+ workspaceSlug: external_exports.string()
1793
+ });
1794
+ var bitbucketWorkspaceSchema = external_exports.object({
1795
+ uuid: external_exports.string(),
1796
+ slug: external_exports.string(),
1797
+ name: external_exports.string(),
1798
+ iconUrl: external_exports.string().optional(),
1799
+ repos: bitbucketRepoSummarySchema.array()
1800
+ });
1801
+ function bitbucketApiFactory(requestService) {
1802
+ async function initiateLink(opts = {}) {
1803
+ const params = new URLSearchParams();
1804
+ if (opts.redirect)
1805
+ params.set("redirect", opts.redirect);
1806
+ const qs = params.toString() ? `?${params.toString()}` : "";
1807
+ return await requestService.request({
1808
+ url: `core/vcs/bitbucket/link/initiate${qs}`,
1809
+ method: "get",
1810
+ schema: external_exports.object({ url: external_exports.string() })
1811
+ });
1812
+ }
1813
+ async function getWorkspaces() {
1814
+ return await requestService.request({
1815
+ url: "core/vcs/bitbucket/workspaces",
1816
+ method: "get",
1817
+ schema: bitbucketWorkspaceSchema.array()
1818
+ });
1819
+ }
1820
+ async function listDocsProjectBitbucketBranches(uid, opts = {}) {
1821
+ const params = new URLSearchParams();
1822
+ if (opts.query)
1823
+ params.set("query", opts.query);
1824
+ if (opts.page !== void 0)
1825
+ params.set("page", String(opts.page));
1826
+ if (opts.perPage !== void 0)
1827
+ params.set("perPage", String(opts.perPage));
1828
+ const qs = params.toString() ? `?${params.toString()}` : "";
1829
+ return await requestService.request({
1830
+ url: `core/vcs/bitbucket/docs-project/${uid}/branches${qs}`,
1831
+ method: "get",
1832
+ schema: external_exports.object({
1833
+ branches: external_exports.object({
1834
+ name: external_exports.string(),
1835
+ isDefault: external_exports.boolean()
1836
+ }).array(),
1837
+ hasMore: external_exports.boolean()
1838
+ })
1839
+ });
1840
+ }
1841
+ async function disconnectAccount() {
1842
+ return await requestService.request({
1843
+ url: "core/vcs/bitbucket/disconnect-account",
1844
+ method: "post",
1845
+ schema: external_exports.object({ success: external_exports.literal(true) })
1846
+ });
1847
+ }
1848
+ return {
1849
+ initiateLink,
1850
+ getWorkspaces,
1851
+ listDocsProjectBitbucketBranches,
1852
+ disconnectAccount
1853
+ };
1854
+ }
1855
+
1856
+ // ../../packages/service-api/dist/apis/docs-project.js
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
+ }
1872
+ async function createProject(data) {
1873
+ return await requestService.request({
1874
+ url: "core/docs-projects/create",
1875
+ method: "post",
1876
+ data,
1877
+ schema: docsProjectSchema
1878
+ });
1879
+ }
1880
+ async function deleteProject(projectUid) {
1881
+ return await requestService.request({
1882
+ url: "core/docs-projects/delete",
1883
+ method: "delete",
1884
+ data: { projectUid },
1885
+ schema: external_exports.null()
1886
+ });
1887
+ }
1888
+ async function getProject(slug) {
1889
+ return await requestService.request({
1890
+ url: `core/docs-projects/${slug}`,
1891
+ method: "get",
1892
+ schema: docsProjectSchema
1893
+ });
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
+ }
1922
+ async function getGitCredentials() {
1923
+ return await requestService.request({
1924
+ url: "core/forgejo/git-credentials",
1925
+ method: "get",
1926
+ schema: external_exports.object({
1927
+ forgejoBaseUrl: external_exports.string(),
1928
+ forgejoToken: external_exports.string(),
1929
+ forgejoUsername: external_exports.string()
1930
+ })
1931
+ });
1932
+ }
1933
+ async function updateRepoSettings(projectUid, patch) {
1934
+ return await requestService.request({
1935
+ url: "core/docs-projects/update-repo-settings",
1936
+ method: "post",
1937
+ data: { projectUid, ...patch },
1938
+ schema: external_exports.null()
1939
+ });
1940
+ }
1941
+ async function linkGithub(data) {
1942
+ return await requestService.request({
1943
+ url: `core/docs-projects/${data.projectUid}/link-github`,
1944
+ method: "post",
1945
+ data: { installationId: data.installationId, repoId: data.repoId },
1946
+ schema: external_exports.object({
1947
+ /** Null when the repo had no commits and the docs went straight onto it. */
1948
+ pullRequest: external_exports.object({
1949
+ url: external_exports.string(),
1950
+ number: external_exports.number().int(),
1951
+ branch: external_exports.string()
1952
+ }).nullable(),
1953
+ project: docsProjectSchema
1954
+ })
1955
+ });
1956
+ }
1957
+ async function unlinkGithub(projectUid) {
1958
+ return await requestService.request({
1959
+ url: `core/docs-projects/${projectUid}/unlink-github`,
1960
+ method: "post",
1961
+ schema: external_exports.object({ project: docsProjectSchema })
1962
+ });
1963
+ }
1964
+ async function linkBitbucket(data) {
1965
+ return await requestService.request({
1966
+ url: `core/docs-projects/${data.projectUid}/link-bitbucket`,
1967
+ method: "post",
1968
+ data: {
1969
+ workspaceUuid: data.workspaceUuid,
1970
+ repoUuid: data.repoUuid
1971
+ },
1972
+ schema: external_exports.object({
1973
+ pullRequest: external_exports.object({
1974
+ url: external_exports.string(),
1975
+ number: external_exports.number().int(),
1976
+ branch: external_exports.string()
1977
+ }),
1978
+ project: docsProjectSchema
1979
+ })
1980
+ });
1981
+ }
1982
+ async function unlinkBitbucket(projectUid) {
1983
+ return await requestService.request({
1984
+ url: `core/docs-projects/${projectUid}/unlink-bitbucket`,
1985
+ method: "post",
1986
+ schema: external_exports.object({ project: docsProjectSchema })
1987
+ });
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
+ }
1997
+ async function refreshBitbucketWebhook(projectUid) {
1998
+ return await requestService.request({
1999
+ url: `core/docs-projects/${projectUid}/bitbucket/refresh-webhook`,
2000
+ method: "post",
2001
+ schema: external_exports.object({ project: docsProjectSchema })
2002
+ });
2003
+ }
2004
+ return {
2005
+ listProjects,
2006
+ createProject,
2007
+ deleteProject,
2008
+ getProject,
2009
+ getConfig,
2010
+ putConfig,
2011
+ getGitCredentials,
2012
+ updateRepoSettings,
2013
+ linkGithub,
2014
+ unlinkGithub,
2015
+ linkBitbucket,
2016
+ unlinkBitbucket,
2017
+ refreshBitbucketWebhook,
2018
+ switchRepository
2019
+ };
2020
+ }
2021
+
2022
+ // ../../packages/service-api/dist/apis/feedback.js
2023
+ function feedbackApiFactory(requestService) {
2024
+ async function submit(email, feedback) {
2025
+ return await requestService.request({
2026
+ url: "core/feedback",
2027
+ method: "post",
2028
+ data: {
2029
+ email,
2030
+ feedback
2031
+ },
2032
+ schema: external_exports.null()
2033
+ });
2034
+ }
2035
+ return {
2036
+ submit
2037
+ };
2038
+ }
2039
+
2040
+ // ../../packages/service-api/dist/apis/github.js
2041
+ function githubApiFactory(requestService) {
2042
+ async function initiateLink(opts = {}) {
2043
+ const params = new URLSearchParams();
2044
+ if (opts.redirect)
2045
+ params.set("redirect", opts.redirect);
2046
+ const qs = params.toString() ? `?${params.toString()}` : "";
2047
+ return await requestService.request({
2048
+ url: `core/github/link/initiate${qs}`,
2049
+ method: "get",
2050
+ schema: external_exports.object({
2051
+ url: external_exports.string()
2052
+ })
2053
+ });
2054
+ }
2055
+ async function getRepos() {
2056
+ return await requestService.request({
2057
+ url: "core/github/repos",
2058
+ method: "get",
2059
+ schema: githubInstallSchema.array()
2060
+ });
2061
+ }
2062
+ async function getInstalls() {
2063
+ return await requestService.request({
2064
+ url: "core/github/installs",
2065
+ method: "get",
2066
+ schema: external_exports.object({
2067
+ id: external_exports.number(),
2068
+ name: external_exports.string(),
2069
+ icon: external_exports.string().optional()
2070
+ }).array()
2071
+ });
2072
+ }
2073
+ async function getInstallRepos(installationId, opts = {}) {
2074
+ const params = new URLSearchParams();
2075
+ if (opts.page !== void 0)
2076
+ params.set("page", String(opts.page));
2077
+ if (opts.perPage !== void 0)
2078
+ params.set("perPage", String(opts.perPage));
2079
+ const qs = params.toString() ? `?${params.toString()}` : "";
2080
+ return await requestService.request({
2081
+ url: `core/github/installs/${installationId}/repos${qs}`,
2082
+ method: "get",
2083
+ schema: external_exports.object({
2084
+ repos: external_exports.object({ id: external_exports.number(), name: external_exports.string() }).array(),
2085
+ hasMore: external_exports.boolean(),
2086
+ totalCount: external_exports.number()
2087
+ })
2088
+ });
2089
+ }
2090
+ async function getRepoInfo(id) {
2091
+ return await requestService.request({
2092
+ url: `core/github/repos/${id}`,
2093
+ method: "get",
2094
+ schema: external_exports.object({
2095
+ name: external_exports.string(),
2096
+ description: external_exports.string().optional(),
2097
+ private: external_exports.boolean(),
2098
+ url: external_exports.string(),
2099
+ src: external_exports.string().optional()
2100
+ })
2101
+ });
2102
+ }
2103
+ async function linkRepo(data) {
2104
+ return await requestService.request({
2105
+ url: "core/github/link-repo",
2106
+ method: "post",
2107
+ data,
2108
+ schema: external_exports.null()
2109
+ });
2110
+ }
2111
+ async function unlinkRepo(data) {
2112
+ return await requestService.request({
2113
+ url: "core/github/unlink-repo",
2114
+ method: "post",
2115
+ data,
2116
+ schema: external_exports.null()
2117
+ });
2118
+ }
2119
+ async function getDocsProjectGithubCommits(uid, opts = {}) {
2120
+ const params = new URLSearchParams();
2121
+ if (opts.branch)
2122
+ params.set("branch", opts.branch);
2123
+ if (opts.page !== void 0)
2124
+ params.set("page", String(opts.page));
2125
+ if (opts.perPage !== void 0)
2126
+ params.set("perPage", String(opts.perPage));
2127
+ const qs = params.toString() ? `?${params.toString()}` : "";
2128
+ return await requestService.request({
2129
+ url: `core/github/docs-project/${uid}/commits${qs}`,
2130
+ method: "get",
2131
+ schema: external_exports.object({
2132
+ sha: external_exports.string(),
2133
+ message: external_exports.string(),
2134
+ authorName: external_exports.string(),
2135
+ authorEmail: external_exports.string(),
2136
+ timestamp: external_exports.number()
2137
+ }).array()
2138
+ });
2139
+ }
2140
+ async function listDocsProjectGithubBranches(uid, opts = {}) {
2141
+ const params = new URLSearchParams();
2142
+ if (opts.query)
2143
+ params.set("query", opts.query);
2144
+ if (opts.page !== void 0)
2145
+ params.set("page", String(opts.page));
2146
+ if (opts.perPage !== void 0)
2147
+ params.set("perPage", String(opts.perPage));
2148
+ const qs = params.toString() ? `?${params.toString()}` : "";
2149
+ return await requestService.request({
2150
+ url: `core/github/docs-project/${uid}/branches${qs}`,
2151
+ method: "get",
2152
+ schema: external_exports.object({
2153
+ branches: external_exports.object({
2154
+ name: external_exports.string(),
2155
+ isDefault: external_exports.boolean()
2156
+ }).array(),
2157
+ hasMore: external_exports.boolean()
2158
+ })
2159
+ });
2160
+ }
2161
+ async function createDocsProjectGithubPullRequest(uid, data) {
2162
+ return await requestService.request({
2163
+ url: `core/github/docs-project/${uid}/pull-request`,
2164
+ method: "post",
2165
+ data,
2166
+ schema: external_exports.object({
2167
+ url: external_exports.string(),
2168
+ number: external_exports.number(),
2169
+ alreadyExists: external_exports.boolean()
2170
+ })
2171
+ });
2172
+ }
2173
+ async function getDocsProjectGithubPullRequestForBranch(uid, branch) {
2174
+ const qs = new URLSearchParams({ branch }).toString();
2175
+ return await requestService.request({
2176
+ url: `core/github/docs-project/${uid}/pull-request/for-branch?${qs}`,
2177
+ method: "get",
2178
+ schema: external_exports.object({
2179
+ pullRequest: external_exports.object({
2180
+ url: external_exports.string(),
2181
+ number: external_exports.number(),
2182
+ title: external_exports.string(),
2183
+ body: external_exports.string()
2184
+ }).nullable()
2185
+ })
2186
+ });
2187
+ }
2188
+ async function publishRepo(githubProjectId) {
2189
+ return await requestService.request({
2190
+ url: "core/publish/github",
2191
+ method: "post",
2192
+ data: { projectId: githubProjectId },
2193
+ schema: external_exports.object({
2194
+ publishUid: external_exports.string()
2195
+ })
2196
+ });
2197
+ }
2198
+ async function checkSlug(slug) {
2199
+ return await requestService.request({
2200
+ url: "core/github/slug/available",
2201
+ method: "post",
2202
+ data: { slug },
2203
+ schema: external_exports.object({
2204
+ isAvailable: external_exports.boolean()
2205
+ })
2206
+ });
2207
+ }
2208
+ async function updateSlug(uid, slug) {
2209
+ return await requestService.request({
2210
+ url: "core/github/slug",
2211
+ method: "post",
2212
+ data: { uid, slug },
2213
+ schema: external_exports.null()
2214
+ });
2215
+ }
2216
+ async function getProject(slug) {
2217
+ return await requestService.request({
2218
+ url: `core/github/${slug}`,
2219
+ method: "get",
2220
+ schema: githubProjectSchema
2221
+ });
2222
+ }
2223
+ async function getProjects() {
2224
+ return await requestService.request({
2225
+ url: "core/github/list-projects",
2226
+ method: "get",
2227
+ schema: githubProjectSchema.array()
2228
+ });
2229
+ }
2230
+ async function deleteProject(projectUid) {
2231
+ return await requestService.request({
2232
+ url: "core/github/delete",
2233
+ method: "post",
2234
+ data: { projectUid },
2235
+ schema: external_exports.null()
2236
+ });
2237
+ }
2238
+ async function createProject({ name, slug, isPrivate, accessGroups, allowedUsers, allowedDomains, repositoryId }) {
2239
+ return await requestService.request({
2240
+ url: "core/github/create",
2241
+ method: "post",
2242
+ data: {
2243
+ name,
2244
+ slug,
2245
+ isPrivate,
2246
+ accessGroups,
2247
+ allowedUsers,
2248
+ allowedDomains,
2249
+ repositoryId
2250
+ },
2251
+ schema: external_exports.object({
2252
+ uid: external_exports.string(),
2253
+ slug: external_exports.string()
2254
+ })
2255
+ });
2256
+ }
2257
+ async function disconnectAccount() {
2258
+ return await requestService.request({
2259
+ url: "core/vcs/github/disconnect-account",
2260
+ method: "post",
2261
+ schema: external_exports.object({ success: external_exports.literal(true) })
2262
+ });
2263
+ }
2264
+ async function validateConfigFile(uid, configPath) {
2265
+ return await requestService.request({
2266
+ url: "core/github/config/validate",
2267
+ method: "post",
2268
+ data: { projectId: uid, configPath },
2269
+ schema: external_exports.union([
2270
+ external_exports.object({
2271
+ config: external_exports.string(),
2272
+ success: external_exports.literal(true),
2273
+ version: external_exports.string().optional(),
2274
+ path: external_exports.string().optional()
2275
+ }),
2276
+ external_exports.object({
2277
+ config: external_exports.string(),
2278
+ success: external_exports.literal(false),
2279
+ version: external_exports.string().optional(),
2280
+ error: external_exports.string().array(),
2281
+ path: external_exports.string().optional()
2282
+ })
2283
+ ])
2284
+ });
2285
+ }
2286
+ return {
2287
+ initiateLink,
2288
+ getRepos,
2289
+ getInstalls,
2290
+ getInstallRepos,
2291
+ linkRepo,
2292
+ unlinkRepo,
2293
+ getDocsProjectGithubCommits,
2294
+ listDocsProjectGithubBranches,
2295
+ createDocsProjectGithubPullRequest,
2296
+ getDocsProjectGithubPullRequestForBranch,
2297
+ publishRepo,
2298
+ getRepoInfo,
2299
+ checkSlug,
2300
+ updateSlug,
2301
+ createProject,
2302
+ deleteProject,
2303
+ validateConfigFile,
2304
+ getProject,
2305
+ getProjects,
2306
+ disconnectAccount
2307
+ };
2308
+ }
2309
+
2310
+ // ../../packages/service-api/dist/apis/hocuspocus.js
2311
+ function hocuspocusApiFactory(requestService) {
2312
+ async function fetchDoc(name) {
2313
+ return await requestService.request({
2314
+ url: `hocuspocus/doc/${name}`,
2315
+ method: "get",
2316
+ schema: external_exports.any()
2317
+ });
2318
+ }
2319
+ async function fetchReference(name) {
2320
+ return await requestService.request({
2321
+ url: `hocuspocus/doc/${name}`,
2322
+ method: "get",
2323
+ schema: external_exports.any()
2324
+ });
2325
+ }
2326
+ async function fetchReferences(yjsRefs) {
2327
+ return await requestService.request({
2328
+ url: "hocuspocus/doc/batch",
2329
+ method: "post",
2330
+ data: {
2331
+ items: yjsRefs.map((ref) => `reference-${ref}`),
2332
+ parser: "reference"
2333
+ },
2334
+ schema: external_exports.record(external_exports.string(), external_exports.string().nullable())
2335
+ });
2336
+ }
2337
+ return {
2338
+ fetchDoc,
2339
+ fetchReference,
2340
+ fetchReferences
2341
+ };
2342
+ }
2343
+
2344
+ // ../../packages/service-api/dist/apis/image.js
2345
+ function imageApiFactory(requestService) {
2346
+ async function upload(file) {
2347
+ const formData = new FormData();
2348
+ formData.append("image", file);
2349
+ return await requestService.request({
2350
+ url: "image-uploader/",
2351
+ method: "post",
2352
+ data: formData,
2353
+ schema: external_exports.object({ imageUrl: external_exports.string() })
2354
+ });
2355
+ }
2356
+ async function remove(imageUrl) {
2357
+ return await requestService.request({
2358
+ url: "image-uploader/",
2359
+ method: "delete",
2360
+ data: { imageUrl },
2361
+ schema: external_exports.null()
2362
+ });
2363
+ }
2364
+ return {
2365
+ upload,
2366
+ remove
2367
+ };
2368
+ }
2369
+
2370
+ // ../../packages/service-api/dist/apis/payment.js
2371
+ function paymentApiFactory(requestService) {
2372
+ async function startSession(billingPlan, redirectUrl, flow) {
2373
+ return await requestService.request({
2374
+ url: "core/payment/start",
2375
+ method: "post",
2376
+ data: {
2377
+ billingPlan,
2378
+ redirectUrl,
2379
+ flow
2380
+ },
2381
+ schema: external_exports.string()
2382
+ });
2383
+ }
2384
+ async function startBillingSession(data) {
2385
+ return await requestService.request({
2386
+ url: "core/payment/billing/start",
2387
+ method: "post",
2388
+ schema: external_exports.string(),
2389
+ data
2390
+ });
2391
+ }
2392
+ return {
2393
+ startSession,
2394
+ startBillingSession
2395
+ };
2396
+ }
2397
+
2398
+ // ../../packages/service-api/dist/apis/project.js
2399
+ function projectApiFactory(requestService) {
2400
+ async function createProject(name, hideGuide, hideReference) {
2401
+ return await requestService.request({
2402
+ url: "core/docs/create-project",
2403
+ method: "post",
2404
+ data: {
2405
+ name,
2406
+ hideGuide,
2407
+ hideReference
2408
+ },
2409
+ schema: projectSchema
2410
+ });
2411
+ }
2412
+ async function updateProject(projectUid, data) {
2413
+ return await requestService.request({
2414
+ url: "core/project/update",
2415
+ method: "post",
2416
+ data: { projectUid, ...data },
2417
+ schema: external_exports.null()
2418
+ });
2419
+ }
2420
+ async function deleteProject(projectId) {
2421
+ return await requestService.request({
2422
+ url: "core/docs/delete-project",
2423
+ method: "delete",
2424
+ data: { projectId },
2425
+ schema: external_exports.null()
2426
+ });
2427
+ }
2428
+ async function changeProjectPrivacy(projectUid, makePrivate) {
2429
+ return await requestService.request({
2430
+ url: "core/docs/project/change-privacy",
2431
+ method: "post",
2432
+ data: { projectUid, makePrivate },
2433
+ schema: external_exports.null()
2434
+ });
2435
+ }
2436
+ async function createVersion(data) {
2437
+ return await requestService.request({
2438
+ url: "core/docs/version",
2439
+ method: "post",
2440
+ data,
2441
+ schema: external_exports.object({
2442
+ uid: nanoidSchema
2443
+ })
2444
+ });
2445
+ }
2446
+ return {
2447
+ createProject,
2448
+ deleteProject,
2449
+ changeProjectPrivacy,
2450
+ createVersion,
2451
+ updateProject
2452
+ };
2453
+ }
2454
+
2455
+ // ../../packages/service-api/dist/apis/publish.js
2456
+ function publishApiFactory(requestService) {
2457
+ async function publishCli({ tarStream, configPath, slug, mode }) {
2458
+ const params = new URLSearchParams({
2459
+ slug,
2460
+ configPath,
2461
+ ...mode && { mode }
2462
+ });
2463
+ return await requestService.request({
2464
+ url: `publish-deploy/publish/cli?${params.toString()}`,
2465
+ method: "post",
2466
+ data: tarStream,
2467
+ headers: {
2468
+ "Content-Type": "application/octet-stream"
2469
+ },
2470
+ schema: external_exports.object({ publishUid: nanoidSchema })
2471
+ });
2472
+ }
2473
+ async function publishGithub({ slug, configPath, preview, commitSha }) {
2474
+ return await requestService.request({
2475
+ url: "publish-deploy/publish/github",
2476
+ method: "post",
2477
+ data: {
2478
+ slug,
2479
+ configPath,
2480
+ preview,
2481
+ commitSha
2482
+ },
2483
+ schema: external_exports.object({ publishUid: nanoidSchema })
2484
+ });
2485
+ }
2486
+ async function publishDocsProject({ slug, configPath, preview, pullRequestComments, commitSha }) {
2487
+ return await requestService.request({
2488
+ url: "publish-deploy/publish/docs-project",
2489
+ method: "post",
2490
+ data: {
2491
+ slug,
2492
+ configPath,
2493
+ preview,
2494
+ pullRequestComments,
2495
+ commitSha
2496
+ },
2497
+ schema: external_exports.object({ publishUid: nanoidSchema })
2498
+ });
2499
+ }
2500
+ async function publishWysiwyg(uid) {
2501
+ return await requestService.request({
2502
+ url: "publish-deploy/publish/wysiwyg",
2503
+ method: "post",
2504
+ data: {
2505
+ uid
2506
+ },
2507
+ schema: external_exports.object({
2508
+ publishUid: nanoidSchema
2509
+ })
2510
+ });
2511
+ }
2512
+ async function publishTemplate({ slug, repository, branch, configPath }) {
2513
+ return await requestService.request({
2514
+ url: "publish-deploy/publish/template",
2515
+ method: "post",
2516
+ data: {
2517
+ slug,
2518
+ repository,
2519
+ branch,
2520
+ configPath
2521
+ },
2522
+ schema: external_exports.object({ publishUid: nanoidSchema })
2523
+ });
2524
+ }
2525
+ async function createPreviewSandbox(repo) {
2526
+ return await requestService.request({
2527
+ url: "publish-deploy/preview-sandbox",
2528
+ method: "post",
2529
+ data: repo,
2530
+ schema: external_exports.object({
2531
+ sandboxId: external_exports.string(),
2532
+ gitUrl: external_exports.string(),
2533
+ previewUrl: external_exports.string()
2534
+ })
2535
+ });
2536
+ }
2537
+ async function stopPreviewSandbox({ sandboxId, keepalive }) {
2538
+ return await requestService.request({
2539
+ url: "publish-deploy/preview-sandbox/stop",
2540
+ method: "post",
2541
+ data: { sandboxId },
2542
+ schema: external_exports.null(),
2543
+ ...keepalive && { keepalive: true }
2544
+ });
2545
+ }
2546
+ async function getPreviewSandboxLog({ sandboxId }) {
2547
+ return await requestService.request({
2548
+ url: "publish-deploy/preview-sandbox/log",
2549
+ method: "post",
2550
+ data: { sandboxId },
2551
+ schema: external_exports.object({
2552
+ log: external_exports.string().nullable()
2553
+ })
2554
+ });
2555
+ }
2556
+ async function checkDNSRecords(domain) {
2557
+ return await requestService.request({
2558
+ url: "core/publish/dns-check",
2559
+ method: "post",
2560
+ data: {
2561
+ domain
2562
+ },
2563
+ schema: external_exports.object({
2564
+ status: external_exports.enum(["verified", "pending", "misconfigured"]),
2565
+ expected: external_exports.object({
2566
+ type: external_exports.literal("CNAME"),
2567
+ target: external_exports.string()
2568
+ }),
2569
+ found: external_exports.array(external_exports.string())
2570
+ })
2571
+ });
2572
+ }
2573
+ async function unpublish(projectUid, githubProjectUid, unifiedProjectUid) {
2574
+ return await requestService.request({
2575
+ url: "core/unpublish",
2576
+ method: "delete",
2577
+ data: {
2578
+ projectUid,
2579
+ githubProjectUid,
2580
+ unifiedProjectUid
2581
+ },
2582
+ schema: external_exports.null()
2583
+ });
2584
+ }
2585
+ async function redeploy(publishUid) {
2586
+ return await requestService.request({
2587
+ url: "core/publish/redeploy",
2588
+ method: "post",
2589
+ data: {
2590
+ publishUid
2591
+ },
2592
+ schema: external_exports.null()
2593
+ });
2594
+ }
2595
+ async function cancelPublish(publishUid) {
2596
+ return await requestService.request({
2597
+ url: "core/publish/cancel",
2598
+ method: "post",
2599
+ data: {
2600
+ publishUid
2601
+ },
2602
+ schema: external_exports.null()
2603
+ });
2604
+ }
2605
+ async function deleteRecord(publishUid) {
2606
+ return await requestService.request({
2607
+ url: "core/publish",
2608
+ method: "delete",
2609
+ data: {
2610
+ publishUid
2611
+ },
2612
+ schema: external_exports.null()
2613
+ });
2614
+ }
2615
+ async function bulkDelete(projectUid) {
2616
+ return await requestService.request({
2617
+ url: "core/publish/bulk",
2618
+ method: "delete",
2619
+ data: {
2620
+ projectUid
2621
+ },
2622
+ schema: external_exports.null()
2623
+ });
2624
+ }
2625
+ async function getPublishLogs(publishUid) {
2626
+ return await requestService.request({
2627
+ url: `core/publish/logs/${publishUid}`,
2628
+ method: "get",
2629
+ schema: external_exports.string(),
2630
+ stream: true
2631
+ });
2632
+ }
2633
+ async function getDomainAvailability(domain) {
2634
+ return await requestService.request({
2635
+ url: "core/publish/domains/availability",
2636
+ method: "post",
2637
+ data: {
2638
+ domain
2639
+ },
2640
+ schema: external_exports.object({
2641
+ available: external_exports.boolean()
2642
+ })
2643
+ });
2644
+ }
2645
+ async function getProjectDomains(projectUid) {
2646
+ return await requestService.request({
2647
+ url: "core/publish/domains/project",
2648
+ method: "post",
2649
+ data: {
2650
+ projectUid
2651
+ },
2652
+ schema: external_exports.object({
2653
+ scalarDomain: external_exports.string().nullable(),
2654
+ customDomain: external_exports.string().nullable()
2655
+ })
2656
+ });
2657
+ }
2658
+ async function exportWysiwyg(uid, filename) {
2659
+ const token = requestService.getAuthToken?.();
2660
+ const url = `${requestService.baseUrl}/publish-deploy/export/wysiwyg`.replace(/([^:]\/)\/+/g, "$1");
2661
+ const response = await fetch(url, {
2662
+ method: "POST",
2663
+ headers: {
2664
+ "Content-Type": "application/json",
2665
+ ...token ? { Authorization: `Bearer ${token}` } : {}
2666
+ },
2667
+ body: JSON.stringify({ uid })
2668
+ });
2669
+ if (!response.ok) {
2670
+ const text = await response.text().catch(() => "Export failed");
2671
+ return { error: true, message: text, status: response.status };
2672
+ }
2673
+ const blob = await response.blob();
2674
+ const downloadUrl = URL.createObjectURL(blob);
2675
+ const a = document.createElement("a");
2676
+ a.href = downloadUrl;
2677
+ a.download = filename ?? "project-export.zip";
2678
+ document.body.appendChild(a);
2679
+ a.click();
2680
+ a.remove();
2681
+ URL.revokeObjectURL(downloadUrl);
2682
+ return { error: false };
2683
+ }
2684
+ return {
2685
+ publishCli,
2686
+ publishDocsProject,
2687
+ publishGithub,
2688
+ publishTemplate,
2689
+ publishWysiwyg,
2690
+ createPreviewSandbox,
2691
+ stopPreviewSandbox,
2692
+ getPreviewSandboxLog,
2693
+ exportWysiwyg,
2694
+ checkDNSRecords,
2695
+ unpublish,
2696
+ deleteRecord,
2697
+ redeploy,
2698
+ cancelPublish,
2699
+ bulkDelete,
2700
+ getPublishLogs,
2701
+ getDomainAvailability,
2702
+ getProjectDomains
2703
+ };
2704
+ }
2705
+
2706
+ // ../../packages/service-api/dist/apis/signup.js
2707
+ function signupApiFactory(requestService) {
2708
+ async function saveData(signupData) {
2709
+ return await requestService.request({
2710
+ url: "core/signup-data",
2711
+ method: "post",
2712
+ data: signupData,
2713
+ schema: external_exports.object({ dataUid: external_exports.string() })
2714
+ });
2715
+ }
2716
+ return {
2717
+ saveData
2718
+ };
2719
+ }
2720
+
2721
+ // ../../packages/service-api/dist/apis/team.js
2722
+ function teamApiFactory(requestService, getNewTokens) {
2723
+ async function list() {
2724
+ return await requestService.request({
2725
+ url: "core/me/teams",
2726
+ method: "get",
2727
+ schema: external_exports.object({
2728
+ uid: nanoidSchema,
2729
+ name: teamNameSchema,
2730
+ slug: slugSchema,
2731
+ imageUri: teamImageSchema,
2732
+ theme: external_exports.string()
2733
+ }).array()
2734
+ });
2735
+ }
2736
+ async function create(data) {
2737
+ return await requestService.request({
2738
+ url: "core/team/create",
2739
+ method: "post",
2740
+ data,
2741
+ schema: external_exports.object({
2742
+ teamUid: external_exports.string()
2743
+ })
2744
+ }).then(async (r) => {
2745
+ if (!r.error)
2746
+ await getNewTokens(r.data.teamUid);
2747
+ return r;
2748
+ });
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
+ }
2760
+ async function inviteMember(data) {
2761
+ return await requestService.request({
2762
+ url: "core/team/invite",
2763
+ method: "post",
2764
+ data,
2765
+ schema: external_exports.null()
2766
+ });
2767
+ }
2768
+ async function removeInvite(invitedUserUid) {
2769
+ return await requestService.request({
2770
+ url: "core/team/invite",
2771
+ method: "delete",
2772
+ data: { uid: invitedUserUid },
2773
+ schema: external_exports.null()
2774
+ });
2775
+ }
2776
+ async function resendInvite(inviteUid) {
2777
+ return await requestService.request({
2778
+ url: "core/team/invite",
2779
+ method: "patch",
2780
+ data: { uid: inviteUid },
2781
+ schema: external_exports.null()
2782
+ });
2783
+ }
2784
+ async function updateSlug(slug) {
2785
+ return await requestService.request({
2786
+ url: "core/team/slug",
2787
+ method: "post",
2788
+ data: { slug },
2789
+ schema: external_exports.null()
2790
+ });
2791
+ }
2792
+ async function checkSlug(slug) {
2793
+ return await requestService.request({
2794
+ url: "core/team/slug/available",
2795
+ method: "post",
2796
+ data: { slug },
2797
+ schema: external_exports.object({
2798
+ isAvailable: external_exports.boolean()
2799
+ })
2800
+ });
2801
+ }
2802
+ async function createNamespace(namespace) {
2803
+ return await requestService.request({
2804
+ url: "core/team/namespace",
2805
+ method: "post",
2806
+ data: { namespace },
2807
+ schema: external_exports.null()
2808
+ });
2809
+ }
2810
+ async function getNamespaces() {
2811
+ return await requestService.request({
2812
+ url: "core/team/namespaces",
2813
+ method: "get",
2814
+ schema: external_exports.string().array()
2815
+ });
2816
+ }
2817
+ async function updateNamespace(namespace, newNamespace) {
2818
+ return await requestService.request({
2819
+ url: "core/team/namespace/update",
2820
+ method: "post",
2821
+ data: { namespace, newNamespace },
2822
+ schema: external_exports.null()
2823
+ });
2824
+ }
2825
+ async function checkNamespace(namespace) {
2826
+ return await requestService.request({
2827
+ url: "core/team/namespace/available",
2828
+ method: "post",
2829
+ data: { namespace },
2830
+ schema: external_exports.object({
2831
+ isAvailable: external_exports.boolean()
2832
+ })
2833
+ });
2834
+ }
2835
+ async function rename(name) {
2836
+ return await requestService.request({
2837
+ url: "core/team/rename",
2838
+ method: "post",
2839
+ data: { name },
2840
+ schema: external_exports.null()
2841
+ });
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
+ }
2853
+ async function leave() {
2854
+ return await requestService.request({
2855
+ url: "core/team/leave",
2856
+ method: "get",
2857
+ schema: external_exports.null()
2858
+ }).then(async (r) => {
2859
+ if (!r.error)
2860
+ await getNewTokens();
2861
+ return r;
2862
+ });
2863
+ }
2864
+ async function removeMember(userUid) {
2865
+ return await requestService.request({
2866
+ url: "core/team/delete-member",
2867
+ method: "post",
2868
+ data: {
2869
+ userUid
2870
+ },
2871
+ schema: external_exports.null()
2872
+ });
2873
+ }
2874
+ async function updateRole(data) {
2875
+ return await requestService.request({
2876
+ url: "core/team/update-role",
2877
+ method: "post",
2878
+ data,
2879
+ schema: external_exports.null()
2880
+ });
2881
+ }
2882
+ async function deleteTeam() {
2883
+ return await requestService.request({
2884
+ url: "core/team",
2885
+ method: "delete",
2886
+ data: null,
2887
+ schema: external_exports.object({
2888
+ newTeamUid: nanoidSchema.nullable()
2889
+ })
2890
+ }).then(async (r) => {
2891
+ if (!r.error)
2892
+ await getNewTokens();
2893
+ return r;
2894
+ });
2895
+ }
2896
+ async function updateImage(imageUri) {
2897
+ return await requestService.request({
2898
+ url: "core/team/image",
2899
+ method: "post",
2900
+ data: {
2901
+ imageUri
2902
+ },
2903
+ schema: external_exports.null()
2904
+ });
2905
+ }
2906
+ async function update(data) {
2907
+ return await requestService.request({
2908
+ url: "core/team/update",
2909
+ method: "post",
2910
+ data,
2911
+ schema: external_exports.null()
2912
+ });
2913
+ }
2914
+ async function updateTeamUser(updateRequestData) {
2915
+ return await requestService.request({
2916
+ url: "core/team/update-user",
2917
+ method: "post",
2918
+ data: updateRequestData,
2919
+ schema: external_exports.null()
2920
+ });
2921
+ }
2922
+ async function getBillingSummary() {
2923
+ return await requestService.request({
2924
+ url: "core/team/billing",
2925
+ method: "get",
2926
+ schema: teamBillingSummary
2927
+ });
2928
+ }
2929
+ async function getSdkPricing() {
2930
+ return await requestService.request({
2931
+ url: "core/team/sdk-pricing",
2932
+ method: "get",
2933
+ schema: teamSdkPricing
2934
+ });
2935
+ }
2936
+ async function updateBillingPlan(billingPlan) {
2937
+ return await requestService.request({
2938
+ url: "core/team/update/plan",
2939
+ method: "post",
2940
+ data: {
2941
+ billingPlan
2942
+ },
2943
+ schema: external_exports.null()
2944
+ });
2945
+ }
2946
+ async function updateBillingEmail(email) {
2947
+ return await requestService.request({
2948
+ url: "core/team/billing/email",
2949
+ method: "post",
2950
+ data: {
2951
+ email
2952
+ },
2953
+ schema: external_exports.null()
2954
+ });
2955
+ }
2956
+ async function extendTrial() {
2957
+ return await requestService.request({
2958
+ url: "core/team/extend-trial",
2959
+ method: "post",
2960
+ data: {},
2961
+ schema: external_exports.null()
2962
+ });
2963
+ }
2964
+ async function onboardingSetup(data) {
2965
+ return await requestService.request({
2966
+ url: "core/team/onboarding/complete",
2967
+ method: "post",
2968
+ data,
2969
+ schema: external_exports.null()
2970
+ });
2971
+ }
2972
+ async function onboardingComplete() {
2973
+ return await requestService.request({
2974
+ url: "core/team/onboarding/complete",
2975
+ method: "post",
2976
+ data: {},
2977
+ schema: external_exports.null()
2978
+ });
2979
+ }
2980
+ async function addTeamIcon(data) {
2981
+ return await requestService.request({
2982
+ url: "core/team/icon",
2983
+ method: "post",
2984
+ data,
2985
+ schema: external_exports.null()
2986
+ });
2987
+ }
2988
+ async function removeTeamIcon(data) {
2989
+ return await requestService.request({
2990
+ url: "core/team/icon",
2991
+ method: "delete",
2992
+ data,
2993
+ schema: external_exports.null()
2994
+ });
2995
+ }
2996
+ async function addAuthenticationDomain(data) {
2997
+ return await requestService.request({
2998
+ url: "core/team/authentication/domain",
2999
+ method: "post",
3000
+ data,
3001
+ schema: external_exports.null()
3002
+ });
3003
+ }
3004
+ async function deleteAuthenticationDomain(data) {
3005
+ return await requestService.request({
3006
+ url: "core/team/authentication/domain",
3007
+ method: "delete",
3008
+ data,
3009
+ schema: external_exports.null()
3010
+ });
3011
+ }
3012
+ async function toggleAuthenticationMethod(data) {
3013
+ return await requestService.request({
3014
+ url: "core/team/authentication/method",
3015
+ method: "post",
3016
+ data,
3017
+ schema: external_exports.null()
3018
+ });
3019
+ }
3020
+ async function editAuthenticationUserControls(data) {
3021
+ return await requestService.request({
3022
+ url: "core/team/authentication/user",
3023
+ method: "post",
3024
+ data,
3025
+ schema: external_exports.null()
3026
+ });
3027
+ }
3028
+ async function removeAuthenticationUserControls(data) {
3029
+ return await requestService.request({
3030
+ url: "core/team/authentication/user",
3031
+ method: "delete",
3032
+ data,
3033
+ schema: external_exports.null()
3034
+ });
3035
+ }
3036
+ async function toggleUserAuthenticationMethod(data) {
3037
+ return await requestService.request({
3038
+ url: "core/team/authentication/user/method",
3039
+ method: "post",
3040
+ data,
3041
+ schema: external_exports.null()
3042
+ });
3043
+ }
3044
+ async function toggleExternalAccessMethod(data) {
3045
+ return await requestService.request({
3046
+ url: "core/team/external-access/method",
3047
+ method: "post",
3048
+ data,
3049
+ schema: external_exports.null()
3050
+ });
3051
+ }
3052
+ return {
3053
+ list,
3054
+ create,
3055
+ getMembers,
3056
+ inviteMember,
3057
+ removeInvite,
3058
+ resendInvite,
3059
+ rename,
3060
+ requestUnifiedDocsMigration,
3061
+ leave,
3062
+ removeMember,
3063
+ delete: deleteTeam,
3064
+ getBillingSummary,
3065
+ getSdkPricing,
3066
+ updateBillingEmail,
3067
+ updateBillingPlan,
3068
+ extendTrial,
3069
+ update,
3070
+ updateRole,
3071
+ updateTeamUser,
3072
+ updateImage,
3073
+ updateSlug,
3074
+ checkSlug,
3075
+ getNamespaces,
3076
+ createNamespace,
3077
+ updateNamespace,
3078
+ checkNamespace,
3079
+ onboardingSetup,
3080
+ onboardingComplete,
3081
+ addTeamIcon,
3082
+ removeTeamIcon,
3083
+ addAuthenticationDomain,
3084
+ deleteAuthenticationDomain,
3085
+ toggleAuthenticationMethod,
3086
+ editAuthenticationUserControls,
3087
+ removeAuthenticationUserControls,
3088
+ toggleUserAuthenticationMethod,
3089
+ toggleExternalAccessMethod
3090
+ };
3091
+ }
3092
+
3093
+ // ../../packages/service-api/dist/index.js
3094
+ var apiServiceFactory = (baseUrl, getAuthToken, getNewTokens) => {
3095
+ const requestService = requestServiceFactory(baseUrl, getAuthToken);
3096
+ return {
3097
+ user: userApiFactory(requestService),
3098
+ auth: authApiFactory(requestService),
3099
+ team: teamApiFactory(requestService, getNewTokens),
3100
+ feedback: feedbackApiFactory(requestService),
3101
+ image: imageApiFactory(requestService),
3102
+ payment: paymentApiFactory(requestService),
3103
+ hocuspocus: hocuspocusApiFactory(requestService),
3104
+ publish: publishApiFactory(requestService),
3105
+ github: githubApiFactory(requestService),
3106
+ bitbucket: bitbucketApiFactory(requestService),
3107
+ signup: signupApiFactory(requestService),
3108
+ project: projectApiFactory(requestService),
3109
+ docsProject: docsProjectApiFactory(requestService),
3110
+ managedDocs: managedDocsApiFactory(requestService),
3111
+ managedSchemas: managedSchemasApiFactory(requestService),
3112
+ rules: rulesApiFactory(requestService),
3113
+ registryGit: registryGitApiFactory(requestService),
3114
+ registryInstances: registryInstancesApiFactory(requestService),
3115
+ themes: themesApiFactory(requestService),
3116
+ accessGroups: accessGroupsApiFactory(requestService),
3117
+ webhooks: webhooksApiFactory(requestService),
3118
+ loginPortals: loginPortalsApiFactory(requestService),
3119
+ sdks: sdksApiFactory(requestService),
3120
+ waitlist: waitlistApiFactory(requestService),
3121
+ workspace: workspaceApiFactory(requestService),
3122
+ analytics: analyticsApiFactory(requestService)
3123
+ };
3124
+ };
3125
+
3126
+ // src/helpers/api-service.ts
3127
+ var apiService = async (opts) => {
3128
+ const auth = await getAuthData(opts);
3129
+ auth.addEventListener((state) => Object.assign(auth, state));
3130
+ return apiServiceFactory(
3131
+ config.services.api,
3132
+ () => auth.accessToken,
3133
+ async (teamUid) => {
3134
+ if ("refreshToken" in auth) {
3135
+ await refreshToken(auth.refreshToken, teamUid);
3136
+ return;
3137
+ }
3138
+ await generateAccessByPersonalToken({
3139
+ personalToken: auth.personalToken
3140
+ });
3141
+ }
3142
+ );
3143
+ };
3144
+
3145
+ export {
3146
+ apiService
3147
+ };