@brainfish-ai/devdoc 0.1.42 → 0.1.44

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 (398) hide show
  1. package/dist/cli/commands/create.js +2 -2
  2. package/dist/cli/commands/dev.js +19 -10
  3. package/package.json +3 -2
  4. package/renderer/app/api/assets/[...path]/route.js +108 -0
  5. package/renderer/app/api/assets/route.js +114 -0
  6. package/renderer/app/api/assets/upload/route.js +163 -0
  7. package/renderer/app/api/auth-schemes/route.js +58 -0
  8. package/renderer/app/api/chat/route.js +759 -0
  9. package/renderer/app/api/codegen/route.js +52 -0
  10. package/renderer/app/api/collections/route.js +706 -0
  11. package/renderer/app/api/debug/route.js +47 -0
  12. package/renderer/app/api/deploy/route.js +199 -0
  13. package/renderer/app/api/device/route.js +36 -0
  14. package/renderer/app/api/docs/route.js +205 -0
  15. package/renderer/app/api/domains/add/route.js +121 -0
  16. package/renderer/app/api/domains/lookup/route.js +43 -0
  17. package/renderer/app/api/domains/remove/route.js +89 -0
  18. package/renderer/app/api/domains/status/route.js +140 -0
  19. package/renderer/app/api/domains/verify/route.js +168 -0
  20. package/renderer/app/api/keys/regenerate/route.js +71 -0
  21. package/renderer/app/api/local-assets/[...path]/route.js +108 -0
  22. package/renderer/app/api/openapi-spec/route.js +73 -0
  23. package/renderer/app/api/projects/[slug]/route.js +129 -0
  24. package/renderer/app/api/projects/[slug]/stats/route.js +80 -0
  25. package/renderer/app/api/projects/register/route.js +176 -0
  26. package/renderer/app/api/proxy/route.js +139 -0
  27. package/renderer/app/api/proxy-stream/route.js +156 -0
  28. package/renderer/app/api/redirects/route.js +35 -0
  29. package/renderer/app/api/schema/route.js +85 -0
  30. package/renderer/app/api/subdomains/check/route.js +158 -0
  31. package/renderer/app/api/suggestions/route.js +195 -0
  32. package/renderer/app/globals.css +69 -0
  33. package/renderer/app/layout.js +47 -0
  34. package/renderer/app/llms-full.txt/route.js +266 -0
  35. package/renderer/app/llms.txt/route.js +228 -0
  36. package/renderer/app/page.js +12 -0
  37. package/renderer/app/robots.txt/route.js +66 -0
  38. package/renderer/app/sitemap.xml/route.js +155 -0
  39. package/renderer/components/docs/index.js +8 -0
  40. package/renderer/components/docs/mdx/accordion.js +113 -0
  41. package/renderer/components/docs/mdx/badge.js +72 -0
  42. package/renderer/components/docs/mdx/callouts.js +137 -0
  43. package/renderer/components/docs/mdx/cards.js +175 -0
  44. package/renderer/components/docs/mdx/changelog.js +100 -0
  45. package/renderer/components/docs/mdx/code-block.js +147 -0
  46. package/renderer/components/docs/mdx/code-group.js +287 -0
  47. package/renderer/components/docs/mdx/file-embeds.js +82 -0
  48. package/renderer/components/docs/mdx/frame.js +59 -0
  49. package/renderer/components/docs/mdx/highlight.js +90 -0
  50. package/renderer/components/docs/mdx/iframe.js +69 -0
  51. package/renderer/components/docs/mdx/image.js +135 -0
  52. package/renderer/components/docs/mdx/index.js +134 -0
  53. package/renderer/components/docs/mdx/landing.js +317 -0
  54. package/renderer/components/docs/mdx/mermaid.js +212 -0
  55. package/renderer/components/docs/mdx/param-field.js +112 -0
  56. package/renderer/components/docs/mdx/steps.js +74 -0
  57. package/renderer/components/docs/mdx/tabs.js +50 -0
  58. package/renderer/components/docs/mdx-renderer.js +77 -0
  59. package/renderer/components/docs/navigation/breadcrumbs.js +64 -0
  60. package/renderer/components/docs/navigation/index.js +6 -0
  61. package/renderer/components/docs/navigation/page-nav.js +57 -0
  62. package/renderer/components/docs/navigation/sidebar.js +375 -0
  63. package/renderer/components/docs/navigation/toc.js +89 -0
  64. package/renderer/components/docs/notice.js +77 -0
  65. package/renderer/components/docs-header.js +202 -0
  66. package/renderer/components/docs-viewer/agent/agent-chat.js +1831 -0
  67. package/renderer/components/docs-viewer/agent/agent-popup-button.js +99 -0
  68. package/renderer/components/docs-viewer/agent/cards/debug-context-card.js +107 -0
  69. package/renderer/components/docs-viewer/agent/cards/endpoint-context-card.js +57 -0
  70. package/renderer/components/docs-viewer/agent/cards/index.js +45 -0
  71. package/renderer/components/docs-viewer/agent/cards/response-options-card.js +154 -0
  72. package/renderer/components/docs-viewer/agent/cards/types.js +22 -0
  73. package/renderer/components/docs-viewer/agent/chat-message.js +2 -0
  74. package/renderer/components/docs-viewer/agent/index.js +7 -0
  75. package/renderer/components/docs-viewer/agent/messages/assistant-message.js +108 -0
  76. package/renderer/components/docs-viewer/agent/messages/chat-message.js +34 -0
  77. package/renderer/components/docs-viewer/agent/messages/index.js +6 -0
  78. package/renderer/components/docs-viewer/agent/messages/tool-call-display.js +1065 -0
  79. package/renderer/components/docs-viewer/agent/messages/types.js +2 -0
  80. package/renderer/components/docs-viewer/agent/messages/typing-indicator.js +26 -0
  81. package/renderer/components/docs-viewer/agent/messages/user-message.js +37 -0
  82. package/renderer/components/docs-viewer/code-editor/{index.tsx → index.js} +1 -1
  83. package/renderer/components/docs-viewer/code-editor/notes-mode.js +1338 -0
  84. package/renderer/components/docs-viewer/content/changelog-page.js +297 -0
  85. package/renderer/components/docs-viewer/content/content-router.js +182 -0
  86. package/renderer/components/docs-viewer/content/doc-page.js +290 -0
  87. package/renderer/components/docs-viewer/content/documentation-viewer.js +14 -0
  88. package/renderer/components/docs-viewer/content/index.js +31 -0
  89. package/renderer/components/docs-viewer/content/not-found-page.js +300 -0
  90. package/renderer/components/docs-viewer/content/request-details.js +528 -0
  91. package/renderer/components/docs-viewer/content/sections/auth.js +108 -0
  92. package/renderer/components/docs-viewer/content/sections/body.js +80 -0
  93. package/renderer/components/docs-viewer/content/sections/headers.js +64 -0
  94. package/renderer/components/docs-viewer/content/sections/overview.js +56 -0
  95. package/renderer/components/docs-viewer/content/sections/parameters.js +64 -0
  96. package/renderer/components/docs-viewer/content/sections/responses.js +91 -0
  97. package/renderer/components/docs-viewer/global-auth-modal.js +427 -0
  98. package/renderer/components/docs-viewer/index.js +1448 -0
  99. package/renderer/components/docs-viewer/playground/auth-editor.js +418 -0
  100. package/renderer/components/docs-viewer/playground/body-editor.js +240 -0
  101. package/renderer/components/docs-viewer/playground/code-editor.js +135 -0
  102. package/renderer/components/docs-viewer/playground/code-snippet.js +393 -0
  103. package/renderer/components/docs-viewer/playground/graphql-playground.js +936 -0
  104. package/renderer/components/docs-viewer/playground/index.js +682 -0
  105. package/renderer/components/docs-viewer/playground/key-value-editor.js +317 -0
  106. package/renderer/components/docs-viewer/playground/method-selector.js +65 -0
  107. package/renderer/components/docs-viewer/playground/request-builder.js +181 -0
  108. package/renderer/components/docs-viewer/playground/request-tabs.js +240 -0
  109. package/renderer/components/docs-viewer/playground/response-cards/idle-card.js +42 -0
  110. package/renderer/components/docs-viewer/playground/response-cards/index.js +72 -0
  111. package/renderer/components/docs-viewer/playground/response-cards/loading-card.js +24 -0
  112. package/renderer/components/docs-viewer/playground/response-cards/network-error-card.js +28 -0
  113. package/renderer/components/docs-viewer/playground/response-cards/response-body-card.js +308 -0
  114. package/renderer/components/docs-viewer/playground/response-cards/types.js +9 -0
  115. package/renderer/components/docs-viewer/playground/response-viewer.js +18 -0
  116. package/renderer/components/docs-viewer/search/index.js +2 -0
  117. package/renderer/components/docs-viewer/search/search-dialog.js +367 -0
  118. package/renderer/components/docs-viewer/search/use-search.js +89 -0
  119. package/renderer/components/docs-viewer/shared/markdown-renderer.js +423 -0
  120. package/renderer/components/docs-viewer/shared/method-badge.js +23 -0
  121. package/renderer/components/docs-viewer/shared/schema-viewer.js +321 -0
  122. package/renderer/components/docs-viewer/sidebar/collection-tree.js +222 -0
  123. package/renderer/components/docs-viewer/sidebar/endpoint-options.js +512 -0
  124. package/renderer/components/docs-viewer/sidebar/index.js +196 -0
  125. package/renderer/components/docs-viewer/sidebar/right-sidebar.js +159 -0
  126. package/renderer/components/docs-viewer/sidebar/sidebar-group.js +87 -0
  127. package/renderer/components/docs-viewer/sidebar/sidebar-item.js +172 -0
  128. package/renderer/components/docs-viewer/sidebar/sidebar-section.js +31 -0
  129. package/renderer/components/theme-provider.js +10 -0
  130. package/renderer/components/theme-toggle.js +86 -0
  131. package/renderer/components/ui/badge.js +29 -0
  132. package/renderer/components/ui/button.js +40 -0
  133. package/renderer/components/ui/dialog.js +50 -0
  134. package/renderer/components/ui/dropdown-menu.js +143 -0
  135. package/renderer/components/ui/input.js +12 -0
  136. package/renderer/components/ui/label.js +13 -0
  137. package/renderer/components/ui/navigation-menu.js +83 -0
  138. package/renderer/components/ui/select.js +116 -0
  139. package/renderer/components/ui/spinner.js +92 -0
  140. package/renderer/components/ui/tabs.js +34 -0
  141. package/renderer/components/ui/tooltip.js +43 -0
  142. package/renderer/hooks/use-code-copy.js +76 -0
  143. package/renderer/hooks/use-openapi-title.js +33 -0
  144. package/renderer/hooks/use-route-state.js +159 -0
  145. package/renderer/lib/api-docs/agent/index.js +4 -0
  146. package/renderer/lib/api-docs/agent/indexer.js +254 -0
  147. package/renderer/lib/api-docs/agent/spec-summary.js +227 -0
  148. package/renderer/lib/api-docs/agent/types.js +5 -0
  149. package/renderer/lib/api-docs/agent/use-suggestions.js +97 -0
  150. package/renderer/lib/api-docs/auth/auth-context.js +157 -0
  151. package/renderer/lib/api-docs/auth/auth-storage.js +66 -0
  152. package/renderer/lib/api-docs/auth/crypto.js +64 -0
  153. package/renderer/lib/api-docs/auth/index.js +3 -0
  154. package/renderer/lib/api-docs/code-editor/db.js +145 -0
  155. package/renderer/lib/api-docs/code-editor/hooks.js +254 -0
  156. package/renderer/lib/api-docs/code-editor/{index.ts → index.js} +3 -4
  157. package/renderer/lib/api-docs/code-editor/mode-context.js +126 -0
  158. package/renderer/lib/api-docs/code-editor/types.js +53 -0
  159. package/renderer/lib/api-docs/codegen/definitions.js +258 -0
  160. package/renderer/lib/api-docs/codegen/har.js +171 -0
  161. package/renderer/lib/api-docs/codegen/index.js +118 -0
  162. package/renderer/lib/api-docs/factories.js +136 -0
  163. package/renderer/lib/api-docs/{index.ts → index.js} +5 -10
  164. package/renderer/lib/api-docs/mobile-context.js +116 -0
  165. package/renderer/lib/api-docs/navigation-context.js +62 -0
  166. package/renderer/lib/api-docs/parsers/graphql/index.js +50 -0
  167. package/renderer/lib/api-docs/parsers/graphql/parser.js +350 -0
  168. package/renderer/lib/api-docs/parsers/graphql/transformer.js +215 -0
  169. package/renderer/lib/api-docs/parsers/graphql/types.js +46 -0
  170. package/renderer/lib/api-docs/parsers/openapi/dereferencer.js +43 -0
  171. package/renderer/lib/api-docs/parsers/openapi/extractors/auth.js +486 -0
  172. package/renderer/lib/api-docs/parsers/openapi/extractors/body.js +295 -0
  173. package/renderer/lib/api-docs/parsers/openapi/extractors/index.js +132 -0
  174. package/renderer/lib/api-docs/parsers/openapi/index.js +127 -0
  175. package/renderer/lib/api-docs/parsers/openapi/transformer.js +192 -0
  176. package/renderer/lib/api-docs/parsers/openapi/validator.js +24 -0
  177. package/renderer/lib/api-docs/playground/context.js +65 -0
  178. package/renderer/lib/api-docs/playground/navigation-context.js +74 -0
  179. package/renderer/lib/api-docs/playground/request-builder.js +163 -0
  180. package/renderer/lib/api-docs/playground/request-runner.js +224 -0
  181. package/renderer/lib/api-docs/playground/types.js +5 -0
  182. package/renderer/lib/api-docs/types.js +23 -0
  183. package/renderer/lib/api-docs/utils.js +212 -0
  184. package/renderer/lib/cache.js +157 -0
  185. package/renderer/lib/docs/config/domain-schema.js +161 -0
  186. package/renderer/lib/docs/config/environment.js +38 -0
  187. package/renderer/lib/docs/config/index.js +6 -0
  188. package/renderer/lib/docs/config/loader.js +113 -0
  189. package/renderer/lib/docs/config/schema.js +281 -0
  190. package/renderer/lib/docs/index.js +8 -0
  191. package/renderer/lib/docs/mdx/compiler.js +131 -0
  192. package/renderer/lib/docs/mdx/frontmatter.js +73 -0
  193. package/renderer/lib/docs/mdx/index.js +10 -0
  194. package/renderer/lib/docs/mdx/remark-mermaid.js +63 -0
  195. package/renderer/lib/docs/navigation/generator.js +269 -0
  196. package/renderer/lib/docs/navigation/index.js +3 -0
  197. package/renderer/lib/docs/navigation/types.js +11 -0
  198. package/renderer/lib/docs-navigation-context.js +40 -0
  199. package/renderer/lib/docs-navigation.js +140 -0
  200. package/renderer/lib/multi-tenant/context.js +80 -0
  201. package/renderer/lib/storage/blob.js +767 -0
  202. package/renderer/lib/utils/icons.js +30 -0
  203. package/renderer/lib/utils.js +5 -0
  204. package/renderer/next.config.js +62 -0
  205. package/renderer/package.json +1 -0
  206. package/renderer/tsconfig.json +23 -5
  207. package/renderer/app/api/assets/[...path]/route.ts +0 -123
  208. package/renderer/app/api/assets/route.ts +0 -124
  209. package/renderer/app/api/assets/upload/route.ts +0 -177
  210. package/renderer/app/api/auth-schemes/route.ts +0 -77
  211. package/renderer/app/api/chat/route.ts +0 -858
  212. package/renderer/app/api/codegen/route.ts +0 -72
  213. package/renderer/app/api/collections/route.ts +0 -1002
  214. package/renderer/app/api/debug/route.ts +0 -53
  215. package/renderer/app/api/deploy/route.ts +0 -234
  216. package/renderer/app/api/device/route.ts +0 -42
  217. package/renderer/app/api/docs/route.ts +0 -201
  218. package/renderer/app/api/domains/add/route.ts +0 -132
  219. package/renderer/app/api/domains/lookup/route.ts +0 -43
  220. package/renderer/app/api/domains/remove/route.ts +0 -100
  221. package/renderer/app/api/domains/status/route.ts +0 -158
  222. package/renderer/app/api/domains/verify/route.ts +0 -181
  223. package/renderer/app/api/keys/regenerate/route.ts +0 -80
  224. package/renderer/app/api/local-assets/[...path]/route.ts +0 -122
  225. package/renderer/app/api/openapi-spec/route.ts +0 -151
  226. package/renderer/app/api/projects/[slug]/route.ts +0 -153
  227. package/renderer/app/api/projects/[slug]/stats/route.ts +0 -96
  228. package/renderer/app/api/projects/register/route.ts +0 -152
  229. package/renderer/app/api/proxy/route.ts +0 -149
  230. package/renderer/app/api/proxy-stream/route.ts +0 -168
  231. package/renderer/app/api/redirects/route.ts +0 -47
  232. package/renderer/app/api/schema/route.ts +0 -73
  233. package/renderer/app/api/subdomains/check/route.ts +0 -172
  234. package/renderer/app/api/suggestions/route.ts +0 -144
  235. package/renderer/app/layout.tsx +0 -54
  236. package/renderer/app/llms-full.txt/route.ts +0 -346
  237. package/renderer/app/llms.txt/route.ts +0 -279
  238. package/renderer/app/page.tsx +0 -14
  239. package/renderer/app/robots.txt/route.ts +0 -84
  240. package/renderer/app/sitemap.xml/route.ts +0 -199
  241. package/renderer/components/docs/index.ts +0 -12
  242. package/renderer/components/docs/mdx/accordion.tsx +0 -169
  243. package/renderer/components/docs/mdx/badge.tsx +0 -132
  244. package/renderer/components/docs/mdx/callouts.tsx +0 -154
  245. package/renderer/components/docs/mdx/cards.tsx +0 -241
  246. package/renderer/components/docs/mdx/changelog.tsx +0 -120
  247. package/renderer/components/docs/mdx/code-block.tsx +0 -186
  248. package/renderer/components/docs/mdx/code-group.tsx +0 -421
  249. package/renderer/components/docs/mdx/file-embeds.tsx +0 -105
  250. package/renderer/components/docs/mdx/frame.tsx +0 -112
  251. package/renderer/components/docs/mdx/highlight.tsx +0 -151
  252. package/renderer/components/docs/mdx/iframe.tsx +0 -134
  253. package/renderer/components/docs/mdx/image.tsx +0 -235
  254. package/renderer/components/docs/mdx/index.ts +0 -237
  255. package/renderer/components/docs/mdx/landing.tsx +0 -684
  256. package/renderer/components/docs/mdx/mermaid.tsx +0 -240
  257. package/renderer/components/docs/mdx/param-field.tsx +0 -200
  258. package/renderer/components/docs/mdx/steps.tsx +0 -113
  259. package/renderer/components/docs/mdx/tabs.tsx +0 -86
  260. package/renderer/components/docs/mdx-renderer.tsx +0 -100
  261. package/renderer/components/docs/navigation/breadcrumbs.tsx +0 -76
  262. package/renderer/components/docs/navigation/index.ts +0 -8
  263. package/renderer/components/docs/navigation/page-nav.tsx +0 -64
  264. package/renderer/components/docs/navigation/sidebar.tsx +0 -515
  265. package/renderer/components/docs/navigation/toc.tsx +0 -113
  266. package/renderer/components/docs/notice.tsx +0 -105
  267. package/renderer/components/docs-header.tsx +0 -278
  268. package/renderer/components/docs-viewer/agent/agent-chat.tsx +0 -2076
  269. package/renderer/components/docs-viewer/agent/cards/debug-context-card.tsx +0 -90
  270. package/renderer/components/docs-viewer/agent/cards/endpoint-context-card.tsx +0 -49
  271. package/renderer/components/docs-viewer/agent/cards/index.tsx +0 -50
  272. package/renderer/components/docs-viewer/agent/cards/response-options-card.tsx +0 -212
  273. package/renderer/components/docs-viewer/agent/cards/types.ts +0 -84
  274. package/renderer/components/docs-viewer/agent/chat-message.tsx +0 -17
  275. package/renderer/components/docs-viewer/agent/index.tsx +0 -6
  276. package/renderer/components/docs-viewer/agent/messages/assistant-message.tsx +0 -119
  277. package/renderer/components/docs-viewer/agent/messages/chat-message.tsx +0 -46
  278. package/renderer/components/docs-viewer/agent/messages/index.ts +0 -17
  279. package/renderer/components/docs-viewer/agent/messages/tool-call-display.tsx +0 -721
  280. package/renderer/components/docs-viewer/agent/messages/types.ts +0 -61
  281. package/renderer/components/docs-viewer/agent/messages/typing-indicator.tsx +0 -24
  282. package/renderer/components/docs-viewer/agent/messages/user-message.tsx +0 -51
  283. package/renderer/components/docs-viewer/code-editor/notes-mode.tsx +0 -1283
  284. package/renderer/components/docs-viewer/content/changelog-page.tsx +0 -331
  285. package/renderer/components/docs-viewer/content/doc-page.tsx +0 -367
  286. package/renderer/components/docs-viewer/content/documentation-viewer.tsx +0 -17
  287. package/renderer/components/docs-viewer/content/index.tsx +0 -29
  288. package/renderer/components/docs-viewer/content/not-found-page.tsx +0 -330
  289. package/renderer/components/docs-viewer/content/request-details.tsx +0 -330
  290. package/renderer/components/docs-viewer/content/sections/auth.tsx +0 -69
  291. package/renderer/components/docs-viewer/content/sections/body.tsx +0 -66
  292. package/renderer/components/docs-viewer/content/sections/headers.tsx +0 -43
  293. package/renderer/components/docs-viewer/content/sections/overview.tsx +0 -40
  294. package/renderer/components/docs-viewer/content/sections/parameters.tsx +0 -43
  295. package/renderer/components/docs-viewer/content/sections/responses.tsx +0 -87
  296. package/renderer/components/docs-viewer/global-auth-modal.tsx +0 -352
  297. package/renderer/components/docs-viewer/index.tsx +0 -1670
  298. package/renderer/components/docs-viewer/playground/auth-editor.tsx +0 -280
  299. package/renderer/components/docs-viewer/playground/body-editor.tsx +0 -221
  300. package/renderer/components/docs-viewer/playground/code-editor.tsx +0 -224
  301. package/renderer/components/docs-viewer/playground/code-snippet.tsx +0 -387
  302. package/renderer/components/docs-viewer/playground/graphql-playground.tsx +0 -745
  303. package/renderer/components/docs-viewer/playground/index.tsx +0 -671
  304. package/renderer/components/docs-viewer/playground/key-value-editor.tsx +0 -261
  305. package/renderer/components/docs-viewer/playground/method-selector.tsx +0 -60
  306. package/renderer/components/docs-viewer/playground/request-builder.tsx +0 -179
  307. package/renderer/components/docs-viewer/playground/request-tabs.tsx +0 -237
  308. package/renderer/components/docs-viewer/playground/response-cards/idle-card.tsx +0 -21
  309. package/renderer/components/docs-viewer/playground/response-cards/index.tsx +0 -93
  310. package/renderer/components/docs-viewer/playground/response-cards/loading-card.tsx +0 -16
  311. package/renderer/components/docs-viewer/playground/response-cards/network-error-card.tsx +0 -23
  312. package/renderer/components/docs-viewer/playground/response-cards/response-body-card.tsx +0 -268
  313. package/renderer/components/docs-viewer/playground/response-cards/types.ts +0 -82
  314. package/renderer/components/docs-viewer/playground/response-viewer.tsx +0 -43
  315. package/renderer/components/docs-viewer/search/index.ts +0 -2
  316. package/renderer/components/docs-viewer/search/search-dialog.tsx +0 -331
  317. package/renderer/components/docs-viewer/search/use-search.ts +0 -117
  318. package/renderer/components/docs-viewer/shared/markdown-renderer.tsx +0 -431
  319. package/renderer/components/docs-viewer/shared/method-badge.tsx +0 -41
  320. package/renderer/components/docs-viewer/shared/schema-viewer.tsx +0 -349
  321. package/renderer/components/docs-viewer/sidebar/collection-tree.tsx +0 -259
  322. package/renderer/components/docs-viewer/sidebar/endpoint-options.tsx +0 -316
  323. package/renderer/components/docs-viewer/sidebar/index.tsx +0 -282
  324. package/renderer/components/docs-viewer/sidebar/right-sidebar.tsx +0 -202
  325. package/renderer/components/docs-viewer/sidebar/sidebar-group.tsx +0 -118
  326. package/renderer/components/docs-viewer/sidebar/sidebar-item.tsx +0 -212
  327. package/renderer/components/docs-viewer/sidebar/sidebar-section.tsx +0 -38
  328. package/renderer/components/theme-provider.tsx +0 -11
  329. package/renderer/components/theme-toggle.tsx +0 -76
  330. package/renderer/components/ui/badge.tsx +0 -46
  331. package/renderer/components/ui/button.tsx +0 -59
  332. package/renderer/components/ui/dialog.tsx +0 -118
  333. package/renderer/components/ui/dropdown-menu.tsx +0 -257
  334. package/renderer/components/ui/input.tsx +0 -21
  335. package/renderer/components/ui/label.tsx +0 -24
  336. package/renderer/components/ui/navigation-menu.tsx +0 -168
  337. package/renderer/components/ui/select.tsx +0 -190
  338. package/renderer/components/ui/spinner.tsx +0 -114
  339. package/renderer/components/ui/tabs.tsx +0 -66
  340. package/renderer/components/ui/tooltip.tsx +0 -61
  341. package/renderer/hooks/use-code-copy.ts +0 -88
  342. package/renderer/hooks/use-openapi-title.ts +0 -44
  343. package/renderer/lib/api-docs/agent/index.ts +0 -6
  344. package/renderer/lib/api-docs/agent/indexer.ts +0 -323
  345. package/renderer/lib/api-docs/agent/spec-summary.ts +0 -335
  346. package/renderer/lib/api-docs/agent/types.ts +0 -116
  347. package/renderer/lib/api-docs/auth/auth-context.tsx +0 -225
  348. package/renderer/lib/api-docs/auth/auth-storage.ts +0 -87
  349. package/renderer/lib/api-docs/auth/crypto.ts +0 -89
  350. package/renderer/lib/api-docs/auth/index.ts +0 -4
  351. package/renderer/lib/api-docs/code-editor/db.ts +0 -164
  352. package/renderer/lib/api-docs/code-editor/hooks.ts +0 -266
  353. package/renderer/lib/api-docs/code-editor/mode-context.tsx +0 -207
  354. package/renderer/lib/api-docs/code-editor/types.ts +0 -105
  355. package/renderer/lib/api-docs/codegen/definitions.ts +0 -297
  356. package/renderer/lib/api-docs/codegen/har.ts +0 -251
  357. package/renderer/lib/api-docs/codegen/index.ts +0 -159
  358. package/renderer/lib/api-docs/factories.ts +0 -170
  359. package/renderer/lib/api-docs/mobile-context.tsx +0 -112
  360. package/renderer/lib/api-docs/navigation-context.tsx +0 -88
  361. package/renderer/lib/api-docs/parsers/graphql/README.md +0 -129
  362. package/renderer/lib/api-docs/parsers/graphql/index.ts +0 -91
  363. package/renderer/lib/api-docs/parsers/graphql/parser.ts +0 -491
  364. package/renderer/lib/api-docs/parsers/graphql/transformer.ts +0 -246
  365. package/renderer/lib/api-docs/parsers/graphql/types.ts +0 -283
  366. package/renderer/lib/api-docs/parsers/openapi/README.md +0 -32
  367. package/renderer/lib/api-docs/parsers/openapi/dereferencer.ts +0 -60
  368. package/renderer/lib/api-docs/parsers/openapi/extractors/auth.ts +0 -574
  369. package/renderer/lib/api-docs/parsers/openapi/extractors/body.ts +0 -403
  370. package/renderer/lib/api-docs/parsers/openapi/extractors/index.ts +0 -232
  371. package/renderer/lib/api-docs/parsers/openapi/index.ts +0 -171
  372. package/renderer/lib/api-docs/parsers/openapi/transformer.ts +0 -278
  373. package/renderer/lib/api-docs/parsers/openapi/validator.ts +0 -31
  374. package/renderer/lib/api-docs/playground/context.tsx +0 -107
  375. package/renderer/lib/api-docs/playground/navigation-context.tsx +0 -124
  376. package/renderer/lib/api-docs/playground/request-builder.ts +0 -223
  377. package/renderer/lib/api-docs/playground/request-runner.ts +0 -282
  378. package/renderer/lib/api-docs/playground/types.ts +0 -35
  379. package/renderer/lib/api-docs/types.ts +0 -269
  380. package/renderer/lib/api-docs/utils.ts +0 -311
  381. package/renderer/lib/cache.ts +0 -193
  382. package/renderer/lib/docs/config/domain-schema.ts +0 -260
  383. package/renderer/lib/docs/config/index.ts +0 -43
  384. package/renderer/lib/docs/config/loader.ts +0 -142
  385. package/renderer/lib/docs/config/schema.ts +0 -308
  386. package/renderer/lib/docs/index.ts +0 -12
  387. package/renderer/lib/docs/mdx/compiler.ts +0 -176
  388. package/renderer/lib/docs/mdx/frontmatter.ts +0 -91
  389. package/renderer/lib/docs/mdx/index.ts +0 -26
  390. package/renderer/lib/docs/navigation/generator.ts +0 -348
  391. package/renderer/lib/docs/navigation/index.ts +0 -12
  392. package/renderer/lib/docs/navigation/types.ts +0 -123
  393. package/renderer/lib/docs-navigation-context.tsx +0 -80
  394. package/renderer/lib/multi-tenant/context.ts +0 -105
  395. package/renderer/lib/storage/blob.ts +0 -1083
  396. package/renderer/lib/utils/icons.ts +0 -48
  397. package/renderer/lib/utils.ts +0 -6
  398. package/renderer/next.config.ts +0 -76
@@ -0,0 +1,427 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState, useEffect, useMemo } from 'react';
4
+ import { ShieldCheck, Key, Lock, User, X, Star } from '@phosphor-icons/react';
5
+ import { Button } from '@/components/ui/button';
6
+ import { Input } from '@/components/ui/input';
7
+ import { Dialog, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogClose } from '@/components/ui/dialog';
8
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';
9
+ import { useAuth } from '@/lib/api-docs/auth';
10
+ import { cn } from '@/lib/utils';
11
+ const BASE_AUTH_TYPES = [
12
+ {
13
+ value: 'none',
14
+ label: 'No Auth',
15
+ icon: ShieldCheck
16
+ },
17
+ {
18
+ value: 'basic',
19
+ label: 'Basic Auth',
20
+ icon: User
21
+ },
22
+ {
23
+ value: 'bearer',
24
+ label: 'Bearer Token',
25
+ icon: Key
26
+ },
27
+ {
28
+ value: 'api-key',
29
+ label: 'API Key',
30
+ icon: Lock
31
+ }
32
+ ];
33
+ export function GlobalAuthModal({ open, onClose }) {
34
+ const { globalAuth, setGlobalAuth, clearAuth, specSchemes, specDefaultAuth } = useAuth();
35
+ // Local state for editing
36
+ const [authType, setAuthType] = useState('none');
37
+ const [basicUsername, setBasicUsername] = useState('');
38
+ const [basicPassword, setBasicPassword] = useState('');
39
+ const [bearerToken, setBearerToken] = useState('');
40
+ const [apiKeyName, setApiKeyName] = useState('X-API-Key');
41
+ const [apiKeyValue, setApiKeyValue] = useState('');
42
+ const [apiKeyLocation, setApiKeyLocation] = useState('HEADERS');
43
+ const [showPassword, setShowPassword] = useState(false);
44
+ // Build auth types with spec-recommended first
45
+ const AUTH_TYPES = useMemo(()=>{
46
+ // If we have a spec default auth, put it first with a recommended label
47
+ if (specDefaultAuth && specDefaultAuth.authType !== 'none') {
48
+ const specType = specDefaultAuth.authType;
49
+ const baseType = BASE_AUTH_TYPES.find((t)=>t.value === specType);
50
+ if (baseType) {
51
+ // Get scheme info but use short label
52
+ const scheme = specSchemes.find((s)=>s.type === specType);
53
+ const label = `${baseType.label} (Recommended)`;
54
+ const description = scheme?.description;
55
+ return [
56
+ {
57
+ ...baseType,
58
+ label,
59
+ isRecommended: true,
60
+ description
61
+ },
62
+ ...BASE_AUTH_TYPES.filter((t)=>t.value !== specType).map((t)=>({
63
+ ...t,
64
+ isRecommended: false,
65
+ description: undefined
66
+ }))
67
+ ];
68
+ }
69
+ }
70
+ return BASE_AUTH_TYPES.map((t)=>({
71
+ ...t,
72
+ isRecommended: false,
73
+ description: undefined
74
+ }));
75
+ }, [
76
+ specDefaultAuth,
77
+ specSchemes
78
+ ]);
79
+ // Sync local state with global auth when modal opens
80
+ useEffect(()=>{
81
+ if (open && globalAuth) {
82
+ setAuthType(globalAuth.authType);
83
+ if (globalAuth.authType === 'basic') {
84
+ setBasicUsername(globalAuth.username);
85
+ setBasicPassword(globalAuth.password);
86
+ } else if (globalAuth.authType === 'bearer') {
87
+ setBearerToken(globalAuth.token);
88
+ } else if (globalAuth.authType === 'api-key') {
89
+ setApiKeyName(globalAuth.key);
90
+ setApiKeyValue(globalAuth.value);
91
+ setApiKeyLocation(globalAuth.addTo);
92
+ }
93
+ } else if (open) {
94
+ // If no global auth set, use spec default as the initial type
95
+ if (specDefaultAuth && specDefaultAuth.authType !== 'none') {
96
+ setAuthType(specDefaultAuth.authType);
97
+ // Pre-populate fields from spec (like API key name)
98
+ if (specDefaultAuth.authType === 'api-key') {
99
+ setApiKeyName(specDefaultAuth.key || 'X-API-Key');
100
+ setApiKeyLocation(specDefaultAuth.addTo || 'HEADERS');
101
+ setApiKeyValue(''); // User needs to enter value
102
+ }
103
+ } else {
104
+ setAuthType('none');
105
+ }
106
+ setBasicUsername('');
107
+ setBasicPassword('');
108
+ setBearerToken('');
109
+ if (!specDefaultAuth || specDefaultAuth.authType !== 'api-key') {
110
+ setApiKeyName('X-API-Key');
111
+ setApiKeyValue('');
112
+ setApiKeyLocation('HEADERS');
113
+ }
114
+ }
115
+ }, [
116
+ open,
117
+ globalAuth,
118
+ specDefaultAuth
119
+ ]);
120
+ const handleSave = ()=>{
121
+ let auth;
122
+ switch(authType){
123
+ case 'basic':
124
+ auth = {
125
+ authType: 'basic',
126
+ authActive: true,
127
+ username: basicUsername.trim(),
128
+ password: basicPassword
129
+ };
130
+ break;
131
+ case 'bearer':
132
+ auth = {
133
+ authType: 'bearer',
134
+ authActive: true,
135
+ token: bearerToken.trim()
136
+ };
137
+ break;
138
+ case 'api-key':
139
+ auth = {
140
+ authType: 'api-key',
141
+ authActive: true,
142
+ addTo: apiKeyLocation,
143
+ key: apiKeyName.trim(),
144
+ value: apiKeyValue.trim()
145
+ };
146
+ break;
147
+ default:
148
+ auth = {
149
+ authType: 'none',
150
+ authActive: true
151
+ };
152
+ }
153
+ setGlobalAuth(auth);
154
+ onClose();
155
+ };
156
+ const handleClear = ()=>{
157
+ clearAuth();
158
+ setAuthType('none');
159
+ setBasicUsername('');
160
+ setBasicPassword('');
161
+ setBearerToken('');
162
+ setApiKeyName('X-API-Key');
163
+ setApiKeyValue('');
164
+ onClose();
165
+ };
166
+ const currentType = AUTH_TYPES.find((t)=>t.value === authType) || AUTH_TYPES[0];
167
+ const CurrentIcon = currentType.icon;
168
+ return /*#__PURE__*/ _jsx(Dialog, {
169
+ open: open,
170
+ onOpenChange: (isOpen)=>!isOpen && onClose(),
171
+ children: /*#__PURE__*/ _jsxs(DialogContent, {
172
+ children: [
173
+ /*#__PURE__*/ _jsxs(DialogHeader, {
174
+ children: [
175
+ /*#__PURE__*/ _jsx(DialogTitle, {
176
+ children: "Global Authentication"
177
+ }),
178
+ /*#__PURE__*/ _jsx(DialogClose, {
179
+ className: "text-muted-foreground hover:text-foreground transition-colors p-1 hover:bg-muted rounded",
180
+ children: /*#__PURE__*/ _jsx(X, {
181
+ className: "h-4 w-4"
182
+ })
183
+ })
184
+ ]
185
+ }),
186
+ /*#__PURE__*/ _jsxs("div", {
187
+ className: "p-5 space-y-4",
188
+ children: [
189
+ /*#__PURE__*/ _jsxs("div", {
190
+ className: "space-y-1.5",
191
+ children: [
192
+ /*#__PURE__*/ _jsx("label", {
193
+ className: "text-xs font-medium text-muted-foreground uppercase tracking-wide",
194
+ children: "Type"
195
+ }),
196
+ /*#__PURE__*/ _jsxs(Select, {
197
+ value: authType,
198
+ onValueChange: setAuthType,
199
+ children: [
200
+ /*#__PURE__*/ _jsx(SelectTrigger, {
201
+ className: "w-full h-9",
202
+ children: /*#__PURE__*/ _jsx(SelectValue, {
203
+ children: /*#__PURE__*/ _jsxs("span", {
204
+ className: "flex items-center gap-2",
205
+ children: [
206
+ /*#__PURE__*/ _jsx(CurrentIcon, {
207
+ className: "h-3.5 w-3.5",
208
+ weight: "bold"
209
+ }),
210
+ /*#__PURE__*/ _jsx("span", {
211
+ className: "text-sm truncate",
212
+ children: currentType.label
213
+ }),
214
+ currentType.isRecommended && /*#__PURE__*/ _jsx(Star, {
215
+ className: "h-3 w-3 text-amber-500 flex-shrink-0",
216
+ weight: "fill"
217
+ })
218
+ ]
219
+ })
220
+ })
221
+ }),
222
+ /*#__PURE__*/ _jsx(SelectContent, {
223
+ children: AUTH_TYPES.map((type)=>/*#__PURE__*/ _jsx(SelectItem, {
224
+ value: type.value,
225
+ children: /*#__PURE__*/ _jsxs("div", {
226
+ className: "flex items-center gap-2",
227
+ children: [
228
+ /*#__PURE__*/ _jsx(type.icon, {
229
+ className: "h-3.5 w-3.5",
230
+ weight: "bold"
231
+ }),
232
+ /*#__PURE__*/ _jsx("span", {
233
+ children: type.label
234
+ }),
235
+ type.isRecommended && /*#__PURE__*/ _jsx(Star, {
236
+ className: "h-3 w-3 text-amber-500 ml-1",
237
+ weight: "fill"
238
+ })
239
+ ]
240
+ })
241
+ }, type.value))
242
+ })
243
+ ]
244
+ }),
245
+ currentType.description && /*#__PURE__*/ _jsx("p", {
246
+ className: "text-xs text-muted-foreground mt-1.5 line-clamp-2",
247
+ children: currentType.description.split('\n')[0]
248
+ })
249
+ ]
250
+ }),
251
+ authType === 'none' && /*#__PURE__*/ _jsx("div", {
252
+ className: "flex items-center justify-center py-8 text-center",
253
+ children: /*#__PURE__*/ _jsx("p", {
254
+ className: "text-sm text-muted-foreground",
255
+ children: "No authentication will be applied"
256
+ })
257
+ }),
258
+ authType === 'basic' && /*#__PURE__*/ _jsxs("div", {
259
+ className: "space-y-3",
260
+ children: [
261
+ /*#__PURE__*/ _jsxs("div", {
262
+ className: "space-y-1.5",
263
+ children: [
264
+ /*#__PURE__*/ _jsx("label", {
265
+ className: "text-xs font-medium text-muted-foreground",
266
+ children: "Username"
267
+ }),
268
+ /*#__PURE__*/ _jsx(Input, {
269
+ type: "text",
270
+ value: basicUsername,
271
+ onChange: (e)=>setBasicUsername(e.target.value),
272
+ placeholder: "Enter username",
273
+ className: "h-9"
274
+ })
275
+ ]
276
+ }),
277
+ /*#__PURE__*/ _jsxs("div", {
278
+ className: "space-y-1.5",
279
+ children: [
280
+ /*#__PURE__*/ _jsx("label", {
281
+ className: "text-xs font-medium text-muted-foreground",
282
+ children: "Password"
283
+ }),
284
+ /*#__PURE__*/ _jsxs("div", {
285
+ className: "relative",
286
+ children: [
287
+ /*#__PURE__*/ _jsx(Input, {
288
+ type: showPassword ? 'text' : 'password',
289
+ value: basicPassword,
290
+ onChange: (e)=>setBasicPassword(e.target.value),
291
+ placeholder: "Enter password",
292
+ className: "h-9 pr-14"
293
+ }),
294
+ /*#__PURE__*/ _jsx("button", {
295
+ type: "button",
296
+ onClick: ()=>setShowPassword(!showPassword),
297
+ className: "absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground text-xs px-1.5 py-0.5 rounded hover:bg-muted",
298
+ children: showPassword ? 'Hide' : 'Show'
299
+ })
300
+ ]
301
+ })
302
+ ]
303
+ })
304
+ ]
305
+ }),
306
+ authType === 'bearer' && /*#__PURE__*/ _jsxs("div", {
307
+ className: "space-y-1.5",
308
+ children: [
309
+ /*#__PURE__*/ _jsx("label", {
310
+ className: "text-xs font-medium text-muted-foreground",
311
+ children: "Token"
312
+ }),
313
+ /*#__PURE__*/ _jsx("textarea", {
314
+ value: bearerToken,
315
+ onChange: (e)=>setBearerToken(e.target.value),
316
+ placeholder: "Paste your bearer token...",
317
+ className: "w-full min-h-[80px] px-3 py-2 rounded-md border border-input bg-background font-mono text-sm resize-none focus:outline-none focus:ring-2 focus:ring-ring placeholder:text-muted-foreground/50"
318
+ })
319
+ ]
320
+ }),
321
+ authType === 'api-key' && /*#__PURE__*/ _jsxs("div", {
322
+ className: "space-y-3",
323
+ children: [
324
+ /*#__PURE__*/ _jsxs("div", {
325
+ className: "space-y-1.5",
326
+ children: [
327
+ /*#__PURE__*/ _jsx("label", {
328
+ className: "text-xs font-medium text-muted-foreground",
329
+ children: "Add to"
330
+ }),
331
+ /*#__PURE__*/ _jsxs("div", {
332
+ className: "flex p-0.5 bg-muted rounded-md",
333
+ children: [
334
+ /*#__PURE__*/ _jsx("button", {
335
+ type: "button",
336
+ onClick: ()=>setApiKeyLocation('HEADERS'),
337
+ className: cn('flex-1 px-3 py-1 rounded text-xs font-medium transition-all', apiKeyLocation === 'HEADERS' ? 'bg-background text-foreground shadow-sm' : 'text-muted-foreground hover:text-foreground'),
338
+ children: "Header"
339
+ }),
340
+ /*#__PURE__*/ _jsx("button", {
341
+ type: "button",
342
+ onClick: ()=>setApiKeyLocation('QUERY_PARAMS'),
343
+ className: cn('flex-1 px-3 py-1 rounded text-xs font-medium transition-all', apiKeyLocation === 'QUERY_PARAMS' ? 'bg-background text-foreground shadow-sm' : 'text-muted-foreground hover:text-foreground'),
344
+ children: "Query"
345
+ })
346
+ ]
347
+ })
348
+ ]
349
+ }),
350
+ /*#__PURE__*/ _jsxs("div", {
351
+ className: "space-y-1.5",
352
+ children: [
353
+ /*#__PURE__*/ _jsx("label", {
354
+ className: "text-xs font-medium text-muted-foreground",
355
+ children: "Key Name"
356
+ }),
357
+ /*#__PURE__*/ _jsx(Input, {
358
+ type: "text",
359
+ value: apiKeyName,
360
+ onChange: (e)=>setApiKeyName(e.target.value),
361
+ placeholder: "X-API-Key",
362
+ className: "font-mono h-9"
363
+ })
364
+ ]
365
+ }),
366
+ /*#__PURE__*/ _jsxs("div", {
367
+ className: "space-y-1.5",
368
+ children: [
369
+ /*#__PURE__*/ _jsx("label", {
370
+ className: "text-xs font-medium text-muted-foreground",
371
+ children: "Key Value"
372
+ }),
373
+ /*#__PURE__*/ _jsxs("div", {
374
+ className: "relative",
375
+ children: [
376
+ /*#__PURE__*/ _jsx(Input, {
377
+ type: showPassword ? 'text' : 'password',
378
+ value: apiKeyValue,
379
+ onChange: (e)=>setApiKeyValue(e.target.value),
380
+ placeholder: "Enter API key",
381
+ className: "font-mono h-9 pr-14"
382
+ }),
383
+ /*#__PURE__*/ _jsx("button", {
384
+ type: "button",
385
+ onClick: ()=>setShowPassword(!showPassword),
386
+ className: "absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground text-xs px-1.5 py-0.5 rounded hover:bg-muted",
387
+ children: showPassword ? 'Hide' : 'Show'
388
+ })
389
+ ]
390
+ })
391
+ ]
392
+ })
393
+ ]
394
+ })
395
+ ]
396
+ }),
397
+ /*#__PURE__*/ _jsxs(DialogFooter, {
398
+ children: [
399
+ /*#__PURE__*/ _jsx("button", {
400
+ onClick: handleClear,
401
+ className: "text-xs text-muted-foreground hover:text-destructive transition-colors",
402
+ children: "Clear"
403
+ }),
404
+ /*#__PURE__*/ _jsxs("div", {
405
+ className: "flex gap-2",
406
+ children: [
407
+ /*#__PURE__*/ _jsx(Button, {
408
+ variant: "ghost",
409
+ size: "sm",
410
+ onClick: onClose,
411
+ className: "h-8 px-3 text-xs",
412
+ children: "Cancel"
413
+ }),
414
+ /*#__PURE__*/ _jsx(Button, {
415
+ size: "sm",
416
+ onClick: handleSave,
417
+ className: "h-8 px-4 text-xs",
418
+ children: "Apply"
419
+ })
420
+ ]
421
+ })
422
+ ]
423
+ })
424
+ ]
425
+ })
426
+ });
427
+ }