@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,473 @@
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
+ export class MockDataGenerator {
18
+ static generatePayload(primitive) {
19
+ if (primitive.type !== "action") {
20
+ return "{}";
21
+ }
22
+ const actionName = primitive.data.name;
23
+ let parameters;
24
+ if (actionName.toLowerCase().includes("create")) {
25
+ const objectType = this.extractObjectTypeFromAction(actionName);
26
+ parameters = this.generateCreateParameters(objectType);
27
+ } else if (actionName.toLowerCase().includes("update") || actionName.toLowerCase().includes("modify")) {
28
+ const objectType = this.extractObjectTypeFromAction(actionName);
29
+ parameters = this.generateUpdateParameters(objectType);
30
+ } else if (actionName.toLowerCase().includes("delete")) {
31
+ const objectType = this.extractObjectTypeFromAction(actionName);
32
+ parameters = this.generateDeleteParameters(objectType);
33
+ } else {
34
+ parameters = {
35
+ id: crypto.randomUUID(),
36
+ data: {
37
+ field1: "value1",
38
+ field2: 42
39
+ }
40
+ };
41
+ }
42
+ return JSON.stringify({
43
+ parameters,
44
+ options: {
45
+ mode: "VALIDATE_AND_EXECUTE",
46
+ returnEdits: "ALL_V2_WITH_DELETIONS"
47
+ }
48
+ }, null, 2);
49
+ }
50
+ static generateStaticData(primitive) {
51
+ switch (primitive.type) {
52
+ case "action":
53
+ return this.generateActionMockData(primitive.data);
54
+ case "object":
55
+ return this.generateObjectMockData(primitive.data);
56
+ case "objectSet":
57
+ return this.generateObjectSetMockData(primitive.data);
58
+ case "link":
59
+ return this.generateLinksMockData(primitive.data);
60
+ case "query":
61
+ return this.generateQueryMockData(primitive.data);
62
+ case "aggregation":
63
+ return "{\n \"data\": {},\n \"status\": \"SUCCESS\"\n}";
64
+ }
65
+ }
66
+ static generateFunctionCode(primitive) {
67
+ switch (primitive.type) {
68
+ case "action":
69
+ return this.generateActionFunctionCode(primitive.data);
70
+ case "object":
71
+ return this.generateObjectFunctionCode(primitive.data);
72
+ case "objectSet":
73
+ return this.generateObjectSetFunctionCode(primitive.data);
74
+ case "link":
75
+ return this.generateLinksFunctionCode(primitive.data);
76
+ case "query":
77
+ return this.generateQueryFunctionCode(primitive.data);
78
+ case "aggregation":
79
+ return "function generateMock(params) {\n return {\n data: {},\n status: \"SUCCESS\"\n };\n}";
80
+ }
81
+ }
82
+ static generateActionMockData(actionData) {
83
+ const actionName = actionData.name;
84
+ const actionId = crypto.randomUUID();
85
+ let objectType;
86
+ if (actionName === "createTodo") {
87
+ objectType = "TodoLike";
88
+ } else {
89
+ objectType = this.extractObjectTypeFromAction(actionName);
90
+ }
91
+ const mockData = {
92
+ type: "edits",
93
+ addedObjects: [{
94
+ primaryKey: actionId,
95
+ objectType: objectType
96
+ }],
97
+ modifiedObjects: [],
98
+ deletedObjects: [],
99
+ addedLinks: [],
100
+ deletedLinks: [],
101
+ deletedObjectsCount: 0,
102
+ deletedLinksCount: 0,
103
+ editedObjectTypes: [objectType]
104
+ };
105
+ return JSON.stringify(mockData, null, 2);
106
+ }
107
+ static generateObjectMockData(objectData) {
108
+ const objectType = objectData.type;
109
+ const primaryKey = objectData.primaryKey || crypto.randomUUID();
110
+ const mockData = {
111
+ id: primaryKey,
112
+ __apiName: objectType,
113
+ __primaryKey: primaryKey,
114
+ __title: `Mock ${objectType}`,
115
+ ...this.generateFieldsForObjectType(objectType)
116
+ };
117
+ return JSON.stringify(mockData, null, 2);
118
+ }
119
+ static generateObjectSetMockData(objectSetData) {
120
+ const objectType = objectSetData.type;
121
+ const pageSize = objectSetData.pageSize || 10;
122
+ const objects = Array.from({
123
+ length: Math.min(pageSize, 3)
124
+ }, (_, index) => {
125
+ const id = crypto.randomUUID();
126
+ return {
127
+ id,
128
+ __apiName: objectType,
129
+ __primaryKey: id,
130
+ __title: `${objectType} ${index + 1}`,
131
+ ...this.generateFieldsForObjectType(objectType)
132
+ };
133
+ });
134
+ const mockData = {
135
+ data: objects,
136
+ totalCount: String(objects.length)
137
+ };
138
+ return JSON.stringify(mockData, null, 2);
139
+ }
140
+ static generateLinksMockData(linkData) {
141
+ const linkName = linkData.linkName;
142
+ const sourceType = linkData.sourceType;
143
+ const linkedType = this.inferLinkedTypeFromLinkName(linkName, sourceType);
144
+ const linkedObjects = Array.from({
145
+ length: 2
146
+ }, (_, index) => {
147
+ const id = crypto.randomUUID();
148
+ return {
149
+ $apiName: linkedType,
150
+ $primaryKey: id,
151
+ $objectType: linkedType,
152
+ $title: `${linkedType} ${index + 1}`,
153
+ ...this.generateFieldsForObjectType(linkedType)
154
+ };
155
+ });
156
+ const mockData = {
157
+ data: linkedObjects,
158
+ totalCount: String(linkedObjects.length)
159
+ };
160
+ return JSON.stringify(mockData, null, 2);
161
+ }
162
+ static generateQueryMockData(queryData) {
163
+ const mockData = {
164
+ data: [{
165
+ id: crypto.randomUUID(),
166
+ __apiName: "QueryResult",
167
+ __primaryKey: crypto.randomUUID(),
168
+ __title: "Query Result 1",
169
+ customField1: "value1",
170
+ customField2: 42,
171
+ customField3: true
172
+ }],
173
+ totalCount: "1",
174
+ metadata: {
175
+ queryType: queryData.hookType || "advanced",
176
+ signature: queryData.signature || "custom query"
177
+ }
178
+ };
179
+ return JSON.stringify(mockData, null, 2);
180
+ }
181
+ static generateActionFunctionCode(actionData) {
182
+ const actionName = actionData.name;
183
+ return `function generateMock(params) {
184
+ // Access action parameters
185
+ console.log("Action: ${actionName}", params);
186
+
187
+ // Generate dynamic response based on parameters
188
+ const primaryKey = generateId();
189
+
190
+ return {
191
+ validation: {
192
+ result: "VALID",
193
+ submissionCriteria: [],
194
+ parameters: params
195
+ },
196
+ edits: {
197
+ type: "edits",
198
+ edits: [
199
+ {
200
+ type: "addObject",
201
+ primaryKey: primaryKey,
202
+ objectType: "${this.extractObjectTypeFromAction(actionName)}"
203
+ }
204
+ ],
205
+ addedObjectCount: 1,
206
+ modifiedObjectsCount: 0,
207
+ deletedObjectsCount: 0,
208
+ addedLinksCount: 0,
209
+ deletedLinksCount: 0
210
+ }
211
+ };
212
+ }
213
+
214
+ function generateId() {
215
+ return crypto.randomUUID();
216
+ }`;
217
+ }
218
+ static generateObjectFunctionCode(objectData) {
219
+ const objectType = objectData.type;
220
+ return `function generateMock(params) {
221
+ // Access object primary key
222
+ const primaryKey = params.primaryKey || generateId();
223
+
224
+ return {
225
+ id: primaryKey,
226
+ __apiName: "${objectType}",
227
+ __primaryKey: primaryKey,
228
+ __title: \`Mock ${objectType} \${primaryKey}\`,
229
+ // Add dynamic fields based on context
230
+ createdAt: new Date().toISOString(),
231
+ modifiedAt: new Date().toISOString(),
232
+ ${this.generateDynamicFieldsForObjectType(objectType)}
233
+ };
234
+ }
235
+
236
+ function generateId() {
237
+ return crypto.randomUUID();
238
+ }`;
239
+ }
240
+ static generateObjectSetFunctionCode(objectSetData) {
241
+ const objectType = objectSetData.type;
242
+ return `function generateMock(params) {
243
+ // Access query parameters
244
+ const pageSize = params.pageSize || 10;
245
+ const where = params.where || {};
246
+
247
+ // Generate dynamic list based on parameters
248
+ const objects = Array.from({ length: pageSize }, (_, index) => {
249
+ const id = generateId();
250
+ return {
251
+ id,
252
+ __apiName: "${objectType}",
253
+ __primaryKey: id,
254
+ __title: \`${objectType} \${index + 1}\`,
255
+ // Add fields based on where clause
256
+ ${this.generateDynamicFieldsForObjectType(objectType)}
257
+ };
258
+ });
259
+
260
+ return {
261
+ data: objects,
262
+ totalCount: String(objects.length)
263
+ };
264
+ }
265
+
266
+ function generateId() {
267
+ return crypto.randomUUID();
268
+ }`;
269
+ }
270
+ static generateLinksFunctionCode(linkData) {
271
+ const linkName = linkData.linkName;
272
+ const linkedType = this.inferLinkedTypeFromLinkName(linkName, linkData.sourceType);
273
+ return `function generateMock(params) {
274
+ // Access link traversal context
275
+ const sourceObject = params.sourceObject;
276
+ const linkName = "${linkName}";
277
+
278
+ // Generate linked objects based on source
279
+ const linkedObjects = Array.from({ length: 3 }, (_, index) => {
280
+ const id = generateId();
281
+ return {
282
+ $apiName: "${linkedType}",
283
+ $primaryKey: id,
284
+ $objectType: "${linkedType}",
285
+ $title: \`${linkedType} \${index + 1}\`,
286
+ // Add relationship fields
287
+ sourceId: sourceObject?.$primaryKey,
288
+ ${this.generateDynamicFieldsForObjectType(linkedType)}
289
+ };
290
+ });
291
+
292
+ return {
293
+ data: linkedObjects,
294
+ totalCount: String(linkedObjects.length)
295
+ };
296
+ }
297
+
298
+ function generateId() {
299
+ return crypto.randomUUID();
300
+ }`;
301
+ }
302
+ static generateQueryFunctionCode(queryData) {
303
+ return `function generateMock(params) {
304
+ // Access advanced query parameters
305
+ console.log("Query params:", params);
306
+
307
+ // Generate dynamic results based on query
308
+ const results = Array.from({ length: 5 }, (_, index) => ({
309
+ id: generateId(),
310
+ __apiName: "QueryResult",
311
+ __primaryKey: generateId(),
312
+ __title: \`Result \${index + 1}\`,
313
+ // Add computed fields
314
+ score: Math.random() * 100,
315
+ relevance: Math.random(),
316
+ timestamp: new Date().toISOString()
317
+ }));
318
+
319
+ return {
320
+ data: results,
321
+ totalCount: String(results.length),
322
+ metadata: {
323
+ queryType: "${queryData.hookType || "advanced"}",
324
+ executionTime: Math.random() * 1000
325
+ }
326
+ };
327
+ }
328
+
329
+ function generateId() {
330
+ return crypto.randomUUID();
331
+ }`;
332
+ }
333
+ static generateFieldsForObjectType(objectType) {
334
+ if (objectType === "Todo") {
335
+ return {
336
+ title: "Sample Todo",
337
+ isComplete: false,
338
+ description: "This is a mock todo item",
339
+ createdAt: new Date().toISOString()
340
+ };
341
+ }
342
+ if (objectType === "Employee") {
343
+ return {
344
+ employeeId: Math.floor(Math.random() * 10000),
345
+ fullName: "John Doe",
346
+ email: "john.doe@example.com",
347
+ department: "Engineering"
348
+ };
349
+ }
350
+ if (objectType === "Office") {
351
+ return {
352
+ officeId: `OFFICE-${Math.floor(Math.random() * 100)}`,
353
+ name: "Main Office",
354
+ location: "New York",
355
+ capacity: 100
356
+ };
357
+ }
358
+ return {
359
+ name: `Sample ${objectType}`,
360
+ status: "ACTIVE",
361
+ createdAt: new Date().toISOString(),
362
+ modifiedAt: new Date().toISOString()
363
+ };
364
+ }
365
+ static generateDynamicFieldsForObjectType(objectType) {
366
+ if (objectType === "Todo") {
367
+ return `title: \`Todo Item \${index || ""}\`,
368
+ isComplete: Math.random() > 0.5,
369
+ description: "Generated todo description",
370
+ createdAt: new Date().toISOString()`;
371
+ }
372
+ if (objectType === "Employee") {
373
+ return `employeeId: Math.floor(Math.random() * 10000),
374
+ fullName: \`Employee \${index || ""}\`,
375
+ email: \`employee\${index || ""}@example.com\`,
376
+ department: ["Engineering", "Sales", "Marketing"][Math.floor(Math.random() * 3)]`;
377
+ }
378
+ return `name: \`${objectType} \${index || ""}\`,
379
+ status: "ACTIVE",
380
+ createdAt: new Date().toISOString()`;
381
+ }
382
+ static extractObjectTypeFromAction(actionName) {
383
+ const patterns = [/create[_-]?(\w+)/i, /add[_-]?(\w+)/i, /new[_-]?(\w+)/i, /(\w+)[_-]?create/i, /(\w+)[_-]?add/i];
384
+ for (const pattern of patterns) {
385
+ const match = actionName.match(pattern);
386
+ if (match && match[1]) {
387
+ return match[1].charAt(0).toUpperCase() + match[1].slice(1).toLowerCase();
388
+ }
389
+ }
390
+ return "Object";
391
+ }
392
+ static inferLinkedTypeFromLinkName(linkName, sourceType) {
393
+ if (linkName === "occupants" || linkName === "employees") {
394
+ return "Employee";
395
+ }
396
+ if (linkName === "offices" || linkName === "locations") {
397
+ return "Office";
398
+ }
399
+ if (linkName === "todos" || linkName === "tasks") {
400
+ return "Todo";
401
+ }
402
+ if (linkName === "children" || linkName === "parents") {
403
+ return sourceType;
404
+ }
405
+ let singular = linkName;
406
+ if (linkName.endsWith("ies")) {
407
+ singular = linkName.slice(0, -3) + "y";
408
+ } else if (linkName.endsWith("es")) {
409
+ singular = linkName.slice(0, -2);
410
+ } else if (linkName.endsWith("s")) {
411
+ singular = linkName.slice(0, -1);
412
+ }
413
+ return singular.charAt(0).toUpperCase() + singular.slice(1);
414
+ }
415
+ static generateCreateParameters(objectType) {
416
+ if (objectType === "Todo") {
417
+ return {
418
+ Todo: "New Todo Item",
419
+ is_complete: false,
420
+ location: "0,0"
421
+ };
422
+ }
423
+ if (objectType === "Employee") {
424
+ return {
425
+ fullName: "John Doe",
426
+ email: "john.doe@example.com",
427
+ employeeId: Math.floor(Math.random() * 10000),
428
+ department: "Engineering"
429
+ };
430
+ }
431
+ return {
432
+ name: `New ${objectType}`,
433
+ description: `Description for ${objectType}`,
434
+ status: "ACTIVE"
435
+ };
436
+ }
437
+ static generateUpdateParameters(objectType) {
438
+ if (objectType === "Todo") {
439
+ return {
440
+ todo: {
441
+ $primaryKey: crypto.randomUUID()
442
+ },
443
+ is_complete: true,
444
+ Todo: "Updated Todo"
445
+ };
446
+ }
447
+ if (objectType === "Employee") {
448
+ return {
449
+ employee: {
450
+ $primaryKey: crypto.randomUUID()
451
+ },
452
+ department: "Marketing",
453
+ email: "updated.email@example.com"
454
+ };
455
+ }
456
+ return {
457
+ object: {
458
+ $primaryKey: crypto.randomUUID()
459
+ },
460
+ name: `Updated ${objectType}`,
461
+ status: "MODIFIED"
462
+ };
463
+ }
464
+ static generateDeleteParameters() {
465
+ return {
466
+ object: {
467
+ $primaryKey: crypto.randomUUID()
468
+ },
469
+ reason: "No longer needed"
470
+ };
471
+ }
472
+ }
473
+ //# sourceMappingURL=MockDataGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockDataGenerator.js","names":["MockDataGenerator","generatePayload","primitive","type","actionName","data","name","parameters","toLowerCase","includes","objectType","extractObjectTypeFromAction","generateCreateParameters","generateUpdateParameters","generateDeleteParameters","id","crypto","randomUUID","field1","field2","JSON","stringify","options","mode","returnEdits","generateStaticData","generateActionMockData","generateObjectMockData","generateObjectSetMockData","generateLinksMockData","generateQueryMockData","generateFunctionCode","generateActionFunctionCode","generateObjectFunctionCode","generateObjectSetFunctionCode","generateLinksFunctionCode","generateQueryFunctionCode","actionData","actionId","mockData","addedObjects","primaryKey","modifiedObjects","deletedObjects","addedLinks","deletedLinks","deletedObjectsCount","deletedLinksCount","editedObjectTypes","objectData","__apiName","__primaryKey","__title","generateFieldsForObjectType","objectSetData","pageSize","objects","Array","from","length","Math","min","_","index","totalCount","String","linkData","linkName","sourceType","linkedType","inferLinkedTypeFromLinkName","linkedObjects","$apiName","$primaryKey","$objectType","$title","queryData","customField1","customField2","customField3","metadata","queryType","hookType","signature","generateDynamicFieldsForObjectType","title","isComplete","description","createdAt","Date","toISOString","employeeId","floor","random","fullName","email","department","officeId","location","capacity","status","modifiedAt","patterns","pattern","match","charAt","toUpperCase","slice","singular","endsWith","Todo","is_complete","todo","employee","object","reason"],"sources":["MockDataGenerator.ts"],"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 type { SelectedPrimitive } from \"../components/PrimitiveSelectionPanel.js\";\nimport type {\n DiscoveredAction,\n DiscoveredLink,\n DiscoveredObject,\n DiscoveredObjectSet,\n DiscoveredQuery,\n} from \"./ComponentPrimitiveDiscovery.js\";\n\nexport class MockDataGenerator {\n static generatePayload(primitive: SelectedPrimitive): string {\n if (primitive.type !== \"action\") {\n return \"{}\";\n }\n\n const actionName = primitive.data.name;\n\n let parameters: Record<string, unknown>;\n\n if (actionName.toLowerCase().includes(\"create\")) {\n const objectType = this.extractObjectTypeFromAction(actionName);\n parameters = this.generateCreateParameters(objectType);\n } else if (\n actionName.toLowerCase().includes(\"update\")\n || actionName.toLowerCase().includes(\"modify\")\n ) {\n const objectType = this.extractObjectTypeFromAction(actionName);\n parameters = this.generateUpdateParameters(objectType);\n } else if (actionName.toLowerCase().includes(\"delete\")) {\n const objectType = this.extractObjectTypeFromAction(actionName);\n parameters = this.generateDeleteParameters(objectType);\n } else {\n parameters = {\n id: crypto.randomUUID(),\n data: {\n field1: \"value1\",\n field2: 42,\n },\n };\n }\n\n return JSON.stringify(\n {\n parameters,\n options: {\n mode: \"VALIDATE_AND_EXECUTE\",\n returnEdits: \"ALL_V2_WITH_DELETIONS\",\n },\n },\n null,\n 2,\n );\n }\n\n static generateStaticData(primitive: SelectedPrimitive): string {\n switch (primitive.type) {\n case \"action\":\n return this.generateActionMockData(primitive.data);\n case \"object\":\n return this.generateObjectMockData(primitive.data);\n case \"objectSet\":\n return this.generateObjectSetMockData(primitive.data);\n case \"link\":\n return this.generateLinksMockData(primitive.data);\n case \"query\":\n return this.generateQueryMockData(primitive.data);\n case \"aggregation\":\n return \"{\\n \\\"data\\\": {},\\n \\\"status\\\": \\\"SUCCESS\\\"\\n}\";\n }\n }\n\n static generateFunctionCode(primitive: SelectedPrimitive): string {\n switch (primitive.type) {\n case \"action\":\n return this.generateActionFunctionCode(primitive.data);\n case \"object\":\n return this.generateObjectFunctionCode(primitive.data);\n case \"objectSet\":\n return this.generateObjectSetFunctionCode(primitive.data);\n case \"link\":\n return this.generateLinksFunctionCode(primitive.data);\n case \"query\":\n return this.generateQueryFunctionCode(primitive.data);\n case \"aggregation\":\n return \"function generateMock(params) {\\n return {\\n data: {},\\n status: \\\"SUCCESS\\\"\\n };\\n}\";\n }\n }\n\n private static generateActionMockData(actionData: DiscoveredAction): string {\n const actionName = actionData.name;\n const actionId = crypto.randomUUID();\n\n let objectType: string;\n\n if (actionName === \"createTodo\") {\n objectType = \"TodoLike\";\n } else {\n objectType = this.extractObjectTypeFromAction(actionName);\n }\n\n const mockData = {\n type: \"edits\",\n addedObjects: [\n {\n primaryKey: actionId,\n objectType: objectType,\n },\n ],\n modifiedObjects: [],\n deletedObjects: [],\n addedLinks: [],\n deletedLinks: [],\n deletedObjectsCount: 0,\n deletedLinksCount: 0,\n editedObjectTypes: [objectType],\n };\n\n return JSON.stringify(mockData, null, 2);\n }\n\n private static generateObjectMockData(objectData: DiscoveredObject): string {\n const objectType = objectData.type;\n const primaryKey = objectData.primaryKey || crypto.randomUUID();\n\n const mockData = {\n id: primaryKey,\n __apiName: objectType,\n __primaryKey: primaryKey,\n __title: `Mock ${objectType}`,\n ...this.generateFieldsForObjectType(objectType),\n };\n\n return JSON.stringify(mockData, null, 2);\n }\n\n private static generateObjectSetMockData(\n objectSetData: DiscoveredObjectSet,\n ): string {\n const objectType = objectSetData.type;\n const pageSize = objectSetData.pageSize || 10;\n\n const objects = Array.from(\n { length: Math.min(pageSize, 3) },\n (_, index) => {\n const id = crypto.randomUUID();\n return {\n id,\n __apiName: objectType,\n __primaryKey: id,\n __title: `${objectType} ${index + 1}`,\n ...this.generateFieldsForObjectType(objectType),\n };\n },\n );\n\n const mockData = {\n data: objects,\n totalCount: String(objects.length),\n };\n\n return JSON.stringify(mockData, null, 2);\n }\n\n private static generateLinksMockData(linkData: DiscoveredLink): string {\n const linkName = linkData.linkName;\n const sourceType = linkData.sourceType;\n\n const linkedType = this.inferLinkedTypeFromLinkName(linkName, sourceType);\n\n const linkedObjects = Array.from({ length: 2 }, (_, index) => {\n const id = crypto.randomUUID();\n return {\n $apiName: linkedType,\n $primaryKey: id,\n $objectType: linkedType,\n $title: `${linkedType} ${index + 1}`,\n ...this.generateFieldsForObjectType(linkedType),\n };\n });\n\n const mockData = {\n data: linkedObjects,\n totalCount: String(linkedObjects.length),\n };\n\n return JSON.stringify(mockData, null, 2);\n }\n\n private static generateQueryMockData(queryData: DiscoveredQuery): string {\n const mockData = {\n data: [\n {\n id: crypto.randomUUID(),\n __apiName: \"QueryResult\",\n __primaryKey: crypto.randomUUID(),\n __title: \"Query Result 1\",\n customField1: \"value1\",\n customField2: 42,\n customField3: true,\n },\n ],\n totalCount: \"1\",\n metadata: {\n queryType: queryData.hookType || \"advanced\",\n signature: queryData.signature || \"custom query\",\n },\n };\n\n return JSON.stringify(mockData, null, 2);\n }\n\n private static generateActionFunctionCode(\n actionData: DiscoveredAction,\n ): string {\n const actionName = actionData.name;\n\n return `function generateMock(params) {\n // Access action parameters\n console.log(\"Action: ${actionName}\", params);\n\n // Generate dynamic response based on parameters\n const primaryKey = generateId();\n\n return {\n validation: {\n result: \"VALID\",\n submissionCriteria: [],\n parameters: params\n },\n edits: {\n type: \"edits\",\n edits: [\n {\n type: \"addObject\",\n primaryKey: primaryKey,\n objectType: \"${this.extractObjectTypeFromAction(actionName)}\"\n }\n ],\n addedObjectCount: 1,\n modifiedObjectsCount: 0,\n deletedObjectsCount: 0,\n addedLinksCount: 0,\n deletedLinksCount: 0\n }\n };\n}\n\nfunction generateId() {\n return crypto.randomUUID();\n}`;\n }\n\n private static generateObjectFunctionCode(\n objectData: DiscoveredObject,\n ): string {\n const objectType = objectData.type;\n\n return `function generateMock(params) {\n // Access object primary key\n const primaryKey = params.primaryKey || generateId();\n\n return {\n id: primaryKey,\n __apiName: \"${objectType}\",\n __primaryKey: primaryKey,\n __title: \\`Mock ${objectType} \\${primaryKey}\\`,\n // Add dynamic fields based on context\n createdAt: new Date().toISOString(),\n modifiedAt: new Date().toISOString(),\n ${this.generateDynamicFieldsForObjectType(objectType)}\n };\n}\n\nfunction generateId() {\n return crypto.randomUUID();\n}`;\n }\n\n private static generateObjectSetFunctionCode(\n objectSetData: DiscoveredObjectSet,\n ): string {\n const objectType = objectSetData.type;\n\n return `function generateMock(params) {\n // Access query parameters\n const pageSize = params.pageSize || 10;\n const where = params.where || {};\n\n // Generate dynamic list based on parameters\n const objects = Array.from({ length: pageSize }, (_, index) => {\n const id = generateId();\n return {\n id,\n __apiName: \"${objectType}\",\n __primaryKey: id,\n __title: \\`${objectType} \\${index + 1}\\`,\n // Add fields based on where clause\n ${this.generateDynamicFieldsForObjectType(objectType)}\n };\n });\n\n return {\n data: objects,\n totalCount: String(objects.length)\n };\n}\n\nfunction generateId() {\n return crypto.randomUUID();\n}`;\n }\n\n private static generateLinksFunctionCode(linkData: DiscoveredLink): string {\n const linkName = linkData.linkName;\n const linkedType = this.inferLinkedTypeFromLinkName(\n linkName,\n linkData.sourceType,\n );\n\n return `function generateMock(params) {\n // Access link traversal context\n const sourceObject = params.sourceObject;\n const linkName = \"${linkName}\";\n\n // Generate linked objects based on source\n const linkedObjects = Array.from({ length: 3 }, (_, index) => {\n const id = generateId();\n return {\n $apiName: \"${linkedType}\",\n $primaryKey: id,\n $objectType: \"${linkedType}\",\n $title: \\`${linkedType} \\${index + 1}\\`,\n // Add relationship fields\n sourceId: sourceObject?.$primaryKey,\n ${this.generateDynamicFieldsForObjectType(linkedType)}\n };\n });\n\n return {\n data: linkedObjects,\n totalCount: String(linkedObjects.length)\n };\n}\n\nfunction generateId() {\n return crypto.randomUUID();\n}`;\n }\n\n private static generateQueryFunctionCode(queryData: DiscoveredQuery): string {\n return `function generateMock(params) {\n // Access advanced query parameters\n console.log(\"Query params:\", params);\n\n // Generate dynamic results based on query\n const results = Array.from({ length: 5 }, (_, index) => ({\n id: generateId(),\n __apiName: \"QueryResult\",\n __primaryKey: generateId(),\n __title: \\`Result \\${index + 1}\\`,\n // Add computed fields\n score: Math.random() * 100,\n relevance: Math.random(),\n timestamp: new Date().toISOString()\n }));\n\n return {\n data: results,\n totalCount: String(results.length),\n metadata: {\n queryType: \"${queryData.hookType || \"advanced\"}\",\n executionTime: Math.random() * 1000\n }\n };\n}\n\nfunction generateId() {\n return crypto.randomUUID();\n}`;\n }\n\n private static generateFieldsForObjectType(\n objectType: string,\n ): Record<string, unknown> {\n if (objectType === \"Todo\") {\n return {\n title: \"Sample Todo\",\n isComplete: false,\n description: \"This is a mock todo item\",\n createdAt: new Date().toISOString(),\n };\n }\n\n if (objectType === \"Employee\") {\n return {\n employeeId: Math.floor(Math.random() * 10000),\n fullName: \"John Doe\",\n email: \"john.doe@example.com\",\n department: \"Engineering\",\n };\n }\n\n if (objectType === \"Office\") {\n return {\n officeId: `OFFICE-${Math.floor(Math.random() * 100)}`,\n name: \"Main Office\",\n location: \"New York\",\n capacity: 100,\n };\n }\n\n return {\n name: `Sample ${objectType}`,\n status: \"ACTIVE\",\n createdAt: new Date().toISOString(),\n modifiedAt: new Date().toISOString(),\n };\n }\n\n private static generateDynamicFieldsForObjectType(\n objectType: string,\n ): string {\n if (objectType === \"Todo\") {\n return `title: \\`Todo Item \\${index || \"\"}\\`,\n isComplete: Math.random() > 0.5,\n description: \"Generated todo description\",\n createdAt: new Date().toISOString()`;\n }\n\n if (objectType === \"Employee\") {\n return `employeeId: Math.floor(Math.random() * 10000),\n fullName: \\`Employee \\${index || \"\"}\\`,\n email: \\`employee\\${index || \"\"}@example.com\\`,\n department: [\"Engineering\", \"Sales\", \"Marketing\"][Math.floor(Math.random() * 3)]`;\n }\n\n return `name: \\`${objectType} \\${index || \"\"}\\`,\n status: \"ACTIVE\",\n createdAt: new Date().toISOString()`;\n }\n\n private static extractObjectTypeFromAction(actionName: string): string {\n const patterns = [\n /create[_-]?(\\w+)/i,\n /add[_-]?(\\w+)/i,\n /new[_-]?(\\w+)/i,\n /(\\w+)[_-]?create/i,\n /(\\w+)[_-]?add/i,\n ];\n\n for (const pattern of patterns) {\n const match = actionName.match(pattern);\n if (match && match[1]) {\n return match[1].charAt(0).toUpperCase()\n + match[1].slice(1).toLowerCase();\n }\n }\n\n return \"Object\";\n }\n\n private static inferLinkedTypeFromLinkName(\n linkName: string,\n sourceType: string,\n ): string {\n if (linkName === \"occupants\" || linkName === \"employees\") {\n return \"Employee\";\n }\n if (linkName === \"offices\" || linkName === \"locations\") {\n return \"Office\";\n }\n if (linkName === \"todos\" || linkName === \"tasks\") {\n return \"Todo\";\n }\n if (linkName === \"children\" || linkName === \"parents\") {\n return sourceType;\n }\n\n let singular = linkName;\n if (linkName.endsWith(\"ies\")) {\n singular = linkName.slice(0, -3) + \"y\";\n } else if (linkName.endsWith(\"es\")) {\n singular = linkName.slice(0, -2);\n } else if (linkName.endsWith(\"s\")) {\n singular = linkName.slice(0, -1);\n }\n\n return singular.charAt(0).toUpperCase() + singular.slice(1);\n }\n\n private static generateCreateParameters(\n objectType: string,\n ): Record<string, unknown> {\n if (objectType === \"Todo\") {\n return {\n Todo: \"New Todo Item\",\n is_complete: false,\n location: \"0,0\",\n };\n }\n\n if (objectType === \"Employee\") {\n return {\n fullName: \"John Doe\",\n email: \"john.doe@example.com\",\n employeeId: Math.floor(Math.random() * 10000),\n department: \"Engineering\",\n };\n }\n\n return {\n name: `New ${objectType}`,\n description: `Description for ${objectType}`,\n status: \"ACTIVE\",\n };\n }\n\n private static generateUpdateParameters(\n objectType: string,\n ): Record<string, unknown> {\n if (objectType === \"Todo\") {\n return {\n todo: { $primaryKey: crypto.randomUUID() },\n is_complete: true,\n Todo: \"Updated Todo\",\n };\n }\n\n if (objectType === \"Employee\") {\n return {\n employee: { $primaryKey: crypto.randomUUID() },\n department: \"Marketing\",\n email: \"updated.email@example.com\",\n };\n }\n\n return {\n object: { $primaryKey: crypto.randomUUID() },\n name: `Updated ${objectType}`,\n status: \"MODIFIED\",\n };\n }\n\n private static generateDeleteParameters(\n _objectType: string,\n ): Record<string, unknown> {\n return {\n object: { $primaryKey: crypto.randomUUID() },\n reason: \"No longer needed\",\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}