@scalar/cli 2.1.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +28 -24
  2. package/chunks/{action-CYP4VDK3.js → action-37EV4UHW.js} +12 -35
  3. package/chunks/{action-MENXFJH3.js → action-4XI7XJR4.js} +9 -9
  4. package/chunks/{action-H5OHT2GV.js → action-5IU77OII.js} +7 -3
  5. package/chunks/{action-STIEAXOE.js → action-B3KKREWQ.js} +16 -5
  6. package/chunks/{action-BYZUBXVB.js → action-CH24QGTE.js} +8 -4
  7. package/chunks/action-F3UX5E3M.js +522 -0
  8. package/chunks/{action-GB6DM53B.js → action-FDB7NEOK.js} +21 -10
  9. package/chunks/action-FIXBOJEW.js +244 -0
  10. package/chunks/{action-DFKHSDFV.js → action-G26LSVZ7.js} +7 -3
  11. package/chunks/{action-Q5UJ32D6.js → action-H3RTILLM.js} +1 -1
  12. package/chunks/{action-GEBRPNRT.js → action-HGBBV353.js} +15 -16
  13. package/chunks/{action-5R5FDF6S.js → action-IUE4IOWO.js} +67 -22
  14. package/chunks/{action-TPBKPHNS.js → action-JZLZ7ZAD.js} +22 -22
  15. package/chunks/action-LA6KVAXQ.js +374 -0
  16. package/chunks/{action-PVDDRIM6.js → action-M7RQKBSB.js} +65 -26
  17. package/chunks/{action-F4Y6Q2VB.js → action-MSLBC2SO.js} +21 -21
  18. package/chunks/{action-BNEGJBUH.js → action-NVSZT2ZD.js} +8 -9
  19. package/chunks/{action-ANU5HGC4.js → action-OGQSTRMX.js} +17 -14
  20. package/chunks/{action-CLSD7O2R.js → action-PAGJ5PWC.js} +10 -10
  21. package/chunks/action-QE2ZQQX7.js +250 -0
  22. package/chunks/{action-HD2T6BFJ.js → action-QPUSPD5M.js} +10 -10
  23. package/chunks/{action-45OGQB2M.js → action-R7IMFHQ5.js} +17 -8
  24. package/chunks/{action-UDZUUJSI.js → action-SH4UUXPL.js} +18 -7
  25. package/chunks/action-SNLCIBQC.js +84 -0
  26. package/chunks/{action-C5VB4ITT.js → action-SQG3JAII.js} +36 -18
  27. package/chunks/action-UZQJNYK4.js +18 -0
  28. package/chunks/{action-HNKM3Q65.js → action-VC4DCVST.js} +17 -14
  29. package/chunks/{action-BMFXENMX.js → action-VTVFY2MP.js} +39 -34
  30. package/chunks/{action-TZ5KGAQT.js → action-WFWYGY7O.js} +17 -14
  31. package/chunks/{action-W5BATF4Q.js → action-XMNX5ZYT.js} +24 -24
  32. package/chunks/{agent-XGLOHXNA.js → agent-HCQRMHQ5.js} +25 -5
  33. package/chunks/asyncapi-QM76O55R.js +105 -0
  34. package/chunks/{build.action-LKOILPA6.js → build.action-P7FCIMYU.js} +22 -22
  35. package/chunks/{chunk-23I5PKZZ.js → chunk-24WAOKGG.js} +32 -5
  36. package/chunks/chunk-3L6DLIXJ.js +25530 -0
  37. package/chunks/chunk-3ZJYGGAA.js +30 -0
  38. package/chunks/{chunk-ZTVWAKNJ.js → chunk-4NHMAG6F.js} +1 -1
  39. package/chunks/{chunk-IX7LJ3AD.js → chunk-4ORL4MST.js} +2 -3
  40. package/chunks/{chunk-OAXFCOJV.js → chunk-4ZDQXWBT.js} +2 -1
  41. package/chunks/{chunk-ASMHW5AY.js → chunk-6ZMT63IV.js} +1 -1
  42. package/chunks/{chunk-P2VH7DOC.js → chunk-7AGLC7WV.js} +6 -6
  43. package/chunks/{chunk-SXYALPYK.js → chunk-AO3F5XWR.js} +498 -60
  44. package/chunks/{chunk-B6QZJWCQ.js → chunk-B2MHTD3R.js} +4 -6
  45. package/chunks/{chunk-4QS7SJTG.js → chunk-CISTON3A.js} +51 -36
  46. package/chunks/chunk-COBPBRQF.js +25 -0
  47. package/chunks/{chunk-2BSG2QHO.js → chunk-F467BYYR.js} +133 -20
  48. package/chunks/{chunk-TLFMATXR.js → chunk-GSGZHE26.js} +33 -25
  49. package/chunks/{chunk-UPUTMFD4.js → chunk-HCPN3KNF.js} +185 -13
  50. package/chunks/{chunk-P646T2WH.js → chunk-HPL3ZZ2P.js} +131 -13
  51. package/chunks/{chunk-H2WRMLYY.js → chunk-IKT5F47M.js} +3571 -7
  52. package/chunks/{chunk-AHWWJ3MD.js → chunk-K4DTP5TV.js} +1 -1
  53. package/chunks/{chunk-TQ5XC2E3.js → chunk-LFU5ZUAP.js} +77 -11
  54. package/chunks/{chunk-5BISXQX4.js → chunk-M37TP6U2.js} +11 -13
  55. package/chunks/chunk-OQKDBLOZ.js +741 -0
  56. package/chunks/chunk-P7H7GY5A.js +14 -0
  57. package/chunks/{chunk-47Y4L5IT.js → chunk-PBXZN65A.js} +1031 -481
  58. package/chunks/{chunk-HQKBZOYU.js → chunk-PT5TI77I.js} +3 -3
  59. package/chunks/chunk-Q7DOQHZN.js +404 -0
  60. package/chunks/{chunk-X4QLDBB5.js → chunk-T5HJUAWB.js} +24 -3
  61. package/chunks/{chunk-NUXPNUSS.js → chunk-UGGNHILG.js} +1 -1
  62. package/chunks/{chunk-4DGQIAJX.js → chunk-VNYE4R7N.js} +154 -14
  63. package/chunks/{chunk-KWOL7A6J.js → chunk-X5T526CE.js} +2 -2
  64. package/chunks/chunk-XCSR4RIT.js +210 -0
  65. package/chunks/{chunk-SHSHFGA7.js → chunk-Z2KMGFE6.js} +4 -6
  66. package/chunks/{create.action-FFQLBSJH.js → create.action-HDD2WUON.js} +22 -22
  67. package/chunks/{delete.action-STHQHP4F.js → delete.action-7GOZY7ID.js} +22 -22
  68. package/chunks/{delete.action-QNN3LC2F.js → delete.action-VE66JFDS.js} +22 -22
  69. package/chunks/{get.action-OTKYOP3Z.js → get.action-2745EB4N.js} +15 -16
  70. package/chunks/{list.action-KDM5RHEH.js → list.action-3VTXQJRA.js} +19 -19
  71. package/chunks/{list.action-6I5EZAVB.js → list.action-4QDCZLSZ.js} +22 -22
  72. package/chunks/{publish.action-PODTVRXS.js → publish.action-ULQLZKWU.js} +44 -36
  73. package/chunks/{update.action-KMD4ZM75.js → update.action-6QEFP7NA.js} +22 -22
  74. package/chunks/{update.action-4F6STTEQ.js → update.action-OROQSP2S.js} +22 -22
  75. package/docs.html +104 -103
  76. package/index.js +84 -68
  77. package/package.json +16 -12
  78. package/chunks/action-CCW66QJN.js +0 -72
  79. package/chunks/action-CQ56FVES.js +0 -65
  80. package/chunks/action-JOSVV6YA.js +0 -71
  81. package/chunks/action-P7LN6FGY.js +0 -13
  82. package/chunks/action-R6ZZO26F.js +0 -299
  83. package/chunks/action-TWFJNQ2R.js +0 -95
  84. package/chunks/chunk-5BPPGTUU.js +0 -463
  85. package/chunks/chunk-DOVIWNKQ.js +0 -108
  86. package/chunks/chunk-ISGLWBXZ.js +0 -4265
  87. package/chunks/chunk-T7MDADON.js +0 -17
  88. package/chunks/chunk-VTYTPSXO.js +0 -161
@@ -2,55 +2,59 @@ import { createRequire as $$cR } from "node:module"; const require = $$cR(import
2
2
  import {
3
3
  dashboardUrl,
4
4
  registryUrl
5
- } from "./chunk-T7MDADON.js";
5
+ } from "./chunk-COBPBRQF.js";
6
6
  import {
7
7
  registry
8
- } from "./chunk-DOVIWNKQ.js";
8
+ } from "./chunk-XCSR4RIT.js";
9
9
  import {
10
- getFileOrUrl
11
- } from "./chunk-23I5PKZZ.js";
10
+ getFileOrUrl,
11
+ isDocument,
12
+ safeNormalize
13
+ } from "./chunk-24WAOKGG.js";
12
14
  import {
13
15
  DEFAULT_FETCH_CONCURRENCY
14
- } from "./chunk-AHWWJ3MD.js";
16
+ } from "./chunk-K4DTP5TV.js";
15
17
  import {
16
18
  apiService
17
- } from "./chunk-SXYALPYK.js";
19
+ } from "./chunk-AO3F5XWR.js";
18
20
  import {
19
21
  BaseCollections
20
- } from "./chunk-2BSG2QHO.js";
22
+ } from "./chunk-F467BYYR.js";
21
23
  import {
22
24
  getDatabaseClient
23
- } from "./chunk-SHSHFGA7.js";
24
- import "./chunk-UPUTMFD4.js";
25
- import "./chunk-B6QZJWCQ.js";
26
- import "./chunk-5BPPGTUU.js";
27
- import "./chunk-P646T2WH.js";
28
- import {
29
- RegistryAsset
30
- } from "./chunk-4QS7SJTG.js";
31
- import "./chunk-VTYTPSXO.js";
25
+ } from "./chunk-Z2KMGFE6.js";
26
+ import "./chunk-HCPN3KNF.js";
27
+ import "./chunk-B2MHTD3R.js";
28
+ import "./chunk-3L6DLIXJ.js";
29
+ import "./chunk-P7H7GY5A.js";
30
+ import "./chunk-HPL3ZZ2P.js";
32
31
  import {
33
32
  getAuthData
34
- } from "./chunk-5BISXQX4.js";
35
- import "./chunk-OAXFCOJV.js";
36
- import "./chunk-TLFMATXR.js";
33
+ } from "./chunk-M37TP6U2.js";
34
+ import "./chunk-4ZDQXWBT.js";
37
35
  import {
38
36
  teamSchema
39
- } from "./chunk-4DGQIAJX.js";
37
+ } from "./chunk-VNYE4R7N.js";
38
+ import "./chunk-OQKDBLOZ.js";
39
+ import "./chunk-K74E42RV.js";
40
+ import {
41
+ RegistryAsset
42
+ } from "./chunk-CISTON3A.js";
43
+ import "./chunk-Q7DOQHZN.js";
44
+ import {
45
+ isUrl
46
+ } from "./chunk-4ORL4MST.js";
47
+ import {
48
+ output
49
+ } from "./chunk-T5HJUAWB.js";
50
+ import "./chunk-GSGZHE26.js";
40
51
  import {
41
52
  docVersionSchema,
53
+ external_exports,
42
54
  namespaceSchema,
43
55
  slugSchema,
44
56
  toAsciiSlug
45
- } from "./chunk-ISGLWBXZ.js";
46
- import {
47
- external_exports
48
- } from "./chunk-H2WRMLYY.js";
49
- import "./chunk-K74E42RV.js";
50
- import "./chunk-IX7LJ3AD.js";
51
- import {
52
- output
53
- } from "./chunk-X4QLDBB5.js";
57
+ } from "./chunk-IKT5F47M.js";
54
58
  import "./chunk-3MZYUBJ6.js";
55
59
 
56
60
  // src/domains/registry/publish/action.ts
@@ -58,7 +62,6 @@ import { text } from "@clack/prompts";
58
62
  import as from "ansis";
59
63
  import { bundle } from "@scalar/json-magic/bundle";
60
64
  import { fetchUrls, readFiles } from "@scalar/json-magic/bundle/plugins/node";
61
- import { parseJsonOrYaml } from "@scalar/oas-utils/helpers";
62
65
  async function publishAction(file, args) {
63
66
  const { error, data } = external_exports.object({
64
67
  slug: slugSchema.optional(),
@@ -112,10 +115,12 @@ async function publishAction(file, args) {
112
115
  if (value.length === 0) return "File path or URL is required!";
113
116
  }
114
117
  })).toString();
115
- const rawDocument = await getFileOrUrl(apiFile);
116
- const parsed = parseJsonOrYaml(rawDocument);
117
- if (!rawDocument) {
118
- return output.error().title("Invalid file").message("Please provide a valid file path for your document.").exit("error");
118
+ const content = await getFileOrUrl(apiFile);
119
+ const parsed = safeNormalize(content);
120
+ if (!isDocument(parsed)) {
121
+ return output.error().title("Invalid file").message(
122
+ isUrl(apiFile) ? "Could not fetch or parse the document from the URL." : "Could not read or parse the document file."
123
+ ).exit("error");
119
124
  }
120
125
  const bundlingPlugins = [readFiles()];
121
126
  if (data.bundle) {
@@ -1,22 +1,25 @@
1
1
  import { createRequire as $$cR } from "node:module"; const require = $$cR(import.meta.url);
2
2
  import {
3
3
  apiService
4
- } from "./chunk-SXYALPYK.js";
5
- import "./chunk-UPUTMFD4.js";
6
- import "./chunk-B6QZJWCQ.js";
7
- import "./chunk-P646T2WH.js";
8
- import "./chunk-4QS7SJTG.js";
9
- import "./chunk-VTYTPSXO.js";
10
- import "./chunk-5BISXQX4.js";
11
- import "./chunk-OAXFCOJV.js";
12
- import "./chunk-TLFMATXR.js";
13
- import "./chunk-4DGQIAJX.js";
14
- import "./chunk-ISGLWBXZ.js";
15
- import "./chunk-H2WRMLYY.js";
16
- import "./chunk-IX7LJ3AD.js";
4
+ } from "./chunk-AO3F5XWR.js";
5
+ import "./chunk-HCPN3KNF.js";
6
+ import "./chunk-B2MHTD3R.js";
7
+ import "./chunk-3L6DLIXJ.js";
8
+ import "./chunk-P7H7GY5A.js";
9
+ import "./chunk-HPL3ZZ2P.js";
10
+ import "./chunk-M37TP6U2.js";
11
+ import "./chunk-4ZDQXWBT.js";
12
+ import "./chunk-VNYE4R7N.js";
13
+ import "./chunk-OQKDBLOZ.js";
14
+ import "./chunk-K74E42RV.js";
15
+ import "./chunk-CISTON3A.js";
16
+ import "./chunk-Q7DOQHZN.js";
17
+ import "./chunk-4ORL4MST.js";
17
18
  import {
18
19
  output
19
- } from "./chunk-X4QLDBB5.js";
20
+ } from "./chunk-T5HJUAWB.js";
21
+ import "./chunk-GSGZHE26.js";
22
+ import "./chunk-IKT5F47M.js";
20
23
  import "./chunk-3MZYUBJ6.js";
21
24
 
22
25
  // src/domains/registry/update/action.ts
@@ -1,45 +1,45 @@
1
1
  import { createRequire as $$cR } from "node:module"; const require = $$cR(import.meta.url);
2
2
  import {
3
3
  getPublishDeploymentUrl
4
- } from "./chunk-ZTVWAKNJ.js";
4
+ } from "./chunk-4NHMAG6F.js";
5
5
  import {
6
6
  getProjectDeployments
7
- } from "./chunk-HQKBZOYU.js";
7
+ } from "./chunk-PT5TI77I.js";
8
8
  import {
9
9
  resolveProject
10
10
  } from "./chunk-T7B6WNZC.js";
11
11
  import {
12
12
  formatAbsoluteTime
13
13
  } from "./chunk-AEFPCC4U.js";
14
- import "./chunk-DOVIWNKQ.js";
14
+ import "./chunk-XCSR4RIT.js";
15
15
  import {
16
16
  apiService
17
- } from "./chunk-SXYALPYK.js";
18
- import "./chunk-2BSG2QHO.js";
19
- import "./chunk-SHSHFGA7.js";
20
- import "./chunk-UPUTMFD4.js";
21
- import "./chunk-B6QZJWCQ.js";
22
- import "./chunk-5BPPGTUU.js";
23
- import "./chunk-P646T2WH.js";
24
- import "./chunk-4QS7SJTG.js";
25
- import "./chunk-VTYTPSXO.js";
17
+ } from "./chunk-AO3F5XWR.js";
18
+ import "./chunk-F467BYYR.js";
19
+ import "./chunk-Z2KMGFE6.js";
20
+ import "./chunk-HCPN3KNF.js";
21
+ import "./chunk-B2MHTD3R.js";
22
+ import "./chunk-3L6DLIXJ.js";
23
+ import "./chunk-P7H7GY5A.js";
24
+ import "./chunk-HPL3ZZ2P.js";
26
25
  import {
27
26
  getAuthData
28
- } from "./chunk-5BISXQX4.js";
29
- import "./chunk-OAXFCOJV.js";
30
- import "./chunk-TLFMATXR.js";
31
- import "./chunk-4DGQIAJX.js";
32
- import {
33
- slugSchema
34
- } from "./chunk-ISGLWBXZ.js";
35
- import {
36
- external_exports
37
- } from "./chunk-H2WRMLYY.js";
27
+ } from "./chunk-M37TP6U2.js";
28
+ import "./chunk-4ZDQXWBT.js";
29
+ import "./chunk-VNYE4R7N.js";
30
+ import "./chunk-OQKDBLOZ.js";
38
31
  import "./chunk-K74E42RV.js";
39
- import "./chunk-IX7LJ3AD.js";
32
+ import "./chunk-CISTON3A.js";
33
+ import "./chunk-Q7DOQHZN.js";
34
+ import "./chunk-4ORL4MST.js";
40
35
  import {
41
36
  output
42
- } from "./chunk-X4QLDBB5.js";
37
+ } from "./chunk-T5HJUAWB.js";
38
+ import "./chunk-GSGZHE26.js";
39
+ import {
40
+ external_exports,
41
+ slugSchema
42
+ } from "./chunk-IKT5F47M.js";
43
43
  import "./chunk-3MZYUBJ6.js";
44
44
 
45
45
  // src/domains/project/rollback/action.ts
@@ -1,5 +1,11 @@
1
1
  import { createRequire as $$cR } from "node:module"; const require = $$cR(import.meta.url);
2
2
  import {
3
+ DASHBOARD_CHAT_CONTEXT_MAX_CHARS,
4
+ DASHBOARD_CHAT_MAX_MESSAGES,
5
+ DASHBOARD_EDITOR_CONTEXT_KEY,
6
+ DASHBOARD_EDITOR_TOOL_NAMES,
7
+ DASHBOARD_SDK_CONTEXT_KEY,
8
+ DASHBOARD_SDK_TOOL_NAMES,
3
9
  agentApi,
4
10
  agentApiErrorSchema,
5
11
  analyticsGranularitySchema,
@@ -7,6 +13,10 @@ import {
7
13
  analyticsRoutes,
8
14
  bumpKindSchema,
9
15
  bumpStrategySchema,
16
+ dashboardChatBodySchema,
17
+ dashboardChatSettingsSchema,
18
+ dashboardRoutes,
19
+ docsChatContextSchema,
10
20
  docsProjectAgentInfoSchema,
11
21
  docsRoutes,
12
22
  editorChatBodySchema,
@@ -51,13 +61,19 @@ import {
51
61
  teamUsageResponseSchema,
52
62
  usageRecordSchema,
53
63
  usageRoutes
54
- } from "./chunk-P646T2WH.js";
55
- import "./chunk-TLFMATXR.js";
56
- import "./chunk-4DGQIAJX.js";
57
- import "./chunk-ISGLWBXZ.js";
58
- import "./chunk-H2WRMLYY.js";
64
+ } from "./chunk-HPL3ZZ2P.js";
65
+ import "./chunk-VNYE4R7N.js";
66
+ import "./chunk-OQKDBLOZ.js";
67
+ import "./chunk-GSGZHE26.js";
68
+ import "./chunk-IKT5F47M.js";
59
69
  import "./chunk-3MZYUBJ6.js";
60
70
  export {
71
+ DASHBOARD_CHAT_CONTEXT_MAX_CHARS,
72
+ DASHBOARD_CHAT_MAX_MESSAGES,
73
+ DASHBOARD_EDITOR_CONTEXT_KEY,
74
+ DASHBOARD_EDITOR_TOOL_NAMES,
75
+ DASHBOARD_SDK_CONTEXT_KEY,
76
+ DASHBOARD_SDK_TOOL_NAMES,
61
77
  agentApi,
62
78
  agentApiErrorSchema,
63
79
  analyticsGranularitySchema,
@@ -65,6 +81,10 @@ export {
65
81
  analyticsRoutes,
66
82
  bumpKindSchema,
67
83
  bumpStrategySchema,
84
+ dashboardChatBodySchema,
85
+ dashboardChatSettingsSchema,
86
+ dashboardRoutes,
87
+ docsChatContextSchema,
68
88
  docsProjectAgentInfoSchema,
69
89
  docsRoutes,
70
90
  editorChatBodySchema,
@@ -0,0 +1,105 @@
1
+ import { createRequire as $$cR } from "node:module"; const require = $$cR(import.meta.url);
2
+ import {
3
+ isAsyncApiDocument,
4
+ isDocument
5
+ } from "./chunk-24WAOKGG.js";
6
+ import {
7
+ watchFile
8
+ } from "./chunk-M37TP6U2.js";
9
+ import "./chunk-4ZDQXWBT.js";
10
+ import "./chunk-VNYE4R7N.js";
11
+ import "./chunk-OQKDBLOZ.js";
12
+ import "./chunk-CISTON3A.js";
13
+ import "./chunk-Q7DOQHZN.js";
14
+ import "./chunk-4ORL4MST.js";
15
+ import {
16
+ output
17
+ } from "./chunk-T5HJUAWB.js";
18
+ import "./chunk-GSGZHE26.js";
19
+ import "./chunk-IKT5F47M.js";
20
+ import "./chunk-3MZYUBJ6.js";
21
+
22
+ // src/domains/document/mock/asyncapi.ts
23
+ import { serve } from "@hono/node-server";
24
+ import { upgrade } from "@scalar/asyncapi-upgrader";
25
+ import { validate } from "@scalar/asyncapi-validator";
26
+ import { bundle } from "@scalar/json-magic/bundle";
27
+ import { fetchUrls, readFiles } from "@scalar/json-magic/bundle/plugins/node";
28
+ import { createAsyncApiMockServer } from "@scalar/mock-server";
29
+ var loadAsyncApiMockDocument = async (input) => {
30
+ const document = await bundle(input, {
31
+ plugins: [readFiles(), fetchUrls()],
32
+ treeShake: false
33
+ });
34
+ if (!isDocument(document) || !isAsyncApiDocument(document)) {
35
+ throw new Error("Expected an AsyncAPI document");
36
+ }
37
+ const result = validate(document);
38
+ if (!result.valid) {
39
+ throw new Error("Invalid AsyncAPI document");
40
+ }
41
+ return upgrade(document);
42
+ };
43
+ var mockAsyncApi = async (input, options) => {
44
+ const document = await loadAsyncApiMockDocument(input).catch(
45
+ (error) => {
46
+ output.error().title(error.message).exit("error");
47
+ }
48
+ );
49
+ if (!document) return;
50
+ const connections = /* @__PURE__ */ new Set();
51
+ const start = async (nextDocument) => {
52
+ const { app, injectWebSocket } = await createAsyncApiMockServer({
53
+ document: nextDocument,
54
+ logger: (line) => output.info().line(line).print(),
55
+ onMessage: ({ channel, direction }) => {
56
+ output.info().line(`${direction} ${channel}`).print();
57
+ }
58
+ });
59
+ const server2 = serve(
60
+ { fetch: app.fetch, port: options.port ?? 3e3 },
61
+ ({ port }) => {
62
+ output.info().line(`AsyncAPI Mock Server listening on http://localhost:${port}`).print();
63
+ }
64
+ );
65
+ server2.on("connection", (socket) => {
66
+ connections.add(socket);
67
+ socket.once("close", () => connections.delete(socket));
68
+ });
69
+ injectWebSocket(server2);
70
+ return server2;
71
+ };
72
+ let server = await start(document);
73
+ let current = JSON.stringify(document);
74
+ let reloading = false;
75
+ const watcher = options.watch && !options.once ? await watchFile(input, async () => {
76
+ if (reloading) return;
77
+ reloading = true;
78
+ try {
79
+ const nextDocument = await loadAsyncApiMockDocument(input);
80
+ const serialized = JSON.stringify(nextDocument);
81
+ if (serialized === current) return;
82
+ await new Promise((resolve, reject) => {
83
+ server.close((error) => error ? reject(error) : resolve());
84
+ for (const socket of connections) socket.destroy();
85
+ });
86
+ server = await start(nextDocument);
87
+ current = serialized;
88
+ } catch (error) {
89
+ output.warn().title(String(error)).print();
90
+ } finally {
91
+ reloading = false;
92
+ }
93
+ }) : void 0;
94
+ if (options.once) {
95
+ setTimeout(() => {
96
+ void watcher?.unsubscribe();
97
+ server.close();
98
+ for (const socket of connections) socket.destroy();
99
+ }, 2e3);
100
+ }
101
+ };
102
+ export {
103
+ loadAsyncApiMockDocument,
104
+ mockAsyncApi
105
+ };
@@ -1,42 +1,42 @@
1
1
  import { createRequire as $$cR } from "node:module"; const require = $$cR(import.meta.url);
2
2
  import {
3
3
  apiService
4
- } from "./chunk-SXYALPYK.js";
4
+ } from "./chunk-AO3F5XWR.js";
5
5
  import {
6
6
  BaseCollections
7
- } from "./chunk-2BSG2QHO.js";
7
+ } from "./chunk-F467BYYR.js";
8
8
  import {
9
9
  getDatabaseClient
10
- } from "./chunk-SHSHFGA7.js";
11
- import "./chunk-UPUTMFD4.js";
12
- import "./chunk-B6QZJWCQ.js";
10
+ } from "./chunk-Z2KMGFE6.js";
11
+ import "./chunk-HCPN3KNF.js";
12
+ import "./chunk-B2MHTD3R.js";
13
13
  import {
14
14
  sdkSchema
15
- } from "./chunk-5BPPGTUU.js";
16
- import "./chunk-P646T2WH.js";
17
- import "./chunk-4QS7SJTG.js";
18
- import "./chunk-VTYTPSXO.js";
15
+ } from "./chunk-3L6DLIXJ.js";
16
+ import "./chunk-P7H7GY5A.js";
17
+ import "./chunk-HPL3ZZ2P.js";
19
18
  import {
20
19
  getAuthData
21
- } from "./chunk-5BISXQX4.js";
22
- import "./chunk-OAXFCOJV.js";
23
- import "./chunk-TLFMATXR.js";
20
+ } from "./chunk-M37TP6U2.js";
21
+ import "./chunk-4ZDQXWBT.js";
24
22
  import {
25
23
  teamSchema
26
- } from "./chunk-4DGQIAJX.js";
24
+ } from "./chunk-VNYE4R7N.js";
25
+ import "./chunk-OQKDBLOZ.js";
26
+ import "./chunk-K74E42RV.js";
27
+ import "./chunk-CISTON3A.js";
28
+ import "./chunk-Q7DOQHZN.js";
29
+ import "./chunk-4ORL4MST.js";
30
+ import {
31
+ output
32
+ } from "./chunk-T5HJUAWB.js";
33
+ import "./chunk-GSGZHE26.js";
27
34
  import {
28
35
  docVersionSchema,
36
+ external_exports,
29
37
  namespaceSchema,
30
38
  slugSchema
31
- } from "./chunk-ISGLWBXZ.js";
32
- import {
33
- external_exports
34
- } from "./chunk-H2WRMLYY.js";
35
- import "./chunk-K74E42RV.js";
36
- import "./chunk-IX7LJ3AD.js";
37
- import {
38
- output
39
- } from "./chunk-X4QLDBB5.js";
39
+ } from "./chunk-IKT5F47M.js";
40
40
  import "./chunk-3MZYUBJ6.js";
41
41
 
42
42
  // src/domains/sdk/build.action.ts
@@ -1,10 +1,13 @@
1
1
  import { createRequire as $$cR } from "node:module"; const require = $$cR(import.meta.url);
2
+ import {
3
+ detectManagedDocType
4
+ } from "./chunk-CISTON3A.js";
2
5
  import {
3
6
  isUrl
4
- } from "./chunk-IX7LJ3AD.js";
7
+ } from "./chunk-4ORL4MST.js";
5
8
  import {
6
9
  output
7
- } from "./chunk-X4QLDBB5.js";
10
+ } from "./chunk-T5HJUAWB.js";
8
11
 
9
12
  // src/domains/document/helpers/banner.ts
10
13
  import as from "ansis";
@@ -23,6 +26,20 @@ var printSpecificationBanner = (result) => {
23
26
  ).title(as.grey(`${pathsCount} paths, ${operationsCount} operations`)).print();
24
27
  };
25
28
 
29
+ // src/domains/document/helpers/safe-normalize.ts
30
+ import { normalize } from "@scalar/json-magic/helpers/normalize";
31
+ var safeNormalize = (value) => {
32
+ try {
33
+ return normalize(value);
34
+ } catch {
35
+ return void 0;
36
+ }
37
+ };
38
+
39
+ // src/domains/document/helpers/document-type.ts
40
+ var isAsyncApiDocument = (document) => detectManagedDocType(document) === "asyncapi";
41
+ var isAsyncApiContent = (content) => content.includes("asyncapi") && isAsyncApiDocument(safeNormalize(content));
42
+
26
43
  // src/domains/document/helpers/imports.ts
27
44
  import fs from "node:fs";
28
45
  import as2 from "ansis";
@@ -41,14 +58,16 @@ var getFileOrUrl = async (input) => {
41
58
  return fs.readFileSync(input, "utf-8");
42
59
  };
43
60
  var loadOpenApiFile = async (input) => {
44
- const specification = await getFileOrUrl(input);
61
+ return loadOpenApiDocument(await getFileOrUrl(input));
62
+ };
63
+ var loadOpenApiDocument = async (specification) => {
45
64
  try {
46
65
  const { filesystem } = await load(specification);
47
66
  const result = await validate(filesystem);
48
67
  if (!result.valid) {
49
68
  output.warn().title("File does not match the OpenAPI specification.").print();
50
69
  result.errors?.forEach((error) => {
51
- output.warn().title(`${error.error} (${error.path})`).print();
70
+ output.warn().title(`${error.message} (${error.path})`).print();
52
71
  });
53
72
  return result;
54
73
  }
@@ -71,8 +90,16 @@ var loadOpenApiFile = async (input) => {
71
90
  }
72
91
  };
73
92
 
93
+ // src/domains/document/helpers/is-document.ts
94
+ var isDocument = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
95
+
74
96
  export {
75
97
  printSpecificationBanner,
98
+ safeNormalize,
99
+ isAsyncApiDocument,
100
+ isAsyncApiContent,
76
101
  getFileOrUrl,
77
- loadOpenApiFile
102
+ loadOpenApiFile,
103
+ loadOpenApiDocument,
104
+ isDocument
78
105
  };