@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.
- package/dist/agents/index.cjs +341 -253
- package/dist/agents/index.js +3 -3
- package/dist/agents/tasks/TaskActivityTimeline.d.ts +1 -1
- package/dist/agents/tasks/WorkflowThreadStrip.d.ts +44 -1
- package/dist/agents/tasks/index.d.ts +2 -1
- package/dist/agents/tasks/linkedRuns.d.ts +31 -0
- package/dist/agents/workflows/SchemaForm.d.ts +6 -1
- package/dist/agents/workflows/StepParts.d.ts +109 -0
- package/dist/agents/workflows/WorkflowRunner.d.ts +11 -2
- package/dist/agents/workflows/index.d.ts +3 -2
- package/dist/agents/workflows/planSteps.d.ts +10 -1
- package/dist/agents/workflows/run.d.ts +61 -8
- package/dist/agents/workflows/types.d.ts +160 -4
- package/dist/agents/workflows/useWorkflowPreview.d.ts +2 -1
- package/dist/agents/workflows/useWorkflowView.d.ts +19 -0
- package/dist/chat/ChatPage.d.ts +1 -1
- package/dist/chat/WorkflowStepChip.d.ts +24 -0
- package/dist/chat/chat-page-types.d.ts +4 -0
- package/dist/chat/index.cjs +130 -122
- package/dist/chat/index.d.ts +1 -0
- package/dist/chat/index.js +2 -2
- package/dist/{chunk-YWYVIQ7T.js → chunk-34UW6XUQ.js} +948 -38
- package/dist/chunk-34UW6XUQ.js.map +1 -0
- package/dist/{chunk-P2RBE3FD.cjs → chunk-3XR3IEGU.cjs} +965 -35
- package/dist/chunk-3XR3IEGU.cjs.map +1 -0
- package/dist/{chunk-ZWA7UUZL.cjs → chunk-7YUFMNFW.cjs} +2 -54
- package/dist/chunk-7YUFMNFW.cjs.map +1 -0
- package/dist/chunk-A24C6BNA.js +92 -0
- package/dist/chunk-A24C6BNA.js.map +1 -0
- package/dist/chunk-AINNADMT.cjs +62 -0
- package/dist/chunk-AINNADMT.cjs.map +1 -0
- package/dist/{chunk-7CVF3DK2.cjs → chunk-EKIUMNCN.cjs} +5 -5
- package/dist/{chunk-7CVF3DK2.cjs.map → chunk-EKIUMNCN.cjs.map} +1 -1
- package/dist/chunk-FE4ULGOR.js +151 -0
- package/dist/chunk-FE4ULGOR.js.map +1 -0
- package/dist/chunk-FT5FFXSJ.js +60 -0
- package/dist/chunk-FT5FFXSJ.js.map +1 -0
- package/dist/{chunk-HITAN7JF.cjs → chunk-GTXOV7IJ.cjs} +4 -4
- package/dist/{chunk-HITAN7JF.cjs.map → chunk-GTXOV7IJ.cjs.map} +1 -1
- package/dist/{chunk-LT2UORRG.js → chunk-HEVVT6IT.js} +205 -38
- package/dist/chunk-HEVVT6IT.js.map +1 -0
- package/dist/{chunk-IPGKTUF7.cjs → chunk-HOD6OM7L.cjs} +68 -3
- package/dist/chunk-HOD6OM7L.cjs.map +1 -0
- package/dist/{chunk-F4LUD3YC.cjs → chunk-JFUN4D7D.cjs} +229 -60
- package/dist/chunk-JFUN4D7D.cjs.map +1 -0
- package/dist/{chunk-UIWLDSTF.js → chunk-NIP5BOP7.js} +68 -5
- package/dist/chunk-NIP5BOP7.js.map +1 -0
- package/dist/{chunk-MK6NJQGF.js → chunk-OEM5ARVM.js} +3 -3
- package/dist/{chunk-MK6NJQGF.js.map → chunk-OEM5ARVM.js.map} +1 -1
- package/dist/{chunk-5EBGRG3X.js → chunk-OPA2Y6YZ.js} +3 -54
- package/dist/chunk-OPA2Y6YZ.js.map +1 -0
- package/dist/chunk-TZR36PPP.cjs +95 -0
- package/dist/chunk-TZR36PPP.cjs.map +1 -0
- package/dist/{chunk-WJEKRSPH.js → chunk-UEU23PTW.js} +3 -3
- package/dist/{chunk-WJEKRSPH.js.map → chunk-UEU23PTW.js.map} +1 -1
- package/dist/chunk-ZVBPRMHJ.cjs +153 -0
- package/dist/chunk-ZVBPRMHJ.cjs.map +1 -0
- package/dist/connect/docx.cjs +10 -88
- package/dist/connect/docx.cjs.map +1 -1
- package/dist/connect/docx.js +6 -86
- package/dist/connect/docx.js.map +1 -1
- package/dist/connect/index.cjs +295 -32
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.js +280 -17
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/ConnectedWorkflowRunner.d.ts +16 -2
- package/dist/connection/WorkflowRunnerDialogs.d.ts +37 -0
- package/dist/connection/useWorkflowThread.d.ts +12 -0
- package/dist/document-tools/index.cjs +7 -143
- package/dist/document-tools/index.cjs.map +1 -1
- package/dist/document-tools/index.js +5 -144
- package/dist/document-tools/index.js.map +1 -1
- package/dist/docx/index.cjs +18 -17
- package/dist/docx/index.cjs.map +1 -1
- package/dist/docx/index.js +3 -2
- package/dist/docx/index.js.map +1 -1
- 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 +631 -535
- package/dist/index.js +8 -8
- 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 +4 -4
- package/dist/studio/index.js +3 -3
- package/dist/workflow-canvas/SignalsEditor.d.ts +41 -0
- package/dist/workflow-canvas/StepActionSettings.d.ts +132 -0
- package/dist/workflow-canvas/StepInspector.d.ts +28 -2
- package/dist/workflow-canvas/TriggerInspector.d.ts +11 -2
- package/dist/workflow-canvas/WorkflowBuilder.d.ts +17 -4
- package/dist/workflow-canvas/WorkflowCanvas.d.ts +27 -2
- package/dist/workflow-canvas/edit.d.ts +9 -1
- package/dist/workflow-canvas/index.cjs +1282 -208
- package/dist/workflow-canvas/index.cjs.map +1 -1
- package/dist/workflow-canvas/index.d.ts +2 -1
- package/dist/workflow-canvas/index.js +1255 -188
- package/dist/workflow-canvas/index.js.map +1 -1
- package/dist/workflow-canvas/trigger.d.ts +20 -1
- package/package.json +4 -4
- package/src/workflow-canvas/canvas.css +9 -0
- package/dist/chunk-5EBGRG3X.js.map +0 -1
- package/dist/chunk-F4LUD3YC.cjs.map +0 -1
- package/dist/chunk-IPGKTUF7.cjs.map +0 -1
- package/dist/chunk-LT2UORRG.js.map +0 -1
- package/dist/chunk-P2RBE3FD.cjs.map +0 -1
- package/dist/chunk-UIWLDSTF.js.map +0 -1
- package/dist/chunk-YWYVIQ7T.js.map +0 -1
- package/dist/chunk-ZWA7UUZL.cjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { DocumentPicker, TriStateFilterMenu, MultiSelect } from './chunk-CKB64Z4R.js';
|
|
3
3
|
import { EmptyState } from './chunk-P6GHJSLR.js';
|
|
4
|
-
import { defaultInputs, validateInputs, SchemaForm, isWorkflowScope, fieldToFrontmatter, workflowFromFrontmatter, workflowSteps, initialRunInputs, stepPhase, composeStepPrompt, useWorkflowView, composeWorkflowPrompt, isRunFinished, buildLaunch } from './chunk-
|
|
4
|
+
import { defaultInputs, validateInputs, SchemaForm, isWorkflowScope, fieldToFrontmatter, workflowFromFrontmatter, workflowSteps, initialRunInputs, stepPhase, composeStepPrompt, useWorkflowView, composeWorkflowPrompt, isRunFinished, buildLaunch } from './chunk-34UW6XUQ.js';
|
|
5
5
|
import { TabHeader } from './chunk-4WWM3GQ5.js';
|
|
6
6
|
import { CellHoverIcon } from './chunk-RFXJYIDV.js';
|
|
7
7
|
import { ToneBadge } from './chunk-DPLRHEJZ.js';
|
|
@@ -11,17 +11,17 @@ import { GridView } from './chunk-ZPLG7QYF.js';
|
|
|
11
11
|
import { QuickActionDialogHeader, AddFilesFirst, ScopePicker, StartTiles } from './chunk-DDF5GPIJ.js';
|
|
12
12
|
import { FoldSection } from './chunk-XD2M6LIG.js';
|
|
13
13
|
import { ActionLink } from './chunk-S7PSMMRG.js';
|
|
14
|
+
import { useBlocksEnvironment } from './chunk-76JDDMSP.js';
|
|
14
15
|
import { useMentionAutocomplete } from './chunk-HOXKR26S.js';
|
|
15
16
|
import { toMessageMentions, extractMentions, MentionMenu } from './chunk-AA3PT6KR.js';
|
|
16
17
|
import { useIsPhone } from './chunk-SLSBJRWW.js';
|
|
17
|
-
import { useBlocksEnvironment } from './chunk-76JDDMSP.js';
|
|
18
18
|
import { formatCount, initials } from './chunk-OXF2IFXG.js';
|
|
19
19
|
import { ModalHeader } from './chunk-TX2ZICS7.js';
|
|
20
20
|
import { testIdOr, prefixedTestId } from './chunk-7F6CBP3Z.js';
|
|
21
21
|
import { memo, forwardRef, useState, useMemo, useId, useEffect, useRef, useCallback, useLayoutEffect } from 'react';
|
|
22
22
|
import { cn, Label, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Textarea, Input, Switch, Button, Collapsible, CollapsibleTrigger, CollapsibleContent, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Tooltip, TooltipTrigger, TooltipContent, Badge, Slider, UserEntity, getEntityColorStyles, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, VisibilityToggle, EntityPill, ThreadVisibilityIcon, DialogClose, Popover, PopoverTrigger, PopoverContent, Command, CommandInput, CommandList, CommandEmpty, CommandItem, DropdownMenuSeparator, badgeVariants, Checkbox } from '@arbidocs/react/ui';
|
|
23
23
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
24
|
-
import { ChevronDown, ChevronRight, Plus, Trash2, Loader2, Play, MessageSquare, Eye, ClipboardList, Pencil, Copy, Bot, Sparkles, Wand2, X, Globe, Download, Lock, ListChecks, AlertTriangle, FileX, SkipForward, Check, FileText, CornerDownRight, AlertCircle, KeyRound, Workflow, ChevronsUpDown, ChevronsDownUp, ListTodo, CheckCheck, MoreHorizontal, CalendarClock, History, ChevronUp, Pause, Activity, Hourglass, MoreVertical, TriangleAlert, CheckSquare, Square, CheckCircle2, SquareArrowOutUpRight, ArrowLeft, LayoutGrid, List, CircleDashed, RotateCcw, ListPlus, Link2, Clock, Bell, MousePointerClick, UserRoundCog, MessageSquareReply, MinusCircle, Zap } from 'lucide-react';
|
|
24
|
+
import { ChevronDown, ChevronRight, Plus, Trash2, Loader2, Play, MessageSquare, Eye, ClipboardList, Pencil, Copy, Bot, Sparkles, Wand2, X, Globe, Download, Lock, ListChecks, AlertTriangle, FileX, SkipForward, Check, FileText, CornerDownRight, AlertCircle, KeyRound, Workflow, ChevronsUpDown, ChevronsDownUp, ListTodo, CheckCheck, MoreHorizontal, CalendarClock, History, CornerUpLeft, UserRound, ChevronUp, Pause, Activity, Hourglass, MoreVertical, TriangleAlert, CheckSquare, Square, CheckCircle2, SquareArrowOutUpRight, ArrowLeft, LayoutGrid, List, CornerLeftUp, CircleDashed, RotateCcw, ListPlus, Link2, Clock, Bell, MousePointerClick, ArrowUpRight, BellRing, PenLine, Flag, UserRoundCog, MessageSquareReply, MinusCircle, Zap } from 'lucide-react';
|
|
25
25
|
|
|
26
26
|
function useControllableState(value, defaultValue, onChange) {
|
|
27
27
|
const [inner, setInner] = useState(defaultValue);
|
|
@@ -504,7 +504,7 @@ function WorkflowDocumentsField({
|
|
|
504
504
|
|
|
505
505
|
// src/agents/workflows/skillMarkdown.ts
|
|
506
506
|
var JSON_KEYS = /* @__PURE__ */ new Set(["inputs"]);
|
|
507
|
-
var oneLine = (
|
|
507
|
+
var oneLine = (text2) => text2.replace(/\s*\n\s*/g, " ").trim();
|
|
508
508
|
var skillSlug = (raw) => raw.toLowerCase().replace(/[^a-z0-9-]/g, "");
|
|
509
509
|
function workflowToSkillMarkdown(workflow) {
|
|
510
510
|
const { run } = workflow;
|
|
@@ -523,10 +523,10 @@ function workflowToSkillMarkdown(workflow) {
|
|
|
523
523
|
lines.push("---", "", run.promptTemplate.trim(), "");
|
|
524
524
|
return lines.join("\n");
|
|
525
525
|
}
|
|
526
|
-
function workflowFromSkillMarkdown(id,
|
|
527
|
-
const match = /^---\n([\s\S]*?)\n---\n?([\s\S]*)$/.exec(
|
|
526
|
+
function workflowFromSkillMarkdown(id, text2) {
|
|
527
|
+
const match = /^---\n([\s\S]*?)\n---\n?([\s\S]*)$/.exec(text2);
|
|
528
528
|
const frontmatter = {};
|
|
529
|
-
const body = match ? match[2] :
|
|
529
|
+
const body = match ? match[2] : text2;
|
|
530
530
|
for (const line of (match ? match[1] : "").split("\n")) {
|
|
531
531
|
const i = line.indexOf(":");
|
|
532
532
|
if (i < 1) continue;
|
|
@@ -565,15 +565,20 @@ function useWorkflowPreview(workflow, { answer = "{prompt}", delayMs = 400, reso
|
|
|
565
565
|
}, []);
|
|
566
566
|
useEffect(() => {
|
|
567
567
|
if (Object.values(states).some((s) => s.status === "running")) return;
|
|
568
|
-
const next = steps.find(
|
|
569
|
-
|
|
570
|
-
|
|
568
|
+
const next = steps.find(
|
|
569
|
+
(s) => (s.kind === "agent" || s.kind === "action") && stepPhase(steps, states, s.id) === "ready"
|
|
570
|
+
);
|
|
571
|
+
if (!next || next.kind !== "agent" && next.kind !== "action") return;
|
|
572
|
+
const prompt = next.kind === "agent" ? composeStepPrompt(workflow, next, inputs, { resolveWorkflow, compose }) : "";
|
|
571
573
|
set(next.id, { status: "running", startedAt: (/* @__PURE__ */ new Date()).toISOString() });
|
|
572
574
|
timers.current.set(
|
|
573
575
|
next.id,
|
|
574
576
|
setTimeout(() => {
|
|
575
577
|
timers.current.delete(next.id);
|
|
576
|
-
set(
|
|
578
|
+
set(
|
|
579
|
+
next.id,
|
|
580
|
+
next.kind === "agent" ? { status: "done", text: answer.replace("{prompt}", prompt) } : { status: "done" }
|
|
581
|
+
);
|
|
577
582
|
}, delayMs)
|
|
578
583
|
);
|
|
579
584
|
}, [states, steps, workflow]);
|
|
@@ -2028,7 +2033,7 @@ function TaskPlan({
|
|
|
2028
2033
|
);
|
|
2029
2034
|
}
|
|
2030
2035
|
const patch = (fields) => onChange({ ...plan, ...fields });
|
|
2031
|
-
const setCriterion = (idx,
|
|
2036
|
+
const setCriterion = (idx, text2) => patch({ criteria: plan.criteria.map((c, i) => i === idx ? { ...c, text: text2 } : c) });
|
|
2032
2037
|
const addCriterion = () => patch({ criteria: [...plan.criteria, { id: nextCriterionId(plan.criteria), text: "" }] });
|
|
2033
2038
|
const removeCriterion = (idx) => patch({ criteria: plan.criteria.filter((_, i) => i !== idx) });
|
|
2034
2039
|
const count = plan.criteria.length;
|
|
@@ -2974,10 +2979,10 @@ function TaskStatusPill({
|
|
|
2974
2979
|
const generating = key === "generating";
|
|
2975
2980
|
const now = useNow(generating && Boolean(runStartedAt));
|
|
2976
2981
|
const started = runStartedAt ? Date.parse(runStartedAt) : NaN;
|
|
2977
|
-
let
|
|
2982
|
+
let text2 = STATUS_LABELS[key];
|
|
2978
2983
|
let tone = STATUS_TONE[key];
|
|
2979
2984
|
if (awaitingAccess) {
|
|
2980
|
-
|
|
2985
|
+
text2 = l.waitingForAccess;
|
|
2981
2986
|
tone = "danger";
|
|
2982
2987
|
}
|
|
2983
2988
|
const elapsed = generating && !Number.isNaN(started) ? formatElapsed(started, now) : null;
|
|
@@ -2990,7 +2995,7 @@ function TaskStatusPill({
|
|
|
2990
2995
|
"data-status": key,
|
|
2991
2996
|
"data-testid": testIdOr(testId, { testId: `task-status-${id}` }),
|
|
2992
2997
|
children: [
|
|
2993
|
-
|
|
2998
|
+
text2,
|
|
2994
2999
|
elapsed && /* @__PURE__ */ jsxs("span", { className: "tabular-nums opacity-70", children: [
|
|
2995
3000
|
"\xB7 ",
|
|
2996
3001
|
elapsed
|
|
@@ -3396,8 +3401,8 @@ function TaskTable(props) {
|
|
|
3396
3401
|
const map = new Map(STATUS_ORDER.map((s) => [s, 0]));
|
|
3397
3402
|
let all = 0;
|
|
3398
3403
|
for (const task of tasks) {
|
|
3399
|
-
const
|
|
3400
|
-
if (q && !
|
|
3404
|
+
const text2 = `${nameOf(task)} ${task.description ?? ""}`.toLowerCase();
|
|
3405
|
+
if (q && !text2.includes(q)) continue;
|
|
3401
3406
|
all += 1;
|
|
3402
3407
|
const s = asTaskStatus(task.status);
|
|
3403
3408
|
map.set(s, (map.get(s) ?? 0) + 1);
|
|
@@ -4942,8 +4947,8 @@ function isoToLocalInput(iso) {
|
|
|
4942
4947
|
return new Date(d.getTime() - d.getTimezoneOffset() * 6e4).toISOString().slice(0, 16);
|
|
4943
4948
|
}
|
|
4944
4949
|
var DERIVED_NAME_WORDS = 6;
|
|
4945
|
-
function firstWords(
|
|
4946
|
-
const words =
|
|
4950
|
+
function firstWords(text2, count = DERIVED_NAME_WORDS) {
|
|
4951
|
+
const words = text2.trim().split(/\s+/).filter(Boolean);
|
|
4947
4952
|
if (words.length <= count) return words.join(" ");
|
|
4948
4953
|
return `${words.slice(0, count).join(" ")}\u2026`;
|
|
4949
4954
|
}
|
|
@@ -5537,7 +5542,7 @@ function TaskTriggerChip({
|
|
|
5537
5542
|
}) {
|
|
5538
5543
|
const l = { ...DEFAULT_TASK_TRIGGER_CHIP_LABELS, ...labels };
|
|
5539
5544
|
const chained = Boolean(afterTaskId);
|
|
5540
|
-
const
|
|
5545
|
+
const text2 = chained ? afterTaskName ? l.after(afterTaskName) : l.afterUnknown : triggerType === "on_demand" ? l.onDemand : summary;
|
|
5541
5546
|
return /* @__PURE__ */ jsxs(
|
|
5542
5547
|
"span",
|
|
5543
5548
|
{
|
|
@@ -5546,7 +5551,7 @@ function TaskTriggerChip({
|
|
|
5546
5551
|
"data-trigger": chained ? "task" : triggerType,
|
|
5547
5552
|
children: [
|
|
5548
5553
|
/* @__PURE__ */ jsx(TriggerIcon, { type: triggerType, chained }),
|
|
5549
|
-
/* @__PURE__ */ jsx("span", { className: "truncate", children:
|
|
5554
|
+
/* @__PURE__ */ jsx("span", { className: "truncate", children: text2 })
|
|
5550
5555
|
]
|
|
5551
5556
|
}
|
|
5552
5557
|
);
|
|
@@ -5779,9 +5784,9 @@ function WorkflowsTable(props) {
|
|
|
5779
5784
|
renderName: (w) => {
|
|
5780
5785
|
const { l: lb } = latest.current;
|
|
5781
5786
|
const skill = isSkillRow(w);
|
|
5782
|
-
const
|
|
5787
|
+
const text2 = skill ? latest.current.actionText(w) : w.description || latest.current.actionText(w);
|
|
5783
5788
|
const stem = w.name.replace(/…$/, "").trim();
|
|
5784
|
-
const about =
|
|
5789
|
+
const about = text2 && text2.trim() !== w.name.trim() && text2.trim() !== stem ? text2 : "";
|
|
5785
5790
|
return /* @__PURE__ */ jsxs("div", { className: "min-w-0 leading-tight", children: [
|
|
5786
5791
|
/* @__PURE__ */ jsxs("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
5787
5792
|
/* @__PURE__ */ jsx(
|
|
@@ -6210,7 +6215,14 @@ var ICONS = {
|
|
|
6210
6215
|
step_started: /* @__PURE__ */ jsx(Play, { className: "size-3.5", "aria-hidden": true }),
|
|
6211
6216
|
step_done: /* @__PURE__ */ jsx(CheckCircle2, { className: "size-3.5", "aria-hidden": true }),
|
|
6212
6217
|
step_skipped: /* @__PURE__ */ jsx(RotateCcw, { className: "size-3.5", "aria-hidden": true }),
|
|
6213
|
-
step_failed: /* @__PURE__ */ jsx(AlertTriangle, { className: "size-3.5", "aria-hidden": true })
|
|
6218
|
+
step_failed: /* @__PURE__ */ jsx(AlertTriangle, { className: "size-3.5", "aria-hidden": true }),
|
|
6219
|
+
step_signal: /* @__PURE__ */ jsx(Flag, { className: "size-3.5", "aria-hidden": true }),
|
|
6220
|
+
step_waiting: /* @__PURE__ */ jsx(Hourglass, { className: "size-3.5", "aria-hidden": true }),
|
|
6221
|
+
step_progress: /* @__PURE__ */ jsx(PenLine, { className: "size-3.5", "aria-hidden": true }),
|
|
6222
|
+
step_sent_back: /* @__PURE__ */ jsx(CornerUpLeft, { className: "size-3.5", "aria-hidden": true }),
|
|
6223
|
+
step_ready: /* @__PURE__ */ jsx(BellRing, { className: "size-3.5", "aria-hidden": true }),
|
|
6224
|
+
step_reminded: /* @__PURE__ */ jsx(BellRing, { className: "size-3.5", "aria-hidden": true }),
|
|
6225
|
+
linked_run: /* @__PURE__ */ jsx(ArrowUpRight, { className: "size-3.5", "aria-hidden": true })
|
|
6214
6226
|
};
|
|
6215
6227
|
var asString = (v) => typeof v === "string" && v.trim() ? v : null;
|
|
6216
6228
|
function summarizeError(error) {
|
|
@@ -6255,6 +6267,22 @@ function TaskActivityTimeline({
|
|
|
6255
6267
|
return { headline: "Step done" };
|
|
6256
6268
|
case "step_skipped":
|
|
6257
6269
|
return { headline: "Step skipped" };
|
|
6270
|
+
case "step_waiting":
|
|
6271
|
+
return { headline: "Waiting on people" };
|
|
6272
|
+
case "step_progress":
|
|
6273
|
+
return { headline: detail.signed ? "Signed" : "Step moved on" };
|
|
6274
|
+
case "step_sent_back":
|
|
6275
|
+
return { headline: "Sent the work back" };
|
|
6276
|
+
case "step_ready":
|
|
6277
|
+
return { headline: "Told whose turn it is" };
|
|
6278
|
+
case "step_reminded":
|
|
6279
|
+
return { headline: "Sent a reminder" };
|
|
6280
|
+
case "step_signal":
|
|
6281
|
+
return { headline: `Signalled \u201C${asString(detail.signal) ?? "a signal"}\u201D` };
|
|
6282
|
+
case "linked_run":
|
|
6283
|
+
return {
|
|
6284
|
+
headline: `Started a linked workflow on \u201C${asString(detail.signal) ?? "a signal"}\u201D`
|
|
6285
|
+
};
|
|
6258
6286
|
case "step_failed":
|
|
6259
6287
|
return {
|
|
6260
6288
|
headline: "Step failed",
|
|
@@ -6459,7 +6487,13 @@ function ThreadActivity({ item, children }) {
|
|
|
6459
6487
|
}
|
|
6460
6488
|
) });
|
|
6461
6489
|
}
|
|
6462
|
-
var STEP_KINDS = /* @__PURE__ */ new Set([
|
|
6490
|
+
var STEP_KINDS = /* @__PURE__ */ new Set([
|
|
6491
|
+
"step_started",
|
|
6492
|
+
"step_waiting",
|
|
6493
|
+
"step_done",
|
|
6494
|
+
"step_skipped",
|
|
6495
|
+
"step_failed"
|
|
6496
|
+
]);
|
|
6463
6497
|
function groupThreadActivity(steps, items) {
|
|
6464
6498
|
const out = { before: [], byStep: {}, after: [] };
|
|
6465
6499
|
const states = {};
|
|
@@ -6468,7 +6502,7 @@ function groupThreadActivity(steps, items) {
|
|
|
6468
6502
|
if (item.kind && STEP_KINDS.has(item.kind) && item.step) {
|
|
6469
6503
|
current = item.step;
|
|
6470
6504
|
states[item.step] = {
|
|
6471
|
-
status: item.kind === "step_started" ? "running" : item.kind === "step_done" ? "done" : item.kind === "step_skipped" ? "skipped" : "failed"
|
|
6505
|
+
status: item.kind === "step_started" ? "running" : item.kind === "step_waiting" ? "waiting" : item.kind === "step_done" ? "done" : item.kind === "step_skipped" ? "skipped" : "failed"
|
|
6472
6506
|
};
|
|
6473
6507
|
continue;
|
|
6474
6508
|
}
|
|
@@ -6485,11 +6519,70 @@ function groupThreadActivity(steps, items) {
|
|
|
6485
6519
|
var DEFAULT_WORKFLOW_THREAD_STRIP_LABELS = {
|
|
6486
6520
|
happened: "{count} in this step",
|
|
6487
6521
|
nothingYet: "Nothing here yet.",
|
|
6488
|
-
skip: "Skip this step"
|
|
6522
|
+
skip: "Skip this step",
|
|
6523
|
+
startedBy: "Started by {step} in {thread}",
|
|
6524
|
+
signalled: "This step signalled \u201C{signal}\u201D",
|
|
6525
|
+
linkedRun: "Started on \u201C{signal}\u201D: open its thread",
|
|
6526
|
+
waitingFor: "Waiting for {name}",
|
|
6527
|
+
sentBack: "Sent back to be done again"
|
|
6489
6528
|
};
|
|
6529
|
+
function WorkflowThreadStartedBy({
|
|
6530
|
+
origin,
|
|
6531
|
+
labels
|
|
6532
|
+
}) {
|
|
6533
|
+
const l = { ...DEFAULT_WORKFLOW_THREAD_STRIP_LABELS, ...labels };
|
|
6534
|
+
const text2 = l.startedBy.replace("{step}", origin.stepTitle).replace("{thread}", origin.threadTitle);
|
|
6535
|
+
const className = "flex max-w-64 shrink-0 items-center gap-1 truncate rounded-full border border-border px-2 py-0.5 text-[11px] text-muted-foreground";
|
|
6536
|
+
const content = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6537
|
+
/* @__PURE__ */ jsx(CornerLeftUp, { className: "size-3 shrink-0" }),
|
|
6538
|
+
/* @__PURE__ */ jsx("span", { className: "truncate", children: text2 })
|
|
6539
|
+
] });
|
|
6540
|
+
return origin.onSelect ? /* @__PURE__ */ jsx(
|
|
6541
|
+
"button",
|
|
6542
|
+
{
|
|
6543
|
+
type: "button",
|
|
6544
|
+
onClick: origin.onSelect,
|
|
6545
|
+
title: origin.signal ? `${text2} (${origin.signal})` : text2,
|
|
6546
|
+
className: cn(className, "hover:border-primary/40 hover:text-primary"),
|
|
6547
|
+
"data-testid": "workflow-thread-started-by",
|
|
6548
|
+
children: content
|
|
6549
|
+
}
|
|
6550
|
+
) : /* @__PURE__ */ jsx("span", { className, title: text2, "data-testid": "workflow-thread-started-by", children: content });
|
|
6551
|
+
}
|
|
6552
|
+
function SignalPill({ signal, l }) {
|
|
6553
|
+
return /* @__PURE__ */ jsxs(
|
|
6554
|
+
"span",
|
|
6555
|
+
{
|
|
6556
|
+
className: "flex shrink-0 items-center gap-1 rounded-full border border-amber-500/40 bg-amber-500/10 px-1.5 py-0.5 text-[11px] text-amber-700 dark:text-amber-300",
|
|
6557
|
+
title: l.signalled.replace("{signal}", signal.signal),
|
|
6558
|
+
"data-testid": `workflow-thread-signal-${signal.step}-${signal.signal}`,
|
|
6559
|
+
children: [
|
|
6560
|
+
/* @__PURE__ */ jsx(Flag, { className: "size-3 shrink-0" }),
|
|
6561
|
+
/* @__PURE__ */ jsx("span", { className: "font-mono", children: signal.signal }),
|
|
6562
|
+
signal.runs.map((run) => /* @__PURE__ */ jsxs(
|
|
6563
|
+
"button",
|
|
6564
|
+
{
|
|
6565
|
+
type: "button",
|
|
6566
|
+
onClick: run.onSelect,
|
|
6567
|
+
disabled: !run.onSelect,
|
|
6568
|
+
title: l.linkedRun.replace("{signal}", signal.signal),
|
|
6569
|
+
className: "flex max-w-40 items-center gap-0.5 truncate rounded-full bg-background/80 px-1.5 text-foreground hover:text-primary disabled:cursor-default",
|
|
6570
|
+
"data-testid": `workflow-thread-linked-${run.id}`,
|
|
6571
|
+
children: [
|
|
6572
|
+
/* @__PURE__ */ jsx(ArrowUpRight, { className: "size-3 shrink-0" }),
|
|
6573
|
+
/* @__PURE__ */ jsx("span", { className: "truncate", children: run.label })
|
|
6574
|
+
]
|
|
6575
|
+
},
|
|
6576
|
+
run.id
|
|
6577
|
+
))
|
|
6578
|
+
]
|
|
6579
|
+
}
|
|
6580
|
+
);
|
|
6581
|
+
}
|
|
6490
6582
|
function Mark({ phase, icon }) {
|
|
6491
6583
|
if (phase === "done") return /* @__PURE__ */ jsx(Check, { className: "size-3.5" });
|
|
6492
6584
|
if (phase === "running") return /* @__PURE__ */ jsx(Loader2, { className: "size-3.5 animate-spin" });
|
|
6585
|
+
if (phase === "waiting") return /* @__PURE__ */ jsx(Hourglass, { className: "size-3.5" });
|
|
6493
6586
|
if (phase === "failed") return /* @__PURE__ */ jsx(AlertTriangle, { className: "size-3.5" });
|
|
6494
6587
|
if (phase === "skipped") return /* @__PURE__ */ jsx(MinusCircle, { className: "size-3.5" });
|
|
6495
6588
|
return icon ? /* @__PURE__ */ jsx("span", { className: "flex size-3.5 items-center justify-center [&_svg]:size-3.5", children: icon }) : /* @__PURE__ */ jsx("span", { className: "size-1.5 rounded-full bg-current" });
|
|
@@ -6527,11 +6620,15 @@ function WorkflowThreadStrip({
|
|
|
6527
6620
|
renderIcon,
|
|
6528
6621
|
onSkip,
|
|
6529
6622
|
renderStepAction,
|
|
6623
|
+
signals = [],
|
|
6624
|
+
startedBy,
|
|
6625
|
+
assigneeOf,
|
|
6530
6626
|
labels,
|
|
6531
6627
|
className
|
|
6532
6628
|
}) {
|
|
6533
6629
|
const l = { ...DEFAULT_WORKFLOW_THREAD_STRIP_LABELS, ...labels };
|
|
6534
6630
|
const grouped = groupThreadActivity(steps, items);
|
|
6631
|
+
const strays = signals.filter((s) => !steps.some((step) => step.id === s.step));
|
|
6535
6632
|
const chevron = /* @__PURE__ */ jsx(ChevronRight, { className: "size-3 shrink-0 text-muted-foreground" });
|
|
6536
6633
|
return /* @__PURE__ */ jsx(
|
|
6537
6634
|
"div",
|
|
@@ -6541,6 +6638,10 @@ function WorkflowThreadStrip({
|
|
|
6541
6638
|
"aria-label": "Workflow steps",
|
|
6542
6639
|
"data-testid": "workflow-thread-strip",
|
|
6543
6640
|
children: /* @__PURE__ */ jsxs("ol", { className: "flex w-max min-w-full items-center gap-1", children: [
|
|
6641
|
+
startedBy && /* @__PURE__ */ jsxs("li", { className: "flex shrink-0 items-center gap-1", children: [
|
|
6642
|
+
/* @__PURE__ */ jsx(WorkflowThreadStartedBy, { origin: startedBy, labels }),
|
|
6643
|
+
chevron
|
|
6644
|
+
] }),
|
|
6544
6645
|
grouped.before.map((item) => /* @__PURE__ */ jsxs("li", { className: "flex shrink-0 items-center gap-1", children: [
|
|
6545
6646
|
/* @__PURE__ */ jsx(Entry, { item }),
|
|
6546
6647
|
chevron
|
|
@@ -6548,12 +6649,14 @@ function WorkflowThreadStrip({
|
|
|
6548
6649
|
steps.map((step, i) => {
|
|
6549
6650
|
const phase = stepPhase(steps, states, step.id);
|
|
6550
6651
|
const happened = grouped.byStep[step.id] ?? [];
|
|
6652
|
+
const assignee = phase === "ready" || phase === "waiting" ? assigneeOf?.(step) : void 0;
|
|
6653
|
+
const sentBack = states[step.id]?.sentBack;
|
|
6551
6654
|
const chip = /* @__PURE__ */ jsxs(
|
|
6552
6655
|
"span",
|
|
6553
6656
|
{
|
|
6554
6657
|
className: cn(
|
|
6555
6658
|
"flex shrink-0 items-center gap-1.5 whitespace-nowrap rounded-full border px-2 py-0.5 text-xs font-medium",
|
|
6556
|
-
phase === "running" || phase === "ready" ? "border-primary bg-primary/10 text-primary" : phase === "done" || phase === "skipped" ? "border-primary/30 text-primary" : phase === "failed" ? "border-destructive/40 text-destructive" : "border-dashed border-border text-muted-foreground"
|
|
6659
|
+
phase === "running" || phase === "ready" || phase === "waiting" ? "border-primary bg-primary/10 text-primary" : phase === "done" || phase === "skipped" ? "border-primary/30 text-primary" : phase === "failed" ? "border-destructive/40 text-destructive" : "border-dashed border-border text-muted-foreground"
|
|
6557
6660
|
),
|
|
6558
6661
|
"data-phase": phase,
|
|
6559
6662
|
"data-testid": `workflow-thread-step-${step.id}`,
|
|
@@ -6566,6 +6669,26 @@ function WorkflowThreadStrip({
|
|
|
6566
6669
|
}
|
|
6567
6670
|
),
|
|
6568
6671
|
step.title,
|
|
6672
|
+
sentBack && /* @__PURE__ */ jsx(
|
|
6673
|
+
CornerUpLeft,
|
|
6674
|
+
{
|
|
6675
|
+
className: "size-3 text-amber-600 dark:text-amber-400",
|
|
6676
|
+
"aria-label": l.sentBack,
|
|
6677
|
+
"data-testid": `workflow-thread-step-${step.id}-sent-back`
|
|
6678
|
+
}
|
|
6679
|
+
),
|
|
6680
|
+
assignee && /* @__PURE__ */ jsxs(
|
|
6681
|
+
"span",
|
|
6682
|
+
{
|
|
6683
|
+
className: "flex max-w-32 items-center gap-0.5 truncate font-normal opacity-80",
|
|
6684
|
+
title: l.waitingFor.replace("{name}", assignee),
|
|
6685
|
+
"data-testid": `workflow-thread-step-${step.id}-assignee`,
|
|
6686
|
+
children: [
|
|
6687
|
+
/* @__PURE__ */ jsx(UserRound, { className: "size-3 shrink-0" }),
|
|
6688
|
+
/* @__PURE__ */ jsx("span", { className: "truncate", children: assignee })
|
|
6689
|
+
]
|
|
6690
|
+
}
|
|
6691
|
+
),
|
|
6569
6692
|
happened.length > 0 && /* @__PURE__ */ jsx("span", { className: "rounded-full bg-muted px-1.5 text-[10px] text-muted-foreground", children: happened.length })
|
|
6570
6693
|
]
|
|
6571
6694
|
}
|
|
@@ -6580,10 +6703,19 @@ function WorkflowThreadStrip({
|
|
|
6580
6703
|
className: "w-72 space-y-1 p-2",
|
|
6581
6704
|
"data-testid": `workflow-thread-step-${step.id}-menu`,
|
|
6582
6705
|
children: [
|
|
6706
|
+
assignee && /* @__PURE__ */ jsx(
|
|
6707
|
+
"p",
|
|
6708
|
+
{
|
|
6709
|
+
className: "px-1 text-xs",
|
|
6710
|
+
"data-testid": `workflow-thread-step-${step.id}-waiting-for`,
|
|
6711
|
+
children: l.waitingFor.replace("{name}", assignee)
|
|
6712
|
+
}
|
|
6713
|
+
),
|
|
6714
|
+
sentBack && /* @__PURE__ */ jsx("p", { className: "px-1 text-xs text-amber-700 dark:text-amber-300", children: l.sentBack }),
|
|
6583
6715
|
/* @__PURE__ */ jsx("p", { className: "px-1 text-xs font-medium text-muted-foreground", children: happened.length ? l.happened.replace("{count}", String(happened.length)) : l.nothingYet }),
|
|
6584
6716
|
happened.map((item) => /* @__PURE__ */ jsx(Entry, { item }, item.id)),
|
|
6585
6717
|
renderStepAction?.(step, phase),
|
|
6586
|
-
onSkip && ["ready", "blocked", "failed"].includes(phase) && /* @__PURE__ */ jsx(
|
|
6718
|
+
onSkip && ["ready", "blocked", "failed", "waiting"].includes(phase) && /* @__PURE__ */ jsx(
|
|
6587
6719
|
"button",
|
|
6588
6720
|
{
|
|
6589
6721
|
type: "button",
|
|
@@ -6597,24 +6729,59 @@ function WorkflowThreadStrip({
|
|
|
6597
6729
|
}
|
|
6598
6730
|
)
|
|
6599
6731
|
] }),
|
|
6600
|
-
(
|
|
6732
|
+
signals.filter((s) => s.step === step.id).map((s) => /* @__PURE__ */ jsx(SignalPill, { signal: s, l }, `${s.step}-${s.signal}`)),
|
|
6733
|
+
(i < steps.length - 1 || grouped.after.length > 0 || strays.length > 0) && chevron
|
|
6601
6734
|
] }, step.id);
|
|
6602
6735
|
}),
|
|
6603
6736
|
grouped.after.map((item, i) => /* @__PURE__ */ jsxs("li", { className: "flex shrink-0 items-center gap-1", children: [
|
|
6604
6737
|
/* @__PURE__ */ jsx(Entry, { item }),
|
|
6605
|
-
i < grouped.after.length - 1 && chevron
|
|
6606
|
-
] }, item.id))
|
|
6738
|
+
(i < grouped.after.length - 1 || strays.length > 0) && chevron
|
|
6739
|
+
] }, item.id)),
|
|
6740
|
+
strays.map((s) => /* @__PURE__ */ jsx("li", { className: "flex shrink-0 items-center gap-1", children: /* @__PURE__ */ jsx(SignalPill, { signal: s, l }) }, `${s.step}-${s.signal}`))
|
|
6607
6741
|
] })
|
|
6608
6742
|
}
|
|
6609
6743
|
);
|
|
6610
6744
|
}
|
|
6611
6745
|
|
|
6746
|
+
// src/agents/tasks/linkedRuns.ts
|
|
6747
|
+
var text = (v) => typeof v === "string" && v ? v : void 0;
|
|
6748
|
+
function linkedRunsFromActivity(events) {
|
|
6749
|
+
const raised = [];
|
|
6750
|
+
let startedBy;
|
|
6751
|
+
const entry = (step, signal) => {
|
|
6752
|
+
let found = raised.find((r) => r.step === step && r.signal === signal);
|
|
6753
|
+
if (!found) raised.push(found = { step, signal, runs: [] });
|
|
6754
|
+
return found;
|
|
6755
|
+
};
|
|
6756
|
+
for (const e of events ?? []) {
|
|
6757
|
+
const d = e.detail ?? {};
|
|
6758
|
+
const step = text(d.step);
|
|
6759
|
+
const signal = text(d.signal);
|
|
6760
|
+
if (e.kind === "step_signal" && step && signal) entry(step, signal);
|
|
6761
|
+
else if (e.kind === "linked_run" && step && signal) {
|
|
6762
|
+
const conversationId = text(d.conversation_ext_id);
|
|
6763
|
+
const runs = entry(step, signal).runs;
|
|
6764
|
+
if (conversationId && !runs.some((r) => r.conversationId === conversationId))
|
|
6765
|
+
runs.push({ conversationId, workflowId: text(d.workflow_ext_id) });
|
|
6766
|
+
} else if (e.kind === "created" && d.linked_from && typeof d.linked_from === "object") {
|
|
6767
|
+
const from = d.linked_from;
|
|
6768
|
+
const conversationId = text(from.conversation_ext_id);
|
|
6769
|
+
if (conversationId)
|
|
6770
|
+
startedBy = { conversationId, step: text(from.step), signal: text(from.signal) };
|
|
6771
|
+
}
|
|
6772
|
+
}
|
|
6773
|
+
return startedBy ? { raised, startedBy } : { raised };
|
|
6774
|
+
}
|
|
6775
|
+
|
|
6612
6776
|
// src/agents/tasks/compact-thread-activity.ts
|
|
6613
6777
|
var STEP_LABELS = {
|
|
6614
6778
|
step_started: "Step started",
|
|
6615
6779
|
step_done: "Step done",
|
|
6616
6780
|
step_skipped: "Step skipped",
|
|
6617
|
-
step_failed: "Step failed"
|
|
6781
|
+
step_failed: "Step failed",
|
|
6782
|
+
step_waiting: "Waiting",
|
|
6783
|
+
step_progress: "Signed",
|
|
6784
|
+
step_sent_back: "Sent back"
|
|
6618
6785
|
};
|
|
6619
6786
|
function compactThreadActivity(events) {
|
|
6620
6787
|
const result = [];
|
|
@@ -9019,7 +9186,7 @@ function AgentBarNotes({
|
|
|
9019
9186
|
return /* @__PURE__ */ jsx("div", { className: cn("mx-3 mb-2 space-y-1.5", className), children });
|
|
9020
9187
|
}
|
|
9021
9188
|
function AgentBarQueuedNote({
|
|
9022
|
-
text,
|
|
9189
|
+
text: text2,
|
|
9023
9190
|
isAcknowledged,
|
|
9024
9191
|
labels,
|
|
9025
9192
|
testId = "agent-queued-message"
|
|
@@ -9041,7 +9208,7 @@ function AgentBarQueuedNote({
|
|
|
9041
9208
|
children: l.queuedMessage
|
|
9042
9209
|
}
|
|
9043
9210
|
),
|
|
9044
|
-
/* @__PURE__ */ jsx("p", { className: "line-clamp-2 whitespace-pre-line text-sm text-foreground", title:
|
|
9211
|
+
/* @__PURE__ */ jsx("p", { className: "line-clamp-2 whitespace-pre-line text-sm text-foreground", title: text2, children: text2 })
|
|
9045
9212
|
] })
|
|
9046
9213
|
]
|
|
9047
9214
|
}
|
|
@@ -9902,6 +10069,6 @@ function AgentCreateView({
|
|
|
9902
10069
|
] });
|
|
9903
10070
|
}
|
|
9904
10071
|
|
|
9905
|
-
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, EntityChip, 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 };
|
|
9906
|
-
//# sourceMappingURL=chunk-
|
|
9907
|
-
//# sourceMappingURL=chunk-
|
|
10072
|
+
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, EntityChip, 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 };
|
|
10073
|
+
//# sourceMappingURL=chunk-HEVVT6IT.js.map
|
|
10074
|
+
//# sourceMappingURL=chunk-HEVVT6IT.js.map
|