@scalar/cli 1.9.7 → 1.9.9

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 (4) hide show
  1. package/README.md +1 -1
  2. package/docs.html +83 -77
  3. package/index.js +225 -140
  4. package/package.json +10 -10
package/index.js CHANGED
@@ -69167,7 +69167,7 @@ import { Command as Command50 } from "commander";
69167
69167
 
69168
69168
  // package.json
69169
69169
  var name = "@scalar/cli";
69170
- var version = "1.9.7";
69170
+ var version = "1.9.9";
69171
69171
  var bin = {
69172
69172
  scalar: "./dist/index.js",
69173
69173
  "scalar-cli": "./dist/index.js"
@@ -86982,7 +86982,7 @@ var monthlyUsageSchema = zod_default.object({
86982
86982
  messages: zod_default.number()
86983
86983
  }).meta({ id: "monthly-usage" });
86984
86984
 
86985
- // ../../node_modules/.pnpm/@scalar+helpers@0.8.1/node_modules/@scalar/helpers/dist/http/http-methods.js
86985
+ // ../../node_modules/.pnpm/@scalar+helpers@0.8.2/node_modules/@scalar/helpers/dist/http/http-methods.js
86986
86986
  var HTTP_METHODS = ["delete", "get", "head", "options", "patch", "post", "put", "trace"];
86987
86987
  var httpMethods = Object.freeze(new Set(HTTP_METHODS));
86988
86988
 
@@ -87787,12 +87787,17 @@ var signupDataSchema = external_exports.object({
87787
87787
 
87788
87788
  // ../../packages/entities/dist/sdk/scalar-config.js
87789
87789
  var import_yaml = __toESM(require_dist(), 1);
87790
+ import semver4 from "semver";
87791
+
87792
+ // ../../packages/entities/dist/sdk/helpers.js
87793
+ import semver3 from "semver";
87790
87794
 
87791
87795
  // ../../packages/entities/dist/sdk/schema.js
87792
87796
  var SdkLanguage;
87793
87797
  (function(SdkLanguage2) {
87794
87798
  SdkLanguage2["Typescript"] = "typescript";
87795
87799
  SdkLanguage2["Python"] = "python";
87800
+ SdkLanguage2["Cli"] = "cli";
87796
87801
  SdkLanguage2["CSharp"] = "csharp";
87797
87802
  SdkLanguage2["Java"] = "java";
87798
87803
  SdkLanguage2["Ruby"] = "ruby";
@@ -87807,6 +87812,7 @@ var SdkLanguage;
87807
87812
  var SdkLanguageLabels = {
87808
87813
  [SdkLanguage.Typescript]: "Typescript",
87809
87814
  [SdkLanguage.Python]: "Python",
87815
+ [SdkLanguage.Cli]: "CLI",
87810
87816
  [SdkLanguage.CSharp]: "C#",
87811
87817
  [SdkLanguage.Java]: "Java",
87812
87818
  [SdkLanguage.Ruby]: "Ruby",
@@ -87818,32 +87824,74 @@ var SdkLanguageLabels = {
87818
87824
  [SdkLanguage.Cpp]: "C++",
87819
87825
  [SdkLanguage.Dart]: "Dart"
87820
87826
  };
87821
- var sdkVersionSchema = external_exports.object({
87822
- version: docVersionSchema,
87823
- apiVersion: docVersionSchema,
87824
- createdAt: timestampSchema.optional(),
87827
+ var SdkLanguageExperimental = {
87828
+ [SdkLanguage.Typescript]: false,
87829
+ [SdkLanguage.Python]: false,
87830
+ [SdkLanguage.Cli]: false,
87831
+ [SdkLanguage.CSharp]: true,
87832
+ [SdkLanguage.Java]: true,
87833
+ [SdkLanguage.Ruby]: true,
87834
+ [SdkLanguage.Php]: true,
87835
+ [SdkLanguage.Go]: true,
87836
+ [SdkLanguage.Rust]: true,
87837
+ [SdkLanguage.Kotlin]: true,
87838
+ [SdkLanguage.Swift]: true,
87839
+ [SdkLanguage.Cpp]: true,
87840
+ [SdkLanguage.Dart]: true
87841
+ };
87842
+ var sdkTargetDestinationSchema = external_exports.object({
87843
+ provider: external_exports.literal("github").default("github"),
87844
+ linkedBy: external_exports.string(),
87845
+ /**
87846
+ * GitHub App installation that grants push access. Optional because legacy
87847
+ * links predate it and it is derivable from `linkedBy` + repo at sync time.
87848
+ */
87849
+ installationId: external_exports.number().int().optional(),
87850
+ id: external_exports.number().int(),
87851
+ /** "owner/repo" */
87852
+ name: external_exports.string().min(2),
87853
+ baseBranch: external_exports.string().min(1).default("main"),
87854
+ publishOnMerge: external_exports.boolean().default(false),
87855
+ prComments: external_exports.boolean().default(false),
87856
+ expired: external_exports.boolean().default(false)
87857
+ }).meta({ id: "sdk-target-destination" });
87858
+ var sdkTargetSchema = external_exports.object({
87859
+ language: external_exports.enum(SdkLanguage),
87860
+ slug: slugSchema,
87861
+ destination: sdkTargetDestinationSchema.nullable().default(null)
87862
+ }).meta({ id: "sdk-target" });
87863
+ var sdkVersionTargetStateSchema = external_exports.object({
87825
87864
  activeSync: external_exports.object({
87826
87865
  repository: external_exports.string(),
87827
87866
  pullRequest: external_exports.number(),
87828
87867
  commitHash: external_exports.string()
87829
87868
  }).optional(),
87830
87869
  activeBuild: nanoidSchema.optional()
87870
+ }).meta({ id: "sdk-version-target-state" });
87871
+ var sdkVersionStatusSchema = external_exports.enum(["draft", "published"]);
87872
+ var sdkVersionSchema = external_exports.object({
87873
+ version: docVersionSchema,
87874
+ apiVersion: docVersionSchema,
87875
+ createdAt: timestampSchema.optional(),
87876
+ /** Draft while being edited; published once a build of it succeeds. */
87877
+ status: sdkVersionStatusSchema.default("published"),
87878
+ /** Config snapshot for this version. Defaults to `{}` so pre-migration docs still validate. */
87879
+ config: external_exports.string().default("{}"),
87880
+ /** Language targets this version ships, derived from `config`. */
87881
+ languages: external_exports.enum(SdkLanguage).array().default([]),
87882
+ publishedAt: timestampSchema.optional(),
87883
+ /** What created/last-touched this version, for display. */
87884
+ changeSource: external_exports.enum(["user", "api-version", "created"]).optional(),
87885
+ changeNote: external_exports.string().optional(),
87886
+ /** Active sync/build per language, for this version. */
87887
+ targets: external_exports.partialRecord(external_exports.enum(SdkLanguage), sdkVersionTargetStateSchema).default({})
87831
87888
  }).meta({ id: "sdk-version" });
87832
- var sdkRepositorySchema = external_exports.object({
87833
- linkedBy: external_exports.string(),
87834
- id: external_exports.number(),
87835
- name: external_exports.string().min(2),
87836
- baseBranch: external_exports.string().min(1).default("main")
87837
- }).meta({ id: "sdk-repository" });
87838
87889
  var sdkSchema = baseRegistrySchema.extend({
87839
87890
  /**
87840
- * Non-optional API uid as schemas
87841
- * only support registry APIs at the
87842
- * moment.
87891
+ * The registry API this SDK is generated from. Null when unlinked — the SDK
87892
+ * keeps its versions/builds but can't build a new version until re-linked.
87843
87893
  */
87844
- apiUid: nanoidSchema,
87845
- /** Linked GitHub repository */
87846
- repository: sdkRepositorySchema.nullable().default(null),
87894
+ apiUid: nanoidSchema.nullable(),
87847
87895
  /**
87848
87896
  * Current latest revision
87849
87897
  * for SDK. Can be selected
@@ -87852,9 +87900,18 @@ var sdkSchema = baseRegistrySchema.extend({
87852
87900
  currentVersion: nanoidSchema,
87853
87901
  /** All versions available for SDK. */
87854
87902
  versions: sdkVersionSchema.array().default([]),
87855
- /** 1 Language = 1 SDK */
87856
- language: external_exports.enum(SdkLanguage),
87857
- config: external_exports.string()
87903
+ /**
87904
+ * Persistent per-language registry: every language the SDK has, each with its
87905
+ * registry slug + git destination. Survives across versions — destinations and
87906
+ * slugs persist even when a version drops a language. The *active* language set
87907
+ * is the latest published version's `languages`.
87908
+ */
87909
+ targets: sdkTargetSchema.array().min(1),
87910
+ /**
87911
+ * @deprecated Config now lives per-version (`sdkVersionSchema.config`). Kept
87912
+ * optional for the migration/legacy path; new code reads the version config.
87913
+ */
87914
+ config: external_exports.string().optional()
87858
87915
  }).meta({ id: "sdk" });
87859
87916
  var sdkBuildStatusSchema = external_exports.enum(["pending", "error", "generated"]).meta({ id: "sdk-build-status" });
87860
87917
  var sdkGitStatusSchema = external_exports.enum(["pending", "error", "synced"]).meta({ id: "sdk-git-status" });
@@ -87875,33 +87932,44 @@ var sdkBuildGitSchema = external_exports.object({
87875
87932
  pullRequest: external_exports.number(),
87876
87933
  commitHash: external_exports.string()
87877
87934
  }).optional().meta({ id: "sdk-build-git" });
87878
- var sdkBuildSchema = entitySchema.extend({
87879
- teamUid: nanoidSchema,
87935
+ var sdkBuildTargetSchema = external_exports.object({
87936
+ /** SDK language to generate */
87937
+ language: external_exports.enum(SdkLanguage),
87938
+ /** Per-target published slug the artifact lands under */
87939
+ slug: slugSchema,
87880
87940
  /** Build status */
87881
87941
  buildStatus: sdkBuildStatusSchema,
87882
- /** Additional build message */
87942
+ /** Additional build message */
87883
87943
  buildMessage: external_exports.string().optional(),
87884
87944
  /** Git sync status */
87885
87945
  gitStatus: sdkGitStatusSchema.optional(),
87886
87946
  /** Additional git message */
87887
87947
  gitMessage: external_exports.string().optional(),
87888
- /** SDK language to generate */
87889
- language: external_exports.enum(SdkLanguage),
87948
+ /** Linked git repository name */
87949
+ repository: external_exports.string().nullable().optional(),
87950
+ /** Git sync commit and PR */
87951
+ gitSync: sdkBuildGitSchema
87952
+ }).meta({ id: "sdk-build-target" });
87953
+ var sdkBuildSchema = entitySchema.extend({
87954
+ teamUid: nanoidSchema,
87890
87955
  /** SDK metadata on generation */
87891
87956
  sdk: sdkbuildSdkSchema,
87892
87957
  /** Original API used to generate SDK */
87893
87958
  api: sdkBuildApiSchema,
87894
87959
  /** Custom SDK config */
87895
87960
  config: external_exports.string(),
87896
- /** Linked git repository name */
87897
- repository: external_exports.string().nullable().optional(),
87898
- /** Git sync commit and PR */
87899
- gitSync: sdkBuildGitSchema,
87900
- /** Extended generation logs */
87901
- generationLog: external_exports.string().optional(),
87902
87961
  /** Should auto set active sdk version */
87903
- autoBump: external_exports.boolean().default(false)
87962
+ autoBump: external_exports.boolean().default(false),
87963
+ /** Per-language build targets */
87964
+ targets: sdkBuildTargetSchema.array().min(1)
87904
87965
  }).meta({ id: "sdk-build" });
87966
+ var sdkBuildLogChunkSchema = entitySchema.extend({
87967
+ teamUid: nanoidSchema,
87968
+ buildUid: nanoidSchema,
87969
+ /** Monotonic order within a build. */
87970
+ sequence: external_exports.number().int(),
87971
+ chunk: external_exports.string()
87972
+ }).meta({ id: "sdk-build-log-chunk" });
87905
87973
  var sdkCodeSampleSchema = external_exports.object({
87906
87974
  lang: external_exports.string(),
87907
87975
  label: external_exports.string(),
@@ -87942,11 +88010,19 @@ var sdkLanguageToScalarTarget = {
87942
88010
  [SdkLanguage.Kotlin]: "kotlin",
87943
88011
  [SdkLanguage.Swift]: "swift",
87944
88012
  [SdkLanguage.Cpp]: "cpp",
87945
- [SdkLanguage.Dart]: "dart"
88013
+ [SdkLanguage.Dart]: "dart",
88014
+ [SdkLanguage.Cli]: "cli"
87946
88015
  };
88016
+ var scalarTargetDestinationsSchema = external_exports.object({
88017
+ production: external_exports.object({
88018
+ repo: external_exports.string(),
88019
+ branch: external_exports.string().optional()
88020
+ }).optional()
88021
+ }).meta({ id: "scalar-target-destinations" });
87947
88022
  var scalarTargetEntrySchema = external_exports.looseObject({
87948
88023
  packageName: external_exports.string().optional(),
87949
- version: external_exports.string().optional()
88024
+ version: external_exports.string().optional(),
88025
+ destinations: scalarTargetDestinationsSchema.optional()
87950
88026
  }).meta({ id: "scalar-target-entry" });
87951
88027
  var scalarClientSettingsSchema = external_exports.looseObject({
87952
88028
  opts: external_exports.record(external_exports.string(), external_exports.any()).optional(),
@@ -87967,59 +88043,10 @@ var scalarSdkConfigSchema = external_exports.looseObject({
87967
88043
  codeSampleLanguages: scalarTargetLanguageSchema.array().optional(),
87968
88044
  diagnostics: scalarDiagnosticsSchema.optional()
87969
88045
  }).meta({ id: "scalar-sdk-config" });
87970
- function buildPackageName(language, namespace, slug) {
87971
- const suffix = `-${language}`;
87972
- const base = slug.endsWith(suffix) ? slug.slice(0, -suffix.length) : slug;
87973
- if (language === SdkLanguage.Typescript)
87974
- return `@${namespace}/${base}`;
87975
- if (language === SdkLanguage.Cpp)
87976
- return `${namespace}_${base}`;
87977
- return `${namespace}-${base}`;
87978
- }
87979
- function makeScalarSdkConfig({ namespace, slug, version: version3, language, className }) {
87980
- const primaryTarget = sdkLanguageToScalarTarget[language];
87981
- const sdkClassName = className || slug;
87982
- return scalarSdkConfigSchema.parse({
87983
- version: version3,
87984
- clientSettings: {
87985
- defaultEnvPrefix: namespace.toUpperCase()
87986
- },
87987
- targets: {
87988
- [primaryTarget]: {
87989
- packageName: buildPackageName(language, namespace, slug),
87990
- version: version3
87991
- }
87992
- },
87993
- resources: {
87994
- [sdkClassName]: {}
87995
- }
87996
- });
87997
- }
87998
- var scalarBuildInputSchema = external_exports.object({
87999
- namespace: namespaceSchema,
88000
- slug: slugSchema,
88001
- version: docVersionSchema,
88002
- language: external_exports.enum(SdkLanguage),
88003
- customConfig: external_exports.string(),
88004
- className: external_exports.string().optional()
88005
- }).transform(({ namespace, slug, version: version3, language, customConfig, className }) => {
88006
- const parsed = scalarSdkConfigSchema.parse(JSON.parse(customConfig));
88007
- const merged = {
88008
- ...makeScalarSdkConfig({
88009
- namespace,
88010
- slug,
88011
- version: version3,
88012
- language,
88013
- className
88014
- }),
88015
- ...parsed,
88016
- version: version3
88017
- };
88018
- return import_yaml.default.stringify(merged);
88019
- }).meta({ id: "scalar-build-input" });
88020
-
88021
- // ../../packages/entities/dist/sdk/helpers.js
88022
- import semver3 from "semver";
88046
+ var scalarTargetToSdkLanguage = Object.fromEntries(Object.entries(sdkLanguageToScalarTarget).map(([language, target]) => [
88047
+ target,
88048
+ language
88049
+ ]));
88023
88050
 
88024
88051
  // ../../packages/entities/dist/team/access.js
88025
88052
  var ExternalAccessMethod;
@@ -88659,6 +88686,7 @@ var BaseCollections = {
88659
88686
  LoginPortals: (teamUid) => `team/${teamUid}/login-portals`,
88660
88687
  Sdks: (teamUid) => `team/${teamUid}/sdks`,
88661
88688
  SdkBuilds: (teamUid) => `team/${teamUid}/sdk-builds`,
88689
+ SdkBuildLogs: (teamUid) => `team/${teamUid}/sdk-build-logs`,
88662
88690
  PersonalTokens: (userUid) => `user/${userUid}/personal-tokens`,
88663
88691
  IdentityProviders: (teamUid) => `team/${teamUid}/identity-providers`,
88664
88692
  Workspaces: (teamUid) => `team/${teamUid}/workspaces`,
@@ -89017,16 +89045,16 @@ function loginPortalsApiFactory(requestService) {
89017
89045
 
89018
89046
  // ../../packages/service-api/dist/apis/managed-docs.js
89019
89047
  function managedDocsApiFactory(requestService) {
89020
- async function get(namespace, slug, semver5) {
89048
+ async function get(namespace, slug, semver6) {
89021
89049
  return await requestService.request({
89022
- url: `core/managed-doc/${namespace}/${slug}/version/${semver5}`,
89050
+ url: `core/managed-doc/${namespace}/${slug}/version/${semver6}`,
89023
89051
  method: "get",
89024
89052
  schema: external_exports.string()
89025
89053
  });
89026
89054
  }
89027
- async function getVersionMetadata(namespace, slug, semver5) {
89055
+ async function getVersionMetadata(namespace, slug, semver6) {
89028
89056
  return await requestService.request({
89029
- url: `core/managed-doc/${namespace}/${slug}/version/${semver5}/metadata`,
89057
+ url: `core/managed-doc/${namespace}/${slug}/version/${semver6}/metadata`,
89030
89058
  method: "get",
89031
89059
  schema: managedDocVersionSchema
89032
89060
  });
@@ -89113,9 +89141,9 @@ function managedDocsApiFactory(requestService) {
89113
89141
  schema: managedDocVersionSchema
89114
89142
  });
89115
89143
  }
89116
- async function updateVersion(namespace, slug, semver5, data) {
89144
+ async function updateVersion(namespace, slug, semver6, data) {
89117
89145
  return await requestService.request({
89118
- url: `core/managed-doc/${namespace}/${slug}/version/${semver5}`,
89146
+ url: `core/managed-doc/${namespace}/${slug}/version/${semver6}`,
89119
89147
  method: "patch",
89120
89148
  data,
89121
89149
  schema: external_exports.object({
@@ -89125,9 +89153,9 @@ function managedDocsApiFactory(requestService) {
89125
89153
  })
89126
89154
  });
89127
89155
  }
89128
- async function deleteVersion(namespace, slug, semver5) {
89156
+ async function deleteVersion(namespace, slug, semver6) {
89129
89157
  return await requestService.request({
89130
- url: `core/managed-doc/${namespace}/${slug}/version/${semver5}`,
89158
+ url: `core/managed-doc/${namespace}/${slug}/version/${semver6}`,
89131
89159
  method: "delete",
89132
89160
  schema: external_exports.null()
89133
89161
  });
@@ -89182,9 +89210,9 @@ function managedDocsApiFactory(requestService) {
89182
89210
  })
89183
89211
  });
89184
89212
  }
89185
- async function updateMcpTools({ namespace, slug, semver: semver5, tools }) {
89213
+ async function updateMcpTools({ namespace, slug, semver: semver6, tools }) {
89186
89214
  return await requestService.request({
89187
- url: `core/managed-doc/${namespace}/${slug}/version/${semver5}/tools`,
89215
+ url: `core/managed-doc/${namespace}/${slug}/version/${semver6}/tools`,
89188
89216
  method: "post",
89189
89217
  data: tools,
89190
89218
  schema: external_exports.null()
@@ -89441,16 +89469,6 @@ function sdksApiFactory(requestService) {
89441
89469
  schema: external_exports.string()
89442
89470
  });
89443
89471
  }
89444
- async function bulkCreate(data) {
89445
- return await requestService.request({
89446
- url: "core/v1/sdks/bulk",
89447
- method: "post",
89448
- data,
89449
- schema: external_exports.object({
89450
- uids: nanoidSchema.array()
89451
- })
89452
- });
89453
- }
89454
89472
  async function update(uid, data) {
89455
89473
  return await requestService.request({
89456
89474
  url: `core/v1/sdks/${uid}`,
@@ -89482,6 +89500,29 @@ function sdksApiFactory(requestService) {
89482
89500
  schema: external_exports.null()
89483
89501
  });
89484
89502
  }
89503
+ async function discardDraft(uid) {
89504
+ return await requestService.request({
89505
+ url: `core/v1/sdks/${uid}/draft`,
89506
+ method: "delete",
89507
+ schema: external_exports.null()
89508
+ });
89509
+ }
89510
+ async function deleteVersion(data) {
89511
+ return await requestService.request({
89512
+ url: "core/v1/sdks/version",
89513
+ method: "delete",
89514
+ data,
89515
+ schema: external_exports.null()
89516
+ });
89517
+ }
89518
+ async function fromConfig(data) {
89519
+ return await requestService.request({
89520
+ url: "core/v1/sdks/from-config",
89521
+ method: "post",
89522
+ data,
89523
+ schema: external_exports.string()
89524
+ });
89525
+ }
89485
89526
  async function available(data) {
89486
89527
  return await requestService.request({
89487
89528
  url: "core/v1/sdks/available",
@@ -89524,37 +89565,39 @@ function sdksApiFactory(requestService) {
89524
89565
  schema: external_exports.null()
89525
89566
  });
89526
89567
  }
89527
- async function unlinkRepo(uid) {
89568
+ async function unlinkRepo(data) {
89528
89569
  return await requestService.request({
89529
89570
  url: "core/v1/sdks/repository",
89530
89571
  method: "delete",
89531
- data: { uid },
89572
+ data,
89532
89573
  schema: external_exports.null()
89533
89574
  });
89534
89575
  }
89535
- async function syncBuild(buildUid) {
89576
+ async function syncBuild(data) {
89536
89577
  return await requestService.request({
89537
89578
  url: "core/v1/sdks/sync",
89538
89579
  method: "post",
89539
- data: { buildUid },
89580
+ data,
89540
89581
  schema: external_exports.null()
89541
89582
  });
89542
89583
  }
89543
- async function build(sdkUid, version3) {
89584
+ async function build(sdkUid, version3, languages) {
89544
89585
  return await requestService.request({
89545
89586
  url: "core/v1/sdks/build",
89546
89587
  method: "post",
89547
- data: { sdkUid, version: version3 },
89588
+ data: { sdkUid, version: version3, languages },
89548
89589
  schema: external_exports.null()
89549
89590
  });
89550
89591
  }
89551
89592
  return {
89552
89593
  create,
89553
- bulkCreate,
89594
+ fromConfig,
89554
89595
  createVersion,
89555
89596
  previewCodeSamples,
89556
89597
  update,
89557
89598
  delete: del,
89599
+ discardDraft,
89600
+ deleteVersion,
89558
89601
  available,
89559
89602
  addAccessGroup,
89560
89603
  removeAccessGroup,
@@ -90190,6 +90233,34 @@ function githubApiFactory(requestService) {
90190
90233
  schema: githubInstallSchema.array()
90191
90234
  });
90192
90235
  }
90236
+ async function getInstalls() {
90237
+ return await requestService.request({
90238
+ url: "core/github/installs",
90239
+ method: "get",
90240
+ schema: external_exports.object({
90241
+ id: external_exports.number(),
90242
+ name: external_exports.string(),
90243
+ icon: external_exports.string().optional()
90244
+ }).array()
90245
+ });
90246
+ }
90247
+ async function getInstallRepos(installationId, opts = {}) {
90248
+ const params = new URLSearchParams();
90249
+ if (opts.page !== void 0)
90250
+ params.set("page", String(opts.page));
90251
+ if (opts.perPage !== void 0)
90252
+ params.set("perPage", String(opts.perPage));
90253
+ const qs = params.toString() ? `?${params.toString()}` : "";
90254
+ return await requestService.request({
90255
+ url: `core/github/installs/${installationId}/repos${qs}`,
90256
+ method: "get",
90257
+ schema: external_exports.object({
90258
+ repos: external_exports.object({ id: external_exports.number(), name: external_exports.string() }).array(),
90259
+ hasMore: external_exports.boolean(),
90260
+ totalCount: external_exports.number()
90261
+ })
90262
+ });
90263
+ }
90193
90264
  async function getRepoInfo(id) {
90194
90265
  return await requestService.request({
90195
90266
  url: `core/github/repos/${id}`,
@@ -90374,6 +90445,8 @@ function githubApiFactory(requestService) {
90374
90445
  return {
90375
90446
  initiateLink,
90376
90447
  getRepos,
90448
+ getInstalls,
90449
+ getInstallRepos,
90377
90450
  linkRepo,
90378
90451
  unlinkRepo,
90379
90452
  getDocsProjectGithubCommits,
@@ -91185,7 +91258,7 @@ var config2 = {
91185
91258
  }
91186
91259
  },
91187
91260
  cdnUrl: process.env.CDN_URL ?? "https://cdn.scalar.com",
91188
- ssgDocsIsolateVersion: process.env.SSG_DOCS_ISOLATE_VERSION ?? "1.4.3"
91261
+ ssgDocsIsolateVersion: process.env.SSG_DOCS_ISOLATE_VERSION ?? "1.4.4"
91189
91262
  };
91190
91263
 
91191
91264
  // src/domains/auth/login/helpers/personal-token-generate-access.ts
@@ -91956,7 +92029,8 @@ function buildAsset(namespace, asset, slug) {
91956
92029
  url: (opts) => {
91957
92030
  const query = [
91958
92031
  opts?.format ? `format=${registryFormat(opts.format)}` : "",
91959
- opts?.variant === "processed" ? "variant=processed" : ""
92032
+ opts?.variant === "processed" ? "variant=processed" : "",
92033
+ opts?.lang ? `lang=${opts.lang}` : ""
91960
92034
  ].filter(Boolean).join("&");
91961
92035
  return `@${namespace}/${asset}/${slug}@${versionFormat(opts?.version)}${query ? `?${query}` : ""}`;
91962
92036
  }
@@ -92135,10 +92209,8 @@ function BundleCommand() {
92135
92209
  function registryUrl(path13) {
92136
92210
  return `${config2.projects.registry}/${path13}`;
92137
92211
  }
92138
-
92139
- // src/domains/schema/helpers/links.ts
92140
- function schemaDashboardUrl(uid) {
92141
- return `${config2.projects.dashboard}/schemas/${uid}`;
92212
+ function dashboardUrl(asset, uid) {
92213
+ return `${config2.projects.dashboard}/registry/${asset}/${uid}`;
92142
92214
  }
92143
92215
 
92144
92216
  // src/domains/schema/publish.ts
@@ -92276,12 +92348,13 @@ var PublishSchemaCommand = () => {
92276
92348
  if (publishRes.error)
92277
92349
  return output.error().title(publishRes.message).exit("error");
92278
92350
  const schema = registry2(namespace).schemas(slug);
92279
- const dashboardUrl = schemaDashboardUrl(
92351
+ const schemaUrl = dashboardUrl(
92352
+ RegistryAsset2.Schemas,
92280
92353
  matchingSchema?.uid ?? publishRes.data.uid
92281
92354
  );
92282
92355
  logger.update("loader", 0, {
92283
92356
  content: `Successfully published v${version3} for ${slug}.`
92284
- }).line().line(`${as6.green("\u279C")} ${as6.white.bold("View in dashboard:")}`).line(as6.cyan(dashboardUrl)).line().line(`${as6.green("\u279C")} ${as6.white.bold("Registry Preview:")}`).line(as6.cyan(registryUrl(schema.url({ version: version3 })))).line().line(`${as6.green("\u279C")} ${as6.white.bold("Registry YAML:")}`).line(as6.cyan(registryUrl(schema.url({ version: version3, format: "yaml" })))).line().line(`${as6.green("\u279C")} ${as6.white.bold("Registry JSON:")}`).line(as6.cyan(registryUrl(schema.url({ version: version3, format: "json" })))).print();
92357
+ }).line().line(`${as6.green("\u279C")} ${as6.white.bold("View in dashboard:")}`).line(as6.cyan(schemaUrl)).line().line(`${as6.green("\u279C")} ${as6.white.bold("Registry Preview:")}`).line(as6.cyan(registryUrl(schema.url({ version: version3 })))).line().line(`${as6.green("\u279C")} ${as6.white.bold("Registry YAML:")}`).line(as6.cyan(registryUrl(schema.url({ version: version3, format: "yaml" })))).line().line(`${as6.green("\u279C")} ${as6.white.bold("Registry JSON:")}`).line(as6.cyan(registryUrl(schema.url({ version: version3, format: "json" })))).print();
92285
92358
  });
92286
92359
  return cmd2;
92287
92360
  };
@@ -92507,15 +92580,15 @@ var CreateSdkCommand = () => {
92507
92580
  const logger = output.info().loader("Creating the SDK");
92508
92581
  const response = await client.sdks.create({
92509
92582
  apiUid,
92510
- language
92583
+ languages: [language]
92511
92584
  });
92512
92585
  if (response.error) {
92513
92586
  return output.error().title("Something went wrong").message(response.message).exit("error");
92514
92587
  }
92515
92588
  logger.update("loader", 0, { content: "SDK created successfully!" });
92516
- const dashboardUrl = `${config2.projects.dashboard}/sdk/${response.data}`;
92589
+ const dashboardUrl2 = `${config2.projects.dashboard}/sdk/${response.data}`;
92517
92590
  logger.message(
92518
- `View your SDK in the Scalar dashboard: ${as7.cyan(dashboardUrl)}`
92591
+ `View your SDK in the Scalar dashboard: ${as7.cyan(dashboardUrl2)}`
92519
92592
  ).exit("success");
92520
92593
  });
92521
92594
  return cmd2;
@@ -94293,6 +94366,7 @@ var pageFrontmatterSchema = external_exports.object({
94293
94366
  tabs: external_exports.boolean().optional(),
94294
94367
  pageTitle: external_exports.boolean().optional(),
94295
94368
  pageActions: external_exports.boolean().optional(),
94369
+ fullWidth: external_exports.boolean().optional().describe("Expand the page content to the full page width instead of the default centered column."),
94296
94370
  search: external_exports.object({
94297
94371
  position: external_exports.enum(["header", "sidebar"]).optional().describe("The position of the search bar in this page"),
94298
94372
  enabled: external_exports.boolean().optional().describe("Enable or disable search for this page")
@@ -94522,6 +94596,21 @@ var llmPageSchema = zod_default.object({
94522
94596
  filepath: zod_default.string()
94523
94597
  });
94524
94598
 
94599
+ // ../../packages/scalar-config/dist/schema/sdks.js
94600
+ var sdkConfigSchema = external_exports.object({
94601
+ title: external_exports.string().optional().describe("Display name for the SDK."),
94602
+ description: external_exports.string().optional().describe("Description of the SDK."),
94603
+ slug: external_exports.string().optional().describe("Slug of the SDK in the team registry."),
94604
+ namespace: external_exports.string().optional().describe("Namespace of the SDK in the team registry."),
94605
+ api: external_exports.object({
94606
+ namespace: external_exports.string().optional().describe("Namespace of the source API in the registry."),
94607
+ slug: external_exports.string().describe("Slug of the source API. Matches an OpenAPI route in the project."),
94608
+ version: external_exports.string().optional().describe("Version of the source API.")
94609
+ }).describe("The project API this SDK is generated from."),
94610
+ config: scalarSdkConfigSchema.optional().describe("The SDK code generation config, inline as an object."),
94611
+ disableSync: external_exports.boolean().optional().describe("Skip auto-publishing this SDK config to the team registry on publish.")
94612
+ });
94613
+
94525
94614
  // ../../packages/scalar-config/dist/schema/site-config.js
94526
94615
  var redirectSchema = external_exports.object({
94527
94616
  from: external_exports.string(),
@@ -94620,6 +94709,7 @@ var baseScalarConfigSchema = external_exports.object({
94620
94709
  insertPageTitles: external_exports.boolean().optional().describe("Whether to insert an H1 with Title and Description at top of each guide page, or not. Deprecated. Write the title and description in the markdown instead."),
94621
94710
  assetsDir: external_exports.string().optional().describe("Specify an assets folder to serve custom assets such as media files. These are served globally from the root path, e.g. /picture.png"),
94622
94711
  ruleset: rulesetConfigSchema.optional().describe("Default Spectral ruleset and publish policy applied to every OpenAPI route. Per-route ruleset config overrides individual keys."),
94712
+ sdks: external_exports.record(external_exports.string(), sdkConfigSchema).optional().describe("SDKs generated from the project APIs, keyed by SDK slug, each declaring its language targets. Lets the editor resolve SDK info from project APIs offline."),
94623
94713
  siteConfig: siteConfigSchema
94624
94714
  });
94625
94715
  var externalScalarConfigSchema = baseScalarConfigSchema.extend({
@@ -95777,13 +95867,13 @@ import { cancel, confirm as confirm3, isCancel, text as text6 } from "@clack/pro
95777
95867
  import as29 from "ansis";
95778
95868
  import { Command as Command34 } from "commander";
95779
95869
 
95780
- // ../../node_modules/.pnpm/@scalar+galaxy@0.6.5/node_modules/@scalar/galaxy/dist/3.1.json
95870
+ // ../../node_modules/.pnpm/@scalar+galaxy@0.6.7/node_modules/@scalar/galaxy/dist/3.1.json
95781
95871
  var __default = {
95782
95872
  openapi: "3.1.1",
95783
95873
  info: {
95784
95874
  title: "Scalar Galaxy",
95785
95875
  description: "The Scalar Galaxy is an example OpenAPI document to test OpenAPI tools and libraries. It's a fictional universe with fictional planets and fictional data.\n\n## Resources\n\n* https://github.com/scalar/scalar\n* https://github.com/OAI/OpenAPI-Specification\n* https://scalar.com\n\n## Markdown Support\n\nAll descriptions *can* contain ~~tons of text~~ **Markdown**. [If GitHub supports the syntax](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax), chances are we're supporting it, too.\n\n<details>\n <summary>Examples</summary>\n\n **Blockquotes**\n\n > I love OpenAPI. <3\n\n **Tables**\n\n | Feature | Availability |\n | ---------------- | ------------ |\n | Markdown Support | \u2713 |\n\n **Accordion**\n\n ```html\n <details>\n <summary>Using Details Tags</summary>\n <p>HTML Example</p>\n </details>\n ```\n\n **Images**\n\n Yes, there's support for images, too!\n\n ![Empty placeholder image showing the width/height](https://images.placeholders.dev/?width=1280&height=720)\n\n **Alerts**\n\n > [!tip]\n > You can use Markdown alerts in your descriptions.\n\n</details>\n",
95786
- version: "0.6.5",
95876
+ version: "0.6.7",
95787
95877
  contact: {
95788
95878
  name: "Scalar Support",
95789
95879
  url: "https://scalar.com",
@@ -96271,6 +96361,7 @@ var __default = {
96271
96361
  "Celestial Bodies"
96272
96362
  ],
96273
96363
  summary: "Create a celestial body",
96364
+ description: "Stars, moons, comets, the occasional rogue asteroid \u2014 if it glows or drifts through the void, you can add it here.",
96274
96365
  operationId: "createCelestialBody",
96275
96366
  requestBody: {
96276
96367
  description: "Celestial body to create",
@@ -98442,13 +98533,6 @@ import { Command as Command40 } from "commander";
98442
98533
  import { bundle as bundle4 } from "@scalar/json-magic/bundle";
98443
98534
  import { fetchUrls as fetchUrls4, readFiles as readFiles4 } from "@scalar/json-magic/bundle/plugins/node";
98444
98535
  import { parseJsonOrYaml as parseJsonOrYaml2 } from "@scalar/oas-utils/helpers";
98445
-
98446
- // src/domains/registry/publish/helpers/links.ts
98447
- function apiDashboardUrl(uid) {
98448
- return `${config2.projects.dashboard}/registry/apis/${uid}`;
98449
- }
98450
-
98451
- // src/domains/registry/publish/index.ts
98452
98536
  var PublishCommand2 = () => {
98453
98537
  const cmd2 = new Command40("publish");
98454
98538
  cmd2.description("Publish an OpenAPI document to the Scalar registry");
@@ -98583,10 +98667,11 @@ var PublishCommand2 = () => {
98583
98667
  content: `Successfully published v${version3} for ${apiSlug}.`
98584
98668
  }).line().print();
98585
98669
  const api = registry2(namespace).apis(apiSlug);
98586
- const dashboardUrl = apiDashboardUrl(
98670
+ const apiUrl = dashboardUrl(
98671
+ RegistryAsset2.Apis,
98587
98672
  matchingApi?.uid ?? publishRes.data.uid
98588
98673
  );
98589
- output.info().line(`${as33.green("\u279C")} ${as33.white.bold("View in dashboard:")}`).line(as33.cyan(dashboardUrl)).line().line(`${as33.green("\u279C")} ${as33.white.bold("Registry Preview:")}`).line(as33.cyan(registryUrl(api.url({ version: version3 })))).line().line(`${as33.green("\u279C")} ${as33.white.bold("Registry YAML:")}`).line(as33.cyan(registryUrl(api.url({ version: version3, format: "yaml" })))).line().line(`${as33.green("\u279C")} ${as33.white.bold("Registry JSON:")}`).line(as33.cyan(registryUrl(api.url({ version: version3, format: "json" })))).print();
98674
+ output.info().line(`${as33.green("\u279C")} ${as33.white.bold("View in dashboard:")}`).line(as33.cyan(apiUrl)).line().line(`${as33.green("\u279C")} ${as33.white.bold("Registry Preview:")}`).line(as33.cyan(registryUrl(api.url({ version: version3 })))).line().line(`${as33.green("\u279C")} ${as33.white.bold("Registry YAML:")}`).line(as33.cyan(registryUrl(api.url({ version: version3, format: "yaml" })))).line().line(`${as33.green("\u279C")} ${as33.white.bold("Registry JSON:")}`).line(as33.cyan(registryUrl(api.url({ version: version3, format: "json" })))).print();
98590
98675
  });
98591
98676
  return cmd2;
98592
98677
  };
@@ -98912,7 +98997,7 @@ import { Command as Command49 } from "commander";
98912
98997
 
98913
98998
  // src/helpers/upgrade.ts
98914
98999
  import as38 from "ansis";
98915
- import semver4 from "semver";
99000
+ import semver5 from "semver";
98916
99001
  var packageJsonSchema = external_exports.object({
98917
99002
  version: external_exports.string()
98918
99003
  });
@@ -98925,7 +99010,7 @@ async function getRemotePackageJson(packageName, version3 = "latest") {
98925
99010
  }
98926
99011
  async function getUpgradeInformation() {
98927
99012
  const { version: latestVersion } = await getRemotePackageJson(name);
98928
- if (semver4.gte(version, latestVersion)) {
99013
+ if (semver5.gte(version, latestVersion)) {
98929
99014
  return {
98930
99015
  upgrade: false
98931
99016
  };
@@ -98958,7 +99043,7 @@ async function checkUpgrade() {
98958
99043
  }
98959
99044
  }).catch();
98960
99045
  }
98961
- if (semver4.lt(version, lastKnownVersion)) {
99046
+ if (semver5.lt(version, lastKnownVersion)) {
98962
99047
  emitOutput();
98963
99048
  }
98964
99049
  }