@arbidocs/blocks 0.4.144 → 0.4.145

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 (146) hide show
  1. package/dist/agents/index.cjs +267 -267
  2. package/dist/agents/index.js +10 -10
  3. package/dist/chat/index.cjs +1 -1
  4. package/dist/chat/index.js +1 -1
  5. package/dist/{chunk-BUWBXJ2N.cjs → chunk-34GDGE77.cjs} +5 -5
  6. package/dist/{chunk-BUWBXJ2N.cjs.map → chunk-34GDGE77.cjs.map} +1 -1
  7. package/dist/{chunk-ON3TKY5Y.js → chunk-5YHEHEJT.js} +242 -4
  8. package/dist/chunk-5YHEHEJT.js.map +1 -0
  9. package/dist/{chunk-YFY3TQ6Q.cjs → chunk-COCGRJLA.cjs} +7 -7
  10. package/dist/{chunk-YFY3TQ6Q.cjs.map → chunk-COCGRJLA.cjs.map} +1 -1
  11. package/dist/{chunk-45LRMW54.js → chunk-DN2KI4BU.js} +8 -10
  12. package/dist/chunk-DN2KI4BU.js.map +1 -0
  13. package/dist/{chunk-R26BK7YL.cjs → chunk-DTROMMDX.cjs} +4 -4
  14. package/dist/{chunk-R26BK7YL.cjs.map → chunk-DTROMMDX.cjs.map} +1 -1
  15. package/dist/{chunk-65THHQVB.cjs → chunk-ECW2R2KF.cjs} +27 -27
  16. package/dist/{chunk-65THHQVB.cjs.map → chunk-ECW2R2KF.cjs.map} +1 -1
  17. package/dist/{chunk-RI6DZA5X.js → chunk-EF4ZLKRM.js} +3 -3
  18. package/dist/{chunk-RI6DZA5X.js.map → chunk-EF4ZLKRM.js.map} +1 -1
  19. package/dist/{chunk-WS5EX7DN.cjs → chunk-EYKISBDO.cjs} +5 -5
  20. package/dist/{chunk-WS5EX7DN.cjs.map → chunk-EYKISBDO.cjs.map} +1 -1
  21. package/dist/{chunk-JZNXRMLH.cjs → chunk-GAYMJWTC.cjs} +8 -10
  22. package/dist/chunk-GAYMJWTC.cjs.map +1 -0
  23. package/dist/{chunk-I7WG3JRD.js → chunk-H4D7WKDY.js} +3 -3
  24. package/dist/{chunk-I7WG3JRD.js.map → chunk-H4D7WKDY.js.map} +1 -1
  25. package/dist/{chunk-3RJN2VTL.js → chunk-IXWJGOM2.js} +3 -3
  26. package/dist/{chunk-3RJN2VTL.js.map → chunk-IXWJGOM2.js.map} +1 -1
  27. package/dist/{chunk-7NGAWGA3.js → chunk-J4M37SXY.js} +3 -3
  28. package/dist/{chunk-7NGAWGA3.js.map → chunk-J4M37SXY.js.map} +1 -1
  29. package/dist/{chunk-CYNF5PZI.js → chunk-J5CWKFSC.js} +3 -3
  30. package/dist/{chunk-CYNF5PZI.js.map → chunk-J5CWKFSC.js.map} +1 -1
  31. package/dist/{chunk-TP6PLDNM.cjs → chunk-KMZWKSKO.cjs} +8 -8
  32. package/dist/{chunk-TP6PLDNM.cjs.map → chunk-KMZWKSKO.cjs.map} +1 -1
  33. package/dist/{chunk-XGZX22ET.cjs → chunk-KPO67GBR.cjs} +39 -39
  34. package/dist/{chunk-XGZX22ET.cjs.map → chunk-KPO67GBR.cjs.map} +1 -1
  35. package/dist/{chunk-C4WSHRR6.cjs → chunk-KPZZ5FHE.cjs} +32 -12
  36. package/dist/chunk-KPZZ5FHE.cjs.map +1 -0
  37. package/dist/{chunk-X3TGXEFS.js → chunk-KTSF4HFC.js} +7 -7
  38. package/dist/{chunk-X3TGXEFS.js.map → chunk-KTSF4HFC.js.map} +1 -1
  39. package/dist/{chunk-33ZOUJXA.js → chunk-NGDXDHLG.js} +13 -32
  40. package/dist/chunk-NGDXDHLG.js.map +1 -0
  41. package/dist/chunk-NHZK64TQ.js +75 -0
  42. package/dist/chunk-NHZK64TQ.js.map +1 -0
  43. package/dist/{chunk-BPBSSMRB.js → chunk-NRFAWUVD.js} +3 -3
  44. package/dist/{chunk-BPBSSMRB.js.map → chunk-NRFAWUVD.js.map} +1 -1
  45. package/dist/{chunk-O2ODDTMA.cjs → chunk-NSNHRZBH.cjs} +8 -8
  46. package/dist/{chunk-O2ODDTMA.cjs.map → chunk-NSNHRZBH.cjs.map} +1 -1
  47. package/dist/chunk-NWNVWO6L.cjs +80 -0
  48. package/dist/chunk-NWNVWO6L.cjs.map +1 -0
  49. package/dist/{chunk-Y3KA6X7B.js → chunk-OVR3XMYL.js} +4 -4
  50. package/dist/{chunk-Y3KA6X7B.js.map → chunk-OVR3XMYL.js.map} +1 -1
  51. package/dist/{chunk-2FJMTZNJ.js → chunk-QOL3M4FJ.js} +9 -9
  52. package/dist/{chunk-2FJMTZNJ.js.map → chunk-QOL3M4FJ.js.map} +1 -1
  53. package/dist/{chunk-LYUO3E6V.js → chunk-SZOFGU7W.js} +3 -3
  54. package/dist/{chunk-LYUO3E6V.js.map → chunk-SZOFGU7W.js.map} +1 -1
  55. package/dist/{chunk-YNIBUKV5.js → chunk-TBEVGWY3.js} +32 -14
  56. package/dist/chunk-TBEVGWY3.js.map +1 -0
  57. package/dist/{chunk-MJCCBMM5.cjs → chunk-TC3RQNEX.cjs} +6 -80
  58. package/dist/chunk-TC3RQNEX.cjs.map +1 -0
  59. package/dist/{chunk-QIMVTGKS.cjs → chunk-U73KPFYH.cjs} +255 -2
  60. package/dist/chunk-U73KPFYH.cjs.map +1 -0
  61. package/dist/{chunk-RA3ZJ45L.cjs → chunk-ULPFRK3J.cjs} +25 -44
  62. package/dist/chunk-ULPFRK3J.cjs.map +1 -0
  63. package/dist/{chunk-HFGXA5CL.cjs → chunk-UTTTJSQU.cjs} +4 -4
  64. package/dist/{chunk-HFGXA5CL.cjs.map → chunk-UTTTJSQU.cjs.map} +1 -1
  65. package/dist/{chunk-DLBUFHLY.js → chunk-VTTZZ4FN.js} +4 -74
  66. package/dist/chunk-VTTZZ4FN.js.map +1 -0
  67. package/dist/{chunk-A6J2IBUG.js → chunk-VVZ34A2P.js} +3 -3
  68. package/dist/{chunk-A6J2IBUG.js.map → chunk-VVZ34A2P.js.map} +1 -1
  69. package/dist/{chunk-ABUO6PIQ.cjs → chunk-WO7QAVTL.cjs} +13 -13
  70. package/dist/{chunk-ABUO6PIQ.cjs.map → chunk-WO7QAVTL.cjs.map} +1 -1
  71. package/dist/{chunk-5FTIHRZH.cjs → chunk-XVUOMWMD.cjs} +4 -4
  72. package/dist/{chunk-5FTIHRZH.cjs.map → chunk-XVUOMWMD.cjs.map} +1 -1
  73. package/dist/{chunk-444XKG46.js → chunk-YKQ2DPIP.js} +3 -3
  74. package/dist/{chunk-444XKG46.js.map → chunk-YKQ2DPIP.js.map} +1 -1
  75. package/dist/{chunk-HEMU73OP.cjs → chunk-YSHIC4NJ.cjs} +4 -4
  76. package/dist/{chunk-HEMU73OP.cjs.map → chunk-YSHIC4NJ.cjs.map} +1 -1
  77. package/dist/citations/index.cjs +12 -12
  78. package/dist/citations/index.js +3 -3
  79. package/dist/collaboration/index.cjs +9 -9
  80. package/dist/collaboration/index.js +1 -1
  81. package/dist/connect/docx.cjs +11 -11
  82. package/dist/connect/docx.js +8 -8
  83. package/dist/connect/index.cjs +716 -329
  84. package/dist/connect/index.cjs.map +1 -1
  85. package/dist/connect/index.d.ts +1 -0
  86. package/dist/connect/index.js +591 -217
  87. package/dist/connect/index.js.map +1 -1
  88. package/dist/connection/ConnectedSettings.d.ts +3 -2
  89. package/dist/connection/ai.d.ts +27 -72
  90. package/dist/connection/settings-page/ConnectedAccountSettings.d.ts +35 -0
  91. package/dist/connection/settings-page/ConnectedMailSettings.d.ts +13 -0
  92. package/dist/connection/settings-page/ConnectedPremiumModels.d.ts +1 -0
  93. package/dist/connection/settings-page/ConnectedPrivacySettings.d.ts +12 -0
  94. package/dist/connection/settings-page/ConnectedSettingsPage.d.ts +29 -0
  95. package/dist/connection/settings-page/SessionStatusIcon.d.ts +7 -0
  96. package/dist/connection/settings-page/index.d.ts +6 -0
  97. package/dist/connection/workspaceData.d.ts +6 -6
  98. package/dist/document-tools/index.cjs +1 -1
  99. package/dist/document-tools/index.js +1 -1
  100. package/dist/facts/index.cjs +4 -4
  101. package/dist/facts/index.js +3 -3
  102. package/dist/files/index.cjs +3 -3
  103. package/dist/files/index.js +2 -2
  104. package/dist/home/index.cjs +20 -20
  105. package/dist/home/index.js +4 -4
  106. package/dist/index.cjs +476 -467
  107. package/dist/index.cjs.map +1 -1
  108. package/dist/index.d.ts +1 -0
  109. package/dist/index.js +23 -22
  110. package/dist/index.js.map +1 -1
  111. package/dist/provider/BlocksProvider.d.ts +5 -1
  112. package/dist/provider/settings-section.d.ts +9 -0
  113. package/dist/retrieval/index.cjs +4 -4
  114. package/dist/retrieval/index.js +2 -2
  115. package/dist/settings/AppearanceSettings.d.ts +18 -0
  116. package/dist/settings/ServerConnectionControls.d.ts +16 -0
  117. package/dist/settings/SettingsPage.d.ts +31 -0
  118. package/dist/settings/index.cjs +187 -250
  119. package/dist/settings/index.cjs.map +1 -1
  120. package/dist/settings/index.d.ts +3 -1
  121. package/dist/settings/index.js +87 -199
  122. package/dist/settings/index.js.map +1 -1
  123. package/dist/shell/index.cjs +44 -44
  124. package/dist/shell/index.js +3 -3
  125. package/dist/site/index.cjs +75 -74
  126. package/dist/site/index.js +4 -3
  127. package/dist/studio/index.cjs +80 -79
  128. package/dist/studio/index.cjs.map +1 -1
  129. package/dist/studio/index.js +12 -11
  130. package/dist/studio/index.js.map +1 -1
  131. package/dist/workflow-canvas/index.cjs +28 -28
  132. package/dist/workflow-canvas/index.js +11 -11
  133. package/dist/workspaces/index.cjs +3 -3
  134. package/dist/workspaces/index.js +2 -2
  135. package/node_modules/@arbidocs/coedit/package.json +1 -1
  136. package/package.json +4 -4
  137. package/dist/chunk-33ZOUJXA.js.map +0 -1
  138. package/dist/chunk-45LRMW54.js.map +0 -1
  139. package/dist/chunk-C4WSHRR6.cjs.map +0 -1
  140. package/dist/chunk-DLBUFHLY.js.map +0 -1
  141. package/dist/chunk-JZNXRMLH.cjs.map +0 -1
  142. package/dist/chunk-MJCCBMM5.cjs.map +0 -1
  143. package/dist/chunk-ON3TKY5Y.js.map +0 -1
  144. package/dist/chunk-QIMVTGKS.cjs.map +0 -1
  145. package/dist/chunk-RA3ZJ45L.cjs.map +0 -1
  146. package/dist/chunk-YNIBUKV5.js.map +0 -1
@@ -3,23 +3,24 @@
3
3
 
4
4
  var chunkODRHHWHY_cjs = require('../chunk-ODRHHWHY.cjs');
5
5
  var chunkGFNELPDP_cjs = require('../chunk-GFNELPDP.cjs');
6
- var chunkTP6PLDNM_cjs = require('../chunk-TP6PLDNM.cjs');
7
- var chunkMJCCBMM5_cjs = require('../chunk-MJCCBMM5.cjs');
8
- var chunkPCB2BPN3_cjs = require('../chunk-PCB2BPN3.cjs');
6
+ var chunkKMZWKSKO_cjs = require('../chunk-KMZWKSKO.cjs');
7
+ var chunkTC3RQNEX_cjs = require('../chunk-TC3RQNEX.cjs');
8
+ require('../chunk-NWNVWO6L.cjs');
9
9
  var chunkELR74ME6_cjs = require('../chunk-ELR74ME6.cjs');
10
10
  require('../chunk-VPPX5XUF.cjs');
11
+ var chunkPCB2BPN3_cjs = require('../chunk-PCB2BPN3.cjs');
11
12
  var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
12
- require('../chunk-R26BK7YL.cjs');
13
+ require('../chunk-DTROMMDX.cjs');
13
14
  require('../chunk-5A2QQAF5.cjs');
14
15
  require('../chunk-B6MVQCXW.cjs');
15
16
  require('../chunk-JKB7WT7L.cjs');
16
17
  require('../chunk-JSTKEZBS.cjs');
17
18
  require('../chunk-76L6LOP3.cjs');
18
- require('../chunk-7UTB4PHM.cjs');
19
19
  require('../chunk-32HW2Q33.cjs');
20
+ require('../chunk-7UTB4PHM.cjs');
20
21
  require('../chunk-PPCATBOY.cjs');
21
22
  require('../chunk-MHVNT4J3.cjs');
22
- var chunkC4WSHRR6_cjs = require('../chunk-C4WSHRR6.cjs');
23
+ var chunkKPZZ5FHE_cjs = require('../chunk-KPZZ5FHE.cjs');
23
24
  require('../chunk-ULWRNGGE.cjs');
24
25
  var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
25
26
  require('../chunk-DES3K4SD.cjs');
@@ -124,7 +125,7 @@ function LiveMetricInner({
124
125
  const query = source === "documents" ? docs : convos;
125
126
  const count = Array.isArray(query.data) ? query.data.length : 0;
126
127
  return /* @__PURE__ */ jsxRuntime.jsx(
127
- chunkTP6PLDNM_cjs.MetricCard,
128
+ chunkKMZWKSKO_cjs.MetricCard,
128
129
  {
129
130
  label: label || METRIC_SOURCES[source].label,
130
131
  value: query.isLoading ? "\u2014" : String(count),
@@ -248,7 +249,7 @@ function createArbiMaterializer(arbi, opts = {}) {
248
249
  }
249
250
  function collectAssetRefs(node, acc) {
250
251
  if (typeof node === "string") {
251
- if (chunkMJCCBMM5_cjs.isAssetRef(node)) acc.add(node);
252
+ if (chunkTC3RQNEX_cjs.isAssetRef(node)) acc.add(node);
252
253
  return;
253
254
  }
254
255
  if (Array.isArray(node)) {
@@ -282,7 +283,7 @@ async function materializePageData(data, materialize) {
282
283
  const replacements = /* @__PURE__ */ new Map();
283
284
  await Promise.all(
284
285
  [...refs].map(async (ref) => {
285
- const src = await materialize(chunkMJCCBMM5_cjs.assetRefId(ref));
286
+ const src = await materialize(chunkTC3RQNEX_cjs.assetRefId(ref));
286
287
  if (src) replacements.set(ref, src);
287
288
  })
288
289
  );
@@ -306,7 +307,7 @@ function StudioEditor({
306
307
  resetSeam = false
307
308
  }) {
308
309
  const arbi = react$1.useArbi();
309
- const { notify } = chunkC4WSHRR6_cjs.useBlocksEnvironment();
310
+ const { notify } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
310
311
  const materialize = react.useMemo(
311
312
  () => createArbiMaterializer(arbi, { publishAsset }),
312
313
  [arbi, publishAsset]
@@ -388,7 +389,7 @@ function StudioEditor({
388
389
  radius: stored.radius ?? defaultTheme.radius,
389
390
  activePresetId: null
390
391
  });
391
- chunkMJCCBMM5_cjs.applyStoredTheme(themeBundle);
392
+ chunkTC3RQNEX_cjs.applyStoredTheme(themeBundle);
392
393
  })();
393
394
  return () => {
394
395
  cancelled = true;
@@ -494,7 +495,7 @@ function StudioEditor({
494
495
  "\u201D\u2026"
495
496
  ]
496
497
  }
497
- ) : /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.AssetResolverProvider, { render: AssetThumb, children: /* @__PURE__ */ jsxRuntime.jsx(
498
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.AssetResolverProvider, { render: AssetThumb, children: /* @__PURE__ */ jsxRuntime.jsx(
498
499
  puck.Puck,
499
500
  {
500
501
  config,
@@ -512,7 +513,7 @@ function StudioEditor({
512
513
  className: "w-80 shrink-0 border-l border-border",
513
514
  "data-testid": `${testIdPrefix}-theme-drawer`,
514
515
  children: /* @__PURE__ */ jsxRuntime.jsx(
515
- chunkMJCCBMM5_cjs.ThemeEditor,
516
+ chunkTC3RQNEX_cjs.ThemeEditor,
516
517
  {
517
518
  bundle: themeBundle,
518
519
  variant: "drawer",
@@ -554,7 +555,7 @@ function PageRenderer({
554
555
  const page = initialData ?? (await persistence.loadPublished(arbi, live, slug)).data ?? (await persistence.loadPage(arbi, live, slug)).data;
555
556
  if (cancelled) return;
556
557
  if (applyTheme) {
557
- chunkMJCCBMM5_cjs.applyThemeVars(
558
+ chunkTC3RQNEX_cjs.applyThemeVars(
558
559
  theme ? { ...defaultTheme, ...theme, colors: { ...defaultTheme.colors, ...theme.colors } } : defaultTheme
559
560
  );
560
561
  }
@@ -798,7 +799,7 @@ function AiTextField({
798
799
  setActive(true);
799
800
  await task.run(buildPrompt({ kind, label, current: value ?? "" }), docIds);
800
801
  };
801
- const inputTid = chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-field`, name);
802
+ const inputTid = chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-field`, name);
802
803
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "al-ai-field", children: [
803
804
  multiline ? /* @__PURE__ */ jsxRuntime.jsx(
804
805
  "textarea",
@@ -827,7 +828,7 @@ function AiTextField({
827
828
  className: "al-ai-field__btn",
828
829
  onClick: () => void write(),
829
830
  disabled: task.isRunning,
830
- "data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-ai-write`, name),
831
+ "data-testid": chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-ai-write`, name),
831
832
  title: "Draft this field with AI, grounded in the marketing workspace",
832
833
  children: [
833
834
  task.isRunning ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-3 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "size-3" }),
@@ -930,9 +931,9 @@ function ImageFieldControl({
930
931
  const arbi = react$1.useArbi();
931
932
  const gen = useImageGen();
932
933
  const queryClient = reactQuery.useQueryClient();
933
- const currentAssetImage = useAssetImage(chunkMJCCBMM5_cjs.isAssetRef(value) ? chunkMJCCBMM5_cjs.assetRefId(value) : "");
934
- const tp = (...q) => chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-image`, name, ...q);
935
- const refreshAssets = () => queryClient.invalidateQueries({ queryKey: ["arbi", "documents", workspaceId] });
934
+ const currentAssetImage = useAssetImage(chunkTC3RQNEX_cjs.isAssetRef(value) ? chunkTC3RQNEX_cjs.assetRefId(value) : "");
935
+ const tp = (...q) => chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-image`, name, ...q);
936
+ const refreshAssets = (id) => react$1.refreshDocuments(queryClient, arbi, [id]);
936
937
  const { data: docs } = react$1.useDocuments(workspaceId);
937
938
  const imageDocs = react.useMemo(
938
939
  () => (docs ?? []).filter(
@@ -965,8 +966,8 @@ function ImageFieldControl({
965
966
  const res = await arbi.documents.uploadFile(file, name2, { folder });
966
967
  const id = res.doc_ext_ids?.[0];
967
968
  if (id) {
968
- onChange(chunkMJCCBMM5_cjs.asAssetRef(id));
969
- void refreshAssets();
969
+ onChange(chunkTC3RQNEX_cjs.asAssetRef(id));
970
+ void refreshAssets(id);
970
971
  }
971
972
  } finally {
972
973
  setBusy(false);
@@ -983,9 +984,9 @@ function ImageFieldControl({
983
984
  if (!prompt.trim() || gen.isGenerating) return;
984
985
  const id = await gen.generate(prompt, refIds);
985
986
  if (id) {
986
- onChange(chunkMJCCBMM5_cjs.asAssetRef(id));
987
+ onChange(chunkTC3RQNEX_cjs.asAssetRef(id));
987
988
  setRefIds([]);
988
- void refreshAssets();
989
+ void refreshAssets(id);
989
990
  }
990
991
  };
991
992
  const MODES = [
@@ -998,7 +999,7 @@ function ImageFieldControl({
998
999
  const tabClass = (on) => `inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium ${on ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:text-foreground"}`;
999
1000
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", "data-testid": tp(), children: [
1000
1001
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
1001
- /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.BlockImage, { src: value, aspect: "16:9", rounded: "md", testId: tp("preview") }),
1002
+ /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.BlockImage, { src: value, aspect: "16:9", rounded: "md", testId: tp("preview") }),
1002
1003
  currentAssetImage ? /* @__PURE__ */ jsxRuntime.jsxs(
1003
1004
  "button",
1004
1005
  {
@@ -1032,12 +1033,12 @@ function ImageFieldControl({
1032
1033
  imageDocs.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "col-span-3 py-3 text-center text-xs text-muted-foreground", children: "No image assets yet \u2014 upload or generate one." }),
1033
1034
  imageDocs.map((d) => {
1034
1035
  const thumb = thumbs?.[d.external_id];
1035
- const selected = value === chunkMJCCBMM5_cjs.asAssetRef(d.external_id);
1036
+ const selected = value === chunkTC3RQNEX_cjs.asAssetRef(d.external_id);
1036
1037
  return /* @__PURE__ */ jsxRuntime.jsx(
1037
1038
  "button",
1038
1039
  {
1039
1040
  type: "button",
1040
- onClick: () => onChange(chunkMJCCBMM5_cjs.asAssetRef(d.external_id)),
1041
+ onClick: () => onChange(chunkTC3RQNEX_cjs.asAssetRef(d.external_id)),
1041
1042
  className: `overflow-hidden rounded border ${selected ? "border-primary ring-1 ring-primary" : "border-border"}`,
1042
1043
  title: d.file_name ?? "",
1043
1044
  "data-testid": tp("asset", d.external_id),
@@ -1099,14 +1100,14 @@ function ImageFieldControl({
1099
1100
  "Reference images",
1100
1101
  refIds.length > 0 ? ` (${refIds.length})` : " (optional)"
1101
1102
  ] }),
1102
- chunkMJCCBMM5_cjs.isAssetRef(value) && /* @__PURE__ */ jsxRuntime.jsx(
1103
+ chunkTC3RQNEX_cjs.isAssetRef(value) && /* @__PURE__ */ jsxRuntime.jsx(
1103
1104
  "button",
1104
1105
  {
1105
1106
  type: "button",
1106
1107
  className: "text-xs font-medium text-primary hover:underline",
1107
- onClick: () => toggleRef(chunkMJCCBMM5_cjs.assetRefId(value)),
1108
+ onClick: () => toggleRef(chunkTC3RQNEX_cjs.assetRefId(value)),
1108
1109
  "data-testid": tp("vary-current"),
1109
- children: refIds.includes(chunkMJCCBMM5_cjs.assetRefId(value)) ? "Varying current" : "Vary current image"
1110
+ children: refIds.includes(chunkTC3RQNEX_cjs.assetRefId(value)) ? "Varying current" : "Vary current image"
1110
1111
  }
1111
1112
  )
1112
1113
  ] }),
@@ -1320,7 +1321,7 @@ function createBlockKit(ai, image, eyebrowClassName) {
1320
1321
  }),
1321
1322
  iconField: (label = "Icon") => ({ type: "select", label, options: ICON_OPTIONS }),
1322
1323
  resolveIcon: (name) => name ? iconMap[name] : void 0,
1323
- blockTestId: (id) => chunkMJCCBMM5_cjs.tid("arbi-block", id)
1324
+ blockTestId: (id) => chunkTC3RQNEX_cjs.tid("arbi-block", id)
1324
1325
  };
1325
1326
  }
1326
1327
  var emptySlot = [];
@@ -1385,7 +1386,7 @@ function createWebsiteBlocks(kit) {
1385
1386
  render: ({ id, count, gap, col1, col2, col3, col4 }) => {
1386
1387
  const n = Number(count) || 3;
1387
1388
  const columns = [col1, col2, col3, col4].slice(0, n).map(renderSlot);
1388
- return /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Columns, { count: n, gap, columns, testId: blockTestId(id) });
1389
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.Columns, { count: n, gap, columns, testId: blockTestId(id) });
1389
1390
  }
1390
1391
  };
1391
1392
  const SpacerBlock = {
@@ -1403,7 +1404,7 @@ function createWebsiteBlocks(kit) {
1403
1404
  }
1404
1405
  },
1405
1406
  defaultProps: { size: "md" },
1406
- render: ({ id, size }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Spacer, { size, testId: blockTestId(id) })
1407
+ render: ({ id, size }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.Spacer, { size, testId: blockTestId(id) })
1407
1408
  };
1408
1409
  const ContainerBlock = {
1409
1410
  label: "Container",
@@ -1431,7 +1432,7 @@ function createWebsiteBlocks(kit) {
1431
1432
  children: { type: "slot" }
1432
1433
  },
1433
1434
  defaultProps: { width: "default", padding: "md", children: emptySlot },
1434
- render: ({ id, width, padding, children }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Container, { width, padding, testId: blockTestId(id), children: renderSlot(children) })
1435
+ render: ({ id, width, padding, children }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.Container, { width, padding, testId: blockTestId(id), children: renderSlot(children) })
1435
1436
  };
1436
1437
  const HeroBlock = {
1437
1438
  label: "Hero",
@@ -1482,7 +1483,7 @@ function createWebsiteBlocks(kit) {
1482
1483
  backgroundImage,
1483
1484
  overlay
1484
1485
  }) => /* @__PURE__ */ jsxRuntime.jsx(
1485
- chunkMJCCBMM5_cjs.Hero,
1486
+ chunkTC3RQNEX_cjs.Hero,
1486
1487
  {
1487
1488
  eyebrow,
1488
1489
  title,
@@ -1554,7 +1555,7 @@ function createWebsiteBlocks(kit) {
1554
1555
  icon: resolveIcon(it.icon)
1555
1556
  })
1556
1557
  );
1557
- return /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.FeatureGrid, { columns, items: list, testId: blockTestId(id) });
1558
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.FeatureGrid, { columns, items: list, testId: blockTestId(id) });
1558
1559
  }
1559
1560
  };
1560
1561
  const StatGroupBlock = {
@@ -1579,7 +1580,7 @@ function createWebsiteBlocks(kit) {
1579
1580
  { value: "24/7", label: "Support" }
1580
1581
  ]
1581
1582
  },
1582
- render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTP6PLDNM_cjs.StatGroup, { items, testId: blockTestId(id) })
1583
+ render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKMZWKSKO_cjs.StatGroup, { items, testId: blockTestId(id) })
1583
1584
  };
1584
1585
  const TestimonialBlock = {
1585
1586
  label: "Testimonial",
@@ -1596,7 +1597,7 @@ function createWebsiteBlocks(kit) {
1596
1597
  avatarUrl: ""
1597
1598
  },
1598
1599
  render: ({ id, quote, author, role, avatarUrl }) => /* @__PURE__ */ jsxRuntime.jsx(
1599
- chunkMJCCBMM5_cjs.Testimonial,
1600
+ chunkTC3RQNEX_cjs.Testimonial,
1600
1601
  {
1601
1602
  quote,
1602
1603
  author,
@@ -1625,7 +1626,7 @@ function createWebsiteBlocks(kit) {
1625
1626
  overlay: true
1626
1627
  },
1627
1628
  render: ({ id, title, subtitle, cta, tone, backgroundImage, overlay }) => /* @__PURE__ */ jsxRuntime.jsx(
1628
- chunkMJCCBMM5_cjs.CTABanner,
1629
+ chunkTC3RQNEX_cjs.CTABanner,
1629
1630
  {
1630
1631
  title,
1631
1632
  subtitle,
@@ -1657,7 +1658,7 @@ function createWebsiteBlocks(kit) {
1657
1658
  { label: "Umbrella" }
1658
1659
  ]
1659
1660
  },
1660
- render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.LogoCloud, { items, testId: blockTestId(id) })
1661
+ render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.LogoCloud, { items, testId: blockTestId(id) })
1661
1662
  };
1662
1663
  const FAQBlock = {
1663
1664
  label: "FAQ",
@@ -1689,7 +1690,7 @@ function createWebsiteBlocks(kit) {
1689
1690
  }
1690
1691
  ]
1691
1692
  },
1692
- render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.FAQ, { items, testId: blockTestId(id) })
1693
+ render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.FAQ, { items, testId: blockTestId(id) })
1693
1694
  };
1694
1695
  const TimelineBlockConfig = {
1695
1696
  label: "Timeline",
@@ -1764,7 +1765,7 @@ function createWebsiteBlocks(kit) {
1764
1765
  defaultProps: {
1765
1766
  content: "## About us\n\nWe build tools that help teams do their best work. Our platform combines **power** and _simplicity_ so you can focus on what matters.\n\n- Fast to learn\n- Easy to scale\n- Loved by teams"
1766
1767
  },
1767
- render: ({ id, content }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.RichTextBlock, { content, testId: blockTestId(id) })
1768
+ render: ({ id, content }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.RichTextBlock, { content, testId: blockTestId(id) })
1768
1769
  };
1769
1770
  const CalloutBlock = {
1770
1771
  label: "Callout",
@@ -1818,7 +1819,7 @@ function createWebsiteBlocks(kit) {
1818
1819
  },
1819
1820
  defaultProps: { src: "", alt: "Image", aspect: "16:9", rounded: "lg", framed: false },
1820
1821
  render: ({ id, src, alt, aspect, rounded, framed }) => /* @__PURE__ */ jsxRuntime.jsx(
1821
- chunkMJCCBMM5_cjs.BlockImage,
1822
+ chunkTC3RQNEX_cjs.BlockImage,
1822
1823
  {
1823
1824
  src,
1824
1825
  alt,
@@ -1846,7 +1847,7 @@ function createWebsiteBlocks(kit) {
1846
1847
  }
1847
1848
  },
1848
1849
  defaultProps: { src: "", name: "Jane Doe", size: "md" },
1849
- render: ({ id, src, name, size }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.AvatarBlock, { src, name, size, testId: blockTestId(id) })
1850
+ render: ({ id, src, name, size }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.AvatarBlock, { src, name, size, testId: blockTestId(id) })
1850
1851
  };
1851
1852
  const NavbarBlock = {
1852
1853
  label: "Navbar",
@@ -1874,7 +1875,7 @@ function createWebsiteBlocks(kit) {
1874
1875
  ],
1875
1876
  cta: { label: "Sign up", href: "#" }
1876
1877
  },
1877
- render: ({ id, brand, links, cta }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Navbar, { brand, links, cta, testId: blockTestId(id) })
1878
+ render: ({ id, brand, links, cta }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.Navbar, { brand, links, cta, testId: blockTestId(id) })
1878
1879
  };
1879
1880
  const FooterBlock = {
1880
1881
  label: "Footer",
@@ -1933,7 +1934,7 @@ function createWebsiteBlocks(kit) {
1933
1934
  ],
1934
1935
  copyright: "\xA9 2026 Acme, Inc. All rights reserved."
1935
1936
  },
1936
- render: ({ id, columns, copyright }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Footer, { columns, copyright, testId: blockTestId(id) })
1937
+ render: ({ id, columns, copyright }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.Footer, { columns, copyright, testId: blockTestId(id) })
1937
1938
  };
1938
1939
  const ListBlockConfig = {
1939
1940
  label: "List",
@@ -1951,7 +1952,7 @@ function createWebsiteBlocks(kit) {
1951
1952
  ordered: false,
1952
1953
  items: [{ text: "First item" }, { text: "Second item" }, { text: "Third item" }]
1953
1954
  },
1954
- render: ({ id, ordered, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.ListBlock, { ordered, items, testId: blockTestId(id) })
1955
+ render: ({ id, ordered, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.ListBlock, { ordered, items, testId: blockTestId(id) })
1955
1956
  };
1956
1957
  return {
1957
1958
  Columns: ColumnsBlock,
@@ -2054,7 +2055,7 @@ function createSiteBlocks(kit) {
2054
2055
  ]
2055
2056
  },
2056
2057
  render: ({ id, plans }) => /* @__PURE__ */ jsxRuntime.jsx(
2057
- chunkMJCCBMM5_cjs.PricingTable,
2058
+ chunkTC3RQNEX_cjs.PricingTable,
2058
2059
  {
2059
2060
  plans: (plans ?? []).map(
2060
2061
  (p) => ({
@@ -2092,7 +2093,7 @@ function createSiteBlocks(kit) {
2092
2093
  { label: "FAQ", content: "Answers to common questions." }
2093
2094
  ]
2094
2095
  },
2095
- render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Tabs, { items, testId: blockTestId(id) })
2096
+ render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.Tabs, { items, testId: blockTestId(id) })
2096
2097
  };
2097
2098
  const AccordionBlock = {
2098
2099
  label: "Accordion",
@@ -2116,7 +2117,7 @@ function createSiteBlocks(kit) {
2116
2117
  { title: "How does billing work?", content: "Monthly or annually, cancel anytime." }
2117
2118
  ]
2118
2119
  },
2119
- render: ({ id, allowMultiple, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Accordion, { allowMultiple, items, testId: blockTestId(id) })
2120
+ render: ({ id, allowMultiple, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.Accordion, { allowMultiple, items, testId: blockTestId(id) })
2120
2121
  };
2121
2122
  const GalleryBlock = {
2122
2123
  label: "Gallery",
@@ -2152,7 +2153,7 @@ function createSiteBlocks(kit) {
2152
2153
  { src: "", alt: "Image three", caption: "" }
2153
2154
  ]
2154
2155
  },
2155
- render: ({ id, columns, aspect, images }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Gallery, { columns, aspect, images, testId: blockTestId(id) })
2156
+ render: ({ id, columns, aspect, images }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.Gallery, { columns, aspect, images, testId: blockTestId(id) })
2156
2157
  };
2157
2158
  const VideoBlock = {
2158
2159
  label: "Video",
@@ -2172,7 +2173,7 @@ function createSiteBlocks(kit) {
2172
2173
  },
2173
2174
  defaultProps: { url: "", title: "", aspect: "16:9", rounded: true },
2174
2175
  render: ({ id, url, title, aspect, rounded }) => /* @__PURE__ */ jsxRuntime.jsx(
2175
- chunkMJCCBMM5_cjs.VideoEmbed,
2176
+ chunkTC3RQNEX_cjs.VideoEmbed,
2176
2177
  {
2177
2178
  url,
2178
2179
  title,
@@ -2221,7 +2222,7 @@ function createSiteBlocks(kit) {
2221
2222
  ]
2222
2223
  },
2223
2224
  render: ({ id, submitLabel, action, successMessage, fields }) => /* @__PURE__ */ jsxRuntime.jsx(
2224
- chunkMJCCBMM5_cjs.ContactForm,
2225
+ chunkTC3RQNEX_cjs.ContactForm,
2225
2226
  {
2226
2227
  submitLabel,
2227
2228
  action: action || void 0,
@@ -2251,7 +2252,7 @@ function createSiteBlocks(kit) {
2251
2252
  cta: { label: "Read more", href: "#" },
2252
2253
  tone: "primary"
2253
2254
  },
2254
- render: ({ id, text, cta, tone }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Banner, { text, cta, tone, testId: blockTestId(id) })
2255
+ render: ({ id, text, cta, tone }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.Banner, { text, cta, tone, testId: blockTestId(id) })
2255
2256
  };
2256
2257
  const MediaTextBlock = {
2257
2258
  label: "Media & text",
@@ -2279,7 +2280,7 @@ function createSiteBlocks(kit) {
2279
2280
  cta: { label: "Learn more", href: "#" }
2280
2281
  },
2281
2282
  render: ({ id, eyebrow, title, body, imageUrl, mediaSide, cta }) => /* @__PURE__ */ jsxRuntime.jsx(
2282
- chunkMJCCBMM5_cjs.MediaText,
2283
+ chunkTC3RQNEX_cjs.MediaText,
2283
2284
  {
2284
2285
  eyebrow,
2285
2286
  title,
@@ -2316,7 +2317,7 @@ function createSiteBlocks(kit) {
2316
2317
  { name: "Jordan Lee", role: "Lead Engineer", bio: "", avatarUrl: "" }
2317
2318
  ]
2318
2319
  },
2319
- render: ({ id, columns, members }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.TeamGrid, { columns, members, testId: blockTestId(id) })
2320
+ render: ({ id, columns, members }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.TeamGrid, { columns, members, testId: blockTestId(id) })
2320
2321
  };
2321
2322
  const StepsBlock = {
2322
2323
  label: "Steps",
@@ -2348,7 +2349,7 @@ function createSiteBlocks(kit) {
2348
2349
  { title: "Launch", description: "Go live and start seeing results." }
2349
2350
  ]
2350
2351
  },
2351
- render: ({ id, variant, steps }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Steps, { variant, steps, testId: blockTestId(id) })
2352
+ render: ({ id, variant, steps }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.Steps, { variant, steps, testId: blockTestId(id) })
2352
2353
  };
2353
2354
  const TestimonialGridBlock = {
2354
2355
  label: "Testimonial grid",
@@ -2390,7 +2391,7 @@ function createSiteBlocks(kit) {
2390
2391
  }
2391
2392
  ]
2392
2393
  },
2393
- render: ({ id, columns, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.TestimonialGrid, { columns, items, testId: blockTestId(id) })
2394
+ render: ({ id, columns, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.TestimonialGrid, { columns, items, testId: blockTestId(id) })
2394
2395
  };
2395
2396
  return {
2396
2397
  Pricing: PricingBlock,
@@ -2434,7 +2435,7 @@ function createArbiBlocksConfig(opts = {}) {
2434
2435
  },
2435
2436
  defaultProps: { title: "Section title", align: "left", invert: false },
2436
2437
  render: ({ id, title, eyebrow, lead, align, invert }) => /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": blockTestId(id), children: /* @__PURE__ */ jsxRuntime.jsx(
2437
- chunkMJCCBMM5_cjs.SectionHeading,
2438
+ chunkTC3RQNEX_cjs.SectionHeading,
2438
2439
  {
2439
2440
  title,
2440
2441
  eyebrow,
@@ -2457,7 +2458,7 @@ function createArbiBlocksConfig(opts = {}) {
2457
2458
  },
2458
2459
  defaultProps: { title: "Page title", actions: emptySlot2 },
2459
2460
  render: ({ id, title, eyebrow, description, actions: Actions }) => /* @__PURE__ */ jsxRuntime.jsx(
2460
- chunkTP6PLDNM_cjs.PageHeader,
2461
+ chunkKMZWKSKO_cjs.PageHeader,
2461
2462
  {
2462
2463
  title,
2463
2464
  eyebrow,
@@ -2524,7 +2525,7 @@ function createArbiBlocksConfig(opts = {}) {
2524
2525
  },
2525
2526
  defaultProps: { label: "Metric", value: "0", accent: "default" },
2526
2527
  render: ({ id, label, value, hint, accent, delta, icon }) => /* @__PURE__ */ jsxRuntime.jsx(
2527
- chunkTP6PLDNM_cjs.MetricCard,
2528
+ chunkKMZWKSKO_cjs.MetricCard,
2528
2529
  {
2529
2530
  label,
2530
2531
  value,
@@ -2640,7 +2641,7 @@ function createArbiBlocksConfig(opts = {}) {
2640
2641
  field: col.field || `col-${index}`
2641
2642
  }));
2642
2643
  return /* @__PURE__ */ jsxRuntime.jsx(
2643
- chunkTP6PLDNM_cjs.DataTableBlock,
2644
+ chunkKMZWKSKO_cjs.DataTableBlock,
2644
2645
  {
2645
2646
  columns: normalisedCols,
2646
2647
  rows: recordRows,
@@ -3028,7 +3029,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
3028
3029
  {
3029
3030
  variant: "elevated",
3030
3031
  className: "rounded-lg",
3031
- "data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-modules-section`, group.section),
3032
+ "data-testid": chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-modules-section`, group.section),
3032
3033
  children: [
3033
3034
  /* @__PURE__ */ jsxRuntime.jsx(ui.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.CardTitle, { className: "text-base", children: group.section }) }),
3034
3035
  /* @__PURE__ */ jsxRuntime.jsx(ui.CardContent, { className: "space-y-1.5", children: group.modules.map((m, idx) => {
@@ -3037,7 +3038,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
3037
3038
  "div",
3038
3039
  {
3039
3040
  className: "flex items-center gap-3 rounded-md border border-border/60 bg-card px-3 py-2",
3040
- "data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-module`, m.id),
3041
+ "data-testid": chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-module`, m.id),
3041
3042
  children: [
3042
3043
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
3043
3044
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3049,7 +3050,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
3049
3050
  disabled: idx === 0,
3050
3051
  onClick: () => move(m.id, "up"),
3051
3052
  "aria-label": `Move ${m.label} up`,
3052
- "data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-module-up`, m.id),
3053
+ "data-testid": chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-module-up`, m.id),
3053
3054
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "size-3.5" })
3054
3055
  }
3055
3056
  ),
@@ -3062,7 +3063,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
3062
3063
  disabled: idx === group.modules.length - 1,
3063
3064
  onClick: () => move(m.id, "down"),
3064
3065
  "aria-label": `Move ${m.label} down`,
3065
- "data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-module-down`, m.id),
3066
+ "data-testid": chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-module-down`, m.id),
3066
3067
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "size-3.5" })
3067
3068
  }
3068
3069
  )
@@ -3082,7 +3083,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
3082
3083
  checked: m.enabled,
3083
3084
  onCheckedChange: () => toggle2(m.id),
3084
3085
  "aria-label": `Enable ${m.label}`,
3085
- "data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-module-toggle`, m.id)
3086
+ "data-testid": chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-module-toggle`, m.id)
3086
3087
  }
3087
3088
  )
3088
3089
  ]
@@ -3114,7 +3115,7 @@ function ConfigModelBadge({ configId, testIdPrefix }) {
3114
3115
  ui.Badge,
3115
3116
  {
3116
3117
  variant: TIER_VARIANT[tier] ?? "secondary",
3117
- "data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-agents-config-tier`, configId),
3118
+ "data-testid": chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-agents-config-tier`, configId),
3118
3119
  children: [
3119
3120
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Cpu, { className: "size-3" }),
3120
3121
  " ",
@@ -3151,14 +3152,14 @@ function AgentsPanel({ store, testIdPrefix = "builder" }) {
3151
3152
  "label",
3152
3153
  {
3153
3154
  className: "flex cursor-pointer items-center gap-3 rounded-md border border-border/60 bg-card px-3 py-2",
3154
- "data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-agents-config`, v.external_id),
3155
+ "data-testid": chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-agents-config`, v.external_id),
3155
3156
  children: [
3156
3157
  /* @__PURE__ */ jsxRuntime.jsx(
3157
3158
  ui.Checkbox,
3158
3159
  {
3159
3160
  checked: configIds.includes(v.external_id),
3160
3161
  onCheckedChange: () => toggleConfig(v.external_id),
3161
- "data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-agents-config-toggle`, v.external_id)
3162
+ "data-testid": chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-agents-config-toggle`, v.external_id)
3162
3163
  }
3163
3164
  ),
3164
3165
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
@@ -3187,14 +3188,14 @@ function AgentsPanel({ store, testIdPrefix = "builder" }) {
3187
3188
  "label",
3188
3189
  {
3189
3190
  className: "flex cursor-pointer items-center gap-3 rounded-md border border-border/60 bg-card px-3 py-2",
3190
- "data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-agents-agent`, a.external_id),
3191
+ "data-testid": chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-agents-agent`, a.external_id),
3191
3192
  children: [
3192
3193
  /* @__PURE__ */ jsxRuntime.jsx(
3193
3194
  ui.Checkbox,
3194
3195
  {
3195
3196
  checked: agentIds.includes(a.external_id),
3196
3197
  onCheckedChange: () => toggleAgent(a.external_id),
3197
- "data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-agents-agent-toggle`, a.external_id)
3198
+ "data-testid": chunkTC3RQNEX_cjs.tid(`${testIdPrefix}-agents-agent-toggle`, a.external_id)
3198
3199
  }
3199
3200
  ),
3200
3201
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
@@ -3281,7 +3282,7 @@ function VerticalBuilder({
3281
3282
  ] })
3282
3283
  ] }),
3283
3284
  /* @__PURE__ */ jsxRuntime.jsx(ui.TabsContent, { value: "theme", children: /* @__PURE__ */ jsxRuntime.jsx(
3284
- chunkMJCCBMM5_cjs.ThemeEditor,
3285
+ chunkTC3RQNEX_cjs.ThemeEditor,
3285
3286
  {
3286
3287
  bundle: themeBundle,
3287
3288
  variant: "panel",
@@ -3307,31 +3308,31 @@ function VerticalBuilder({
3307
3308
 
3308
3309
  Object.defineProperty(exports, "ASSET_REF_PREFIX", {
3309
3310
  enumerable: true,
3310
- get: function () { return chunkMJCCBMM5_cjs.ASSET_REF_PREFIX; }
3311
+ get: function () { return chunkTC3RQNEX_cjs.ASSET_REF_PREFIX; }
3311
3312
  });
3312
3313
  Object.defineProperty(exports, "AssetResolverProvider", {
3313
3314
  enumerable: true,
3314
- get: function () { return chunkMJCCBMM5_cjs.AssetResolverProvider; }
3315
+ get: function () { return chunkTC3RQNEX_cjs.AssetResolverProvider; }
3315
3316
  });
3316
3317
  Object.defineProperty(exports, "asAssetRef", {
3317
3318
  enumerable: true,
3318
- get: function () { return chunkMJCCBMM5_cjs.asAssetRef; }
3319
+ get: function () { return chunkTC3RQNEX_cjs.asAssetRef; }
3319
3320
  });
3320
3321
  Object.defineProperty(exports, "assetRefId", {
3321
3322
  enumerable: true,
3322
- get: function () { return chunkMJCCBMM5_cjs.assetRefId; }
3323
+ get: function () { return chunkTC3RQNEX_cjs.assetRefId; }
3323
3324
  });
3324
3325
  Object.defineProperty(exports, "isAssetRef", {
3325
3326
  enumerable: true,
3326
- get: function () { return chunkMJCCBMM5_cjs.isAssetRef; }
3327
+ get: function () { return chunkTC3RQNEX_cjs.isAssetRef; }
3327
3328
  });
3328
3329
  Object.defineProperty(exports, "useAssetRenderer", {
3329
3330
  enumerable: true,
3330
- get: function () { return chunkMJCCBMM5_cjs.useAssetRenderer; }
3331
+ get: function () { return chunkTC3RQNEX_cjs.useAssetRenderer; }
3331
3332
  });
3332
3333
  Object.defineProperty(exports, "useAssetResolverActive", {
3333
3334
  enumerable: true,
3334
- get: function () { return chunkMJCCBMM5_cjs.useAssetResolverActive; }
3335
+ get: function () { return chunkTC3RQNEX_cjs.useAssetResolverActive; }
3335
3336
  });
3336
3337
  exports.AgentsPanel = AgentsPanel;
3337
3338
  exports.AssetThumb = AssetThumb;