@pb33f/cowboy-components 0.7.17 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/dist/_basePickBy-DtTwxTrV.js +151 -0
  2. package/dist/_baseUniq-C5Y4WFmx.js +614 -0
  3. package/dist/arc-a-7w7y90.js +83 -0
  4. package/dist/architecture-U656AL7Q-c_zxypEp.js +5 -0
  5. package/dist/architectureDiagram-VXUJARFQ-CIhQJ6xS.js +4661 -0
  6. package/dist/assets/elk-layout.worker-B71_NI2D.js +1 -0
  7. package/dist/assets/equalizer.worker-A8HFNy4g.js +1 -0
  8. package/dist/assets/graph-dependent.worker-BgWuMZsb.js +1 -0
  9. package/dist/assets/rule-documentation.worker-BCKuwSgZ.js +1 -0
  10. package/dist/assets/search-graph.worker-Cwqb-ecv.js +1 -0
  11. package/dist/assets/search-problems.worker-60kZqr0h.js +1 -0
  12. package/dist/blockDiagram-VD42YOAC-BLl5ID-l.js +2261 -0
  13. package/dist/c4Diagram-YG6GDRKO-BOGfb13x.js +1580 -0
  14. package/dist/channel-DYeI56io.js +5 -0
  15. package/dist/chunk-4BX2VUAB-BeHGB7ON.js +8 -0
  16. package/dist/chunk-55IACEB6-DgHUzWsw.js +8 -0
  17. package/dist/chunk-B4BG7PRW-Vs7GiQMf.js +1375 -0
  18. package/dist/chunk-DI55MBZ5-CHjdGXx0.js +1370 -0
  19. package/dist/chunk-FMBD7UC4-D-H9-bHN.js +19 -0
  20. package/dist/chunk-QN33PNHL-D7uE2r1Y.js +19 -0
  21. package/dist/chunk-QZHKN3VN-Cp3sUp7e.js +15 -0
  22. package/dist/chunk-TZMSLE5B-BmXGcXo9.js +64 -0
  23. package/dist/classDiagram-2ON5EDUG-9ilqiDEi.js +16 -0
  24. package/dist/classDiagram-v2-WZHVMYZB-9ilqiDEi.js +16 -0
  25. package/dist/clone-CybyMoa0.js +8 -0
  26. package/dist/components/attention-box/attention-box.css.js +8 -0
  27. package/dist/components/auth/login-button.js +1 -1
  28. package/dist/components/auth/login-panel.d.ts +4 -0
  29. package/dist/components/auth/login-panel.js +12 -4
  30. package/dist/components/auth/oauth-login.css.js +4 -0
  31. package/dist/components/auth/oauth-login.d.ts +2 -0
  32. package/dist/components/auth/oauth-login.js +12 -3
  33. package/dist/components/brokerable.d.ts +21 -0
  34. package/dist/components/brokerable.js +39 -0
  35. package/dist/components/bundle-toolbar/bundle-toolbar.css.js +110 -0
  36. package/dist/components/bundle-toolbar/bundle-toolbar.d.ts +21 -0
  37. package/dist/components/bundle-toolbar/bundle-toolbar.js +93 -0
  38. package/dist/components/changelog/changelog.css.js +2 -0
  39. package/dist/components/changelog/changelog.d.ts +2 -0
  40. package/dist/components/changelog/changelog.js +10 -1
  41. package/dist/components/changelog/release.css.js +5 -1
  42. package/dist/components/charts/beefy-chart.js +0 -2
  43. package/dist/components/charts/doughnut-chart.d.ts +5 -1
  44. package/dist/components/charts/doughnut-chart.js +20 -1
  45. package/dist/components/credit-ticker/credit-ticker.d.ts +3 -0
  46. package/dist/components/credit-ticker/credit-ticker.js +20 -4
  47. package/dist/components/details-drawer/details-drawer.css.d.ts +2 -0
  48. package/dist/components/{problem-list → details-drawer}/details-drawer.css.js +18 -3
  49. package/dist/components/details-drawer/generic-details-drawer.css.d.ts +1 -0
  50. package/dist/components/details-drawer/generic-details-drawer.css.js +219 -0
  51. package/dist/components/details-drawer/generic-details-drawer.d.ts +38 -0
  52. package/dist/components/details-drawer/generic-details-drawer.js +245 -0
  53. package/dist/components/details-drawer/handlers/diagram-handler.d.ts +35 -0
  54. package/dist/components/details-drawer/handlers/diagram-handler.js +248 -0
  55. package/dist/components/details-drawer/handlers/documentation-handler.d.ts +11 -0
  56. package/dist/components/details-drawer/handlers/documentation-handler.js +46 -0
  57. package/dist/components/details-drawer/handlers/example-handler.d.ts +18 -0
  58. package/dist/components/details-drawer/handlers/example-handler.js +146 -0
  59. package/dist/components/details-drawer/handlers/howto-handler.d.ts +11 -0
  60. package/dist/components/details-drawer/handlers/howto-handler.js +36 -0
  61. package/dist/components/details-drawer/handlers/markdown-handler.d.ts +12 -0
  62. package/dist/components/details-drawer/handlers/markdown-handler.js +54 -0
  63. package/dist/components/editor/editor-breadcrumb.css.js +1 -1
  64. package/dist/components/editor/editor.css.js +42 -0
  65. package/dist/components/editor/editor.d.ts +29 -3
  66. package/dist/components/editor/editor.js +495 -73
  67. package/dist/components/github/github-workspace-view.css.d.ts +2 -0
  68. package/dist/components/github/github-workspace-view.css.js +165 -0
  69. package/dist/components/github/github-workspace-view.d.ts +59 -0
  70. package/dist/components/github/github-workspace-view.js +525 -0
  71. package/dist/components/global-task/global-task-view.css.d.ts +2 -0
  72. package/dist/components/global-task/global-task-view.css.js +392 -0
  73. package/dist/components/global-task/global-task-view.d.ts +48 -0
  74. package/dist/components/global-task/global-task-view.js +359 -0
  75. package/dist/components/header/header.css.js +9 -1
  76. package/dist/components/http-method/http-method.css.js +5 -1
  77. package/dist/components/indeterminate-loader/indeterminate-loader.css.d.ts +2 -0
  78. package/dist/components/indeterminate-loader/indeterminate-loader.css.js +135 -0
  79. package/dist/components/indeterminate-loader/indeterminate-loader.d.ts +35 -0
  80. package/dist/components/indeterminate-loader/indeterminate-loader.js +201 -0
  81. package/dist/components/kv-view/kv-view.css.js +2 -0
  82. package/dist/components/kv-view/kv-view.js +0 -1
  83. package/dist/components/logo-wall/logo-wall.css.js +9 -0
  84. package/dist/components/manage-ruleset/manage-ruleset.css.js +14 -1
  85. package/dist/components/manage-ruleset/manage-ruleset.d.ts +1 -0
  86. package/dist/components/manage-ruleset/manage-ruleset.js +54 -22
  87. package/dist/components/manage-ruleset/rule-action.css.js +2 -0
  88. package/dist/components/manage-ruleset/rule-action.d.ts +10 -3
  89. package/dist/components/manage-ruleset/rule-action.js +118 -129
  90. package/dist/components/manage-ruleset/rule-input.d.ts +3 -1
  91. package/dist/components/manage-ruleset/rule-input.js +38 -34
  92. package/dist/components/manage-ruleset/rule.css.js +15 -1
  93. package/dist/components/manage-ruleset/rule.d.ts +4 -1
  94. package/dist/components/manage-ruleset/rule.js +44 -17
  95. package/dist/components/mermaid/mermaid-renderer.css.d.ts +1 -0
  96. package/dist/components/mermaid/mermaid-renderer.css.js +121 -0
  97. package/dist/components/mermaid/mermaid-renderer.d.ts +75 -0
  98. package/dist/components/mermaid/mermaid-renderer.js +485 -0
  99. package/dist/components/model-icon/doctor-icon.d.ts +9 -0
  100. package/dist/components/model-icon/doctor-icon.js +60 -0
  101. package/dist/components/model-icon/model-icon.d.ts +2 -1
  102. package/dist/components/model-icon/model-icon.js +13 -1
  103. package/dist/components/model-renderer/change.css.js +22 -8
  104. package/dist/components/model-renderer/changes.d.ts +1 -0
  105. package/dist/components/model-renderer/changes.js +47 -32
  106. package/dist/components/model-renderer/clickable-ref.d.ts +9 -3
  107. package/dist/components/model-renderer/clickable-ref.js +49 -10
  108. package/dist/components/model-renderer/components.d.ts +2 -0
  109. package/dist/components/model-renderer/components.js +196 -116
  110. package/dist/components/model-renderer/contact.js +2 -2
  111. package/dist/components/model-renderer/description.css.js +2 -0
  112. package/dist/components/model-renderer/document.d.ts +1 -0
  113. package/dist/components/model-renderer/document.js +14 -9
  114. package/dist/components/model-renderer/encoding.d.ts +2 -0
  115. package/dist/components/model-renderer/encoding.js +16 -7
  116. package/dist/components/model-renderer/example.css.js +5 -1
  117. package/dist/components/model-renderer/example.d.ts +4 -1
  118. package/dist/components/model-renderer/example.js +72 -118
  119. package/dist/components/model-renderer/extensions.d.ts +2 -0
  120. package/dist/components/model-renderer/extensions.js +11 -2
  121. package/dist/components/model-renderer/external-docs.d.ts +2 -0
  122. package/dist/components/model-renderer/external-docs.js +13 -4
  123. package/dist/components/model-renderer/has-changes.js +3 -3
  124. package/dist/components/model-renderer/header.d.ts +2 -0
  125. package/dist/components/model-renderer/header.js +27 -14
  126. package/dist/components/model-renderer/info.d.ts +2 -0
  127. package/dist/components/model-renderer/info.js +20 -7
  128. package/dist/components/model-renderer/link.d.ts +2 -0
  129. package/dist/components/model-renderer/link.js +27 -10
  130. package/dist/components/model-renderer/media-type.js +2 -2
  131. package/dist/components/model-renderer/model-badge.d.ts +11 -0
  132. package/dist/components/model-renderer/model-badge.js +59 -0
  133. package/dist/components/model-renderer/model-shared.css.js +14 -2
  134. package/dist/components/model-renderer/oauth-flows.js +4 -4
  135. package/dist/components/model-renderer/operation.d.ts +2 -1
  136. package/dist/components/model-renderer/operation.js +37 -16
  137. package/dist/components/model-renderer/param-location.js +3 -3
  138. package/dist/components/model-renderer/parameter.d.ts +2 -0
  139. package/dist/components/model-renderer/parameter.js +28 -15
  140. package/dist/components/model-renderer/path-item.d.ts +3 -0
  141. package/dist/components/model-renderer/path-item.js +52 -80
  142. package/dist/components/model-renderer/paths.d.ts +2 -0
  143. package/dist/components/model-renderer/paths.js +10 -3
  144. package/dist/components/model-renderer/problem-node.js +10 -10
  145. package/dist/components/model-renderer/rendered-node.css.js +35 -6
  146. package/dist/components/model-renderer/rendered-node.d.ts +14 -4
  147. package/dist/components/model-renderer/rendered-node.js +121 -58
  148. package/dist/components/model-renderer/rendered-property.js +4 -4
  149. package/dist/components/model-renderer/request-body.d.ts +2 -0
  150. package/dist/components/model-renderer/request-body.js +16 -9
  151. package/dist/components/model-renderer/response.d.ts +2 -0
  152. package/dist/components/model-renderer/response.js +35 -17
  153. package/dist/components/model-renderer/schema.css.js +10 -1
  154. package/dist/components/model-renderer/schema.d.ts +3 -2
  155. package/dist/components/model-renderer/schema.js +127 -129
  156. package/dist/components/model-renderer/security-scheme.js +3 -3
  157. package/dist/components/model-renderer/server.js +18 -8
  158. package/dist/components/model-renderer/tag.js +1 -1
  159. package/dist/components/model-tree/tree.css.js +21 -10
  160. package/dist/components/model-tree/tree.d.ts +39 -22
  161. package/dist/components/model-tree/tree.js +230 -167
  162. package/dist/components/paginator/paginator-navigator.css.js +9 -5
  163. package/dist/components/paginator/paginator-navigator.js +6 -6
  164. package/dist/components/paginator/paginator.css.js +2 -0
  165. package/dist/components/paginator/paginator.js +5 -8
  166. package/dist/components/percent-bar/percent-bar.css.js +133 -13
  167. package/dist/components/percent-bar/percent-bar.d.ts +2 -0
  168. package/dist/components/percent-bar/percent-bar.js +28 -24
  169. package/dist/components/premium-gate/premium-gate.css.d.ts +1 -0
  170. package/dist/components/premium-gate/premium-gate.css.js +117 -0
  171. package/dist/components/premium-gate/premium-gate.d.ts +49 -0
  172. package/dist/components/premium-gate/premium-gate.js +336 -0
  173. package/dist/components/problem-list/problem-list.css.js +72 -1
  174. package/dist/components/problem-list/problem-list.d.ts +17 -9
  175. package/dist/components/problem-list/problem-list.js +222 -226
  176. package/dist/components/problem-list/problem-mainview.css.js +12 -2
  177. package/dist/components/problem-list/problem-mainview.d.ts +3 -0
  178. package/dist/components/problem-list/problem-mainview.js +37 -17
  179. package/dist/components/problem-list/problem-toolbar.css.js +10 -7
  180. package/dist/components/problems-overview/diagnostic-evaluation.css.js +11 -1
  181. package/dist/components/problems-overview/diagnostic-evaluation.js +6 -7
  182. package/dist/components/problems-overview/document-statistic.css.js +6 -0
  183. package/dist/components/problems-overview/document-statistic.js +1 -1
  184. package/dist/components/problems-overview/problem-overview-group.js +5 -5
  185. package/dist/components/problems-overview/problem-statistic.css.js +24 -5
  186. package/dist/components/problems-overview/problem-statistic.js +15 -6
  187. package/dist/components/problems-overview/problem-statistics.css.js +4 -4
  188. package/dist/components/problems-overview/problem-statistics.js +29 -25
  189. package/dist/components/problems-overview/problems-overview.css.js +2 -2
  190. package/dist/components/property-view/property-view.css.js +2 -0
  191. package/dist/components/render-json-path/render-json-path.css.js +11 -3
  192. package/dist/components/render-json-path/render-json-path.js +3 -0
  193. package/dist/components/render-operation-path/render-operation-path.css.js +9 -0
  194. package/dist/components/render-operation-path/render-operation-path.js +7 -22
  195. package/dist/components/rodeo/rodeo.d.ts +1 -0
  196. package/dist/components/rodeo/rodeo.js +5 -0
  197. package/dist/components/rodeo/roundup.js +2 -2
  198. package/dist/components/rodeo/statistic.css.js +25 -2
  199. package/dist/components/rodeo/statistic.js +0 -4
  200. package/dist/components/shader-canvas/shader-canvas.css.d.ts +2 -0
  201. package/dist/components/shader-canvas/shader-canvas.css.js +66 -0
  202. package/dist/components/shader-canvas/shader-canvas.d.ts +36 -0
  203. package/dist/components/shader-canvas/shader-canvas.js +363 -0
  204. package/dist/components/shaders/flowing-waves-shader.d.ts +2 -0
  205. package/dist/components/shaders/flowing-waves-shader.js +70 -0
  206. package/dist/components/shaders/neon-canyon-shader.d.ts +2 -0
  207. package/dist/components/shaders/neon-canyon-shader.js +265 -0
  208. package/dist/components/shaders/neon-lines-shader.d.ts +2 -0
  209. package/dist/components/shaders/neon-lines-shader.js +181 -0
  210. package/dist/components/shaders/neon-squircles-shader.d.ts +2 -0
  211. package/dist/components/shaders/neon-squircles-shader.js +56 -0
  212. package/dist/components/shaders/retro-grid-shader.d.ts +2 -0
  213. package/dist/components/shaders/retro-grid-shader.js +53 -0
  214. package/dist/components/shaders/shader-base.d.ts +9 -0
  215. package/dist/components/shaders/shader-base.js +11 -0
  216. package/dist/components/terminal/terminal-example.css.js +4 -0
  217. package/dist/components/terminal/terminal-example.js +2 -3
  218. package/dist/components/terminal-emulator/terminal-emulator.css.js +12 -2
  219. package/dist/components/terminal-emulator/terminal-emulator.d.ts +7 -1
  220. package/dist/components/terminal-emulator/terminal-emulator.js +10 -5
  221. package/dist/components/the-doctor/doctor-controls-panel.css.d.ts +2 -0
  222. package/dist/components/the-doctor/doctor-controls-panel.css.js +53 -0
  223. package/dist/components/the-doctor/doctor-controls-panel.d.ts +20 -0
  224. package/dist/components/the-doctor/doctor-controls-panel.js +78 -0
  225. package/dist/components/the-doctor/doctor-editor-panel.css.d.ts +2 -0
  226. package/dist/components/the-doctor/doctor-editor-panel.css.js +209 -0
  227. package/dist/components/the-doctor/doctor-editor-panel.d.ts +41 -0
  228. package/dist/components/the-doctor/doctor-editor-panel.js +188 -0
  229. package/dist/components/the-doctor/doctor-navigator-panel.css.d.ts +2 -0
  230. package/dist/components/the-doctor/doctor-navigator-panel.css.js +134 -0
  231. package/dist/components/the-doctor/doctor-navigator-panel.d.ts +35 -0
  232. package/dist/components/the-doctor/doctor-navigator-panel.js +117 -0
  233. package/dist/components/the-doctor/doctor-sidebar-panel.css.d.ts +2 -0
  234. package/dist/components/the-doctor/doctor-sidebar-panel.css.js +143 -0
  235. package/dist/components/the-doctor/doctor-sidebar-panel.d.ts +31 -0
  236. package/dist/components/the-doctor/doctor-sidebar-panel.js +131 -0
  237. package/dist/components/the-doctor/doctor-url-overlay.css.d.ts +2 -0
  238. package/dist/components/the-doctor/doctor-url-overlay.css.js +59 -0
  239. package/dist/components/the-doctor/doctor-url-overlay.d.ts +23 -0
  240. package/dist/components/the-doctor/doctor-url-overlay.js +82 -0
  241. package/dist/components/the-doctor/nuke-workspace.js +4 -3
  242. package/dist/components/the-doctor/settings.css.js +2 -0
  243. package/dist/components/the-doctor/settings.js +5 -8
  244. package/dist/components/the-doctor/status-bar.d.ts +2 -2
  245. package/dist/components/the-doctor/status-bar.js +32 -31
  246. package/dist/components/the-doctor/the-doctor.css.js +47 -238
  247. package/dist/components/the-doctor/the-doctor.d.ts +149 -37
  248. package/dist/components/the-doctor/the-doctor.js +958 -528
  249. package/dist/components/the-doctor/upload-archive.css.js +8 -2
  250. package/dist/components/the-doctor/upload-archive.js +2 -2
  251. package/dist/components/theme-switcher/theme-switcher.js +5 -1
  252. package/dist/components/time-vortex/change-list-item.css.js +18 -4
  253. package/dist/components/time-vortex/change-list-item.d.ts +1 -0
  254. package/dist/components/time-vortex/change-list-item.js +4 -3
  255. package/dist/components/time-vortex/history-picker.css.js +60 -1
  256. package/dist/components/time-vortex/history-picker.d.ts +7 -1
  257. package/dist/components/time-vortex/history-picker.js +109 -5
  258. package/dist/components/time-vortex/tardis-control.css.js +339 -14
  259. package/dist/components/time-vortex/tardis-control.d.ts +31 -3
  260. package/dist/components/time-vortex/tardis-control.js +296 -58
  261. package/dist/components/time-vortex/time-vortex.d.ts +8 -2
  262. package/dist/components/time-vortex/time-vortex.js +54 -13
  263. package/dist/components/toast/toast-component.css.js +1 -0
  264. package/dist/components/toast/toast-component.d.ts +1 -0
  265. package/dist/components/toast/toast-component.js +23 -8
  266. package/dist/components/toast/toast-manager.d.ts +5 -0
  267. package/dist/components/toast/toast-manager.js +29 -7
  268. package/dist/components/visualizer/edge.d.ts +11 -1
  269. package/dist/components/visualizer/edge.js +27 -22
  270. package/dist/components/visualizer/equalizer.css.js +118 -76
  271. package/dist/components/visualizer/equalizer.d.ts +24 -45
  272. package/dist/components/visualizer/equalizer.js +262 -363
  273. package/dist/components/visualizer/explorer.d.ts +94 -14
  274. package/dist/components/visualizer/explorer.js +580 -393
  275. package/dist/components/visualizer/foreign-object.d.ts +12 -2
  276. package/dist/components/visualizer/foreign-object.js +21 -10
  277. package/dist/components/visualizer/key.js +12 -1
  278. package/dist/components/visualizer/nodes/callback.d.ts +2 -1
  279. package/dist/components/visualizer/nodes/callback.js +2 -2
  280. package/dist/components/visualizer/nodes/components.d.ts +2 -1
  281. package/dist/components/visualizer/nodes/components.js +2 -2
  282. package/dist/components/visualizer/nodes/contact.d.ts +2 -1
  283. package/dist/components/visualizer/nodes/contact.js +2 -2
  284. package/dist/components/visualizer/nodes/document.d.ts +2 -1
  285. package/dist/components/visualizer/nodes/document.js +2 -2
  286. package/dist/components/visualizer/nodes/graph-node.d.ts +14 -3
  287. package/dist/components/visualizer/nodes/graph-node.js +94 -43
  288. package/dist/components/visualizer/nodes/header.d.ts +2 -1
  289. package/dist/components/visualizer/nodes/header.js +2 -2
  290. package/dist/components/visualizer/nodes/info.d.ts +2 -1
  291. package/dist/components/visualizer/nodes/info.js +2 -2
  292. package/dist/components/visualizer/nodes/license.d.ts +2 -1
  293. package/dist/components/visualizer/nodes/license.js +2 -2
  294. package/dist/components/visualizer/nodes/link.d.ts +2 -1
  295. package/dist/components/visualizer/nodes/link.js +2 -2
  296. package/dist/components/visualizer/nodes/media-type.d.ts +2 -1
  297. package/dist/components/visualizer/nodes/media-type.js +2 -2
  298. package/dist/components/visualizer/nodes/operation.d.ts +2 -1
  299. package/dist/components/visualizer/nodes/operation.js +3 -4
  300. package/dist/components/visualizer/nodes/parameter.d.ts +3 -1
  301. package/dist/components/visualizer/nodes/parameter.js +3 -4
  302. package/dist/components/visualizer/nodes/path-item.d.ts +2 -1
  303. package/dist/components/visualizer/nodes/path-item.js +2 -2
  304. package/dist/components/visualizer/nodes/request-body.d.ts +2 -1
  305. package/dist/components/visualizer/nodes/request-body.js +2 -2
  306. package/dist/components/visualizer/nodes/response.d.ts +2 -1
  307. package/dist/components/visualizer/nodes/response.js +2 -2
  308. package/dist/components/visualizer/nodes/schema.d.ts +2 -1
  309. package/dist/components/visualizer/nodes/schema.js +64 -9
  310. package/dist/components/visualizer/nodes/security-scheme.d.ts +2 -1
  311. package/dist/components/visualizer/nodes/security-scheme.js +2 -2
  312. package/dist/components/visualizer/nodes/server.d.ts +2 -1
  313. package/dist/components/visualizer/nodes/server.js +3 -4
  314. package/dist/components/visualizer/nodes/tag.d.ts +2 -1
  315. package/dist/components/visualizer/nodes/tag.js +4 -5
  316. package/dist/components/visualizer/nodes/xml.d.ts +2 -1
  317. package/dist/components/visualizer/nodes/xml.js +2 -2
  318. package/dist/components/visualizer/orientation-controls.d.ts +6 -1
  319. package/dist/components/visualizer/orientation-controls.js +65 -7
  320. package/dist/components/visualizer/search.d.ts +2 -1
  321. package/dist/components/visualizer/search.js +22 -29
  322. package/dist/components/visualizer/shared.css.js +55 -18
  323. package/dist/components/visualizer/templates/svg-markers.d.ts +2 -0
  324. package/dist/components/visualizer/templates/svg-markers.js +73 -0
  325. package/dist/components/waiting-line/waiting-line.css.d.ts +2 -0
  326. package/dist/components/waiting-line/waiting-line.css.js +26 -0
  327. package/dist/components/waiting-line/waiting-line.d.ts +30 -0
  328. package/dist/components/waiting-line/waiting-line.js +424 -0
  329. package/dist/components/workspaces/workspace-view.css.js +89 -8
  330. package/dist/components/workspaces/workspace-view.d.ts +8 -1
  331. package/dist/components/workspaces/workspace-view.js +77 -25
  332. package/dist/controllers/auth-controller.d.ts +9 -0
  333. package/dist/controllers/auth-controller.js +12 -5
  334. package/dist/controllers/broker-controller.d.ts +30 -4
  335. package/dist/controllers/broker-controller.js +148 -25
  336. package/dist/controllers/bundle-controller.d.ts +21 -0
  337. package/dist/controllers/bundle-controller.js +122 -0
  338. package/dist/controllers/countdown-controller.d.ts +17 -0
  339. package/dist/controllers/countdown-controller.js +59 -0
  340. package/dist/controllers/diagnostic-controller.d.ts +18 -5
  341. package/dist/controllers/diagnostic-controller.js +206 -218
  342. package/dist/controllers/diagramatron-controller.d.ts +33 -0
  343. package/dist/controllers/diagramatron-controller.js +128 -0
  344. package/dist/controllers/docs-controller.d.ts +11 -5
  345. package/dist/controllers/docs-controller.js +97 -97
  346. package/dist/controllers/github-controller.d.ts +47 -0
  347. package/dist/controllers/github-controller.js +494 -0
  348. package/dist/controllers/global-task-controller.d.ts +46 -0
  349. package/dist/controllers/global-task-controller.js +352 -0
  350. package/dist/controllers/model-controller.d.ts +26 -4
  351. package/dist/controllers/model-controller.js +98 -62
  352. package/dist/controllers/node-clicker-controller.d.ts +121 -4
  353. package/dist/controllers/node-clicker-controller.js +526 -253
  354. package/dist/controllers/problem-controller.d.ts +11 -4
  355. package/dist/controllers/problem-controller.js +98 -39
  356. package/dist/controllers/rolodex-controller.d.ts +8 -3
  357. package/dist/controllers/rolodex-controller.js +117 -83
  358. package/dist/controllers/rule-controller.d.ts +12 -5
  359. package/dist/controllers/rule-controller.js +154 -161
  360. package/dist/controllers/spec-controller.d.ts +16 -4
  361. package/dist/controllers/spec-controller.js +91 -62
  362. package/dist/controllers/state-controller.d.ts +4 -3
  363. package/dist/controllers/state-controller.js +201 -154
  364. package/dist/controllers/tab-cache-controller.d.ts +29 -0
  365. package/dist/controllers/tab-cache-controller.js +68 -0
  366. package/dist/controllers/timeline-controller.d.ts +18 -0
  367. package/dist/controllers/timeline-controller.js +129 -0
  368. package/dist/controllers/wallet-controller.d.ts +3 -3
  369. package/dist/controllers/wallet-controller.js +22 -41
  370. package/dist/controllers/workspace-controller.d.ts +10 -4
  371. package/dist/controllers/workspace-controller.js +67 -22
  372. package/dist/cose-bilkent-S5V4N54A-2TG-C-n3.js +2608 -0
  373. package/dist/cowboy-components-BcyXo9oX.js +68425 -0
  374. package/dist/cowboy-components.css +1 -0
  375. package/dist/cowboy-components.umd.cjs +14050 -6577
  376. package/dist/css/alerts.css.js +2 -0
  377. package/dist/css/badges.css.js +2 -0
  378. package/dist/css/button.css.js +34 -1
  379. package/dist/css/cowboy-components.css +34 -0
  380. package/dist/css/dialog.css.js +11 -2
  381. package/dist/css/filter.css.js +17 -5
  382. package/dist/css/forms.css.js +14 -0
  383. package/dist/css/pb33f-theme.css +87 -16
  384. package/dist/css/syntax.css.js +5 -0
  385. package/dist/css/tabs.css.js +19 -2
  386. package/dist/css/tooltip.css.js +4 -0
  387. package/dist/cytoscape.esm-DfdJODL8.js +18735 -0
  388. package/dist/dagre-6UL2VRFP-BIlmTbhO.js +444 -0
  389. package/dist/defaultLocale-D7EN2tov.js +171 -0
  390. package/dist/diagram-PSM6KHXK-CeWby24E.js +531 -0
  391. package/dist/diagram-QEK2KX5R-DGonyVCK.js +217 -0
  392. package/dist/diagram-S2PKOQOG-mGn-y1uX.js +142 -0
  393. package/dist/erDiagram-Q2GNP2WA-BlBBw4Mz.js +841 -0
  394. package/dist/events/doctor.d.ts +63 -9
  395. package/dist/events/doctor.js +29 -1
  396. package/dist/events/drawer-events.d.ts +7 -0
  397. package/dist/events/drawer-events.js +3 -0
  398. package/dist/events/theme.d.ts +4 -0
  399. package/dist/events/theme.js +1 -0
  400. package/dist/factories/explorer-component-factory.d.ts +49 -0
  401. package/dist/factories/explorer-component-factory.js +205 -0
  402. package/dist/factories/state-controller-deps.factory.d.ts +88 -0
  403. package/dist/factories/state-controller-deps.factory.js +116 -0
  404. package/dist/flowDiagram-NV44I4VS-BlLzzy1C.js +1620 -0
  405. package/dist/ganttDiagram-LVOFAZNH-BoQtPC8k.js +2505 -0
  406. package/dist/gitGraph-F6HP7TQM-CShNSlrW.js +5 -0
  407. package/dist/gitGraphDiagram-NY62KEGX-BdpWBgHy.js +699 -0
  408. package/dist/graph-D9HS4Ahd.js +247 -0
  409. package/dist/helpers/event-wiring.d.ts +72 -0
  410. package/dist/helpers/event-wiring.js +58 -0
  411. package/dist/helpers/file-size-formatter.d.ts +3 -0
  412. package/dist/helpers/file-size-formatter.js +15 -0
  413. package/dist/helpers/filename-colorizer.d.ts +5 -0
  414. package/dist/helpers/filename-colorizer.js +30 -0
  415. package/dist/helpers/navigation-helper.d.ts +54 -0
  416. package/dist/helpers/navigation-helper.js +159 -0
  417. package/dist/helpers/typed-events.d.ts +1 -0
  418. package/dist/helpers/typed-events.js +3 -0
  419. package/dist/info-NVLQJR56-Bpi6I8up.js +5 -0
  420. package/dist/infoDiagram-F6ZHWCRC-DmhhbuMJ.js +24 -0
  421. package/dist/init-DjUOC4st.js +16 -0
  422. package/dist/interfaces/bundle-interfaces.d.ts +7 -0
  423. package/dist/interfaces/bundle-interfaces.js +1 -0
  424. package/dist/interfaces/doctor-interfaces.d.ts +506 -0
  425. package/dist/interfaces/doctor-interfaces.js +1 -0
  426. package/dist/journeyDiagram-XKPGCS4Q-CpkhK8vl.js +834 -0
  427. package/dist/kanban-definition-3W4ZIXB7-BFbucfYE.js +719 -0
  428. package/dist/katex-SsTUIUTC.js +11688 -0
  429. package/dist/layout-B8H1_UrM.js +1324 -0
  430. package/dist/linear-Bo0rJUSQ.js +259 -0
  431. package/dist/managers/drag-handler.d.ts +28 -0
  432. package/dist/managers/drag-handler.js +64 -0
  433. package/dist/managers/event-registration-manager.d.ts +17 -0
  434. package/dist/managers/event-registration-manager.js +34 -0
  435. package/dist/managers/expansion-manager.d.ts +58 -0
  436. package/dist/managers/expansion-manager.js +189 -0
  437. package/dist/managers/layout-filter-manager.d.ts +31 -0
  438. package/dist/managers/layout-filter-manager.js +109 -0
  439. package/dist/managers/panel-divider-manager.d.ts +33 -0
  440. package/dist/managers/panel-divider-manager.js +71 -0
  441. package/dist/managers/view-state-manager.d.ts +48 -0
  442. package/dist/managers/view-state-manager.js +101 -0
  443. package/dist/managers/viewport-manager.d.ts +53 -0
  444. package/dist/managers/viewport-manager.js +198 -0
  445. package/dist/mermaid-parser.core-BPror82d.js +12966 -0
  446. package/dist/mindmap-definition-VGOIOE7T-VAn-EShH.js +784 -0
  447. package/dist/mocks/task-mock-generator.d.ts +13 -0
  448. package/dist/mocks/task-mock-generator.js +200 -0
  449. package/dist/model/api-response.d.ts +2 -7
  450. package/dist/model/api-response.js +0 -2
  451. package/dist/model/bundle.d.ts +35 -0
  452. package/dist/model/bundle.js +1 -0
  453. package/dist/model/channels.d.ts +8 -1
  454. package/dist/model/channels.js +7 -0
  455. package/dist/model/drawer-content.d.ts +80 -0
  456. package/dist/model/drawer-content.js +14 -0
  457. package/dist/model/formable.js +22 -11
  458. package/dist/model/github.d.ts +125 -0
  459. package/dist/model/github.js +1 -0
  460. package/dist/model/graph.d.ts +15 -15
  461. package/dist/model/graph.js +24 -4
  462. package/dist/model/media-type.js +2 -2
  463. package/dist/model/node_type.d.ts +4 -0
  464. package/dist/model/node_type.js +4 -0
  465. package/dist/model/panel-state.d.ts +1 -0
  466. package/dist/model/rolodex.d.ts +3 -0
  467. package/dist/model/task.d.ts +50 -0
  468. package/dist/model/task.js +22 -0
  469. package/dist/model/timeline.d.ts +107 -1
  470. package/dist/model/tree-icon-config.d.ts +11 -0
  471. package/dist/model/tree-icon-config.js +46 -0
  472. package/dist/model/workspace.d.ts +2 -0
  473. package/dist/monacoeditorwork/css.worker.bundle.js +9 -7
  474. package/dist/monacoeditorwork/editor.worker.bundle.js +2 -0
  475. package/dist/monacoeditorwork/html.worker.bundle.js +9 -7
  476. package/dist/monacoeditorwork/json.worker.bundle.js +9 -7
  477. package/dist/monacoeditorwork/yaml.worker..bundle.js +72 -48
  478. package/dist/ordinal-DfAQgscy.js +61 -0
  479. package/dist/packet-BFZMPI3H-CXPCK9Q2.js +5 -0
  480. package/dist/pie-7BOR55EZ-CMcuUZ_S.js +5 -0
  481. package/dist/pieDiagram-ADFJNKIX-C0kdlQqn.js +161 -0
  482. package/dist/quadrantDiagram-AYHSOK5B-CRVq6wY3.js +1022 -0
  483. package/dist/radar-NHE76QYJ-CX_Gyp4h.js +5 -0
  484. package/dist/requirementDiagram-UZGBJVZJ-B8ZGgMKn.js +850 -0
  485. package/dist/sankeyDiagram-TZEHDZUN-CWAUJJue.js +810 -0
  486. package/dist/sequenceDiagram-WL72ISMW-nz81a4Cq.js +2511 -0
  487. package/dist/services/diagramatron-service.d.ts +20 -0
  488. package/dist/services/diagramatron-service.js +48 -0
  489. package/dist/services/doctor-events.d.ts +58 -0
  490. package/dist/services/doctor-events.js +33 -0
  491. package/dist/services/drawer-content-registry.d.ts +9 -0
  492. package/dist/services/drawer-content-registry.js +37 -0
  493. package/dist/services/github-service.d.ts +9 -0
  494. package/dist/services/github-service.js +166 -0
  495. package/dist/services/global-task-service.d.ts +6 -0
  496. package/dist/services/global-task-service.js +27 -0
  497. package/dist/services/header-service.d.ts +5 -3
  498. package/dist/services/header-service.js +13 -0
  499. package/dist/services/linting-service.d.ts +2 -0
  500. package/dist/services/linting-service.js +19 -2
  501. package/dist/services/mermaid-config-service.d.ts +53 -0
  502. package/dist/services/mermaid-config-service.js +519 -0
  503. package/dist/services/model-service.d.ts +12 -7
  504. package/dist/services/model-service.js +64 -11
  505. package/dist/services/rodeo-service.js +12 -12
  506. package/dist/services/timeline-service.d.ts +12 -2
  507. package/dist/services/timeline-service.js +329 -0
  508. package/dist/services/wallet-service.d.ts +1 -1
  509. package/dist/services/wallet-service.js +4 -1
  510. package/dist/services/workspace-service.js +16 -2
  511. package/dist/stateDiagram-FKZM4ZOC-3PFzJlcG.js +263 -0
  512. package/dist/stateDiagram-v2-4FDKWEC3-Bp46vM6_.js +16 -0
  513. package/dist/timeline-definition-IT6M3QCI-utm7jTLb.js +795 -0
  514. package/dist/treemap-KMMF4GRG-BvEKHn43.js +5 -0
  515. package/dist/utils/language-utils.d.ts +1 -0
  516. package/dist/utils/language-utils.js +23 -0
  517. package/dist/utils/lru-cache.d.ts +11 -0
  518. package/dist/utils/lru-cache.js +38 -0
  519. package/dist/utils/node-helpers.d.ts +6 -0
  520. package/dist/utils/node-helpers.js +62 -0
  521. package/dist/utils/path-utils.d.ts +5 -0
  522. package/dist/utils/path-utils.js +22 -0
  523. package/dist/workers/elk-layout.worker.d.ts +2 -0
  524. package/dist/workers/elk-layout.worker.js +31 -0
  525. package/dist/workers/equalizer.worker.d.ts +6 -1
  526. package/dist/workers/equalizer.worker.js +144 -195
  527. package/dist/workers/graph-dependent.worker.js +6 -6
  528. package/dist/workers/rule-documentation.worker.js +12 -48
  529. package/dist/workers/search-graph.worker.js +8 -23
  530. package/dist/xychartDiagram-PRI3JC2R-twqDKWMX.js +1340 -0
  531. package/package.json +17 -10
  532. package/dist/assets/equalizer.worker-DyLD5JTU.js +0 -1
  533. package/dist/assets/graph-dependent.worker-CpVhp0-T.js +0 -1
  534. package/dist/assets/rule-documentation.worker-B7xOWY5M.js +0 -1
  535. package/dist/assets/search-graph.worker-B9zqINrO.js +0 -1
  536. package/dist/assets/search-problems.worker-BAF8L2rX.js +0 -1
  537. package/dist/components/problem-list/details-drawer.d.ts +0 -34
  538. package/dist/components/problem-list/details-drawer.js +0 -200
  539. package/dist/style.css +0 -1
  540. /package/dist/components/{problem-list/details-drawer.css.d.ts → bundle-toolbar/bundle-toolbar.css.d.ts} +0 -0
@@ -0,0 +1,20 @@
1
+ export interface DiagramatronRequest {
2
+ id: string;
3
+ }
4
+ export interface DiagramatronResponse {
5
+ diagram: string;
6
+ format: string;
7
+ metadata?: {
8
+ generatedAt?: string;
9
+ nodeCount?: number;
10
+ relationshipCount?: number;
11
+ };
12
+ }
13
+ export declare class DiagramatronService {
14
+ private static instance;
15
+ private endpoint;
16
+ private constructor();
17
+ static getInstance(): DiagramatronService;
18
+ setEndpoint(endpoint: string): void;
19
+ generateClassDiagram(id: string, brokerId?: string): Promise<DiagramatronResponse>;
20
+ }
@@ -0,0 +1,48 @@
1
+ // Copyright 2023-2025 Princess Beef Heavy Industries, LLC / Dave Shanley
2
+ // https://pb33f.io
3
+ import { HeaderService } from './header-service.js';
4
+ export class DiagramatronService {
5
+ constructor() {
6
+ this.endpoint = '';
7
+ }
8
+ static getInstance() {
9
+ if (!DiagramatronService.instance) {
10
+ DiagramatronService.instance = new DiagramatronService();
11
+ }
12
+ return DiagramatronService.instance;
13
+ }
14
+ setEndpoint(endpoint) {
15
+ this.endpoint = endpoint;
16
+ }
17
+ async generateClassDiagram(id, brokerId) {
18
+ if (!this.endpoint) {
19
+ throw new Error('Diagramatron endpoint not configured');
20
+ }
21
+ const encodedId = encodeURIComponent(id);
22
+ const url = `${this.endpoint}/model/diagramatron/mermaid/class?id=${encodedId}`;
23
+ const headers = HeaderService.buildDefaultHeaders(brokerId);
24
+ const response = await fetch(url, {
25
+ method: 'GET',
26
+ credentials: 'include',
27
+ headers: headers
28
+ });
29
+ if (!response.ok) {
30
+ if (response.status === 402) {
31
+ const error = await response.json();
32
+ throw error;
33
+ }
34
+ throw new Error(`Failed to generate diagram: ${response.statusText}`);
35
+ }
36
+ const diagramText = await response.text();
37
+ const data = {
38
+ diagram: diagramText,
39
+ format: 'mermaid',
40
+ metadata: {
41
+ generatedAt: new Date().toISOString(),
42
+ nodeCount: 0,
43
+ relationshipCount: 0
44
+ }
45
+ };
46
+ return data;
47
+ }
48
+ }
@@ -0,0 +1,58 @@
1
+ import { Bus, Channel, Subscription } from "@pb33f/ranch";
2
+ import { Problem } from "../model/problem.js";
3
+ import { DocumentStatistics } from "../model/document-statistics.js";
4
+ import { GraphResponse } from "../model/graph.js";
5
+ export interface LintCompletedPayload {
6
+ problems: Problem[];
7
+ statistics: DocumentStatistics;
8
+ currentPath: string;
9
+ }
10
+ export interface GraphUpdatedPayload {
11
+ graph: GraphResponse;
12
+ }
13
+ export interface NodeSelectedPayload {
14
+ nodeId: string;
15
+ nodeHashId: string;
16
+ path: string;
17
+ source: 'tree' | 'explorer' | 'editor' | 'rolodex';
18
+ }
19
+ export interface ProblemsUpdatedPayload {
20
+ problems: Problem[];
21
+ source: 'lint' | 'timeline' | 'filter';
22
+ }
23
+ export interface RulesetChangedPayload {
24
+ rulesetId: string;
25
+ rulesetType: 'builtin' | 'custom';
26
+ triggerLint: boolean;
27
+ }
28
+ export interface RolodexFilePayload {
29
+ path: string;
30
+ nodeHashId: string;
31
+ content?: string;
32
+ }
33
+ export interface EditorDirtyPayload {
34
+ dirty: boolean;
35
+ editorId: string;
36
+ }
37
+ export interface ActivityStatePayload {
38
+ active: boolean;
39
+ source: string;
40
+ }
41
+ export declare class TypedChannel<T> {
42
+ private readonly channel;
43
+ constructor(channel: Channel);
44
+ get name(): string;
45
+ publish(payload: T): void;
46
+ subscribe(callback: (payload: T) => void): Subscription;
47
+ }
48
+ export interface DoctorEventChannels {
49
+ readonly lintCompleted: TypedChannel<LintCompletedPayload>;
50
+ readonly graphUpdated: TypedChannel<GraphUpdatedPayload>;
51
+ readonly nodeSelected: TypedChannel<NodeSelectedPayload>;
52
+ readonly problemsUpdated: TypedChannel<ProblemsUpdatedPayload>;
53
+ readonly rulesetChanged: TypedChannel<RulesetChangedPayload>;
54
+ readonly rolodexFileSelected: TypedChannel<RolodexFilePayload>;
55
+ readonly editorDirty: TypedChannel<EditorDirtyPayload>;
56
+ readonly activityState: TypedChannel<ActivityStatePayload>;
57
+ }
58
+ export declare function createDoctorEventChannels(bus: Bus): DoctorEventChannels;
@@ -0,0 +1,33 @@
1
+ export class TypedChannel {
2
+ constructor(channel) {
3
+ this.channel = channel;
4
+ }
5
+ get name() {
6
+ return this.channel.name;
7
+ }
8
+ publish(payload) {
9
+ this.channel.publish({ payload });
10
+ }
11
+ subscribe(callback) {
12
+ return this.channel.subscribe((msg) => {
13
+ if (msg.payload !== undefined) {
14
+ callback(msg.payload);
15
+ }
16
+ });
17
+ }
18
+ }
19
+ function createChannel(bus, name) {
20
+ return new TypedChannel(bus.createChannel(`doctor:${name}`));
21
+ }
22
+ export function createDoctorEventChannels(bus) {
23
+ return {
24
+ lintCompleted: createChannel(bus, 'lint-completed'),
25
+ graphUpdated: createChannel(bus, 'graph-updated'),
26
+ nodeSelected: createChannel(bus, 'node-selected'),
27
+ problemsUpdated: createChannel(bus, 'problems-updated'),
28
+ rulesetChanged: createChannel(bus, 'ruleset-changed'),
29
+ rolodexFileSelected: createChannel(bus, 'rolodex-file-selected'),
30
+ editorDirty: createChannel(bus, 'editor-dirty'),
31
+ activityState: createChannel(bus, 'activity-state'),
32
+ };
33
+ }
@@ -0,0 +1,9 @@
1
+ import { DrawerContentHandler, DrawerEvent } from '../model/drawer-content.js';
2
+ export declare class DrawerContentRegistry {
3
+ private static instance;
4
+ private handlers;
5
+ private constructor();
6
+ static getInstance(): DrawerContentRegistry;
7
+ registerHandler(handler: DrawerContentHandler): void;
8
+ getHandler(event: DrawerEvent): DrawerContentHandler | undefined;
9
+ }
@@ -0,0 +1,37 @@
1
+ // Copyright 2023-2025 Princess Beef Heavy Industries, LLC / Dave Shanley
2
+ // https://pb33f.io
3
+ export class DrawerContentRegistry {
4
+ constructor() {
5
+ this.handlers = new Map();
6
+ }
7
+ static getInstance() {
8
+ if (!DrawerContentRegistry.instance) {
9
+ DrawerContentRegistry.instance = new DrawerContentRegistry();
10
+ }
11
+ return DrawerContentRegistry.instance;
12
+ }
13
+ registerHandler(handler) {
14
+ handler.supportedTypes.forEach(type => {
15
+ this.handlers.set(type, handler);
16
+ });
17
+ if (handler.initialize) {
18
+ handler.initialize();
19
+ }
20
+ }
21
+ getHandler(event) {
22
+ const handler = this.handlers.get(event.type);
23
+ if (handler?.canHandle(event)) {
24
+ return handler;
25
+ }
26
+ const checkedHandlers = new Set();
27
+ for (const h of this.handlers.values()) {
28
+ if (!checkedHandlers.has(h)) {
29
+ checkedHandlers.add(h);
30
+ if (h.canHandle(event)) {
31
+ return h;
32
+ }
33
+ }
34
+ }
35
+ return undefined;
36
+ }
37
+ }
@@ -0,0 +1,9 @@
1
+ import { APIResponse } from "../model/api-response";
2
+ import { GitHubClaimResponse, GitHubAttachResponse } from "../model/github";
3
+ export declare class GitHubService {
4
+ static doctorEndpoint: string;
5
+ static getInstallations(brokerId?: string): Promise<APIResponse<any>>;
6
+ static getRepositories(brokerId?: string, refresh?: boolean): Promise<APIResponse<any>>;
7
+ static claimRepository(installationId: number, brokerId?: string): Promise<GitHubClaimResponse>;
8
+ static attachRepository(repositoryId: string, branch: string, rootFile: string, brokerId?: string): Promise<GitHubAttachResponse>;
9
+ }
@@ -0,0 +1,166 @@
1
+ import { HeaderService } from "./header-service";
2
+ export class GitHubService {
3
+ static async getInstallations(brokerId) {
4
+ return new Promise(async (resolve, reject) => {
5
+ try {
6
+ const headers = HeaderService.buildDefaultHeaders(brokerId);
7
+ const response = await fetch(GitHubService.doctorEndpoint + '/github/installations', {
8
+ method: 'GET',
9
+ credentials: 'include',
10
+ headers: headers,
11
+ });
12
+ if (!response.ok) {
13
+ try {
14
+ const errorResult = await response.json();
15
+ reject(errorResult);
16
+ }
17
+ catch {
18
+ reject({ detail: `HTTP ${response.status}: ${response.statusText}` });
19
+ }
20
+ return;
21
+ }
22
+ if (response.status === 204) {
23
+ resolve({ response: [] });
24
+ return;
25
+ }
26
+ const apiResult = await response.json();
27
+ if (!apiResult) {
28
+ reject({ detail: 'unable to fetch GitHub installations, cannot decode JSON' });
29
+ return;
30
+ }
31
+ if (apiResult?.type && apiResult?.title && apiResult?.status) {
32
+ reject(apiResult);
33
+ return;
34
+ }
35
+ apiResult.httpStatus = response.status;
36
+ resolve(apiResult);
37
+ }
38
+ catch (e) {
39
+ reject({ detail: 'unable to fetch GitHub installations: ' + e });
40
+ }
41
+ });
42
+ }
43
+ static async getRepositories(brokerId, refresh = false) {
44
+ return new Promise(async (resolve, reject) => {
45
+ try {
46
+ const headers = HeaderService.buildDefaultHeaders(brokerId);
47
+ let refreshQuery = '';
48
+ if (refresh) {
49
+ refreshQuery = '?refresh';
50
+ }
51
+ const response = await fetch(GitHubService.doctorEndpoint + '/github/repositories' + refreshQuery, {
52
+ method: 'GET',
53
+ credentials: 'include',
54
+ headers: headers,
55
+ });
56
+ if (!response.ok) {
57
+ try {
58
+ const errorResult = await response.json();
59
+ reject(errorResult);
60
+ }
61
+ catch {
62
+ reject({ detail: `HTTP ${response.status}: ${response.statusText}` });
63
+ }
64
+ return;
65
+ }
66
+ if (response.status === 204) {
67
+ resolve({ response: [] });
68
+ return;
69
+ }
70
+ const apiResult = await response.json();
71
+ if (!apiResult) {
72
+ reject({ detail: 'unable to fetch GitHub repositories, cannot decode JSON' });
73
+ return;
74
+ }
75
+ if (apiResult?.type && apiResult?.title && apiResult?.status) {
76
+ reject(apiResult);
77
+ return;
78
+ }
79
+ apiResult.httpStatus = response.status;
80
+ resolve(apiResult);
81
+ }
82
+ catch (e) {
83
+ reject({ detail: 'unable to fetch GitHub repositories: ' + e });
84
+ }
85
+ });
86
+ }
87
+ static async claimRepository(installationId, brokerId) {
88
+ return new Promise(async (resolve, reject) => {
89
+ try {
90
+ const headers = HeaderService.buildDefaultHeaders(brokerId);
91
+ const request = { installationId };
92
+ const response = await fetch(GitHubService.doctorEndpoint + '/github/claim', {
93
+ method: 'POST',
94
+ credentials: 'include',
95
+ headers: headers,
96
+ body: JSON.stringify(request)
97
+ });
98
+ if (!response.ok) {
99
+ try {
100
+ const errorResult = await response.json();
101
+ reject(errorResult);
102
+ }
103
+ catch {
104
+ reject({ detail: `HTTP ${response.status}: ${response.statusText}` });
105
+ }
106
+ return;
107
+ }
108
+ const apiResult = await response.json();
109
+ if (!apiResult) {
110
+ reject({ detail: 'unable to claim repository, cannot decode JSON' });
111
+ return;
112
+ }
113
+ if (apiResult?.type && apiResult?.title && apiResult?.status) {
114
+ reject(apiResult);
115
+ return;
116
+ }
117
+ resolve(apiResult);
118
+ }
119
+ catch (e) {
120
+ reject({ detail: 'unable to claim repository: ' + e });
121
+ }
122
+ });
123
+ }
124
+ static async attachRepository(repositoryId, branch, rootFile, brokerId) {
125
+ return new Promise(async (resolve, reject) => {
126
+ try {
127
+ const headers = HeaderService.buildDefaultHeaders(brokerId);
128
+ const request = {
129
+ repositoryId,
130
+ branch,
131
+ rootFile
132
+ };
133
+ const response = await fetch(GitHubService.doctorEndpoint + '/github/repository/attach?switchWorkspace', {
134
+ method: 'POST',
135
+ credentials: 'include',
136
+ headers: headers,
137
+ body: JSON.stringify(request)
138
+ });
139
+ if (!response.ok) {
140
+ try {
141
+ const errorResult = await response.json();
142
+ reject(errorResult);
143
+ }
144
+ catch {
145
+ reject({ detail: `HTTP ${response.status}: ${response.statusText}` });
146
+ }
147
+ return;
148
+ }
149
+ const apiResult = await response.json();
150
+ if (!apiResult) {
151
+ reject({ detail: 'unable to attach repository, cannot decode JSON' });
152
+ return;
153
+ }
154
+ if (apiResult?.type && apiResult?.title && apiResult?.status) {
155
+ reject(apiResult);
156
+ return;
157
+ }
158
+ resolve(apiResult);
159
+ }
160
+ catch (e) {
161
+ reject({ detail: 'unable to attach repository: ' + e });
162
+ }
163
+ });
164
+ }
165
+ }
166
+ GitHubService.doctorEndpoint = 'https://doctor.pb33f.io';
@@ -0,0 +1,6 @@
1
+ import { TaskListResponse } from "../model/task";
2
+ import { APIResponse } from "../model/api-response";
3
+ export declare class GlobalTaskService {
4
+ static doctorEndpoint: string;
5
+ static getActiveTasks(brokerId?: string): Promise<APIResponse<TaskListResponse>>;
6
+ }
@@ -0,0 +1,27 @@
1
+ import { HeaderService } from "./header-service";
2
+ export class GlobalTaskService {
3
+ static async getActiveTasks(brokerId) {
4
+ try {
5
+ const response = await fetch(GlobalTaskService.doctorEndpoint + '/global-tasks', {
6
+ method: 'GET',
7
+ credentials: 'include',
8
+ headers: HeaderService.buildDefaultHeaders(brokerId),
9
+ });
10
+ const apiResult = await response.json();
11
+ if (!apiResult) {
12
+ throw { detail: 'unable to fetch active tasks, cannot decode JSON' };
13
+ }
14
+ if (apiResult?.type && apiResult?.title && apiResult?.status) {
15
+ throw apiResult;
16
+ }
17
+ return apiResult;
18
+ }
19
+ catch (e) {
20
+ if (e?.detail) {
21
+ throw e;
22
+ }
23
+ throw { detail: 'unable to fetch active tasks: ' + e };
24
+ }
25
+ }
26
+ }
27
+ GlobalTaskService.doctorEndpoint = 'https://doctor.pb33f.io';
@@ -1,5 +1,7 @@
1
1
  export declare class HeaderService {
2
- static buildDefaultHeaders(broker?: any): any;
3
- static addBrokerHeader(headers: any, broker?: string): any;
4
- static addJSONHeader(headers: any): any;
2
+ static getOrCreateClientId(): string;
3
+ static buildDefaultHeaders(broker?: string): Record<string, string>;
4
+ static addBrokerHeader(headers: Record<string, string>, broker?: string): void;
5
+ static addClientHeader(headers: Record<string, string>): void;
6
+ static addJSONHeader(headers: Record<string, string>): void;
5
7
  }
@@ -1,7 +1,17 @@
1
+ const CLIENT_ID_STORAGE_KEY = 'pb33f_client_id';
1
2
  export class HeaderService {
3
+ static getOrCreateClientId() {
4
+ let clientId = sessionStorage.getItem(CLIENT_ID_STORAGE_KEY);
5
+ if (!clientId) {
6
+ clientId = crypto.randomUUID();
7
+ sessionStorage.setItem(CLIENT_ID_STORAGE_KEY, clientId);
8
+ }
9
+ return clientId;
10
+ }
2
11
  static buildDefaultHeaders(broker) {
3
12
  const headers = {};
4
13
  HeaderService.addBrokerHeader(headers, broker);
14
+ HeaderService.addClientHeader(headers);
5
15
  HeaderService.addJSONHeader(headers);
6
16
  return headers;
7
17
  }
@@ -13,6 +23,9 @@ export class HeaderService {
13
23
  console.warn('unable to add broker header, broker is missing');
14
24
  }
15
25
  }
26
+ static addClientHeader(headers) {
27
+ headers['x-pb33f-client'] = HeaderService.getOrCreateClientId();
28
+ }
16
29
  static addJSONHeader(headers) {
17
30
  headers['Content-Type'] = 'application/json';
18
31
  }
@@ -8,4 +8,6 @@ export declare class LintingService {
8
8
  static fetchAllHowToFix(): Promise<HowToFix[]>;
9
9
  static fetchStatistics(): Promise<DrDiagnostics>;
10
10
  static bootstrapEditor(): Promise<string>;
11
+ static refreshViolations(brokerId?: string, currentPath?: string, skipTimeline?: boolean): Promise<Problem[]>;
12
+ static refreshStatistics(): Promise<DrDiagnostics>;
11
13
  }
@@ -1,6 +1,6 @@
1
1
  import { Problem } from "../model/problem.js";
2
- import { HeaderService } from "./header-service";
3
- import { AuthController } from "../controllers/auth-controller";
2
+ import { HeaderService } from "./header-service.js";
3
+ import { AuthController } from "../controllers/auth-controller.js";
4
4
  export class LintingService {
5
5
  static compareProblems(a, b) {
6
6
  if (a.startLineNumber < b.startLineNumber) {
@@ -152,5 +152,22 @@ export class LintingService {
152
152
  }
153
153
  });
154
154
  }
155
+ static async refreshViolations(brokerId, currentPath, skipTimeline) {
156
+ const specResponse = await fetch(LintingService.doctorEndpoint + '/model/current-spec', {
157
+ method: 'GET',
158
+ credentials: 'include',
159
+ headers: {
160
+ 'Content-Type': 'application/json'
161
+ },
162
+ });
163
+ if (!specResponse.ok) {
164
+ throw { detail: 'unable to fetch current spec for re-linting' };
165
+ }
166
+ const currentSpec = await specResponse.text();
167
+ return LintingService.lintFile(currentSpec, brokerId, undefined, currentPath, skipTimeline);
168
+ }
169
+ static async refreshStatistics() {
170
+ return LintingService.fetchStatistics();
171
+ }
155
172
  }
156
173
  LintingService.doctorEndpoint = 'https://doctor.pb33f.io';
@@ -0,0 +1,53 @@
1
+ import { MermaidConfig } from 'mermaid';
2
+ export interface MermaidThemeConfig {
3
+ primaryColor: string;
4
+ primaryTextColor: string;
5
+ primaryBorderColor: string;
6
+ lineColor: string;
7
+ secondaryColor: string;
8
+ tertiaryColor: string;
9
+ background: string;
10
+ fontFamily: string;
11
+ fontSize: string;
12
+ darkMode: boolean;
13
+ [key: string]: any;
14
+ }
15
+ export interface MermaidLayoutOptions {
16
+ layout: 'dagre-d3' | 'dagre-wrapper' | 'elk';
17
+ rankDir?: 'TB' | 'BT' | 'LR' | 'RL';
18
+ nodeSpacing?: number;
19
+ rankSpacing?: number;
20
+ curve?: 'basis' | 'linear' | 'cardinal' | 'monotoneX' | 'monotoneY' | 'natural' | 'step' | 'stepBefore' | 'stepAfter';
21
+ }
22
+ export declare class MermaidConfigService {
23
+ private static instance;
24
+ private currentTheme;
25
+ private customThemeVariables;
26
+ private layoutOptions;
27
+ private colorCache;
28
+ private cacheValid;
29
+ private themeObserver;
30
+ private static readonly CSS_VARS;
31
+ private static readonly RGBA_REGEX;
32
+ private constructor();
33
+ private extractCSSColor;
34
+ private parseColorValue;
35
+ private rgbaToHex;
36
+ private invalidateCache;
37
+ private extractCSSValue;
38
+ static getInstance(): MermaidConfigService;
39
+ private detectTheme;
40
+ private observeThemeChanges;
41
+ cleanup(): void;
42
+ getTheme(): 'light' | 'dark';
43
+ setCustomThemeVariables(variables: Partial<MermaidThemeConfig>): void;
44
+ getThemeVariables(): MermaidThemeConfig;
45
+ private getDarkThemeVariables;
46
+ private getLightThemeVariables;
47
+ setLayoutOptions(options: Partial<MermaidLayoutOptions>): void;
48
+ getLayoutOptions(): MermaidLayoutOptions;
49
+ getMermaidConfig(overrides?: Partial<MermaidConfig>): MermaidConfig;
50
+ getClassDiagramConfig(): Partial<MermaidConfig>;
51
+ getFlowchartConfig(): Partial<MermaidConfig>;
52
+ getSequenceDiagramConfig(): Partial<MermaidConfig>;
53
+ }