@arbidocs/blocks 0.4.82 → 0.4.83

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 (60) hide show
  1. package/dist/agents/index.cjs +279 -279
  2. package/dist/agents/index.js +4 -4
  3. package/dist/agents/workflows/StepBarFrame.d.ts +12 -4
  4. package/dist/{chunk-5XVWGJ2H.cjs → chunk-B3WCKBJ7.cjs} +3 -3
  5. package/dist/{chunk-5XVWGJ2H.cjs.map → chunk-B3WCKBJ7.cjs.map} +1 -1
  6. package/dist/{chunk-THCFZKTM.js → chunk-CONIA2ZA.js} +8 -8
  7. package/dist/chunk-CONIA2ZA.js.map +1 -0
  8. package/dist/{chunk-O35LRB3P.js → chunk-GJV2G4FC.js} +3 -3
  9. package/dist/{chunk-O35LRB3P.js.map → chunk-GJV2G4FC.js.map} +1 -1
  10. package/dist/{chunk-COP6GVKN.js → chunk-RSKSXEPW.js} +57 -19
  11. package/dist/chunk-RSKSXEPW.js.map +1 -0
  12. package/dist/{chunk-IRG5LPDP.js → chunk-RX35SMPR.js} +6 -6
  13. package/dist/{chunk-IRG5LPDP.js.map → chunk-RX35SMPR.js.map} +1 -1
  14. package/dist/{chunk-BX7JWZWE.cjs → chunk-RYYYHPFU.cjs} +8 -8
  15. package/dist/chunk-RYYYHPFU.cjs.map +1 -0
  16. package/dist/{chunk-VWK24TEY.cjs → chunk-XA5S4776.cjs} +45 -45
  17. package/dist/chunk-XA5S4776.cjs.map +1 -0
  18. package/dist/{chunk-LRRJ2HBW.cjs → chunk-ZQYE7J3J.cjs} +54 -14
  19. package/dist/chunk-ZQYE7J3J.cjs.map +1 -0
  20. package/dist/connect/index.cjs +44 -44
  21. package/dist/connect/index.js +4 -4
  22. package/dist/connection/ConnectedWorkflowBuilder.d.ts +9 -2
  23. package/dist/facts/index.cjs +1 -1
  24. package/dist/facts/index.js +1 -1
  25. package/dist/files/index.cjs +22 -3
  26. package/dist/files/index.cjs.map +1 -1
  27. package/dist/files/index.js +22 -4
  28. package/dist/files/index.js.map +1 -1
  29. package/dist/files/views/TagFormParts.d.ts +8 -0
  30. package/dist/files/views/index.d.ts +1 -1
  31. package/dist/home/index.cjs +1 -1
  32. package/dist/home/index.js +1 -1
  33. package/dist/index.cjs +891 -609
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.js +283 -12
  36. package/dist/index.js.map +1 -1
  37. package/dist/settings/index.cjs +35 -35
  38. package/dist/settings/index.js +3 -3
  39. package/dist/shell/index.cjs +1 -1
  40. package/dist/shell/index.js +1 -1
  41. package/dist/studio/index.cjs +1 -1
  42. package/dist/studio/index.js +1 -1
  43. package/dist/tags/TagDetail.d.ts +38 -0
  44. package/dist/tags/TagMatrix.d.ts +27 -8
  45. package/dist/tags/TagsNav.d.ts +44 -0
  46. package/dist/tags/index.d.ts +8 -3
  47. package/dist/tags/tagMatrixDocx.d.ts +4 -1
  48. package/dist/tags/tagMatrixModel.d.ts +10 -6
  49. package/dist/workflow-canvas/index.cjs +82 -64
  50. package/dist/workflow-canvas/index.cjs.map +1 -1
  51. package/dist/workflow-canvas/index.js +40 -22
  52. package/dist/workflow-canvas/index.js.map +1 -1
  53. package/dist/workspaces/index.cjs +1 -1
  54. package/dist/workspaces/index.js +1 -1
  55. package/package.json +4 -4
  56. package/dist/chunk-BX7JWZWE.cjs.map +0 -1
  57. package/dist/chunk-COP6GVKN.js.map +0 -1
  58. package/dist/chunk-LRRJ2HBW.cjs.map +0 -1
  59. package/dist/chunk-THCFZKTM.js.map +0 -1
  60. package/dist/chunk-VWK24TEY.cjs.map +0 -1
@@ -1,25 +1,25 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk5XVWGJ2H_cjs = require('../chunk-5XVWGJ2H.cjs');
4
+ var chunkB3WCKBJ7_cjs = require('../chunk-B3WCKBJ7.cjs');
5
5
  var chunkXMBYDLZQ_cjs = require('../chunk-XMBYDLZQ.cjs');
6
6
  var chunkTZR36PPP_cjs = require('../chunk-TZR36PPP.cjs');
7
7
  var chunkMUMH3Z6K_cjs = require('../chunk-MUMH3Z6K.cjs');
8
8
  var chunkZVBPRMHJ_cjs = require('../chunk-ZVBPRMHJ.cjs');
9
9
  require('../chunk-7YUFMNFW.cjs');
10
- var chunkLRRJ2HBW_cjs = require('../chunk-LRRJ2HBW.cjs');
11
- var chunkBX7JWZWE_cjs = require('../chunk-BX7JWZWE.cjs');
10
+ var chunkZQYE7J3J_cjs = require('../chunk-ZQYE7J3J.cjs');
11
+ var chunkRYYYHPFU_cjs = require('../chunk-RYYYHPFU.cjs');
12
12
  require('../chunk-DETZZBG2.cjs');
13
13
  require('../chunk-7D737FLE.cjs');
14
14
  var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
15
15
  require('../chunk-ADOKTJHV.cjs');
16
- var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
17
16
  var chunkMP6FK43E_cjs = require('../chunk-MP6FK43E.cjs');
18
17
  require('../chunk-VGOFFCMT.cjs');
19
18
  require('../chunk-B4SRYJLM.cjs');
20
19
  require('../chunk-7UTB4PHM.cjs');
21
20
  require('../chunk-PPCATBOY.cjs');
22
21
  var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
22
+ var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
23
23
  require('../chunk-MHVNT4J3.cjs');
24
24
  require('../chunk-DES3K4SD.cjs');
25
25
  var react = require('react');
@@ -190,7 +190,7 @@ function StreamedArtifact({
190
190
  }
191
191
  var STARTING = /* @__PURE__ */ new Set(["pending", "running"]);
192
192
  function formValues(step, inputs) {
193
- const fields = chunkBX7JWZWE_cjs.stepFields(step);
193
+ const fields = chunkRYYYHPFU_cjs.stepFields(step);
194
194
  if (!fields.length) return void 0;
195
195
  if (step.kind === "form")
196
196
  return Object.fromEntries(fields.map((f) => [f.name, inputs[f.name] ?? ""]));
@@ -228,7 +228,7 @@ function useWorkflowThread(workflow, options = {}) {
228
228
  const { wsId } = chunkXMBYDLZQ_cjs.useWorkspaceDocs();
229
229
  const [threadId, setThreadId] = react.useState(options.conversationId);
230
230
  const [localInputs, setLocalInputs] = react.useState(
231
- () => chunkBX7JWZWE_cjs.initialRunInputs(workflow, options.initialInputs)
231
+ () => chunkRYYYHPFU_cjs.initialRunInputs(workflow, options.initialInputs)
232
232
  );
233
233
  const [edits, setEdits] = react.useState({});
234
234
  const [localStates, setLocalStates] = react.useState({});
@@ -248,12 +248,12 @@ function useWorkflowThread(workflow, options = {}) {
248
248
  );
249
249
  const conversation = conversations.data?.find((c) => c.external_id === threadId);
250
250
  const steps = react.useMemo(
251
- () => chunkBX7JWZWE_cjs.workflowSteps(workflow).length > 0 ? chunkBX7JWZWE_cjs.workflowSteps(workflow) : chunkBX7JWZWE_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
251
+ () => chunkRYYYHPFU_cjs.workflowSteps(workflow).length > 0 ? chunkRYYYHPFU_cjs.workflowSteps(workflow) : chunkRYYYHPFU_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
252
252
  [workflow, conversation?.plan?.steps]
253
253
  );
254
254
  const activity = react$1.useConversationActivity(threadId, { live: !!threadId });
255
255
  const serverStates = react.useMemo(
256
- () => chunkBX7JWZWE_cjs.stepStatesFromActivity(activity.data ?? []),
256
+ () => chunkRYYYHPFU_cjs.stepStatesFromActivity(activity.data ?? []),
257
257
  [activity.data]
258
258
  );
259
259
  const working = steps.some(
@@ -305,7 +305,7 @@ function useWorkflowThread(workflow, options = {}) {
305
305
  if (!id) {
306
306
  await ensureWorkspaceOpen();
307
307
  const created = await createWork.mutateAsync({
308
- title: chunkBX7JWZWE_cjs.runThreadTitle(workflow, values).slice(0, 60),
308
+ title: chunkRYYYHPFU_cjs.runThreadTitle(workflow, values).slice(0, 60),
309
309
  description: workflow.description || null,
310
310
  prompt: null,
311
311
  skill_ref: null,
@@ -317,7 +317,7 @@ function useWorkflowThread(workflow, options = {}) {
317
317
  criteria: [],
318
318
  max_passes: 3,
319
319
  documents: [],
320
- steps: chunkBX7JWZWE_cjs.toPlanSteps(workflow, {
320
+ steps: chunkRYYYHPFU_cjs.toPlanSteps(workflow, {
321
321
  inputs: values,
322
322
  resolveWorkflow: options.resolveWorkflow,
323
323
  compose: options.compose
@@ -372,7 +372,7 @@ function useWorkflowThread(workflow, options = {}) {
372
372
  [threadId, act]
373
373
  );
374
374
  const loaded = !options.conversationId || activity.isSuccess || activity.isError;
375
- const view = chunkBX7JWZWE_cjs.useWorkflowView({
375
+ const view = chunkRYYYHPFU_cjs.useWorkflowView({
376
376
  steps,
377
377
  states,
378
378
  inputs,
@@ -444,7 +444,7 @@ function WorkflowSignDialog({
444
444
  const arbi = react$1.useArbi();
445
445
  const { user, ensureWorkspaceOpen } = chunkMUMH3Z6K_cjs.useConnection();
446
446
  const tools = documentTools.useOptionalDocumentTools();
447
- const { id, version } = chunkBX7JWZWE_cjs.splitDocRef(docRef);
447
+ const { id, version } = chunkRYYYHPFU_cjs.splitDocRef(docRef);
448
448
  const [pdf, setPdf] = react.useState(null);
449
449
  const [failed, setFailed] = react.useState(false);
450
450
  react.useEffect(() => {
@@ -496,7 +496,7 @@ function WorkflowWordDialog({
496
496
  onClose,
497
497
  labels
498
498
  }) {
499
- const { id } = chunkBX7JWZWE_cjs.splitDocRef(docRef);
499
+ const { id } = chunkRYYYHPFU_cjs.splitDocRef(docRef);
500
500
  return /* @__PURE__ */ jsxRuntime.jsx(
501
501
  chunkULWRNGGE_cjs.ModalScaffold,
502
502
  {
@@ -630,7 +630,7 @@ function ConnectedWorkflowRunner({
630
630
  () => ({
631
631
  me: user?.externalId,
632
632
  openDocument: onOpenDocument && ((ref) => {
633
- const { id, version } = chunkBX7JWZWE_cjs.splitDocRef(ref);
633
+ const { id, version } = chunkRYYYHPFU_cjs.splitDocRef(ref);
634
634
  onOpenDocument(id, version);
635
635
  }),
636
636
  openDraft: onOpenDraft && ((draftId) => onOpenDraft(draftId)),
@@ -640,7 +640,7 @@ function ConnectedWorkflowRunner({
640
640
  const w = state.waiting;
641
641
  if (w?.doc_ext_id) setDialog({ kind: "sign", docRef: w.doc_ext_id });
642
642
  }),
643
- openRedline: hostActions?.openRedline ?? ((ref) => setDialog({ kind: "word", docRef: ref, title: nameOfDoc(chunkBX7JWZWE_cjs.splitDocRef(ref).id) ?? "" })),
643
+ openRedline: hostActions?.openRedline ?? ((ref) => setDialog({ kind: "word", docRef: ref, title: nameOfDoc(chunkRYYYHPFU_cjs.splitDocRef(ref).id) ?? "" })),
644
644
  openReview: hostActions?.openReview ?? ((tags, documents) => setDialog({ kind: "review", tags, documents }))
645
645
  }),
646
646
  [user?.externalId, onOpenDocument, onOpenDraft, onOpenMessage, hostActions, nameOfDoc, inThread]
@@ -776,7 +776,7 @@ function ConnectedWorkflowRunner({
776
776
  );
777
777
  };
778
778
  const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
779
- chunkBX7JWZWE_cjs.WorkflowRunner,
779
+ chunkRYYYHPFU_cjs.WorkflowRunner,
780
780
  {
781
781
  people,
782
782
  ...runnerProps,
@@ -822,10 +822,10 @@ function ConnectedWorkflowRunner({
822
822
  ) }),
823
823
  inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
824
824
  /* @__PURE__ */ jsxRuntime.jsx(
825
- chunkBX7JWZWE_cjs.WorkflowStepBar,
825
+ chunkRYYYHPFU_cjs.WorkflowStepBar,
826
826
  {
827
827
  run: view,
828
- levels: chunkBX7JWZWE_cjs.stepLevels(view.steps),
828
+ levels: chunkRYYYHPFU_cjs.stepLevels(view.steps),
829
829
  doneTitle: (workflow.run.kind === "steps" ? workflow.run.completion?.title : void 0) ?? runnerProps.labels?.complete ?? "Done",
830
830
  icon: (key) => key && runnerProps.renderIcon ? runnerProps.renderIcon(key) : void 0,
831
831
  tid: (suffix) => `${testIdPrefix}-${suffix}`
@@ -984,17 +984,17 @@ function ConnectedTagMatrix({
984
984
  const fail = (e) => setError(e instanceof Error ? e.message : String(e));
985
985
  const snapshot = (data) => {
986
986
  const title = exportTitle ?? data.parent?.name ?? "Matrix";
987
- const bytes = chunkLRRJ2HBW_cjs.tagMatrixDocx(data, {
987
+ const bytes = chunkZQYE7J3J_cjs.tagMatrixDocx(data, {
988
988
  title,
989
989
  nameOf: (id) => people.find((p) => p.value === id)?.label
990
990
  });
991
991
  const stamp = (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
992
992
  const name = `${title.replace(/[\\/:*?"<>|]+/g, "-")} (${stamp}).docx`;
993
- return { blob: new Blob([bytes], { type: chunkLRRJ2HBW_cjs.DOCX_MIME_TYPE }), name };
993
+ return { blob: new Blob([bytes], { type: chunkZQYE7J3J_cjs.DOCX_MIME_TYPE }), name };
994
994
  };
995
995
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
996
996
  /* @__PURE__ */ jsxRuntime.jsx(
997
- chunkLRRJ2HBW_cjs.TagMatrix,
997
+ chunkZQYE7J3J_cjs.TagMatrix,
998
998
  {
999
999
  ...props,
1000
1000
  matrix: matrix.data,
@@ -1124,12 +1124,12 @@ function ConnectedProfileCard({ notify: notify3, title = "Profile" }) {
1124
1124
  }
1125
1125
  });
1126
1126
  const display = profile?.fullName || user?.name || "Unnamed";
1127
- return /* @__PURE__ */ jsxRuntime.jsx(chunk5XVWGJ2H_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserCircle, {}), title, children: /* @__PURE__ */ jsxRuntime.jsx(
1128
- chunk5XVWGJ2H_cjs.ProfileCard,
1127
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkB3WCKBJ7_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserCircle, {}), title, children: /* @__PURE__ */ jsxRuntime.jsx(
1128
+ chunkB3WCKBJ7_cjs.ProfileCard,
1129
1129
  {
1130
1130
  avatar: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1131
1131
  /* @__PURE__ */ jsxRuntime.jsx(
1132
- chunk5XVWGJ2H_cjs.AvatarPicker,
1132
+ chunkB3WCKBJ7_cjs.AvatarPicker,
1133
1133
  {
1134
1134
  pictureUrl: profile?.picture ?? user?.picture,
1135
1135
  initials: chunkKDG6FER6_cjs.initials(display),
@@ -1171,9 +1171,9 @@ function ConnectedIdentityVerification({
1171
1171
  onNameAccepted: () => notify3?.("Name updated to match your ID", "success")
1172
1172
  });
1173
1173
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1174
- /* @__PURE__ */ jsxRuntime.jsx(chunk5XVWGJ2H_cjs.IdentityVerificationCard, { flow, labels }),
1174
+ /* @__PURE__ */ jsxRuntime.jsx(chunkB3WCKBJ7_cjs.IdentityVerificationCard, { flow, labels }),
1175
1175
  /* @__PURE__ */ jsxRuntime.jsx(
1176
- chunk5XVWGJ2H_cjs.IdentityVerificationDialog,
1176
+ chunkB3WCKBJ7_cjs.IdentityVerificationDialog,
1177
1177
  {
1178
1178
  flow,
1179
1179
  accountName: profile?.fullName ?? "",
@@ -1185,7 +1185,7 @@ function ConnectedIdentityVerification({
1185
1185
  function ConnectedRequireVerified({ children, labels }) {
1186
1186
  const { data: profile } = react$1.useProfile();
1187
1187
  const flow = react$1.useIdentityVerification();
1188
- return /* @__PURE__ */ jsxRuntime.jsx(chunk5XVWGJ2H_cjs.RequireVerified, { flow, accountName: profile?.fullName ?? "", labels, children });
1188
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkB3WCKBJ7_cjs.RequireVerified, { flow, accountName: profile?.fullName ?? "", labels, children });
1189
1189
  }
1190
1190
  function defaultUnmetPasswordRequirement(password) {
1191
1191
  if (password.length < 8) return "Minimum 8 characters";
@@ -1214,10 +1214,10 @@ function ConnectedSecuritySection({
1214
1214
  },
1215
1215
  onClose: () => setOpen(false)
1216
1216
  });
1217
- return /* @__PURE__ */ jsxRuntime.jsxs(chunk5XVWGJ2H_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.KeyRound, {}), title: "Security", children: [
1218
- /* @__PURE__ */ jsxRuntime.jsxs(chunk5XVWGJ2H_cjs.SettingsCard, { padding: "sm", children: [
1217
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkB3WCKBJ7_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.KeyRound, {}), title: "Security", children: [
1218
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkB3WCKBJ7_cjs.SettingsCard, { padding: "sm", children: [
1219
1219
  /* @__PURE__ */ jsxRuntime.jsx(
1220
- chunk5XVWGJ2H_cjs.SettingsActionRow,
1220
+ chunkB3WCKBJ7_cjs.SettingsActionRow,
1221
1221
  {
1222
1222
  title: "Change password",
1223
1223
  description: "Used to sign in and to encrypt your data. Changing it re-encrypts everything in your account.",
@@ -1228,7 +1228,7 @@ function ConnectedSecuritySection({
1228
1228
  children
1229
1229
  ] }),
1230
1230
  /* @__PURE__ */ jsxRuntime.jsx(
1231
- chunk5XVWGJ2H_cjs.PasswordChangeDialog,
1231
+ chunkB3WCKBJ7_cjs.PasswordChangeDialog,
1232
1232
  {
1233
1233
  open,
1234
1234
  onClose: form.onCancel,
@@ -1252,23 +1252,23 @@ function ConnectedSecuritySection({
1252
1252
  ] });
1253
1253
  }
1254
1254
  function ConnectedNotificationPreferences({
1255
- categories = chunk5XVWGJ2H_cjs.EMAIL_NOTIFICATION_CATEGORIES,
1255
+ categories = chunkB3WCKBJ7_cjs.EMAIL_NOTIFICATION_CATEGORIES,
1256
1256
  title = "Notifications"
1257
1257
  }) {
1258
1258
  const keys = react.useMemo(
1259
- () => categories === chunk5XVWGJ2H_cjs.EMAIL_NOTIFICATION_CATEGORIES ? chunk5XVWGJ2H_cjs.EMAIL_NOTIFICATION_KEYS : categories.map((c) => c.key),
1259
+ () => categories === chunkB3WCKBJ7_cjs.EMAIL_NOTIFICATION_CATEGORIES ? chunkB3WCKBJ7_cjs.EMAIL_NOTIFICATION_KEYS : categories.map((c) => c.key),
1260
1260
  [categories]
1261
1261
  );
1262
1262
  const prefs = react$1.useNotificationPreferences(keys);
1263
- return /* @__PURE__ */ jsxRuntime.jsx(chunk5XVWGJ2H_cjs.SettingsSection, { title, children: /* @__PURE__ */ jsxRuntime.jsx(chunk5XVWGJ2H_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
1264
- chunk5XVWGJ2H_cjs.NotificationCategoryList,
1263
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkB3WCKBJ7_cjs.SettingsSection, { title, children: /* @__PURE__ */ jsxRuntime.jsx(chunkB3WCKBJ7_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
1264
+ chunkB3WCKBJ7_cjs.NotificationCategoryList,
1265
1265
  {
1266
1266
  masterId: "emailNotifications",
1267
1267
  masterTitle: "Email Notifications",
1268
1268
  masterDescription: "Email me about activity when I\u2019m away",
1269
1269
  masterChecked: prefs.masterChecked,
1270
1270
  onMasterChange: prefs.setAll,
1271
- categories: chunk5XVWGJ2H_cjs.toNotificationCategories(prefs.checked, categories),
1271
+ categories: chunkB3WCKBJ7_cjs.toNotificationCategories(prefs.checked, categories),
1272
1272
  onCategoryChange: prefs.setCategory
1273
1273
  }
1274
1274
  ) }) });
@@ -1282,14 +1282,14 @@ function ConnectedSessionsRow({
1282
1282
  const sessions = react$1.useSessions({ enabled: open });
1283
1283
  const currentSessionId = react$1.useCurrentSessionId();
1284
1284
  const terminate = react$1.useTerminateSession();
1285
- const views = chunk5XVWGJ2H_cjs.toActiveSessionViews(sessions.data ?? [], {
1285
+ const views = chunkB3WCKBJ7_cjs.toActiveSessionViews(sessions.data ?? [], {
1286
1286
  currentSessionId,
1287
1287
  terminatingId: terminate.isPending ? terminate.variables : null,
1288
1288
  renderIcon: renderSessionIcon
1289
1289
  });
1290
1290
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1291
1291
  /* @__PURE__ */ jsxRuntime.jsx(
1292
- chunk5XVWGJ2H_cjs.SettingsRow,
1292
+ chunkB3WCKBJ7_cjs.SettingsRow,
1293
1293
  {
1294
1294
  label: "Active sessions",
1295
1295
  description: "Devices and agents currently signed in to your account.",
@@ -1311,7 +1311,7 @@ function ConnectedSessionsRow({
1311
1311
  }
1312
1312
  ),
1313
1313
  /* @__PURE__ */ jsxRuntime.jsx(
1314
- chunk5XVWGJ2H_cjs.ActiveSessionsDialog,
1314
+ chunkB3WCKBJ7_cjs.ActiveSessionsDialog,
1315
1315
  {
1316
1316
  open,
1317
1317
  onOpenChange: setOpen,
@@ -1346,7 +1346,7 @@ function ConnectedLogoutDialog({
1346
1346
  const sessions = react$1.useSessions({ enabled: open });
1347
1347
  const logoutAll = react$1.useLogoutAllSessions();
1348
1348
  return /* @__PURE__ */ jsxRuntime.jsx(
1349
- chunk5XVWGJ2H_cjs.LogoutDialog,
1349
+ chunkB3WCKBJ7_cjs.LogoutDialog,
1350
1350
  {
1351
1351
  open,
1352
1352
  onClose,
@@ -1360,7 +1360,7 @@ function ConnectedLogoutDialog({
1360
1360
  },
1361
1361
  canLogoutAll: true,
1362
1362
  isOnline,
1363
- sessions: chunk5XVWGJ2H_cjs.toLogoutSessionViews(sessions.data ?? []),
1363
+ sessions: chunkB3WCKBJ7_cjs.toLogoutSessionViews(sessions.data ?? []),
1364
1364
  renderSessionIcon
1365
1365
  }
1366
1366
  );
@@ -1379,7 +1379,7 @@ function ConnectedDangerZone({ notify: notify3, renderSubscriptionLink }) {
1379
1379
  });
1380
1380
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1381
1381
  /* @__PURE__ */ jsxRuntime.jsx(
1382
- chunk5XVWGJ2H_cjs.SettingsDangerZone,
1382
+ chunkB3WCKBJ7_cjs.SettingsDangerZone,
1383
1383
  {
1384
1384
  isOpen: zoneOpen,
1385
1385
  onToggle: () => setZoneOpen((o) => !o),
@@ -1399,12 +1399,12 @@ function ConnectedDangerZone({ notify: notify3, renderSubscriptionLink }) {
1399
1399
  }
1400
1400
  ),
1401
1401
  /* @__PURE__ */ jsxRuntime.jsx(
1402
- chunk5XVWGJ2H_cjs.DeleteAccountDialog,
1402
+ chunkB3WCKBJ7_cjs.DeleteAccountDialog,
1403
1403
  {
1404
1404
  open: dialogOpen,
1405
1405
  onClose: flow.onClose,
1406
1406
  step: flow.step,
1407
- blockers: chunk5XVWGJ2H_cjs.toDeleteBlockerViews(flow.blockers, renderSubscriptionLink),
1407
+ blockers: chunkB3WCKBJ7_cjs.toDeleteBlockerViews(flow.blockers, renderSubscriptionLink),
1408
1408
  onContinue: flow.onContinue,
1409
1409
  onBack: flow.onBack,
1410
1410
  userEmail: user?.email ?? "",
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { SettingsSection, ProfileCard, AvatarPicker, IdentityVerificationCard, IdentityVerificationDialog, RequireVerified, SettingsCard, SettingsActionRow, PasswordChangeDialog, EMAIL_NOTIFICATION_KEYS, EMAIL_NOTIFICATION_CATEGORIES, NotificationCategoryList, toNotificationCategories, toActiveSessionViews, SettingsRow, ActiveSessionsDialog, LogoutDialog, toLogoutSessionViews, SettingsDangerZone, DeleteAccountDialog, toDeleteBlockerViews } from '../chunk-O35LRB3P.js';
2
+ import { SettingsSection, ProfileCard, AvatarPicker, IdentityVerificationCard, IdentityVerificationDialog, RequireVerified, SettingsCard, SettingsActionRow, PasswordChangeDialog, EMAIL_NOTIFICATION_KEYS, EMAIL_NOTIFICATION_CATEGORIES, NotificationCategoryList, toNotificationCategories, toActiveSessionViews, SettingsRow, ActiveSessionsDialog, LogoutDialog, toLogoutSessionViews, SettingsDangerZone, DeleteAccountDialog, toDeleteBlockerViews } from '../chunk-GJV2G4FC.js';
3
3
  import { useWorkspaceDocs } from '../chunk-XQDM6T6C.js';
4
4
  export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-XQDM6T6C.js';
5
5
  import { ConnectedNativeDocxEditor } from '../chunk-A24C6BNA.js';
@@ -7,19 +7,19 @@ import { ConnectionProvider, useConnection } from '../chunk-OYMWV45N.js';
7
7
  export { ConnectionProvider, SESSION_EXPIRED_MESSAGE, isAuthenticated, useConnection } from '../chunk-OYMWV45N.js';
8
8
  import { SignDocumentDialog } from '../chunk-FE4ULGOR.js';
9
9
  import '../chunk-OPA2Y6YZ.js';
10
- import { TagMatrix, tagMatrixDocx, DOCX_MIME_TYPE } from '../chunk-COP6GVKN.js';
11
- import { splitDocRef, WorkflowStepBar, stepLevels, WorkflowRunner, initialRunInputs, workflowSteps, fromPlanSteps, stepStatesFromActivity, toPlanSteps, runThreadTitle, useWorkflowView, stepFields } from '../chunk-THCFZKTM.js';
10
+ import { TagMatrix, tagMatrixDocx, DOCX_MIME_TYPE } from '../chunk-RSKSXEPW.js';
11
+ import { splitDocRef, WorkflowStepBar, stepLevels, WorkflowRunner, initialRunInputs, workflowSteps, fromPlanSteps, stepStatesFromActivity, toPlanSteps, runThreadTitle, useWorkflowView, stepFields } from '../chunk-CONIA2ZA.js';
12
12
  import '../chunk-EVUEIBNU.js';
13
13
  import '../chunk-XD2M6LIG.js';
14
14
  import { StreamedArtifactFrame } from '../chunk-LOJVUGBJ.js';
15
15
  import '../chunk-VILAPTCB.js';
16
- import { ModalScaffold } from '../chunk-TX2ZICS7.js';
17
16
  import { ChatPage } from '../chunk-EWSEQEPL.js';
18
17
  import '../chunk-KZJAG7T3.js';
19
18
  import '../chunk-HOXKR26S.js';
20
19
  import '../chunk-AA3PT6KR.js';
21
20
  import '../chunk-NPLYHR2E.js';
22
21
  import { initials } from '../chunk-OXF2IFXG.js';
22
+ import { ModalScaffold } from '../chunk-TX2ZICS7.js';
23
23
  import '../chunk-7F6CBP3Z.js';
24
24
  import '../chunk-VUNV25KB.js';
25
25
  import { lazy, useState, Suspense, useEffect, useRef, useCallback, useMemo } from 'react';
@@ -15,6 +15,9 @@ export interface ConnectedWorkflowBuilderLabels {
15
15
  runNow: string;
16
16
  saved: string;
17
17
  needTrigger: string;
18
+ running: string;
19
+ /** Shown when saving, the host's after-save step or the run fails without a message. */
20
+ failed: string;
18
21
  }
19
22
  export declare const DEFAULT_CONNECTED_WORKFLOW_BUILDER_LABELS: ConnectedWorkflowBuilderLabels;
20
23
  /** Workspace events a workflow can start on (notification types), in plain words. */
@@ -33,8 +36,12 @@ export interface ConnectedWorkflowBuilderProps extends Pick<StepComposeOptions,
33
36
  value: string;
34
37
  label: string;
35
38
  }>;
36
- /** Saved (created or updated): its id. */
37
- onSaved?: (workflowId: string) => void;
39
+ /**
40
+ * Saved (created or updated): its id and the value saved. It may return a promise for host setup
41
+ * that must finish first (e.g. granting the chosen agent workspace access): "Save" waits for it
42
+ * before showing saved, and "Run now" waits for it before running, and does not run if it rejects.
43
+ */
44
+ onSaved?: (workflowId: string, value: WorkflowBuilderValue) => void | Promise<void>;
38
45
  /** A run started: its thread. */
39
46
  onRun?: (conversationId: string | undefined) => void;
40
47
  /** Extra host buttons. */
@@ -8,9 +8,9 @@ var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
8
8
  var chunkV4ISCZJ7_cjs = require('../chunk-V4ISCZJ7.cjs');
9
9
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
10
10
  var chunkIXALYQT7_cjs = require('../chunk-IXALYQT7.cjs');
11
- require('../chunk-C54XEN5T.cjs');
12
11
  require('../chunk-FX3K6LNZ.cjs');
13
12
  var chunkPPCATBOY_cjs = require('../chunk-PPCATBOY.cjs');
13
+ require('../chunk-C54XEN5T.cjs');
14
14
  var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
15
15
  var chunkMHVNT4J3_cjs = require('../chunk-MHVNT4J3.cjs');
16
16
  require('../chunk-DES3K4SD.cjs');
@@ -7,9 +7,9 @@ import { SelectionBar, SelectionBarAction } from '../chunk-NUNKSZKU.js';
7
7
  import { FilterInput } from '../chunk-YU2KUMGE.js';
8
8
  export { DEFAULT_FILTER_INPUT_LABELS as DEFAULT_FACTS_FILTER_INPUT_LABELS, DEFAULT_FILTER_FIELDS as FACTS_SEARCH_FIELD_OPTIONS, FilterInput as FactsFilterInput } from '../chunk-YU2KUMGE.js';
9
9
  import { GridView } from '../chunk-ZPLG7QYF.js';
10
- import '../chunk-76JDDMSP.js';
11
10
  import '../chunk-SLSBJRWW.js';
12
11
  import { observeResize } from '../chunk-NPLYHR2E.js';
12
+ import '../chunk-76JDDMSP.js';
13
13
  import { initials } from '../chunk-OXF2IFXG.js';
14
14
  import { testIdOr } from '../chunk-7F6CBP3Z.js';
15
15
  import '../chunk-VUNV25KB.js';
@@ -11,12 +11,12 @@ var chunkV4ISCZJ7_cjs = require('../chunk-V4ISCZJ7.cjs');
11
11
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
12
12
  var chunkIXALYQT7_cjs = require('../chunk-IXALYQT7.cjs');
13
13
  var chunkOB5F4577_cjs = require('../chunk-OB5F4577.cjs');
14
- require('../chunk-C54XEN5T.cjs');
15
- var chunkVLCY46K6_cjs = require('../chunk-VLCY46K6.cjs');
16
- var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
17
14
  require('../chunk-FX3K6LNZ.cjs');
18
15
  require('../chunk-PPCATBOY.cjs');
16
+ require('../chunk-C54XEN5T.cjs');
19
17
  var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
18
+ var chunkVLCY46K6_cjs = require('../chunk-VLCY46K6.cjs');
19
+ var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
20
20
  var chunkMHVNT4J3_cjs = require('../chunk-MHVNT4J3.cjs');
21
21
  require('../chunk-DES3K4SD.cjs');
22
22
  var classVarianceAuthority = require('class-variance-authority');
@@ -6337,6 +6337,24 @@ function TagFormSelectField({
6337
6337
  function TagFormNote({ testId, children }) {
6338
6338
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", "data-testid": testId, children });
6339
6339
  }
6340
+ function TagFormCheckboxField({
6341
+ label,
6342
+ checked,
6343
+ onChange,
6344
+ testId
6345
+ }) {
6346
+ return /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 text-sm text-foreground", children: [
6347
+ /* @__PURE__ */ jsxRuntime.jsx(
6348
+ ui.Checkbox,
6349
+ {
6350
+ checked,
6351
+ onCheckedChange: (value) => onChange(value === true),
6352
+ "data-testid": testId
6353
+ }
6354
+ ),
6355
+ label
6356
+ ] });
6357
+ }
6340
6358
  function TagFormOptionsEditor({
6341
6359
  label,
6342
6360
  options,
@@ -7223,6 +7241,7 @@ exports.RelatedDocsCell = RelatedDocsCell;
7223
7241
  exports.SelectedFilesList = SelectedFilesList;
7224
7242
  exports.StatusPill = StatusPill;
7225
7243
  exports.TagColumnHeader = TagColumnHeader;
7244
+ exports.TagFormCheckboxField = TagFormCheckboxField;
7226
7245
  exports.TagFormField = TagFormField;
7227
7246
  exports.TagFormFooter = TagFormFooter;
7228
7247
  exports.TagFormInstructionField = TagFormInstructionField;