@arbidocs/blocks 0.4.75 → 0.4.76
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.
- package/dist/agents/index.cjs +265 -253
- package/dist/agents/index.js +3 -3
- package/dist/agents/tasks/TaskActivityTimeline.d.ts +1 -1
- package/dist/agents/tasks/WorkflowThreadStrip.d.ts +38 -1
- package/dist/agents/tasks/index.d.ts +2 -1
- package/dist/agents/tasks/linkedRuns.d.ts +31 -0
- package/dist/agents/workflows/index.d.ts +1 -1
- package/dist/agents/workflows/planSteps.d.ts +3 -1
- package/dist/agents/workflows/types.d.ts +27 -0
- package/dist/{chunk-YWYVIQ7T.js → chunk-22P5KNIM.js} +24 -4
- package/dist/chunk-22P5KNIM.js.map +1 -0
- package/dist/{chunk-F4LUD3YC.cjs → chunk-7FKARMA3.cjs} +158 -53
- package/dist/chunk-7FKARMA3.cjs.map +1 -0
- package/dist/{chunk-LT2UORRG.js → chunk-TKB7TVMW.js} +132 -29
- package/dist/chunk-TKB7TVMW.js.map +1 -0
- package/dist/{chunk-P2RBE3FD.cjs → chunk-VYRKO3XU.cjs} +24 -3
- package/dist/chunk-VYRKO3XU.cjs.map +1 -0
- package/dist/connect/index.cjs +10 -10
- package/dist/connect/index.js +3 -3
- package/dist/facts/index.cjs +1 -1
- package/dist/facts/index.js +1 -1
- package/dist/files/index.cjs +1 -1
- package/dist/files/index.js +1 -1
- package/dist/home/index.cjs +1 -1
- package/dist/home/index.js +1 -1
- package/dist/index.cjs +430 -418
- package/dist/index.js +7 -7
- package/dist/settings/index.cjs +1 -1
- package/dist/settings/index.js +1 -1
- package/dist/shell/index.cjs +1 -1
- package/dist/shell/index.js +1 -1
- package/dist/studio/index.cjs +1 -1
- package/dist/studio/index.js +1 -1
- package/dist/workflow-canvas/SignalsEditor.d.ts +41 -0
- package/dist/workflow-canvas/StepInspector.d.ts +4 -1
- package/dist/workflow-canvas/TriggerInspector.d.ts +11 -2
- package/dist/workflow-canvas/WorkflowBuilder.d.ts +7 -2
- package/dist/workflow-canvas/index.cjs +443 -149
- package/dist/workflow-canvas/index.cjs.map +1 -1
- package/dist/workflow-canvas/index.d.ts +2 -1
- package/dist/workflow-canvas/index.js +410 -123
- package/dist/workflow-canvas/index.js.map +1 -1
- package/dist/workflow-canvas/trigger.d.ts +20 -1
- package/package.json +4 -4
- package/dist/chunk-F4LUD3YC.cjs.map +0 -1
- package/dist/chunk-LT2UORRG.js.map +0 -1
- package/dist/chunk-P2RBE3FD.cjs.map +0 -1
- package/dist/chunk-YWYVIQ7T.js.map +0 -1
package/dist/agents/index.js
CHANGED
|
@@ -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-
|
|
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-TKB7TVMW.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-
|
|
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, isIncompleteSignal, 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-22P5KNIM.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_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,34 @@ 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;
|
|
39
47
|
}
|
|
40
48
|
export declare const DEFAULT_WORKFLOW_THREAD_STRIP_LABELS: WorkflowThreadStripLabels;
|
|
49
|
+
/** A linked thread a signal started, as the host names it. */
|
|
50
|
+
export interface WorkflowThreadLinkedRun {
|
|
51
|
+
id: string;
|
|
52
|
+
/** The thread's title, or its workflow's name. */
|
|
53
|
+
label: string;
|
|
54
|
+
onSelect?: () => void;
|
|
55
|
+
}
|
|
56
|
+
/** A signal one of the run's steps raised, and the linked threads it started. */
|
|
57
|
+
export interface WorkflowThreadSignal {
|
|
58
|
+
step: string;
|
|
59
|
+
signal: string;
|
|
60
|
+
runs: WorkflowThreadLinkedRun[];
|
|
61
|
+
}
|
|
62
|
+
/** Where a linked run came from: the step and the parent thread whose signal started it. */
|
|
63
|
+
export interface WorkflowThreadOrigin {
|
|
64
|
+
stepTitle: string;
|
|
65
|
+
threadTitle: string;
|
|
66
|
+
signal?: string;
|
|
67
|
+
onSelect?: () => void;
|
|
68
|
+
}
|
|
41
69
|
export interface WorkflowThreadStripProps {
|
|
42
70
|
steps: WorkflowStep[];
|
|
43
71
|
/** Each step's state (from `stepStatesFromActivity`). */
|
|
@@ -52,7 +80,16 @@ export interface WorkflowThreadStripProps {
|
|
|
52
80
|
onSkip?: (stepId: string) => void;
|
|
53
81
|
/** The host's action for a person's step (fill in the form, approve…), shown in its popover. */
|
|
54
82
|
renderStepAction?: (step: WorkflowStep, phase: WorkflowStepPhase) => ReactNode;
|
|
83
|
+
/** Signals the steps raised and the linked threads they started (`linkedRunsFromActivity`). */
|
|
84
|
+
signals?: readonly WorkflowThreadSignal[];
|
|
85
|
+
/** For a thread a signal started: where it came from. */
|
|
86
|
+
startedBy?: WorkflowThreadOrigin;
|
|
55
87
|
labels?: Partial<WorkflowThreadStripLabels>;
|
|
56
88
|
className?: string;
|
|
57
89
|
}
|
|
58
|
-
|
|
90
|
+
/** "Started by <step> in <thread>": a linked run's way back to the thread that started it. */
|
|
91
|
+
export declare function WorkflowThreadStartedBy({ origin, labels, }: {
|
|
92
|
+
origin: WorkflowThreadOrigin;
|
|
93
|
+
labels?: Partial<WorkflowThreadStripLabels>;
|
|
94
|
+
}): import("react").JSX.Element;
|
|
95
|
+
export declare function WorkflowThreadStrip({ steps, states, items, renderIcon, onSkip, renderStepAction, signals, startedBy, 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;
|
|
@@ -8,7 +8,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
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';
|
|
11
|
+
export { toPlanSteps, fromPlanSteps, layoutFromPlanSteps, isIncompleteSignal, 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';
|
|
@@ -6,7 +6,7 @@
|
|
|
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 { WorkflowDefinition, WorkflowInputs, WorkflowSignal, WorkflowStep } from './types';
|
|
10
10
|
export type TaskPlanStep = components['schemas']['TaskPlanStep'];
|
|
11
11
|
export type TaskPlan = components['schemas']['TaskPlan'];
|
|
12
12
|
export interface ToPlanOptions extends StepComposeOptions {
|
|
@@ -19,6 +19,8 @@ export interface ToPlanOptions extends StepComposeOptions {
|
|
|
19
19
|
}
|
|
20
20
|
/** The plan steps a run thread (or a saved workflow) carries for `workflow`. */
|
|
21
21
|
export declare function toPlanSteps(workflow: WorkflowDefinition, options?: ToPlanOptions): TaskPlanStep[];
|
|
22
|
+
/** A signal the builder holds that is not finished yet: no name, or a condition with nothing in it. */
|
|
23
|
+
export declare function isIncompleteSignal(signal: WorkflowSignal): boolean;
|
|
22
24
|
/** Steps from a run's (or a saved workflow's) plan: what the runner, the builder and the top bar show. */
|
|
23
25
|
export declare function fromPlanSteps(steps: TaskPlanStep[] | null | undefined): WorkflowStep[];
|
|
24
26
|
/** Where each step sits on the builder's canvas, as the plan keeps it. */
|
|
@@ -92,6 +92,31 @@ export type WorkflowRun =
|
|
|
92
92
|
y: number;
|
|
93
93
|
}>;
|
|
94
94
|
};
|
|
95
|
+
/**
|
|
96
|
+
* When a step's signal is raised, tested against the step's outcome once it is done (a skipped or
|
|
97
|
+
* failed step never signals): a form field equals a value (case-insensitive text), the agent's
|
|
98
|
+
* answer contains a phrase or matches a regex, or a review is approved. Absent = whenever it is done.
|
|
99
|
+
*/
|
|
100
|
+
export type WorkflowSignalWhen = {
|
|
101
|
+
field: string;
|
|
102
|
+
equals: string | number | boolean;
|
|
103
|
+
} | {
|
|
104
|
+
contains: string;
|
|
105
|
+
} | {
|
|
106
|
+
matches: string;
|
|
107
|
+
} | {
|
|
108
|
+
approved: true;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* A named signal a step raises when it is done and its condition holds. Another workflow starts on
|
|
112
|
+
* it ("When a step signals") as its own thread linked to this one, so the if/then between
|
|
113
|
+
* workflows lives in the link and each workflow stays short.
|
|
114
|
+
*/
|
|
115
|
+
export interface WorkflowSignal {
|
|
116
|
+
/** A slug (`[a-z0-9][a-z0-9_.-]*`), e.g. `risk-high`: what a linked workflow listens for. */
|
|
117
|
+
name: string;
|
|
118
|
+
when?: WorkflowSignalWhen;
|
|
119
|
+
}
|
|
95
120
|
interface WorkflowStepBase {
|
|
96
121
|
/** Unique within the workflow (`[a-z][a-z0-9_-]*`): the thread's progress is keyed by it. */
|
|
97
122
|
id: string;
|
|
@@ -113,6 +138,8 @@ interface WorkflowStepBase {
|
|
|
113
138
|
* sequence. `[]`: it starts with the run. A step waiting for several waits for them all.
|
|
114
139
|
*/
|
|
115
140
|
after?: string[];
|
|
141
|
+
/** Signals the step raises when it is done and their condition holds. */
|
|
142
|
+
signals?: WorkflowSignal[];
|
|
116
143
|
}
|
|
117
144
|
/** Ask for inputs. Every step's fields share the run's one input namespace (`{{name}}`). */
|
|
118
145
|
export interface WorkflowFormStep extends WorkflowStepBase {
|
|
@@ -738,10 +738,29 @@ function toPlanSteps(workflow, options = {}) {
|
|
|
738
738
|
branch: step.kind === "agent" && !!step.branch,
|
|
739
739
|
requires_files: false,
|
|
740
740
|
ui,
|
|
741
|
+
// An unfinished signal (still being typed) is not saved: the server would refuse it.
|
|
742
|
+
...step.signals?.some((s) => !isIncompleteSignal(s)) ? { signals: step.signals.filter((s) => !isIncompleteSignal(s)).map(toPlanSignal) } : {},
|
|
741
743
|
...step.kind === "agent" ? agentStep(workflow, step, options) : { skill: null, inputs: null, prompt: null }
|
|
742
744
|
};
|
|
743
745
|
});
|
|
744
746
|
}
|
|
747
|
+
function toPlanSignal(signal) {
|
|
748
|
+
return signal.when ? { name: signal.name, when: signal.when } : { name: signal.name };
|
|
749
|
+
}
|
|
750
|
+
function isIncompleteSignal(signal) {
|
|
751
|
+
const when = signal.when;
|
|
752
|
+
if (!signal.name.trim()) return true;
|
|
753
|
+
if (!when) return false;
|
|
754
|
+
if ("field" in when) return !when.field || String(when.equals).trim() === "";
|
|
755
|
+
if ("contains" in when) return !when.contains.trim();
|
|
756
|
+
if ("matches" in when) return !when.matches.trim();
|
|
757
|
+
return false;
|
|
758
|
+
}
|
|
759
|
+
function fromPlanSignal(signal) {
|
|
760
|
+
const w = signal.when;
|
|
761
|
+
const when = w?.field != null && w.equals != null ? { field: w.field, equals: w.equals } : w?.contains != null ? { contains: w.contains } : w?.matches != null ? { matches: w.matches } : w?.approved ? { approved: true } : void 0;
|
|
762
|
+
return when ? { name: signal.name, when } : { name: signal.name };
|
|
763
|
+
}
|
|
745
764
|
function fromPlanSteps(steps) {
|
|
746
765
|
return (steps ?? []).map((p) => {
|
|
747
766
|
const ui = p.ui ?? {};
|
|
@@ -752,7 +771,8 @@ function fromPlanSteps(steps) {
|
|
|
752
771
|
icon: ui.icon,
|
|
753
772
|
commit: ui.commit,
|
|
754
773
|
nextLabel: ui.next_label,
|
|
755
|
-
...p.after != null ? { after: p.after } : {}
|
|
774
|
+
...p.after != null ? { after: p.after } : {},
|
|
775
|
+
...p.signals?.length ? { signals: p.signals.map(fromPlanSignal) } : {}
|
|
756
776
|
};
|
|
757
777
|
switch (p.kind) {
|
|
758
778
|
case "form":
|
|
@@ -1397,6 +1417,6 @@ function AgentStepBody({
|
|
|
1397
1417
|
] });
|
|
1398
1418
|
}
|
|
1399
1419
|
|
|
1400
|
-
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 };
|
|
1401
|
-
//# sourceMappingURL=chunk-
|
|
1402
|
-
//# sourceMappingURL=chunk-
|
|
1420
|
+
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, isIncompleteSignal, 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 };
|
|
1421
|
+
//# sourceMappingURL=chunk-22P5KNIM.js.map
|
|
1422
|
+
//# sourceMappingURL=chunk-22P5KNIM.js.map
|