@arbidocs/blocks 0.4.73 → 0.4.74

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 (58) hide show
  1. package/dist/agents/index.cjs +253 -253
  2. package/dist/agents/index.js +3 -3
  3. package/dist/agents/workflows/WorkflowRunner.d.ts +20 -4
  4. package/dist/agents/workflows/WorkflowStepBar.d.ts +23 -0
  5. package/dist/agents/workflows/run.d.ts +1 -0
  6. package/dist/agents/workflows/types.d.ts +2 -0
  7. package/dist/chat/index.cjs +124 -124
  8. package/dist/chat/index.js +3 -3
  9. package/dist/{chunk-IUR565UW.cjs → chunk-5LP54CWR.cjs} +32 -32
  10. package/dist/chunk-5LP54CWR.cjs.map +1 -0
  11. package/dist/{chunk-3SFFTSOI.cjs → chunk-7CVF3DK2.cjs} +5 -5
  12. package/dist/{chunk-3SFFTSOI.cjs.map → chunk-7CVF3DK2.cjs.map} +1 -1
  13. package/dist/{chunk-V3L5DONY.cjs → chunk-B4SRYJLM.cjs} +31 -2
  14. package/dist/chunk-B4SRYJLM.cjs.map +1 -0
  15. package/dist/{chunk-WOYUXVVQ.cjs → chunk-HITAN7JF.cjs} +4 -4
  16. package/dist/{chunk-WOYUXVVQ.cjs.map → chunk-HITAN7JF.cjs.map} +1 -1
  17. package/dist/{chunk-3VQYJBOI.js → chunk-HOXKR26S.js} +31 -4
  18. package/dist/chunk-HOXKR26S.js.map +1 -0
  19. package/dist/{chunk-KJ3QEKOJ.cjs → chunk-IPGKTUF7.cjs} +7 -33
  20. package/dist/chunk-IPGKTUF7.cjs.map +1 -0
  21. package/dist/{chunk-QDNXEB3T.js → chunk-KOSGX3UK.js} +5 -5
  22. package/dist/chunk-KOSGX3UK.js.map +1 -0
  23. package/dist/{chunk-ORA2XE7U.js → chunk-MK6NJQGF.js} +3 -3
  24. package/dist/{chunk-ORA2XE7U.js.map → chunk-MK6NJQGF.js.map} +1 -1
  25. package/dist/{chunk-GTNUQBXI.cjs → chunk-P2RBE3FD.cjs} +254 -102
  26. package/dist/chunk-P2RBE3FD.cjs.map +1 -0
  27. package/dist/{chunk-G5DP27DU.js → chunk-UIWLDSTF.js} +3 -29
  28. package/dist/chunk-UIWLDSTF.js.map +1 -0
  29. package/dist/{chunk-VRPRAU3J.js → chunk-WJEKRSPH.js} +3 -3
  30. package/dist/{chunk-VRPRAU3J.js.map → chunk-WJEKRSPH.js.map} +1 -1
  31. package/dist/{chunk-2P3T23C7.js → chunk-YWYVIQ7T.js} +256 -104
  32. package/dist/chunk-YWYVIQ7T.js.map +1 -0
  33. package/dist/connect/index.cjs +95 -36
  34. package/dist/connect/index.cjs.map +1 -1
  35. package/dist/connect/index.js +80 -21
  36. package/dist/connect/index.js.map +1 -1
  37. package/dist/connection/ConnectedWorkflowRunner.d.ts +5 -1
  38. package/dist/connection/useWorkflowThread.d.ts +4 -0
  39. package/dist/index.cjs +382 -382
  40. package/dist/index.js +6 -6
  41. package/dist/studio/index.cjs +4 -4
  42. package/dist/studio/index.js +3 -3
  43. package/dist/workflow-canvas/StepInspector.d.ts +11 -0
  44. package/dist/workflow-canvas/WorkflowCanvas.d.ts +6 -2
  45. package/dist/workflow-canvas/index.cjs +200 -90
  46. package/dist/workflow-canvas/index.cjs.map +1 -1
  47. package/dist/workflow-canvas/index.js +168 -58
  48. package/dist/workflow-canvas/index.js.map +1 -1
  49. package/dist/workflow-canvas/viewport.d.ts +47 -0
  50. package/package.json +4 -4
  51. package/dist/chunk-2P3T23C7.js.map +0 -1
  52. package/dist/chunk-3VQYJBOI.js.map +0 -1
  53. package/dist/chunk-G5DP27DU.js.map +0 -1
  54. package/dist/chunk-GTNUQBXI.cjs.map +0 -1
  55. package/dist/chunk-IUR565UW.cjs.map +0 -1
  56. package/dist/chunk-KJ3QEKOJ.cjs.map +0 -1
  57. package/dist/chunk-QDNXEB3T.js.map +0 -1
  58. package/dist/chunk-V3L5DONY.cjs.map +0 -1
@@ -3,7 +3,7 @@
3
3
 
4
4
  var chunkYJQVLVBJ_cjs = require('./chunk-YJQVLVBJ.cjs');
5
5
  var chunkZW6FPIFC_cjs = require('./chunk-ZW6FPIFC.cjs');
6
- var chunkGTNUQBXI_cjs = require('./chunk-GTNUQBXI.cjs');
6
+ var chunkP2RBE3FD_cjs = require('./chunk-P2RBE3FD.cjs');
7
7
  var chunk7RGLTF76_cjs = require('./chunk-7RGLTF76.cjs');
8
8
  var chunk3AFWGEDJ_cjs = require('./chunk-3AFWGEDJ.cjs');
9
9
  var chunkVFUWWH52_cjs = require('./chunk-VFUWWH52.cjs');
@@ -12,7 +12,7 @@ var chunk2EI7NCUA_cjs = require('./chunk-2EI7NCUA.cjs');
12
12
  var chunkZ5VUZ6YD_cjs = require('./chunk-Z5VUZ6YD.cjs');
13
13
  var chunk7D737FLE_cjs = require('./chunk-7D737FLE.cjs');
14
14
  var chunkOB5F4577_cjs = require('./chunk-OB5F4577.cjs');
15
- var chunkV3L5DONY_cjs = require('./chunk-V3L5DONY.cjs');
15
+ var chunkB4SRYJLM_cjs = require('./chunk-B4SRYJLM.cjs');
16
16
  var chunk7UTB4PHM_cjs = require('./chunk-7UTB4PHM.cjs');
17
17
  var chunkFX3K6LNZ_cjs = require('./chunk-FX3K6LNZ.cjs');
18
18
  var chunkC54XEN5T_cjs = require('./chunk-C54XEN5T.cjs');
@@ -144,7 +144,7 @@ function WorkflowConfigDialog({
144
144
  }) {
145
145
  const l = { ...DEFAULT_WORKFLOW_CONFIG_DIALOG_LABELS, ...labels };
146
146
  const initialKey = JSON.stringify(initialInputs ?? {});
147
- const seedKey = JSON.stringify({ ...chunkGTNUQBXI_cjs.defaultInputs(workflow), ...JSON.parse(initialKey) });
147
+ const seedKey = JSON.stringify({ ...chunkP2RBE3FD_cjs.defaultInputs(workflow), ...JSON.parse(initialKey) });
148
148
  const seed = react.useMemo(() => JSON.parse(seedKey), [seedKey]);
149
149
  const [inputs, setInputs] = useControllableState(inputsProp, seed, onInputsChange);
150
150
  const [agentId, setAgentId] = useControllableState(
@@ -156,7 +156,7 @@ function WorkflowConfigDialog({
156
156
  if (open && inputsProp === void 0) setInputs(seed);
157
157
  }, [open, seed]);
158
158
  const setField = (name, value) => setInputs({ ...inputs, [name]: value });
159
- const errors = chunkGTNUQBXI_cjs.validateInputs(workflow, inputs);
159
+ const errors = chunkP2RBE3FD_cjs.validateInputs(workflow, inputs);
160
160
  const valid = Object.keys(errors).length === 0;
161
161
  const visibleErrors = Object.fromEntries(
162
162
  Object.entries(errors).filter(([, e]) => e !== "required")
@@ -169,7 +169,7 @@ function WorkflowConfigDialog({
169
169
  const blockedByScope = matchedCount !== null && matchedCount === 0 && Boolean(workflow.requiresFiles);
170
170
  const showAgent = workflow.run.kind === "prompt" && workflow.options?.agent !== false && agents !== void 0 && agents.length > 0;
171
171
  const launch = (values) => {
172
- Promise.resolve(onLaunch(chunkGTNUQBXI_cjs.buildLaunch(workflow, values, agentId))).catch(() => {
172
+ Promise.resolve(onLaunch(chunkP2RBE3FD_cjs.buildLaunch(workflow, values, agentId))).catch(() => {
173
173
  });
174
174
  };
175
175
  const submit = () => {
@@ -247,7 +247,7 @@ function WorkflowConfigDialog({
247
247
  }
248
248
  ) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
249
249
  /* @__PURE__ */ jsxRuntime.jsx(
250
- chunkGTNUQBXI_cjs.SchemaForm,
250
+ chunkP2RBE3FD_cjs.SchemaForm,
251
251
  {
252
252
  fields,
253
253
  values: inputs,
@@ -325,7 +325,7 @@ function resolveScopeInputs(workflow, inputs, scopeSource) {
325
325
  for (const field of workflow.inputs) {
326
326
  if (field.type !== "scope") continue;
327
327
  const raw = inputs[field.name];
328
- const scope = chunkGTNUQBXI_cjs.isWorkflowScope(raw) ? raw : { folders: [], labels: [] };
328
+ const scope = chunkP2RBE3FD_cjs.isWorkflowScope(raw) ? raw : { folders: [], labels: [] };
329
329
  next[field.name] = { ...scope, documents: scopeSource.resolveDocuments(scope) };
330
330
  }
331
331
  return next;
@@ -367,9 +367,9 @@ function WorkflowLauncher({
367
367
  };
368
368
  const select = (workflow) => {
369
369
  if (workflow.run.kind === "operation" && workflow.inputs.length === 0) {
370
- const inputs = chunkGTNUQBXI_cjs.defaultInputs(workflow);
371
- if (Object.keys(chunkGTNUQBXI_cjs.validateInputs(workflow, inputs)).length === 0) {
372
- Promise.resolve(onLaunch(chunkGTNUQBXI_cjs.buildLaunch(workflow, inputs, void 0))).catch(() => {
370
+ const inputs = chunkP2RBE3FD_cjs.defaultInputs(workflow);
371
+ if (Object.keys(chunkP2RBE3FD_cjs.validateInputs(workflow, inputs)).length === 0) {
372
+ Promise.resolve(onLaunch(chunkP2RBE3FD_cjs.buildLaunch(workflow, inputs, void 0))).catch(() => {
373
373
  });
374
374
  return;
375
375
  }
@@ -519,7 +519,7 @@ function workflowToSkillMarkdown(workflow) {
519
519
  if (workflow.landing !== "chat") lines.push(`landing: ${workflow.landing}`);
520
520
  if (workflow.requiresFiles) lines.push("requires_files: true");
521
521
  if (workflow.inputs.length > 0) {
522
- lines.push(`inputs: ${JSON.stringify(workflow.inputs.map(chunkGTNUQBXI_cjs.fieldToFrontmatter))}`);
522
+ lines.push(`inputs: ${JSON.stringify(workflow.inputs.map(chunkP2RBE3FD_cjs.fieldToFrontmatter))}`);
523
523
  }
524
524
  lines.push("---", "", run.promptTemplate.trim(), "");
525
525
  return lines.join("\n");
@@ -541,11 +541,11 @@ function workflowFromSkillMarkdown(id, text) {
541
541
  } else if (value === "true" || value === "false") frontmatter[key] = value === "true";
542
542
  else frontmatter[key] = value;
543
543
  }
544
- return chunkGTNUQBXI_cjs.workflowFromFrontmatter(id, frontmatter, body);
544
+ return chunkP2RBE3FD_cjs.workflowFromFrontmatter(id, frontmatter, body);
545
545
  }
546
546
  function useWorkflowPreview(workflow, { answer = "{prompt}", delayMs = 400, resolveWorkflow, compose } = {}) {
547
- const steps = chunkGTNUQBXI_cjs.workflowSteps(workflow);
548
- const [inputs, setInputs] = react.useState(() => chunkGTNUQBXI_cjs.initialRunInputs(workflow));
547
+ const steps = chunkP2RBE3FD_cjs.workflowSteps(workflow);
548
+ const [inputs, setInputs] = react.useState(() => chunkP2RBE3FD_cjs.initialRunInputs(workflow));
549
549
  const [states, setStates] = react.useState({});
550
550
  const set = (id, state) => setStates((s) => ({ ...s, [id]: state }));
551
551
  const timers = react.useRef(/* @__PURE__ */ new Map());
@@ -566,10 +566,10 @@ function useWorkflowPreview(workflow, { answer = "{prompt}", delayMs = 400, reso
566
566
  }, []);
567
567
  react.useEffect(() => {
568
568
  if (Object.values(states).some((s) => s.status === "running")) return;
569
- const next = steps.find((s) => s.kind === "agent" && chunkGTNUQBXI_cjs.stepPhase(steps, states, s.id) === "ready");
569
+ const next = steps.find((s) => s.kind === "agent" && chunkP2RBE3FD_cjs.stepPhase(steps, states, s.id) === "ready");
570
570
  if (!next || next.kind !== "agent") return;
571
- const prompt = chunkGTNUQBXI_cjs.composeStepPrompt(workflow, next, inputs, { resolveWorkflow, compose });
572
- set(next.id, { status: "running" });
571
+ const prompt = chunkP2RBE3FD_cjs.composeStepPrompt(workflow, next, inputs, { resolveWorkflow, compose });
572
+ set(next.id, { status: "running", startedAt: (/* @__PURE__ */ new Date()).toISOString() });
573
573
  timers.current.set(
574
574
  next.id,
575
575
  setTimeout(() => {
@@ -578,7 +578,7 @@ function useWorkflowPreview(workflow, { answer = "{prompt}", delayMs = 400, reso
578
578
  }, delayMs)
579
579
  );
580
580
  }, [states, steps, workflow]);
581
- return chunkGTNUQBXI_cjs.useWorkflowView({
581
+ return chunkP2RBE3FD_cjs.useWorkflowView({
582
582
  steps,
583
583
  states,
584
584
  inputs,
@@ -4640,7 +4640,7 @@ function TaskStartDialog({
4640
4640
  setSourceOpen(false);
4641
4641
  }, [open]);
4642
4642
  const textareaRef = react.useRef(null);
4643
- const mention = chunkV3L5DONY_cjs.useMentionAutocomplete({
4643
+ const mention = chunkB4SRYJLM_cjs.useMentionAutocomplete({
4644
4644
  value: prompt,
4645
4645
  onValueChange: setPrompt,
4646
4646
  candidates: people,
@@ -4991,7 +4991,7 @@ function workflowTaskFields(workflow, inputs, name, context) {
4991
4991
  }
4992
4992
  const typed = name?.trim();
4993
4993
  if (workflow.options?.agent === false) {
4994
- const message = chunkGTNUQBXI_cjs.composeWorkflowPrompt(workflow, inputs, context);
4994
+ const message = chunkP2RBE3FD_cjs.composeWorkflowPrompt(workflow, inputs, context);
4995
4995
  return { name: typed || message, prompt: "", skill_ref: null, skill_inputs: null };
4996
4996
  }
4997
4997
  const derived = typed || deriveWorkflowName(workflow, inputs);
@@ -5005,7 +5005,7 @@ function workflowTaskFields(workflow, inputs, name, context) {
5005
5005
  }
5006
5006
  return {
5007
5007
  name: derived,
5008
- prompt: chunkGTNUQBXI_cjs.composeWorkflowPrompt(workflow, inputs, context),
5008
+ prompt: chunkP2RBE3FD_cjs.composeWorkflowPrompt(workflow, inputs, context),
5009
5009
  skill_ref: null,
5010
5010
  // The files a run is bound to travel in the saved inputs, whatever the template: the server binds
5011
5011
  // the run to the ids listed under any input's `documents`.
@@ -6474,7 +6474,7 @@ function groupThreadActivity(steps, items) {
6474
6474
  continue;
6475
6475
  }
6476
6476
  if (current === void 0) out.before.push(item);
6477
- else if (chunkGTNUQBXI_cjs.isRunFinished(steps, states)) out.after.push(item);
6477
+ else if (chunkP2RBE3FD_cjs.isRunFinished(steps, states)) out.after.push(item);
6478
6478
  else {
6479
6479
  const status = states[current]?.status;
6480
6480
  const at = status === "done" || status === "skipped" ? steps.find((s) => !["done", "skipped"].includes(states[s.id]?.status ?? ""))?.id ?? current : current;
@@ -6547,7 +6547,7 @@ function WorkflowThreadStrip({
6547
6547
  chevron
6548
6548
  ] }, item.id)),
6549
6549
  steps.map((step, i) => {
6550
- const phase = chunkGTNUQBXI_cjs.stepPhase(steps, states, step.id);
6550
+ const phase = chunkP2RBE3FD_cjs.stepPhase(steps, states, step.id);
6551
6551
  const happened = grouped.byStep[step.id] ?? [];
6552
6552
  const chip = /* @__PURE__ */ jsxRuntime.jsxs(
6553
6553
  "span",
@@ -7036,7 +7036,7 @@ function defaultTaskComposerValues(workflows, initial) {
7036
7036
  return {
7037
7037
  assignee: "me",
7038
7038
  workflowId,
7039
- inputs: workflow ? { ...chunkGTNUQBXI_cjs.defaultInputs(workflow), ...initial?.inputs } : { ...initial?.inputs },
7039
+ inputs: workflow ? { ...chunkP2RBE3FD_cjs.defaultInputs(workflow), ...initial?.inputs } : { ...initial?.inputs },
7040
7040
  when: "manual",
7041
7041
  runAt: "",
7042
7042
  rrule: "",
@@ -7145,7 +7145,7 @@ function WorkflowComposer({
7145
7145
  return !docs?.length;
7146
7146
  })
7147
7147
  );
7148
- const whatMissing = !workflow || Object.keys(chunkGTNUQBXI_cjs.validateInputs({ ...workflow, inputs: fields }, values.inputs)).length > 0;
7148
+ const whatMissing = !workflow || Object.keys(chunkP2RBE3FD_cjs.validateInputs({ ...workflow, inputs: fields }, values.inputs)).length > 0;
7149
7149
  const runAtPast = values.when === "once" && values.runAt !== "" && values.runAt !== initialValues?.runAt && new Date(values.runAt).getTime() <= Date.now();
7150
7150
  const whenMissing = missingWhen(values, runAtPast);
7151
7151
  const scheduled = values.when !== "now" && values.when !== "manual";
@@ -7157,7 +7157,7 @@ function WorkflowComposer({
7157
7157
  setValues({
7158
7158
  ...values,
7159
7159
  workflowId: next,
7160
- inputs: def ? chunkGTNUQBXI_cjs.defaultInputs(def) : {},
7160
+ inputs: def ? chunkP2RBE3FD_cjs.defaultInputs(def) : {},
7161
7161
  ...def?.documentAction ? { access: "standing" } : {}
7162
7162
  });
7163
7163
  };
@@ -7295,7 +7295,7 @@ function WorkflowComposer({
7295
7295
  }
7296
7296
  ),
7297
7297
  !noFiles && workflow && fields.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
7298
- chunkGTNUQBXI_cjs.SchemaForm,
7298
+ chunkP2RBE3FD_cjs.SchemaForm,
7299
7299
  {
7300
7300
  fields,
7301
7301
  values: values.inputs,
@@ -7734,7 +7734,7 @@ function WorkTaskComposer({
7734
7734
  }, [open]);
7735
7735
  const workflow = workflows.find((w) => w.id === values.workflowId);
7736
7736
  const fields = workflow?.inputs ?? [];
7737
- const errors = workflow ? chunkGTNUQBXI_cjs.validateInputs({ ...workflow, inputs: fields }, values.inputs) : {};
7737
+ const errors = workflow ? chunkP2RBE3FD_cjs.validateInputs({ ...workflow, inputs: fields }, values.inputs) : {};
7738
7738
  const hasWork = configOpen && Boolean(workflow) && Object.keys(errors).length === 0;
7739
7739
  const unattended = hasWork && values.when !== "now" && values.when !== "manual";
7740
7740
  const canConfigure = !isEdit || seed.assignee === "agent";
@@ -7742,7 +7742,7 @@ function WorkTaskComposer({
7742
7742
  const set = (key, value) => setValues({ ...values, [key]: value });
7743
7743
  const pickWorkflow = (id2) => {
7744
7744
  const next = workflows.find((w) => w.id === id2);
7745
- setValues({ ...values, workflowId: id2, inputs: next ? chunkGTNUQBXI_cjs.defaultInputs(next) : {} });
7745
+ setValues({ ...values, workflowId: id2, inputs: next ? chunkP2RBE3FD_cjs.defaultInputs(next) : {} });
7746
7746
  };
7747
7747
  const openConfigure = () => {
7748
7748
  setConfigOpen(true);
@@ -7928,7 +7928,7 @@ function WorkTaskComposer({
7928
7928
  )
7929
7929
  ] }),
7930
7930
  workflow && fields.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
7931
- chunkGTNUQBXI_cjs.SchemaForm,
7931
+ chunkP2RBE3FD_cjs.SchemaForm,
7932
7932
  {
7933
7933
  fields,
7934
7934
  values: values.inputs,
@@ -10109,5 +10109,5 @@ exports.workflowToComposerValues = workflowToComposerValues;
10109
10109
  exports.workflowToSkillMarkdown = workflowToSkillMarkdown;
10110
10110
  exports.workflowTriggerType = workflowTriggerType;
10111
10111
  exports.workflowWhen = workflowWhen;
10112
- //# sourceMappingURL=chunk-IUR565UW.cjs.map
10113
- //# sourceMappingURL=chunk-IUR565UW.cjs.map
10112
+ //# sourceMappingURL=chunk-5LP54CWR.cjs.map
10113
+ //# sourceMappingURL=chunk-5LP54CWR.cjs.map