@brainfish-ai/devdoc 0.1.42 → 0.1.43

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 (388) hide show
  1. package/dist/cli/commands/dev.js +19 -10
  2. package/package.json +3 -2
  3. package/renderer/app/api/assets/[...path]/route.js +108 -0
  4. package/renderer/app/api/assets/route.js +114 -0
  5. package/renderer/app/api/assets/upload/route.js +163 -0
  6. package/renderer/app/api/auth-schemes/route.js +58 -0
  7. package/renderer/app/api/chat/route.js +759 -0
  8. package/renderer/app/api/codegen/route.js +52 -0
  9. package/renderer/app/api/collections/route.js +675 -0
  10. package/renderer/app/api/debug/route.js +47 -0
  11. package/renderer/app/api/deploy/route.js +199 -0
  12. package/renderer/app/api/device/route.js +36 -0
  13. package/renderer/app/api/docs/route.js +205 -0
  14. package/renderer/app/api/domains/add/route.js +121 -0
  15. package/renderer/app/api/domains/lookup/route.js +43 -0
  16. package/renderer/app/api/domains/remove/route.js +89 -0
  17. package/renderer/app/api/domains/status/route.js +140 -0
  18. package/renderer/app/api/domains/verify/route.js +168 -0
  19. package/renderer/app/api/keys/regenerate/route.js +71 -0
  20. package/renderer/app/api/local-assets/[...path]/route.js +108 -0
  21. package/renderer/app/api/openapi-spec/route.js +73 -0
  22. package/renderer/app/api/projects/[slug]/route.js +129 -0
  23. package/renderer/app/api/projects/[slug]/stats/route.js +80 -0
  24. package/renderer/app/api/projects/register/route.js +176 -0
  25. package/renderer/app/api/proxy/route.js +139 -0
  26. package/renderer/app/api/proxy-stream/route.js +156 -0
  27. package/renderer/app/api/redirects/route.js +35 -0
  28. package/renderer/app/api/schema/route.js +85 -0
  29. package/renderer/app/api/subdomains/check/route.js +158 -0
  30. package/renderer/app/api/suggestions/route.js +175 -0
  31. package/renderer/app/layout.js +47 -0
  32. package/renderer/app/llms-full.txt/route.js +257 -0
  33. package/renderer/app/llms.txt/route.js +219 -0
  34. package/renderer/app/page.js +12 -0
  35. package/renderer/app/robots.txt/route.js +66 -0
  36. package/renderer/app/sitemap.xml/route.js +145 -0
  37. package/renderer/components/docs/index.js +8 -0
  38. package/renderer/components/docs/mdx/accordion.js +113 -0
  39. package/renderer/components/docs/mdx/badge.js +72 -0
  40. package/renderer/components/docs/mdx/callouts.js +137 -0
  41. package/renderer/components/docs/mdx/cards.js +175 -0
  42. package/renderer/components/docs/mdx/changelog.js +100 -0
  43. package/renderer/components/docs/mdx/code-block.js +147 -0
  44. package/renderer/components/docs/mdx/code-group.js +287 -0
  45. package/renderer/components/docs/mdx/file-embeds.js +82 -0
  46. package/renderer/components/docs/mdx/frame.js +59 -0
  47. package/renderer/components/docs/mdx/highlight.js +90 -0
  48. package/renderer/components/docs/mdx/iframe.js +69 -0
  49. package/renderer/components/docs/mdx/image.js +135 -0
  50. package/renderer/components/docs/mdx/index.js +134 -0
  51. package/renderer/components/docs/mdx/landing.js +315 -0
  52. package/renderer/components/docs/mdx/mermaid.js +212 -0
  53. package/renderer/components/docs/mdx/param-field.js +112 -0
  54. package/renderer/components/docs/mdx/steps.js +74 -0
  55. package/renderer/components/docs/mdx/tabs.js +50 -0
  56. package/renderer/components/docs/mdx-renderer.js +77 -0
  57. package/renderer/components/docs/navigation/breadcrumbs.js +64 -0
  58. package/renderer/components/docs/navigation/index.js +6 -0
  59. package/renderer/components/docs/navigation/page-nav.js +57 -0
  60. package/renderer/components/docs/navigation/sidebar.js +375 -0
  61. package/renderer/components/docs/navigation/toc.js +89 -0
  62. package/renderer/components/docs/notice.js +77 -0
  63. package/renderer/components/docs-header.js +202 -0
  64. package/renderer/components/docs-viewer/agent/agent-chat.js +1930 -0
  65. package/renderer/components/docs-viewer/agent/cards/debug-context-card.js +107 -0
  66. package/renderer/components/docs-viewer/agent/cards/endpoint-context-card.js +57 -0
  67. package/renderer/components/docs-viewer/agent/cards/index.js +45 -0
  68. package/renderer/components/docs-viewer/agent/cards/response-options-card.js +154 -0
  69. package/renderer/components/docs-viewer/agent/cards/types.js +22 -0
  70. package/renderer/components/docs-viewer/agent/chat-message.js +2 -0
  71. package/renderer/components/docs-viewer/agent/index.js +4 -0
  72. package/renderer/components/docs-viewer/agent/messages/assistant-message.js +108 -0
  73. package/renderer/components/docs-viewer/agent/messages/chat-message.js +34 -0
  74. package/renderer/components/docs-viewer/agent/messages/index.js +6 -0
  75. package/renderer/components/docs-viewer/agent/messages/tool-call-display.js +1065 -0
  76. package/renderer/components/docs-viewer/agent/messages/types.js +2 -0
  77. package/renderer/components/docs-viewer/agent/messages/typing-indicator.js +26 -0
  78. package/renderer/components/docs-viewer/agent/messages/user-message.js +37 -0
  79. package/renderer/components/docs-viewer/code-editor/{index.tsx → index.js} +1 -1
  80. package/renderer/components/docs-viewer/code-editor/notes-mode.js +1338 -0
  81. package/renderer/components/docs-viewer/content/changelog-page.js +297 -0
  82. package/renderer/components/docs-viewer/content/doc-page.js +264 -0
  83. package/renderer/components/docs-viewer/content/documentation-viewer.js +14 -0
  84. package/renderer/components/docs-viewer/content/index.js +29 -0
  85. package/renderer/components/docs-viewer/content/not-found-page.js +300 -0
  86. package/renderer/components/docs-viewer/content/request-details.js +528 -0
  87. package/renderer/components/docs-viewer/content/sections/auth.js +108 -0
  88. package/renderer/components/docs-viewer/content/sections/body.js +80 -0
  89. package/renderer/components/docs-viewer/content/sections/headers.js +64 -0
  90. package/renderer/components/docs-viewer/content/sections/overview.js +56 -0
  91. package/renderer/components/docs-viewer/content/sections/parameters.js +64 -0
  92. package/renderer/components/docs-viewer/content/sections/responses.js +91 -0
  93. package/renderer/components/docs-viewer/global-auth-modal.js +427 -0
  94. package/renderer/components/docs-viewer/index.js +1552 -0
  95. package/renderer/components/docs-viewer/playground/auth-editor.js +418 -0
  96. package/renderer/components/docs-viewer/playground/body-editor.js +240 -0
  97. package/renderer/components/docs-viewer/playground/code-editor.js +135 -0
  98. package/renderer/components/docs-viewer/playground/code-snippet.js +393 -0
  99. package/renderer/components/docs-viewer/playground/graphql-playground.js +734 -0
  100. package/renderer/components/docs-viewer/playground/index.js +682 -0
  101. package/renderer/components/docs-viewer/playground/key-value-editor.js +317 -0
  102. package/renderer/components/docs-viewer/playground/method-selector.js +65 -0
  103. package/renderer/components/docs-viewer/playground/request-builder.js +181 -0
  104. package/renderer/components/docs-viewer/playground/request-tabs.js +240 -0
  105. package/renderer/components/docs-viewer/playground/response-cards/idle-card.js +42 -0
  106. package/renderer/components/docs-viewer/playground/response-cards/index.js +72 -0
  107. package/renderer/components/docs-viewer/playground/response-cards/loading-card.js +24 -0
  108. package/renderer/components/docs-viewer/playground/response-cards/network-error-card.js +28 -0
  109. package/renderer/components/docs-viewer/playground/response-cards/response-body-card.js +308 -0
  110. package/renderer/components/docs-viewer/playground/response-cards/types.js +9 -0
  111. package/renderer/components/docs-viewer/playground/response-viewer.js +18 -0
  112. package/renderer/components/docs-viewer/search/index.js +2 -0
  113. package/renderer/components/docs-viewer/search/search-dialog.js +367 -0
  114. package/renderer/components/docs-viewer/search/use-search.js +89 -0
  115. package/renderer/components/docs-viewer/shared/markdown-renderer.js +423 -0
  116. package/renderer/components/docs-viewer/shared/method-badge.js +23 -0
  117. package/renderer/components/docs-viewer/shared/schema-viewer.js +321 -0
  118. package/renderer/components/docs-viewer/sidebar/collection-tree.js +222 -0
  119. package/renderer/components/docs-viewer/sidebar/endpoint-options.js +512 -0
  120. package/renderer/components/docs-viewer/sidebar/index.js +196 -0
  121. package/renderer/components/docs-viewer/sidebar/right-sidebar.js +163 -0
  122. package/renderer/components/docs-viewer/sidebar/sidebar-group.js +87 -0
  123. package/renderer/components/docs-viewer/sidebar/sidebar-item.js +172 -0
  124. package/renderer/components/docs-viewer/sidebar/sidebar-section.js +31 -0
  125. package/renderer/components/theme-provider.js +10 -0
  126. package/renderer/components/theme-toggle.js +106 -0
  127. package/renderer/components/ui/badge.js +29 -0
  128. package/renderer/components/ui/button.js +40 -0
  129. package/renderer/components/ui/dialog.js +50 -0
  130. package/renderer/components/ui/dropdown-menu.js +143 -0
  131. package/renderer/components/ui/input.js +12 -0
  132. package/renderer/components/ui/label.js +13 -0
  133. package/renderer/components/ui/navigation-menu.js +83 -0
  134. package/renderer/components/ui/select.js +116 -0
  135. package/renderer/components/ui/spinner.js +92 -0
  136. package/renderer/components/ui/tabs.js +34 -0
  137. package/renderer/components/ui/tooltip.js +43 -0
  138. package/renderer/hooks/use-code-copy.js +76 -0
  139. package/renderer/hooks/use-openapi-title.js +33 -0
  140. package/renderer/lib/api-docs/agent/index.js +4 -0
  141. package/renderer/lib/api-docs/agent/indexer.js +254 -0
  142. package/renderer/lib/api-docs/agent/spec-summary.js +227 -0
  143. package/renderer/lib/api-docs/agent/types.js +5 -0
  144. package/renderer/lib/api-docs/auth/auth-context.js +157 -0
  145. package/renderer/lib/api-docs/auth/auth-storage.js +66 -0
  146. package/renderer/lib/api-docs/auth/crypto.js +64 -0
  147. package/renderer/lib/api-docs/auth/index.js +3 -0
  148. package/renderer/lib/api-docs/code-editor/db.js +145 -0
  149. package/renderer/lib/api-docs/code-editor/hooks.js +254 -0
  150. package/renderer/lib/api-docs/code-editor/{index.ts → index.js} +3 -4
  151. package/renderer/lib/api-docs/code-editor/mode-context.js +154 -0
  152. package/renderer/lib/api-docs/code-editor/types.js +53 -0
  153. package/renderer/lib/api-docs/codegen/definitions.js +258 -0
  154. package/renderer/lib/api-docs/codegen/har.js +171 -0
  155. package/renderer/lib/api-docs/codegen/index.js +118 -0
  156. package/renderer/lib/api-docs/factories.js +136 -0
  157. package/renderer/lib/api-docs/{index.ts → index.js} +5 -10
  158. package/renderer/lib/api-docs/mobile-context.js +79 -0
  159. package/renderer/lib/api-docs/navigation-context.js +62 -0
  160. package/renderer/lib/api-docs/parsers/graphql/index.js +50 -0
  161. package/renderer/lib/api-docs/parsers/graphql/parser.js +350 -0
  162. package/renderer/lib/api-docs/parsers/graphql/transformer.js +215 -0
  163. package/renderer/lib/api-docs/parsers/graphql/types.js +46 -0
  164. package/renderer/lib/api-docs/parsers/openapi/dereferencer.js +43 -0
  165. package/renderer/lib/api-docs/parsers/openapi/extractors/auth.js +486 -0
  166. package/renderer/lib/api-docs/parsers/openapi/extractors/body.js +295 -0
  167. package/renderer/lib/api-docs/parsers/openapi/extractors/index.js +132 -0
  168. package/renderer/lib/api-docs/parsers/openapi/index.js +127 -0
  169. package/renderer/lib/api-docs/parsers/openapi/transformer.js +192 -0
  170. package/renderer/lib/api-docs/parsers/openapi/validator.js +24 -0
  171. package/renderer/lib/api-docs/playground/context.js +65 -0
  172. package/renderer/lib/api-docs/playground/navigation-context.js +74 -0
  173. package/renderer/lib/api-docs/playground/request-builder.js +163 -0
  174. package/renderer/lib/api-docs/playground/request-runner.js +224 -0
  175. package/renderer/lib/api-docs/playground/types.js +5 -0
  176. package/renderer/lib/api-docs/types.js +23 -0
  177. package/renderer/lib/api-docs/utils.js +212 -0
  178. package/renderer/lib/cache.js +157 -0
  179. package/renderer/lib/docs/config/domain-schema.js +161 -0
  180. package/renderer/lib/docs/config/index.js +5 -0
  181. package/renderer/lib/docs/config/loader.js +113 -0
  182. package/renderer/lib/docs/config/schema.js +269 -0
  183. package/renderer/lib/docs/index.js +8 -0
  184. package/renderer/lib/docs/mdx/compiler.js +128 -0
  185. package/renderer/lib/docs/mdx/frontmatter.js +73 -0
  186. package/renderer/lib/docs/mdx/index.js +8 -0
  187. package/renderer/lib/docs/navigation/generator.js +269 -0
  188. package/renderer/lib/docs/navigation/index.js +4 -0
  189. package/renderer/lib/docs/navigation/types.js +9 -0
  190. package/renderer/lib/docs-navigation-context.js +40 -0
  191. package/renderer/lib/multi-tenant/context.js +80 -0
  192. package/renderer/lib/storage/blob.js +767 -0
  193. package/renderer/lib/utils/icons.js +30 -0
  194. package/renderer/lib/utils.js +5 -0
  195. package/renderer/next.config.js +62 -0
  196. package/renderer/tsconfig.json +23 -5
  197. package/renderer/app/api/assets/[...path]/route.ts +0 -123
  198. package/renderer/app/api/assets/route.ts +0 -124
  199. package/renderer/app/api/assets/upload/route.ts +0 -177
  200. package/renderer/app/api/auth-schemes/route.ts +0 -77
  201. package/renderer/app/api/chat/route.ts +0 -858
  202. package/renderer/app/api/codegen/route.ts +0 -72
  203. package/renderer/app/api/collections/route.ts +0 -1002
  204. package/renderer/app/api/debug/route.ts +0 -53
  205. package/renderer/app/api/deploy/route.ts +0 -234
  206. package/renderer/app/api/device/route.ts +0 -42
  207. package/renderer/app/api/docs/route.ts +0 -201
  208. package/renderer/app/api/domains/add/route.ts +0 -132
  209. package/renderer/app/api/domains/lookup/route.ts +0 -43
  210. package/renderer/app/api/domains/remove/route.ts +0 -100
  211. package/renderer/app/api/domains/status/route.ts +0 -158
  212. package/renderer/app/api/domains/verify/route.ts +0 -181
  213. package/renderer/app/api/keys/regenerate/route.ts +0 -80
  214. package/renderer/app/api/local-assets/[...path]/route.ts +0 -122
  215. package/renderer/app/api/openapi-spec/route.ts +0 -151
  216. package/renderer/app/api/projects/[slug]/route.ts +0 -153
  217. package/renderer/app/api/projects/[slug]/stats/route.ts +0 -96
  218. package/renderer/app/api/projects/register/route.ts +0 -152
  219. package/renderer/app/api/proxy/route.ts +0 -149
  220. package/renderer/app/api/proxy-stream/route.ts +0 -168
  221. package/renderer/app/api/redirects/route.ts +0 -47
  222. package/renderer/app/api/schema/route.ts +0 -73
  223. package/renderer/app/api/subdomains/check/route.ts +0 -172
  224. package/renderer/app/api/suggestions/route.ts +0 -144
  225. package/renderer/app/layout.tsx +0 -54
  226. package/renderer/app/llms-full.txt/route.ts +0 -346
  227. package/renderer/app/llms.txt/route.ts +0 -279
  228. package/renderer/app/page.tsx +0 -14
  229. package/renderer/app/robots.txt/route.ts +0 -84
  230. package/renderer/app/sitemap.xml/route.ts +0 -199
  231. package/renderer/components/docs/index.ts +0 -12
  232. package/renderer/components/docs/mdx/accordion.tsx +0 -169
  233. package/renderer/components/docs/mdx/badge.tsx +0 -132
  234. package/renderer/components/docs/mdx/callouts.tsx +0 -154
  235. package/renderer/components/docs/mdx/cards.tsx +0 -241
  236. package/renderer/components/docs/mdx/changelog.tsx +0 -120
  237. package/renderer/components/docs/mdx/code-block.tsx +0 -186
  238. package/renderer/components/docs/mdx/code-group.tsx +0 -421
  239. package/renderer/components/docs/mdx/file-embeds.tsx +0 -105
  240. package/renderer/components/docs/mdx/frame.tsx +0 -112
  241. package/renderer/components/docs/mdx/highlight.tsx +0 -151
  242. package/renderer/components/docs/mdx/iframe.tsx +0 -134
  243. package/renderer/components/docs/mdx/image.tsx +0 -235
  244. package/renderer/components/docs/mdx/index.ts +0 -237
  245. package/renderer/components/docs/mdx/landing.tsx +0 -684
  246. package/renderer/components/docs/mdx/mermaid.tsx +0 -240
  247. package/renderer/components/docs/mdx/param-field.tsx +0 -200
  248. package/renderer/components/docs/mdx/steps.tsx +0 -113
  249. package/renderer/components/docs/mdx/tabs.tsx +0 -86
  250. package/renderer/components/docs/mdx-renderer.tsx +0 -100
  251. package/renderer/components/docs/navigation/breadcrumbs.tsx +0 -76
  252. package/renderer/components/docs/navigation/index.ts +0 -8
  253. package/renderer/components/docs/navigation/page-nav.tsx +0 -64
  254. package/renderer/components/docs/navigation/sidebar.tsx +0 -515
  255. package/renderer/components/docs/navigation/toc.tsx +0 -113
  256. package/renderer/components/docs/notice.tsx +0 -105
  257. package/renderer/components/docs-header.tsx +0 -278
  258. package/renderer/components/docs-viewer/agent/agent-chat.tsx +0 -2076
  259. package/renderer/components/docs-viewer/agent/cards/debug-context-card.tsx +0 -90
  260. package/renderer/components/docs-viewer/agent/cards/endpoint-context-card.tsx +0 -49
  261. package/renderer/components/docs-viewer/agent/cards/index.tsx +0 -50
  262. package/renderer/components/docs-viewer/agent/cards/response-options-card.tsx +0 -212
  263. package/renderer/components/docs-viewer/agent/cards/types.ts +0 -84
  264. package/renderer/components/docs-viewer/agent/chat-message.tsx +0 -17
  265. package/renderer/components/docs-viewer/agent/index.tsx +0 -6
  266. package/renderer/components/docs-viewer/agent/messages/assistant-message.tsx +0 -119
  267. package/renderer/components/docs-viewer/agent/messages/chat-message.tsx +0 -46
  268. package/renderer/components/docs-viewer/agent/messages/index.ts +0 -17
  269. package/renderer/components/docs-viewer/agent/messages/tool-call-display.tsx +0 -721
  270. package/renderer/components/docs-viewer/agent/messages/types.ts +0 -61
  271. package/renderer/components/docs-viewer/agent/messages/typing-indicator.tsx +0 -24
  272. package/renderer/components/docs-viewer/agent/messages/user-message.tsx +0 -51
  273. package/renderer/components/docs-viewer/code-editor/notes-mode.tsx +0 -1283
  274. package/renderer/components/docs-viewer/content/changelog-page.tsx +0 -331
  275. package/renderer/components/docs-viewer/content/doc-page.tsx +0 -367
  276. package/renderer/components/docs-viewer/content/documentation-viewer.tsx +0 -17
  277. package/renderer/components/docs-viewer/content/index.tsx +0 -29
  278. package/renderer/components/docs-viewer/content/not-found-page.tsx +0 -330
  279. package/renderer/components/docs-viewer/content/request-details.tsx +0 -330
  280. package/renderer/components/docs-viewer/content/sections/auth.tsx +0 -69
  281. package/renderer/components/docs-viewer/content/sections/body.tsx +0 -66
  282. package/renderer/components/docs-viewer/content/sections/headers.tsx +0 -43
  283. package/renderer/components/docs-viewer/content/sections/overview.tsx +0 -40
  284. package/renderer/components/docs-viewer/content/sections/parameters.tsx +0 -43
  285. package/renderer/components/docs-viewer/content/sections/responses.tsx +0 -87
  286. package/renderer/components/docs-viewer/global-auth-modal.tsx +0 -352
  287. package/renderer/components/docs-viewer/index.tsx +0 -1670
  288. package/renderer/components/docs-viewer/playground/auth-editor.tsx +0 -280
  289. package/renderer/components/docs-viewer/playground/body-editor.tsx +0 -221
  290. package/renderer/components/docs-viewer/playground/code-editor.tsx +0 -224
  291. package/renderer/components/docs-viewer/playground/code-snippet.tsx +0 -387
  292. package/renderer/components/docs-viewer/playground/graphql-playground.tsx +0 -745
  293. package/renderer/components/docs-viewer/playground/index.tsx +0 -671
  294. package/renderer/components/docs-viewer/playground/key-value-editor.tsx +0 -261
  295. package/renderer/components/docs-viewer/playground/method-selector.tsx +0 -60
  296. package/renderer/components/docs-viewer/playground/request-builder.tsx +0 -179
  297. package/renderer/components/docs-viewer/playground/request-tabs.tsx +0 -237
  298. package/renderer/components/docs-viewer/playground/response-cards/idle-card.tsx +0 -21
  299. package/renderer/components/docs-viewer/playground/response-cards/index.tsx +0 -93
  300. package/renderer/components/docs-viewer/playground/response-cards/loading-card.tsx +0 -16
  301. package/renderer/components/docs-viewer/playground/response-cards/network-error-card.tsx +0 -23
  302. package/renderer/components/docs-viewer/playground/response-cards/response-body-card.tsx +0 -268
  303. package/renderer/components/docs-viewer/playground/response-cards/types.ts +0 -82
  304. package/renderer/components/docs-viewer/playground/response-viewer.tsx +0 -43
  305. package/renderer/components/docs-viewer/search/index.ts +0 -2
  306. package/renderer/components/docs-viewer/search/search-dialog.tsx +0 -331
  307. package/renderer/components/docs-viewer/search/use-search.ts +0 -117
  308. package/renderer/components/docs-viewer/shared/markdown-renderer.tsx +0 -431
  309. package/renderer/components/docs-viewer/shared/method-badge.tsx +0 -41
  310. package/renderer/components/docs-viewer/shared/schema-viewer.tsx +0 -349
  311. package/renderer/components/docs-viewer/sidebar/collection-tree.tsx +0 -259
  312. package/renderer/components/docs-viewer/sidebar/endpoint-options.tsx +0 -316
  313. package/renderer/components/docs-viewer/sidebar/index.tsx +0 -282
  314. package/renderer/components/docs-viewer/sidebar/right-sidebar.tsx +0 -202
  315. package/renderer/components/docs-viewer/sidebar/sidebar-group.tsx +0 -118
  316. package/renderer/components/docs-viewer/sidebar/sidebar-item.tsx +0 -212
  317. package/renderer/components/docs-viewer/sidebar/sidebar-section.tsx +0 -38
  318. package/renderer/components/theme-provider.tsx +0 -11
  319. package/renderer/components/theme-toggle.tsx +0 -76
  320. package/renderer/components/ui/badge.tsx +0 -46
  321. package/renderer/components/ui/button.tsx +0 -59
  322. package/renderer/components/ui/dialog.tsx +0 -118
  323. package/renderer/components/ui/dropdown-menu.tsx +0 -257
  324. package/renderer/components/ui/input.tsx +0 -21
  325. package/renderer/components/ui/label.tsx +0 -24
  326. package/renderer/components/ui/navigation-menu.tsx +0 -168
  327. package/renderer/components/ui/select.tsx +0 -190
  328. package/renderer/components/ui/spinner.tsx +0 -114
  329. package/renderer/components/ui/tabs.tsx +0 -66
  330. package/renderer/components/ui/tooltip.tsx +0 -61
  331. package/renderer/hooks/use-code-copy.ts +0 -88
  332. package/renderer/hooks/use-openapi-title.ts +0 -44
  333. package/renderer/lib/api-docs/agent/index.ts +0 -6
  334. package/renderer/lib/api-docs/agent/indexer.ts +0 -323
  335. package/renderer/lib/api-docs/agent/spec-summary.ts +0 -335
  336. package/renderer/lib/api-docs/agent/types.ts +0 -116
  337. package/renderer/lib/api-docs/auth/auth-context.tsx +0 -225
  338. package/renderer/lib/api-docs/auth/auth-storage.ts +0 -87
  339. package/renderer/lib/api-docs/auth/crypto.ts +0 -89
  340. package/renderer/lib/api-docs/auth/index.ts +0 -4
  341. package/renderer/lib/api-docs/code-editor/db.ts +0 -164
  342. package/renderer/lib/api-docs/code-editor/hooks.ts +0 -266
  343. package/renderer/lib/api-docs/code-editor/mode-context.tsx +0 -207
  344. package/renderer/lib/api-docs/code-editor/types.ts +0 -105
  345. package/renderer/lib/api-docs/codegen/definitions.ts +0 -297
  346. package/renderer/lib/api-docs/codegen/har.ts +0 -251
  347. package/renderer/lib/api-docs/codegen/index.ts +0 -159
  348. package/renderer/lib/api-docs/factories.ts +0 -170
  349. package/renderer/lib/api-docs/mobile-context.tsx +0 -112
  350. package/renderer/lib/api-docs/navigation-context.tsx +0 -88
  351. package/renderer/lib/api-docs/parsers/graphql/README.md +0 -129
  352. package/renderer/lib/api-docs/parsers/graphql/index.ts +0 -91
  353. package/renderer/lib/api-docs/parsers/graphql/parser.ts +0 -491
  354. package/renderer/lib/api-docs/parsers/graphql/transformer.ts +0 -246
  355. package/renderer/lib/api-docs/parsers/graphql/types.ts +0 -283
  356. package/renderer/lib/api-docs/parsers/openapi/README.md +0 -32
  357. package/renderer/lib/api-docs/parsers/openapi/dereferencer.ts +0 -60
  358. package/renderer/lib/api-docs/parsers/openapi/extractors/auth.ts +0 -574
  359. package/renderer/lib/api-docs/parsers/openapi/extractors/body.ts +0 -403
  360. package/renderer/lib/api-docs/parsers/openapi/extractors/index.ts +0 -232
  361. package/renderer/lib/api-docs/parsers/openapi/index.ts +0 -171
  362. package/renderer/lib/api-docs/parsers/openapi/transformer.ts +0 -278
  363. package/renderer/lib/api-docs/parsers/openapi/validator.ts +0 -31
  364. package/renderer/lib/api-docs/playground/context.tsx +0 -107
  365. package/renderer/lib/api-docs/playground/navigation-context.tsx +0 -124
  366. package/renderer/lib/api-docs/playground/request-builder.ts +0 -223
  367. package/renderer/lib/api-docs/playground/request-runner.ts +0 -282
  368. package/renderer/lib/api-docs/playground/types.ts +0 -35
  369. package/renderer/lib/api-docs/types.ts +0 -269
  370. package/renderer/lib/api-docs/utils.ts +0 -311
  371. package/renderer/lib/cache.ts +0 -193
  372. package/renderer/lib/docs/config/domain-schema.ts +0 -260
  373. package/renderer/lib/docs/config/index.ts +0 -43
  374. package/renderer/lib/docs/config/loader.ts +0 -142
  375. package/renderer/lib/docs/config/schema.ts +0 -308
  376. package/renderer/lib/docs/index.ts +0 -12
  377. package/renderer/lib/docs/mdx/compiler.ts +0 -176
  378. package/renderer/lib/docs/mdx/frontmatter.ts +0 -91
  379. package/renderer/lib/docs/mdx/index.ts +0 -26
  380. package/renderer/lib/docs/navigation/generator.ts +0 -348
  381. package/renderer/lib/docs/navigation/index.ts +0 -12
  382. package/renderer/lib/docs/navigation/types.ts +0 -123
  383. package/renderer/lib/docs-navigation-context.tsx +0 -80
  384. package/renderer/lib/multi-tenant/context.ts +0 -105
  385. package/renderer/lib/storage/blob.ts +0 -1083
  386. package/renderer/lib/utils/icons.ts +0 -48
  387. package/renderer/lib/utils.ts +0 -6
  388. package/renderer/next.config.ts +0 -76
@@ -1,223 +0,0 @@
1
- /**
2
- * Request Builder
3
- *
4
- * Builds HTTP requests from BrainfishRESTRequest
5
- * Ported and simplified from Hoppscotch's EffectiveURL and request building logic
6
- */
7
-
8
- import type {
9
- BrainfishRESTRequest,
10
- BrainfishRESTAuth,
11
- BrainfishRESTReqBody,
12
- } from '../types'
13
-
14
- export interface BuiltRequest {
15
- url: string
16
- method: string
17
- headers: Record<string, string>
18
- body?: BodyInit
19
- }
20
-
21
- /**
22
- * Builds auth headers from auth configuration
23
- */
24
- function buildAuthHeaders(
25
- auth: BrainfishRESTAuth
26
- ): Record<string, string> {
27
- const headers: Record<string, string> = {}
28
-
29
- if (auth.authType === 'basic' && auth.authActive) {
30
- const credentials = btoa(`${auth.username}:${auth.password}`)
31
- headers['Authorization'] = `Basic ${credentials}`
32
- } else if (auth.authType === 'bearer' && auth.authActive) {
33
- headers['Authorization'] = `Bearer ${auth.token}`
34
- } else if (auth.authType === 'api-key' && auth.authActive) {
35
- if (auth.addTo === 'HEADERS') {
36
- headers[auth.key] = auth.value
37
- }
38
- } else if (auth.authType === 'oauth-2' && auth.authActive) {
39
- // For OAuth2, we'll use the token if available
40
- if (auth.grantTypeInfo.token) {
41
- headers['Authorization'] = `Bearer ${auth.grantTypeInfo.token}`
42
- }
43
- }
44
-
45
- return headers
46
- }
47
-
48
- /**
49
- * Builds auth query parameters
50
- */
51
- function buildAuthParams(auth: BrainfishRESTAuth): Record<string, string> {
52
- const params: Record<string, string> = {}
53
-
54
- if (auth.authType === 'api-key' && auth.authActive) {
55
- if (auth.addTo === 'QUERY_PARAMS') {
56
- params[auth.key] = auth.value
57
- }
58
- }
59
-
60
- return params
61
- }
62
-
63
- /**
64
- * Builds request body from body configuration
65
- */
66
- function buildRequestBody(
67
- body: BrainfishRESTReqBody,
68
- bodyValue?: string
69
- ): BodyInit | undefined {
70
- if (!body.body || body.contentType === null) {
71
- return undefined
72
- }
73
-
74
- // Use provided bodyValue if available (from playground editor)
75
- if (bodyValue !== undefined && bodyValue !== null) {
76
- if (body.contentType === 'application/json') {
77
- // Return as-is - user might be editing
78
- return bodyValue
79
- } else if (body.contentType === 'application/x-www-form-urlencoded') {
80
- // Parse as form data
81
- const params = new URLSearchParams()
82
- bodyValue.split('\n').forEach((line) => {
83
- const [key, ...valueParts] = line.split(':')
84
- if (key && valueParts.length > 0) {
85
- params.append(key.trim(), valueParts.join(':').trim())
86
- }
87
- })
88
- return params.toString()
89
- }
90
- return bodyValue
91
- }
92
-
93
- // Use body from request
94
- if (Array.isArray(body.body)) {
95
- // Form data
96
- if (body.contentType === 'multipart/form-data') {
97
- const formData = new FormData()
98
- body.body.forEach((item) => {
99
- // Note: In a real implementation, isFile would indicate a file upload
100
- // For now, we just append the string value
101
- if (typeof item.value === 'string') {
102
- formData.append(item.key, item.value)
103
- } else {
104
- // File or Blob value
105
- formData.append(item.key, item.value as Blob)
106
- }
107
- })
108
- return formData
109
- } else if (body.contentType === 'application/x-www-form-urlencoded') {
110
- // URL encoded form
111
- const params = new URLSearchParams()
112
- body.body.forEach((item) => {
113
- if (typeof item.value === 'string') {
114
- params.append(item.key, item.value)
115
- }
116
- })
117
- return params
118
- }
119
- } else if (typeof body.body === 'string') {
120
- return body.body
121
- }
122
-
123
- return undefined
124
- }
125
-
126
- /**
127
- * Builds the final URL with path variables and query parameters
128
- */
129
- function buildURL(
130
- endpoint: string,
131
- params: Array<{ key: string; value: string; active: boolean }>,
132
- variables: Array<{ key: string; value: string; active?: boolean }>,
133
- authParams: Record<string, string>
134
- ): string {
135
- // Replace path variables (<<variable>> or {variable})
136
- let url = endpoint
137
- variables.forEach((variable) => {
138
- // Replace <<variable>> pattern
139
- url = url.replace(new RegExp(`<<${variable.key}>>`, 'g'), variable.value || '')
140
- // Replace {variable} pattern
141
- url = url.replace(new RegExp(`\\{${variable.key}\\}`, 'g'), variable.value || '')
142
- })
143
-
144
- // Build query string
145
- const queryParams = new URLSearchParams()
146
-
147
- // Add request params
148
- params
149
- .filter((p) => p.active && p.key)
150
- .forEach((param) => {
151
- queryParams.append(param.key, param.value)
152
- })
153
-
154
- // Add auth params
155
- Object.entries(authParams).forEach(([key, value]) => {
156
- queryParams.append(key, value)
157
- })
158
-
159
- // Append query string to URL
160
- const queryString = queryParams.toString()
161
- if (queryString) {
162
- const separator = url.includes('?') ? '&' : '?'
163
- url = `${url}${separator}${queryString}`
164
- }
165
-
166
- return url
167
- }
168
-
169
- /**
170
- * Builds a complete HTTP request from BrainfishRESTRequest
171
- */
172
- export function buildRequest(
173
- request: BrainfishRESTRequest,
174
- options?: {
175
- params?: Array<{ key: string; value: string; active: boolean }>
176
- headers?: Array<{ key: string; value: string; active: boolean }>
177
- body?: string | null
178
- variables?: Array<{ key: string; value: string; active: boolean }>
179
- }
180
- ): BuiltRequest {
181
- // Use provided values or fall back to request defaults
182
- const params = options?.params || request.params
183
- const headers = options?.headers || request.headers
184
- const variables = options?.variables || request.requestVariables
185
- const bodyValue = options?.body
186
-
187
- // Build auth headers and params
188
- const authHeaders = buildAuthHeaders(request.auth)
189
- const authParams = buildAuthParams(request.auth)
190
-
191
- // Build URL
192
- const url = buildURL(request.endpoint, params, variables, authParams)
193
-
194
- // Build body
195
- const body = buildRequestBody(request.body, bodyValue ?? undefined)
196
-
197
- // Build headers
198
- const finalHeaders: Record<string, string> = { ...authHeaders }
199
-
200
- headers
201
- .filter((h) => h.active && h.key)
202
- .forEach((header) => {
203
- finalHeaders[header.key] = header.value
204
- })
205
-
206
- // Add content-type if body exists (but don't override if already set)
207
- if (body && request.body.contentType && !finalHeaders['Content-Type']) {
208
- finalHeaders['Content-Type'] = request.body.contentType
209
- }
210
-
211
- // For POST/PUT/PATCH requests without body, add default Content-Type
212
- // Some APIs require this header even for empty requests
213
- if (!finalHeaders['Content-Type'] && ['POST', 'PUT', 'PATCH'].includes(request.method)) {
214
- finalHeaders['Content-Type'] = 'application/json'
215
- }
216
-
217
- return {
218
- url,
219
- method: request.method,
220
- headers: finalHeaders,
221
- body,
222
- }
223
- }
@@ -1,282 +0,0 @@
1
- /**
2
- * Request Runner
3
- *
4
- * Executes HTTP requests via backend proxy to bypass CORS
5
- * and ensure auth headers are sent properly.
6
- * Supports streaming responses for SSE endpoints.
7
- */
8
-
9
- import type { BrainfishRESTRequest } from '../types'
10
- import type { PlaygroundResponse } from './types'
11
- import { buildRequest } from './request-builder'
12
-
13
- export interface RequestRunnerOptions {
14
- params?: Array<{ key: string; value: string; active: boolean }>
15
- headers?: Array<{ key: string; value: string; active: boolean }>
16
- body?: string | null
17
- variables?: Array<{ key: string; value: string; active: boolean }>
18
- signal?: AbortSignal
19
- /** Callback for streaming responses - called for each chunk */
20
- onChunk?: (chunk: string, accumulated: string) => void
21
- /** Callback when streaming starts with metadata */
22
- onStreamStart?: (metadata: { status: number; statusText: string; headers: Record<string, string> }) => void
23
- }
24
-
25
- /**
26
- * Executes a REST request via the backend proxy
27
- */
28
- export async function executeRequest(
29
- request: BrainfishRESTRequest,
30
- options: RequestRunnerOptions = {}
31
- ): Promise<PlaygroundResponse> {
32
- try {
33
- // Build the request
34
- const builtRequest = buildRequest(request, options)
35
-
36
- // Send request through our backend proxy
37
- const proxyResponse = await fetch('/api/proxy', {
38
- method: 'POST',
39
- headers: {
40
- 'Content-Type': 'application/json',
41
- },
42
- body: JSON.stringify({
43
- url: builtRequest.url,
44
- method: builtRequest.method,
45
- headers: builtRequest.headers,
46
- requestBody: builtRequest.body instanceof FormData
47
- ? undefined // FormData not supported through JSON proxy
48
- : builtRequest.body,
49
- }),
50
- signal: options.signal,
51
- })
52
-
53
- if (!proxyResponse.ok) {
54
- const errorData = await proxyResponse.json().catch(() => ({}))
55
- return {
56
- status: proxyResponse.status,
57
- statusText: proxyResponse.statusText,
58
- headers: {},
59
- body: JSON.stringify(errorData),
60
- responseTime: 0,
61
- size: 0,
62
- error: errorData.error || 'Proxy request failed',
63
- }
64
- }
65
-
66
- const result = await proxyResponse.json()
67
-
68
- return {
69
- status: result.status,
70
- statusText: result.statusText,
71
- headers: result.headers || {},
72
- body: result.body,
73
- responseTime: result.responseTime || 0,
74
- size: result.size || 0,
75
- error: result.error,
76
- }
77
- } catch (error) {
78
- if (error instanceof Error && error.name === 'AbortError') {
79
- throw new Error('Request cancelled')
80
- }
81
-
82
- return {
83
- status: 0,
84
- statusText: 'Error',
85
- headers: {},
86
- body: null,
87
- responseTime: 0,
88
- size: 0,
89
- error: error instanceof Error ? error.message : 'Unknown error',
90
- }
91
- }
92
- }
93
-
94
- /**
95
- * Executes a streaming request (for SSE endpoints)
96
- * Falls back to regular request if the endpoint isn't actually SSE
97
- */
98
- export async function executeStreamingRequest(
99
- request: BrainfishRESTRequest,
100
- options: RequestRunnerOptions = {}
101
- ): Promise<PlaygroundResponse> {
102
- const startTime = Date.now()
103
-
104
- try {
105
- const builtRequest = buildRequest(request, options)
106
-
107
- // Use streaming proxy
108
- const response = await fetch('/api/proxy-stream', {
109
- method: 'POST',
110
- headers: {
111
- 'Content-Type': 'application/json',
112
- },
113
- body: JSON.stringify({
114
- url: builtRequest.url,
115
- method: builtRequest.method,
116
- headers: builtRequest.headers,
117
- requestBody: builtRequest.body instanceof FormData
118
- ? undefined
119
- : builtRequest.body,
120
- }),
121
- signal: options.signal,
122
- })
123
-
124
- if (!response.ok) {
125
- const errorData = await response.json().catch(() => ({}))
126
- return {
127
- status: response.status,
128
- statusText: response.statusText,
129
- headers: {},
130
- body: JSON.stringify(errorData),
131
- responseTime: Date.now() - startTime,
132
- size: 0,
133
- error: errorData.error || 'Proxy request failed',
134
- }
135
- }
136
-
137
- const contentType = response.headers.get('content-type') || ''
138
-
139
- // Check if streaming response (our proxy wraps SSE responses as SSE)
140
- const isProxyStreaming = contentType.includes('text/event-stream')
141
-
142
- if (isProxyStreaming && response.body) {
143
- const reader = response.body.getReader()
144
- const decoder = new TextDecoder()
145
- let accumulated = ''
146
- let metadata: { status: number; statusText: string; headers: Record<string, string> } | null = null
147
- let totalSize = 0
148
- let buffer = ''
149
-
150
- try {
151
- while (true) {
152
- const { done, value } = await reader.read()
153
- if (done) break
154
-
155
- buffer += decoder.decode(value, { stream: true })
156
-
157
- // Process complete SSE events (ending with \n\n)
158
- const events = buffer.split('\n\n')
159
- buffer = events.pop() || '' // Keep incomplete event in buffer
160
-
161
- for (const eventStr of events) {
162
- const lines = eventStr.split('\n')
163
- for (const line of lines) {
164
- if (line.startsWith('data: ')) {
165
- try {
166
- const event = JSON.parse(line.slice(6))
167
-
168
- if (event.type === 'metadata') {
169
- metadata = {
170
- status: event.status,
171
- statusText: event.statusText,
172
- headers: event.headers,
173
- }
174
- options.onStreamStart?.(metadata)
175
- } else if (event.type === 'chunk') {
176
- // Accumulate raw SSE data - formatting happens in response viewer
177
- accumulated += event.data
178
- totalSize += event.size || 0
179
- options.onChunk?.(event.data, accumulated)
180
- } else if (event.type === 'done') {
181
- totalSize = event.totalSize || totalSize
182
- } else if (event.type === 'error') {
183
- return {
184
- status: metadata?.status || 0,
185
- statusText: metadata?.statusText || 'Error',
186
- headers: metadata?.headers || {},
187
- body: accumulated,
188
- responseTime: Date.now() - startTime,
189
- size: totalSize,
190
- error: event.error,
191
- isStreaming: true,
192
- }
193
- }
194
- } catch {
195
- // Ignore parse errors for partial data
196
- }
197
- }
198
- }
199
- }
200
- }
201
- } catch (readError) {
202
- // Handle read errors gracefully
203
- if (readError instanceof Error && readError.name === 'AbortError') {
204
- throw readError
205
- }
206
- }
207
-
208
- return {
209
- status: metadata?.status || 200,
210
- statusText: metadata?.statusText || 'OK',
211
- headers: metadata?.headers || {},
212
- body: accumulated,
213
- responseTime: Date.now() - startTime,
214
- size: totalSize,
215
- isStreaming: true,
216
- }
217
- }
218
-
219
- // Non-streaming response from streaming proxy (endpoint wasn't SSE)
220
- const result = await response.json()
221
- return {
222
- status: result.status,
223
- statusText: result.statusText,
224
- headers: result.headers || {},
225
- body: result.body,
226
- responseTime: Date.now() - startTime,
227
- size: result.size || 0,
228
- error: result.error,
229
- isStreaming: false,
230
- }
231
- } catch (error) {
232
- if (error instanceof Error && error.name === 'AbortError') {
233
- throw new Error('Request cancelled')
234
- }
235
-
236
- return {
237
- status: 0,
238
- statusText: 'Error',
239
- headers: {},
240
- body: null,
241
- responseTime: Date.now() - startTime,
242
- size: 0,
243
- error: error instanceof Error ? error.message : 'Unknown error',
244
- }
245
- }
246
- }
247
-
248
- /**
249
- * Creates a cancelable request execution
250
- */
251
- export function createCancelableRequest(
252
- request: BrainfishRESTRequest,
253
- options: RequestRunnerOptions = {}
254
- ): {
255
- execute: () => Promise<PlaygroundResponse>
256
- cancel: () => void
257
- } {
258
- const abortController = new AbortController()
259
-
260
- return {
261
- execute: () => executeRequest(request, { ...options, signal: abortController.signal }),
262
- cancel: () => abortController.abort(),
263
- }
264
- }
265
-
266
- /**
267
- * Creates a cancelable streaming request execution
268
- */
269
- export function createCancelableStreamingRequest(
270
- request: BrainfishRESTRequest,
271
- options: RequestRunnerOptions = {}
272
- ): {
273
- execute: () => Promise<PlaygroundResponse>
274
- cancel: () => void
275
- } {
276
- const abortController = new AbortController()
277
-
278
- return {
279
- execute: () => executeStreamingRequest(request, { ...options, signal: abortController.signal }),
280
- cancel: () => abortController.abort(),
281
- }
282
- }
@@ -1,35 +0,0 @@
1
- /**
2
- * Playground Types
3
- *
4
- * Types for the API playground (Try It Out functionality)
5
- */
6
-
7
- import type { BrainfishRESTRequest } from '../types'
8
-
9
- export interface PlaygroundRequest {
10
- request: BrainfishRESTRequest
11
- // Editable values (user can modify before sending)
12
- params: Array<{ key: string; value: string; active: boolean }>
13
- headers: Array<{ key: string; value: string; active: boolean }>
14
- body: string | null
15
- variables: Array<{ key: string; value: string; active: boolean }>
16
- }
17
-
18
- export interface PlaygroundResponse {
19
- status: number
20
- statusText: string
21
- headers: Record<string, string>
22
- body: string | Blob | null
23
- responseTime: number
24
- size: number
25
- error?: string
26
- /** Whether this was a streaming response (SSE) */
27
- isStreaming?: boolean
28
- }
29
-
30
- export type PlaygroundResponseState =
31
- | { type: 'idle' }
32
- | { type: 'loading' }
33
- | { type: 'streaming'; response: PlaygroundResponse }
34
- | { type: 'success'; response: PlaygroundResponse }
35
- | { type: 'error'; error: string; response?: PlaygroundResponse }