@osdk/react-devtools 0.5.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 (443) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/build/esm/DevToolsContext.js +19 -0
  3. package/build/esm/DevToolsContext.js.map +1 -0
  4. package/build/esm/components/ActionMetrics.js +89 -0
  5. package/build/esm/components/ActionMetrics.js.map +1 -0
  6. package/build/esm/components/BubbleChart.js +175 -0
  7. package/build/esm/components/BubbleChart.js.map +1 -0
  8. package/build/esm/components/BubbleChart.module.scss.js +6 -0
  9. package/build/esm/components/CacheInspectorTab.js +291 -0
  10. package/build/esm/components/CacheInspectorTab.js.map +1 -0
  11. package/build/esm/components/CacheInspectorTab.module.scss.js +39 -0
  12. package/build/esm/components/CacheMetrics.js +55 -0
  13. package/build/esm/components/CacheMetrics.js.map +1 -0
  14. package/build/esm/components/ComponentCard.js +124 -0
  15. package/build/esm/components/ComponentCard.js.map +1 -0
  16. package/build/esm/components/ComponentCard.module.scss.js +31 -0
  17. package/build/esm/components/ComputeTab.js +175 -0
  18. package/build/esm/components/ComputeTab.js.map +1 -0
  19. package/build/esm/components/CopyableCodeBlock.js +49 -0
  20. package/build/esm/components/CopyableCodeBlock.js.map +1 -0
  21. package/build/esm/components/CopyableCodeBlock.module.scss.js +10 -0
  22. package/build/esm/components/DebuggingTab.js +342 -0
  23. package/build/esm/components/DebuggingTab.js.map +1 -0
  24. package/build/esm/components/DebuggingTab.module.scss.js +18 -0
  25. package/build/esm/components/HookRow.js +180 -0
  26. package/build/esm/components/HookRow.js.map +1 -0
  27. package/build/esm/components/HookRow.module.scss.js +16 -0
  28. package/build/esm/components/ImprovementsTab.js +138 -0
  29. package/build/esm/components/ImprovementsTab.js.map +1 -0
  30. package/build/esm/components/ImprovementsTab.module.scss.js +30 -0
  31. package/build/esm/components/InspectorSelectionHeader.js +65 -0
  32. package/build/esm/components/InspectorSelectionHeader.js.map +1 -0
  33. package/build/esm/components/InterceptTab.js +862 -0
  34. package/build/esm/components/InterceptTab.js.map +1 -0
  35. package/build/esm/components/InterceptTab.module.scss.js +49 -0
  36. package/build/esm/components/IssueCard.js +115 -0
  37. package/build/esm/components/IssueCard.js.map +1 -0
  38. package/build/esm/components/IssueCard.module.scss.js +24 -0
  39. package/build/esm/components/LogEntryCard.js +94 -0
  40. package/build/esm/components/LogEntryCard.js.map +1 -0
  41. package/build/esm/components/LogEntryCard.module.scss.js +19 -0
  42. package/build/esm/components/MockEditor.js +316 -0
  43. package/build/esm/components/MockEditor.js.map +1 -0
  44. package/build/esm/components/MonitorErrorBoundary.js +64 -0
  45. package/build/esm/components/MonitorErrorBoundary.js.map +1 -0
  46. package/build/esm/components/MonitorErrorBoundary.module.scss.js +9 -0
  47. package/build/esm/components/MonitoringPanel.js +434 -0
  48. package/build/esm/components/MonitoringPanel.js.map +1 -0
  49. package/build/esm/components/MonitoringPanel.module.scss.js +81 -0
  50. package/build/esm/components/ObjectLoadingMetrics.js +60 -0
  51. package/build/esm/components/ObjectLoadingMetrics.js.map +1 -0
  52. package/build/esm/components/OsdkAppErrorBoundary.js +68 -0
  53. package/build/esm/components/OsdkAppErrorBoundary.js.map +1 -0
  54. package/build/esm/components/OsdkDevTools.js +40 -0
  55. package/build/esm/components/OsdkDevTools.js.map +1 -0
  56. package/build/esm/components/OverrideEditor.js +197 -0
  57. package/build/esm/components/OverrideEditor.js.map +1 -0
  58. package/build/esm/components/PerformanceTab.js +297 -0
  59. package/build/esm/components/PerformanceTab.js.map +1 -0
  60. package/build/esm/components/PrimitiveSelectionPanel.js +220 -0
  61. package/build/esm/components/PrimitiveSelectionPanel.js.map +1 -0
  62. package/build/esm/components/PrimitiveSelectionPanel.module.scss.js +26 -0
  63. package/build/esm/components/issueTypes.js +2 -0
  64. package/build/esm/components/issueTypes.js.map +1 -0
  65. package/build/esm/components/resolveComponentName.js +57 -0
  66. package/build/esm/components/resolveComponentName.js.map +1 -0
  67. package/build/esm/components/testHelpers.js +312 -0
  68. package/build/esm/components/testHelpers.js.map +1 -0
  69. package/build/esm/css.d.ts +20 -0
  70. package/build/esm/fiber/DegradationNotice.js +193 -0
  71. package/build/esm/fiber/DegradationNotice.js.map +1 -0
  72. package/build/esm/fiber/DevtoolsHook.js +252 -0
  73. package/build/esm/fiber/DevtoolsHook.js.map +1 -0
  74. package/build/esm/fiber/FiberAccess.js +65 -0
  75. package/build/esm/fiber/FiberAccess.js.map +1 -0
  76. package/build/esm/fiber/FiberInspection.js +140 -0
  77. package/build/esm/fiber/FiberInspection.js.map +1 -0
  78. package/build/esm/fiber/FiberTags.js +52 -0
  79. package/build/esm/fiber/FiberTags.js.map +1 -0
  80. package/build/esm/fiber/HookStateInspector.js +254 -0
  81. package/build/esm/fiber/HookStateInspector.js.map +1 -0
  82. package/build/esm/fiber/SafeFiberOperation.js +35 -0
  83. package/build/esm/fiber/SafeFiberOperation.js.map +1 -0
  84. package/build/esm/fiber/capabilities.js +180 -0
  85. package/build/esm/fiber/capabilities.js.map +1 -0
  86. package/build/esm/fiber/traverseFiber.js +129 -0
  87. package/build/esm/fiber/traverseFiber.js.map +1 -0
  88. package/build/esm/fiber/types.js +2 -0
  89. package/build/esm/fiber/types.js.map +1 -0
  90. package/build/esm/fiber/validation.js +155 -0
  91. package/build/esm/fiber/validation.js.map +1 -0
  92. package/build/esm/hooks/createPollingStore.js +81 -0
  93. package/build/esm/hooks/createPollingStore.js.map +1 -0
  94. package/build/esm/hooks/useActiveComponents.js +27 -0
  95. package/build/esm/hooks/useActiveComponents.js.map +1 -0
  96. package/build/esm/hooks/useComponentRegistry.js +25 -0
  97. package/build/esm/hooks/useComponentRegistry.js.map +1 -0
  98. package/build/esm/hooks/useComputeSelectors.js +43 -0
  99. package/build/esm/hooks/useComputeSelectors.js.map +1 -0
  100. package/build/esm/hooks/useConsoleLogs.js +46 -0
  101. package/build/esm/hooks/useConsoleLogs.js.map +1 -0
  102. package/build/esm/hooks/useInspectorSelection.js +93 -0
  103. package/build/esm/hooks/useInspectorSelection.js.map +1 -0
  104. package/build/esm/hooks/useMetrics.js +23 -0
  105. package/build/esm/hooks/useMetrics.js.map +1 -0
  106. package/build/esm/hooks/usePersistedState.js +89 -0
  107. package/build/esm/hooks/usePersistedState.js.map +1 -0
  108. package/build/esm/hooks/useRecommendations.js +123 -0
  109. package/build/esm/hooks/useRecommendations.js.map +1 -0
  110. package/build/esm/hooks/useSharedTick.js +49 -0
  111. package/build/esm/hooks/useSharedTick.js.map +1 -0
  112. package/build/esm/hooks/useTimeElapsed.js +51 -0
  113. package/build/esm/hooks/useTimeElapsed.js.map +1 -0
  114. package/build/esm/hooks/useTrackerSubscription.js +97 -0
  115. package/build/esm/hooks/useTrackerSubscription.js.map +1 -0
  116. package/build/esm/hooks/useUnusedFieldAnalysis.js +99 -0
  117. package/build/esm/hooks/useUnusedFieldAnalysis.js.map +1 -0
  118. package/build/esm/index.js +31 -0
  119. package/build/esm/index.js.map +1 -0
  120. package/build/esm/inspector/ClickToInspectSystem.js +228 -0
  121. package/build/esm/inspector/ClickToInspectSystem.js.map +1 -0
  122. package/build/esm/inspector/components/ComponentLabel.js +175 -0
  123. package/build/esm/inspector/components/ComponentLabel.js.map +1 -0
  124. package/build/esm/inspector/components/ComponentLabel.module.scss.js +12 -0
  125. package/build/esm/inspector/components/InspectorBanner.js +79 -0
  126. package/build/esm/inspector/components/InspectorBanner.js.map +1 -0
  127. package/build/esm/inspector/components/InspectorOverlay.js +149 -0
  128. package/build/esm/inspector/components/InspectorOverlay.js.map +1 -0
  129. package/build/esm/inspector/components/SelectionHighlight.js +74 -0
  130. package/build/esm/inspector/components/SelectionHighlight.js.map +1 -0
  131. package/build/esm/inspector/createClickToInspect.js +21 -0
  132. package/build/esm/inspector/createClickToInspect.js.map +1 -0
  133. package/build/esm/inspector/hooks/useAnimatedBounds.js +167 -0
  134. package/build/esm/inspector/hooks/useAnimatedBounds.js.map +1 -0
  135. package/build/esm/inspector/index.js +40 -0
  136. package/build/esm/inspector/index.js.map +1 -0
  137. package/build/esm/inspector/inspectorController.js +328 -0
  138. package/build/esm/inspector/inspectorController.js.map +1 -0
  139. package/build/esm/inspector/types.js +2 -0
  140. package/build/esm/inspector/types.js.map +1 -0
  141. package/build/esm/inspector/utils/elementBounds.js +72 -0
  142. package/build/esm/inspector/utils/elementBounds.js.map +1 -0
  143. package/build/esm/inspector/utils/interpolation.js +26 -0
  144. package/build/esm/inspector/utils/interpolation.js.map +1 -0
  145. package/build/esm/inspector/utils/labelPositioning.js +62 -0
  146. package/build/esm/inspector/utils/labelPositioning.js.map +1 -0
  147. package/build/esm/mocking/MockCacheKeyGenerator.js +109 -0
  148. package/build/esm/mocking/MockCacheKeyGenerator.js.map +1 -0
  149. package/build/esm/mocking/MockManager.js +281 -0
  150. package/build/esm/mocking/MockManager.js.map +1 -0
  151. package/build/esm/prototyping/PrototypeOverrideStore.js +66 -0
  152. package/build/esm/prototyping/PrototypeOverrideStore.js.map +1 -0
  153. package/build/esm/prototyping/index.js +18 -0
  154. package/build/esm/prototyping/index.js.map +1 -0
  155. package/build/esm/public/vite.js +19 -0
  156. package/build/esm/public/vite.js.map +1 -0
  157. package/build/esm/register.js +41 -0
  158. package/build/esm/register.js.map +1 -0
  159. package/build/esm/scss.d.ts +20 -0
  160. package/build/esm/store/ComputeStore.js +269 -0
  161. package/build/esm/store/ComputeStore.js.map +1 -0
  162. package/build/esm/store/ConsoleLogStore.js +289 -0
  163. package/build/esm/store/ConsoleLogStore.js.map +1 -0
  164. package/build/esm/store/MetricsStore.js +428 -0
  165. package/build/esm/store/MetricsStore.js.map +1 -0
  166. package/build/esm/store/MonitorStore.js +288 -0
  167. package/build/esm/store/MonitorStore.js.map +1 -0
  168. package/build/esm/store/SubscribableStore.js +38 -0
  169. package/build/esm/store/SubscribableStore.js.map +1 -0
  170. package/build/esm/store/WindowErrorStore.js +195 -0
  171. package/build/esm/store/WindowErrorStore.js.map +1 -0
  172. package/build/esm/styles.css +19441 -0
  173. package/build/esm/styles.js +31 -0
  174. package/build/esm/styles.js.map +1 -0
  175. package/build/esm/types/compute.js +2 -0
  176. package/build/esm/types/compute.js.map +1 -0
  177. package/build/esm/types/emissions.js +2 -0
  178. package/build/esm/types/emissions.js.map +1 -0
  179. package/build/esm/types/index.js +23 -0
  180. package/build/esm/types/index.js.map +1 -0
  181. package/build/esm/utils/ActionLifecycleTracker.js +178 -0
  182. package/build/esm/utils/ActionLifecycleTracker.js.map +1 -0
  183. package/build/esm/utils/CacheEfficiencyAnalyzer.js +198 -0
  184. package/build/esm/utils/CacheEfficiencyAnalyzer.js.map +1 -0
  185. package/build/esm/utils/CircularBuffer.js +96 -0
  186. package/build/esm/utils/CircularBuffer.js.map +1 -0
  187. package/build/esm/utils/ComponentContextCapture.js +215 -0
  188. package/build/esm/utils/ComponentContextCapture.js.map +1 -0
  189. package/build/esm/utils/ComponentPrimitiveDiscovery.js +173 -0
  190. package/build/esm/utils/ComponentPrimitiveDiscovery.js.map +1 -0
  191. package/build/esm/utils/ComponentQueryRegistry.js +340 -0
  192. package/build/esm/utils/ComponentQueryRegistry.js.map +1 -0
  193. package/build/esm/utils/ComputeMonitor.js +199 -0
  194. package/build/esm/utils/ComputeMonitor.js.map +1 -0
  195. package/build/esm/utils/EventTimeline.js +130 -0
  196. package/build/esm/utils/EventTimeline.js.map +1 -0
  197. package/build/esm/utils/LinkTraversalTracker.js +116 -0
  198. package/build/esm/utils/LinkTraversalTracker.js.map +1 -0
  199. package/build/esm/utils/MockDataGenerator.js +473 -0
  200. package/build/esm/utils/MockDataGenerator.js.map +1 -0
  201. package/build/esm/utils/ObservableClientMonitor.js +768 -0
  202. package/build/esm/utils/ObservableClientMonitor.js.map +1 -0
  203. package/build/esm/utils/PerformanceRecommendationEngine.js +185 -0
  204. package/build/esm/utils/PerformanceRecommendationEngine.js.map +1 -0
  205. package/build/esm/utils/PropertyAccessTracker.js +238 -0
  206. package/build/esm/utils/PropertyAccessTracker.js.map +1 -0
  207. package/build/esm/utils/RecommendationMatcher.js +53 -0
  208. package/build/esm/utils/RecommendationMatcher.js.map +1 -0
  209. package/build/esm/utils/SubscriptionTracker.js +132 -0
  210. package/build/esm/utils/SubscriptionTracker.js.map +1 -0
  211. package/build/esm/utils/UnusedFieldAnalyzer.js +186 -0
  212. package/build/esm/utils/UnusedFieldAnalyzer.js.map +1 -0
  213. package/build/esm/utils/WaterfallDetector.js +200 -0
  214. package/build/esm/utils/WaterfallDetector.js.map +1 -0
  215. package/build/esm/utils/computePayload.js +37 -0
  216. package/build/esm/utils/computePayload.js.map +1 -0
  217. package/build/esm/utils/computeRequest.js +29 -0
  218. package/build/esm/utils/computeRequest.js.map +1 -0
  219. package/build/esm/utils/format.js +69 -0
  220. package/build/esm/utils/format.js.map +1 -0
  221. package/build/esm/utils/logger.js +31 -0
  222. package/build/esm/utils/logger.js.map +1 -0
  223. package/build/esm/vite/constants.js +18 -0
  224. package/build/esm/vite/constants.js.map +1 -0
  225. package/build/esm/vite/hookInstaller.js +99 -0
  226. package/build/esm/vite/hookInstaller.js.map +1 -0
  227. package/build/esm/vite/index.js +77 -0
  228. package/build/esm/vite/index.js.map +1 -0
  229. package/build/types/DevToolsContext.d.ts +3 -0
  230. package/build/types/DevToolsContext.d.ts.map +1 -0
  231. package/build/types/components/ActionMetrics.d.ts +6 -0
  232. package/build/types/components/ActionMetrics.d.ts.map +1 -0
  233. package/build/types/components/BubbleChart.d.ts +10 -0
  234. package/build/types/components/BubbleChart.d.ts.map +1 -0
  235. package/build/types/components/CacheInspectorTab.d.ts +6 -0
  236. package/build/types/components/CacheInspectorTab.d.ts.map +1 -0
  237. package/build/types/components/CacheMetrics.d.ts +6 -0
  238. package/build/types/components/CacheMetrics.d.ts.map +1 -0
  239. package/build/types/components/ComponentCard.d.ts +13 -0
  240. package/build/types/components/ComponentCard.d.ts.map +1 -0
  241. package/build/types/components/ComputeTab.d.ts +6 -0
  242. package/build/types/components/ComputeTab.d.ts.map +1 -0
  243. package/build/types/components/CopyableCodeBlock.d.ts +7 -0
  244. package/build/types/components/CopyableCodeBlock.d.ts.map +1 -0
  245. package/build/types/components/DebuggingTab.d.ts +6 -0
  246. package/build/types/components/DebuggingTab.d.ts.map +1 -0
  247. package/build/types/components/HookRow.d.ts +9 -0
  248. package/build/types/components/HookRow.d.ts.map +1 -0
  249. package/build/types/components/ImprovementsTab.d.ts +7 -0
  250. package/build/types/components/ImprovementsTab.d.ts.map +1 -0
  251. package/build/types/components/InspectorSelectionHeader.d.ts +12 -0
  252. package/build/types/components/InspectorSelectionHeader.d.ts.map +1 -0
  253. package/build/types/components/InterceptTab.d.ts +126 -0
  254. package/build/types/components/InterceptTab.d.ts.map +1 -0
  255. package/build/types/components/IssueCard.d.ts +8 -0
  256. package/build/types/components/IssueCard.d.ts.map +1 -0
  257. package/build/types/components/LogEntryCard.d.ts +7 -0
  258. package/build/types/components/LogEntryCard.d.ts.map +1 -0
  259. package/build/types/components/MockEditor.d.ts +58 -0
  260. package/build/types/components/MockEditor.d.ts.map +1 -0
  261. package/build/types/components/MonitorErrorBoundary.d.ts +16 -0
  262. package/build/types/components/MonitorErrorBoundary.d.ts.map +1 -0
  263. package/build/types/components/MonitoringPanel.d.ts +8 -0
  264. package/build/types/components/MonitoringPanel.d.ts.map +1 -0
  265. package/build/types/components/ObjectLoadingMetrics.d.ts +7 -0
  266. package/build/types/components/ObjectLoadingMetrics.d.ts.map +1 -0
  267. package/build/types/components/OsdkAppErrorBoundary.d.ts +18 -0
  268. package/build/types/components/OsdkAppErrorBoundary.d.ts.map +1 -0
  269. package/build/types/components/OsdkDevTools.d.ts +2 -0
  270. package/build/types/components/OsdkDevTools.d.ts.map +1 -0
  271. package/build/types/components/OverrideEditor.d.ts +26 -0
  272. package/build/types/components/OverrideEditor.d.ts.map +1 -0
  273. package/build/types/components/PerformanceTab.d.ts +8 -0
  274. package/build/types/components/PerformanceTab.d.ts.map +1 -0
  275. package/build/types/components/PrimitiveSelectionPanel.d.ts +28 -0
  276. package/build/types/components/PrimitiveSelectionPanel.d.ts.map +1 -0
  277. package/build/types/components/issueTypes.d.ts +16 -0
  278. package/build/types/components/issueTypes.d.ts.map +1 -0
  279. package/build/types/components/resolveComponentName.d.ts +3 -0
  280. package/build/types/components/resolveComponentName.d.ts.map +1 -0
  281. package/build/types/components/testHelpers.d.ts +2 -0
  282. package/build/types/components/testHelpers.d.ts.map +1 -0
  283. package/build/types/css.d.d.ts +4 -0
  284. package/build/types/css.d.d.ts.map +1 -0
  285. package/build/types/fiber/DegradationNotice.d.ts +8 -0
  286. package/build/types/fiber/DegradationNotice.d.ts.map +1 -0
  287. package/build/types/fiber/DevtoolsHook.d.ts +7 -0
  288. package/build/types/fiber/DevtoolsHook.d.ts.map +1 -0
  289. package/build/types/fiber/FiberAccess.d.ts +2 -0
  290. package/build/types/fiber/FiberAccess.d.ts.map +1 -0
  291. package/build/types/fiber/FiberInspection.d.ts +6 -0
  292. package/build/types/fiber/FiberInspection.d.ts.map +1 -0
  293. package/build/types/fiber/FiberTags.d.ts +33 -0
  294. package/build/types/fiber/FiberTags.d.ts.map +1 -0
  295. package/build/types/fiber/HookStateInspector.d.ts +45 -0
  296. package/build/types/fiber/HookStateInspector.d.ts.map +1 -0
  297. package/build/types/fiber/SafeFiberOperation.d.ts +7 -0
  298. package/build/types/fiber/SafeFiberOperation.d.ts.map +1 -0
  299. package/build/types/fiber/capabilities.d.ts +38 -0
  300. package/build/types/fiber/capabilities.d.ts.map +1 -0
  301. package/build/types/fiber/traverseFiber.d.ts +5 -0
  302. package/build/types/fiber/traverseFiber.d.ts.map +1 -0
  303. package/build/types/fiber/types.d.ts +87 -0
  304. package/build/types/fiber/types.d.ts.map +1 -0
  305. package/build/types/fiber/validation.d.ts +10 -0
  306. package/build/types/fiber/validation.d.ts.map +1 -0
  307. package/build/types/hooks/createPollingStore.d.ts +5 -0
  308. package/build/types/hooks/createPollingStore.d.ts.map +1 -0
  309. package/build/types/hooks/useActiveComponents.d.ts +3 -0
  310. package/build/types/hooks/useActiveComponents.d.ts.map +1 -0
  311. package/build/types/hooks/useComponentRegistry.d.ts +3 -0
  312. package/build/types/hooks/useComponentRegistry.d.ts.map +1 -0
  313. package/build/types/hooks/useComputeSelectors.d.ts +7 -0
  314. package/build/types/hooks/useComputeSelectors.d.ts.map +1 -0
  315. package/build/types/hooks/useConsoleLogs.d.ts +7 -0
  316. package/build/types/hooks/useConsoleLogs.d.ts.map +1 -0
  317. package/build/types/hooks/useInspectorSelection.d.ts +9 -0
  318. package/build/types/hooks/useInspectorSelection.d.ts.map +1 -0
  319. package/build/types/hooks/useMetrics.d.ts +3 -0
  320. package/build/types/hooks/useMetrics.d.ts.map +1 -0
  321. package/build/types/hooks/usePersistedState.d.ts +1 -0
  322. package/build/types/hooks/usePersistedState.d.ts.map +1 -0
  323. package/build/types/hooks/useRecommendations.d.ts +10 -0
  324. package/build/types/hooks/useRecommendations.d.ts.map +1 -0
  325. package/build/types/hooks/useSharedTick.d.ts +1 -0
  326. package/build/types/hooks/useSharedTick.d.ts.map +1 -0
  327. package/build/types/hooks/useTimeElapsed.d.ts +1 -0
  328. package/build/types/hooks/useTimeElapsed.d.ts.map +1 -0
  329. package/build/types/hooks/useTrackerSubscription.d.ts +16 -0
  330. package/build/types/hooks/useTrackerSubscription.d.ts.map +1 -0
  331. package/build/types/hooks/useUnusedFieldAnalysis.d.ts +8 -0
  332. package/build/types/hooks/useUnusedFieldAnalysis.d.ts.map +1 -0
  333. package/build/types/index.d.ts +21 -0
  334. package/build/types/index.d.ts.map +1 -0
  335. package/build/types/inspector/ClickToInspectSystem.d.ts +40 -0
  336. package/build/types/inspector/ClickToInspectSystem.d.ts.map +1 -0
  337. package/build/types/inspector/components/ComponentLabel.d.ts +3 -0
  338. package/build/types/inspector/components/ComponentLabel.d.ts.map +1 -0
  339. package/build/types/inspector/components/InspectorBanner.d.ts +5 -0
  340. package/build/types/inspector/components/InspectorBanner.d.ts.map +1 -0
  341. package/build/types/inspector/components/InspectorOverlay.d.ts +3 -0
  342. package/build/types/inspector/components/InspectorOverlay.d.ts.map +1 -0
  343. package/build/types/inspector/components/SelectionHighlight.d.ts +3 -0
  344. package/build/types/inspector/components/SelectionHighlight.d.ts.map +1 -0
  345. package/build/types/inspector/createClickToInspect.d.ts +3 -0
  346. package/build/types/inspector/createClickToInspect.d.ts.map +1 -0
  347. package/build/types/inspector/hooks/useAnimatedBounds.d.ts +2 -0
  348. package/build/types/inspector/hooks/useAnimatedBounds.d.ts.map +1 -0
  349. package/build/types/inspector/index.d.ts +13 -0
  350. package/build/types/inspector/index.d.ts.map +1 -0
  351. package/build/types/inspector/inspectorController.d.ts +2 -0
  352. package/build/types/inspector/inspectorController.d.ts.map +1 -0
  353. package/build/types/inspector/types.d.ts +94 -0
  354. package/build/types/inspector/types.d.ts.map +1 -0
  355. package/build/types/inspector/utils/elementBounds.d.ts +3 -0
  356. package/build/types/inspector/utils/elementBounds.d.ts.map +1 -0
  357. package/build/types/inspector/utils/interpolation.d.ts +7 -0
  358. package/build/types/inspector/utils/interpolation.d.ts.map +1 -0
  359. package/build/types/inspector/utils/labelPositioning.d.ts +3 -0
  360. package/build/types/inspector/utils/labelPositioning.d.ts.map +1 -0
  361. package/build/types/mocking/MockCacheKeyGenerator.d.ts +41 -0
  362. package/build/types/mocking/MockCacheKeyGenerator.d.ts.map +1 -0
  363. package/build/types/mocking/MockManager.d.ts +103 -0
  364. package/build/types/mocking/MockManager.d.ts.map +1 -0
  365. package/build/types/prototyping/PrototypeOverrideStore.d.ts +33 -0
  366. package/build/types/prototyping/PrototypeOverrideStore.d.ts.map +1 -0
  367. package/build/types/prototyping/index.d.ts +1 -0
  368. package/build/types/prototyping/index.d.ts.map +1 -0
  369. package/build/types/public/vite.d.ts +2 -0
  370. package/build/types/public/vite.d.ts.map +1 -0
  371. package/build/types/register.d.ts +1 -0
  372. package/build/types/register.d.ts.map +1 -0
  373. package/build/types/scss.d.d.ts +6 -0
  374. package/build/types/scss.d.d.ts.map +1 -0
  375. package/build/types/store/ComputeStore.d.ts +47 -0
  376. package/build/types/store/ComputeStore.d.ts.map +1 -0
  377. package/build/types/store/ConsoleLogStore.d.ts +29 -0
  378. package/build/types/store/ConsoleLogStore.d.ts.map +1 -0
  379. package/build/types/store/MetricsStore.d.ts +42 -0
  380. package/build/types/store/MetricsStore.d.ts.map +1 -0
  381. package/build/types/store/MonitorStore.d.ts +86 -0
  382. package/build/types/store/MonitorStore.d.ts.map +1 -0
  383. package/build/types/store/SubscribableStore.d.ts +6 -0
  384. package/build/types/store/SubscribableStore.d.ts.map +1 -0
  385. package/build/types/store/WindowErrorStore.d.ts +32 -0
  386. package/build/types/store/WindowErrorStore.d.ts.map +1 -0
  387. package/build/types/styles.d.ts +1 -0
  388. package/build/types/styles.d.ts.map +1 -0
  389. package/build/types/types/compute.d.ts +73 -0
  390. package/build/types/types/compute.d.ts.map +1 -0
  391. package/build/types/types/emissions.d.ts +24 -0
  392. package/build/types/types/emissions.d.ts.map +1 -0
  393. package/build/types/types/index.d.ts +143 -0
  394. package/build/types/types/index.d.ts.map +1 -0
  395. package/build/types/utils/ActionLifecycleTracker.d.ts +39 -0
  396. package/build/types/utils/ActionLifecycleTracker.d.ts.map +1 -0
  397. package/build/types/utils/CacheEfficiencyAnalyzer.d.ts +45 -0
  398. package/build/types/utils/CacheEfficiencyAnalyzer.d.ts.map +1 -0
  399. package/build/types/utils/CircularBuffer.d.ts +18 -0
  400. package/build/types/utils/CircularBuffer.d.ts.map +1 -0
  401. package/build/types/utils/ComponentContextCapture.d.ts +29 -0
  402. package/build/types/utils/ComponentContextCapture.d.ts.map +1 -0
  403. package/build/types/utils/ComponentPrimitiveDiscovery.d.ts +62 -0
  404. package/build/types/utils/ComponentPrimitiveDiscovery.d.ts.map +1 -0
  405. package/build/types/utils/ComponentQueryRegistry.d.ts +91 -0
  406. package/build/types/utils/ComponentQueryRegistry.d.ts.map +1 -0
  407. package/build/types/utils/ComputeMonitor.d.ts +14 -0
  408. package/build/types/utils/ComputeMonitor.d.ts.map +1 -0
  409. package/build/types/utils/EventTimeline.d.ts +102 -0
  410. package/build/types/utils/EventTimeline.d.ts.map +1 -0
  411. package/build/types/utils/LinkTraversalTracker.d.ts +43 -0
  412. package/build/types/utils/LinkTraversalTracker.d.ts.map +1 -0
  413. package/build/types/utils/MockDataGenerator.d.ts +23 -0
  414. package/build/types/utils/MockDataGenerator.d.ts.map +1 -0
  415. package/build/types/utils/ObservableClientMonitor.d.ts +62 -0
  416. package/build/types/utils/ObservableClientMonitor.d.ts.map +1 -0
  417. package/build/types/utils/PerformanceRecommendationEngine.d.ts +67 -0
  418. package/build/types/utils/PerformanceRecommendationEngine.d.ts.map +1 -0
  419. package/build/types/utils/PropertyAccessTracker.d.ts +50 -0
  420. package/build/types/utils/PropertyAccessTracker.d.ts.map +1 -0
  421. package/build/types/utils/RecommendationMatcher.d.ts +5 -0
  422. package/build/types/utils/RecommendationMatcher.d.ts.map +1 -0
  423. package/build/types/utils/SubscriptionTracker.d.ts +17 -0
  424. package/build/types/utils/SubscriptionTracker.d.ts.map +1 -0
  425. package/build/types/utils/UnusedFieldAnalyzer.d.ts +46 -0
  426. package/build/types/utils/UnusedFieldAnalyzer.d.ts.map +1 -0
  427. package/build/types/utils/WaterfallDetector.d.ts +28 -0
  428. package/build/types/utils/WaterfallDetector.d.ts.map +1 -0
  429. package/build/types/utils/computePayload.d.ts +3 -0
  430. package/build/types/utils/computePayload.d.ts.map +1 -0
  431. package/build/types/utils/computeRequest.d.ts +20 -0
  432. package/build/types/utils/computeRequest.d.ts.map +1 -0
  433. package/build/types/utils/format.d.ts +5 -0
  434. package/build/types/utils/format.d.ts.map +1 -0
  435. package/build/types/utils/logger.d.ts +2 -0
  436. package/build/types/utils/logger.d.ts.map +1 -0
  437. package/build/types/vite/constants.d.ts +1 -0
  438. package/build/types/vite/constants.d.ts.map +1 -0
  439. package/build/types/vite/hookInstaller.d.ts +1 -0
  440. package/build/types/vite/hookInstaller.d.ts.map +1 -0
  441. package/build/types/vite/index.d.ts +20 -0
  442. package/build/types/vite/index.d.ts.map +1 -0
  443. package/package.json +114 -0
@@ -0,0 +1,316 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { Button, Callout, Checkbox, FormGroup, HTMLSelect, Icon, Radio, RadioGroup, TextArea } from "@blueprintjs/core";
18
+ import React from "react";
19
+ import styles from "./InterceptTab.module.scss.js";
20
+ export const MockEditor = ({
21
+ selectedPrimitive,
22
+ editingMock,
23
+ mockType,
24
+ responseType,
25
+ usePayload,
26
+ mockPayload,
27
+ useResponse,
28
+ staticData,
29
+ functionCode,
30
+ errorMessage,
31
+ dispatch,
32
+ mockPrimitiveInfo,
33
+ onSaveMock,
34
+ onCancel
35
+ }) => {
36
+ return /*#__PURE__*/React.createElement("div", {
37
+ className: styles.editorPanel
38
+ }, /*#__PURE__*/React.createElement("div", {
39
+ className: styles.panelHeader
40
+ }, /*#__PURE__*/React.createElement(Icon, {
41
+ icon: mockPrimitiveInfo?.icon ?? "cube"
42
+ }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
43
+ className: styles.panelTitle
44
+ }, editingMock ? "Edit Mock" : "Create Mock"), /*#__PURE__*/React.createElement("div", {
45
+ className: styles.panelSubtitle
46
+ }, mockPrimitiveInfo?.title, " \xB7 ", mockPrimitiveInfo?.subtitle)), /*#__PURE__*/React.createElement(Button, {
47
+ variant: "minimal",
48
+ size: "small",
49
+ icon: "cross",
50
+ "aria-label": "Close editor",
51
+ onClick: onCancel
52
+ })), /*#__PURE__*/React.createElement("div", {
53
+ className: styles.editorContent
54
+ }, mockPrimitiveInfo?.signature && /*#__PURE__*/React.createElement("div", {
55
+ className: styles.primitiveSignature
56
+ }, /*#__PURE__*/React.createElement("code", null, mockPrimitiveInfo.signature)), /*#__PURE__*/React.createElement(FormGroup, {
57
+ label: "Response Type",
58
+ labelInfo: "(required)"
59
+ }, /*#__PURE__*/React.createElement(RadioGroup, {
60
+ inline: true,
61
+ onChange: e => dispatch({
62
+ type: "SET_RESPONSE_TYPE",
63
+ responseType: e.currentTarget.value
64
+ }),
65
+ selectedValue: responseType
66
+ }, /*#__PURE__*/React.createElement(Radio, {
67
+ label: "Success",
68
+ value: "success"
69
+ }), /*#__PURE__*/React.createElement(Radio, {
70
+ label: "Error/Failure",
71
+ value: "error"
72
+ }))), /*#__PURE__*/React.createElement(FormGroup, {
73
+ label: "Mock Type",
74
+ labelInfo: "(required)"
75
+ }, /*#__PURE__*/React.createElement(HTMLSelect, {
76
+ value: mockType,
77
+ onChange: e => dispatch({
78
+ type: "SET_MOCK_TYPE",
79
+ mockType: e.target.value
80
+ }),
81
+ fill: true,
82
+ options: [{
83
+ label: "Static Data",
84
+ value: "static"
85
+ }, {
86
+ label: "Function (Dynamic)",
87
+ value: "function"
88
+ }, {
89
+ label: "Pass-through (Original + Log)",
90
+ value: "passthrough"
91
+ }]
92
+ })), selectedPrimitive.type === "action" && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, {
93
+ checked: usePayload,
94
+ onChange: e => dispatch({
95
+ type: "SET_USE_PAYLOAD",
96
+ usePayload: e.currentTarget.checked
97
+ }),
98
+ label: "Use Payload"
99
+ }), usePayload && /*#__PURE__*/React.createElement(FormGroup, {
100
+ label: "Action Payload (JSON)",
101
+ helperText: "The parameters to pass to the action"
102
+ }, /*#__PURE__*/React.createElement(TextArea, {
103
+ value: mockPayload,
104
+ onChange: e => dispatch({
105
+ type: "SET_MOCK_PAYLOAD",
106
+ mockPayload: e.target.value
107
+ }),
108
+ fill: true,
109
+ rows: 4,
110
+ className: styles.codeEditor
111
+ }))), /*#__PURE__*/React.createElement(Checkbox, {
112
+ checked: useResponse,
113
+ onChange: e => dispatch({
114
+ type: "SET_USE_RESPONSE",
115
+ useResponse: e.currentTarget.checked
116
+ }),
117
+ label: "Use Response"
118
+ }), useResponse && /*#__PURE__*/React.createElement(React.Fragment, null, responseType === "error" && /*#__PURE__*/React.createElement(FormGroup, {
119
+ label: "Error Message",
120
+ helperText: "The error message to return"
121
+ }, /*#__PURE__*/React.createElement(TextArea, {
122
+ value: errorMessage,
123
+ onChange: e => dispatch({
124
+ type: "SET_ERROR_MESSAGE",
125
+ errorMessage: e.target.value
126
+ }),
127
+ fill: true,
128
+ rows: 2
129
+ })), mockType === "static" && responseType === "success" && /*#__PURE__*/React.createElement(FormGroup, {
130
+ label: "Mock Data (JSON)",
131
+ helperText: "Enter the JSON response that this mock should return"
132
+ }, /*#__PURE__*/React.createElement(TextArea, {
133
+ value: staticData,
134
+ onChange: e => dispatch({
135
+ type: "SET_STATIC_DATA",
136
+ staticData: e.target.value
137
+ }),
138
+ fill: true,
139
+ rows: 8,
140
+ className: styles.codeEditor
141
+ })), mockType === "function" && /*#__PURE__*/React.createElement(FormGroup, {
142
+ label: "Mock Function",
143
+ helperText: "Write a function that generates mock data dynamically"
144
+ }, /*#__PURE__*/React.createElement(TextArea, {
145
+ value: functionCode,
146
+ onChange: e => dispatch({
147
+ type: "SET_FUNCTION_CODE",
148
+ functionCode: e.target.value
149
+ }),
150
+ fill: true,
151
+ rows: 10,
152
+ className: styles.codeEditor
153
+ }))), mockType === "passthrough" && /*#__PURE__*/React.createElement(Callout, {
154
+ intent: "primary",
155
+ icon: "info-sign"
156
+ }, "Pass-through mode will execute the real query but log all parameters and responses for debugging."), /*#__PURE__*/React.createElement("div", {
157
+ className: styles.editorActions
158
+ }, /*#__PURE__*/React.createElement(Button, {
159
+ intent: "primary",
160
+ icon: "floppy-disk",
161
+ onClick: onSaveMock
162
+ }, editingMock ? "Update Mock" : "Create Mock"), /*#__PURE__*/React.createElement(Button, {
163
+ variant: "minimal",
164
+ onClick: onCancel
165
+ }, "Cancel"))));
166
+ };
167
+ export function getMockPrimitiveInfo(primitive) {
168
+ switch (primitive.type) {
169
+ case "action":
170
+ return {
171
+ title: primitive.data.name,
172
+ subtitle: "Action",
173
+ icon: "flash",
174
+ signature: primitive.data.signature
175
+ };
176
+ case "objectSet":
177
+ return {
178
+ title: primitive.data.type,
179
+ subtitle: "Object Set Query",
180
+ icon: "th-list",
181
+ signature: `useOsdkObjects(${primitive.data.type})`
182
+ };
183
+ case "object":
184
+ return {
185
+ title: primitive.data.type,
186
+ subtitle: "Object Query",
187
+ icon: "cube",
188
+ signature: `useOsdkObject(${primitive.data.type}, ${primitive.data.primaryKey || "'...'"})`
189
+ };
190
+ case "link":
191
+ return {
192
+ title: primitive.data.linkName,
193
+ subtitle: "Link Traversal",
194
+ icon: "link",
195
+ signature: `useLinks(..., "${primitive.data.linkName}")`
196
+ };
197
+ case "query":
198
+ return {
199
+ title: primitive.data.hookType,
200
+ subtitle: "Advanced Query",
201
+ icon: "database",
202
+ signature: primitive.data.signature
203
+ };
204
+ case "aggregation":
205
+ return {
206
+ title: primitive.data.type,
207
+ subtitle: "Aggregation",
208
+ icon: "grouped-bar-chart",
209
+ signature: `useOsdkAggregation(${primitive.data.type})`
210
+ };
211
+ }
212
+ }
213
+ export function createMatcherFromPrimitive(primitive) {
214
+ switch (primitive.type) {
215
+ case "action":
216
+ return {
217
+ actionName: primitive.data.name
218
+ };
219
+ case "objectSet":
220
+ return {
221
+ objectType: primitive.data.type,
222
+ whereClause: primitive.data.whereClause
223
+ };
224
+ case "aggregation":
225
+ return {
226
+ objectType: primitive.data.type,
227
+ whereClause: primitive.data.whereClause
228
+ };
229
+ case "object":
230
+ return {
231
+ objectType: primitive.data.type,
232
+ primaryKey: primitive.data.primaryKey
233
+ };
234
+ case "link":
235
+ return {
236
+ objectType: primitive.data.sourceType,
237
+ linkName: primitive.data.linkName
238
+ };
239
+ case "query":
240
+ return {};
241
+ }
242
+ }
243
+ export function createResponseFromConfig(primitive, mockData) {
244
+ if (primitive.type === "action") {
245
+ return {
246
+ type: "action",
247
+ result: mockData
248
+ };
249
+ } else if (primitive.type === "objectSet" || primitive.type === "link" || primitive.type === "aggregation") {
250
+ return {
251
+ type: "list",
252
+ list: Array.isArray(mockData) ? mockData : [mockData],
253
+ hasMore: false
254
+ };
255
+ } else {
256
+ return {
257
+ type: "object",
258
+ object: mockData
259
+ };
260
+ }
261
+ }
262
+ export const MockItem = /*#__PURE__*/React.memo(({
263
+ mock,
264
+ onToggle,
265
+ onDelete,
266
+ onEdit
267
+ }) => {
268
+ const info = mock.config ? getMockPrimitiveInfo(mock.config.primitive) : null;
269
+ const label = {
270
+ icon: info?.icon ?? "help",
271
+ text: info?.title ?? "Unknown"
272
+ };
273
+ return /*#__PURE__*/React.createElement("div", {
274
+ className: styles.interceptItem
275
+ }, /*#__PURE__*/React.createElement("div", {
276
+ className: styles.interceptItemContent,
277
+ onClick: onEdit,
278
+ title: "Click to view/edit configuration"
279
+ }, /*#__PURE__*/React.createElement("div", {
280
+ className: styles.interceptItemHeader
281
+ }, /*#__PURE__*/React.createElement(Icon, {
282
+ icon: label.icon
283
+ }), /*#__PURE__*/React.createElement("span", {
284
+ className: styles.interceptItemTitle
285
+ }, label.text), /*#__PURE__*/React.createElement("span", {
286
+ className: `${styles.interceptBadge} ${styles.interceptBadgeMock}`
287
+ }, "mock"), /*#__PURE__*/React.createElement("span", {
288
+ className: styles.interceptItemMeta
289
+ }, mock.config?.mockType || "static"), /*#__PURE__*/React.createElement("span", {
290
+ className: styles.interceptItemMeta
291
+ }, "Used: ", mock.usedCount, "x")), /*#__PURE__*/React.createElement("div", {
292
+ className: styles.interceptItemDetails
293
+ }, mock.config?.responseType === "error" && /*#__PURE__*/React.createElement("span", {
294
+ className: styles.detail
295
+ }, "Error Response"))), /*#__PURE__*/React.createElement("div", {
296
+ className: styles.interceptItemActions
297
+ }, /*#__PURE__*/React.createElement(Button, {
298
+ variant: "minimal",
299
+ size: "small",
300
+ intent: mock.enabled ? "success" : "warning",
301
+ icon: mock.enabled ? "pause" : "play",
302
+ onClick: onToggle,
303
+ title: mock.enabled ? "Pause mock" : "Resume mock",
304
+ "aria-label": mock.enabled ? "Pause mock" : "Resume mock"
305
+ }), /*#__PURE__*/React.createElement(Button, {
306
+ variant: "minimal",
307
+ size: "small",
308
+ intent: "danger",
309
+ icon: "trash",
310
+ onClick: onDelete,
311
+ title: "Delete mock",
312
+ "aria-label": "Delete mock"
313
+ })));
314
+ });
315
+ MockItem.displayName = "MockItem";
316
+ //# sourceMappingURL=MockEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockEditor.js","names":["Button","Callout","Checkbox","FormGroup","HTMLSelect","Icon","Radio","RadioGroup","TextArea","React","styles","MockEditor","selectedPrimitive","editingMock","mockType","responseType","usePayload","mockPayload","useResponse","staticData","functionCode","errorMessage","dispatch","mockPrimitiveInfo","onSaveMock","onCancel","createElement","className","editorPanel","panelHeader","icon","panelTitle","panelSubtitle","title","subtitle","variant","size","onClick","editorContent","signature","primitiveSignature","label","labelInfo","inline","onChange","e","type","currentTarget","value","selectedValue","target","fill","options","Fragment","checked","helperText","rows","codeEditor","intent","editorActions","getMockPrimitiveInfo","primitive","data","name","primaryKey","linkName","hookType","createMatcherFromPrimitive","actionName","objectType","whereClause","sourceType","createResponseFromConfig","mockData","result","list","Array","isArray","hasMore","object","MockItem","memo","mock","onToggle","onDelete","onEdit","info","config","text","interceptItem","interceptItemContent","interceptItemHeader","interceptItemTitle","interceptBadge","interceptBadgeMock","interceptItemMeta","usedCount","interceptItemDetails","detail","interceptItemActions","enabled","displayName"],"sources":["MockEditor.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Button,\n Callout,\n Checkbox,\n FormGroup,\n HTMLSelect,\n Icon,\n Radio,\n RadioGroup,\n TextArea,\n} from \"@blueprintjs/core\";\nimport React from \"react\";\nimport type { MockResponse } from \"../mocking/MockManager.js\";\nimport type { InterceptAction, MockConfiguration } from \"./InterceptTab.js\";\nimport styles from \"./InterceptTab.module.scss\";\nimport type { SelectedPrimitive } from \"./PrimitiveSelectionPanel.js\";\n\ntype MockWithConfig = MockResponse & { config: MockConfiguration };\n\ninterface MockEditorProps {\n selectedPrimitive: SelectedPrimitive;\n editingMock: MockWithConfig | null;\n mockType: MockConfiguration[\"mockType\"];\n responseType: MockConfiguration[\"responseType\"];\n usePayload: boolean;\n mockPayload: string;\n useResponse: boolean;\n staticData: string;\n functionCode: string;\n errorMessage: string;\n dispatch: React.Dispatch<InterceptAction>;\n mockPrimitiveInfo: ReturnType<typeof getMockPrimitiveInfo> | null;\n onSaveMock: () => void;\n onCancel: () => void;\n}\n\nexport const MockEditor: React.FC<MockEditorProps> = ({\n selectedPrimitive,\n editingMock,\n mockType,\n responseType,\n usePayload,\n mockPayload,\n useResponse,\n staticData,\n functionCode,\n errorMessage,\n dispatch,\n mockPrimitiveInfo,\n onSaveMock,\n onCancel,\n}) => {\n return (\n <div className={styles.editorPanel}>\n <div className={styles.panelHeader}>\n <Icon icon={mockPrimitiveInfo?.icon ?? \"cube\"} />\n <div>\n <div className={styles.panelTitle}>\n {editingMock ? \"Edit Mock\" : \"Create Mock\"}\n </div>\n <div className={styles.panelSubtitle}>\n {mockPrimitiveInfo?.title} · {mockPrimitiveInfo?.subtitle}\n </div>\n </div>\n <Button\n variant=\"minimal\"\n size=\"small\"\n icon=\"cross\"\n aria-label=\"Close editor\"\n onClick={onCancel}\n />\n </div>\n\n <div className={styles.editorContent}>\n {mockPrimitiveInfo?.signature && (\n <div className={styles.primitiveSignature}>\n <code>{mockPrimitiveInfo.signature}</code>\n </div>\n )}\n\n <FormGroup label=\"Response Type\" labelInfo=\"(required)\">\n <RadioGroup\n inline={true}\n onChange={(e) =>\n dispatch({\n type: \"SET_RESPONSE_TYPE\",\n responseType: e.currentTarget\n .value as MockConfiguration[\"responseType\"],\n })}\n selectedValue={responseType}\n >\n <Radio label=\"Success\" value=\"success\" />\n <Radio label=\"Error/Failure\" value=\"error\" />\n </RadioGroup>\n </FormGroup>\n\n <FormGroup label=\"Mock Type\" labelInfo=\"(required)\">\n <HTMLSelect\n value={mockType}\n onChange={(e) =>\n dispatch({\n type: \"SET_MOCK_TYPE\",\n mockType: e.target.value as MockConfiguration[\"mockType\"],\n })}\n fill={true}\n options={[\n { label: \"Static Data\", value: \"static\" },\n { label: \"Function (Dynamic)\", value: \"function\" },\n {\n label: \"Pass-through (Original + Log)\",\n value: \"passthrough\",\n },\n ]}\n />\n </FormGroup>\n\n {selectedPrimitive.type === \"action\" && (\n <>\n <Checkbox\n checked={usePayload}\n onChange={(e) =>\n dispatch({\n type: \"SET_USE_PAYLOAD\",\n usePayload: e.currentTarget.checked,\n })}\n label=\"Use Payload\"\n />\n {usePayload && (\n <FormGroup\n label=\"Action Payload (JSON)\"\n helperText=\"The parameters to pass to the action\"\n >\n <TextArea\n value={mockPayload}\n onChange={(e) =>\n dispatch({\n type: \"SET_MOCK_PAYLOAD\",\n mockPayload: e.target.value,\n })}\n fill={true}\n rows={4}\n className={styles.codeEditor}\n />\n </FormGroup>\n )}\n </>\n )}\n\n <Checkbox\n checked={useResponse}\n onChange={(e) =>\n dispatch({\n type: \"SET_USE_RESPONSE\",\n useResponse: e.currentTarget.checked,\n })}\n label=\"Use Response\"\n />\n\n {useResponse && (\n <>\n {responseType === \"error\" && (\n <FormGroup\n label=\"Error Message\"\n helperText=\"The error message to return\"\n >\n <TextArea\n value={errorMessage}\n onChange={(e) =>\n dispatch({\n type: \"SET_ERROR_MESSAGE\",\n errorMessage: e.target.value,\n })}\n fill={true}\n rows={2}\n />\n </FormGroup>\n )}\n\n {mockType === \"static\" && responseType === \"success\" && (\n <FormGroup\n label=\"Mock Data (JSON)\"\n helperText=\"Enter the JSON response that this mock should return\"\n >\n <TextArea\n value={staticData}\n onChange={(e) =>\n dispatch({\n type: \"SET_STATIC_DATA\",\n staticData: e.target.value,\n })}\n fill={true}\n rows={8}\n className={styles.codeEditor}\n />\n </FormGroup>\n )}\n\n {mockType === \"function\" && (\n <FormGroup\n label=\"Mock Function\"\n helperText=\"Write a function that generates mock data dynamically\"\n >\n <TextArea\n value={functionCode}\n onChange={(e) =>\n dispatch({\n type: \"SET_FUNCTION_CODE\",\n functionCode: e.target.value,\n })}\n fill={true}\n rows={10}\n className={styles.codeEditor}\n />\n </FormGroup>\n )}\n </>\n )}\n\n {mockType === \"passthrough\" && (\n <Callout intent=\"primary\" icon=\"info-sign\">\n Pass-through mode will execute the real query but log all parameters\n and responses for debugging.\n </Callout>\n )}\n\n <div className={styles.editorActions}>\n <Button\n intent=\"primary\"\n icon=\"floppy-disk\"\n onClick={onSaveMock}\n >\n {editingMock ? \"Update Mock\" : \"Create Mock\"}\n </Button>\n <Button variant=\"minimal\" onClick={onCancel}>\n Cancel\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nexport function getMockPrimitiveInfo(primitive: SelectedPrimitive): {\n title: string;\n subtitle: string;\n icon:\n | \"flash\"\n | \"th-list\"\n | \"cube\"\n | \"link\"\n | \"database\"\n | \"grouped-bar-chart\";\n signature: string | undefined;\n} {\n switch (primitive.type) {\n case \"action\":\n return {\n title: primitive.data.name,\n subtitle: \"Action\",\n icon: \"flash\" as const,\n signature: primitive.data.signature,\n };\n case \"objectSet\":\n return {\n title: primitive.data.type,\n subtitle: \"Object Set Query\",\n icon: \"th-list\" as const,\n signature: `useOsdkObjects(${primitive.data.type})`,\n };\n case \"object\":\n return {\n title: primitive.data.type,\n subtitle: \"Object Query\",\n icon: \"cube\" as const,\n signature: `useOsdkObject(${primitive.data.type}, ${\n primitive.data.primaryKey || \"'...'\"\n })`,\n };\n case \"link\":\n return {\n title: primitive.data.linkName,\n subtitle: \"Link Traversal\",\n icon: \"link\" as const,\n signature: `useLinks(..., \"${primitive.data.linkName}\")`,\n };\n case \"query\":\n return {\n title: primitive.data.hookType,\n subtitle: \"Advanced Query\",\n icon: \"database\" as const,\n signature: primitive.data.signature,\n };\n case \"aggregation\":\n return {\n title: primitive.data.type,\n subtitle: \"Aggregation\",\n icon: \"grouped-bar-chart\" as const,\n signature: `useOsdkAggregation(${primitive.data.type})`,\n };\n }\n}\n\nexport function createMatcherFromPrimitive(primitive: SelectedPrimitive): {\n actionName?: string;\n objectType?: string;\n whereClause?: Record<string, unknown>;\n primaryKey?: string;\n linkName?: string;\n} {\n switch (primitive.type) {\n case \"action\":\n return { actionName: primitive.data.name };\n case \"objectSet\":\n return {\n objectType: primitive.data.type,\n whereClause: primitive.data.whereClause,\n };\n case \"aggregation\":\n return {\n objectType: primitive.data.type,\n whereClause: primitive.data.whereClause,\n };\n case \"object\":\n return {\n objectType: primitive.data.type,\n primaryKey: primitive.data.primaryKey,\n };\n case \"link\":\n return {\n objectType: primitive.data.sourceType,\n linkName: primitive.data.linkName,\n };\n case \"query\":\n return {};\n }\n}\n\nexport function createResponseFromConfig(\n primitive: SelectedPrimitive,\n mockData: unknown,\n): {\n type: \"action\";\n result: unknown;\n} | {\n type: \"list\";\n list: unknown[];\n hasMore: boolean;\n} | {\n type: \"object\";\n object: unknown;\n} {\n if (primitive.type === \"action\") {\n return { type: \"action\" as const, result: mockData };\n } else if (\n primitive.type === \"objectSet\" || primitive.type === \"link\"\n || primitive.type === \"aggregation\"\n ) {\n return {\n type: \"list\" as const,\n list: Array.isArray(mockData) ? mockData : [mockData],\n hasMore: false,\n };\n } else {\n return { type: \"object\" as const, object: mockData };\n }\n}\n\nexport interface MockItemProps {\n mock: MockResponse & { config: MockConfiguration };\n onToggle: () => void;\n onDelete: () => void;\n onEdit: () => void;\n}\n\nexport const MockItem: React.FC<MockItemProps> = React.memo(\n ({ mock, onToggle, onDelete, onEdit }) => {\n const info = mock.config\n ? getMockPrimitiveInfo(mock.config.primitive)\n : null;\n const label = {\n icon: info?.icon ?? (\"help\" as const),\n text: info?.title ?? \"Unknown\",\n };\n\n return (\n <div className={styles.interceptItem}>\n <div\n className={styles.interceptItemContent}\n onClick={onEdit}\n title=\"Click to view/edit configuration\"\n >\n <div className={styles.interceptItemHeader}>\n <Icon icon={label.icon} />\n <span className={styles.interceptItemTitle}>{label.text}</span>\n <span\n className={`${styles.interceptBadge} ${styles.interceptBadgeMock}`}\n >\n mock\n </span>\n <span className={styles.interceptItemMeta}>\n {mock.config?.mockType || \"static\"}\n </span>\n <span className={styles.interceptItemMeta}>\n Used: {mock.usedCount}x\n </span>\n </div>\n <div className={styles.interceptItemDetails}>\n {mock.config?.responseType === \"error\" && (\n <span className={styles.detail}>Error Response</span>\n )}\n </div>\n </div>\n\n <div className={styles.interceptItemActions}>\n <Button\n variant=\"minimal\"\n size=\"small\"\n intent={mock.enabled ? \"success\" : \"warning\"}\n icon={mock.enabled ? \"pause\" : \"play\"}\n onClick={onToggle}\n title={mock.enabled ? \"Pause mock\" : \"Resume mock\"}\n aria-label={mock.enabled ? \"Pause mock\" : \"Resume mock\"}\n />\n <Button\n variant=\"minimal\"\n size=\"small\"\n intent=\"danger\"\n icon=\"trash\"\n onClick={onDelete}\n title=\"Delete mock\"\n aria-label=\"Delete mock\"\n />\n </div>\n </div>\n );\n },\n);\n\nMockItem.displayName = \"MockItem\";\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import React from "react";
18
+ import styles from "./MonitorErrorBoundary.module.scss.js";
19
+ export class MonitorErrorBoundary extends React.Component {
20
+ constructor(props) {
21
+ super(props);
22
+ this.state = {
23
+ hasError: false,
24
+ error: null
25
+ };
26
+ }
27
+ static getDerivedStateFromError(error) {
28
+ return {
29
+ hasError: true,
30
+ error
31
+ };
32
+ }
33
+ componentDidCatch(error, errorInfo) {
34
+ // eslint-disable-next-line no-console
35
+ console.error("[MonitorErrorBoundary] Error caught:", error);
36
+ // eslint-disable-next-line no-console
37
+ console.error("[MonitorErrorBoundary] Error info:", errorInfo);
38
+ this.props.onError?.(error, errorInfo);
39
+ }
40
+ render() {
41
+ if (this.state.hasError) {
42
+ if (process.env.NODE_ENV === "development") {
43
+ return /*#__PURE__*/React.createElement("div", {
44
+ className: styles.container
45
+ }, /*#__PURE__*/React.createElement("h3", {
46
+ className: styles.title
47
+ }, "Monitor Error"), /*#__PURE__*/React.createElement("p", {
48
+ className: styles.message
49
+ }, "An error occurred in the monitoring panel:"), /*#__PURE__*/React.createElement("pre", {
50
+ className: styles.stack
51
+ }, this.state.error?.message, "\n", this.state.error?.stack), /*#__PURE__*/React.createElement("button", {
52
+ onClick: () => this.setState({
53
+ hasError: false,
54
+ error: null
55
+ }),
56
+ className: styles.retryButton
57
+ }, "Retry"));
58
+ }
59
+ return null;
60
+ }
61
+ return this.props.children;
62
+ }
63
+ }
64
+ //# sourceMappingURL=MonitorErrorBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorErrorBoundary.js","names":["React","styles","MonitorErrorBoundary","Component","constructor","props","state","hasError","error","getDerivedStateFromError","componentDidCatch","errorInfo","console","onError","render","process","env","NODE_ENV","createElement","className","container","title","message","stack","onClick","setState","retryButton","children"],"sources":["MonitorErrorBoundary.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport styles from \"./MonitorErrorBoundary.module.scss\";\n\nexport interface MonitorErrorBoundaryProps {\n children: React.ReactNode;\n onError?: (error: Error, errorInfo: React.ErrorInfo) => void;\n}\n\ninterface MonitorErrorBoundaryState {\n hasError: boolean;\n error: Error | null;\n}\n\nexport class MonitorErrorBoundary extends React.Component<\n MonitorErrorBoundaryProps,\n MonitorErrorBoundaryState\n> {\n constructor(props: MonitorErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false, error: null };\n }\n\n static getDerivedStateFromError(error: Error): MonitorErrorBoundaryState {\n return { hasError: true, error };\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void {\n // eslint-disable-next-line no-console\n console.error(\"[MonitorErrorBoundary] Error caught:\", error);\n // eslint-disable-next-line no-console\n console.error(\"[MonitorErrorBoundary] Error info:\", errorInfo);\n this.props.onError?.(error, errorInfo);\n }\n\n render(): React.ReactNode {\n if (this.state.hasError) {\n if (process.env.NODE_ENV === \"development\") {\n return (\n <div className={styles.container}>\n <h3 className={styles.title}>\n Monitor Error\n </h3>\n <p className={styles.message}>\n An error occurred in the monitoring panel:\n </p>\n <pre className={styles.stack}>\n {this.state.error?.message}\n {\"\\n\"}\n {this.state.error?.stack}\n </pre>\n <button\n onClick={() => this.setState({ hasError: false, error: null })}\n className={styles.retryButton}\n >\n Retry\n </button>\n </div>\n );\n }\n\n return null;\n }\n\n return this.props.children;\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,MAAM,MAAM,oCAAoC;AAYvD,OAAO,MAAMC,oBAAoB,SAASF,KAAK,CAACG,SAAS,CAGvD;EACAC,WAAWA,CAACC,KAAgC,EAAE;IAC5C,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;MAAEC,QAAQ,EAAE,KAAK;MAAEC,KAAK,EAAE;IAAK,CAAC;EAC/C;EAEA,OAAOC,wBAAwBA,CAACD,KAAY,EAA6B;IACvE,OAAO;MAAED,QAAQ,EAAE,IAAI;MAAEC;IAAM,CAAC;EAClC;EAEAE,iBAAiBA,CAACF,KAAY,EAAEG,SAA0B,EAAQ;IAChE;IACAC,OAAO,CAACJ,KAAK,CAAC,sCAAsC,EAAEA,KAAK,CAAC;IAC5D;IACAI,OAAO,CAACJ,KAAK,CAAC,oCAAoC,EAAEG,SAAS,CAAC;IAC9D,IAAI,CAACN,KAAK,CAACQ,OAAO,GAAGL,KAAK,EAAEG,SAAS,CAAC;EACxC;EAEAG,MAAMA,CAAA,EAAoB;IACxB,IAAI,IAAI,CAACR,KAAK,CAACC,QAAQ,EAAE;MACvB,IAAIQ,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE;QAC1C,oBACEjB,KAAA,CAAAkB,aAAA;UAAKC,SAAS,EAAElB,MAAM,CAACmB;QAAU,gBAC/BpB,KAAA,CAAAkB,aAAA;UAAIC,SAAS,EAAElB,MAAM,CAACoB;QAAM,GAAC,eAEzB,CAAC,eACLrB,KAAA,CAAAkB,aAAA;UAAGC,SAAS,EAAElB,MAAM,CAACqB;QAAQ,GAAC,4CAE3B,CAAC,eACJtB,KAAA,CAAAkB,aAAA;UAAKC,SAAS,EAAElB,MAAM,CAACsB;QAAM,GAC1B,IAAI,CAACjB,KAAK,CAACE,KAAK,EAAEc,OAAO,EACzB,IAAI,EACJ,IAAI,CAAChB,KAAK,CAACE,KAAK,EAAEe,KAChB,CAAC,eACNvB,KAAA,CAAAkB,aAAA;UACEM,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACC,QAAQ,CAAC;YAAElB,QAAQ,EAAE,KAAK;YAAEC,KAAK,EAAE;UAAK,CAAC,CAAE;UAC/DW,SAAS,EAAElB,MAAM,CAACyB;QAAY,GAC/B,OAEO,CACL,CAAC;MAEV;MAEA,OAAO,IAAI;IACb;IAEA,OAAO,IAAI,CAACrB,KAAK,CAACsB,QAAQ;EAC5B;AACF","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ // AUTO-GENERATED by scripts/build-css.mjs. Do not edit by hand.
2
+ const styles = {
3
+ "container": "MonitorErrorBoundary-module__container___5tzAcfsn",
4
+ "title": "MonitorErrorBoundary-module__title___goKqDL2v",
5
+ "message": "MonitorErrorBoundary-module__message___QOZveJPc",
6
+ "stack": "MonitorErrorBoundary-module__stack___RhJkOsV8",
7
+ "retryButton": "MonitorErrorBoundary-module__retryButton___hRRy-yEG"
8
+ };
9
+ export default styles;