@scalar/cli 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +40 -0
  2. package/chunks/action-45OGQB2M.js +138 -0
  3. package/chunks/action-5R5FDF6S.js +2097 -0
  4. package/chunks/action-ANU5HGC4.js +34 -0
  5. package/chunks/action-BMFXENMX.js +176 -0
  6. package/chunks/action-BNEGJBUH.js +38 -0
  7. package/chunks/action-BYZUBXVB.js +82 -0
  8. package/chunks/action-C5VB4ITT.js +132 -0
  9. package/chunks/action-CCW66QJN.js +72 -0
  10. package/chunks/action-CLSD7O2R.js +60 -0
  11. package/chunks/action-CQ56FVES.js +65 -0
  12. package/chunks/action-CYP4VDK3.js +148 -0
  13. package/chunks/action-DFKHSDFV.js +36 -0
  14. package/chunks/action-F4Y6Q2VB.js +92 -0
  15. package/chunks/action-GB6DM53B.js +70 -0
  16. package/chunks/action-GEBRPNRT.js +87 -0
  17. package/chunks/action-H5OHT2GV.js +56 -0
  18. package/chunks/action-HD2T6BFJ.js +54 -0
  19. package/chunks/action-HNKM3Q65.js +65 -0
  20. package/chunks/action-JOSVV6YA.js +71 -0
  21. package/chunks/action-MENXFJH3.js +204 -0
  22. package/chunks/action-P7LN6FGY.js +13 -0
  23. package/chunks/action-PVDDRIM6.js +130 -0
  24. package/chunks/action-Q5UJ32D6.js +46 -0
  25. package/chunks/action-R6ZZO26F.js +299 -0
  26. package/chunks/action-STIEAXOE.js +53 -0
  27. package/chunks/action-TPBKPHNS.js +110 -0
  28. package/chunks/action-TWFJNQ2R.js +95 -0
  29. package/chunks/action-TZ5KGAQT.js +64 -0
  30. package/chunks/action-UDZUUJSI.js +49 -0
  31. package/chunks/action-W5BATF4Q.js +197 -0
  32. package/chunks/agent-XGLOHXNA.js +112 -0
  33. package/chunks/build.action-LKOILPA6.js +108 -0
  34. package/chunks/chunk-23I5PKZZ.js +78 -0
  35. package/chunks/chunk-2BSG2QHO.js +455 -0
  36. package/chunks/chunk-3MZYUBJ6.js +49 -0
  37. package/chunks/chunk-47Y4L5IT.js +63361 -0
  38. package/chunks/chunk-4DGQIAJX.js +359 -0
  39. package/chunks/chunk-4QS7SJTG.js +138 -0
  40. package/chunks/chunk-5BISXQX4.js +447 -0
  41. package/chunks/chunk-5BPPGTUU.js +463 -0
  42. package/chunks/chunk-AEFPCC4U.js +16 -0
  43. package/chunks/chunk-AHWWJ3MD.js +32 -0
  44. package/chunks/chunk-ASMHW5AY.js +19 -0
  45. package/chunks/chunk-B6QZJWCQ.js +92 -0
  46. package/chunks/chunk-DOVIWNKQ.js +108 -0
  47. package/chunks/chunk-H2WRMLYY.js +13780 -0
  48. package/chunks/chunk-HQKBZOYU.js +34 -0
  49. package/chunks/chunk-ISGLWBXZ.js +4265 -0
  50. package/chunks/chunk-IX7LJ3AD.js +17 -0
  51. package/chunks/chunk-JFIXNSPP.js +26 -0
  52. package/chunks/chunk-K74E42RV.js +7311 -0
  53. package/chunks/chunk-KHDYYVYF.js +16 -0
  54. package/chunks/chunk-KWOL7A6J.js +23 -0
  55. package/chunks/chunk-NUXPNUSS.js +38 -0
  56. package/chunks/chunk-OAXFCOJV.js +25 -0
  57. package/chunks/chunk-P2VH7DOC.js +107 -0
  58. package/chunks/chunk-P646T2WH.js +1608 -0
  59. package/chunks/chunk-SHSHFGA7.js +297 -0
  60. package/chunks/chunk-SXYALPYK.js +2709 -0
  61. package/chunks/chunk-T7B6WNZC.js +18 -0
  62. package/chunks/chunk-T7MDADON.js +17 -0
  63. package/chunks/chunk-TLFMATXR.js +344 -0
  64. package/chunks/chunk-TQ5XC2E3.js +284 -0
  65. package/chunks/chunk-UPUTMFD4.js +465 -0
  66. package/chunks/chunk-VTYTPSXO.js +161 -0
  67. package/chunks/chunk-X4QLDBB5.js +221 -0
  68. package/chunks/chunk-ZTVWAKNJ.js +21 -0
  69. package/chunks/create.action-FFQLBSJH.js +108 -0
  70. package/chunks/delete.action-QNN3LC2F.js +96 -0
  71. package/chunks/delete.action-STHQHP4F.js +88 -0
  72. package/chunks/get.action-OTKYOP3Z.js +87 -0
  73. package/chunks/list.action-6I5EZAVB.js +95 -0
  74. package/chunks/list.action-KDM5RHEH.js +116 -0
  75. package/chunks/publish.action-PODTVRXS.js +182 -0
  76. package/chunks/update.action-4F6STTEQ.js +101 -0
  77. package/chunks/update.action-KMD4ZM75.js +95 -0
  78. package/docs.html +310 -209
  79. package/index.js +645 -99061
  80. package/package.json +13 -11
@@ -0,0 +1,359 @@
1
+ import { createRequire as $$cR } from "node:module"; const require = $$cR(import.meta.url);
2
+ import {
3
+ brandedUid,
4
+ customProjectIconSchema,
5
+ emailSchema,
6
+ entitySchema,
7
+ mintUid,
8
+ namespaceSchema,
9
+ nanoidSchema,
10
+ schemaModel,
11
+ slugSchema
12
+ } from "./chunk-ISGLWBXZ.js";
13
+ import {
14
+ external_exports
15
+ } from "./chunk-H2WRMLYY.js";
16
+
17
+ // ../../packages/entities/dist/team/access.js
18
+ var ExternalAccessMethod;
19
+ (function(ExternalAccessMethod2) {
20
+ ExternalAccessMethod2["Email"] = "email";
21
+ ExternalAccessMethod2["SSO"] = "sso";
22
+ ExternalAccessMethod2["Google"] = "google";
23
+ ExternalAccessMethod2["Microsoft"] = "microsoft";
24
+ })(ExternalAccessMethod || (ExternalAccessMethod = {}));
25
+ var emailInheritingExternalAccessMethods = [
26
+ ExternalAccessMethod.Google
27
+ ];
28
+ var externalAccessMethodByProvider = {
29
+ google: ExternalAccessMethod.Google,
30
+ microsoft: ExternalAccessMethod.Microsoft
31
+ };
32
+ var externalAccessMethodsSchema = external_exports.object({
33
+ [ExternalAccessMethod.Email]: external_exports.boolean().default(true),
34
+ [ExternalAccessMethod.SSO]: external_exports.boolean().default(false),
35
+ /** No default: an unset social method inherits the email setting */
36
+ [ExternalAccessMethod.Google]: external_exports.boolean().optional(),
37
+ [ExternalAccessMethod.Microsoft]: external_exports.boolean().optional()
38
+ }).meta({ id: "external-access-methods" });
39
+ var externalAccessMethodLabels = {
40
+ [ExternalAccessMethod.Email]: "Email Magic Link",
41
+ [ExternalAccessMethod.SSO]: "Single Sign-On",
42
+ [ExternalAccessMethod.Google]: "Google OAuth",
43
+ [ExternalAccessMethod.Microsoft]: "Microsoft OAuth"
44
+ };
45
+ var externalAccessSchema = external_exports.object({
46
+ /** Available authentication methods for external access */
47
+ methods: externalAccessMethodsSchema.default(schemaModel({}, externalAccessMethodsSchema))
48
+ }).meta({ id: "external-access" });
49
+
50
+ // ../../packages/entities/dist/team/billing-plan.js
51
+ var BillingPlan;
52
+ (function(BillingPlan2) {
53
+ BillingPlan2["Trial"] = "trial";
54
+ BillingPlan2["Free"] = "free";
55
+ BillingPlan2["ProMonthly"] = "pro_monthly";
56
+ BillingPlan2["ProYearly"] = "pro_yearly";
57
+ BillingPlan2["Premium"] = "premium";
58
+ BillingPlan2["Enterprise"] = "enterprise";
59
+ })(BillingPlan || (BillingPlan = {}));
60
+ var billingPlanLabels = {
61
+ [BillingPlan.Free]: "Free",
62
+ [BillingPlan.Trial]: "Trial",
63
+ [BillingPlan.ProMonthly]: "Monthly",
64
+ [BillingPlan.Premium]: "Monthly",
65
+ [BillingPlan.ProYearly]: "Yearly",
66
+ [BillingPlan.Enterprise]: "Enterprise"
67
+ };
68
+
69
+ // ../../packages/entities/dist/team/feature-flags.js
70
+ var FeatureFlag;
71
+ (function(FeatureFlag2) {
72
+ FeatureFlag2["Rules"] = "rules";
73
+ FeatureFlag2["Registry"] = "registry";
74
+ FeatureFlag2["Schemas"] = "schemas";
75
+ FeatureFlag2["SDK"] = "sdk";
76
+ FeatureFlag2["CLI"] = "cli";
77
+ FeatureFlag2["Agent"] = "agent";
78
+ FeatureFlag2["MCP"] = "mcp";
79
+ FeatureFlag2["Workspaces"] = "workspaces";
80
+ FeatureFlag2["Export"] = "export";
81
+ FeatureFlag2["DocsMCP"] = "docsMcp";
82
+ FeatureFlag2["DisableApiSSR"] = "disableApiSSR";
83
+ FeatureFlag2["UnifiedDocs"] = "unifiedDocs";
84
+ FeatureFlag2["DocsAnalytics"] = "docsAnalytics";
85
+ FeatureFlag2["McpAnalytics"] = "mcpAnalytics";
86
+ FeatureFlag2["MicrosoftLogin"] = "microsoftLogin";
87
+ FeatureFlag2["EditorPreview"] = "editorPreview";
88
+ FeatureFlag2["RegistryGit"] = "registryGit";
89
+ FeatureFlag2["AutoBillSeats"] = "autoBillSeats";
90
+ FeatureFlag2["AutoBillSdks"] = "autoBillSdks";
91
+ })(FeatureFlag || (FeatureFlag = {}));
92
+ var featureSchema = external_exports.boolean().optional().meta({ id: "feature" });
93
+ var featureUpdateSchema = external_exports.boolean().nullable().optional();
94
+ var featureFlagSchema = external_exports.object({
95
+ [FeatureFlag.Rules]: featureSchema,
96
+ [FeatureFlag.Registry]: featureSchema,
97
+ [FeatureFlag.Schemas]: featureSchema,
98
+ [FeatureFlag.SDK]: featureSchema,
99
+ [FeatureFlag.CLI]: featureSchema,
100
+ [FeatureFlag.Agent]: featureSchema,
101
+ [FeatureFlag.Workspaces]: featureSchema,
102
+ [FeatureFlag.MCP]: featureSchema,
103
+ [FeatureFlag.Export]: featureSchema,
104
+ [FeatureFlag.DocsMCP]: featureSchema,
105
+ [FeatureFlag.DisableApiSSR]: featureSchema,
106
+ [FeatureFlag.UnifiedDocs]: featureSchema,
107
+ [FeatureFlag.DocsAnalytics]: featureSchema,
108
+ [FeatureFlag.McpAnalytics]: featureSchema,
109
+ [FeatureFlag.MicrosoftLogin]: featureSchema,
110
+ [FeatureFlag.EditorPreview]: featureSchema,
111
+ [FeatureFlag.RegistryGit]: featureSchema,
112
+ [FeatureFlag.AutoBillSeats]: featureSchema,
113
+ [FeatureFlag.AutoBillSdks]: featureSchema
114
+ }).meta({ id: "feature-flag" });
115
+ var featureFlagUpdateSchema = external_exports.object(Object.fromEntries(Object.values(FeatureFlag).map((featureFlag) => [
116
+ featureFlag,
117
+ featureUpdateSchema
118
+ ]))).meta({ id: "feature-flag-update" });
119
+ var autoBillingFlags = {
120
+ seats: FeatureFlag.AutoBillSeats,
121
+ sdks: FeatureFlag.AutoBillSdks
122
+ };
123
+ var DEFAULT_ON_FLAGS = /* @__PURE__ */ new Set([
124
+ ...Object.values(autoBillingFlags),
125
+ /**
126
+ * MCP analytics is on for everyone; the flag remains only as a per-team kill
127
+ * switch. Ingest has always run for every team regardless of the flag, so
128
+ * this grants read access to records that already exist rather than starting
129
+ * any new collection.
130
+ */
131
+ FeatureFlag.McpAnalytics
132
+ ]);
133
+
134
+ // ../../packages/entities/dist/team/schema.js
135
+ var TeamUserRole;
136
+ (function(TeamUserRole2) {
137
+ TeamUserRole2["Owner"] = "owner";
138
+ TeamUserRole2["Admin"] = "admin";
139
+ TeamUserRole2["Editor"] = "editor";
140
+ TeamUserRole2["Viewer"] = "viewer";
141
+ })(TeamUserRole || (TeamUserRole = {}));
142
+ var roleLabels = {
143
+ [TeamUserRole.Admin]: "Admin",
144
+ [TeamUserRole.Editor]: "Editor",
145
+ [TeamUserRole.Owner]: "Owner",
146
+ [TeamUserRole.Viewer]: "Viewer"
147
+ };
148
+ var roleSchema = external_exports.enum(TeamUserRole).meta({ id: "role" });
149
+ var userRefSchema = external_exports.object({
150
+ uid: brandedUid(),
151
+ role: roleSchema,
152
+ displayName: external_exports.string(),
153
+ imageUri: external_exports.string().optional(),
154
+ activeProjectUid: external_exports.string().default(""),
155
+ nonBillable: external_exports.boolean().default(false).optional()
156
+ }).meta({ id: "user-ref" });
157
+ var billingPlanSchema = external_exports.enum(BillingPlan).meta({ id: "billing-plan" });
158
+ var billingInfoSchema = external_exports.preprocess((arg) => {
159
+ if (typeof arg?.hasTrial === "boolean" && ![
160
+ BillingPlan.Premium,
161
+ BillingPlan.ProMonthly,
162
+ BillingPlan.ProYearly
163
+ ].includes(arg?.plan)) {
164
+ arg.plan = "trial";
165
+ }
166
+ return arg;
167
+ }, external_exports.object({
168
+ billingId: nanoidSchema.optional(),
169
+ email: emailSchema,
170
+ plan: billingPlanSchema,
171
+ expires: external_exports.number().optional(),
172
+ sdkTrialReminderSentAt: external_exports.number().optional(),
173
+ trialEndedReminderSentAt: external_exports.number().optional(),
174
+ trialExtendedAt: external_exports.number().optional(),
175
+ includedCreditsOverride: external_exports.number().optional()
176
+ })).meta({ id: "billing-info" });
177
+ var invoiceStatusSchema = external_exports.enum(["open", "paid", "draft", "void", "uncollectible"]).meta({ id: "invoice-status" });
178
+ var billingInvoiceSchema = external_exports.object({
179
+ id: external_exports.string(),
180
+ /** Total invoice payment amount */
181
+ total: external_exports.number(),
182
+ /** Invoice status - we should only display open and paid to users */
183
+ status: invoiceStatusSchema.nullable(),
184
+ /** Invoice payment date */
185
+ paymentDate: external_exports.number(),
186
+ /** Currency for payment */
187
+ currency: external_exports.string(),
188
+ /** PDF download link */
189
+ downloadUrl: external_exports.string().nullable().optional()
190
+ }).meta({ id: "billing-invoice" });
191
+ var cardSchema = external_exports.object({
192
+ last4: external_exports.string().length(4),
193
+ expMonth: external_exports.number(),
194
+ expYear: external_exports.number()
195
+ }).meta({ id: "card" });
196
+ var teamBillingSummary = external_exports.object({
197
+ /** All invoices for a team */
198
+ invoices: billingInvoiceSchema.array().default([]),
199
+ /** Stripe customer billing address */
200
+ address: external_exports.string().nullable(),
201
+ card: cardSchema.nullable(),
202
+ /** Basic Scalar billing info from team record */
203
+ billingInfo: billingInfoSchema
204
+ }).meta({ id: "team-billing-summary" });
205
+ var pendingInviteSchema = external_exports.object({
206
+ uid: nanoidSchema,
207
+ role: roleSchema.default(TeamUserRole.Editor),
208
+ email: emailSchema,
209
+ expires: external_exports.number().optional()
210
+ }).meta({ id: "pending-invite" });
211
+ var teamNameSchema = external_exports.string().trim().overwrite((s) => s.length ? s : "Untitled Team").meta({ id: "team-name" });
212
+ var teamImageSchema = external_exports.string().optional().meta({ id: "team-image" });
213
+ var TeamOnboardingState;
214
+ (function(TeamOnboardingState2) {
215
+ TeamOnboardingState2["Setup"] = "setup";
216
+ TeamOnboardingState2["Complete"] = "complete";
217
+ })(TeamOnboardingState || (TeamOnboardingState = {}));
218
+ var TeamAuthenticationMethod;
219
+ (function(TeamAuthenticationMethod2) {
220
+ TeamAuthenticationMethod2["Password"] = "password";
221
+ TeamAuthenticationMethod2["Google"] = "google";
222
+ TeamAuthenticationMethod2["GitHub"] = "github";
223
+ TeamAuthenticationMethod2["SSO"] = "sso";
224
+ })(TeamAuthenticationMethod || (TeamAuthenticationMethod = {}));
225
+ var teamAuthenticationMethodLabels = {
226
+ [TeamAuthenticationMethod.Google]: "Google OAuth",
227
+ [TeamAuthenticationMethod.GitHub]: "GitHub OAuth",
228
+ [TeamAuthenticationMethod.Password]: "Email & Password",
229
+ [TeamAuthenticationMethod.SSO]: "Single Sign-On"
230
+ };
231
+ var teamAuthenticationMethodsSchema = external_exports.object({
232
+ [TeamAuthenticationMethod.Password]: external_exports.boolean().default(true),
233
+ [TeamAuthenticationMethod.Google]: external_exports.boolean().default(true),
234
+ [TeamAuthenticationMethod.GitHub]: external_exports.boolean().default(true),
235
+ [TeamAuthenticationMethod.SSO]: external_exports.boolean().default(true)
236
+ }).meta({ id: "team-authentication-methods" });
237
+ var teamAuthenticationSchema = external_exports.object({
238
+ /** General team level enabled authentication methods */
239
+ methods: teamAuthenticationMethodsSchema.default(schemaModel({}, teamAuthenticationMethodsSchema)),
240
+ /**
241
+ * Allowlist of domains for login.
242
+ *
243
+ * If empty, all domains are allowed.
244
+ */
245
+ domains: external_exports.string().array().default([]),
246
+ /**
247
+ * User level authentication methods.
248
+ *
249
+ * Overrides general team methods that were
250
+ * enabled/disabled.
251
+ */
252
+ userControls: external_exports.record(nanoidSchema, teamAuthenticationMethodsSchema).default({})
253
+ }).meta({ id: "team-authentication" });
254
+ var teamSchema = entitySchema.extend({
255
+ /** Own uid, branded so it cannot be confused with another entity's uid */
256
+ uid: brandedUid().default(mintUid).meta({ default: "nanoid()" }),
257
+ name: teamNameSchema,
258
+ slug: slugSchema,
259
+ archived: external_exports.boolean().optional().default(false),
260
+ imageUri: teamImageSchema,
261
+ theme: external_exports.string().default("default"),
262
+ onboarding: external_exports.enum(TeamOnboardingState).default(TeamOnboardingState.Complete),
263
+ billingInfo: billingInfoSchema,
264
+ namespaces: namespaceSchema.array().refine((ns) => !ns.includes("share"), {
265
+ message: '"share" is a reserved namespace and cannot be used'
266
+ }).default([]),
267
+ users: userRefSchema.array(),
268
+ icons: customProjectIconSchema.array().default([]),
269
+ pendingInvites: pendingInviteSchema.array().default([]),
270
+ /** Team auth configuration */
271
+ authentication: teamAuthenticationSchema.default(schemaModel({}, teamAuthenticationSchema)),
272
+ externalAccess: externalAccessSchema.default(schemaModel({}, externalAccessSchema)),
273
+ features: featureFlagSchema.default({}),
274
+ /**
275
+ * Teams can be manually verified when they need to upload documents
276
+ * containing prohibited text or links. This is manually set by request.
277
+ */
278
+ verified: external_exports.boolean().default(false).optional()
279
+ }).meta({ id: "team" });
280
+
281
+ // ../../packages/entities/dist/team/helpers.js
282
+ var billingFeatures = {
283
+ team: {
284
+ archival: "teamArchival"
285
+ },
286
+ authentication: {
287
+ sso: "sso"
288
+ }
289
+ };
290
+ var teamBillingFeatures = {
291
+ [billingFeatures.team.archival]: {
292
+ [BillingPlan.Enterprise]: true,
293
+ [BillingPlan.Premium]: true,
294
+ [BillingPlan.ProMonthly]: true,
295
+ [BillingPlan.ProYearly]: true
296
+ },
297
+ [billingFeatures.authentication.sso]: {
298
+ [BillingPlan.Enterprise]: true
299
+ }
300
+ };
301
+ var permissions = {
302
+ team: {
303
+ delete: "deleteTeam",
304
+ manage: "manageTeam",
305
+ manageOwners: "manageOwners"
306
+ },
307
+ docs: {
308
+ create: "createDocs",
309
+ edit: "editDocs",
310
+ delete: "deleteDocs"
311
+ }
312
+ };
313
+ var teamPermissions = {
314
+ [permissions.team.manageOwners]: {
315
+ [TeamUserRole.Owner]: true,
316
+ [TeamUserRole.Admin]: false,
317
+ [TeamUserRole.Editor]: false,
318
+ [TeamUserRole.Viewer]: false
319
+ },
320
+ [permissions.team.manage]: {
321
+ [TeamUserRole.Owner]: true,
322
+ [TeamUserRole.Admin]: true,
323
+ [TeamUserRole.Editor]: false,
324
+ [TeamUserRole.Viewer]: false
325
+ },
326
+ [permissions.team.delete]: {
327
+ [TeamUserRole.Owner]: true,
328
+ [TeamUserRole.Admin]: false,
329
+ [TeamUserRole.Editor]: false,
330
+ [TeamUserRole.Viewer]: false
331
+ },
332
+ [permissions.docs.create]: {
333
+ [TeamUserRole.Owner]: true,
334
+ [TeamUserRole.Admin]: true,
335
+ [TeamUserRole.Editor]: true,
336
+ [TeamUserRole.Viewer]: false
337
+ },
338
+ [permissions.docs.edit]: {
339
+ [TeamUserRole.Owner]: true,
340
+ [TeamUserRole.Admin]: true,
341
+ [TeamUserRole.Editor]: true,
342
+ [TeamUserRole.Viewer]: false
343
+ },
344
+ [permissions.docs.delete]: {
345
+ [TeamUserRole.Owner]: true,
346
+ [TeamUserRole.Admin]: true,
347
+ [TeamUserRole.Editor]: true,
348
+ [TeamUserRole.Viewer]: false
349
+ }
350
+ };
351
+
352
+ export {
353
+ roleSchema,
354
+ billingPlanSchema,
355
+ teamBillingSummary,
356
+ teamNameSchema,
357
+ teamImageSchema,
358
+ teamSchema
359
+ };
@@ -0,0 +1,138 @@
1
+ import { createRequire as $$cR } from "node:module"; const require = $$cR(import.meta.url);
2
+ import {
3
+ baseRegistrySchema
4
+ } from "./chunk-VTYTPSXO.js";
5
+ import {
6
+ methodSchema
7
+ } from "./chunk-TLFMATXR.js";
8
+ import {
9
+ brandedUid,
10
+ compareVersionsDesc,
11
+ docVersionSchema,
12
+ mintUid,
13
+ nanoidSchema
14
+ } from "./chunk-ISGLWBXZ.js";
15
+ import {
16
+ external_exports
17
+ } from "./chunk-H2WRMLYY.js";
18
+
19
+ // ../../packages/entities/dist/rule/default-data.js
20
+ var scalarRuleset = `extends: spectral:oas
21
+ rules: {}`;
22
+
23
+ // ../../packages/entities/dist/rule/schema.js
24
+ var blockPublishOnSchema = external_exports.enum([
25
+ "error",
26
+ "warning",
27
+ "info",
28
+ "hint",
29
+ "none"
30
+ ]);
31
+ var ruleSchema = baseRegistrySchema.extend({
32
+ blockPublishOn: blockPublishOnSchema.default("none")
33
+ }).meta({ id: "rule" });
34
+
35
+ // ../../packages/entities/dist/managed-doc/managed-doc.js
36
+ var RegistryAsset;
37
+ (function(RegistryAsset2) {
38
+ RegistryAsset2["Apis"] = "apis";
39
+ RegistryAsset2["Rules"] = "rules";
40
+ RegistryAsset2["Sdks"] = "sdks";
41
+ RegistryAsset2["Schemas"] = "schemas";
42
+ RegistryAsset2["Workspaces"] = "workspaces";
43
+ })(RegistryAsset || (RegistryAsset = {}));
44
+ var ApiEmbedStatus;
45
+ (function(ApiEmbedStatus2) {
46
+ ApiEmbedStatus2["Complete"] = "complete";
47
+ ApiEmbedStatus2["Failed"] = "failed";
48
+ })(ApiEmbedStatus || (ApiEmbedStatus = {}));
49
+ var managedDocTool = external_exports.object({
50
+ path: external_exports.string(),
51
+ method: methodSchema,
52
+ enabledTools: external_exports.enum(["execute-request", "get-mini-openapi-spec"]).array()
53
+ });
54
+ var managedDocVersionSchema = external_exports.object({
55
+ uid: nanoidSchema,
56
+ /** Millisecond base timestamp of versions */
57
+ createdAt: external_exports.number(),
58
+ version: docVersionSchema,
59
+ /** OpenAPI version normalized on upload */
60
+ upgraded: external_exports.boolean().default(false),
61
+ /** Vector embeddings processed, agent is enabled */
62
+ embedStatus: external_exports.enum(ApiEmbedStatus).nullable().default(null),
63
+ tags: external_exports.string().array().default([]),
64
+ tools: managedDocTool.array().optional(),
65
+ /** SHA-256 hex digest of the YAML content stored in the registry bucket */
66
+ yamlSha: external_exports.string().optional(),
67
+ /** SHA-256 hex digest of the JSON content stored in the registry bucket */
68
+ jsonSha: external_exports.string().optional(),
69
+ /** Random opaque token regenerated whenever the version's content changes */
70
+ versionSha: external_exports.string().optional()
71
+ }).meta({ id: "managed-doc-version" });
72
+ var managedDocSchema = baseRegistrySchema.extend({
73
+ /** Own uid, branded so it cannot be confused with another entity's uid */
74
+ uid: brandedUid().default(mintUid).meta({ default: "nanoid()" }),
75
+ /** The current version served to consumers by default */
76
+ version: docVersionSchema,
77
+ /**
78
+ * Certain types of collections will be write restricted for properties
79
+ * that would mutate the original specification (such as adding endpoints)
80
+ */
81
+ isExternal: external_exports.boolean().default(true),
82
+ /** Repository information if we are managing a github spec */
83
+ repository: external_exports.object({
84
+ linkedBy: external_exports.string(),
85
+ id: external_exports.number(),
86
+ name: external_exports.string().min(2),
87
+ path: external_exports.string().default(""),
88
+ branch: external_exports.string().default("")
89
+ }).optional(),
90
+ /** URL to the source spec if we are managing a hosted spec */
91
+ sourceUrl: external_exports.url().optional(),
92
+ /** Theme assigned to API, supports custom theme slugs */
93
+ theme: external_exports.string().default(""),
94
+ /**
95
+ * UID to the collaborative YJS doc
96
+ *
97
+ * This content will be replaced on submitted updates and able to be edited in real-time
98
+ * When a user is ready to commit their changes they can bump the version with the changed content
99
+ */
100
+ editableUid: external_exports.string(),
101
+ ruleset: external_exports.string().default(scalarRuleset),
102
+ /**
103
+ * An ordered version history record
104
+ *
105
+ * When a sync update is requested we find any versions with timestamps
106
+ * later than the local base and determine the mutation records
107
+ *
108
+ * Mutations records will then need to be diffed and conflicts handled locally
109
+ * before pushing to the database
110
+ */
111
+ versions: managedDocVersionSchema.array(),
112
+ /** Enable Agent Scalar */
113
+ agentEnabled: external_exports.boolean().default(true),
114
+ /**
115
+ * Scalar verified status
116
+ *
117
+ * This will be moved in the future to a separate
118
+ * collection for registry DNS checks.
119
+ */
120
+ verified: external_exports.boolean().default(false)
121
+ }).meta({ id: "managed-doc" });
122
+
123
+ // ../../packages/entities/dist/managed-doc/helpers.js
124
+ function getLegacyWysiwygVersion(versions) {
125
+ if (versions.includes("latest")) {
126
+ return "latest";
127
+ }
128
+ const latestVersion = [...versions].sort((a, b) => compareVersionsDesc(a, b))[0];
129
+ return latestVersion ?? "latest";
130
+ }
131
+
132
+ export {
133
+ ruleSchema,
134
+ getLegacyWysiwygVersion,
135
+ RegistryAsset,
136
+ managedDocVersionSchema,
137
+ managedDocSchema
138
+ };