@almadar/shell-web 0.0.0-stage → 0.1.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 (274) hide show
  1. package/bundling.d.mts +18 -0
  2. package/bundling.mjs +28 -0
  3. package/dist/ArbitraryClassCompiler-Mzabq-UB.d.ts +100 -0
  4. package/dist/AvlGlyph-JKJOAH23.js +6 -0
  5. package/dist/AvlStateMachine-PI4YGREK.js +8 -0
  6. package/dist/AvlTransitionDetail-ZH7V24UG.js +12 -0
  7. package/dist/AvlTransitionExplainer-ZSRT7L6Y.js +13 -0
  8. package/dist/BehaviorValueFrame-6RUJXT4A.js +29 -0
  9. package/dist/BehaviorValueFrame-SSEMEBTG.css +1756 -0
  10. package/dist/BehaviorView-RFEE5J6E.js +10 -0
  11. package/dist/Canvas3DHost-_Y-5uLM_.d.ts +552 -0
  12. package/dist/EventBusProvider-CVwjkV_2.d.ts +284 -0
  13. package/dist/FileTree-BCFnBEuQ.d.ts +254 -0
  14. package/dist/FlowCanvas-3JRMNJLV.css +1756 -0
  15. package/dist/FlowCanvas-STDC4OWK.js +27 -0
  16. package/dist/GameAudioProvider-Cm9BnvmP.d.ts +93 -0
  17. package/dist/KaTeX_AMS-Regular-CYEKBG2K.woff +0 -0
  18. package/dist/KaTeX_AMS-Regular-JKX5W2C4.ttf +0 -0
  19. package/dist/KaTeX_AMS-Regular-U6PRYMIZ.woff2 +0 -0
  20. package/dist/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2 +0 -0
  21. package/dist/KaTeX_Caligraphic-Bold-WZ3QSGD3.woff +0 -0
  22. package/dist/KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf +0 -0
  23. package/dist/KaTeX_Caligraphic-Regular-3LKEU76G.woff +0 -0
  24. package/dist/KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf +0 -0
  25. package/dist/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2 +0 -0
  26. package/dist/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2 +0 -0
  27. package/dist/KaTeX_Fraktur-Bold-T4SWXBMT.woff +0 -0
  28. package/dist/KaTeX_Fraktur-Bold-WGHVTYOR.ttf +0 -0
  29. package/dist/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2 +0 -0
  30. package/dist/KaTeX_Fraktur-Regular-5U4OPH2X.ttf +0 -0
  31. package/dist/KaTeX_Fraktur-Regular-PQMHCIK6.woff +0 -0
  32. package/dist/KaTeX_Main-Bold-2GA4IZIN.woff +0 -0
  33. package/dist/KaTeX_Main-Bold-W5FBVCZM.ttf +0 -0
  34. package/dist/KaTeX_Main-Bold-YP5VVQRP.woff2 +0 -0
  35. package/dist/KaTeX_Main-BoldItalic-4P4C7HJH.woff +0 -0
  36. package/dist/KaTeX_Main-BoldItalic-N4V3DX7S.woff2 +0 -0
  37. package/dist/KaTeX_Main-BoldItalic-ODMLBJJQ.ttf +0 -0
  38. package/dist/KaTeX_Main-Italic-I43T2HSR.ttf +0 -0
  39. package/dist/KaTeX_Main-Italic-RELBIK7M.woff2 +0 -0
  40. package/dist/KaTeX_Main-Italic-SASNQFN2.woff +0 -0
  41. package/dist/KaTeX_Main-Regular-ARRPAO67.woff2 +0 -0
  42. package/dist/KaTeX_Main-Regular-P5I74A2A.woff +0 -0
  43. package/dist/KaTeX_Main-Regular-W74P5G27.ttf +0 -0
  44. package/dist/KaTeX_Math-BoldItalic-6EBV3DK5.woff +0 -0
  45. package/dist/KaTeX_Math-BoldItalic-K4WTGH3J.woff2 +0 -0
  46. package/dist/KaTeX_Math-BoldItalic-VB447A4D.ttf +0 -0
  47. package/dist/KaTeX_Math-Italic-6KGCHLFN.woff2 +0 -0
  48. package/dist/KaTeX_Math-Italic-KKK3USB2.woff +0 -0
  49. package/dist/KaTeX_Math-Italic-SON4MRCA.ttf +0 -0
  50. package/dist/KaTeX_SansSerif-Bold-RRNVJFFW.woff2 +0 -0
  51. package/dist/KaTeX_SansSerif-Bold-STQ6RXC7.ttf +0 -0
  52. package/dist/KaTeX_SansSerif-Bold-X5M5EMOD.woff +0 -0
  53. package/dist/KaTeX_SansSerif-Italic-HMPFTM52.woff2 +0 -0
  54. package/dist/KaTeX_SansSerif-Italic-PSN4QKYX.woff +0 -0
  55. package/dist/KaTeX_SansSerif-Italic-WTBAZBGY.ttf +0 -0
  56. package/dist/KaTeX_SansSerif-Regular-2TL3USAE.ttf +0 -0
  57. package/dist/KaTeX_SansSerif-Regular-OQCII6EP.woff +0 -0
  58. package/dist/KaTeX_SansSerif-Regular-XIQ62X4E.woff2 +0 -0
  59. package/dist/KaTeX_Script-Regular-72OLXYNA.ttf +0 -0
  60. package/dist/KaTeX_Script-Regular-A5IFOEBS.woff +0 -0
  61. package/dist/KaTeX_Script-Regular-APUWIHLP.woff2 +0 -0
  62. package/dist/KaTeX_Size1-Regular-4HRHTS65.woff +0 -0
  63. package/dist/KaTeX_Size1-Regular-5LRUTBFT.woff2 +0 -0
  64. package/dist/KaTeX_Size1-Regular-7K6AASVL.ttf +0 -0
  65. package/dist/KaTeX_Size2-Regular-222HN3GT.ttf +0 -0
  66. package/dist/KaTeX_Size2-Regular-K5ZHAIS6.woff +0 -0
  67. package/dist/KaTeX_Size2-Regular-LELKET5D.woff2 +0 -0
  68. package/dist/KaTeX_Size3-Regular-TLFPAHDE.woff +0 -0
  69. package/dist/KaTeX_Size3-Regular-UFCO6WCA.ttf +0 -0
  70. package/dist/KaTeX_Size3-Regular-WQRQ47UD.woff2 +0 -0
  71. package/dist/KaTeX_Size4-Regular-7PGNVPQK.ttf +0 -0
  72. package/dist/KaTeX_Size4-Regular-CDMV7U5C.woff2 +0 -0
  73. package/dist/KaTeX_Size4-Regular-PKMWZHNC.woff +0 -0
  74. package/dist/KaTeX_Typewriter-Regular-3F5K6SQ6.ttf +0 -0
  75. package/dist/KaTeX_Typewriter-Regular-MJMFSK64.woff +0 -0
  76. package/dist/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2 +0 -0
  77. package/dist/KernelEngineContext-BOCQoFwk.d.ts +43 -0
  78. package/dist/LayersPanel-BBQ54IVG.js +7 -0
  79. package/dist/ModuleCard-3TT2X7IW.js +7 -0
  80. package/dist/OrbInspector-K6T6O7GI.js +27 -0
  81. package/dist/OrbInspector-MHLJ6OEE.css +1756 -0
  82. package/dist/Select-mDZIwNqN.d.ts +199 -0
  83. package/dist/ServerBridge-Cm1On51b.d.ts +233 -0
  84. package/dist/ThemeContext-DJmO59xd.d.ts +147 -0
  85. package/dist/TraitValueFrame-2PJGLLVI.js +28 -0
  86. package/dist/TraitValueFrame-4G3KOUBR.css +1756 -0
  87. package/dist/UISlotContext-Dl_ewwCI.d.ts +79 -0
  88. package/dist/UISlotRenderer-JKFSX24W.js +27 -0
  89. package/dist/UISlotRenderer-KVFO6J7R.css +1756 -0
  90. package/dist/UserContext-DqWeZkUZ.d.ts +100 -0
  91. package/dist/auth/browser/index.d.ts +2 -0
  92. package/dist/auth/browser/index.js +1 -0
  93. package/dist/auth/react/index.d.ts +49 -0
  94. package/dist/auth/react/index.js +119 -0
  95. package/dist/avl/index.css +1756 -0
  96. package/dist/avl/index.d.ts +2238 -0
  97. package/dist/avl/index.js +2693 -0
  98. package/dist/avl-3d-context-BIRKWpaL.d.ts +204 -0
  99. package/dist/avl-schema-parser-CtJxJ9KU.d.ts +132 -0
  100. package/dist/avl-zoom-state-CKMVuBFg.d.ts +17 -0
  101. package/dist/chunk-2PY54Z44.js +227 -0
  102. package/dist/chunk-2QOH2HWM.js +95 -0
  103. package/dist/chunk-3BBUBJFF.js +339 -0
  104. package/dist/chunk-42FY4RYA.js +191 -0
  105. package/dist/chunk-5QTYQTPS.js +15 -0
  106. package/dist/chunk-6P3MWXYE.js +440 -0
  107. package/dist/chunk-73SRAB4P.js +1053 -0
  108. package/dist/chunk-A2LR6VQQ.js +349 -0
  109. package/dist/chunk-AILY3XPS.js +562 -0
  110. package/dist/chunk-B4BU77LT.js +432 -0
  111. package/dist/chunk-DFNZUYX4.js +378 -0
  112. package/dist/chunk-DJ433ET5.js +1327 -0
  113. package/dist/chunk-DLZF4PVE.js +24 -0
  114. package/dist/chunk-DYEKAA4L.js +787 -0
  115. package/dist/chunk-DZ42OJQC.js +176 -0
  116. package/dist/chunk-EOWMARUB.js +16 -0
  117. package/dist/chunk-EQAMU2ZC.js +14 -0
  118. package/dist/chunk-FAJDTHWC.js +98 -0
  119. package/dist/chunk-FIW6WN23.js +508 -0
  120. package/dist/chunk-FP3WIKTC.js +303 -0
  121. package/dist/chunk-G7DCAZ22.js +19 -0
  122. package/dist/chunk-GAR5TQ5B.js +199 -0
  123. package/dist/chunk-GKIFONTE.js +131 -0
  124. package/dist/chunk-GYTPOFVC.js +47155 -0
  125. package/dist/chunk-KVQS4GXU.js +328 -0
  126. package/dist/chunk-L2DEKY4J.js +97 -0
  127. package/dist/chunk-L677XGY3.js +701 -0
  128. package/dist/chunk-MBQAMMSE.js +11877 -0
  129. package/dist/chunk-P4LNHAFI.js +1051 -0
  130. package/dist/chunk-P4ZFUQFF.js +93 -0
  131. package/dist/chunk-PC7K4SK7.js +1384 -0
  132. package/dist/chunk-R5O5AUPI.js +573 -0
  133. package/dist/chunk-SGM3FASH.js +672 -0
  134. package/dist/chunk-SJGJJKBY.js +502 -0
  135. package/dist/chunk-TESBIVUA.js +11 -0
  136. package/dist/chunk-TZZBINQY.js +82 -0
  137. package/dist/chunk-U6QRZASX.js +280 -0
  138. package/dist/chunk-VFF5OO47.js +319 -0
  139. package/dist/chunk-YDNJLLG6.js +516 -0
  140. package/dist/chunk-YHMRX6YA.js +455 -0
  141. package/dist/chunk-ZO6MXAS3.js +69 -0
  142. package/dist/components/index.css +1756 -0
  143. package/dist/components/index.d.ts +11093 -0
  144. package/dist/components/index.js +1110 -0
  145. package/dist/context/index.d.ts +9 -0
  146. package/dist/context/index.js +7 -0
  147. package/dist/core.d.ts +2523 -0
  148. package/dist/core.js +2 -0
  149. package/dist/design-classes/index.cjs +429 -0
  150. package/dist/design-classes/index.d.cts +165 -0
  151. package/dist/design-classes/index.d.ts +165 -0
  152. package/dist/design-classes/index.js +397 -0
  153. package/dist/emojiItems-QGSNAABW.js +20 -0
  154. package/dist/fx-CmQjnHmT.d.ts +371 -0
  155. package/dist/hooks/index.d.ts +936 -0
  156. package/dist/hooks/index.js +7 -0
  157. package/dist/index.d.ts +486 -0
  158. package/dist/index.js +38 -0
  159. package/dist/katexPlugin-FA7NX4PE.css +1161 -0
  160. package/dist/katexPlugin-NCDKOOQY.js +2 -0
  161. package/dist/kernel-client-ZH4PSMCN.js +367 -0
  162. package/dist/kernel-wire-B4S8pnP3.d.ts +65 -0
  163. package/dist/lib/index.d.ts +602 -0
  164. package/dist/lib/index.js +1288 -0
  165. package/dist/paintDispatch-ChW5mVuK.d.ts +698 -0
  166. package/dist/parseLessonSegments-GpCeMrb2.d.ts +334 -0
  167. package/dist/perf-CKiBKbkw.d.ts +22 -0
  168. package/dist/perf-Dr28-AgT.d.ts +57 -0
  169. package/dist/prism-AIWGN2X5.js +134 -0
  170. package/dist/providers/index.css +1756 -0
  171. package/dist/providers/index.d.ts +340 -0
  172. package/dist/providers/index.js +30 -0
  173. package/dist/renderer/index.d.ts +467 -0
  174. package/dist/renderer/index.js +3 -0
  175. package/dist/runtime/index.css +1756 -0
  176. package/dist/runtime/index.d.ts +440 -0
  177. package/dist/runtime/index.js +31 -0
  178. package/dist/slot-host-CPzrxLo9.d.ts +48 -0
  179. package/dist/ssr/index.cjs +7631 -0
  180. package/dist/ssr/index.d.cts +487 -0
  181. package/dist/ssr/index.d.ts +487 -0
  182. package/dist/ssr/index.js +7599 -0
  183. package/dist/storage/browser/index.d.ts +1 -0
  184. package/dist/storage/browser/index.js +1 -0
  185. package/dist/test-support.d.ts +35 -0
  186. package/dist/test-support.js +114 -0
  187. package/dist/themeTokens-CRd8AEDF.d.ts +125 -0
  188. package/dist/three/index.css +503 -0
  189. package/dist/three/index.d.ts +1185 -0
  190. package/dist/three/index.js +3896 -0
  191. package/dist/useKeyboardRouter-Dsq553Ur.d.ts +42 -0
  192. package/dist/useUISlots-CiobNFGb.d.ts +211 -0
  193. package/dist/verification-C5pTeMJv.d.ts +66 -0
  194. package/dist/verificationRegistry-CabxhfTv.d.ts +122 -0
  195. package/dist/wrapCallbackForEvent-B9QLbhxX.d.ts +19 -0
  196. package/index.css +199 -0
  197. package/package.json +269 -3
  198. package/src/core/locales/ar.json +1263 -0
  199. package/src/core/locales/en.json +1263 -0
  200. package/src/core/locales/index.ts +54 -0
  201. package/src/core/locales/sl.json +1263 -0
  202. package/src/core/tokens/native-tokens.json +369 -0
  203. package/tailwind-compile.cjs +29 -0
  204. package/tailwind-preset.cjs +991 -0
  205. package/themes/_base.css +451 -0
  206. package/themes/_contract.md +307 -0
  207. package/themes/_fonts-kenney.css +11 -0
  208. package/themes/_fonts.css +12 -0
  209. package/themes/_foundation.css +105 -0
  210. package/themes/_head.css +22 -0
  211. package/themes/_presets.css +67 -0
  212. package/themes/almadar-heritage.css +455 -0
  213. package/themes/almadar-website.css +269 -0
  214. package/themes/almadar.css +269 -0
  215. package/themes/aqua.css +455 -0
  216. package/themes/arabesque.css +459 -0
  217. package/themes/art-deco.css +457 -0
  218. package/themes/art-nouveau.css +459 -0
  219. package/themes/atelier.css +463 -0
  220. package/themes/bauhaus.css +461 -0
  221. package/themes/bloomberg-dense.css +463 -0
  222. package/themes/blueprint.css +457 -0
  223. package/themes/clay.css +449 -0
  224. package/themes/comic.css +453 -0
  225. package/themes/constructivist.css +457 -0
  226. package/themes/corporate.css +449 -0
  227. package/themes/cyberpunk.css +453 -0
  228. package/themes/frutiger-aero.css +458 -0
  229. package/themes/game-adventure.css +201 -0
  230. package/themes/game-rpg.css +203 -0
  231. package/themes/game-sci-fi.css +201 -0
  232. package/themes/game-ui-pack.css +200 -0
  233. package/themes/gazette.css +449 -0
  234. package/themes/glass.css +457 -0
  235. package/themes/gothic.css +453 -0
  236. package/themes/index.css +21 -0
  237. package/themes/ink-wash.css +459 -0
  238. package/themes/kawaii.css +459 -0
  239. package/themes/kflow.css +310 -0
  240. package/themes/kiosk.css +449 -0
  241. package/themes/linear-clean.css +463 -0
  242. package/themes/luxury.css +451 -0
  243. package/themes/mac-classic.css +455 -0
  244. package/themes/material.css +463 -0
  245. package/themes/memphis.css +453 -0
  246. package/themes/mid-century.css +455 -0
  247. package/themes/minimalist.css +449 -0
  248. package/themes/mudcloth.css +459 -0
  249. package/themes/nata.css +310 -0
  250. package/themes/neon.css +453 -0
  251. package/themes/neumorphic.css +451 -0
  252. package/themes/newsprint.css +455 -0
  253. package/themes/notion-editorial.css +463 -0
  254. package/themes/orb.css +465 -0
  255. package/themes/pixel.css +449 -0
  256. package/themes/prism.css +309 -0
  257. package/themes/rawi.css +310 -0
  258. package/themes/retro.css +452 -0
  259. package/themes/risograph.css +463 -0
  260. package/themes/scandi.css +469 -0
  261. package/themes/sketch.css +455 -0
  262. package/themes/solarpunk.css +469 -0
  263. package/themes/steampunk.css +451 -0
  264. package/themes/swiss.css +455 -0
  265. package/themes/terminal.css +466 -0
  266. package/themes/trait-wars.css +487 -0
  267. package/themes/ukiyo-e.css +459 -0
  268. package/themes/vaporwave.css +455 -0
  269. package/themes/victorian.css +453 -0
  270. package/themes/wabi-sabi.css +459 -0
  271. package/themes/win95.css +455 -0
  272. package/themes/wireframe.css +439 -0
  273. package/themes/zine.css +455 -0
  274. package/README.md +0 -3
@@ -0,0 +1,1288 @@
1
+ export { EDITOR_MOTIONS, EDITOR_OPERATORS, ENTER_SLOT_CLASS, INDENT_UNIT, MAX_ENTER_DELAY, applyMotion, applyOperator, asEnterAnimation, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, computeLineDiff, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, enterClassName, getAllTicks, getAllTraits, getDebugEvents, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory, getNestedValue, getRecentEvents, getRecentGuardEvaluations, getTick, getTrait, initDebugShortcut, isDebugEnabled, isEditorMotion, isEditorOperator, logDebugEvent, logEffectExecuted, logError, logEventFired, logInfo, logStateChange, logWarning, motionRange, onDebugToggle, parseContentSegments, parseLessonSegments, parseMarkdownWithCodeBlocks2 as parseMarkdownWithCodeBlocks, profilerOnRender, recordGuardEvaluation, registerTick, registerTrait, resolveImageUrl, setDebugEnabled, setEntityProvider, setTickActive, subscribeToDebugEvents, subscribeToGuardChanges, subscribeToTickChanges, subscribeToTraitChanges, toggleDebug, unregisterTick, unregisterTrait, updateGuardResult, updateTickExecution, updateTraitState, usePerfBuffer } from '../chunk-P4LNHAFI.js';
2
+ export { arrowheadPath, brainIconPath, eightPointedStarPath, gearTeethPath, lockIconPath, pipeIconPath } from '../chunk-TZZBINQY.js';
3
+ export { bindCanvasCapture, bindConfigApplier, bindEventBus, bindLastDrawables, bindTraitStateGetter, clearVerification, getAllChecks, getBridgeHealth, getSnapshot, getSummary, getTraitSnapshots, getTransitions, getTransitionsForTrait, isEditableTarget, keyMapCode, recordOrbitalResponse, recordServerResponse, recordTransition, recordingTransport, registerCheck, registerTraitSnapshot, resolveKeyMapEvent, serverEffectTraces, subscribeToVerification, updateAssetStatus, updateBridgeHealth, updateCheck, verifierAttached, waitForTransition } from '../chunk-B4BU77LT.js';
4
+ export { PERF_NAMESPACE, clearPerf, perfEnd, perfGauge, perfStart, perfTime, perfTimeAsync } from '../chunk-DYEKAA4L.js';
5
+ export { DENSITY_ELEMENT_VARS, DENSITY_SPACING_VARS, DIAGRAM_VARS, ELEVATION_VARS, GEOMETRY_VARS, ICONOGRAPHY_VARS, LEGACY_PREFIXES, MOTION_DURATION_KEYS, MOTION_EASING_KEYS, MOTION_INTENT_VARS, MOTION_SHAPE_VARS, SCENE_VARS, SURFACE_VARS, TYPE_FAMILY_VARS, TYPE_HEADING_VARS, TYPE_INTENT_VARS, TYPE_SIZE_KEYS, enterKeyframe, resolveThemeForRuntime, themeTokensToCssVars } from '../chunk-3BBUBJFF.js';
6
+ import '../chunk-MBQAMMSE.js';
7
+ import '../chunk-G7DCAZ22.js';
8
+
9
+ // src/lib/api-client.ts
10
+ var API_BASE_URL = typeof process !== "undefined" && process.env?.VITE_API_URL ? process.env.VITE_API_URL : "/api";
11
+ var ApiError = class extends Error {
12
+ constructor(status, statusText, message) {
13
+ super(message || `API Error: ${status} ${statusText}`);
14
+ this.status = status;
15
+ this.statusText = statusText;
16
+ this.name = "ApiError";
17
+ }
18
+ status;
19
+ statusText;
20
+ };
21
+ async function handleResponse(response) {
22
+ if (!response.ok) {
23
+ let message;
24
+ try {
25
+ const errorData = await response.json();
26
+ message = errorData.message || errorData.error;
27
+ } catch {
28
+ }
29
+ throw new ApiError(response.status, response.statusText, message);
30
+ }
31
+ const text = await response.text();
32
+ if (!text) {
33
+ return void 0;
34
+ }
35
+ return JSON.parse(text);
36
+ }
37
+ function getHeaders() {
38
+ const headers = {
39
+ "Content-Type": "application/json"
40
+ };
41
+ const token = typeof localStorage !== "undefined" ? localStorage.getItem("authToken") : null;
42
+ if (token) {
43
+ headers["Authorization"] = `Bearer ${token}`;
44
+ }
45
+ return headers;
46
+ }
47
+ var apiClient = {
48
+ /**
49
+ * GET request
50
+ */
51
+ async get(endpoint) {
52
+ const response = await fetch(`${API_BASE_URL}${endpoint}`, {
53
+ method: "GET",
54
+ headers: getHeaders()
55
+ });
56
+ return handleResponse(response);
57
+ },
58
+ /**
59
+ * POST request
60
+ */
61
+ async post(endpoint, data) {
62
+ const response = await fetch(`${API_BASE_URL}${endpoint}`, {
63
+ method: "POST",
64
+ headers: getHeaders(),
65
+ body: data ? JSON.stringify(data) : void 0
66
+ });
67
+ return handleResponse(response);
68
+ },
69
+ /**
70
+ * PUT request
71
+ */
72
+ async put(endpoint, data) {
73
+ const response = await fetch(`${API_BASE_URL}${endpoint}`, {
74
+ method: "PUT",
75
+ headers: getHeaders(),
76
+ body: data ? JSON.stringify(data) : void 0
77
+ });
78
+ return handleResponse(response);
79
+ },
80
+ /**
81
+ * PATCH request
82
+ */
83
+ async patch(endpoint, data) {
84
+ const response = await fetch(`${API_BASE_URL}${endpoint}`, {
85
+ method: "PATCH",
86
+ headers: getHeaders(),
87
+ body: data ? JSON.stringify(data) : void 0
88
+ });
89
+ return handleResponse(response);
90
+ },
91
+ /**
92
+ * DELETE request
93
+ */
94
+ async delete(endpoint) {
95
+ const response = await fetch(`${API_BASE_URL}${endpoint}`, {
96
+ method: "DELETE",
97
+ headers: getHeaders()
98
+ });
99
+ return handleResponse(response);
100
+ }
101
+ };
102
+
103
+ // src/lib/command-send-pump.ts
104
+ function createCommandSendPump() {
105
+ let tail = Promise.resolve();
106
+ return {
107
+ enqueue(job) {
108
+ const result = tail.then(job);
109
+ tail = result.then(
110
+ () => void 0,
111
+ () => void 0
112
+ );
113
+ return result;
114
+ }
115
+ };
116
+ }
117
+
118
+ // src/lib/jazari/layout.ts
119
+ var GEAR_RADIUS = 35;
120
+ var GEAR_SPACING = 130;
121
+ var PADDING_X = 80;
122
+ var PADDING_Y = 120;
123
+ var ARC_HEIGHT = 70;
124
+ var SELF_LOOP_RADIUS = 30;
125
+ var PARALLEL_OFFSET = 24;
126
+ function orderStates(states, transitions) {
127
+ const initial = states.find((s) => s.isInitial);
128
+ if (!initial) {
129
+ return states.map((s) => s.name);
130
+ }
131
+ const adj = /* @__PURE__ */ new Map();
132
+ for (const t of transitions) {
133
+ const existing = adj.get(t.from) ?? [];
134
+ existing.push(t.to);
135
+ adj.set(t.from, existing);
136
+ }
137
+ const visited = /* @__PURE__ */ new Set();
138
+ const order = [];
139
+ const queue = [initial.name];
140
+ visited.add(initial.name);
141
+ while (queue.length > 0) {
142
+ const current = queue.shift();
143
+ order.push(current);
144
+ const neighbors = adj.get(current) ?? [];
145
+ for (const next of neighbors) {
146
+ if (!visited.has(next)) {
147
+ visited.add(next);
148
+ queue.push(next);
149
+ }
150
+ }
151
+ }
152
+ for (const s of states) {
153
+ if (!visited.has(s.name)) {
154
+ order.push(s.name);
155
+ }
156
+ }
157
+ return order;
158
+ }
159
+ function quadBezierPoint(x0, y0, cx, cy, x1, y1, t) {
160
+ const mt = 1 - t;
161
+ return {
162
+ x: mt * mt * x0 + 2 * mt * t * cx + t * t * x1,
163
+ y: mt * mt * y0 + 2 * mt * t * cy + t * t * y1
164
+ };
165
+ }
166
+ function computeJazariLayout(input) {
167
+ const { states, transitions, entityFields = [], direction = "ltr" } = input;
168
+ if (states.length === 0) {
169
+ return {
170
+ width: 200,
171
+ height: 200,
172
+ gears: [],
173
+ arms: [],
174
+ axisY: 100,
175
+ axisStartX: 0,
176
+ axisEndX: 200,
177
+ entityFields,
178
+ direction
179
+ };
180
+ }
181
+ const stateOrder = orderStates(states, transitions);
182
+ const stateMap = new Map(states.map((s) => [s.name, s]));
183
+ const stateIndex = new Map(stateOrder.map((name, i) => [name, i]));
184
+ const totalWidth = PADDING_X * 2 + (stateOrder.length - 1) * GEAR_SPACING;
185
+ const axisY = PADDING_Y + ARC_HEIGHT + SELF_LOOP_RADIUS + 10;
186
+ const height = axisY + PADDING_Y + ARC_HEIGHT + SELF_LOOP_RADIUS + 10;
187
+ const gears = stateOrder.map((name, i) => {
188
+ const state = stateMap.get(name);
189
+ const xPos = direction === "rtl" ? totalWidth - PADDING_X - i * GEAR_SPACING : PADDING_X + i * GEAR_SPACING;
190
+ return {
191
+ name,
192
+ cx: xPos,
193
+ cy: axisY,
194
+ radius: GEAR_RADIUS,
195
+ isInitial: state?.isInitial === true,
196
+ isTerminal: state?.isTerminal === true || state?.isFinal === true
197
+ };
198
+ });
199
+ const pairCounts = /* @__PURE__ */ new Map();
200
+ const pairIndices = /* @__PURE__ */ new Map();
201
+ for (const t of transitions) {
202
+ const pairKey = `${t.from}|${t.to}`;
203
+ pairCounts.set(pairKey, (pairCounts.get(pairKey) ?? 0) + 1);
204
+ }
205
+ const arms = transitions.map((t) => {
206
+ const pairKey = `${t.from}|${t.to}`;
207
+ const currentIdx = pairIndices.get(pairKey) ?? 0;
208
+ pairIndices.set(pairKey, currentIdx + 1);
209
+ const pairCount = pairCounts.get(pairKey) ?? 1;
210
+ const parallelShift = (currentIdx - (pairCount - 1) / 2) * PARALLEL_OFFSET;
211
+ const fromIdx = stateIndex.get(t.from) ?? 0;
212
+ const toIdx = stateIndex.get(t.to) ?? 0;
213
+ const fromGear = gears[fromIdx];
214
+ const toGear = gears[toIdx];
215
+ if (!fromGear || !toGear) {
216
+ return {
217
+ from: t.from,
218
+ to: t.to,
219
+ event: t.event,
220
+ path: "",
221
+ labelX: 0,
222
+ labelY: 0,
223
+ guard: null,
224
+ effect: null,
225
+ isSelfLoop: false
226
+ };
227
+ }
228
+ const isSelfLoop = t.from === t.to;
229
+ let path;
230
+ let labelX;
231
+ let labelY;
232
+ let ctrlX;
233
+ let ctrlY;
234
+ if (isSelfLoop) {
235
+ const loopY = fromGear.cy - GEAR_RADIUS - SELF_LOOP_RADIUS - 5;
236
+ path = [
237
+ `M ${fromGear.cx - 12} ${fromGear.cy - GEAR_RADIUS}`,
238
+ `C ${fromGear.cx - 25} ${loopY - 15}, ${fromGear.cx + 25} ${loopY - 15}, ${fromGear.cx + 12} ${fromGear.cy - GEAR_RADIUS}`
239
+ ].join(" ");
240
+ labelX = fromGear.cx;
241
+ labelY = loopY - 10;
242
+ ctrlX = fromGear.cx;
243
+ ctrlY = loopY;
244
+ } else {
245
+ const isForward = direction === "rtl" ? fromIdx > toIdx : fromIdx < toIdx;
246
+ const arcSign = isForward ? -1 : 1;
247
+ const midX = (fromGear.cx + toGear.cx) / 2;
248
+ ctrlY = axisY + arcSign * (ARC_HEIGHT + Math.abs(parallelShift));
249
+ ctrlX = midX;
250
+ const perimeterR = GEAR_RADIUS + 7;
251
+ const dx = toGear.cx - fromGear.cx;
252
+ const dy = toGear.cy - fromGear.cy;
253
+ const dist = Math.sqrt(dx * dx + dy * dy);
254
+ const startX = dist > 0 ? fromGear.cx + dx / dist * perimeterR : fromGear.cx;
255
+ const startY = dist > 0 ? fromGear.cy + dy / dist * perimeterR : fromGear.cy;
256
+ const endX = dist > 0 ? toGear.cx - dx / dist * perimeterR : toGear.cx;
257
+ const endY = dist > 0 ? toGear.cy - dy / dist * perimeterR : toGear.cy;
258
+ path = `M ${startX} ${startY} Q ${ctrlX} ${ctrlY} ${endX} ${endY}`;
259
+ const mid = quadBezierPoint(startX, startY, ctrlX, ctrlY, endX, endY, 0.5);
260
+ labelX = mid.x;
261
+ labelY = mid.y;
262
+ }
263
+ let guard = null;
264
+ if (t.guard != null) {
265
+ const isAI = Array.isArray(t.guard) && typeof t.guard[0] === "string" && t.guard[0] === "call-service";
266
+ if (isSelfLoop) {
267
+ guard = { x: fromGear.cx - 18, y: fromGear.cy - GEAR_RADIUS - SELF_LOOP_RADIUS, isAI };
268
+ } else {
269
+ const gp = quadBezierPoint(fromGear.cx, fromGear.cy, ctrlX, ctrlY, toGear.cx, toGear.cy, 0.3);
270
+ guard = { x: gp.x, y: gp.y, isAI };
271
+ }
272
+ }
273
+ let effect = null;
274
+ if (t.effects && t.effects.length > 0) {
275
+ const names = t.effects.map((e) => {
276
+ if (Array.isArray(e)) return JSON.stringify(e);
277
+ return String(e);
278
+ });
279
+ if (isSelfLoop) {
280
+ effect = { x: fromGear.cx + 18, y: fromGear.cy - GEAR_RADIUS - SELF_LOOP_RADIUS, count: t.effects.length, names };
281
+ } else {
282
+ const ep = quadBezierPoint(fromGear.cx, fromGear.cy, ctrlX, ctrlY, toGear.cx, toGear.cy, 0.7);
283
+ effect = { x: ep.x, y: ep.y, count: t.effects.length, names };
284
+ }
285
+ }
286
+ return {
287
+ from: t.from,
288
+ to: t.to,
289
+ event: t.event,
290
+ path,
291
+ labelX,
292
+ labelY,
293
+ guard,
294
+ effect,
295
+ isSelfLoop
296
+ };
297
+ });
298
+ return {
299
+ width: totalWidth,
300
+ height,
301
+ gears,
302
+ arms,
303
+ axisY,
304
+ axisStartX: direction === "rtl" ? gears[gears.length - 1]?.cx ?? PADDING_X : gears[0]?.cx ?? PADDING_X,
305
+ axisEndX: direction === "rtl" ? gears[0]?.cx ?? totalWidth - PADDING_X : gears[gears.length - 1]?.cx ?? totalWidth - PADDING_X,
306
+ entityFields,
307
+ direction
308
+ };
309
+ }
310
+
311
+ // src/lib/jazari/types.ts
312
+ var JAZARI_COLORS = {
313
+ brass: "#B87333",
314
+ gold: "#C8A951",
315
+ sky: "#0EA5E9",
316
+ crimson: "#DC2626",
317
+ lapis: "#1E40AF",
318
+ ivory: "#FFFBEB",
319
+ darkBg: "#1a1a2e"
320
+ };
321
+
322
+ // src/lib/iconNativeMap.json
323
+ var iconNativeMap_default = {
324
+ fallback: {
325
+ sfSymbol: "questionmark.circle",
326
+ materialSymbol: "help"
327
+ },
328
+ map: {
329
+ home: {
330
+ sfSymbol: "house",
331
+ materialSymbol: "home"
332
+ },
333
+ menu: {
334
+ sfSymbol: "line.3.horizontal",
335
+ materialSymbol: "menu"
336
+ },
337
+ "more-horizontal": {
338
+ sfSymbol: "ellipsis",
339
+ materialSymbol: "more_horiz"
340
+ },
341
+ "more-vertical": {
342
+ sfSymbol: "ellipsis",
343
+ materialSymbol: "more_vert"
344
+ },
345
+ "chevron-right": {
346
+ sfSymbol: "chevron.right",
347
+ materialSymbol: "chevron_right"
348
+ },
349
+ "chevron-left": {
350
+ sfSymbol: "chevron.left",
351
+ materialSymbol: "chevron_left"
352
+ },
353
+ "chevron-up": {
354
+ sfSymbol: "chevron.up",
355
+ materialSymbol: "keyboard_arrow_up"
356
+ },
357
+ "chevron-down": {
358
+ sfSymbol: "chevron.down",
359
+ materialSymbol: "keyboard_arrow_down"
360
+ },
361
+ "chevrons-left": {
362
+ sfSymbol: "chevron.left.2",
363
+ materialSymbol: "keyboard_double_arrow_left"
364
+ },
365
+ "chevrons-right": {
366
+ sfSymbol: "chevron.right.2",
367
+ materialSymbol: "keyboard_double_arrow_right"
368
+ },
369
+ "chevrons-up-down": {
370
+ sfSymbol: "chevron.up.chevron.down",
371
+ materialSymbol: "unfold_more"
372
+ },
373
+ "arrow-left": {
374
+ sfSymbol: "arrow.left",
375
+ materialSymbol: "arrow_back"
376
+ },
377
+ "arrow-right": {
378
+ sfSymbol: "arrow.right",
379
+ materialSymbol: "arrow_forward"
380
+ },
381
+ "arrow-up": {
382
+ sfSymbol: "arrow.up",
383
+ materialSymbol: "arrow_upward"
384
+ },
385
+ "arrow-down": {
386
+ sfSymbol: "arrow.down",
387
+ materialSymbol: "arrow_downward"
388
+ },
389
+ "arrow-up-right": {
390
+ sfSymbol: "arrow.up.right",
391
+ materialSymbol: "north_east"
392
+ },
393
+ "arrow-down-left": {
394
+ sfSymbol: "arrow.down.left",
395
+ materialSymbol: "south_west"
396
+ },
397
+ "corner-up-left": {
398
+ sfSymbol: "arrow.turn.up.left",
399
+ materialSymbol: "subdirectory_arrow_left"
400
+ },
401
+ "corner-down-right": {
402
+ sfSymbol: "arrow.turn.down.right",
403
+ materialSymbol: "subdirectory_arrow_right"
404
+ },
405
+ "external-link": {
406
+ sfSymbol: "arrow.up.forward.square",
407
+ materialSymbol: "open_in_new"
408
+ },
409
+ "log-out": {
410
+ sfSymbol: "rectangle.portrait.and.arrow.right",
411
+ materialSymbol: "logout"
412
+ },
413
+ "log-in": {
414
+ sfSymbol: "arrow.right.square",
415
+ materialSymbol: "login"
416
+ },
417
+ "panel-left": {
418
+ sfSymbol: "sidebar.left",
419
+ materialSymbol: "first_page"
420
+ },
421
+ "panel-right": {
422
+ sfSymbol: "sidebar.right",
423
+ materialSymbol: "last_page"
424
+ },
425
+ sidebar: {
426
+ sfSymbol: "sidebar.left",
427
+ materialSymbol: "view_sidebar"
428
+ },
429
+ "layout-grid": {
430
+ sfSymbol: "square.grid.2x2",
431
+ materialSymbol: "grid_view"
432
+ },
433
+ "layout-list": {
434
+ sfSymbol: "list.bullet",
435
+ materialSymbol: "view_list"
436
+ },
437
+ grid: {
438
+ sfSymbol: "square.grid.2x2",
439
+ materialSymbol: "grid_view"
440
+ },
441
+ list: {
442
+ sfSymbol: "list.bullet",
443
+ materialSymbol: "list"
444
+ },
445
+ plus: {
446
+ sfSymbol: "plus",
447
+ materialSymbol: "add"
448
+ },
449
+ "plus-circle": {
450
+ sfSymbol: "plus.circle",
451
+ materialSymbol: "add_circle"
452
+ },
453
+ minus: {
454
+ sfSymbol: "minus",
455
+ materialSymbol: "remove"
456
+ },
457
+ "minus-circle": {
458
+ sfSymbol: "minus.circle",
459
+ materialSymbol: "remove_circle"
460
+ },
461
+ x: {
462
+ sfSymbol: "xmark",
463
+ materialSymbol: "close"
464
+ },
465
+ close: {
466
+ sfSymbol: "xmark",
467
+ materialSymbol: "close"
468
+ },
469
+ check: {
470
+ sfSymbol: "checkmark",
471
+ materialSymbol: "check"
472
+ },
473
+ "check-circle": {
474
+ sfSymbol: "checkmark.circle",
475
+ materialSymbol: "check_circle"
476
+ },
477
+ "circle-check": {
478
+ sfSymbol: "checkmark.circle",
479
+ materialSymbol: "check_circle"
480
+ },
481
+ "check-square": {
482
+ sfSymbol: "checkmark.square",
483
+ materialSymbol: "check_box"
484
+ },
485
+ "x-circle": {
486
+ sfSymbol: "xmark.circle",
487
+ materialSymbol: "cancel"
488
+ },
489
+ trash: {
490
+ sfSymbol: "trash",
491
+ materialSymbol: "delete"
492
+ },
493
+ "trash-2": {
494
+ sfSymbol: "trash",
495
+ materialSymbol: "delete"
496
+ },
497
+ edit: {
498
+ sfSymbol: "pencil",
499
+ materialSymbol: "edit"
500
+ },
501
+ "edit-2": {
502
+ sfSymbol: "pencil",
503
+ materialSymbol: "edit"
504
+ },
505
+ "edit-3": {
506
+ sfSymbol: "pencil",
507
+ materialSymbol: "edit"
508
+ },
509
+ pencil: {
510
+ sfSymbol: "pencil",
511
+ materialSymbol: "edit"
512
+ },
513
+ copy: {
514
+ sfSymbol: "doc.on.doc",
515
+ materialSymbol: "content_copy"
516
+ },
517
+ clipboard: {
518
+ sfSymbol: "clipboard",
519
+ materialSymbol: "content_paste"
520
+ },
521
+ save: {
522
+ sfSymbol: "square.and.arrow.down",
523
+ materialSymbol: "save"
524
+ },
525
+ download: {
526
+ sfSymbol: "arrow.down.circle",
527
+ materialSymbol: "download"
528
+ },
529
+ upload: {
530
+ sfSymbol: "arrow.up.circle",
531
+ materialSymbol: "upload"
532
+ },
533
+ share: {
534
+ sfSymbol: "square.and.arrow.up",
535
+ materialSymbol: "share"
536
+ },
537
+ "share-2": {
538
+ sfSymbol: "square.and.arrow.up",
539
+ materialSymbol: "share"
540
+ },
541
+ "refresh-cw": {
542
+ sfSymbol: "arrow.clockwise",
543
+ materialSymbol: "refresh"
544
+ },
545
+ refresh: {
546
+ sfSymbol: "arrow.clockwise",
547
+ materialSymbol: "refresh"
548
+ },
549
+ "rotate-cw": {
550
+ sfSymbol: "arrow.clockwise",
551
+ materialSymbol: "rotate_right"
552
+ },
553
+ "rotate-ccw": {
554
+ sfSymbol: "arrow.counterclockwise",
555
+ materialSymbol: "rotate_left"
556
+ },
557
+ undo: {
558
+ sfSymbol: "arrow.uturn.backward",
559
+ materialSymbol: "undo"
560
+ },
561
+ redo: {
562
+ sfSymbol: "arrow.uturn.forward",
563
+ materialSymbol: "redo"
564
+ },
565
+ filter: {
566
+ sfSymbol: "line.3.horizontal.decrease.circle",
567
+ materialSymbol: "filter_list"
568
+ },
569
+ sliders: {
570
+ sfSymbol: "slider.horizontal.3",
571
+ materialSymbol: "tune"
572
+ },
573
+ search: {
574
+ sfSymbol: "magnifyingglass",
575
+ materialSymbol: "search"
576
+ },
577
+ "zoom-in": {
578
+ sfSymbol: "plus.magnifyingglass",
579
+ materialSymbol: "zoom_in"
580
+ },
581
+ "zoom-out": {
582
+ sfSymbol: "minus.magnifyingglass",
583
+ materialSymbol: "zoom_out"
584
+ },
585
+ settings: {
586
+ sfSymbol: "gearshape",
587
+ materialSymbol: "settings"
588
+ },
589
+ lock: {
590
+ sfSymbol: "lock",
591
+ materialSymbol: "lock"
592
+ },
593
+ unlock: {
594
+ sfSymbol: "lock.open",
595
+ materialSymbol: "lock_open"
596
+ },
597
+ eye: {
598
+ sfSymbol: "eye",
599
+ materialSymbol: "visibility"
600
+ },
601
+ "eye-off": {
602
+ sfSymbol: "eye.slash",
603
+ materialSymbol: "visibility_off"
604
+ },
605
+ link: {
606
+ sfSymbol: "link",
607
+ materialSymbol: "link"
608
+ },
609
+ "link-2": {
610
+ sfSymbol: "link",
611
+ materialSymbol: "link"
612
+ },
613
+ send: {
614
+ sfSymbol: "paperplane",
615
+ materialSymbol: "send"
616
+ },
617
+ power: {
618
+ sfSymbol: "power",
619
+ materialSymbol: "power_settings_new"
620
+ },
621
+ scissors: {
622
+ sfSymbol: "scissors",
623
+ materialSymbol: "content_cut"
624
+ },
625
+ eraser: {
626
+ sfSymbol: "eraser",
627
+ materialSymbol: "backspace"
628
+ },
629
+ stop: {
630
+ sfSymbol: "stop.fill",
631
+ materialSymbol: "stop"
632
+ },
633
+ "sort-asc": {
634
+ sfSymbol: "arrow.up",
635
+ materialSymbol: "arrow_upward"
636
+ },
637
+ "sort-desc": {
638
+ sfSymbol: "arrow.down",
639
+ materialSymbol: "arrow_downward"
640
+ },
641
+ file: {
642
+ sfSymbol: "doc",
643
+ materialSymbol: "description"
644
+ },
645
+ "file-text": {
646
+ sfSymbol: "doc.text",
647
+ materialSymbol: "description"
648
+ },
649
+ "file-plus": {
650
+ sfSymbol: "doc.badge.plus",
651
+ materialSymbol: "note_add"
652
+ },
653
+ "file-minus": {
654
+ sfSymbol: "doc.badge.minus",
655
+ materialSymbol: "note"
656
+ },
657
+ "file-code": {
658
+ sfSymbol: "chevron.left.forwardslash.chevron.right",
659
+ materialSymbol: "code"
660
+ },
661
+ "file-json": {
662
+ sfSymbol: "curlybraces",
663
+ materialSymbol: "data_object"
664
+ },
665
+ "file-warning": {
666
+ sfSymbol: "exclamationmark.triangle",
667
+ materialSymbol: "warning"
668
+ },
669
+ folder: {
670
+ sfSymbol: "folder",
671
+ materialSymbol: "folder"
672
+ },
673
+ "folder-open": {
674
+ sfSymbol: "folder",
675
+ materialSymbol: "folder_open"
676
+ },
677
+ paperclip: {
678
+ sfSymbol: "paperclip",
679
+ materialSymbol: "attach_file"
680
+ },
681
+ terminal: {
682
+ sfSymbol: "terminal",
683
+ materialSymbol: "terminal"
684
+ },
685
+ code: {
686
+ sfSymbol: "chevron.left.forwardslash.chevron.right",
687
+ materialSymbol: "code"
688
+ },
689
+ cpu: {
690
+ sfSymbol: "cpu",
691
+ materialSymbol: "memory"
692
+ },
693
+ gauge: {
694
+ sfSymbol: "gauge.with.dots.needle.33percent",
695
+ materialSymbol: "speed"
696
+ },
697
+ github: {
698
+ sfSymbol: "chevron.left.forwardslash.chevron.right",
699
+ materialSymbol: "code"
700
+ },
701
+ "graduation-cap": {
702
+ sfSymbol: "graduationcap",
703
+ materialSymbol: "school"
704
+ },
705
+ hammer: {
706
+ sfSymbol: "hammer",
707
+ materialSymbol: "hardware"
708
+ },
709
+ key: {
710
+ sfSymbol: "key",
711
+ materialSymbol: "key"
712
+ },
713
+ layout: {
714
+ sfSymbol: "rectangle.3.group",
715
+ materialSymbol: "view_quilt"
716
+ },
717
+ monitor: {
718
+ sfSymbol: "display",
719
+ materialSymbol: "monitor"
720
+ },
721
+ "pen-tool": {
722
+ sfSymbol: "pencil.tip",
723
+ materialSymbol: "draw"
724
+ },
725
+ rocket: {
726
+ sfSymbol: "airplane.departure",
727
+ materialSymbol: "rocket_launch"
728
+ },
729
+ "sliders-horizontal": {
730
+ sfSymbol: "slider.horizontal.3",
731
+ materialSymbol: "tune"
732
+ },
733
+ smartphone: {
734
+ sfSymbol: "iphone",
735
+ materialSymbol: "smartphone"
736
+ },
737
+ trophy: {
738
+ sfSymbol: "trophy",
739
+ materialSymbol: "emoji_events"
740
+ },
741
+ "upload-cloud": {
742
+ sfSymbol: "icloud.and.arrow.up",
743
+ materialSymbol: "cloud_upload"
744
+ },
745
+ wrench: {
746
+ sfSymbol: "wrench.adjustable",
747
+ materialSymbol: "build"
748
+ },
749
+ "git-branch": {
750
+ sfSymbol: "arrow.triangle.branch",
751
+ materialSymbol: "call_split"
752
+ },
753
+ "pause-circle": {
754
+ sfSymbol: "pause.circle",
755
+ materialSymbol: "pause_circle"
756
+ },
757
+ "heading-1": {
758
+ sfSymbol: "textformat.size.larger",
759
+ materialSymbol: "looks_one"
760
+ },
761
+ "heading-2": {
762
+ sfSymbol: "textformat.size",
763
+ materialSymbol: "looks_two"
764
+ },
765
+ "heading-3": {
766
+ sfSymbol: "textformat.size.smaller",
767
+ materialSymbol: "looks_3"
768
+ },
769
+ "list-ordered": {
770
+ sfSymbol: "list.number",
771
+ materialSymbol: "format_list_numbered"
772
+ },
773
+ quote: {
774
+ sfSymbol: "text.quote",
775
+ materialSymbol: "format_quote"
776
+ },
777
+ strikethrough: {
778
+ sfSymbol: "strikethrough",
779
+ materialSymbol: "format_strikethrough"
780
+ },
781
+ image: {
782
+ sfSymbol: "photo",
783
+ materialSymbol: "image"
784
+ },
785
+ archive: {
786
+ sfSymbol: "archivebox",
787
+ materialSymbol: "archive"
788
+ },
789
+ printer: {
790
+ sfSymbol: "printer",
791
+ materialSymbol: "print"
792
+ },
793
+ book: {
794
+ sfSymbol: "book",
795
+ materialSymbol: "menu_book"
796
+ },
797
+ bookmark: {
798
+ sfSymbol: "bookmark",
799
+ materialSymbol: "bookmark"
800
+ },
801
+ mail: {
802
+ sfSymbol: "envelope",
803
+ materialSymbol: "mail"
804
+ },
805
+ inbox: {
806
+ sfSymbol: "tray",
807
+ materialSymbol: "inbox"
808
+ },
809
+ "message-circle": {
810
+ sfSymbol: "bubble.left",
811
+ materialSymbol: "chat_bubble"
812
+ },
813
+ "message-square": {
814
+ sfSymbol: "bubble.left",
815
+ materialSymbol: "forum"
816
+ },
817
+ phone: {
818
+ sfSymbol: "phone",
819
+ materialSymbol: "call"
820
+ },
821
+ bell: {
822
+ sfSymbol: "bell",
823
+ materialSymbol: "notifications"
824
+ },
825
+ "bell-off": {
826
+ sfSymbol: "bell.slash",
827
+ materialSymbol: "notifications_off"
828
+ },
829
+ user: {
830
+ sfSymbol: "person",
831
+ materialSymbol: "person"
832
+ },
833
+ users: {
834
+ sfSymbol: "person.2",
835
+ materialSymbol: "group"
836
+ },
837
+ "user-plus": {
838
+ sfSymbol: "person.badge.plus",
839
+ materialSymbol: "person_add"
840
+ },
841
+ "user-circle": {
842
+ sfSymbol: "person.crop.circle",
843
+ materialSymbol: "account_circle"
844
+ },
845
+ info: {
846
+ sfSymbol: "info.circle",
847
+ materialSymbol: "info"
848
+ },
849
+ "alert-circle": {
850
+ sfSymbol: "exclamationmark.circle",
851
+ materialSymbol: "error"
852
+ },
853
+ "alert-triangle": {
854
+ sfSymbol: "exclamationmark.triangle",
855
+ materialSymbol: "warning"
856
+ },
857
+ "help-circle": {
858
+ sfSymbol: "questionmark.circle",
859
+ materialSymbol: "help"
860
+ },
861
+ star: {
862
+ sfSymbol: "star",
863
+ materialSymbol: "star"
864
+ },
865
+ "star-half": {
866
+ sfSymbol: "star.leadinghalf.filled",
867
+ materialSymbol: "star_half"
868
+ },
869
+ heart: {
870
+ sfSymbol: "heart",
871
+ materialSymbol: "favorite"
872
+ },
873
+ flag: {
874
+ sfSymbol: "flag",
875
+ materialSymbol: "flag"
876
+ },
877
+ tag: {
878
+ sfSymbol: "tag",
879
+ materialSymbol: "label"
880
+ },
881
+ clock: {
882
+ sfSymbol: "clock",
883
+ materialSymbol: "schedule"
884
+ },
885
+ calendar: {
886
+ sfSymbol: "calendar",
887
+ materialSymbol: "calendar_month"
888
+ },
889
+ loader: {
890
+ sfSymbol: "arrow.triangle.2.circlepath",
891
+ materialSymbol: "autorenew"
892
+ },
893
+ "loader-2": {
894
+ sfSymbol: "arrow.triangle.2.circlepath",
895
+ materialSymbol: "autorenew"
896
+ },
897
+ activity: {
898
+ sfSymbol: "waveform.path.ecg",
899
+ materialSymbol: "monitor_heart"
900
+ },
901
+ smile: {
902
+ sfSymbol: "face.smiling",
903
+ materialSymbol: "sentiment_satisfied"
904
+ },
905
+ play: {
906
+ sfSymbol: "play.fill",
907
+ materialSymbol: "play_arrow"
908
+ },
909
+ pause: {
910
+ sfSymbol: "pause.fill",
911
+ materialSymbol: "pause"
912
+ },
913
+ "skip-forward": {
914
+ sfSymbol: "forward.fill",
915
+ materialSymbol: "skip_next"
916
+ },
917
+ "skip-back": {
918
+ sfSymbol: "backward.fill",
919
+ materialSymbol: "skip_previous"
920
+ },
921
+ "volume-2": {
922
+ sfSymbol: "speaker.wave.2",
923
+ materialSymbol: "volume_up"
924
+ },
925
+ volume: {
926
+ sfSymbol: "speaker.wave.2",
927
+ materialSymbol: "volume_up"
928
+ },
929
+ "volume-x": {
930
+ sfSymbol: "speaker.slash",
931
+ materialSymbol: "volume_off"
932
+ },
933
+ "volume-off": {
934
+ sfSymbol: "speaker.slash",
935
+ materialSymbol: "volume_off"
936
+ },
937
+ camera: {
938
+ sfSymbol: "camera",
939
+ materialSymbol: "photo_camera"
940
+ },
941
+ mic: {
942
+ sfSymbol: "mic",
943
+ materialSymbol: "mic"
944
+ },
945
+ video: {
946
+ sfSymbol: "video",
947
+ materialSymbol: "videocam"
948
+ },
949
+ type: {
950
+ sfSymbol: "textformat",
951
+ materialSymbol: "text_fields"
952
+ },
953
+ bold: {
954
+ sfSymbol: "bold",
955
+ materialSymbol: "format_bold"
956
+ },
957
+ italic: {
958
+ sfSymbol: "italic",
959
+ materialSymbol: "format_italic"
960
+ },
961
+ underline: {
962
+ sfSymbol: "underline",
963
+ materialSymbol: "format_underlined"
964
+ },
965
+ "align-left": {
966
+ sfSymbol: "text.alignleft",
967
+ materialSymbol: "format_align_left"
968
+ },
969
+ "wrap-text": {
970
+ sfSymbol: "text.append",
971
+ materialSymbol: "wrap_text"
972
+ },
973
+ columns: {
974
+ sfSymbol: "rectangle.split.2x1",
975
+ materialSymbol: "view_column"
976
+ },
977
+ "git-commit": {
978
+ sfSymbol: "circle.and.line.horizontal",
979
+ materialSymbol: "commit"
980
+ },
981
+ diamond: {
982
+ sfSymbol: "diamond",
983
+ materialSymbol: "diamond"
984
+ },
985
+ "align-center": {
986
+ sfSymbol: "text.aligncenter",
987
+ materialSymbol: "format_align_center"
988
+ },
989
+ "align-right": {
990
+ sfSymbol: "text.alignright",
991
+ materialSymbol: "format_align_right"
992
+ },
993
+ indent: {
994
+ sfSymbol: "increase.indent",
995
+ materialSymbol: "format_indent_increase"
996
+ },
997
+ "shopping-cart": {
998
+ sfSymbol: "cart",
999
+ materialSymbol: "shopping_cart"
1000
+ },
1001
+ "credit-card": {
1002
+ sfSymbol: "creditcard",
1003
+ materialSymbol: "credit_card"
1004
+ },
1005
+ "map-pin": {
1006
+ sfSymbol: "mappin",
1007
+ materialSymbol: "location_on"
1008
+ },
1009
+ globe: {
1010
+ sfSymbol: "globe",
1011
+ materialSymbol: "public"
1012
+ },
1013
+ wifi: {
1014
+ sfSymbol: "wifi",
1015
+ materialSymbol: "wifi"
1016
+ },
1017
+ battery: {
1018
+ sfSymbol: "battery.100",
1019
+ materialSymbol: "battery_full"
1020
+ },
1021
+ moon: {
1022
+ sfSymbol: "moon",
1023
+ materialSymbol: "dark_mode"
1024
+ },
1025
+ sun: {
1026
+ sfSymbol: "sun.max",
1027
+ materialSymbol: "light_mode"
1028
+ },
1029
+ square: {
1030
+ sfSymbol: "square",
1031
+ materialSymbol: "crop_square"
1032
+ },
1033
+ circle: {
1034
+ sfSymbol: "circle",
1035
+ materialSymbol: "circle"
1036
+ },
1037
+ "book-open": {
1038
+ sfSymbol: "book",
1039
+ materialSymbol: "menu_book"
1040
+ },
1041
+ "calendar-clock": {
1042
+ sfSymbol: "calendar.badge.clock",
1043
+ materialSymbol: "event_note"
1044
+ },
1045
+ "circle-dot": {
1046
+ sfSymbol: "circle.inset.filled",
1047
+ materialSymbol: "radio_button_checked"
1048
+ },
1049
+ "dollar-sign": {
1050
+ sfSymbol: "dollarsign",
1051
+ materialSymbol: "attach_money"
1052
+ },
1053
+ history: {
1054
+ sfSymbol: "clock.arrow.circlepath",
1055
+ materialSymbol: "history"
1056
+ },
1057
+ "image-plus": {
1058
+ sfSymbol: "photo.badge.plus",
1059
+ materialSymbol: "add_photo_alternate"
1060
+ },
1061
+ layers: {
1062
+ sfSymbol: "square.3.layers.3d",
1063
+ materialSymbol: "layers"
1064
+ },
1065
+ "layout-dashboard": {
1066
+ sfSymbol: "rectangle.3.group",
1067
+ materialSymbol: "dashboard"
1068
+ },
1069
+ "message-square-plus": {
1070
+ sfSymbol: "plus.bubble",
1071
+ materialSymbol: "add_comment"
1072
+ },
1073
+ "messages-square": {
1074
+ sfSymbol: "bubble.left.and.bubble.right",
1075
+ materialSymbol: "forum"
1076
+ },
1077
+ "mouse-pointer-click": {
1078
+ sfSymbol: "cursorarrow.click",
1079
+ materialSymbol: "touch_app"
1080
+ },
1081
+ package: {
1082
+ sfSymbol: "shippingbox",
1083
+ materialSymbol: "inventory_2"
1084
+ },
1085
+ "search-x": {
1086
+ sfSymbol: "magnifyingglass",
1087
+ materialSymbol: "search_off"
1088
+ },
1089
+ shield: {
1090
+ sfSymbol: "shield",
1091
+ materialSymbol: "shield"
1092
+ },
1093
+ sparkles: {
1094
+ sfSymbol: "sparkles",
1095
+ materialSymbol: "auto_awesome"
1096
+ },
1097
+ "step-forward": {
1098
+ sfSymbol: "forward.end.fill",
1099
+ materialSymbol: "skip_next"
1100
+ },
1101
+ "thumbs-up": {
1102
+ sfSymbol: "hand.thumbsup",
1103
+ materialSymbol: "thumb_up"
1104
+ },
1105
+ "trending-down": {
1106
+ sfSymbol: "chart.line.downtrend.xyaxis",
1107
+ materialSymbol: "trending_down"
1108
+ },
1109
+ "trending-up": {
1110
+ sfSymbol: "chart.line.uptrend.xyaxis",
1111
+ materialSymbol: "trending_up"
1112
+ },
1113
+ "user-check": {
1114
+ sfSymbol: "person.crop.circle.badge.checkmark",
1115
+ materialSymbol: "how_to_reg"
1116
+ },
1117
+ "arrow-right-circle": {
1118
+ sfSymbol: "arrow.right.circle",
1119
+ materialSymbol: "arrow_circle_right"
1120
+ },
1121
+ atom: {
1122
+ sfSymbol: "atom",
1123
+ materialSymbol: "science"
1124
+ },
1125
+ ban: {
1126
+ sfSymbol: "nosign",
1127
+ materialSymbol: "block"
1128
+ },
1129
+ "bookmark-plus": {
1130
+ sfSymbol: "bookmark",
1131
+ materialSymbol: "bookmark_add"
1132
+ },
1133
+ briefcase: {
1134
+ sfSymbol: "briefcase",
1135
+ materialSymbol: "work"
1136
+ },
1137
+ "building-2": {
1138
+ sfSymbol: "building.2",
1139
+ materialSymbol: "business"
1140
+ },
1141
+ "clipboard-check": {
1142
+ sfSymbol: "checklist",
1143
+ materialSymbol: "assignment_turned_in"
1144
+ },
1145
+ dices: {
1146
+ sfSymbol: "dice",
1147
+ materialSymbol: "casino"
1148
+ },
1149
+ dna: {
1150
+ sfSymbol: "cross.vial",
1151
+ materialSymbol: "biotech"
1152
+ },
1153
+ "door-open": {
1154
+ sfSymbol: "door.left.hand.open",
1155
+ materialSymbol: "meeting_room"
1156
+ },
1157
+ feather: {
1158
+ sfSymbol: "pencil.line",
1159
+ materialSymbol: "draw"
1160
+ },
1161
+ "file-signature": {
1162
+ sfSymbol: "signature",
1163
+ materialSymbol: "history_edu"
1164
+ },
1165
+ "file-up": {
1166
+ sfSymbol: "arrow.up.doc",
1167
+ materialSymbol: "upload_file"
1168
+ },
1169
+ flame: {
1170
+ sfSymbol: "flame",
1171
+ materialSymbol: "local_fire_department"
1172
+ },
1173
+ "flask-conical": {
1174
+ sfSymbol: "flask",
1175
+ materialSymbol: "science"
1176
+ },
1177
+ gift: {
1178
+ sfSymbol: "gift",
1179
+ materialSymbol: "card_giftcard"
1180
+ },
1181
+ handshake: {
1182
+ sfSymbol: "person.2",
1183
+ materialSymbol: "handshake"
1184
+ },
1185
+ "key-round": {
1186
+ sfSymbol: "key",
1187
+ materialSymbol: "vpn_key"
1188
+ },
1189
+ languages: {
1190
+ sfSymbol: "globe",
1191
+ materialSymbol: "translate"
1192
+ },
1193
+ leaf: {
1194
+ sfSymbol: "leaf",
1195
+ materialSymbol: "eco"
1196
+ },
1197
+ lightbulb: {
1198
+ sfSymbol: "lightbulb",
1199
+ materialSymbol: "lightbulb"
1200
+ },
1201
+ "mail-plus": {
1202
+ sfSymbol: "envelope.badge",
1203
+ materialSymbol: "forward_to_inbox"
1204
+ },
1205
+ "maximize-2": {
1206
+ sfSymbol: "arrow.up.left.and.arrow.down.right",
1207
+ materialSymbol: "open_in_full"
1208
+ },
1209
+ network: {
1210
+ sfSymbol: "network",
1211
+ materialSymbol: "hub"
1212
+ },
1213
+ presentation: {
1214
+ sfSymbol: "play.rectangle",
1215
+ materialSymbol: "slideshow"
1216
+ },
1217
+ repeat: {
1218
+ sfSymbol: "repeat",
1219
+ materialSymbol: "repeat"
1220
+ },
1221
+ route: {
1222
+ sfSymbol: "point.topleft.down.to.point.bottomright.curvepath",
1223
+ materialSymbol: "route"
1224
+ },
1225
+ ruler: {
1226
+ sfSymbol: "ruler",
1227
+ materialSymbol: "straighten"
1228
+ },
1229
+ scale: {
1230
+ sfSymbol: "scalemass",
1231
+ materialSymbol: "balance"
1232
+ },
1233
+ scroll: {
1234
+ sfSymbol: "scroll",
1235
+ materialSymbol: "receipt_long"
1236
+ },
1237
+ "shield-check": {
1238
+ sfSymbol: "checkmark.shield",
1239
+ materialSymbol: "verified_user"
1240
+ },
1241
+ sigma: {
1242
+ sfSymbol: "sum",
1243
+ materialSymbol: "functions"
1244
+ },
1245
+ "sticky-note": {
1246
+ sfSymbol: "note.text",
1247
+ materialSymbol: "sticky_note_2"
1248
+ },
1249
+ store: {
1250
+ sfSymbol: "storefront",
1251
+ materialSymbol: "store"
1252
+ },
1253
+ target: {
1254
+ sfSymbol: "scope",
1255
+ materialSymbol: "gps_fixed"
1256
+ },
1257
+ unlink: {
1258
+ sfSymbol: "link",
1259
+ materialSymbol: "link_off"
1260
+ }
1261
+ }};
1262
+
1263
+ // src/lib/iconNativeMap.ts
1264
+ var ICON_FALLBACK = iconNativeMap_default.fallback;
1265
+ var ICON_NATIVE_MAP = iconNativeMap_default.map;
1266
+ var ICON_ALIASES = [
1267
+ "close",
1268
+ "trash",
1269
+ "loader",
1270
+ "stop",
1271
+ "volume",
1272
+ "volume-off",
1273
+ "refresh",
1274
+ "share",
1275
+ "sort-asc",
1276
+ "sort-desc"
1277
+ ];
1278
+ function resolveNativeIcon(name) {
1279
+ const direct = ICON_NATIVE_MAP[name];
1280
+ if (direct) return direct;
1281
+ if (ICON_ALIASES.includes(name)) {
1282
+ const aliased = ICON_NATIVE_MAP[name];
1283
+ if (aliased) return aliased;
1284
+ }
1285
+ return ICON_FALLBACK;
1286
+ }
1287
+
1288
+ export { ApiError, ICON_ALIASES, ICON_FALLBACK, ICON_NATIVE_MAP, JAZARI_COLORS, apiClient, computeJazariLayout, createCommandSendPump, resolveNativeIcon };