@arbidocs/blocks 0.4.75 → 0.4.77

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 (113) hide show
  1. package/dist/agents/index.cjs +341 -253
  2. package/dist/agents/index.js +3 -3
  3. package/dist/agents/tasks/TaskActivityTimeline.d.ts +1 -1
  4. package/dist/agents/tasks/WorkflowThreadStrip.d.ts +44 -1
  5. package/dist/agents/tasks/index.d.ts +2 -1
  6. package/dist/agents/tasks/linkedRuns.d.ts +31 -0
  7. package/dist/agents/workflows/SchemaForm.d.ts +6 -1
  8. package/dist/agents/workflows/StepParts.d.ts +109 -0
  9. package/dist/agents/workflows/WorkflowRunner.d.ts +11 -2
  10. package/dist/agents/workflows/index.d.ts +3 -2
  11. package/dist/agents/workflows/planSteps.d.ts +10 -1
  12. package/dist/agents/workflows/run.d.ts +61 -8
  13. package/dist/agents/workflows/types.d.ts +160 -4
  14. package/dist/agents/workflows/useWorkflowPreview.d.ts +2 -1
  15. package/dist/agents/workflows/useWorkflowView.d.ts +19 -0
  16. package/dist/chat/ChatPage.d.ts +1 -1
  17. package/dist/chat/WorkflowStepChip.d.ts +24 -0
  18. package/dist/chat/chat-page-types.d.ts +4 -0
  19. package/dist/chat/index.cjs +130 -122
  20. package/dist/chat/index.d.ts +1 -0
  21. package/dist/chat/index.js +2 -2
  22. package/dist/{chunk-YWYVIQ7T.js → chunk-34UW6XUQ.js} +948 -38
  23. package/dist/chunk-34UW6XUQ.js.map +1 -0
  24. package/dist/{chunk-P2RBE3FD.cjs → chunk-3XR3IEGU.cjs} +965 -35
  25. package/dist/chunk-3XR3IEGU.cjs.map +1 -0
  26. package/dist/{chunk-ZWA7UUZL.cjs → chunk-7YUFMNFW.cjs} +2 -54
  27. package/dist/chunk-7YUFMNFW.cjs.map +1 -0
  28. package/dist/chunk-A24C6BNA.js +92 -0
  29. package/dist/chunk-A24C6BNA.js.map +1 -0
  30. package/dist/chunk-AINNADMT.cjs +62 -0
  31. package/dist/chunk-AINNADMT.cjs.map +1 -0
  32. package/dist/{chunk-7CVF3DK2.cjs → chunk-EKIUMNCN.cjs} +5 -5
  33. package/dist/{chunk-7CVF3DK2.cjs.map → chunk-EKIUMNCN.cjs.map} +1 -1
  34. package/dist/chunk-FE4ULGOR.js +151 -0
  35. package/dist/chunk-FE4ULGOR.js.map +1 -0
  36. package/dist/chunk-FT5FFXSJ.js +60 -0
  37. package/dist/chunk-FT5FFXSJ.js.map +1 -0
  38. package/dist/{chunk-HITAN7JF.cjs → chunk-GTXOV7IJ.cjs} +4 -4
  39. package/dist/{chunk-HITAN7JF.cjs.map → chunk-GTXOV7IJ.cjs.map} +1 -1
  40. package/dist/{chunk-LT2UORRG.js → chunk-HEVVT6IT.js} +205 -38
  41. package/dist/chunk-HEVVT6IT.js.map +1 -0
  42. package/dist/{chunk-IPGKTUF7.cjs → chunk-HOD6OM7L.cjs} +68 -3
  43. package/dist/chunk-HOD6OM7L.cjs.map +1 -0
  44. package/dist/{chunk-F4LUD3YC.cjs → chunk-JFUN4D7D.cjs} +229 -60
  45. package/dist/chunk-JFUN4D7D.cjs.map +1 -0
  46. package/dist/{chunk-UIWLDSTF.js → chunk-NIP5BOP7.js} +68 -5
  47. package/dist/chunk-NIP5BOP7.js.map +1 -0
  48. package/dist/{chunk-MK6NJQGF.js → chunk-OEM5ARVM.js} +3 -3
  49. package/dist/{chunk-MK6NJQGF.js.map → chunk-OEM5ARVM.js.map} +1 -1
  50. package/dist/{chunk-5EBGRG3X.js → chunk-OPA2Y6YZ.js} +3 -54
  51. package/dist/chunk-OPA2Y6YZ.js.map +1 -0
  52. package/dist/chunk-TZR36PPP.cjs +95 -0
  53. package/dist/chunk-TZR36PPP.cjs.map +1 -0
  54. package/dist/{chunk-WJEKRSPH.js → chunk-UEU23PTW.js} +3 -3
  55. package/dist/{chunk-WJEKRSPH.js.map → chunk-UEU23PTW.js.map} +1 -1
  56. package/dist/chunk-ZVBPRMHJ.cjs +153 -0
  57. package/dist/chunk-ZVBPRMHJ.cjs.map +1 -0
  58. package/dist/connect/docx.cjs +10 -88
  59. package/dist/connect/docx.cjs.map +1 -1
  60. package/dist/connect/docx.js +6 -86
  61. package/dist/connect/docx.js.map +1 -1
  62. package/dist/connect/index.cjs +295 -32
  63. package/dist/connect/index.cjs.map +1 -1
  64. package/dist/connect/index.js +280 -17
  65. package/dist/connect/index.js.map +1 -1
  66. package/dist/connection/ConnectedWorkflowRunner.d.ts +16 -2
  67. package/dist/connection/WorkflowRunnerDialogs.d.ts +37 -0
  68. package/dist/connection/useWorkflowThread.d.ts +12 -0
  69. package/dist/document-tools/index.cjs +7 -143
  70. package/dist/document-tools/index.cjs.map +1 -1
  71. package/dist/document-tools/index.js +5 -144
  72. package/dist/document-tools/index.js.map +1 -1
  73. package/dist/docx/index.cjs +18 -17
  74. package/dist/docx/index.cjs.map +1 -1
  75. package/dist/docx/index.js +3 -2
  76. package/dist/docx/index.js.map +1 -1
  77. package/dist/facts/index.cjs +1 -1
  78. package/dist/facts/index.js +1 -1
  79. package/dist/files/index.cjs +1 -1
  80. package/dist/files/index.js +1 -1
  81. package/dist/home/index.cjs +1 -1
  82. package/dist/home/index.js +1 -1
  83. package/dist/index.cjs +631 -535
  84. package/dist/index.js +8 -8
  85. package/dist/settings/index.cjs +1 -1
  86. package/dist/settings/index.js +1 -1
  87. package/dist/shell/index.cjs +1 -1
  88. package/dist/shell/index.js +1 -1
  89. package/dist/studio/index.cjs +4 -4
  90. package/dist/studio/index.js +3 -3
  91. package/dist/workflow-canvas/SignalsEditor.d.ts +41 -0
  92. package/dist/workflow-canvas/StepActionSettings.d.ts +132 -0
  93. package/dist/workflow-canvas/StepInspector.d.ts +28 -2
  94. package/dist/workflow-canvas/TriggerInspector.d.ts +11 -2
  95. package/dist/workflow-canvas/WorkflowBuilder.d.ts +17 -4
  96. package/dist/workflow-canvas/WorkflowCanvas.d.ts +27 -2
  97. package/dist/workflow-canvas/edit.d.ts +9 -1
  98. package/dist/workflow-canvas/index.cjs +1282 -208
  99. package/dist/workflow-canvas/index.cjs.map +1 -1
  100. package/dist/workflow-canvas/index.d.ts +2 -1
  101. package/dist/workflow-canvas/index.js +1255 -188
  102. package/dist/workflow-canvas/index.js.map +1 -1
  103. package/dist/workflow-canvas/trigger.d.ts +20 -1
  104. package/package.json +4 -4
  105. package/src/workflow-canvas/canvas.css +9 -0
  106. package/dist/chunk-5EBGRG3X.js.map +0 -1
  107. package/dist/chunk-F4LUD3YC.cjs.map +0 -1
  108. package/dist/chunk-IPGKTUF7.cjs.map +0 -1
  109. package/dist/chunk-LT2UORRG.js.map +0 -1
  110. package/dist/chunk-P2RBE3FD.cjs.map +0 -1
  111. package/dist/chunk-UIWLDSTF.js.map +0 -1
  112. package/dist/chunk-YWYVIQ7T.js.map +0 -1
  113. package/dist/chunk-ZWA7UUZL.cjs.map +0 -1
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- export { AgentAvatarField, AgentBar, AgentBarIconButton, AgentBarMenu, AgentBarNotes, AgentBarProbeAnswer, AgentBarQueuedNote, AgentBarStatus, AgentCard, AgentCreateView, AgentCreatedView, AgentCreator, AgentEditView, AgentGallery, AgentMainView, AgentSelect, AgentTypeSelector, CapabilityGrid, CapabilityTile, ConfigField, ConfigForm, ConsentActions, ConsentBulletList, ConsentCard, ConsentFootnote, ConsentHeader, ConsentMessage, ConsentNotice, ConsentPage, ConsentPermissionList, ConsentSection, ConsentStrong, ConsentText, ConversationListView, ConversationTurnSpeaker, CopyableUrl, DEFAULT_AGENT_AVATAR_FIELD_LABELS, DEFAULT_AGENT_BAR_LABELS, DEFAULT_AGENT_CARD_LABELS, DEFAULT_AGENT_CREATOR_LABELS, DEFAULT_AGENT_GALLERY_LABELS, DEFAULT_AGENT_SELECT_LABELS, DEFAULT_AGENT_STEPS_LABELS, DEFAULT_AGENT_TYPE_SELECTOR_LABELS, DEFAULT_AUTHORIZE_AGENT_LABELS, DEFAULT_CONFIG_FIELD_LABELS, DEFAULT_CONFIG_FORM_LABELS, DEFAULT_CONSENT_ACTIONS_LABELS, DEFAULT_COPYABLE_URL_LABELS, DEFAULT_NEW_THREAD_DIALOG_LABELS, DEFAULT_PILL_SELECT_LABELS, DEFAULT_RECURRENCE, DEFAULT_RECURRENCE_BUILDER_LABELS, DEFAULT_SKILL_CARD_LABELS, DEFAULT_SKILL_EDIT_FORM_LABELS, DEFAULT_SKILL_GENERATE_FORM_LABELS, DEFAULT_SKILL_GLOBAL_BADGE_LABELS, DEFAULT_SKILL_ROW_LABELS, DEFAULT_SKILL_VIEW_TOGGLE_LABELS, DEFAULT_SUBAGENT_ROSTER_LABELS, DEFAULT_TASKS_CHROME_LABELS, DEFAULT_TASK_ACTIVITY_LABELS, DEFAULT_TASK_COMPOSER_LABELS, DEFAULT_TASK_LIST_LABELS, DEFAULT_TASK_OUTPUTS_CELL_LABELS, DEFAULT_TASK_PLAN_LABELS, DEFAULT_TASK_RUNS_DIALOG_LABELS, DEFAULT_TASK_STATUS_PILL_LABELS, DEFAULT_TASK_THREAD_CHIP_LABELS, DEFAULT_TASK_TRIGGER_CHIP_LABELS, DEFAULT_TUPLE_ARRAY_FIELD_LABELS, DEFAULT_UPLOAD_TASK_ITEM_LABELS, DEFAULT_UPLOAD_TASK_LIST_LABELS, DEFAULT_WORKFLOWS_CHROME_LABELS, DEFAULT_WORKFLOW_CONFIG_DIALOG_LABELS, DEFAULT_WORKFLOW_LIST_LABELS, DEFAULT_WORKFLOW_THREAD_STRIP_LABELS, DERIVED_NAME_WORDS, EMPTY_NEW_THREAD, GoalCriteria, MAX_TASK_DEPTH, NewThreadDialog, PersonPill, PillSelect, RecurrenceBuilder, STATUS_LABELS, STATUS_ORDER, STATUS_TONE, SkillActionButton, SkillCard, SkillDetail, SkillDetailSection, SkillEditForm, SkillFilterChips, SkillGenerateForm, SkillGlobalBadge, SkillRow, SkillTile, SkillTypeBadge, SkillViewToggle, StepDetail, StepNarration, StepOutcome, StepParams, StepRow, StepSummary, StepTrace, StepTraceSummary, SubAgentLane, SubStepGroup, SubagentRoster, TASK_COLUMN_ORDER, TRIGGER_LABELS, TaskActivityDialog, TaskActivityTimeline, TaskComposer, TaskFlow, TaskInbox, TaskMoveDialog, TaskOutputsCell, TaskPlan, TaskRunsDialog, TaskStartDialog, TaskStatusPill, TaskTable, TaskThreadChip, TaskTriggerChip, TasksToolbar, ThreadActivity, ThreadNotifyDialog, TupleArrayField, UploadTaskItem, UploadTaskList, WEEKDAYS, WORKFLOW_COLUMN_ORDER, WorkflowConfigDialog, WorkflowDocumentsField, WorkflowLauncher, WorkflowThreadStrip, WorkflowsTable, WorkflowsToolbar, agentConfigSectionToValues, agentCreatorToConfigSection, asTaskStatus, authModeFor, buildRRule, buildTaskRows, buildWorkflowScopeSource, compactThreadActivity, composePersona, composerToTaskQuery, composerToWorkRequest, composerToWorkflowRequest, composerToWorkflowUpdate, createTaskColumns, createWorkflowColumns, createsWork, defaultScopeRenderer, defaultTaskComposerValues, deriveAgentName, deriveWorkflowName, descendantIds, describeRRule, filterConversationRows, firstWords, formatElapsed, goalProgress, groupThreadActivity, hasTaskFields, hasTrigger, humanizeSection, indexTasks, inferType, inputDocumentIds, isAgenticWorkflow, isOutOfBounds, isPlainTodo, isSkillRow, isValidAgentName, isoToLocalInput, localInputToIso, matchWorkflowScope, moveTargets, newThreadToRequest, nextCriterionId, ownerExtId, parseRRule, prettifyKey, resolveScopeInputs, skillSlug, stripPersonaPreamble, summarizeAgent, summarizeCapabilities, taskComposerToCreateRequest, taskComposerToUpdateRequest, taskNeedsAccess, taskToComposerValues, useWorkflowPreview, workflowFromSkillMarkdown, workflowStatus, workflowTaskFields, workflowToComposerValues, workflowToSkillMarkdown, workflowTriggerType, workflowWhen } from '../chunk-LT2UORRG.js';
2
+ export { AgentAvatarField, AgentBar, AgentBarIconButton, AgentBarMenu, AgentBarNotes, AgentBarProbeAnswer, AgentBarQueuedNote, AgentBarStatus, AgentCard, AgentCreateView, AgentCreatedView, AgentCreator, AgentEditView, AgentGallery, AgentMainView, AgentSelect, AgentTypeSelector, CapabilityGrid, CapabilityTile, ConfigField, ConfigForm, ConsentActions, ConsentBulletList, ConsentCard, ConsentFootnote, ConsentHeader, ConsentMessage, ConsentNotice, ConsentPage, ConsentPermissionList, ConsentSection, ConsentStrong, ConsentText, ConversationListView, ConversationTurnSpeaker, CopyableUrl, DEFAULT_AGENT_AVATAR_FIELD_LABELS, DEFAULT_AGENT_BAR_LABELS, DEFAULT_AGENT_CARD_LABELS, DEFAULT_AGENT_CREATOR_LABELS, DEFAULT_AGENT_GALLERY_LABELS, DEFAULT_AGENT_SELECT_LABELS, DEFAULT_AGENT_STEPS_LABELS, DEFAULT_AGENT_TYPE_SELECTOR_LABELS, DEFAULT_AUTHORIZE_AGENT_LABELS, DEFAULT_CONFIG_FIELD_LABELS, DEFAULT_CONFIG_FORM_LABELS, DEFAULT_CONSENT_ACTIONS_LABELS, DEFAULT_COPYABLE_URL_LABELS, DEFAULT_NEW_THREAD_DIALOG_LABELS, DEFAULT_PILL_SELECT_LABELS, DEFAULT_RECURRENCE, DEFAULT_RECURRENCE_BUILDER_LABELS, DEFAULT_SKILL_CARD_LABELS, DEFAULT_SKILL_EDIT_FORM_LABELS, DEFAULT_SKILL_GENERATE_FORM_LABELS, DEFAULT_SKILL_GLOBAL_BADGE_LABELS, DEFAULT_SKILL_ROW_LABELS, DEFAULT_SKILL_VIEW_TOGGLE_LABELS, DEFAULT_SUBAGENT_ROSTER_LABELS, DEFAULT_TASKS_CHROME_LABELS, DEFAULT_TASK_ACTIVITY_LABELS, DEFAULT_TASK_COMPOSER_LABELS, DEFAULT_TASK_LIST_LABELS, DEFAULT_TASK_OUTPUTS_CELL_LABELS, DEFAULT_TASK_PLAN_LABELS, DEFAULT_TASK_RUNS_DIALOG_LABELS, DEFAULT_TASK_STATUS_PILL_LABELS, DEFAULT_TASK_THREAD_CHIP_LABELS, DEFAULT_TASK_TRIGGER_CHIP_LABELS, DEFAULT_TUPLE_ARRAY_FIELD_LABELS, DEFAULT_UPLOAD_TASK_ITEM_LABELS, DEFAULT_UPLOAD_TASK_LIST_LABELS, DEFAULT_WORKFLOWS_CHROME_LABELS, DEFAULT_WORKFLOW_CONFIG_DIALOG_LABELS, DEFAULT_WORKFLOW_LIST_LABELS, DEFAULT_WORKFLOW_THREAD_STRIP_LABELS, DERIVED_NAME_WORDS, EMPTY_NEW_THREAD, GoalCriteria, MAX_TASK_DEPTH, NewThreadDialog, PersonPill, PillSelect, RecurrenceBuilder, STATUS_LABELS, STATUS_ORDER, STATUS_TONE, SkillActionButton, SkillCard, SkillDetail, SkillDetailSection, SkillEditForm, SkillFilterChips, SkillGenerateForm, SkillGlobalBadge, SkillRow, SkillTile, SkillTypeBadge, SkillViewToggle, StepDetail, StepNarration, StepOutcome, StepParams, StepRow, StepSummary, StepTrace, StepTraceSummary, SubAgentLane, SubStepGroup, SubagentRoster, TASK_COLUMN_ORDER, TRIGGER_LABELS, TaskActivityDialog, TaskActivityTimeline, TaskComposer, TaskFlow, TaskInbox, TaskMoveDialog, TaskOutputsCell, TaskPlan, TaskRunsDialog, TaskStartDialog, TaskStatusPill, TaskTable, TaskThreadChip, TaskTriggerChip, TasksToolbar, ThreadActivity, ThreadNotifyDialog, TupleArrayField, UploadTaskItem, UploadTaskList, WEEKDAYS, WORKFLOW_COLUMN_ORDER, WorkflowConfigDialog, WorkflowDocumentsField, WorkflowLauncher, WorkflowThreadStartedBy, WorkflowThreadStrip, WorkflowsTable, WorkflowsToolbar, agentConfigSectionToValues, agentCreatorToConfigSection, asTaskStatus, authModeFor, buildRRule, buildTaskRows, buildWorkflowScopeSource, compactThreadActivity, composePersona, composerToTaskQuery, composerToWorkRequest, composerToWorkflowRequest, composerToWorkflowUpdate, createTaskColumns, createWorkflowColumns, createsWork, defaultScopeRenderer, defaultTaskComposerValues, deriveAgentName, deriveWorkflowName, descendantIds, describeRRule, filterConversationRows, firstWords, formatElapsed, goalProgress, groupThreadActivity, hasTaskFields, hasTrigger, humanizeSection, indexTasks, inferType, inputDocumentIds, isAgenticWorkflow, isOutOfBounds, isPlainTodo, isSkillRow, isValidAgentName, isoToLocalInput, linkedRunsFromActivity, localInputToIso, matchWorkflowScope, moveTargets, newThreadToRequest, nextCriterionId, ownerExtId, parseRRule, prettifyKey, resolveScopeInputs, skillSlug, stripPersonaPreamble, summarizeAgent, summarizeCapabilities, taskComposerToCreateRequest, taskComposerToUpdateRequest, taskNeedsAccess, taskToComposerValues, useWorkflowPreview, workflowFromSkillMarkdown, workflowStatus, workflowTaskFields, workflowToComposerValues, workflowToSkillMarkdown, workflowTriggerType, workflowWhen } from '../chunk-HEVVT6IT.js';
3
3
  import '../chunk-CKB64Z4R.js';
4
4
  import '../chunk-P6GHJSLR.js';
5
- export { DEFAULT_SCHEMA_FORM_LABELS, DEFAULT_WORKFLOW_RUNNER_LABELS, EMPTY_WORKFLOW_SCOPE, SKILL_PROMPT_FALLBACK_PLACEHOLDER, SKILL_PROMPT_LABEL, SchemaForm, WorkflowRunner, buildLaunch, composeStepPrompt, composeWorkflowPrompt, defaultInputs, dependsOn, fieldToFrontmatter, fillRunText, fillStepInputs, fromPlanSteps, initialRunInputs, inputsFromContext, isEmptyWorkflowScope, isPersonStep, isRunFinished, isSteppedWorkflow, isWorkflowScope, layoutFromPlanSteps, nextAction, orderSteps, promptFieldName, reviewInstructions, runFields, runThreadTitle, skillToWorkflow, stepDependencies, stepLevels, stepPhase, stepStatesFromActivity, toPlanSteps, useWorkflowView, validateInputs, validateStep, validateWorkflowGraph, workflowAccepts, workflowFromFrontmatter, workflowSteps, workflowsAccepting, workflowsForHost } from '../chunk-YWYVIQ7T.js';
5
+ export { ActionStepBody, ApprovalEvidence, AssigneeLine, DEFAULT_ASSIGNEE_WORDING, DEFAULT_SCHEMA_FORM_LABELS, DEFAULT_WORKFLOW_RUNNER_LABELS, DEFAULT_WORKFLOW_STEP_PARTS_LABELS, EMPTY_WORKFLOW_SCOPE, SKILL_PROMPT_FALLBACK_PLACEHOLDER, SKILL_PROMPT_LABEL, SchemaForm, SendBackControl, WorkflowRunner, assigneeName, buildLaunch, canAssign, composeStepPrompt, composeWorkflowPrompt, defaultInputs, dependsOn, fieldToFrontmatter, fillRunText, fillStepInputs, fromPlanAssignee, fromPlanDocumentRef, fromPlanSteps, initialRunInputs, inputsFromContext, isEmptyWorkflowScope, isIncompleteSignal, isPersonAction, isPersonStep, isRunFinished, isSteppedWorkflow, isWorkflowScope, layoutFromPlanSteps, nextAction, orderSteps, promptFieldName, reviewInstructions, runFields, runFieldsOf, runThreadTitle, sendBackTargets, skillToWorkflow, splitDocRef, stepConfigProblems, stepDependencies, stepFields, stepLevels, stepPhase, stepStatesFromActivity, toPlanAssignee, toPlanDocumentRef, toPlanSteps, upstreamSteps, useWorkflowView, validateInputs, validateStep, validateWorkflowGraph, workflowAccepts, workflowFromFrontmatter, workflowSteps, workflowsAccepting, workflowsForHost } from '../chunk-34UW6XUQ.js';
6
6
  import '../chunk-4WWM3GQ5.js';
7
7
  import '../chunk-RFXJYIDV.js';
8
8
  import '../chunk-DPLRHEJZ.js';
@@ -13,11 +13,11 @@ import '../chunk-ZPLG7QYF.js';
13
13
  import '../chunk-DDF5GPIJ.js';
14
14
  import '../chunk-XD2M6LIG.js';
15
15
  import '../chunk-S7PSMMRG.js';
16
+ import '../chunk-76JDDMSP.js';
16
17
  import '../chunk-HOXKR26S.js';
17
18
  import '../chunk-AA3PT6KR.js';
18
19
  import '../chunk-SLSBJRWW.js';
19
20
  import '../chunk-NPLYHR2E.js';
20
- import '../chunk-76JDDMSP.js';
21
21
  import '../chunk-OXF2IFXG.js';
22
22
  import '../chunk-TX2ZICS7.js';
23
23
  import '../chunk-7F6CBP3Z.js';
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
- export type TaskActivityKind = 'created' | 'run_started' | 'awaiting_access' | 'access_granted' | 'done' | 'reopened' | 'failed' | 'participant_joined' | 'assistant_responded' | 'assistant_stopped' | 'artifact_created' | 'artifact_edited' | 'document_added' | 'document_removed' | 'notified' | 'step_started' | 'step_done' | 'step_skipped' | 'step_failed';
2
+ export type TaskActivityKind = 'created' | 'run_started' | 'awaiting_access' | 'access_granted' | 'done' | 'reopened' | 'failed' | 'participant_joined' | 'assistant_responded' | 'assistant_stopped' | 'artifact_created' | 'artifact_edited' | 'document_added' | 'document_removed' | 'notified' | 'step_started' | 'step_done' | 'step_skipped' | 'step_failed' | 'step_waiting' | 'step_progress' | 'step_sent_back' | 'step_ready' | 'step_reminded' | 'step_signal' | 'linked_run';
3
3
  /** One event of a task's history, as the backend returns it (oldest first). */
4
4
  export interface TaskActivityEvent {
5
5
  external_id: string;
@@ -3,6 +3,8 @@
3
3
  * to come), with everything that actually happened in the thread attached to the step it happened
4
4
  * during — the assistant's turns, a draft sent back, people's messages and edits, notifications.
5
5
  * What happened before the first step or after the last stays as ordinary entries at either end.
6
+ * Linked runs show too: a signal a step raised and the linked thread it started (after the step),
7
+ * and, for a thread a signal started, "Started by <step> in <thread>" (before the steps).
6
8
  * A thread without a workflow shows `TaskFlow` instead.
7
9
  */
8
10
  import type { ReactNode } from 'react';
@@ -36,8 +38,38 @@ export interface WorkflowThreadStripLabels {
36
38
  happened: string;
37
39
  nothingYet: string;
38
40
  skip: string;
41
+ /** A linked run's origin; `{step}` and `{thread}` are replaced. */
42
+ startedBy: string;
43
+ /** A raised signal's tooltip; `{signal}` is replaced. */
44
+ signalled: string;
45
+ /** A linked thread's tooltip; `{signal}` is replaced. */
46
+ linkedRun: string;
47
+ /** A step that waits for someone; `{name}` is replaced. */
48
+ waitingFor: string;
49
+ /** A step the work was sent back to. */
50
+ sentBack: string;
39
51
  }
40
52
  export declare const DEFAULT_WORKFLOW_THREAD_STRIP_LABELS: WorkflowThreadStripLabels;
53
+ /** A linked thread a signal started, as the host names it. */
54
+ export interface WorkflowThreadLinkedRun {
55
+ id: string;
56
+ /** The thread's title, or its workflow's name. */
57
+ label: string;
58
+ onSelect?: () => void;
59
+ }
60
+ /** A signal one of the run's steps raised, and the linked threads it started. */
61
+ export interface WorkflowThreadSignal {
62
+ step: string;
63
+ signal: string;
64
+ runs: WorkflowThreadLinkedRun[];
65
+ }
66
+ /** Where a linked run came from: the step and the parent thread whose signal started it. */
67
+ export interface WorkflowThreadOrigin {
68
+ stepTitle: string;
69
+ threadTitle: string;
70
+ signal?: string;
71
+ onSelect?: () => void;
72
+ }
41
73
  export interface WorkflowThreadStripProps {
42
74
  steps: WorkflowStep[];
43
75
  /** Each step's state (from `stepStatesFromActivity`). */
@@ -52,7 +84,18 @@ export interface WorkflowThreadStripProps {
52
84
  onSkip?: (stepId: string) => void;
53
85
  /** The host's action for a person's step (fill in the form, approve…), shown in its popover. */
54
86
  renderStepAction?: (step: WorkflowStep, phase: WorkflowStepPhase) => ReactNode;
87
+ /** Signals the steps raised and the linked threads they started (`linkedRunsFromActivity`). */
88
+ signals?: readonly WorkflowThreadSignal[];
89
+ /** For a thread a signal started: where it came from. */
90
+ startedBy?: WorkflowThreadOrigin;
91
+ /** Who a step is for, in words (`assigneeName`): shown on the step while it waits for them. */
92
+ assigneeOf?: (step: WorkflowStep) => string | undefined;
55
93
  labels?: Partial<WorkflowThreadStripLabels>;
56
94
  className?: string;
57
95
  }
58
- export declare function WorkflowThreadStrip({ steps, states, items, renderIcon, onSkip, renderStepAction, labels, className, }: WorkflowThreadStripProps): import("react").JSX.Element;
96
+ /** "Started by <step> in <thread>": a linked run's way back to the thread that started it. */
97
+ export declare function WorkflowThreadStartedBy({ origin, labels, }: {
98
+ origin: WorkflowThreadOrigin;
99
+ labels?: Partial<WorkflowThreadStripLabels>;
100
+ }): import("react").JSX.Element;
101
+ export declare function WorkflowThreadStrip({ steps, states, items, renderIcon, onSkip, renderStepAction, signals, startedBy, assigneeOf, labels, className, }: WorkflowThreadStripProps): import("react").JSX.Element;
@@ -23,7 +23,8 @@ export { TaskStatusPill, DEFAULT_TASK_STATUS_PILL_LABELS, type TaskStatusPillPro
23
23
  export { TaskActivityTimeline, DEFAULT_TASK_ACTIVITY_LABELS, type TaskActivityEvent, type TaskActivityKind, type TaskActivityLabels, type TaskActivityTimelineProps, } from './TaskActivityTimeline';
24
24
  export { TaskActivityDialog, type TaskActivityDialogProps } from './TaskActivityDialog';
25
25
  export { TaskFlow, ThreadActivity, type TaskFlowItem } from './TaskFlow';
26
- export { WorkflowThreadStrip, groupThreadActivity, DEFAULT_WORKFLOW_THREAD_STRIP_LABELS, type WorkflowThreadItem, type WorkflowThreadStripProps, type WorkflowThreadStripLabels, type GroupedThreadActivity, } from './WorkflowThreadStrip';
26
+ export { WorkflowThreadStrip, groupThreadActivity, DEFAULT_WORKFLOW_THREAD_STRIP_LABELS, type WorkflowThreadItem, type WorkflowThreadStripProps, type WorkflowThreadStripLabels, type GroupedThreadActivity, WorkflowThreadStartedBy, type WorkflowThreadSignal, type WorkflowThreadOrigin, type WorkflowThreadLinkedRun, } from './WorkflowThreadStrip';
27
+ export { linkedRunsFromActivity, type WorkflowRunLinks, type WorkflowRaisedSignal, type WorkflowRunOrigin, type WorkflowLinkedRunRef, } from './linkedRuns';
27
28
  export { compactThreadActivity, type CompactThreadActivity } from './compact-thread-activity';
28
29
  export { TaskOutputsCell, DEFAULT_TASK_OUTPUTS_CELL_LABELS, type TaskOutput, type TaskOutputsCellProps, type TaskOutputsCellLabels, } from './TaskOutputsCell';
29
30
  export { TaskThreadChip, DEFAULT_TASK_THREAD_CHIP_LABELS, type TaskThreadChipProps, type TaskThreadChipLabels, } from './TaskThreadChip';
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Linked runs, read from a thread's activity log: the signals its steps raised (`step_signal`), the
3
+ * linked workflows each one started (`linked_run`, pointing at the new thread), and, for a thread a
4
+ * signal started, where it came from (its `created` event's `linked_from`). The thread's top bar
5
+ * shows them (`WorkflowThreadStrip`); the host resolves the threads' titles and navigation.
6
+ */
7
+ import type { WorkflowActivityEvent } from '../workflows/run';
8
+ /** A thread a signal started. */
9
+ export interface WorkflowLinkedRunRef {
10
+ conversationId: string;
11
+ /** The workflow that started on the signal (`wfl-…`). */
12
+ workflowId?: string;
13
+ }
14
+ /** A signal one of the thread's steps raised, and the linked threads it started. */
15
+ export interface WorkflowRaisedSignal {
16
+ step: string;
17
+ signal: string;
18
+ runs: WorkflowLinkedRunRef[];
19
+ }
20
+ /** Where a linked run came from: the step (and its signal) in the parent thread that started it. */
21
+ export interface WorkflowRunOrigin {
22
+ conversationId: string;
23
+ step?: string;
24
+ signal?: string;
25
+ }
26
+ export interface WorkflowRunLinks {
27
+ raised: WorkflowRaisedSignal[];
28
+ startedBy?: WorkflowRunOrigin;
29
+ }
30
+ /** The thread's linked runs from its activity log (oldest first). */
31
+ export declare function linkedRunsFromActivity(events: readonly WorkflowActivityEvent[] | null | undefined): WorkflowRunLinks;
@@ -20,6 +20,11 @@ export interface SchemaFormProps {
20
20
  renderDocuments?: (field: WorkflowField, value: WorkflowScope, onChange: (s: WorkflowScope) => void) => ReactNode;
21
21
  /** Maps an option's `icon` key to a mark. */
22
22
  renderIcon?: (key: string) => ReactNode;
23
+ /** Who a `person` field offers (the workspace's members); without them it takes an id. */
24
+ people?: ReadonlyArray<{
25
+ value: string;
26
+ label: string;
27
+ }>;
23
28
  /**
24
29
  * Plain Enter in a multi-line field submits the form (Shift+Enter inserts the newline), the
25
30
  * chat's own convention. Single-line fields submit natively.
@@ -34,4 +39,4 @@ export interface SchemaFormProps {
34
39
  * Renders a workflow's declared inputs as a form. Controlled: the caller owns `values` (see
35
40
  * `defaultInputs`) and decides when to validate (`validateInputs`) and show `errors`.
36
41
  */
37
- export declare function SchemaForm({ fields, values, onChange, errors, renderScope, renderDocuments, renderIcon, onEnterSubmit, testIdPrefix, labels, className, }: SchemaFormProps): import("react").JSX.Element;
42
+ export declare function SchemaForm({ fields, values, onChange, errors, renderScope, renderDocuments, renderIcon, onEnterSubmit, people, testIdPrefix, labels, className, }: SchemaFormProps): import("react").JSX.Element;
@@ -0,0 +1,109 @@
1
+ /**
2
+ * The runner's step parts beyond a form, an upload and an agent's answer: an action step (a
3
+ * signature, an email draft, a tabular review), a review's fields, its send-back and what it
4
+ * approved, the "Waiting for <person>" line, and "Open in Word" for a tracked-changes version.
5
+ * Everything that leaves the runner (opening a document, mail, a grid, the sign flow) goes through
6
+ * the host's `WorkflowRunnerActions`.
7
+ */
8
+ import { type ReactNode } from 'react';
9
+ import type { WorkflowRunView } from './useWorkflowView';
10
+ import type { WorkflowActionStep, WorkflowAgentStep, WorkflowReviewStep, WorkflowStepState } from './types';
11
+ /** Where the runner hands off to the host. Each is optional: absent, its button is not shown. */
12
+ export interface WorkflowRunnerActions {
13
+ /** Open a document, or one version of it (`doc-…@v3`). */
14
+ openDocument?: (ref: string) => void;
15
+ /** Open the document of a signature step to sign it (the signer's turn). */
16
+ sign?: (step: WorkflowActionStep, state: WorkflowStepState) => void;
17
+ /** Open an email step's draft in native mail. */
18
+ openDraft?: (draftId: string, mailbox?: string) => void;
19
+ /** Open a finished tabular review's grid: its columns (labels) over its documents. */
20
+ openReview?: (tags: string[], documents: string[]) => void;
21
+ /** Open a tracked-changes version in the Word editor, to accept or reject the changes. */
22
+ openRedline?: (ref: string) => void;
23
+ /** Show a step's answer where it is in the thread. */
24
+ openMessage?: (messageId: string) => void;
25
+ /** The person on screen (`usr-…`): a signature offers "Open and sign" to its signers only. */
26
+ me?: string;
27
+ }
28
+ export interface WorkflowStepPartsLabels {
29
+ waitingFor: string;
30
+ sendBack: string;
31
+ sendBackTo: string;
32
+ sendBackNote: string;
33
+ cancel: string;
34
+ sentBackHere: string;
35
+ approvedBy: string;
36
+ approvedAt: string;
37
+ approvedWhat: string;
38
+ viewAnswer: string;
39
+ fieldsHeading: string;
40
+ signers: string;
41
+ signed: string;
42
+ notSigned: string;
43
+ openAndSign: string;
44
+ decline: string;
45
+ declineNote: string;
46
+ declineConfirm: string;
47
+ declined: string;
48
+ signedVersion: string;
49
+ preparingSign: string;
50
+ expires: string;
51
+ preparingDraft: string;
52
+ draftReady: string;
53
+ openDraft: string;
54
+ emailSent: string;
55
+ reviewRunning: string;
56
+ reviewDone: string;
57
+ openReview: string;
58
+ openInWord: string;
59
+ redlineHint: string;
60
+ someone: string;
61
+ }
62
+ export declare const DEFAULT_WORKFLOW_STEP_PARTS_LABELS: WorkflowStepPartsLabels;
63
+ /** "Waiting for Sophie Lindqvist" on a step a person has to do. */
64
+ export declare function AssigneeLine({ run, stepId, l, testId, }: {
65
+ run: WorkflowRunView;
66
+ stepId: string;
67
+ l: WorkflowStepPartsLabels;
68
+ testId: string;
69
+ }): import("react").JSX.Element | null;
70
+ /** A step reopened by a send-back says so. */
71
+ export declare function SentBackNote({ state, l, testId, }: {
72
+ state: WorkflowStepState | undefined;
73
+ l: WorkflowStepPartsLabels;
74
+ testId: string;
75
+ }): import("react").JSX.Element | null;
76
+ /** "Send back" on a ready step: pick the earlier step to redo and say what needs to change. */
77
+ export declare function SendBackControl({ run, step, l, testId, }: {
78
+ run: WorkflowRunView;
79
+ step: WorkflowReviewStep;
80
+ l: WorkflowStepPartsLabels;
81
+ testId: string;
82
+ }): import("react").JSX.Element | null;
83
+ /** What a completed review recorded: who approved, the answers and versions, the fields. */
84
+ export declare function ApprovalEvidence({ run, step, actions, nameOfDoc, l, testId, }: {
85
+ run: WorkflowRunView;
86
+ step: WorkflowReviewStep;
87
+ actions?: WorkflowRunnerActions;
88
+ nameOfDoc?: (id: string) => string | undefined;
89
+ l: WorkflowStepPartsLabels;
90
+ testId: string;
91
+ }): import("react").JSX.Element | null;
92
+ /** "Open in Word" for an agent step that edited a document with tracked changes. */
93
+ export declare function RedlineOpen({ step, state, actions, l, testId, }: {
94
+ step: WorkflowAgentStep;
95
+ state: WorkflowStepState | undefined;
96
+ actions?: WorkflowRunnerActions;
97
+ l: WorkflowStepPartsLabels;
98
+ testId: string;
99
+ }): import("react").JSX.Element | null;
100
+ /** A platform action step: where it is, and what its person can do now. */
101
+ export declare function ActionStepBody({ step, run, actions, nameOfDoc, heading, l, testId, }: {
102
+ step: WorkflowActionStep;
103
+ run: WorkflowRunView;
104
+ actions?: WorkflowRunnerActions;
105
+ nameOfDoc?: (id: string) => string | undefined;
106
+ heading: ReactNode;
107
+ l: WorkflowStepPartsLabels;
108
+ testId: string;
109
+ }): import("react").JSX.Element;
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { type ReactNode } from 'react';
8
8
  import { type SchemaFormProps } from './SchemaForm';
9
+ import { type WorkflowRunnerActions, type WorkflowStepPartsLabels } from './StepParts';
9
10
  import type { WorkflowRunView } from './useWorkflowView';
10
11
  import type { WorkflowAgentStep, WorkflowDefinition, WorkflowReviewStep, WorkflowStep, WorkflowStepState, WorkflowUploadStep } from './types';
11
12
  export interface WorkflowRunnerLabels {
@@ -44,6 +45,8 @@ export interface WorkflowRunnerLabels {
44
45
  fileFailed: string;
45
46
  /** Continue on an upload step while its files are read; `{current}` and `{count}` are replaced. */
46
47
  readingFiles: string;
48
+ /** The primary button on an email step waiting to be sent. */
49
+ markSent: string;
47
50
  }
48
51
  export declare const DEFAULT_WORKFLOW_RUNNER_LABELS: WorkflowRunnerLabels;
49
52
  /** A file the upload step lists (what is in the run's workspace). */
@@ -55,7 +58,7 @@ export interface WorkflowRunnerFile {
55
58
  /** The upload step it was added on in this run (listed first there, and holds it while read). */
56
59
  addedFor?: string;
57
60
  }
58
- export interface WorkflowRunnerProps extends Pick<SchemaFormProps, 'renderScope' | 'renderDocuments' | 'renderIcon'> {
61
+ export interface WorkflowRunnerProps extends Pick<SchemaFormProps, 'renderScope' | 'renderDocuments' | 'renderIcon' | 'people'> {
59
62
  workflow: WorkflowDefinition;
60
63
  run: WorkflowRunView;
61
64
  /** An agent step's output (its answer, a drafted document). */
@@ -73,7 +76,13 @@ export interface WorkflowRunnerProps extends Pick<SchemaFormProps, 'renderScope'
73
76
  renderStepNote?: (step: WorkflowStep, run: WorkflowRunView) => ReactNode;
74
77
  /** Replaces the finish screen. */
75
78
  renderComplete?: (run: WorkflowRunView) => ReactNode;
79
+ /** Where the runner hands off to the host: documents, the sign flow, mail, a review grid. */
80
+ actions?: WorkflowRunnerActions;
81
+ /** A document's name by id (chips show it instead of the id). */
82
+ nameOfDoc?: (id: string) => string | undefined;
76
83
  labels?: Partial<WorkflowRunnerLabels>;
84
+ /** The wording of action steps, assignees, send-backs and approvals. */
85
+ partsLabels?: Partial<WorkflowStepPartsLabels>;
77
86
  /**
78
87
  * Test ids: `<prefix>-step-<id>` (pill), `<prefix>-<id>` (body), `<prefix>-field-<name>`,
79
88
  * `<prefix>-next` / `-back`, `<prefix>-done`.
@@ -81,6 +90,6 @@ export interface WorkflowRunnerProps extends Pick<SchemaFormProps, 'renderScope'
81
90
  testIdPrefix?: string;
82
91
  className?: string;
83
92
  }
84
- export declare function WorkflowRunner({ workflow, run, renderAgentOutput, renderReview, onUpload, uploading, files, renderUpload, renderStepNote, renderComplete, renderScope, renderDocuments, renderIcon, labels, testIdPrefix, className, }: WorkflowRunnerProps): import("react").JSX.Element;
93
+ export declare function WorkflowRunner({ workflow, run, renderAgentOutput, renderReview, onUpload, uploading, files, renderUpload, renderStepNote, renderComplete, renderScope, renderDocuments, renderIcon, people, actions, nameOfDoc, labels, partsLabels, testIdPrefix, className, }: WorkflowRunnerProps): import("react").JSX.Element;
85
94
  /** m:ss (h:mm:ss past an hour). */
86
95
  export declare function formatElapsed(ms: number): string;
@@ -7,9 +7,10 @@ export { defaultScopeRenderer, resolveScopeInputs } from './scopeRender';
7
7
  export { WorkflowLauncher, type WorkflowLauncherProps } from './WorkflowLauncher';
8
8
  export { buildWorkflowScopeSource, matchWorkflowScope, type WorkflowScopeDocument, type WorkflowScopeLabel, } from './workspaceScope';
9
9
  export { WorkflowDocumentsField, type WorkflowDocumentsFieldProps } from './WorkflowDocumentsField';
10
- export { workflowSteps, isSteppedWorkflow, stepDependencies, dependsOn, orderSteps, validateWorkflowGraph, stepLevels, stepStatesFromActivity, runFields, initialRunInputs, stepPhase, isRunFinished, isPersonStep, nextAction, validateStep, fillRunText, fillStepInputs, runThreadTitle, reviewInstructions, composeStepPrompt, type StepComposeOptions, type WorkflowActivityEvent, type WorkflowGraphProblem, type WorkflowStepPhase, type WorkflowNextAction, } from './run';
11
- export { toPlanSteps, fromPlanSteps, layoutFromPlanSteps, type TaskPlanStep, type ToPlanOptions, } from './planSteps';
10
+ export { workflowSteps, isSteppedWorkflow, stepDependencies, dependsOn, orderSteps, validateWorkflowGraph, stepLevels, stepStatesFromActivity, runFields, initialRunInputs, stepPhase, isRunFinished, isPersonStep, nextAction, validateStep, fillRunText, fillStepInputs, runThreadTitle, reviewInstructions, composeStepPrompt, stepFields, runFieldsOf, isPersonAction, canAssign, upstreamSteps, sendBackTargets, stepConfigProblems, splitDocRef, assigneeName, DEFAULT_ASSIGNEE_WORDING, type AssigneeWording, type WorkflowStepProblem, type StepComposeOptions, type WorkflowActivityEvent, type WorkflowGraphProblem, type WorkflowStepPhase, type WorkflowNextAction, } from './run';
11
+ export { toPlanSteps, fromPlanSteps, layoutFromPlanSteps, isIncompleteSignal, toPlanAssignee, fromPlanAssignee, toPlanDocumentRef, fromPlanDocumentRef, type TaskPlanStep, type ToPlanOptions, } from './planSteps';
12
12
  export { workflowToSkillMarkdown, workflowFromSkillMarkdown, skillSlug } from './skillMarkdown';
13
13
  export { useWorkflowView, type UseWorkflowViewOptions, type WorkflowRunView, } from './useWorkflowView';
14
14
  export { useWorkflowPreview, type UseWorkflowPreviewOptions } from './useWorkflowPreview';
15
15
  export { WorkflowRunner, DEFAULT_WORKFLOW_RUNNER_LABELS, type WorkflowRunnerProps, type WorkflowRunnerLabels, type WorkflowRunnerFile, } from './WorkflowRunner';
16
+ export { ActionStepBody, ApprovalEvidence, AssigneeLine, SendBackControl, DEFAULT_WORKFLOW_STEP_PARTS_LABELS, type WorkflowRunnerActions, type WorkflowStepPartsLabels, } from './StepParts';
@@ -6,9 +6,15 @@
6
6
  */
7
7
  import type { components } from '@arbidocs/client';
8
8
  import { type StepComposeOptions } from './run';
9
- import type { WorkflowDefinition, WorkflowInputs, WorkflowStep } from './types';
9
+ import type { WorkflowAssignee, WorkflowDefinition, WorkflowDocumentRef, WorkflowInputs, WorkflowSignal, WorkflowStep } from './types';
10
10
  export type TaskPlanStep = components['schemas']['TaskPlanStep'];
11
+ type StepAssignee = components['schemas']['StepAssignee'];
12
+ type PlanDocumentRef = string | components['schemas']['StepDocumentRef'];
11
13
  export type TaskPlan = components['schemas']['TaskPlan'];
14
+ export declare function toPlanAssignee(a: WorkflowAssignee): StepAssignee;
15
+ export declare function fromPlanAssignee(a: StepAssignee | null | undefined): WorkflowAssignee | undefined;
16
+ export declare function toPlanDocumentRef(ref: WorkflowDocumentRef): PlanDocumentRef;
17
+ export declare function fromPlanDocumentRef(ref: PlanDocumentRef | null | undefined): WorkflowDocumentRef | undefined;
12
18
  export interface ToPlanOptions extends StepComposeOptions {
13
19
  /**
14
20
  * The run's inputs when it starts: prompts are composed with them. Fields not given yet (or
@@ -19,6 +25,8 @@ export interface ToPlanOptions extends StepComposeOptions {
19
25
  }
20
26
  /** The plan steps a run thread (or a saved workflow) carries for `workflow`. */
21
27
  export declare function toPlanSteps(workflow: WorkflowDefinition, options?: ToPlanOptions): TaskPlanStep[];
28
+ /** A signal the builder holds that is not finished yet: no name, or a condition with nothing in it. */
29
+ export declare function isIncompleteSignal(signal: WorkflowSignal): boolean;
22
30
  /** Steps from a run's (or a saved workflow's) plan: what the runner, the builder and the top bar show. */
23
31
  export declare function fromPlanSteps(steps: TaskPlanStep[] | null | undefined): WorkflowStep[];
24
32
  /** Where each step sits on the builder's canvas, as the plan keeps it. */
@@ -26,3 +34,4 @@ export declare function layoutFromPlanSteps(steps: TaskPlanStep[] | null | undef
26
34
  x: number;
27
35
  y: number;
28
36
  }> | undefined;
37
+ export {};
@@ -4,7 +4,7 @@
4
4
  * run's thread records it (`stepStatesFromActivity`). Pure functions, shared by the thread runner
5
5
  * (`useWorkflowThread`), the builder's preview and the thread's top bar.
6
6
  */
7
- import type { WorkflowAgentStep, WorkflowDefinition, WorkflowErrors, WorkflowInputs, WorkflowReviewStep, WorkflowStep, WorkflowStepState } from './types';
7
+ import type { WorkflowActionStep, WorkflowAgentStep, WorkflowAssignee, WorkflowField, WorkflowDefinition, WorkflowErrors, WorkflowInputs, WorkflowReviewStep, WorkflowStep, WorkflowStepState } from './types';
8
8
  /** A stepped workflow's steps; empty for a single-run one. */
9
9
  export declare function workflowSteps(workflow: WorkflowDefinition): WorkflowStep[];
10
10
  export declare const isSteppedWorkflow: (workflow: WorkflowDefinition) => boolean;
@@ -45,23 +45,37 @@ export declare function stepLevels(steps: WorkflowStep[]): WorkflowStep[][];
45
45
  export interface WorkflowActivityEvent {
46
46
  kind: string;
47
47
  detail?: Record<string, unknown> | null;
48
+ actor_ext_id?: string | null;
48
49
  created_at?: string;
49
50
  }
50
- /** Each step's state from the thread's activity log (oldest first): its latest step event wins. */
51
+ /**
52
+ * Each step's state from the thread's activity log (oldest first): its latest step event wins.
53
+ * A send-back reopens the steps it lists as pending (only the one it went `to` is `sentBack`); a
54
+ * `step_ready` records who was told and a `step_progress` what a waiting step now waits on, until
55
+ * the step's next change. Mirrors the server (`workflow_steps.progress`).
56
+ */
51
57
  export declare function stepStatesFromActivity(events: WorkflowActivityEvent[]): Record<string, WorkflowStepState>;
52
- /** Every field the run asks for: the launch form's, then each form step's. */
53
- export declare function runFields(workflow: WorkflowDefinition): import("./types").WorkflowField[];
58
+ /** The fields a person fills in on a step: a form's inputs, a review's fields. */
59
+ export declare function stepFields(step: WorkflowStep): WorkflowField[];
60
+ /** The fields the steps ask for (forms and reviews), in plan order. */
61
+ export declare const runFieldsOf: (steps: WorkflowStep[]) => WorkflowField[];
62
+ /** Every field the run asks for: the launch form's, then each form's and review's. */
63
+ export declare function runFields(workflow: WorkflowDefinition): WorkflowField[];
54
64
  /** A fresh run's inputs: every field at its default, then the prefills. */
55
65
  export declare function initialRunInputs(workflow: WorkflowDefinition, inputs?: WorkflowInputs): WorkflowInputs;
56
66
  /**
57
67
  * Where a step stands: `blocked` until everything it waits for has finished (done or skipped),
58
- * then `ready`, then its own status.
68
+ * then `ready`, then its own status (`waiting`: an action step waiting on its people).
59
69
  */
60
- export type WorkflowStepPhase = 'blocked' | 'ready' | 'running' | 'done' | 'skipped' | 'failed';
70
+ export type WorkflowStepPhase = 'blocked' | 'ready' | 'running' | 'waiting' | 'done' | 'skipped' | 'failed';
61
71
  export declare function stepPhase(steps: WorkflowStep[], states: Record<string, WorkflowStepState>, id: string): WorkflowStepPhase;
62
72
  export declare const isRunFinished: (steps: WorkflowStep[], states: Record<string, WorkflowStepState>) => boolean;
63
- /** A step a person does (form, upload, review); agent steps run themselves. */
73
+ /** A step a person does (form, upload, review); agent and action steps start by themselves. */
64
74
  export declare const isPersonStep: (step: WorkflowStep) => boolean;
75
+ /** An action step whose waiting phase is a person's: signing, sending the email. */
76
+ export declare const isPersonAction: (step: WorkflowStep) => step is WorkflowActionStep;
77
+ /** A step that can have an assignee and a reminder: a person step, or a signature or email. */
78
+ export declare const canAssign: (step: WorkflowStep) => boolean;
65
79
  /**
66
80
  * What the primary button does on the step in view:
67
81
  * - `complete`: finish this form, upload or review (approve) and move on;
@@ -72,8 +86,47 @@ export declare const isPersonStep: (step: WorkflowStep) => boolean;
72
86
  */
73
87
  export type WorkflowNextAction = 'complete' | 'move' | 'skip' | 'finish' | 'wait';
74
88
  export declare function nextAction(steps: WorkflowStep[], states: Record<string, WorkflowStepState>, current: string | null): WorkflowNextAction;
75
- /** A form step's problems (empty = it can move on); other steps have none. */
89
+ /** A form's or a fielded review's problems (empty = it can move on); other steps have none. */
76
90
  export declare function validateStep(step: WorkflowStep, inputs: WorkflowInputs): WorkflowErrors;
91
+ /** Every step `id` waits for, directly or through others, in plan order. */
92
+ export declare function upstreamSteps(steps: WorkflowStep[], id: string): WorkflowStep[];
93
+ /**
94
+ * Where a ready step can send the work back to: an earlier step it waits for that has something
95
+ * to redo (done, skipped or failed), nearest first.
96
+ */
97
+ export declare function sendBackTargets(steps: WorkflowStep[], states: Record<string, WorkflowStepState>, id: string): WorkflowStep[];
98
+ /** Something a step still needs before it can run, for the builder to point out. */
99
+ export interface WorkflowStepProblem {
100
+ step: string;
101
+ missing: 'document' | 'signers' | 'recipients' | 'tags' | 'documents';
102
+ }
103
+ /** What the steps still need before they can run: an action's document, signers, … */
104
+ export declare function stepConfigProblems(steps: WorkflowStep[]): WorkflowStepProblem[];
105
+ /** A document version id (`doc-…@v3`) split into the document and its version. */
106
+ export declare function splitDocRef(ref: string): {
107
+ id: string;
108
+ version?: number;
109
+ };
110
+ /** How an assignee that names no one directly is described. */
111
+ export interface AssigneeWording {
112
+ runOwner: string;
113
+ projectLead: string;
114
+ /** `{field}`: the person field's label. */
115
+ input: string;
116
+ }
117
+ export declare const DEFAULT_ASSIGNEE_WORDING: AssigneeWording;
118
+ /**
119
+ * Who a step is for, in words: the person it was announced to, the member it names, the person a
120
+ * form field holds (each through `nameOf`), else its role. Undefined when it names no one.
121
+ */
122
+ export declare function assigneeName(assignee: WorkflowAssignee | undefined, options?: {
123
+ nameOf?: (id: string) => string | undefined;
124
+ inputs?: WorkflowInputs;
125
+ fields?: WorkflowField[];
126
+ /** Who the server told (the assignee resolved): wins over a role. */
127
+ announcedTo?: string | null;
128
+ wording?: Partial<AssigneeWording>;
129
+ }): string | undefined;
77
130
  /**
78
131
  * Fill a step's `with` templates from the run's inputs: `{{a}}`, `{{a || b}}` (first non-blank).
79
132
  * A template that is exactly one bare reference passes the value through untouched.