@burdenoff/fluidgrids-fe-sdk 2026.929.1 → 2026.930.2
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/ExecutionDetailPage-RK3KJ46E.js +12 -0
- package/dist/{ExecutionDetailPage-F5XOP3JQ.js.map → ExecutionDetailPage-RK3KJ46E.js.map} +1 -1
- package/dist/ExecutionsListPage-NXINADRN.js +11 -0
- package/dist/{ExecutionsListPage-KQZK2T4O.js.map → ExecutionsListPage-NXINADRN.js.map} +1 -1
- package/dist/{WorkflowBuilder-TJFZ2TA3.js → WorkflowBuilder-EXHCYJFW.js} +7 -7
- package/dist/{WorkflowBuilder-TJFZ2TA3.js.map → WorkflowBuilder-EXHCYJFW.js.map} +1 -1
- package/dist/WorkflowsList-AFTTUUHX.js +13 -0
- package/dist/{WorkflowsList-72U6TS4Y.js.map → WorkflowsList-AFTTUUHX.js.map} +1 -1
- package/dist/{chunk-5FFVT22V.js → chunk-2FUWCGY6.js} +5 -5
- package/dist/{chunk-5FFVT22V.js.map → chunk-2FUWCGY6.js.map} +1 -1
- package/dist/{chunk-FJC2RJ4Y.js → chunk-3P4YQ7DO.js} +33 -3
- package/dist/chunk-3P4YQ7DO.js.map +1 -0
- package/dist/{chunk-GZCHKR3C.js → chunk-7SX5OWZR.js} +4 -4
- package/dist/{chunk-GZCHKR3C.js.map → chunk-7SX5OWZR.js.map} +1 -1
- package/dist/{chunk-EXJYUEXA.js → chunk-C4YEGUY2.js} +49 -5
- package/dist/chunk-C4YEGUY2.js.map +1 -0
- package/dist/{chunk-TPDO2EIC.js → chunk-G3RPRMP5.js} +3 -3
- package/dist/{chunk-TPDO2EIC.js.map → chunk-G3RPRMP5.js.map} +1 -1
- package/dist/{chunk-C44DTSC6.js → chunk-GBXVY4MJ.js} +580 -161
- package/dist/chunk-GBXVY4MJ.js.map +1 -0
- package/dist/{chunk-ZTLWHD2V.js → chunk-GKSXZFDY.js} +3 -3
- package/dist/{chunk-ZTLWHD2V.js.map → chunk-GKSXZFDY.js.map} +1 -1
- package/dist/{chunk-OCE32VUK.js → chunk-IJSJOTIZ.js} +4 -4
- package/dist/{chunk-OCE32VUK.js.map → chunk-IJSJOTIZ.js.map} +1 -1
- package/dist/{chunk-IFQXZBKJ.js → chunk-N7D4IAYM.js} +5 -5
- package/dist/{chunk-IFQXZBKJ.js.map → chunk-N7D4IAYM.js.map} +1 -1
- package/dist/{chunk-XBQBM3SE.js → chunk-NHZQE7ZB.js} +4 -4
- package/dist/{chunk-XBQBM3SE.js.map → chunk-NHZQE7ZB.js.map} +1 -1
- package/dist/{chunk-ULNNTBJO.js → chunk-NTJTPYCD.js} +27 -4
- package/dist/chunk-NTJTPYCD.js.map +1 -0
- package/dist/{chunk-PTHYN6HY.js → chunk-R5ZYOIZG.js} +4 -4
- package/dist/{chunk-PTHYN6HY.js.map → chunk-R5ZYOIZG.js.map} +1 -1
- package/dist/{chunk-EXNXJ7VL.js → chunk-USFSPC6S.js} +3 -3
- package/dist/{chunk-EXNXJ7VL.js.map → chunk-USFSPC6S.js.map} +1 -1
- package/dist/{chunk-YBX7EDDR.js → chunk-ZLYJKIKG.js} +3 -3
- package/dist/{chunk-YBX7EDDR.js.map → chunk-ZLYJKIKG.js.map} +1 -1
- package/dist/executions.js +5 -5
- package/dist/history.js +3 -3
- package/dist/index.d.ts +677 -11
- package/dist/index.js +20 -20
- package/dist/index.js.map +1 -1
- package/dist/nodes.js +2 -2
- package/dist/settings.js +3 -3
- package/dist/templates.js +5 -5
- package/dist/{workflow-builder-DIjITfNE.d.ts → workflow-builder-DqInt43T.d.ts} +14 -2
- package/dist/workflow-builder.d.ts +1 -1
- package/dist/workflow-builder.js +6 -6
- package/dist/workflows-list.js +4 -4
- package/package.json +1 -1
- package/dist/ExecutionDetailPage-F5XOP3JQ.js +0 -12
- package/dist/ExecutionsListPage-KQZK2T4O.js +0 -11
- package/dist/WorkflowsList-72U6TS4Y.js +0 -13
- package/dist/chunk-C44DTSC6.js.map +0 -1
- package/dist/chunk-EXJYUEXA.js.map +0 -1
- package/dist/chunk-FJC2RJ4Y.js.map +0 -1
- package/dist/chunk-ULNNTBJO.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/executions/hooks/useRunLogs.ts","../src/modules/executions/pages/ExecutionDetailPage.tsx"],"names":["useState","useMemo","useCallback"],"mappings":"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","file":"chunk-GZCHKR3C.js","sourcesContent":["/**\n * useRunLogs — a GitHub-Actions-style live tail for a workflow run.\n *\n * Two sources feed one ordered list:\n *\n * backfill `workflowRunLogs`, keyset-paginated. The source of truth, and\n * the only thing that can show a run that finished before the page\n * was opened.\n * live `runLogAppended`, which carries ONLY lines appended after the\n * subscription opens — it is a pub/sub stream with no history.\n *\n * So the order matters: query first, then subscribe, then de-duplicate by line\n * `id`. Line ids are assigned by the executor precisely so the live copy and\n * the persisted copy of a line can be matched.\n *\n * If the subscription never connects (a proxy that blocks SSE, a gateway\n * hiccup) the hook falls back to polling the cursor while the run is active,\n * so a live tail degrades to a slower live tail rather than to nothing.\n */\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { getFluidGridsClientSafe } from \"../../../graphql/client\";\nimport { throwIfResultError } from \"../../../graphql/errors\";\nimport { RUN_LOGS, RUN_LOG_APPENDED } from \"../graphql/operations\";\nimport type { RunLogLevel, RunLogLine } from \"../types\";\n\n/** How often to re-query when the live subscription is unavailable. */\nconst POLL_INTERVAL_MS = 2000;\n\n/** Page size for backfill. Large enough that a typical run arrives in one round trip. */\nconst PAGE_SIZE = 500;\n\ninterface RunLogsData {\n workflowRunLogs: {\n lines: RunLogLine[];\n nextCursor: string | null;\n hasMore: boolean;\n limitReached: boolean;\n };\n}\n\ninterface RunLogAppendedData {\n runLogAppended: RunLogLine[];\n}\n\nexport interface UseRunLogsOptions {\n /** Keep tailing. Set false once the run reaches a terminal state. */\n live?: boolean;\n /** Server-side severity filter. Applied to backfill; live lines are filtered client-side. */\n minLevel?: RunLogLevel | null;\n /** Include lines from sub-workflow runs nested under this one. */\n includeChildRuns?: boolean;\n}\n\nexport interface UseRunLogsResult {\n lines: RunLogLine[];\n loading: boolean;\n error: Error | null;\n /** True when the run has more lines after the current page — drives \"Load more\". */\n hasMore: boolean;\n /** True when the run hit its log cap and lines were dropped server-side. */\n limitReached: boolean;\n /** True while a live subscription is delivering (as opposed to polling). */\n streaming: boolean;\n /** Fetch the next page, continuing forward from the newest line held. */\n loadMore: () => Promise<void>;\n /** Discard everything and re-read from the start. */\n refetch: () => Promise<void>;\n}\n\nexport function useRunLogs(\n runId: string | undefined,\n options: UseRunLogsOptions = {},\n): UseRunLogsResult {\n const { live = false, minLevel = null, includeChildRuns = false } = options;\n\n const [lines, setLines] = useState<RunLogLine[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const [hasMore, setHasMore] = useState(false);\n const [limitReached, setLimitReached] = useState(false);\n const [streaming, setStreaming] = useState(false);\n\n /**\n * Ids already rendered. A line can arrive twice — once live and once in a\n * later backfill page — and the two copies are byte-identical by design, so\n * the id is all that is needed to collapse them.\n */\n const seenIds = useRef<Set<string>>(new Set());\n /** Cursor of the newest line we hold; where the next forward read starts. */\n const cursor = useRef<string | null>(null);\n\n const append = useCallback((incoming: RunLogLine[]) => {\n if (incoming.length === 0) return;\n\n const fresh = incoming.filter((line) => !seenIds.current.has(line.id));\n if (fresh.length === 0) return;\n for (const line of fresh) seenIds.current.add(line.id);\n\n setLines((prev) =>\n // Sort on every append rather than trusting arrival order: live lines and\n // a backfill page can interleave, and a run's nodes are executed by\n // several worker replicas whose batches need not arrive in order.\n [...prev, ...fresh].sort((a, b) =>\n a.timestamp === b.timestamp\n ? a.id.localeCompare(b.id)\n : a.timestamp.localeCompare(b.timestamp),\n ),\n );\n }, []);\n\n /** Read one page forward from `cursor`. */\n const fetchPage = useCallback(\n async (after: string | null): Promise<void> => {\n const client = getFluidGridsClientSafe();\n if (!client || !runId) return;\n\n const result = await client.query<RunLogsData>({\n query: RUN_LOGS,\n variables: {\n runId,\n after,\n limit: PAGE_SIZE,\n minLevel,\n includeChildRuns,\n },\n fetchPolicy: \"network-only\",\n });\n throwIfResultError(result);\n\n const page = result.data?.workflowRunLogs;\n if (!page) return;\n\n append(page.lines);\n setHasMore(page.hasMore);\n setLimitReached(page.limitReached);\n if (page.nextCursor) cursor.current = page.nextCursor;\n },\n [runId, minLevel, includeChildRuns, append],\n );\n\n const refetch = useCallback(async () => {\n seenIds.current = new Set();\n cursor.current = null;\n setLines([]);\n setLoading(true);\n setError(null);\n try {\n await fetchPage(null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [fetchPage]);\n\n const loadMore = useCallback(async () => {\n try {\n await fetchPage(cursor.current);\n } catch (err) {\n setError(err as Error);\n }\n }, [fetchPage]);\n\n // Initial load, and a full reset whenever the run or a server-side filter\n // changes — the cursor is only meaningful for one filter combination.\n useEffect(() => {\n if (!runId) {\n setLoading(false);\n return;\n }\n void refetch();\n }, [runId, refetch]);\n\n // Live tail. Falls back to polling when the subscription cannot deliver.\n useEffect(() => {\n const client = getFluidGridsClientSafe();\n if (!runId || !live || !client) {\n setStreaming(false);\n return;\n }\n\n let cancelled = false;\n let poll: ReturnType<typeof setInterval> | null = null;\n\n const startPolling = (): void => {\n if (poll || cancelled) return;\n setStreaming(false);\n poll = setInterval(() => {\n void fetchPage(cursor.current).catch(() => {\n // A transient read failure must not tear down the tail; the next\n // tick retries from the same cursor.\n });\n }, POLL_INTERVAL_MS);\n };\n\n const subscription = client\n .subscribe<RunLogAppendedData>({\n query: RUN_LOG_APPENDED,\n variables: { runId },\n })\n .subscribe({\n next: ({ data }) => {\n if (cancelled) return;\n setStreaming(true);\n append(data?.runLogAppended ?? []);\n },\n error: () => {\n // Subscriptions are an accelerator, never the only path to the data.\n startPolling();\n },\n complete: () => {\n if (!cancelled) startPolling();\n },\n });\n\n // Poll until the first live line proves the stream works. Without this a\n // subscription that connects but never errors (a proxy holding the\n // response open) would silently show nothing.\n const readinessProbe = setTimeout(startPolling, POLL_INTERVAL_MS * 2);\n\n return () => {\n cancelled = true;\n clearTimeout(readinessProbe);\n if (poll) clearInterval(poll);\n subscription.unsubscribe();\n setStreaming(false);\n };\n }, [runId, live, fetchPage, append]);\n\n // One catch-up read when the run stops being live.\n //\n // A run appends its last few lines — the final node completing, `run-complete`\n // — between the last poll and the moment the caller flips `live` to false.\n // Tearing the tail down without this leaves the log visibly short of the run\n // it describes, and only a manual reload would recover it.\n const wasLive = useRef(false);\n useEffect(() => {\n if (live) {\n wasLive.current = true;\n return;\n }\n if (!wasLive.current) return;\n wasLive.current = false;\n\n void fetchPage(cursor.current).catch(() => {\n // Nothing to recover to; the reader can still refetch by hand.\n });\n }, [live, fetchPage]);\n\n // Live lines bypass the server-side filter, so re-apply it here to keep the\n // rendered list consistent with what the query would have returned.\n const filtered = useMemo(() => {\n if (!minLevel) return lines;\n const order: RunLogLevel[] = [\"DEBUG\", \"INFO\", \"WARN\", \"ERROR\"];\n const floor = order.indexOf(minLevel);\n return lines.filter((line) => order.indexOf(line.level) >= floor);\n }, [lines, minLevel]);\n\n return {\n lines: filtered,\n loading,\n error,\n hasMore,\n limitReached,\n streaming,\n loadMore,\n refetch,\n };\n}\n","import { useState, useCallback, useMemo } from \"react\";\nimport { useParams, Link, useNavigate } from \"react-router\";\nimport { Icon } from \"@iconify/react\";\nimport { toast } from \"sonner\";\nimport { Button } from \"@burdenoff/fe-libs/button\";\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from \"@burdenoff/fe-libs/ui\";\nimport {\n ExecutionStatusBadge,\n NodeTimeline,\n RunLogViewer,\n} from \"../components\";\nimport {\n useExecution,\n useExecutionActions,\n useAutoRefresh,\n} from \"../hooks/useExecutions\";\nimport { useRunLogs } from \"../hooks/useRunLogs\";\nimport type { RunLogLevel } from \"../types\";\nimport { buildNodeDisplayMap, formatRunVersion } from \"../utils/run-display\";\nimport {\n useActorProfiles,\n buildActorFallback,\n type ActorInput,\n} from \"@burdenoff/fe-libs/shared\";\nimport { getFluidGridsConfig } from \"../../../config\";\nimport { useFluidGridsPermission } from \"../../../permissions/PermissionsBridge\";\nimport { FLUIDGRIDS_PERMISSIONS } from \"../../../permissions/constants\";\nimport { useTr } from \"../../../hooks/useTr\";\n\ntype DetailTab = \"timeline\" | \"logs\" | \"input\" | \"context\";\n\nexport function ExecutionDetailPage() {\n const tr = useTr();\n const { runId } = useParams<{ runId: string }>();\n const navigate = useNavigate();\n\n const [activeTab, setActiveTab] = useState<DetailTab>(\"timeline\");\n const [autoRefreshEnabled, setAutoRefreshEnabled] = useState(true);\n const [showTerminateDialog, setShowTerminateDialog] = useState(false);\n const { allowed: canControlRuns } = useFluidGridsPermission(\n FLUIDGRIDS_PERMISSIONS.WORKFLOW_RUN_EXECUTE,\n );\n\n const [minLogLevel, setMinLogLevel] = useState<RunLogLevel | null>(null);\n\n // Data fetching\n const { execution, loading, error, refetch } = useExecution(runId);\n\n // nodeId → human label/operation from the run's workflow definition.\n const nodeDisplay = useMemo(\n () => buildNodeDisplayMap(execution?.workflow?.definitionJson),\n [execution?.workflow?.definitionJson],\n );\n\n // Resolve the triggering actor's display name (best-effort, cached).\n const fgConfig = getFluidGridsConfig();\n const actorInputs = useMemo<ActorInput[]>(\n () =>\n execution?.triggeredById\n ? [{ actorId: execution.triggeredById, actorType: \"user\" }]\n : [],\n [execution?.triggeredById],\n );\n const actorProfiles = useActorProfiles(actorInputs, {\n workspaceId: fgConfig.workspaceId || undefined,\n orgId: fgConfig.organizationId,\n authToken: fgConfig.authToken,\n });\n const triggeredByLabel = execution?.triggeredById\n ? (actorProfiles[execution.triggeredById]?.displayName ??\n buildActorFallback({\n actorId: execution.triggeredById,\n actorType: \"user\",\n }).displayName)\n : null;\n const {\n pauseExecution,\n resumeExecution,\n cancelExecution,\n retryNode,\n replayExecution,\n terminateExecution,\n loading: actionLoading,\n } = useExecutionActions();\n\n // Auto-refresh for running executions\n const isActive =\n execution?.status === \"RUNNING\" ||\n execution?.status === \"PENDING\" ||\n execution?.status === \"WAITING\";\n\n // The log viewer maintains its own live tail (subscription, with a polling\n // fallback), so this only refreshes the run header and node states.\n useAutoRefresh(\n useCallback(() => {\n refetch();\n }, [refetch]),\n autoRefreshEnabled && isActive,\n 2000,\n );\n\n const runLogs = useRunLogs(runId, {\n // Only tail while the run can still produce lines; a finished run's log is\n // complete after the first read.\n live: isActive,\n minLevel: minLogLevel,\n });\n\n // Handlers\n const handlePause = async () => {\n if (!runId) return;\n await pauseExecution(runId);\n refetch();\n };\n\n const handleResume = async () => {\n if (!runId) return;\n await resumeExecution(runId);\n refetch();\n };\n\n const handleCancel = async () => {\n if (!runId) return;\n await cancelExecution(runId);\n refetch();\n };\n\n const handleTerminate = async () => {\n if (!runId) return;\n await terminateExecution(runId, \"User terminated\");\n setShowTerminateDialog(false);\n refetch();\n };\n\n const handleRetryNode = async (nodeId: string) => {\n if (!runId) return;\n await retryNode(runId, nodeId);\n refetch();\n };\n\n const handleReplay = async () => {\n if (!runId) return;\n const replayed = await replayExecution(runId);\n if (!replayed) {\n toast.error(\n tr(\n \"fluidgrids.executions.executionDetail.replayFailed\",\n \"Could not replay this run\",\n ),\n );\n return;\n }\n toast.success(\n tr(\n \"fluidgrids.executions.executionDetail.replayStarted\",\n \"Replay started in test mode\",\n ),\n );\n navigate(`../runs/${replayed.runId}`);\n };\n\n const handleViewChildRun = useCallback(\n (childRunId: string) => {\n navigate(`../runs/${childRunId}`);\n },\n [navigate],\n );\n\n // Formatting helpers\n const formatDuration = (ms?: number): string => {\n if (!ms) return \"-\";\n if (ms < 1000) return `${ms}ms`;\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;\n if (ms < 3600000)\n return `${Math.round(ms / 60000)}m ${Math.round((ms % 60000) / 1000)}s`;\n return `${Math.round(ms / 3600000)}h ${Math.round((ms % 3600000) / 60000)}m`;\n };\n\n const formatDateTime = (dateStr?: string): string => {\n if (!dateStr) return \"-\";\n const date = new Date(dateStr);\n return date.toLocaleString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n });\n };\n\n // Loading state\n if (loading && !execution) {\n return (\n <div className=\"p-4 sm:p-6 bg-background-primary min-h-screen\">\n <div className=\"animate-pulse\">\n <div className=\"h-8 w-48 bg-background-tertiary rounded mb-4\" />\n <div className=\"h-4 w-32 bg-background-tertiary rounded mb-8\" />\n <div className=\"grid grid-cols-2 sm:grid-cols-4 gap-4 mb-6\">\n {[...Array(4)].map((_, i) => (\n <div key={i} className=\"h-24 bg-background-tertiary rounded-lg\" />\n ))}\n </div>\n <div className=\"h-96 bg-background-tertiary rounded-lg\" />\n </div>\n </div>\n );\n }\n\n // Error state\n if (error) {\n return (\n <div className=\"p-4 sm:p-6 bg-background-primary min-h-screen\">\n <Link\n to=\"../runs\"\n className=\"text-action-primary-text hover:underline text-sm mb-4 inline-block\"\n >\n ←{\" \"}\n {tr(\n \"fluidgrids.executions.executionDetail.backToExecutions\",\n \"Back to Executions\",\n )}\n </Link>\n <div className=\"bg-[var(--color-status-error-bg-subtle)] border border-[var(--color-status-error-border)] rounded-lg p-6 text-center\">\n <Icon\n icon=\"mdi:alert-circle\"\n className=\"mx-auto text-[var(--color-status-error-text)] mb-4\"\n width={48}\n />\n <h2 className=\"text-lg font-medium text-[var(--color-status-error-text)] mb-2\">\n {tr(\n \"fluidgrids.executions.executionDetail.loadErrorTitle\",\n \"Failed to load execution\",\n )}\n </h2>\n <p className=\"text-[var(--color-status-error-text)] mb-4\">\n {error.message}\n </p>\n <Button variant=\"outline\" onClick={refetch}>\n {tr(\"fluidgrids.executions.executionDetail.tryAgain\", \"Try Again\")}\n </Button>\n </div>\n </div>\n );\n }\n\n // Not found state\n if (!execution) {\n return (\n <div className=\"p-4 sm:p-6 bg-background-primary min-h-screen\">\n <Link\n to=\"../runs\"\n className=\"text-action-primary-text hover:underline text-sm mb-4 inline-block\"\n >\n ←{\" \"}\n {tr(\n \"fluidgrids.executions.executionDetail.backToExecutions\",\n \"Back to Executions\",\n )}\n </Link>\n <div className=\"bg-background-secondary border border-border-secondary rounded-lg p-6 text-center\">\n <Icon\n icon=\"mdi:file-find-outline\"\n className=\"mx-auto text-text-secondary mb-4\"\n width={48}\n />\n <h2 className=\"text-lg font-medium text-text-primary mb-2\">\n {tr(\n \"fluidgrids.executions.executionDetail.notFoundTitle\",\n \"Execution not found\",\n )}\n </h2>\n <p className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.notFoundDescriptionPrefix\",\n \"The execution with ID\",\n )}{\" \"}\n "{runId}"{\" \"}\n {tr(\n \"fluidgrids.executions.executionDetail.notFoundDescriptionSuffix\",\n \"could not be found.\",\n )}\n </p>\n </div>\n </div>\n );\n }\n\n const tabs: Array<{ id: DetailTab; label: string; icon: string }> = [\n {\n id: \"timeline\",\n label: tr(\n \"fluidgrids.executions.executionDetail.timelineTab\",\n \"Timeline\",\n ),\n icon: \"mdi:timeline\",\n },\n {\n id: \"logs\",\n label: tr(\"fluidgrids.executions.executionDetail.logsTab\", \"Logs\"),\n icon: \"mdi:text-box-outline\",\n },\n {\n id: \"input\",\n label: tr(\"fluidgrids.executions.executionDetail.inputTab\", \"Input Data\"),\n icon: \"mdi:code-json\",\n },\n {\n id: \"context\",\n label: tr(\"fluidgrids.executions.executionDetail.contextTab\", \"Context\"),\n icon: \"mdi:information-outline\",\n },\n ];\n\n return (\n <div className=\"p-4 sm:p-6 bg-background-primary min-h-screen\">\n {/* Back link */}\n <Link\n to=\"../runs\"\n className=\"text-action-primary-text hover:underline text-sm mb-4 inline-block\"\n >\n ←{\" \"}\n {tr(\n \"fluidgrids.executions.executionDetail.backToExecutions\",\n \"Back to Executions\",\n )}\n </Link>\n\n {/* Sub-workflow parent breadcrumb */}\n {execution.parentRunId && (\n <div className=\"flex items-center gap-2 mb-3 text-sm\">\n <Icon icon=\"mdi:sitemap\" className=\"text-indigo-500\" width={16} />\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.subWorkflowOf\",\n \"Sub-workflow of\",\n )}\n </span>\n <Link\n to={`../runs/${execution.parentRunId}`}\n className=\"text-indigo-600 hover:underline font-medium\"\n >\n {tr(\n \"fluidgrids.executions.executionDetail.parentRunLinkPrefix\",\n \"Parent Run\",\n )}{\" \"}\n {execution.parentRunId.slice(0, 12)}...\n </Link>\n </div>\n )}\n\n {/* Header */}\n <div className=\"flex flex-col lg:flex-row lg:items-start lg:justify-between gap-4 mb-6\">\n <div>\n <div className=\"flex items-center gap-3 mb-2\">\n <h1 className=\"text-2xl sm:text-3xl font-bold text-text-primary\">\n {execution.workflow?.name || execution.workflowKey}\n </h1>\n <ExecutionStatusBadge status={execution.status} size=\"lg\" />\n {execution.parentRunId && (\n <span className=\"px-2 py-0.5 text-xs bg-indigo-100 text-indigo-700 rounded\">\n {tr(\n \"fluidgrids.executions.executionDetail.subWorkflowBadge\",\n \"Sub-Workflow\",\n )}\n </span>\n )}\n </div>\n <div className=\"flex flex-wrap items-center gap-4 text-sm text-text-secondary\">\n <span className=\"flex items-center gap-1\">\n <Icon icon=\"mdi:identifier\" width={16} />\n <code className=\"font-mono\">{execution.id.slice(0, 12)}...</code>\n </span>\n <span className=\"flex items-center gap-1\">\n <Icon icon=\"mdi:tag-outline\" width={16} />\n {formatRunVersion(execution.version)}\n </span>\n <span className=\"flex items-center gap-1\">\n <Icon icon=\"mdi:clock-outline\" width={16} />\n {formatDateTime(execution.startedAt || execution.createdAt)}\n </span>\n </div>\n </div>\n\n {/* Actions */}\n <div className=\"flex flex-wrap items-center gap-2\">\n {/* Auto-refresh toggle */}\n {isActive && (\n <label className=\"flex items-center gap-2 text-sm text-text-secondary mr-4\">\n <input\n type=\"checkbox\"\n checked={autoRefreshEnabled}\n onChange={(e) => setAutoRefreshEnabled(e.target.checked)}\n className=\"w-4 h-4 rounded\"\n />\n {tr(\n \"fluidgrids.executions.executionDetail.autoRefreshToggle\",\n \"Auto-refresh\",\n )}\n </label>\n )}\n\n {/* Control buttons based on status */}\n {canControlRuns && execution.status === \"RUNNING\" && (\n <>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handlePause}\n disabled={actionLoading}\n >\n <Icon icon=\"mdi:pause\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.pauseButton\",\n \"Pause\",\n )}\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handleCancel}\n disabled={actionLoading}\n className=\"border-[var(--color-status-warning-border)] text-[var(--color-status-warning-text)] hover:bg-[var(--color-status-warning-bg-subtle)]\"\n >\n <Icon icon=\"mdi:stop\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.cancelButton\",\n \"Cancel\",\n )}\n </Button>\n </>\n )}\n\n {canControlRuns && execution.status === \"WAITING\" && (\n <>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handleResume}\n disabled={actionLoading}\n >\n <Icon icon=\"mdi:play\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.resumeButton\",\n \"Resume\",\n )}\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handleCancel}\n disabled={actionLoading}\n className=\"border-[var(--color-status-warning-border)] text-[var(--color-status-warning-text)] hover:bg-[var(--color-status-warning-bg-subtle)]\"\n >\n <Icon icon=\"mdi:stop\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.cancelButton\",\n \"Cancel\",\n )}\n </Button>\n </>\n )}\n\n {canControlRuns && execution.status === \"PENDING\" && (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handleCancel}\n disabled={actionLoading}\n >\n <Icon icon=\"mdi:stop\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.cancelButton\",\n \"Cancel\",\n )}\n </Button>\n )}\n\n {canControlRuns &&\n (execution.status === \"RUNNING\" ||\n execution.status === \"WAITING\") && (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => setShowTerminateDialog(true)}\n disabled={actionLoading}\n className=\"border-[var(--color-status-error-border)] text-[var(--color-status-error-text)] hover:bg-[var(--color-status-error-bg-subtle)]\"\n >\n <Icon icon=\"mdi:close-octagon\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.terminateButton\",\n \"Terminate\",\n )}\n </Button>\n )}\n\n {canControlRuns &&\n execution.status !== \"RUNNING\" &&\n execution.status !== \"PENDING\" &&\n execution.status !== \"WAITING\" && (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => void handleReplay()}\n disabled={actionLoading}\n >\n <Icon icon=\"mdi:replay\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.replayButton\",\n \"Replay in test mode\",\n )}\n </Button>\n )}\n\n <Button variant=\"outline\" size=\"sm\" onClick={refetch}>\n <Icon icon=\"mdi:refresh\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.refreshButton\",\n \"Refresh\",\n )}\n </Button>\n </div>\n </div>\n\n {/* Stats Grid */}\n <div className=\"grid grid-cols-2 sm:grid-cols-4 gap-4 mb-6\">\n <div className=\"bg-background-secondary rounded-lg border border-border-secondary p-4\">\n <div className=\"text-sm text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.durationStat\",\n \"Duration\",\n )}\n </div>\n <div className=\"text-xl font-bold text-text-primary mt-1\">\n {formatDuration(execution.duration)}\n </div>\n </div>\n <div className=\"bg-background-secondary rounded-lg border border-border-secondary p-4\">\n <div className=\"text-sm text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.progressStat\",\n \"Progress\",\n )}\n </div>\n <div className=\"flex items-center gap-2 mt-1\">\n <div className=\"flex-1 h-2 bg-background-tertiary rounded-full overflow-hidden\">\n <div\n className={`h-full ${\n execution.status === \"FAILED\"\n ? \"bg-[var(--color-status-error-bg)]\"\n : execution.status === \"COMPLETED\"\n ? \"bg-[var(--color-status-success-bg)]\"\n : \"bg-[var(--color-status-info-bg)]\"\n }`}\n style={{ width: `${execution.progress}%` }}\n />\n </div>\n <span className=\"text-xl font-bold text-text-primary\">\n {Math.round(execution.progress)}%\n </span>\n </div>\n </div>\n <div className=\"bg-background-secondary rounded-lg border border-border-secondary p-4\">\n <div className=\"text-sm text-text-secondary\">\n {tr(\"fluidgrids.executions.executionDetail.nodesStat\", \"Nodes\")}\n </div>\n <div className=\"flex items-center gap-2 mt-1\">\n <span className=\"text-xl font-bold text-[var(--color-status-success-text)]\">\n {execution.completedNodes ?? 0}\n </span>\n <span className=\"text-text-secondary\">/</span>\n <span className=\"text-xl font-bold text-text-primary\">\n {execution.totalNodes ?? 0}\n </span>\n {(execution.failedNodes ?? 0) > 0 && (\n <span className=\"text-sm text-[var(--color-status-error-text)] ml-2\">\n ({execution.failedNodes}{\" \"}\n {tr(\n \"fluidgrids.executions.executionDetail.failedNodesSuffix\",\n \"failed\",\n )}\n )\n </span>\n )}\n </div>\n </div>\n <div className=\"bg-background-secondary rounded-lg border border-border-secondary p-4\">\n <div className=\"text-sm text-text-secondary\">\n {tr(\"fluidgrids.executions.executionDetail.triggerStat\", \"Trigger\")}\n </div>\n <div className=\"text-lg font-medium text-text-primary mt-1 truncate\">\n {execution.triggerNodeId\n ? (nodeDisplay[execution.triggerNodeId]?.label ??\n execution.triggerNodeId)\n : \"—\"}\n </div>\n </div>\n </div>\n\n {/* Error Banner */}\n {execution.errorMessage && (\n <div className=\"mb-6 p-4 bg-[var(--color-status-error-bg-subtle)] border border-[var(--color-status-error-border)] rounded-lg\">\n <div className=\"flex items-center gap-2 text-[var(--color-status-error-text)] mb-2\">\n <Icon icon=\"mdi:alert-circle\" width={20} />\n <span className=\"font-medium\">\n {tr(\"fluidgrids.executions.executionDetail.errorLabel\", \"Error\")}\n {execution.errorType ? ` (${execution.errorType})` : \"\"}\n </span>\n </div>\n <p className=\"text-[var(--color-status-error-text)]\">\n {execution.errorMessage}\n </p>\n </div>\n )}\n\n {/* Tabs */}\n <div className=\"border-b border-border-secondary mb-6\">\n <nav className=\"flex gap-4 -mb-px\">\n {tabs.map((tab) => (\n <button\n key={tab.id}\n onClick={() => setActiveTab(tab.id)}\n className={`\n flex items-center gap-2 px-4 py-3 border-b-2 text-sm font-medium transition-colors\n ${\n activeTab === tab.id\n ? \"border-action-primary-bg text-action-primary-text\"\n : \"border-transparent text-text-secondary hover:text-text-primary hover:border-border-primary\"\n }\n `}\n >\n <Icon icon={tab.icon} width={18} />\n {tab.label}\n </button>\n ))}\n </nav>\n </div>\n\n {/* Tab Content */}\n <div className=\"bg-background-secondary rounded-lg border border-border-secondary\">\n {activeTab === \"timeline\" && (\n <div className=\"p-4 sm:p-6\">\n <NodeTimeline\n nodeStates={execution.nodeStates ?? []}\n nodeDisplay={nodeDisplay}\n triggerNodeId={execution.triggerNodeId ?? undefined}\n onRetryNode={canControlRuns ? handleRetryNode : undefined}\n onViewChildRun={handleViewChildRun}\n />\n </div>\n )}\n\n {activeTab === \"logs\" && (\n <div className=\"p-4 sm:p-6\">\n <RunLogViewer\n runId={runId!}\n lines={runLogs.lines}\n nodeStates={execution.nodeStates ?? []}\n nodeDisplay={nodeDisplay}\n loading={runLogs.loading}\n error={runLogs.error}\n hasMore={runLogs.hasMore}\n limitReached={runLogs.limitReached}\n streaming={runLogs.streaming}\n active={isActive}\n minLevel={minLogLevel}\n onMinLevelChange={setMinLogLevel}\n onLoadMore={() => void runLogs.loadMore()}\n />\n </div>\n )}\n\n {activeTab === \"input\" && (\n <div className=\"p-4 sm:p-6\">\n <h3 className=\"text-lg font-medium text-text-primary mb-4\">\n {tr(\n \"fluidgrids.executions.executionDetail.triggerDataHeading\",\n \"Trigger Data\",\n )}\n </h3>\n <div className=\"bg-background-primary rounded p-4 max-h-[400px] overflow-auto\">\n <pre className=\"text-sm text-text-primary font-mono whitespace-pre-wrap break-words\">\n {JSON.stringify(execution.triggerData ?? null, null, 2)}\n </pre>\n </div>\n </div>\n )}\n\n {activeTab === \"context\" && (\n <div className=\"p-4 sm:p-6\">\n <div className=\"grid grid-cols-1 lg:grid-cols-2 gap-6\">\n <div>\n <h3 className=\"text-lg font-medium text-text-primary mb-4\">\n {tr(\n \"fluidgrids.executions.executionDetail.executionContextHeading\",\n \"Execution Context\",\n )}\n </h3>\n <div className=\"bg-background-primary rounded p-4 max-h-[300px] overflow-auto\">\n <pre className=\"text-sm text-text-primary font-mono whitespace-pre-wrap break-words\">\n {JSON.stringify(execution.context ?? null, null, 2)}\n </pre>\n </div>\n </div>\n <div>\n <h3 className=\"text-lg font-medium text-text-primary mb-4\">\n {tr(\n \"fluidgrids.executions.executionDetail.executionDetailsHeading\",\n \"Execution Details\",\n )}\n </h3>\n <div className=\"space-y-3\">\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.runIdRow\",\n \"Run ID\",\n )}\n </span>\n <code className=\"font-mono text-text-primary\">\n {execution.id}\n </code>\n </div>\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.workflowRow\",\n \"Workflow\",\n )}\n </span>\n <span className=\"text-text-primary\">\n {execution.workflow?.name || execution.workflowKey}\n </span>\n </div>\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.workflowKeyRow\",\n \"Workflow Key\",\n )}\n </span>\n <code className=\"font-mono text-text-primary\">\n {execution.workflowKey}\n </code>\n </div>\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.versionRow\",\n \"Version\",\n )}\n </span>\n <span className=\"text-text-primary\">\n {formatRunVersion(execution.version)}\n </span>\n </div>\n {execution.triggeredById && (\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.triggeredByRow\",\n \"Triggered By\",\n )}\n </span>\n <span\n className=\"text-text-primary\"\n title={execution.triggeredById}\n >\n {triggeredByLabel}\n </span>\n </div>\n )}\n {execution.parentRunId && (\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.parentRunRow\",\n \"Parent Run\",\n )}\n </span>\n <Link\n to={`/runs/${execution.parentRunId}`}\n className=\"text-action-primary-text hover:underline font-mono\"\n >\n {execution.parentRunId.slice(0, 12)}...\n </Link>\n </div>\n )}\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.createdRow\",\n \"Created\",\n )}\n </span>\n <span className=\"text-text-primary\">\n {formatDateTime(execution.createdAt)}\n </span>\n </div>\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.startedRow\",\n \"Started\",\n )}\n </span>\n <span className=\"text-text-primary\">\n {formatDateTime(execution.startedAt)}\n </span>\n </div>\n {execution.completedAt && (\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.completedRow\",\n \"Completed\",\n )}\n </span>\n <span className=\"text-text-primary\">\n {formatDateTime(execution.completedAt)}\n </span>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <AlertDialog\n open={showTerminateDialog}\n onOpenChange={setShowTerminateDialog}\n >\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>\n {tr(\n \"fluidgrids.executions.executionDetail.terminateDialogTitle\",\n \"Terminate Execution\",\n )}\n </AlertDialogTitle>\n <AlertDialogDescription>\n {tr(\n \"fluidgrids.executions.executionDetail.terminateDialogDescription\",\n \"Are you sure you want to force terminate this execution? This will immediately stop the running workflow and cannot be resumed.\",\n )}\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel disabled={actionLoading}>\n {tr(\n \"fluidgrids.executions.executionDetail.cancelButton\",\n \"Cancel\",\n )}\n </AlertDialogCancel>\n <AlertDialogAction\n onClick={handleTerminate}\n disabled={actionLoading}\n className=\"bg-destructive text-destructive-foreground hover:bg-destructive/90\"\n >\n {actionLoading\n ? tr(\n \"fluidgrids.executions.executionDetail.terminatingButton\",\n \"Terminating...\",\n )\n : tr(\n \"fluidgrids.executions.executionDetail.terminateButton\",\n \"Terminate\",\n )}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/modules/executions/hooks/useRunLogs.ts","../src/modules/executions/pages/ExecutionDetailPage.tsx"],"names":["useState","useMemo","useCallback"],"mappings":"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","file":"chunk-7SX5OWZR.js","sourcesContent":["/**\n * useRunLogs — a GitHub-Actions-style live tail for a workflow run.\n *\n * Two sources feed one ordered list:\n *\n * backfill `workflowRunLogs`, keyset-paginated. The source of truth, and\n * the only thing that can show a run that finished before the page\n * was opened.\n * live `runLogAppended`, which carries ONLY lines appended after the\n * subscription opens — it is a pub/sub stream with no history.\n *\n * So the order matters: query first, then subscribe, then de-duplicate by line\n * `id`. Line ids are assigned by the executor precisely so the live copy and\n * the persisted copy of a line can be matched.\n *\n * If the subscription never connects (a proxy that blocks SSE, a gateway\n * hiccup) the hook falls back to polling the cursor while the run is active,\n * so a live tail degrades to a slower live tail rather than to nothing.\n */\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { getFluidGridsClientSafe } from \"../../../graphql/client\";\nimport { throwIfResultError } from \"../../../graphql/errors\";\nimport { RUN_LOGS, RUN_LOG_APPENDED } from \"../graphql/operations\";\nimport type { RunLogLevel, RunLogLine } from \"../types\";\n\n/** How often to re-query when the live subscription is unavailable. */\nconst POLL_INTERVAL_MS = 2000;\n\n/** Page size for backfill. Large enough that a typical run arrives in one round trip. */\nconst PAGE_SIZE = 500;\n\ninterface RunLogsData {\n workflowRunLogs: {\n lines: RunLogLine[];\n nextCursor: string | null;\n hasMore: boolean;\n limitReached: boolean;\n };\n}\n\ninterface RunLogAppendedData {\n runLogAppended: RunLogLine[];\n}\n\nexport interface UseRunLogsOptions {\n /** Keep tailing. Set false once the run reaches a terminal state. */\n live?: boolean;\n /** Server-side severity filter. Applied to backfill; live lines are filtered client-side. */\n minLevel?: RunLogLevel | null;\n /** Include lines from sub-workflow runs nested under this one. */\n includeChildRuns?: boolean;\n}\n\nexport interface UseRunLogsResult {\n lines: RunLogLine[];\n loading: boolean;\n error: Error | null;\n /** True when the run has more lines after the current page — drives \"Load more\". */\n hasMore: boolean;\n /** True when the run hit its log cap and lines were dropped server-side. */\n limitReached: boolean;\n /** True while a live subscription is delivering (as opposed to polling). */\n streaming: boolean;\n /** Fetch the next page, continuing forward from the newest line held. */\n loadMore: () => Promise<void>;\n /** Discard everything and re-read from the start. */\n refetch: () => Promise<void>;\n}\n\nexport function useRunLogs(\n runId: string | undefined,\n options: UseRunLogsOptions = {},\n): UseRunLogsResult {\n const { live = false, minLevel = null, includeChildRuns = false } = options;\n\n const [lines, setLines] = useState<RunLogLine[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const [hasMore, setHasMore] = useState(false);\n const [limitReached, setLimitReached] = useState(false);\n const [streaming, setStreaming] = useState(false);\n\n /**\n * Ids already rendered. A line can arrive twice — once live and once in a\n * later backfill page — and the two copies are byte-identical by design, so\n * the id is all that is needed to collapse them.\n */\n const seenIds = useRef<Set<string>>(new Set());\n /** Cursor of the newest line we hold; where the next forward read starts. */\n const cursor = useRef<string | null>(null);\n\n const append = useCallback((incoming: RunLogLine[]) => {\n if (incoming.length === 0) return;\n\n const fresh = incoming.filter((line) => !seenIds.current.has(line.id));\n if (fresh.length === 0) return;\n for (const line of fresh) seenIds.current.add(line.id);\n\n setLines((prev) =>\n // Sort on every append rather than trusting arrival order: live lines and\n // a backfill page can interleave, and a run's nodes are executed by\n // several worker replicas whose batches need not arrive in order.\n [...prev, ...fresh].sort((a, b) =>\n a.timestamp === b.timestamp\n ? a.id.localeCompare(b.id)\n : a.timestamp.localeCompare(b.timestamp),\n ),\n );\n }, []);\n\n /** Read one page forward from `cursor`. */\n const fetchPage = useCallback(\n async (after: string | null): Promise<void> => {\n const client = getFluidGridsClientSafe();\n if (!client || !runId) return;\n\n const result = await client.query<RunLogsData>({\n query: RUN_LOGS,\n variables: {\n runId,\n after,\n limit: PAGE_SIZE,\n minLevel,\n includeChildRuns,\n },\n fetchPolicy: \"network-only\",\n });\n throwIfResultError(result);\n\n const page = result.data?.workflowRunLogs;\n if (!page) return;\n\n append(page.lines);\n setHasMore(page.hasMore);\n setLimitReached(page.limitReached);\n if (page.nextCursor) cursor.current = page.nextCursor;\n },\n [runId, minLevel, includeChildRuns, append],\n );\n\n const refetch = useCallback(async () => {\n seenIds.current = new Set();\n cursor.current = null;\n setLines([]);\n setLoading(true);\n setError(null);\n try {\n await fetchPage(null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [fetchPage]);\n\n const loadMore = useCallback(async () => {\n try {\n await fetchPage(cursor.current);\n } catch (err) {\n setError(err as Error);\n }\n }, [fetchPage]);\n\n // Initial load, and a full reset whenever the run or a server-side filter\n // changes — the cursor is only meaningful for one filter combination.\n useEffect(() => {\n if (!runId) {\n setLoading(false);\n return;\n }\n void refetch();\n }, [runId, refetch]);\n\n // Live tail. Falls back to polling when the subscription cannot deliver.\n useEffect(() => {\n const client = getFluidGridsClientSafe();\n if (!runId || !live || !client) {\n setStreaming(false);\n return;\n }\n\n let cancelled = false;\n let poll: ReturnType<typeof setInterval> | null = null;\n\n const startPolling = (): void => {\n if (poll || cancelled) return;\n setStreaming(false);\n poll = setInterval(() => {\n void fetchPage(cursor.current).catch(() => {\n // A transient read failure must not tear down the tail; the next\n // tick retries from the same cursor.\n });\n }, POLL_INTERVAL_MS);\n };\n\n const subscription = client\n .subscribe<RunLogAppendedData>({\n query: RUN_LOG_APPENDED,\n variables: { runId },\n })\n .subscribe({\n next: ({ data }) => {\n if (cancelled) return;\n setStreaming(true);\n append(data?.runLogAppended ?? []);\n },\n error: () => {\n // Subscriptions are an accelerator, never the only path to the data.\n startPolling();\n },\n complete: () => {\n if (!cancelled) startPolling();\n },\n });\n\n // Poll until the first live line proves the stream works. Without this a\n // subscription that connects but never errors (a proxy holding the\n // response open) would silently show nothing.\n const readinessProbe = setTimeout(startPolling, POLL_INTERVAL_MS * 2);\n\n return () => {\n cancelled = true;\n clearTimeout(readinessProbe);\n if (poll) clearInterval(poll);\n subscription.unsubscribe();\n setStreaming(false);\n };\n }, [runId, live, fetchPage, append]);\n\n // One catch-up read when the run stops being live.\n //\n // A run appends its last few lines — the final node completing, `run-complete`\n // — between the last poll and the moment the caller flips `live` to false.\n // Tearing the tail down without this leaves the log visibly short of the run\n // it describes, and only a manual reload would recover it.\n const wasLive = useRef(false);\n useEffect(() => {\n if (live) {\n wasLive.current = true;\n return;\n }\n if (!wasLive.current) return;\n wasLive.current = false;\n\n void fetchPage(cursor.current).catch(() => {\n // Nothing to recover to; the reader can still refetch by hand.\n });\n }, [live, fetchPage]);\n\n // Live lines bypass the server-side filter, so re-apply it here to keep the\n // rendered list consistent with what the query would have returned.\n const filtered = useMemo(() => {\n if (!minLevel) return lines;\n const order: RunLogLevel[] = [\"DEBUG\", \"INFO\", \"WARN\", \"ERROR\"];\n const floor = order.indexOf(minLevel);\n return lines.filter((line) => order.indexOf(line.level) >= floor);\n }, [lines, minLevel]);\n\n return {\n lines: filtered,\n loading,\n error,\n hasMore,\n limitReached,\n streaming,\n loadMore,\n refetch,\n };\n}\n","import { useState, useCallback, useMemo } from \"react\";\nimport { useParams, Link, useNavigate } from \"react-router\";\nimport { Icon } from \"@iconify/react\";\nimport { toast } from \"sonner\";\nimport { Button } from \"@burdenoff/fe-libs/button\";\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from \"@burdenoff/fe-libs/ui\";\nimport {\n ExecutionStatusBadge,\n NodeTimeline,\n RunLogViewer,\n} from \"../components\";\nimport {\n useExecution,\n useExecutionActions,\n useAutoRefresh,\n} from \"../hooks/useExecutions\";\nimport { useRunLogs } from \"../hooks/useRunLogs\";\nimport type { RunLogLevel } from \"../types\";\nimport { buildNodeDisplayMap, formatRunVersion } from \"../utils/run-display\";\nimport {\n useActorProfiles,\n buildActorFallback,\n type ActorInput,\n} from \"@burdenoff/fe-libs/shared\";\nimport { getFluidGridsConfig } from \"../../../config\";\nimport { useFluidGridsPermission } from \"../../../permissions/PermissionsBridge\";\nimport { FLUIDGRIDS_PERMISSIONS } from \"../../../permissions/constants\";\nimport { useTr } from \"../../../hooks/useTr\";\n\ntype DetailTab = \"timeline\" | \"logs\" | \"input\" | \"context\";\n\nexport function ExecutionDetailPage() {\n const tr = useTr();\n const { runId } = useParams<{ runId: string }>();\n const navigate = useNavigate();\n\n const [activeTab, setActiveTab] = useState<DetailTab>(\"timeline\");\n const [autoRefreshEnabled, setAutoRefreshEnabled] = useState(true);\n const [showTerminateDialog, setShowTerminateDialog] = useState(false);\n const { allowed: canControlRuns } = useFluidGridsPermission(\n FLUIDGRIDS_PERMISSIONS.WORKFLOW_RUN_EXECUTE,\n );\n\n const [minLogLevel, setMinLogLevel] = useState<RunLogLevel | null>(null);\n\n // Data fetching\n const { execution, loading, error, refetch } = useExecution(runId);\n\n // nodeId → human label/operation from the run's workflow definition.\n const nodeDisplay = useMemo(\n () => buildNodeDisplayMap(execution?.workflow?.definitionJson),\n [execution?.workflow?.definitionJson],\n );\n\n // Resolve the triggering actor's display name (best-effort, cached).\n const fgConfig = getFluidGridsConfig();\n const actorInputs = useMemo<ActorInput[]>(\n () =>\n execution?.triggeredById\n ? [{ actorId: execution.triggeredById, actorType: \"user\" }]\n : [],\n [execution?.triggeredById],\n );\n const actorProfiles = useActorProfiles(actorInputs, {\n workspaceId: fgConfig.workspaceId || undefined,\n orgId: fgConfig.organizationId,\n authToken: fgConfig.authToken,\n });\n const triggeredByLabel = execution?.triggeredById\n ? (actorProfiles[execution.triggeredById]?.displayName ??\n buildActorFallback({\n actorId: execution.triggeredById,\n actorType: \"user\",\n }).displayName)\n : null;\n const {\n pauseExecution,\n resumeExecution,\n cancelExecution,\n retryNode,\n replayExecution,\n terminateExecution,\n loading: actionLoading,\n } = useExecutionActions();\n\n // Auto-refresh for running executions\n const isActive =\n execution?.status === \"RUNNING\" ||\n execution?.status === \"PENDING\" ||\n execution?.status === \"WAITING\";\n\n // The log viewer maintains its own live tail (subscription, with a polling\n // fallback), so this only refreshes the run header and node states.\n useAutoRefresh(\n useCallback(() => {\n refetch();\n }, [refetch]),\n autoRefreshEnabled && isActive,\n 2000,\n );\n\n const runLogs = useRunLogs(runId, {\n // Only tail while the run can still produce lines; a finished run's log is\n // complete after the first read.\n live: isActive,\n minLevel: minLogLevel,\n });\n\n // Handlers\n const handlePause = async () => {\n if (!runId) return;\n await pauseExecution(runId);\n refetch();\n };\n\n const handleResume = async () => {\n if (!runId) return;\n await resumeExecution(runId);\n refetch();\n };\n\n const handleCancel = async () => {\n if (!runId) return;\n await cancelExecution(runId);\n refetch();\n };\n\n const handleTerminate = async () => {\n if (!runId) return;\n await terminateExecution(runId, \"User terminated\");\n setShowTerminateDialog(false);\n refetch();\n };\n\n const handleRetryNode = async (nodeId: string) => {\n if (!runId) return;\n await retryNode(runId, nodeId);\n refetch();\n };\n\n const handleReplay = async () => {\n if (!runId) return;\n const replayed = await replayExecution(runId);\n if (!replayed) {\n toast.error(\n tr(\n \"fluidgrids.executions.executionDetail.replayFailed\",\n \"Could not replay this run\",\n ),\n );\n return;\n }\n toast.success(\n tr(\n \"fluidgrids.executions.executionDetail.replayStarted\",\n \"Replay started in test mode\",\n ),\n );\n navigate(`../runs/${replayed.runId}`);\n };\n\n const handleViewChildRun = useCallback(\n (childRunId: string) => {\n navigate(`../runs/${childRunId}`);\n },\n [navigate],\n );\n\n // Formatting helpers\n const formatDuration = (ms?: number): string => {\n if (!ms) return \"-\";\n if (ms < 1000) return `${ms}ms`;\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;\n if (ms < 3600000)\n return `${Math.round(ms / 60000)}m ${Math.round((ms % 60000) / 1000)}s`;\n return `${Math.round(ms / 3600000)}h ${Math.round((ms % 3600000) / 60000)}m`;\n };\n\n const formatDateTime = (dateStr?: string): string => {\n if (!dateStr) return \"-\";\n const date = new Date(dateStr);\n return date.toLocaleString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n });\n };\n\n // Loading state\n if (loading && !execution) {\n return (\n <div className=\"p-4 sm:p-6 bg-background-primary min-h-screen\">\n <div className=\"animate-pulse\">\n <div className=\"h-8 w-48 bg-background-tertiary rounded mb-4\" />\n <div className=\"h-4 w-32 bg-background-tertiary rounded mb-8\" />\n <div className=\"grid grid-cols-2 sm:grid-cols-4 gap-4 mb-6\">\n {[...Array(4)].map((_, i) => (\n <div key={i} className=\"h-24 bg-background-tertiary rounded-lg\" />\n ))}\n </div>\n <div className=\"h-96 bg-background-tertiary rounded-lg\" />\n </div>\n </div>\n );\n }\n\n // Error state\n if (error) {\n return (\n <div className=\"p-4 sm:p-6 bg-background-primary min-h-screen\">\n <Link\n to=\"../runs\"\n className=\"text-action-primary-text hover:underline text-sm mb-4 inline-block\"\n >\n ←{\" \"}\n {tr(\n \"fluidgrids.executions.executionDetail.backToExecutions\",\n \"Back to Executions\",\n )}\n </Link>\n <div className=\"bg-[var(--color-status-error-bg-subtle)] border border-[var(--color-status-error-border)] rounded-lg p-6 text-center\">\n <Icon\n icon=\"mdi:alert-circle\"\n className=\"mx-auto text-[var(--color-status-error-text)] mb-4\"\n width={48}\n />\n <h2 className=\"text-lg font-medium text-[var(--color-status-error-text)] mb-2\">\n {tr(\n \"fluidgrids.executions.executionDetail.loadErrorTitle\",\n \"Failed to load execution\",\n )}\n </h2>\n <p className=\"text-[var(--color-status-error-text)] mb-4\">\n {error.message}\n </p>\n <Button variant=\"outline\" onClick={refetch}>\n {tr(\"fluidgrids.executions.executionDetail.tryAgain\", \"Try Again\")}\n </Button>\n </div>\n </div>\n );\n }\n\n // Not found state\n if (!execution) {\n return (\n <div className=\"p-4 sm:p-6 bg-background-primary min-h-screen\">\n <Link\n to=\"../runs\"\n className=\"text-action-primary-text hover:underline text-sm mb-4 inline-block\"\n >\n ←{\" \"}\n {tr(\n \"fluidgrids.executions.executionDetail.backToExecutions\",\n \"Back to Executions\",\n )}\n </Link>\n <div className=\"bg-background-secondary border border-border-secondary rounded-lg p-6 text-center\">\n <Icon\n icon=\"mdi:file-find-outline\"\n className=\"mx-auto text-text-secondary mb-4\"\n width={48}\n />\n <h2 className=\"text-lg font-medium text-text-primary mb-2\">\n {tr(\n \"fluidgrids.executions.executionDetail.notFoundTitle\",\n \"Execution not found\",\n )}\n </h2>\n <p className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.notFoundDescriptionPrefix\",\n \"The execution with ID\",\n )}{\" \"}\n "{runId}"{\" \"}\n {tr(\n \"fluidgrids.executions.executionDetail.notFoundDescriptionSuffix\",\n \"could not be found.\",\n )}\n </p>\n </div>\n </div>\n );\n }\n\n const tabs: Array<{ id: DetailTab; label: string; icon: string }> = [\n {\n id: \"timeline\",\n label: tr(\n \"fluidgrids.executions.executionDetail.timelineTab\",\n \"Timeline\",\n ),\n icon: \"mdi:timeline\",\n },\n {\n id: \"logs\",\n label: tr(\"fluidgrids.executions.executionDetail.logsTab\", \"Logs\"),\n icon: \"mdi:text-box-outline\",\n },\n {\n id: \"input\",\n label: tr(\"fluidgrids.executions.executionDetail.inputTab\", \"Input Data\"),\n icon: \"mdi:code-json\",\n },\n {\n id: \"context\",\n label: tr(\"fluidgrids.executions.executionDetail.contextTab\", \"Context\"),\n icon: \"mdi:information-outline\",\n },\n ];\n\n return (\n <div className=\"p-4 sm:p-6 bg-background-primary min-h-screen\">\n {/* Back link */}\n <Link\n to=\"../runs\"\n className=\"text-action-primary-text hover:underline text-sm mb-4 inline-block\"\n >\n ←{\" \"}\n {tr(\n \"fluidgrids.executions.executionDetail.backToExecutions\",\n \"Back to Executions\",\n )}\n </Link>\n\n {/* Sub-workflow parent breadcrumb */}\n {execution.parentRunId && (\n <div className=\"flex items-center gap-2 mb-3 text-sm\">\n <Icon icon=\"mdi:sitemap\" className=\"text-indigo-500\" width={16} />\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.subWorkflowOf\",\n \"Sub-workflow of\",\n )}\n </span>\n <Link\n to={`../runs/${execution.parentRunId}`}\n className=\"text-indigo-600 hover:underline font-medium\"\n >\n {tr(\n \"fluidgrids.executions.executionDetail.parentRunLinkPrefix\",\n \"Parent Run\",\n )}{\" \"}\n {execution.parentRunId.slice(0, 12)}...\n </Link>\n </div>\n )}\n\n {/* Header */}\n <div className=\"flex flex-col lg:flex-row lg:items-start lg:justify-between gap-4 mb-6\">\n <div>\n <div className=\"flex items-center gap-3 mb-2\">\n <h1 className=\"text-2xl sm:text-3xl font-bold text-text-primary\">\n {execution.workflow?.name || execution.workflowKey}\n </h1>\n <ExecutionStatusBadge status={execution.status} size=\"lg\" />\n {execution.parentRunId && (\n <span className=\"px-2 py-0.5 text-xs bg-indigo-100 text-indigo-700 rounded\">\n {tr(\n \"fluidgrids.executions.executionDetail.subWorkflowBadge\",\n \"Sub-Workflow\",\n )}\n </span>\n )}\n </div>\n <div className=\"flex flex-wrap items-center gap-4 text-sm text-text-secondary\">\n <span className=\"flex items-center gap-1\">\n <Icon icon=\"mdi:identifier\" width={16} />\n <code className=\"font-mono\">{execution.id.slice(0, 12)}...</code>\n </span>\n <span className=\"flex items-center gap-1\">\n <Icon icon=\"mdi:tag-outline\" width={16} />\n {formatRunVersion(execution.version)}\n </span>\n <span className=\"flex items-center gap-1\">\n <Icon icon=\"mdi:clock-outline\" width={16} />\n {formatDateTime(execution.startedAt || execution.createdAt)}\n </span>\n </div>\n </div>\n\n {/* Actions */}\n <div className=\"flex flex-wrap items-center gap-2\">\n {/* Auto-refresh toggle */}\n {isActive && (\n <label className=\"flex items-center gap-2 text-sm text-text-secondary mr-4\">\n <input\n type=\"checkbox\"\n checked={autoRefreshEnabled}\n onChange={(e) => setAutoRefreshEnabled(e.target.checked)}\n className=\"w-4 h-4 rounded\"\n />\n {tr(\n \"fluidgrids.executions.executionDetail.autoRefreshToggle\",\n \"Auto-refresh\",\n )}\n </label>\n )}\n\n {/* Control buttons based on status */}\n {canControlRuns && execution.status === \"RUNNING\" && (\n <>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handlePause}\n disabled={actionLoading}\n >\n <Icon icon=\"mdi:pause\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.pauseButton\",\n \"Pause\",\n )}\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handleCancel}\n disabled={actionLoading}\n className=\"border-[var(--color-status-warning-border)] text-[var(--color-status-warning-text)] hover:bg-[var(--color-status-warning-bg-subtle)]\"\n >\n <Icon icon=\"mdi:stop\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.cancelButton\",\n \"Cancel\",\n )}\n </Button>\n </>\n )}\n\n {canControlRuns && execution.status === \"WAITING\" && (\n <>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handleResume}\n disabled={actionLoading}\n >\n <Icon icon=\"mdi:play\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.resumeButton\",\n \"Resume\",\n )}\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handleCancel}\n disabled={actionLoading}\n className=\"border-[var(--color-status-warning-border)] text-[var(--color-status-warning-text)] hover:bg-[var(--color-status-warning-bg-subtle)]\"\n >\n <Icon icon=\"mdi:stop\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.cancelButton\",\n \"Cancel\",\n )}\n </Button>\n </>\n )}\n\n {canControlRuns && execution.status === \"PENDING\" && (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handleCancel}\n disabled={actionLoading}\n >\n <Icon icon=\"mdi:stop\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.cancelButton\",\n \"Cancel\",\n )}\n </Button>\n )}\n\n {canControlRuns &&\n (execution.status === \"RUNNING\" ||\n execution.status === \"WAITING\") && (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => setShowTerminateDialog(true)}\n disabled={actionLoading}\n className=\"border-[var(--color-status-error-border)] text-[var(--color-status-error-text)] hover:bg-[var(--color-status-error-bg-subtle)]\"\n >\n <Icon icon=\"mdi:close-octagon\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.terminateButton\",\n \"Terminate\",\n )}\n </Button>\n )}\n\n {canControlRuns &&\n execution.status !== \"RUNNING\" &&\n execution.status !== \"PENDING\" &&\n execution.status !== \"WAITING\" && (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => void handleReplay()}\n disabled={actionLoading}\n >\n <Icon icon=\"mdi:replay\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.replayButton\",\n \"Replay in test mode\",\n )}\n </Button>\n )}\n\n <Button variant=\"outline\" size=\"sm\" onClick={refetch}>\n <Icon icon=\"mdi:refresh\" className=\"mr-1\" width={16} />\n {tr(\n \"fluidgrids.executions.executionDetail.refreshButton\",\n \"Refresh\",\n )}\n </Button>\n </div>\n </div>\n\n {/* Stats Grid */}\n <div className=\"grid grid-cols-2 sm:grid-cols-4 gap-4 mb-6\">\n <div className=\"bg-background-secondary rounded-lg border border-border-secondary p-4\">\n <div className=\"text-sm text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.durationStat\",\n \"Duration\",\n )}\n </div>\n <div className=\"text-xl font-bold text-text-primary mt-1\">\n {formatDuration(execution.duration)}\n </div>\n </div>\n <div className=\"bg-background-secondary rounded-lg border border-border-secondary p-4\">\n <div className=\"text-sm text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.progressStat\",\n \"Progress\",\n )}\n </div>\n <div className=\"flex items-center gap-2 mt-1\">\n <div className=\"flex-1 h-2 bg-background-tertiary rounded-full overflow-hidden\">\n <div\n className={`h-full ${\n execution.status === \"FAILED\"\n ? \"bg-[var(--color-status-error-bg)]\"\n : execution.status === \"COMPLETED\"\n ? \"bg-[var(--color-status-success-bg)]\"\n : \"bg-[var(--color-status-info-bg)]\"\n }`}\n style={{ width: `${execution.progress}%` }}\n />\n </div>\n <span className=\"text-xl font-bold text-text-primary\">\n {Math.round(execution.progress)}%\n </span>\n </div>\n </div>\n <div className=\"bg-background-secondary rounded-lg border border-border-secondary p-4\">\n <div className=\"text-sm text-text-secondary\">\n {tr(\"fluidgrids.executions.executionDetail.nodesStat\", \"Nodes\")}\n </div>\n <div className=\"flex items-center gap-2 mt-1\">\n <span className=\"text-xl font-bold text-[var(--color-status-success-text)]\">\n {execution.completedNodes ?? 0}\n </span>\n <span className=\"text-text-secondary\">/</span>\n <span className=\"text-xl font-bold text-text-primary\">\n {execution.totalNodes ?? 0}\n </span>\n {(execution.failedNodes ?? 0) > 0 && (\n <span className=\"text-sm text-[var(--color-status-error-text)] ml-2\">\n ({execution.failedNodes}{\" \"}\n {tr(\n \"fluidgrids.executions.executionDetail.failedNodesSuffix\",\n \"failed\",\n )}\n )\n </span>\n )}\n </div>\n </div>\n <div className=\"bg-background-secondary rounded-lg border border-border-secondary p-4\">\n <div className=\"text-sm text-text-secondary\">\n {tr(\"fluidgrids.executions.executionDetail.triggerStat\", \"Trigger\")}\n </div>\n <div className=\"text-lg font-medium text-text-primary mt-1 truncate\">\n {execution.triggerNodeId\n ? (nodeDisplay[execution.triggerNodeId]?.label ??\n execution.triggerNodeId)\n : \"—\"}\n </div>\n </div>\n </div>\n\n {/* Error Banner */}\n {execution.errorMessage && (\n <div className=\"mb-6 p-4 bg-[var(--color-status-error-bg-subtle)] border border-[var(--color-status-error-border)] rounded-lg\">\n <div className=\"flex items-center gap-2 text-[var(--color-status-error-text)] mb-2\">\n <Icon icon=\"mdi:alert-circle\" width={20} />\n <span className=\"font-medium\">\n {tr(\"fluidgrids.executions.executionDetail.errorLabel\", \"Error\")}\n {execution.errorType ? ` (${execution.errorType})` : \"\"}\n </span>\n </div>\n <p className=\"text-[var(--color-status-error-text)]\">\n {execution.errorMessage}\n </p>\n </div>\n )}\n\n {/* Tabs */}\n <div className=\"border-b border-border-secondary mb-6\">\n <nav className=\"flex gap-4 -mb-px\">\n {tabs.map((tab) => (\n <button\n key={tab.id}\n onClick={() => setActiveTab(tab.id)}\n className={`\n flex items-center gap-2 px-4 py-3 border-b-2 text-sm font-medium transition-colors\n ${\n activeTab === tab.id\n ? \"border-action-primary-bg text-action-primary-text\"\n : \"border-transparent text-text-secondary hover:text-text-primary hover:border-border-primary\"\n }\n `}\n >\n <Icon icon={tab.icon} width={18} />\n {tab.label}\n </button>\n ))}\n </nav>\n </div>\n\n {/* Tab Content */}\n <div className=\"bg-background-secondary rounded-lg border border-border-secondary\">\n {activeTab === \"timeline\" && (\n <div className=\"p-4 sm:p-6\">\n <NodeTimeline\n nodeStates={execution.nodeStates ?? []}\n nodeDisplay={nodeDisplay}\n triggerNodeId={execution.triggerNodeId ?? undefined}\n onRetryNode={canControlRuns ? handleRetryNode : undefined}\n onViewChildRun={handleViewChildRun}\n />\n </div>\n )}\n\n {activeTab === \"logs\" && (\n <div className=\"p-4 sm:p-6\">\n <RunLogViewer\n runId={runId!}\n lines={runLogs.lines}\n nodeStates={execution.nodeStates ?? []}\n nodeDisplay={nodeDisplay}\n loading={runLogs.loading}\n error={runLogs.error}\n hasMore={runLogs.hasMore}\n limitReached={runLogs.limitReached}\n streaming={runLogs.streaming}\n active={isActive}\n minLevel={minLogLevel}\n onMinLevelChange={setMinLogLevel}\n onLoadMore={() => void runLogs.loadMore()}\n />\n </div>\n )}\n\n {activeTab === \"input\" && (\n <div className=\"p-4 sm:p-6\">\n <h3 className=\"text-lg font-medium text-text-primary mb-4\">\n {tr(\n \"fluidgrids.executions.executionDetail.triggerDataHeading\",\n \"Trigger Data\",\n )}\n </h3>\n <div className=\"bg-background-primary rounded p-4 max-h-[400px] overflow-auto\">\n <pre className=\"text-sm text-text-primary font-mono whitespace-pre-wrap break-words\">\n {JSON.stringify(execution.triggerData ?? null, null, 2)}\n </pre>\n </div>\n </div>\n )}\n\n {activeTab === \"context\" && (\n <div className=\"p-4 sm:p-6\">\n <div className=\"grid grid-cols-1 lg:grid-cols-2 gap-6\">\n <div>\n <h3 className=\"text-lg font-medium text-text-primary mb-4\">\n {tr(\n \"fluidgrids.executions.executionDetail.executionContextHeading\",\n \"Execution Context\",\n )}\n </h3>\n <div className=\"bg-background-primary rounded p-4 max-h-[300px] overflow-auto\">\n <pre className=\"text-sm text-text-primary font-mono whitespace-pre-wrap break-words\">\n {JSON.stringify(execution.context ?? null, null, 2)}\n </pre>\n </div>\n </div>\n <div>\n <h3 className=\"text-lg font-medium text-text-primary mb-4\">\n {tr(\n \"fluidgrids.executions.executionDetail.executionDetailsHeading\",\n \"Execution Details\",\n )}\n </h3>\n <div className=\"space-y-3\">\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.runIdRow\",\n \"Run ID\",\n )}\n </span>\n <code className=\"font-mono text-text-primary\">\n {execution.id}\n </code>\n </div>\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.workflowRow\",\n \"Workflow\",\n )}\n </span>\n <span className=\"text-text-primary\">\n {execution.workflow?.name || execution.workflowKey}\n </span>\n </div>\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.workflowKeyRow\",\n \"Workflow Key\",\n )}\n </span>\n <code className=\"font-mono text-text-primary\">\n {execution.workflowKey}\n </code>\n </div>\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.versionRow\",\n \"Version\",\n )}\n </span>\n <span className=\"text-text-primary\">\n {formatRunVersion(execution.version)}\n </span>\n </div>\n {execution.triggeredById && (\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.triggeredByRow\",\n \"Triggered By\",\n )}\n </span>\n <span\n className=\"text-text-primary\"\n title={execution.triggeredById}\n >\n {triggeredByLabel}\n </span>\n </div>\n )}\n {execution.parentRunId && (\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.parentRunRow\",\n \"Parent Run\",\n )}\n </span>\n <Link\n to={`/runs/${execution.parentRunId}`}\n className=\"text-action-primary-text hover:underline font-mono\"\n >\n {execution.parentRunId.slice(0, 12)}...\n </Link>\n </div>\n )}\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.createdRow\",\n \"Created\",\n )}\n </span>\n <span className=\"text-text-primary\">\n {formatDateTime(execution.createdAt)}\n </span>\n </div>\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.startedRow\",\n \"Started\",\n )}\n </span>\n <span className=\"text-text-primary\">\n {formatDateTime(execution.startedAt)}\n </span>\n </div>\n {execution.completedAt && (\n <div className=\"flex justify-between py-2 border-b border-border-secondary\">\n <span className=\"text-text-secondary\">\n {tr(\n \"fluidgrids.executions.executionDetail.completedRow\",\n \"Completed\",\n )}\n </span>\n <span className=\"text-text-primary\">\n {formatDateTime(execution.completedAt)}\n </span>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <AlertDialog\n open={showTerminateDialog}\n onOpenChange={setShowTerminateDialog}\n >\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>\n {tr(\n \"fluidgrids.executions.executionDetail.terminateDialogTitle\",\n \"Terminate Execution\",\n )}\n </AlertDialogTitle>\n <AlertDialogDescription>\n {tr(\n \"fluidgrids.executions.executionDetail.terminateDialogDescription\",\n \"Are you sure you want to force terminate this execution? This will immediately stop the running workflow and cannot be resumed.\",\n )}\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel disabled={actionLoading}>\n {tr(\n \"fluidgrids.executions.executionDetail.cancelButton\",\n \"Cancel\",\n )}\n </AlertDialogCancel>\n <AlertDialogAction\n onClick={handleTerminate}\n disabled={actionLoading}\n className=\"bg-destructive text-destructive-foreground hover:bg-destructive/90\"\n >\n {actionLoading\n ? tr(\n \"fluidgrids.executions.executionDetail.terminatingButton\",\n \"Terminating...\",\n )\n : tr(\n \"fluidgrids.executions.executionDetail.terminateButton\",\n \"Terminate\",\n )}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n </div>\n );\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-
|
|
1
|
+
import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-GBXVY4MJ.js';
|
|
2
2
|
import { QuotaExhaustedDialog } from './chunk-AANIWER2.js';
|
|
3
|
-
import { useWorkflowDefinitions, useDuplicateWorkflow } from './chunk-
|
|
3
|
+
import { useWorkflowDefinitions, useDuplicateWorkflow } from './chunk-GKSXZFDY.js';
|
|
4
4
|
import { useTr } from './chunk-7YWBH2A5.js';
|
|
5
5
|
import { useState, useEffect, useMemo, useCallback } from 'react';
|
|
6
6
|
import { useParams, useNavigate } from 'react-router';
|
|
@@ -971,6 +971,11 @@ var AssistantMessageRole = /* @__PURE__ */ ((AssistantMessageRole2) => {
|
|
|
971
971
|
AssistantMessageRole2["User"] = "USER";
|
|
972
972
|
return AssistantMessageRole2;
|
|
973
973
|
})(AssistantMessageRole || {});
|
|
974
|
+
var AssistantRelayGateway = /* @__PURE__ */ ((AssistantRelayGateway2) => {
|
|
975
|
+
AssistantRelayGateway2["Global"] = "GLOBAL";
|
|
976
|
+
AssistantRelayGateway2["Workspace"] = "WORKSPACE";
|
|
977
|
+
return AssistantRelayGateway2;
|
|
978
|
+
})(AssistantRelayGateway || {});
|
|
974
979
|
var AthAgentRunStatus = /* @__PURE__ */ ((AthAgentRunStatus2) => {
|
|
975
980
|
AthAgentRunStatus2["Failed"] = "FAILED";
|
|
976
981
|
AthAgentRunStatus2["Succeeded"] = "SUCCEEDED";
|
|
@@ -4823,6 +4828,7 @@ var HousingVistaOfferResponseAction = /* @__PURE__ */ ((HousingVistaOfferRespons
|
|
|
4823
4828
|
var HousingVistaOfferStatus = /* @__PURE__ */ ((HousingVistaOfferStatus2) => {
|
|
4824
4829
|
HousingVistaOfferStatus2["Accepted"] = "accepted";
|
|
4825
4830
|
HousingVistaOfferStatus2["Countered"] = "countered";
|
|
4831
|
+
HousingVistaOfferStatus2["Expired"] = "expired";
|
|
4826
4832
|
HousingVistaOfferStatus2["Rejected"] = "rejected";
|
|
4827
4833
|
HousingVistaOfferStatus2["Submitted"] = "submitted";
|
|
4828
4834
|
HousingVistaOfferStatus2["Withdrawn"] = "withdrawn";
|
|
@@ -6342,6 +6348,14 @@ var PlanmagnetAutomationTriggerType = /* @__PURE__ */ ((PlanmagnetAutomationTrig
|
|
|
6342
6348
|
PlanmagnetAutomationTriggerType2["WorkItemUpdated"] = "WORK_ITEM_UPDATED";
|
|
6343
6349
|
return PlanmagnetAutomationTriggerType2;
|
|
6344
6350
|
})(PlanmagnetAutomationTriggerType || {});
|
|
6351
|
+
var PlanmagnetDueGroup = /* @__PURE__ */ ((PlanmagnetDueGroup2) => {
|
|
6352
|
+
PlanmagnetDueGroup2["DueLater"] = "DUE_LATER";
|
|
6353
|
+
PlanmagnetDueGroup2["DueThisWeek"] = "DUE_THIS_WEEK";
|
|
6354
|
+
PlanmagnetDueGroup2["DueToday"] = "DUE_TODAY";
|
|
6355
|
+
PlanmagnetDueGroup2["NoDueDate"] = "NO_DUE_DATE";
|
|
6356
|
+
PlanmagnetDueGroup2["Overdue"] = "OVERDUE";
|
|
6357
|
+
return PlanmagnetDueGroup2;
|
|
6358
|
+
})(PlanmagnetDueGroup || {});
|
|
6345
6359
|
var PlanmagnetFeatureOrder = /* @__PURE__ */ ((PlanmagnetFeatureOrder2) => {
|
|
6346
6360
|
PlanmagnetFeatureOrder2["MostVoted"] = "MOST_VOTED";
|
|
6347
6361
|
PlanmagnetFeatureOrder2["Newest"] = "NEWEST";
|
|
@@ -6364,6 +6378,15 @@ var PlanmagnetMilestoneOrder = /* @__PURE__ */ ((PlanmagnetMilestoneOrder2) => {
|
|
|
6364
6378
|
PlanmagnetMilestoneOrder2["Newest"] = "NEWEST";
|
|
6365
6379
|
return PlanmagnetMilestoneOrder2;
|
|
6366
6380
|
})(PlanmagnetMilestoneOrder || {});
|
|
6381
|
+
var PlanmagnetProductLifecycleStage = /* @__PURE__ */ ((PlanmagnetProductLifecycleStage2) => {
|
|
6382
|
+
PlanmagnetProductLifecycleStage2["Beta"] = "BETA";
|
|
6383
|
+
PlanmagnetProductLifecycleStage2["Concept"] = "CONCEPT";
|
|
6384
|
+
PlanmagnetProductLifecycleStage2["Deprecated"] = "DEPRECATED";
|
|
6385
|
+
PlanmagnetProductLifecycleStage2["Development"] = "DEVELOPMENT";
|
|
6386
|
+
PlanmagnetProductLifecycleStage2["Launched"] = "LAUNCHED";
|
|
6387
|
+
PlanmagnetProductLifecycleStage2["Mature"] = "MATURE";
|
|
6388
|
+
return PlanmagnetProductLifecycleStage2;
|
|
6389
|
+
})(PlanmagnetProductLifecycleStage || {});
|
|
6367
6390
|
var PlanmagnetProjectStatus = /* @__PURE__ */ ((PlanmagnetProjectStatus2) => {
|
|
6368
6391
|
PlanmagnetProjectStatus2["Active"] = "ACTIVE";
|
|
6369
6392
|
PlanmagnetProjectStatus2["Archived"] = "ARCHIVED";
|
|
@@ -6379,6 +6402,11 @@ var PlanmagnetReleaseScope = /* @__PURE__ */ ((PlanmagnetReleaseScope2) => {
|
|
|
6379
6402
|
PlanmagnetReleaseScope2["WorkItems"] = "WORK_ITEMS";
|
|
6380
6403
|
return PlanmagnetReleaseScope2;
|
|
6381
6404
|
})(PlanmagnetReleaseScope || {});
|
|
6405
|
+
var PlanmagnetSprintScope = /* @__PURE__ */ ((PlanmagnetSprintScope2) => {
|
|
6406
|
+
PlanmagnetSprintScope2["Project"] = "PROJECT";
|
|
6407
|
+
PlanmagnetSprintScope2["Team"] = "TEAM";
|
|
6408
|
+
return PlanmagnetSprintScope2;
|
|
6409
|
+
})(PlanmagnetSprintScope || {});
|
|
6382
6410
|
var PlanmagnetStatusCategory = /* @__PURE__ */ ((PlanmagnetStatusCategory2) => {
|
|
6383
6411
|
PlanmagnetStatusCategory2["Backlog"] = "BACKLOG";
|
|
6384
6412
|
PlanmagnetStatusCategory2["Cancelled"] = "CANCELLED";
|
|
@@ -6415,6 +6443,11 @@ var PlanmagnetSyncStatus = /* @__PURE__ */ ((PlanmagnetSyncStatus2) => {
|
|
|
6415
6443
|
PlanmagnetSyncStatus2["Syncing"] = "SYNCING";
|
|
6416
6444
|
return PlanmagnetSyncStatus2;
|
|
6417
6445
|
})(PlanmagnetSyncStatus || {});
|
|
6446
|
+
var PlanmagnetThroughputBucket = /* @__PURE__ */ ((PlanmagnetThroughputBucket2) => {
|
|
6447
|
+
PlanmagnetThroughputBucket2["Day"] = "DAY";
|
|
6448
|
+
PlanmagnetThroughputBucket2["Week"] = "WEEK";
|
|
6449
|
+
return PlanmagnetThroughputBucket2;
|
|
6450
|
+
})(PlanmagnetThroughputBucket || {});
|
|
6418
6451
|
var PluginStatus = /* @__PURE__ */ ((PluginStatus2) => {
|
|
6419
6452
|
PluginStatus2["Available"] = "AVAILABLE";
|
|
6420
6453
|
PluginStatus2["Deprecated"] = "DEPRECATED";
|
|
@@ -7000,6 +7033,16 @@ var RunTriggerType = /* @__PURE__ */ ((RunTriggerType2) => {
|
|
|
7000
7033
|
RunTriggerType2["Webhook"] = "WEBHOOK";
|
|
7001
7034
|
return RunTriggerType2;
|
|
7002
7035
|
})(RunTriggerType || {});
|
|
7036
|
+
var SandboxAssistantMode = /* @__PURE__ */ ((SandboxAssistantMode2) => {
|
|
7037
|
+
SandboxAssistantMode2["ApiCalls"] = "API_CALLS";
|
|
7038
|
+
SandboxAssistantMode2["Assistant"] = "ASSISTANT";
|
|
7039
|
+
return SandboxAssistantMode2;
|
|
7040
|
+
})(SandboxAssistantMode || {});
|
|
7041
|
+
var SandboxAssistantWriteApproval = /* @__PURE__ */ ((SandboxAssistantWriteApproval2) => {
|
|
7042
|
+
SandboxAssistantWriteApproval2["Legacy"] = "LEGACY";
|
|
7043
|
+
SandboxAssistantWriteApproval2["ProposalV1"] = "PROPOSAL_V1";
|
|
7044
|
+
return SandboxAssistantWriteApproval2;
|
|
7045
|
+
})(SandboxAssistantWriteApproval || {});
|
|
7003
7046
|
var SandboxChangeType = /* @__PURE__ */ ((SandboxChangeType2) => {
|
|
7004
7047
|
SandboxChangeType2["Created"] = "CREATED";
|
|
7005
7048
|
SandboxChangeType2["Deleted"] = "DELETED";
|
|
@@ -8661,6 +8704,7 @@ var ValidationMethod = /* @__PURE__ */ ((ValidationMethod2) => {
|
|
|
8661
8704
|
ValidationMethod2["BasicAuth"] = "BASIC_AUTH";
|
|
8662
8705
|
ValidationMethod2["BearerToken"] = "BEARER_TOKEN";
|
|
8663
8706
|
ValidationMethod2["HmacSha256"] = "HMAC_SHA256";
|
|
8707
|
+
ValidationMethod2["Jwt"] = "JWT";
|
|
8664
8708
|
ValidationMethod2["None"] = "NONE";
|
|
8665
8709
|
ValidationMethod2["Signature"] = "SIGNATURE";
|
|
8666
8710
|
return ValidationMethod2;
|
|
@@ -9829,6 +9873,6 @@ function TemplatesPage() {
|
|
|
9829
9873
|
] });
|
|
9830
9874
|
}
|
|
9831
9875
|
|
|
9832
|
-
export { A2AMessagePriority, A2AMessageStatus, A2ATrustLevel, ActionExecutionStatus, ActionSourceType, ActionStatus, ActionStyle, ActionTriggerType, ActionType, ActivityCategory, ActivityType, ActorType, AdaAdapterKind, AdaAdapterStatus, AdaAuthMethod, AdaConnectionStatus, AdaDataSubjectRequestStatus, AdaDataSubjectRequestType, AdaDataSubjectRetentionRule, AdaDriftStatus, AdaEdgeKind, AdaLegalCheckpointType, AdaPolicyEnforcement, AdaPolicyKind, AdaResourceState, AdaSeverity, AdaSyncKind, AdaSyncStatus, AdaViolationStatus, AgentCapabilityScope, AgentVisibility, AiContextStatus, AiContextType, AiPredictionStatus, AiPromptCategory, AiPromptStatus, AlertSeverity, AnalyticsEntityType, AnalyticsEventSeverity, AnalyticsGranularity, AnalyticsInsightSeverity, AnomalyDetectionMethod, AnomalyDirection, AppCategory, AppInstallationState, AppPermission, AppStatus, AppType, AppVisibility, ApprovalStatus, ArtAnchorType, ArtApprovalDecision, ArtAssetKind, ArtFeedbackStatus, ArtLicenseModel, ArtLicenseStatus, ArtMedium, ArtProductionRole, ArtProductionStatus, ArtReleaseStatus, ArtReviewStatus, ArtVisibility, ArtWorkStatus, ArtifactType, AssetAssignmentStatus, AssetBudgetStatus, AssetCondition, AssetDeadlineAlertKind, AssetDeadlineAlertStatus, AssetDepreciationMethod, AssetMeterUnit, AssetStatus, AssetTransactionStatus, AssetTransactionType, AssignmentSource, AssistantHistoryDeleteOutcome, AssistantHistoryEntryKind, AssistantHistoryRole, AssistantHistorySaveOutcome, AssistantMessageRole, AthAgentRunStatus, AthAgentRunTrigger, AthAiAssessment, AthAvailabilityResponse, AthFixtureStatus, AthFixtureType, AthMemberRole, AthMemberStatus, AthMetricType, AthProgramLevel, AthProgramStatus, AthSessionStatus, AthSessionType, AthSport, AthTeamStatus, AthWorkoutStatus, AttendeeRole, AuthMethodFlow, AuthType, AuthorType, BackoffStrategy, BatchDownloadStatus, BigConsoleConflictResolution, BillingPlan, BillingType, BoardColumnType, BoardType, BookingFormFieldType, BookingPageType, BookingStatus, BotAppStatus, BotAppType, BotAppVisibility, BotlitAgentCapability, BotlitAgentStatus, BotlitAgentType, BotlitHealthStatus, BotlitLlmProviderType, BraAccountStatus, BraAccountType, BraAdvisorRole, BraAdvisorStatus, BraAggregationLinkStatus, BraAggregationProvider, BraAssetClass, BraGoalProjection, BraGoalStatus, BraGoalType, BraHouseholdStatus, BraInsightSeverity, BraInsightStatus, BraInsightType, BraPortfolioStatus, BraRebalanceStatus, BraRecurringCategory, BraRecurringFrequency, BraReportFrequency, BraReportRunStatus, BraRiskProfile, BraRiskSignalKind, BraScheduledReportStatus, BraTradeInstructionAction, BraTradeInstructionSource, BraTradeInstructionStatus, BraTransactionType, BudgetStatus, BuiAdminCopilotRole, BuiAiSuggestionOutcome, BuiAssessmentStatus, BuiAssessmentType, BuiCertificateStatus, BuiCertificationBody, BuiCohortStatus, BuiCourseLevel, BuiCourseStatus, BuiEnrollmentStatus, BuiLessonType, BuiLtiGradeSyncStatus, BuiLtiMessageType, BuiLtiRosterMemberStatus, BuiPacingHint, BuiProctoringDecision, BuiProctoringStatus, BuiProgressStatus, BuiQuestionType, BuiSkillCategory, BuiSkillStandardSource, BuiSubmissionStatus, BuiTutorAdaptiveLevel, BuiTutorMessageRole, BulkConversationAction, CalendarEventStatus, CalendarExecutionStatus, CalendarExportFormat, CalendarPromptStatus, CalendarResourceType, CalendarType, CallParticipantChangeType, CallState, CallType, CatalogVisibility, ChangeRisk, ChangeStatus, ChannelMessageStatus, ChannelPlatform, ChannelType, ChatRole, CheckInStatus, ChunkingMethod, CircuitState, CohortType, ColAssistantSuggestionKind, ColAssistantSuggestionStatus, ColCertainty, ColEventType, ColGender, ColGuardianRequestDecision, ColGuardianRequestStatus, ColGuardianRequestTargetKind, ColGuardianRequestType, ColKeepsakeBookStatus, ColLifeStatus, ColMemberRole, ColMembershipStatus, ColMemoryKind, ColPromptCategory, ColPromptRelationshipType, ColRelationshipType, ColStoryFormat, ColTreeStatus, ColVisibility, CollaboratorRole, CollectionActivityType, CollectionItemSortField, CollectionSortField, CollectionType, CollectionVisibility, ComBillingInterval, ComChannelType, ComChannelVisibility, ComCircleStatus, ComCircleVisibility, ComDevicePlatform, ComDigitalProductType, ComEventMode, ComEventStatus, ComExportFormat, ComFollowTargetType, ComLiveStreamStatus, ComMemberRole, ComMembershipStatus, ComModerationCategory, ComModerationReviewDecision, ComModerationTargetType, ComModerationVerdictType, ComMonetizationStatus, ComPaidEventStatus, ComPollStatus, ComPostStatus, ComPresence, ComReactionTargetType, ComReactionType, ComReportStatus, ComReportTargetType, ComRsvpStatus, ComTipIntentStatus, ComVoiceSessionStatus, ComVoiceSignalType, CommentExportFormat, CommentScheduleType, CommentStatus, CommentVisibility, ComparisonOperator, ComponentLifecycle, ComponentType, ConfigScope, ConflictResolution, ConnectionCredentialSource, ConnectionQuality, ConnectionStatus, ConsultationConsultantType, ConsultationStatus, ContentSearchEngine, ContentSearchStatus, ContentType, ConversationPermission, ConversationSortField, ConversationState, ConversationType, ConversationVisibility, ConversationsExportFormat, CooBrandStatus, CooCollaborationStatus, CooCollaboratorRole, CooCollectionStatus, CooLegalCheckpointType, CooLookOccasion, CooSeason, CooStyleCategory, CooStyleItemStatus, CooVisibility, CooWardrobeSource, CosAccessLevel, CosAnalysisStatus, CosDatasetStatus, CosDoiState, CosExternalRegistryMode, CosFieldType, CosGrantStatus, CosNotebookStatus, CosPipelineStatus, CosPipelineTrigger, CosReleaseStatus, CosRunStatus, CosSourceStatus, CosSourceType, CosStepKind, CosZenodoMirrorStatus, CrewPayrollCountry, CrewPayrollRunStatus, CrewfoundryExportFormat, CustomFieldType, DashboardCategory, DashboardEmbedAccessMode, DashboardEmbedPolicyStatus, DashboardEmbedTheme, DashboardLayout, DashboardSortField, DashboardStatus, DashboardStyleType, DashboardVisibility, DataClassification, DataSinkRefreshType, DataSinkSetupState, DataSinkSourceType, DataSinkStatus, DataSinkUpdateEventType, DataSourceTestStatus, DataSourceType, DataTableColumnType, DataTableFilterOp, DayOfWeek, DeliveryChannelType, DeliveryJobStatus, DeliveryPriority, DemandForecastScope, DependencyStatus, DependencyType, DeploymentEnvironment, DeploymentStatus, DiscoveryJobStatus, DlqStatus, DocStatus, DocumentStatus, DriverStatus, EcoCarbonEntryStatus, EcoConservationStatus, EcoDataSourceType, EcoEmissionScope, EcoHabitatProjectStatus, EcoIngestionJobStatus, EcoIngestionRecordType, EcoMeasurementSource, EcoObservationMethod, EcoReductionTargetStatus, EcoReportFramework, EcoReportStatus, EcoRestorationActivityType, EcoSensorKind, EcoSensorStatus, EcoSiteStatus, EcoSiteType, EcoTaxonGroup, EcoThresholdDirection, EcoThresholdSeverity, EmbedContentReviewState, EncryptionAlgorithm, EnergyLevel, EntityStatus, ErrorType, EventStatus, EventType, EventValidationStatus, EventVisibility, EventfullyManagedIntegrationConnectorStatus, EventfullyManagedIntegrationProvider, EventfullyManagedIntegrationSyncRunStatus, EventfullyManagedVirtualParticipantRole, EventfullyManagedVirtualSessionMode, EventfullyManagedVirtualSessionStatus, EventfullyManagedVirtualSignalType, ExecutionStatus, ExecutionType, ExecutorType, ExpenseOrderByField, ExpenseStatus, ExportArchiveFormat, ExportFormat, ExportJobStatus, ExportScope, ExportSortField, ExternalCalendarSyncDirection, ExternalCalendarSyncStatus, ExternalProviderType, FeatureRequestStatus, FieldMaskStrategy, FileEventType, FileMetadataSortField, FileShareAccessLevel, FileShareType, FileSortField, FileStatus, FileVisibility, FilterDataType, FilterOperator, FilterType, FluidGridsEventType, FluidGridsWorkflowStatus, FolderSortField, FolderStatus, FuelType, FunnelStepOrder, GeneratedLayoutType, GenerationStatus, GeofenceEventType, GeofenceTrigger, GgnomadAccessibilityFeature, GgnomadApprovalStatus, GgnomadBookingStatus, GgnomadBookingType, GgnomadCartStatus, GgnomadChannelSyncDirection, GgnomadChannelSyncStatus, GgnomadClaimStatus, GgnomadExportFormat, GgnomadGroupTripSplitMethod, GgnomadGroupTripVoteChoice, GgnomadListingStatus, GgnomadListingType, GgnomadLoyaltyTransactionType, GgnomadPrivateRequestAction, GgnomadPrivateRequestStatus, GgnomadPushPlatform, GgnomadSustainabilityPractice, GgnomadTicketStatus, GgnomadTripPlanItemType, GovAgentRunStatus, GovAgentRunTrigger, GovApplicationStatus, GovAssetCategory, GovAssetOperator, GovAssetStatus, GovBenchmarkScope, GovBudgetCategory, GovBudgetLineKind, GovBudgetStatus, GovCaseEscalationKind, GovCaseEscalationStatus, GovCaseNoteType, GovCasePriority, GovCommitmentStatus, GovConsultationStatus, GovConsultationType, GovDataLicense, GovDatasetFormat, GovDatasetStatus, GovDocumentStatus, GovElectionStatus, GovElectionType, GovEventCategory, GovEventImpact, GovFeeType, GovFundingSource, GovGrievanceStatus, GovIndicatorDirection, GovIndicatorDomain, GovIndicatorPeriodicity, GovIndicatorValueType, GovInsightKind, GovInsightSeverity, GovIntelEntityType, GovJurisdictionStatus, GovMilestoneStatus, GovOfficeType, GovPaymentStatus, GovPermitStatus, GovProjectStatus, GovProposalStatus, GovSentiment, GovServiceCategory, GovServiceStatus, GovTrendDirection, GovVerificationStatus, GraphMetadataOperator, GraphSearchMode, GraphSearchSortBy, GroupCompositionMode, GroupExportFormat, GroupScope, GroupSortField, GroupStatus, GroupType, GroupVisibility, GroupsExportFormat, GrowLocationType, HeadshotmarketingAdCampaignStatus, HeadshotmarketingAdConnectionMode, HeadshotmarketingAdConnectionStatus, HeadshotmarketingAdCreativeStatus, HeadshotmarketingAdCreativeType, HeadshotmarketingAdPlatform, HeadshotmarketingAdSyncStatus, HeadshotmarketingAgentActionStatus, HeadshotmarketingAgentMessageRole, HeadshotmarketingAiToolCategory, HeadshotmarketingAiToolExecutionStatus, HeadshotmarketingAssetType, HeadshotmarketingAttributionConversionType, HeadshotmarketingAttributionModel, HeadshotmarketingAutomationRunStatus, HeadshotmarketingAutomationStepLogStatus, HeadshotmarketingAutomationSubjectType, HeadshotmarketingAutomationTriggerType, HeadshotmarketingAutomationWorkflowStatus, HeadshotmarketingCampaignStatus, HeadshotmarketingCampaignType, HeadshotmarketingContactStatus, HeadshotmarketingContentItemStatus, HeadshotmarketingContentItemType, HeadshotmarketingCulturalCategory, HeadshotmarketingCulturalRegion, HeadshotmarketingDealStatus, HeadshotmarketingEventRegistrationStatus, HeadshotmarketingEventStatus, HeadshotmarketingEventType, HeadshotmarketingExportFormat, HeadshotmarketingInfluencerCampaignStatus, HeadshotmarketingInfluencerRelationshipStatus, HeadshotmarketingInfluencerTier, HeadshotmarketingIntegrationCategory, HeadshotmarketingIntegrationConnectionType, HeadshotmarketingIntegrationListingStatus, HeadshotmarketingLandingPageSectionType, HeadshotmarketingLandingPageStatus, HeadshotmarketingLeadSource, HeadshotmarketingLeadStatus, HeadshotmarketingSeoAuditSeverity, HeadshotmarketingSeoAuditStatus, HeadshotmarketingSeoKeywordStatus, HeadshotmarketingSocialAccountDeliveryMode, HeadshotmarketingSocialAccountStatus, HeadshotmarketingSocialMentionSentiment, HeadshotmarketingSocialMentionStatus, HeadshotmarketingSocialMentionType, HeadshotmarketingSocialPlatform, HeadshotmarketingSocialPostStatus, HeadshotmarketingTouchpointType, HeadshotmarketingTranslationStatus, HeadshotmarketingWorkspaceIntegrationStatus, HealthyBowlAdvisoryTaskStatus, HealthyBowlConsultantAssignmentScope, HealthyBowlFarmRecommendationPriority, HealthyBowlFarmRecommendationStatus, HealthyBowlFinancierGrantScope, HealthyBowlGeneratableReportType, HealthyBowlGrowthGranularity, HealthyBowlPaddockState, HealthyBowlTaggableType, HokApplicationStatus, HokAuditionStatus, HokChannelStatus, HokClipStatus, HokCreditRole, HokEntitlementSource, HokEntitlementStatus, HokLegalCheckpointType, HokListKind, HokListVisibility, HokLocalizationKind, HokLocalizationStatus, HokModerationSeverity, HokModerationStatus, HokMonetizationMode, HokPlaybackEventType, HokProductionStatus, HokReviewStatus, HokRightsWindowStatus, HokRoyaltyComputationMethod, HokRoyaltyLedgerStatus, HokRoyaltyPayeeType, HokTitleStatus, HokTitleType, HokVerificationStatus, HokVerificationSubjectType, HokWatchPartyStatus, HousingVistaAnalyticsPeriod, HousingVistaMaintenancePriority, HousingVistaMaintenanceStatus, HousingVistaNlSearchMethod, HousingVistaOfferResponseAction, HousingVistaOfferStatus, HousingVistaPropertyStatus, HousingVistaPropertyType, HousingVistaRentalApplicationStatus, HousingVistaReraVerificationStatus, HousingVistaViewingStatus, HousingVistaViewingType, HttpMethod, IncidentStatus, IndexStatus, InstallMode, InstructionFilename, InstructionScope, IntAlertSeverity, IntAlertStatus, IntCaseStatus, IntClassification, IntConfidence, IntEntityType, IntFeedStatus, IntIndicatorType, IntMissionStatus, IntPriority, IntRelationshipType, IntReportStatus, IntReportType, IntRequirementStatus, IntSourceDiscipline, IntSourceStatus, IntTaskStatus, IntegrationEventStatus, IntegrationStatus, InventoryTransactionType, InvitationStatus, InviteStatus, InvoiceStatus, IssueTokenErrorCode, JobStatus, JoinGroupStatus, KadaikodiAddressType, KadaikodiClockAction, KadaikodiInvestmentStatus, KadaikodiLoyaltyTxnType, KadaikodiMembershipInterval, KadaikodiOfferingKind, KadaikodiOrderStatus, KadaikodiPaymentMethodType, KadaikodiPaymentStatus, KadaikodiProviderStatus, KadaikodiRiskLevel, KadaikodiServiceCategory, KadaikodiSubscriptionStatus, KadaikodiWorkerTaskStatus, KadaikodiWorkerTaskType, KeyResultMetricType, KeyResultStatus, KeyStatus, KeyType, KnowledgeArticleStatus, LabAgentRunStatus, LabAgentRunTrigger, LabBookingStatus, LabDatasetKind, LabDatasetStatus, LabExperimentStatus, LabInstrumentStatus, LabInventoryCategory, LabInventoryStatus, LabNotebookEntryStatus, LabPipelineRunStatus, LabProjectStatus, LabProjectVisibility, LabProtocolStatus, LabProvenanceEntityType, LabRunRecommendation, LabRunStatus, LabStepKind, LegalHoldStatus, LicenseMetricType, LicensePositionType, LocationType, LockType, LogAction, LogLevel, LogStreamEventType, LogStreamProvider, ManAssetStatus, ManCapaVerificationResult, ManChecklistItemResult, ManControlChartType, ManDowntimeReason, ManErpEntityType, ManErpProvider, ManErpSyncDirection, ManErpSyncStatus, ManInspectionResult, ManInspectionStage, ManItemType, ManLegalCheckpointType, ManMaintenanceStatus, ManMaintenanceType, ManMaintenanceWorkOrderEventType, ManMaterialLinkRole, ManMaterialLotEventType, ManMaterialLotReleaseDecision, ManMaterialLotStatus, ManMaterialSerialEventType, ManNonConformanceDisposition, ManNonConformanceEventType, ManNonConformanceLinkType, ManNonConformanceStatus, ManOperationStatus, ManPmState, ManProductionOrderStatus, ManProductionPriority, ManRoutingEventType, ManSeverity, ManTagSource, ManTrackingMode, ManWorkCenterType, McpConnectionStatus, McpResourceType, McpToolRiskLevel, McpToolStatus, MeetingActionItemStatus, MeetingOrderByField, MeetingParticipantRole, MeetingParticipantStatus, MeetingProvider, MeetingType, MemberPresenceStatus, MembershipRole, MembershipSource, MembershipStatus, MembershipType, MentionType, MeshSessionKind, MessageContentType, MessageReportResolutionAction, MessageReportStatus, MessageStatus, MessageType, MetadataValueType, MetricAggregationField, MetricType, MilestoneStatus, MisfirePolicy, Mood, MtwCarrierProvider, MtwCarrierServiceMode, MtwExportFormat, MtwFleetAlertSeverity, MtwFleetAlertSubjectType, MtwFleetAlertType, MtwIntegrationProvider, MybAiOperationStatus, MybAiOperationType, MybAiProvider, MybBodyMetricType, MybCoachingStatus, MybDeviceConnectionStatus, MybDeviceProvider, MybExportFormat, MybFitnessLevel, MybGoalStatus, MybGoalType, MybGuidanceAction, MybGuidanceSignal, MybLegalCheckpointType, MybLogSource, MybMealType, MybMuscleGroup, MybProgramPhase, MybProgramStatus, MybRecoveryMetric, MybSessionStatus, MybWearableMetricType, MybWorkoutType, NatsFilterType, NavigationMode, NodeConfigStatus, NodeStatus, NoteVisibility, NotificationLevel, ObjectiveStatus, OceanContainerType, OrderDirection, OverrideType, PackageKind, PageLayout, ParserStatus, ParserType, ParticipantChangeType, ParticipantRole, PhysicalAuditItemOutcome, PhysicalAuditStatus, PipelineExecutionStatus, PipelineStatus, PlanmagnetAgentRunStatus, PlanmagnetAgentRunTrigger, PlanmagnetAutomationExecutionStatus, PlanmagnetAutomationStatus, PlanmagnetAutomationTriggerType, PlanmagnetFeatureOrder, PlanmagnetImportFormat, PlanmagnetImportOutcome, PlanmagnetMilestoneOrder, PlanmagnetProjectStatus, PlanmagnetReleaseScope, PlanmagnetStatusCategory, PlanmagnetSyncDirection, PlanmagnetSyncProvider, PlanmagnetSyncStatus, PluginStatus, PolicyType, PomodoroGoalPeriod, PomodoroGoalType, PomodoroSessionOrderByField, PomodoroSessionType, PortfolioStatus, PresenceStatus, Priority, ProblemStatus, ProductType, ProjectMethodology, ProjectOrderField, ProjectStatus, PromptGenerationStatus, PromptPriority, PromptStatus, ProviderCategory, PswClientPortalUserStatus, PswClientStatus, PswClientType, PswComplianceStatus, PswComplianceType, PswConflictCheckStatus, PswDataSubjectRequestStatus, PswDataSubjectRequestType, PswDeliverableStatus, PswDocumentClassification, PswDocumentStatus, PswEngagementStatus, PswErasureRequestStatus, PswExportFormat, PswFeeArrangement, PswInvoiceStatus, PswLegalCheckpointType, PswMatterPriority, PswMatterStatus, PswMilestoneStatus, PswSignatureAuditEventType, PswSignatureRequestStatus, PswSignatureSignerStatus, PswSignatureType, PswTeamRole, PswTimeEntryStatus, PswTrustAccountStatus, PswTrustTransactionType, PswTrustTransferStatus, PublishType, QualityGateStatus, RbacChangeType, ReactionChangeType, RecordingMode, ReleaseStatus, ReminderChannel, ReminderType, ReportFormat, ReportScheduleStatus, ResourceBookingStatus, RetrievalMode, RiskSeverity, RiskStatus, RoadmapItemStatus, RoadmapPlanningFocus, RoadmapType, RoleLevel, RouteStatus, RoutingStrategy, RsvpStatus, RuleActionType, RuleConditionOperator, RuleMaterializationStrategy, RuleRunMode, RunLogLevel, RunLogStream, RunMode, RunStatus, RunTriggerType, SandboxChangeType, SandboxExportFormat, SandboxExportJobStatus, SandboxKind, SandboxMode, SandboxSource, SandboxStatus, SandboxTemplate, SchedulePriority, ScheduleType, ScorecardMetricDirection, ScorecardMetricStatus, ScorecardMetricType, ScorecardOwnerType, ScorecardTier, SecretProviderType, SecretShareKind, SecretShareScope, SecretShareStatus, SecretStatus, SecretType, SecurityComplianceStatus, SecurityEvidenceType, SecurityExportFormat, SecurityFindingCategory, SecurityFindingStatus, SecurityGovernancePolicyStatus, SecurityMemberEventAction, SecurityPolicyLevel, SecurityScanConclusion, SecurityScanStatus, SecuritySecretEventAction, SecuritySeverity, SecurityStage, SecuritySubscriptionEvent, SecurityVaultEventAction, SegmentVisibility, SemAggregation, SemConnectionHealth, SemConnectorKind, SemDataSourceStatus, SemDataType, SemEntityKind, SemModelStatus, SemPolicyEffect, SemPolicyScope, SemQueryRunStatus, SemQueryStatus, SemRelationshipKind, SessionExportFormat, SessionRecordingStatus, SessionRecordingStreamType, SessionSharePermission, SettingsCategory, ShareGrantStatus, ShareGrantVisibility, SharePermission, ShareRecipientType, ShareRole, ShareSortField, ShareStatus, ShareTokenType, ShipmentLegStatus, ShipmentStatus, SiemExportFormat, SignatureType, SmartCollectionConditionField, SmartCollectionConditionOperator, SmartCollectionOperator, SortDirection, SortOrder, SprintStatus, StageErrorHandling, StageExecutionStatus, StaticDataScope, StorageMode, StrategicAlignment, StressLevel, SubAgentKind, SubAgentStatus, SubAssetType, SubBenchmarkSourceKind, SubBillingInterval, SubChannelStatus, SubChannelType, SubDiscoverySource, SubEntitlementType, SubInvoiceStatus, SubMessageCategory, SubModerationAction, SubPaymentInstrumentStatus, SubPaymentInstrumentType, SubPolicyAction, SubProviderCategory, SubProviderStatus, SubRelationshipKind, SubRelationshipStatus, SubReportStatus, SubSubmissionStatus, SubWorkflowStatus, SubmissionStatus, SuggestedDataSourceType, SyncDirection, SyncFromGlobalOperation, SyncProvider, SystemEventType, TagCardinality, TagDataType, TagFilterOperator, TagRelationType, TagScope, TagsExportFormat, TargetType, TaskOrderField, TaskPriority, TaskStatus, TcpAccessLevel, TcpAgentRunStatus, TcpAgentRunTrigger, TcpAiGroundingKind, TcpAiReviewStatus, TcpAiUncertainty, TcpAiUseCase, TcpArchiveItemKind, TcpModerationStatus, TcpSourceType, TcpStoryFormat, TcpStoryStatus, TcpTopicCategory, TcpVerificationStatus, TecCertificateStatus, TecCourseLevel, TecCourseStatus, TecEnrollmentStatus, TecHackathonStatus, TecInterviewFrequency, TecLegalAcceptanceType, TecLessonKind, TecMentorStatus, TecPayoutStatus, TecPortfolioItemKind, TecProblemDifficulty, TecProblemStatus, TecSessionStatus, TecStudyPlanStatus, TecStudyPlanStepKind, TecStudyPlanStepStatus, TecSubmissionVerdict, TecTeamSubmissionStatus, TecTestCaseStatus, TecTestCaseVisibility, TemplateAuthorType, TemplateCategory, TemplateComplexity, TemplatePreview, TemplateStatus, TemplateVisibility, TemplatesPage, TheAssetKind, TheAssetStatus, TheCommodityType, TheComplianceCategory, TheComplianceStatus, TheContractSide, TheContractStatus, TheCorrectiveActionStatus, TheEmissionScope, TheEsgDisclosureStatus, TheEsgFramework, TheInventoryStatus, TheLegalCheckpointType, ThePricingBasis, TheReserveCategory, TheSafetyIncidentCategory, TheSafetyIncidentSeverity, TheSafetyIncidentStatus, TheShipmentStatus, TheTransportMode, TheUnit, ThemeProvider, TimeBucket, TimeCampusDataErasureStatus, TimeCampusExportFormat, TimeCampusFocusInterruptionSource, TimeCampusFocusProtectionLevel, TimeCampusFocusSessionStatus, TimeCampusInvoiceStatus, TimeCampusLifeDomain, TimeCampusOwnershipContext, TimeCampusProjectStatus, TimeCampusSortDirection, TimeCampusTimelineCategory, TimeCampusTimelineSource, TimeEntryOrderField, TimeEntryStatus, TimeGrain, TimeRange, TlsMode, ToolApprovalDecisionValue, ToolApprovalStatus, ToolApprovalTimeoutAction, ToolRiskLevel, TrackingEventType, TransportMode, TraversalDirection, TunnelDomainType, TunnelDomainVerificationStatus, TunnelEnvironment, TunnelProtocol, TunnelProviderKey, TunnelSessionStatus, TunnelShardStatus, TunnelStatus, UpdateScope, UploadStatus, UploadType, UsageStatus, ValidationMethod, VariableScope, VaultIncidentSeverity, VaultIncidentStatus, VaultMemberRole, VaultRotationStatus, VaultScope, VaultSecurityEventSeverity, VaultSecurityEventType, VaultStatus, VaultSyncStatus, VehicleStatus, VehicleType, VersionStatus, VibeAuditAction, VibeAuditExportFormat, VibeAuditResourceType, VibeAuditStatus, VibeCalendarExecutionStatus, VibeCalendarTaskStatus, VibeDeckButtonActionType, VibeDeckSharePermission, VibeDeckShareStatus, VibeDeckShareVisibility, VibeEntityType, VibeLlmContextTokenStatus, VibeStatus, VibeType, VibeVisibility, VibecontrolsActionType, VibecontrolsAgentVisibility, VibecontrolsDocsBuildImagePullPolicy, VibecontrolsDocsBuildImageScanStatus, VibecontrolsDocsBuildImageStatus, VibecontrolsDocsBuildRuntime, VibecontrolsDocsPageStatus, VibecontrolsDocsProvider, VibecontrolsDocsRevisionStatus, VibecontrolsDocsSiteOwnerType, VibecontrolsDocsSiteVisibility, VibecontrolsGitHubRepoScope, VibecontrolsGitHubRepoVisibility, VibecontrolsSessionStatus, VibecontrolsSessionType, VibecontrolsTemplateCategory, VibecontrolsTemplateStatus, Visibility, VisibilityType, VocabularyKind, VocabularyScope, WarehouseType, WebhookAuthType, WidgetConfidence, WidgetRenderer, WidgetType, WorkItemLinkRelation, WorkItemPriority, WorkItemStatus, WorkItemType, WorkOrderStatus, WorkOrderType, WorkPatternInsightType, WorkflowDiffKind, WorkflowStatus, WorkspaceInviteStatus, WorkspaceLegalCheckpointType, WorkspaceQuotaMode, WorkspaceResourceStatus, WorkspaceResourceType, WorkspaceStatus, WorkspaceType, WorkspacesExportFormat, extractTemplateGraph };
|
|
9833
|
-
//# sourceMappingURL=chunk-
|
|
9834
|
-
//# sourceMappingURL=chunk-
|
|
9876
|
+
export { A2AMessagePriority, A2AMessageStatus, A2ATrustLevel, ActionExecutionStatus, ActionSourceType, ActionStatus, ActionStyle, ActionTriggerType, ActionType, ActivityCategory, ActivityType, ActorType, AdaAdapterKind, AdaAdapterStatus, AdaAuthMethod, AdaConnectionStatus, AdaDataSubjectRequestStatus, AdaDataSubjectRequestType, AdaDataSubjectRetentionRule, AdaDriftStatus, AdaEdgeKind, AdaLegalCheckpointType, AdaPolicyEnforcement, AdaPolicyKind, AdaResourceState, AdaSeverity, AdaSyncKind, AdaSyncStatus, AdaViolationStatus, AgentCapabilityScope, AgentVisibility, AiContextStatus, AiContextType, AiPredictionStatus, AiPromptCategory, AiPromptStatus, AlertSeverity, AnalyticsEntityType, AnalyticsEventSeverity, AnalyticsGranularity, AnalyticsInsightSeverity, AnomalyDetectionMethod, AnomalyDirection, AppCategory, AppInstallationState, AppPermission, AppStatus, AppType, AppVisibility, ApprovalStatus, ArtAnchorType, ArtApprovalDecision, ArtAssetKind, ArtFeedbackStatus, ArtLicenseModel, ArtLicenseStatus, ArtMedium, ArtProductionRole, ArtProductionStatus, ArtReleaseStatus, ArtReviewStatus, ArtVisibility, ArtWorkStatus, ArtifactType, AssetAssignmentStatus, AssetBudgetStatus, AssetCondition, AssetDeadlineAlertKind, AssetDeadlineAlertStatus, AssetDepreciationMethod, AssetMeterUnit, AssetStatus, AssetTransactionStatus, AssetTransactionType, AssignmentSource, AssistantHistoryDeleteOutcome, AssistantHistoryEntryKind, AssistantHistoryRole, AssistantHistorySaveOutcome, AssistantMessageRole, AssistantRelayGateway, AthAgentRunStatus, AthAgentRunTrigger, AthAiAssessment, AthAvailabilityResponse, AthFixtureStatus, AthFixtureType, AthMemberRole, AthMemberStatus, AthMetricType, AthProgramLevel, AthProgramStatus, AthSessionStatus, AthSessionType, AthSport, AthTeamStatus, AthWorkoutStatus, AttendeeRole, AuthMethodFlow, AuthType, AuthorType, BackoffStrategy, BatchDownloadStatus, BigConsoleConflictResolution, BillingPlan, BillingType, BoardColumnType, BoardType, BookingFormFieldType, BookingPageType, BookingStatus, BotAppStatus, BotAppType, BotAppVisibility, BotlitAgentCapability, BotlitAgentStatus, BotlitAgentType, BotlitHealthStatus, BotlitLlmProviderType, BraAccountStatus, BraAccountType, BraAdvisorRole, BraAdvisorStatus, BraAggregationLinkStatus, BraAggregationProvider, BraAssetClass, BraGoalProjection, BraGoalStatus, BraGoalType, BraHouseholdStatus, BraInsightSeverity, BraInsightStatus, BraInsightType, BraPortfolioStatus, BraRebalanceStatus, BraRecurringCategory, BraRecurringFrequency, BraReportFrequency, BraReportRunStatus, BraRiskProfile, BraRiskSignalKind, BraScheduledReportStatus, BraTradeInstructionAction, BraTradeInstructionSource, BraTradeInstructionStatus, BraTransactionType, BudgetStatus, BuiAdminCopilotRole, BuiAiSuggestionOutcome, BuiAssessmentStatus, BuiAssessmentType, BuiCertificateStatus, BuiCertificationBody, BuiCohortStatus, BuiCourseLevel, BuiCourseStatus, BuiEnrollmentStatus, BuiLessonType, BuiLtiGradeSyncStatus, BuiLtiMessageType, BuiLtiRosterMemberStatus, BuiPacingHint, BuiProctoringDecision, BuiProctoringStatus, BuiProgressStatus, BuiQuestionType, BuiSkillCategory, BuiSkillStandardSource, BuiSubmissionStatus, BuiTutorAdaptiveLevel, BuiTutorMessageRole, BulkConversationAction, CalendarEventStatus, CalendarExecutionStatus, CalendarExportFormat, CalendarPromptStatus, CalendarResourceType, CalendarType, CallParticipantChangeType, CallState, CallType, CatalogVisibility, ChangeRisk, ChangeStatus, ChannelMessageStatus, ChannelPlatform, ChannelType, ChatRole, CheckInStatus, ChunkingMethod, CircuitState, CohortType, ColAssistantSuggestionKind, ColAssistantSuggestionStatus, ColCertainty, ColEventType, ColGender, ColGuardianRequestDecision, ColGuardianRequestStatus, ColGuardianRequestTargetKind, ColGuardianRequestType, ColKeepsakeBookStatus, ColLifeStatus, ColMemberRole, ColMembershipStatus, ColMemoryKind, ColPromptCategory, ColPromptRelationshipType, ColRelationshipType, ColStoryFormat, ColTreeStatus, ColVisibility, CollaboratorRole, CollectionActivityType, CollectionItemSortField, CollectionSortField, CollectionType, CollectionVisibility, ComBillingInterval, ComChannelType, ComChannelVisibility, ComCircleStatus, ComCircleVisibility, ComDevicePlatform, ComDigitalProductType, ComEventMode, ComEventStatus, ComExportFormat, ComFollowTargetType, ComLiveStreamStatus, ComMemberRole, ComMembershipStatus, ComModerationCategory, ComModerationReviewDecision, ComModerationTargetType, ComModerationVerdictType, ComMonetizationStatus, ComPaidEventStatus, ComPollStatus, ComPostStatus, ComPresence, ComReactionTargetType, ComReactionType, ComReportStatus, ComReportTargetType, ComRsvpStatus, ComTipIntentStatus, ComVoiceSessionStatus, ComVoiceSignalType, CommentExportFormat, CommentScheduleType, CommentStatus, CommentVisibility, ComparisonOperator, ComponentLifecycle, ComponentType, ConfigScope, ConflictResolution, ConnectionCredentialSource, ConnectionQuality, ConnectionStatus, ConsultationConsultantType, ConsultationStatus, ContentSearchEngine, ContentSearchStatus, ContentType, ConversationPermission, ConversationSortField, ConversationState, ConversationType, ConversationVisibility, ConversationsExportFormat, CooBrandStatus, CooCollaborationStatus, CooCollaboratorRole, CooCollectionStatus, CooLegalCheckpointType, CooLookOccasion, CooSeason, CooStyleCategory, CooStyleItemStatus, CooVisibility, CooWardrobeSource, CosAccessLevel, CosAnalysisStatus, CosDatasetStatus, CosDoiState, CosExternalRegistryMode, CosFieldType, CosGrantStatus, CosNotebookStatus, CosPipelineStatus, CosPipelineTrigger, CosReleaseStatus, CosRunStatus, CosSourceStatus, CosSourceType, CosStepKind, CosZenodoMirrorStatus, CrewPayrollCountry, CrewPayrollRunStatus, CrewfoundryExportFormat, CustomFieldType, DashboardCategory, DashboardEmbedAccessMode, DashboardEmbedPolicyStatus, DashboardEmbedTheme, DashboardLayout, DashboardSortField, DashboardStatus, DashboardStyleType, DashboardVisibility, DataClassification, DataSinkRefreshType, DataSinkSetupState, DataSinkSourceType, DataSinkStatus, DataSinkUpdateEventType, DataSourceTestStatus, DataSourceType, DataTableColumnType, DataTableFilterOp, DayOfWeek, DeliveryChannelType, DeliveryJobStatus, DeliveryPriority, DemandForecastScope, DependencyStatus, DependencyType, DeploymentEnvironment, DeploymentStatus, DiscoveryJobStatus, DlqStatus, DocStatus, DocumentStatus, DriverStatus, EcoCarbonEntryStatus, EcoConservationStatus, EcoDataSourceType, EcoEmissionScope, EcoHabitatProjectStatus, EcoIngestionJobStatus, EcoIngestionRecordType, EcoMeasurementSource, EcoObservationMethod, EcoReductionTargetStatus, EcoReportFramework, EcoReportStatus, EcoRestorationActivityType, EcoSensorKind, EcoSensorStatus, EcoSiteStatus, EcoSiteType, EcoTaxonGroup, EcoThresholdDirection, EcoThresholdSeverity, EmbedContentReviewState, EncryptionAlgorithm, EnergyLevel, EntityStatus, ErrorType, EventStatus, EventType, EventValidationStatus, EventVisibility, EventfullyManagedIntegrationConnectorStatus, EventfullyManagedIntegrationProvider, EventfullyManagedIntegrationSyncRunStatus, EventfullyManagedVirtualParticipantRole, EventfullyManagedVirtualSessionMode, EventfullyManagedVirtualSessionStatus, EventfullyManagedVirtualSignalType, ExecutionStatus, ExecutionType, ExecutorType, ExpenseOrderByField, ExpenseStatus, ExportArchiveFormat, ExportFormat, ExportJobStatus, ExportScope, ExportSortField, ExternalCalendarSyncDirection, ExternalCalendarSyncStatus, ExternalProviderType, FeatureRequestStatus, FieldMaskStrategy, FileEventType, FileMetadataSortField, FileShareAccessLevel, FileShareType, FileSortField, FileStatus, FileVisibility, FilterDataType, FilterOperator, FilterType, FluidGridsEventType, FluidGridsWorkflowStatus, FolderSortField, FolderStatus, FuelType, FunnelStepOrder, GeneratedLayoutType, GenerationStatus, GeofenceEventType, GeofenceTrigger, GgnomadAccessibilityFeature, GgnomadApprovalStatus, GgnomadBookingStatus, GgnomadBookingType, GgnomadCartStatus, GgnomadChannelSyncDirection, GgnomadChannelSyncStatus, GgnomadClaimStatus, GgnomadExportFormat, GgnomadGroupTripSplitMethod, GgnomadGroupTripVoteChoice, GgnomadListingStatus, GgnomadListingType, GgnomadLoyaltyTransactionType, GgnomadPrivateRequestAction, GgnomadPrivateRequestStatus, GgnomadPushPlatform, GgnomadSustainabilityPractice, GgnomadTicketStatus, GgnomadTripPlanItemType, GovAgentRunStatus, GovAgentRunTrigger, GovApplicationStatus, GovAssetCategory, GovAssetOperator, GovAssetStatus, GovBenchmarkScope, GovBudgetCategory, GovBudgetLineKind, GovBudgetStatus, GovCaseEscalationKind, GovCaseEscalationStatus, GovCaseNoteType, GovCasePriority, GovCommitmentStatus, GovConsultationStatus, GovConsultationType, GovDataLicense, GovDatasetFormat, GovDatasetStatus, GovDocumentStatus, GovElectionStatus, GovElectionType, GovEventCategory, GovEventImpact, GovFeeType, GovFundingSource, GovGrievanceStatus, GovIndicatorDirection, GovIndicatorDomain, GovIndicatorPeriodicity, GovIndicatorValueType, GovInsightKind, GovInsightSeverity, GovIntelEntityType, GovJurisdictionStatus, GovMilestoneStatus, GovOfficeType, GovPaymentStatus, GovPermitStatus, GovProjectStatus, GovProposalStatus, GovSentiment, GovServiceCategory, GovServiceStatus, GovTrendDirection, GovVerificationStatus, GraphMetadataOperator, GraphSearchMode, GraphSearchSortBy, GroupCompositionMode, GroupExportFormat, GroupScope, GroupSortField, GroupStatus, GroupType, GroupVisibility, GroupsExportFormat, GrowLocationType, HeadshotmarketingAdCampaignStatus, HeadshotmarketingAdConnectionMode, HeadshotmarketingAdConnectionStatus, HeadshotmarketingAdCreativeStatus, HeadshotmarketingAdCreativeType, HeadshotmarketingAdPlatform, HeadshotmarketingAdSyncStatus, HeadshotmarketingAgentActionStatus, HeadshotmarketingAgentMessageRole, HeadshotmarketingAiToolCategory, HeadshotmarketingAiToolExecutionStatus, HeadshotmarketingAssetType, HeadshotmarketingAttributionConversionType, HeadshotmarketingAttributionModel, HeadshotmarketingAutomationRunStatus, HeadshotmarketingAutomationStepLogStatus, HeadshotmarketingAutomationSubjectType, HeadshotmarketingAutomationTriggerType, HeadshotmarketingAutomationWorkflowStatus, HeadshotmarketingCampaignStatus, HeadshotmarketingCampaignType, HeadshotmarketingContactStatus, HeadshotmarketingContentItemStatus, HeadshotmarketingContentItemType, HeadshotmarketingCulturalCategory, HeadshotmarketingCulturalRegion, HeadshotmarketingDealStatus, HeadshotmarketingEventRegistrationStatus, HeadshotmarketingEventStatus, HeadshotmarketingEventType, HeadshotmarketingExportFormat, HeadshotmarketingInfluencerCampaignStatus, HeadshotmarketingInfluencerRelationshipStatus, HeadshotmarketingInfluencerTier, HeadshotmarketingIntegrationCategory, HeadshotmarketingIntegrationConnectionType, HeadshotmarketingIntegrationListingStatus, HeadshotmarketingLandingPageSectionType, HeadshotmarketingLandingPageStatus, HeadshotmarketingLeadSource, HeadshotmarketingLeadStatus, HeadshotmarketingSeoAuditSeverity, HeadshotmarketingSeoAuditStatus, HeadshotmarketingSeoKeywordStatus, HeadshotmarketingSocialAccountDeliveryMode, HeadshotmarketingSocialAccountStatus, HeadshotmarketingSocialMentionSentiment, HeadshotmarketingSocialMentionStatus, HeadshotmarketingSocialMentionType, HeadshotmarketingSocialPlatform, HeadshotmarketingSocialPostStatus, HeadshotmarketingTouchpointType, HeadshotmarketingTranslationStatus, HeadshotmarketingWorkspaceIntegrationStatus, HealthyBowlAdvisoryTaskStatus, HealthyBowlConsultantAssignmentScope, HealthyBowlFarmRecommendationPriority, HealthyBowlFarmRecommendationStatus, HealthyBowlFinancierGrantScope, HealthyBowlGeneratableReportType, HealthyBowlGrowthGranularity, HealthyBowlPaddockState, HealthyBowlTaggableType, HokApplicationStatus, HokAuditionStatus, HokChannelStatus, HokClipStatus, HokCreditRole, HokEntitlementSource, HokEntitlementStatus, HokLegalCheckpointType, HokListKind, HokListVisibility, HokLocalizationKind, HokLocalizationStatus, HokModerationSeverity, HokModerationStatus, HokMonetizationMode, HokPlaybackEventType, HokProductionStatus, HokReviewStatus, HokRightsWindowStatus, HokRoyaltyComputationMethod, HokRoyaltyLedgerStatus, HokRoyaltyPayeeType, HokTitleStatus, HokTitleType, HokVerificationStatus, HokVerificationSubjectType, HokWatchPartyStatus, HousingVistaAnalyticsPeriod, HousingVistaMaintenancePriority, HousingVistaMaintenanceStatus, HousingVistaNlSearchMethod, HousingVistaOfferResponseAction, HousingVistaOfferStatus, HousingVistaPropertyStatus, HousingVistaPropertyType, HousingVistaRentalApplicationStatus, HousingVistaReraVerificationStatus, HousingVistaViewingStatus, HousingVistaViewingType, HttpMethod, IncidentStatus, IndexStatus, InstallMode, InstructionFilename, InstructionScope, IntAlertSeverity, IntAlertStatus, IntCaseStatus, IntClassification, IntConfidence, IntEntityType, IntFeedStatus, IntIndicatorType, IntMissionStatus, IntPriority, IntRelationshipType, IntReportStatus, IntReportType, IntRequirementStatus, IntSourceDiscipline, IntSourceStatus, IntTaskStatus, IntegrationEventStatus, IntegrationStatus, InventoryTransactionType, InvitationStatus, InviteStatus, InvoiceStatus, IssueTokenErrorCode, JobStatus, JoinGroupStatus, KadaikodiAddressType, KadaikodiClockAction, KadaikodiInvestmentStatus, KadaikodiLoyaltyTxnType, KadaikodiMembershipInterval, KadaikodiOfferingKind, KadaikodiOrderStatus, KadaikodiPaymentMethodType, KadaikodiPaymentStatus, KadaikodiProviderStatus, KadaikodiRiskLevel, KadaikodiServiceCategory, KadaikodiSubscriptionStatus, KadaikodiWorkerTaskStatus, KadaikodiWorkerTaskType, KeyResultMetricType, KeyResultStatus, KeyStatus, KeyType, KnowledgeArticleStatus, LabAgentRunStatus, LabAgentRunTrigger, LabBookingStatus, LabDatasetKind, LabDatasetStatus, LabExperimentStatus, LabInstrumentStatus, LabInventoryCategory, LabInventoryStatus, LabNotebookEntryStatus, LabPipelineRunStatus, LabProjectStatus, LabProjectVisibility, LabProtocolStatus, LabProvenanceEntityType, LabRunRecommendation, LabRunStatus, LabStepKind, LegalHoldStatus, LicenseMetricType, LicensePositionType, LocationType, LockType, LogAction, LogLevel, LogStreamEventType, LogStreamProvider, ManAssetStatus, ManCapaVerificationResult, ManChecklistItemResult, ManControlChartType, ManDowntimeReason, ManErpEntityType, ManErpProvider, ManErpSyncDirection, ManErpSyncStatus, ManInspectionResult, ManInspectionStage, ManItemType, ManLegalCheckpointType, ManMaintenanceStatus, ManMaintenanceType, ManMaintenanceWorkOrderEventType, ManMaterialLinkRole, ManMaterialLotEventType, ManMaterialLotReleaseDecision, ManMaterialLotStatus, ManMaterialSerialEventType, ManNonConformanceDisposition, ManNonConformanceEventType, ManNonConformanceLinkType, ManNonConformanceStatus, ManOperationStatus, ManPmState, ManProductionOrderStatus, ManProductionPriority, ManRoutingEventType, ManSeverity, ManTagSource, ManTrackingMode, ManWorkCenterType, McpConnectionStatus, McpResourceType, McpToolRiskLevel, McpToolStatus, MeetingActionItemStatus, MeetingOrderByField, MeetingParticipantRole, MeetingParticipantStatus, MeetingProvider, MeetingType, MemberPresenceStatus, MembershipRole, MembershipSource, MembershipStatus, MembershipType, MentionType, MeshSessionKind, MessageContentType, MessageReportResolutionAction, MessageReportStatus, MessageStatus, MessageType, MetadataValueType, MetricAggregationField, MetricType, MilestoneStatus, MisfirePolicy, Mood, MtwCarrierProvider, MtwCarrierServiceMode, MtwExportFormat, MtwFleetAlertSeverity, MtwFleetAlertSubjectType, MtwFleetAlertType, MtwIntegrationProvider, MybAiOperationStatus, MybAiOperationType, MybAiProvider, MybBodyMetricType, MybCoachingStatus, MybDeviceConnectionStatus, MybDeviceProvider, MybExportFormat, MybFitnessLevel, MybGoalStatus, MybGoalType, MybGuidanceAction, MybGuidanceSignal, MybLegalCheckpointType, MybLogSource, MybMealType, MybMuscleGroup, MybProgramPhase, MybProgramStatus, MybRecoveryMetric, MybSessionStatus, MybWearableMetricType, MybWorkoutType, NatsFilterType, NavigationMode, NodeConfigStatus, NodeStatus, NoteVisibility, NotificationLevel, ObjectiveStatus, OceanContainerType, OrderDirection, OverrideType, PackageKind, PageLayout, ParserStatus, ParserType, ParticipantChangeType, ParticipantRole, PhysicalAuditItemOutcome, PhysicalAuditStatus, PipelineExecutionStatus, PipelineStatus, PlanmagnetAgentRunStatus, PlanmagnetAgentRunTrigger, PlanmagnetAutomationExecutionStatus, PlanmagnetAutomationStatus, PlanmagnetAutomationTriggerType, PlanmagnetDueGroup, PlanmagnetFeatureOrder, PlanmagnetImportFormat, PlanmagnetImportOutcome, PlanmagnetMilestoneOrder, PlanmagnetProductLifecycleStage, PlanmagnetProjectStatus, PlanmagnetReleaseScope, PlanmagnetSprintScope, PlanmagnetStatusCategory, PlanmagnetSyncDirection, PlanmagnetSyncProvider, PlanmagnetSyncStatus, PlanmagnetThroughputBucket, PluginStatus, PolicyType, PomodoroGoalPeriod, PomodoroGoalType, PomodoroSessionOrderByField, PomodoroSessionType, PortfolioStatus, PresenceStatus, Priority, ProblemStatus, ProductType, ProjectMethodology, ProjectOrderField, ProjectStatus, PromptGenerationStatus, PromptPriority, PromptStatus, ProviderCategory, PswClientPortalUserStatus, PswClientStatus, PswClientType, PswComplianceStatus, PswComplianceType, PswConflictCheckStatus, PswDataSubjectRequestStatus, PswDataSubjectRequestType, PswDeliverableStatus, PswDocumentClassification, PswDocumentStatus, PswEngagementStatus, PswErasureRequestStatus, PswExportFormat, PswFeeArrangement, PswInvoiceStatus, PswLegalCheckpointType, PswMatterPriority, PswMatterStatus, PswMilestoneStatus, PswSignatureAuditEventType, PswSignatureRequestStatus, PswSignatureSignerStatus, PswSignatureType, PswTeamRole, PswTimeEntryStatus, PswTrustAccountStatus, PswTrustTransactionType, PswTrustTransferStatus, PublishType, QualityGateStatus, RbacChangeType, ReactionChangeType, RecordingMode, ReleaseStatus, ReminderChannel, ReminderType, ReportFormat, ReportScheduleStatus, ResourceBookingStatus, RetrievalMode, RiskSeverity, RiskStatus, RoadmapItemStatus, RoadmapPlanningFocus, RoadmapType, RoleLevel, RouteStatus, RoutingStrategy, RsvpStatus, RuleActionType, RuleConditionOperator, RuleMaterializationStrategy, RuleRunMode, RunLogLevel, RunLogStream, RunMode, RunStatus, RunTriggerType, SandboxAssistantMode, SandboxAssistantWriteApproval, SandboxChangeType, SandboxExportFormat, SandboxExportJobStatus, SandboxKind, SandboxMode, SandboxSource, SandboxStatus, SandboxTemplate, SchedulePriority, ScheduleType, ScorecardMetricDirection, ScorecardMetricStatus, ScorecardMetricType, ScorecardOwnerType, ScorecardTier, SecretProviderType, SecretShareKind, SecretShareScope, SecretShareStatus, SecretStatus, SecretType, SecurityComplianceStatus, SecurityEvidenceType, SecurityExportFormat, SecurityFindingCategory, SecurityFindingStatus, SecurityGovernancePolicyStatus, SecurityMemberEventAction, SecurityPolicyLevel, SecurityScanConclusion, SecurityScanStatus, SecuritySecretEventAction, SecuritySeverity, SecurityStage, SecuritySubscriptionEvent, SecurityVaultEventAction, SegmentVisibility, SemAggregation, SemConnectionHealth, SemConnectorKind, SemDataSourceStatus, SemDataType, SemEntityKind, SemModelStatus, SemPolicyEffect, SemPolicyScope, SemQueryRunStatus, SemQueryStatus, SemRelationshipKind, SessionExportFormat, SessionRecordingStatus, SessionRecordingStreamType, SessionSharePermission, SettingsCategory, ShareGrantStatus, ShareGrantVisibility, SharePermission, ShareRecipientType, ShareRole, ShareSortField, ShareStatus, ShareTokenType, ShipmentLegStatus, ShipmentStatus, SiemExportFormat, SignatureType, SmartCollectionConditionField, SmartCollectionConditionOperator, SmartCollectionOperator, SortDirection, SortOrder, SprintStatus, StageErrorHandling, StageExecutionStatus, StaticDataScope, StorageMode, StrategicAlignment, StressLevel, SubAgentKind, SubAgentStatus, SubAssetType, SubBenchmarkSourceKind, SubBillingInterval, SubChannelStatus, SubChannelType, SubDiscoverySource, SubEntitlementType, SubInvoiceStatus, SubMessageCategory, SubModerationAction, SubPaymentInstrumentStatus, SubPaymentInstrumentType, SubPolicyAction, SubProviderCategory, SubProviderStatus, SubRelationshipKind, SubRelationshipStatus, SubReportStatus, SubSubmissionStatus, SubWorkflowStatus, SubmissionStatus, SuggestedDataSourceType, SyncDirection, SyncFromGlobalOperation, SyncProvider, SystemEventType, TagCardinality, TagDataType, TagFilterOperator, TagRelationType, TagScope, TagsExportFormat, TargetType, TaskOrderField, TaskPriority, TaskStatus, TcpAccessLevel, TcpAgentRunStatus, TcpAgentRunTrigger, TcpAiGroundingKind, TcpAiReviewStatus, TcpAiUncertainty, TcpAiUseCase, TcpArchiveItemKind, TcpModerationStatus, TcpSourceType, TcpStoryFormat, TcpStoryStatus, TcpTopicCategory, TcpVerificationStatus, TecCertificateStatus, TecCourseLevel, TecCourseStatus, TecEnrollmentStatus, TecHackathonStatus, TecInterviewFrequency, TecLegalAcceptanceType, TecLessonKind, TecMentorStatus, TecPayoutStatus, TecPortfolioItemKind, TecProblemDifficulty, TecProblemStatus, TecSessionStatus, TecStudyPlanStatus, TecStudyPlanStepKind, TecStudyPlanStepStatus, TecSubmissionVerdict, TecTeamSubmissionStatus, TecTestCaseStatus, TecTestCaseVisibility, TemplateAuthorType, TemplateCategory, TemplateComplexity, TemplatePreview, TemplateStatus, TemplateVisibility, TemplatesPage, TheAssetKind, TheAssetStatus, TheCommodityType, TheComplianceCategory, TheComplianceStatus, TheContractSide, TheContractStatus, TheCorrectiveActionStatus, TheEmissionScope, TheEsgDisclosureStatus, TheEsgFramework, TheInventoryStatus, TheLegalCheckpointType, ThePricingBasis, TheReserveCategory, TheSafetyIncidentCategory, TheSafetyIncidentSeverity, TheSafetyIncidentStatus, TheShipmentStatus, TheTransportMode, TheUnit, ThemeProvider, TimeBucket, TimeCampusDataErasureStatus, TimeCampusExportFormat, TimeCampusFocusInterruptionSource, TimeCampusFocusProtectionLevel, TimeCampusFocusSessionStatus, TimeCampusInvoiceStatus, TimeCampusLifeDomain, TimeCampusOwnershipContext, TimeCampusProjectStatus, TimeCampusSortDirection, TimeCampusTimelineCategory, TimeCampusTimelineSource, TimeEntryOrderField, TimeEntryStatus, TimeGrain, TimeRange, TlsMode, ToolApprovalDecisionValue, ToolApprovalStatus, ToolApprovalTimeoutAction, ToolRiskLevel, TrackingEventType, TransportMode, TraversalDirection, TunnelDomainType, TunnelDomainVerificationStatus, TunnelEnvironment, TunnelProtocol, TunnelProviderKey, TunnelSessionStatus, TunnelShardStatus, TunnelStatus, UpdateScope, UploadStatus, UploadType, UsageStatus, ValidationMethod, VariableScope, VaultIncidentSeverity, VaultIncidentStatus, VaultMemberRole, VaultRotationStatus, VaultScope, VaultSecurityEventSeverity, VaultSecurityEventType, VaultStatus, VaultSyncStatus, VehicleStatus, VehicleType, VersionStatus, VibeAuditAction, VibeAuditExportFormat, VibeAuditResourceType, VibeAuditStatus, VibeCalendarExecutionStatus, VibeCalendarTaskStatus, VibeDeckButtonActionType, VibeDeckSharePermission, VibeDeckShareStatus, VibeDeckShareVisibility, VibeEntityType, VibeLlmContextTokenStatus, VibeStatus, VibeType, VibeVisibility, VibecontrolsActionType, VibecontrolsAgentVisibility, VibecontrolsDocsBuildImagePullPolicy, VibecontrolsDocsBuildImageScanStatus, VibecontrolsDocsBuildImageStatus, VibecontrolsDocsBuildRuntime, VibecontrolsDocsPageStatus, VibecontrolsDocsProvider, VibecontrolsDocsRevisionStatus, VibecontrolsDocsSiteOwnerType, VibecontrolsDocsSiteVisibility, VibecontrolsGitHubRepoScope, VibecontrolsGitHubRepoVisibility, VibecontrolsSessionStatus, VibecontrolsSessionType, VibecontrolsTemplateCategory, VibecontrolsTemplateStatus, Visibility, VisibilityType, VocabularyKind, VocabularyScope, WarehouseType, WebhookAuthType, WidgetConfidence, WidgetRenderer, WidgetType, WorkItemLinkRelation, WorkItemPriority, WorkItemStatus, WorkItemType, WorkOrderStatus, WorkOrderType, WorkPatternInsightType, WorkflowDiffKind, WorkflowStatus, WorkspaceInviteStatus, WorkspaceLegalCheckpointType, WorkspaceQuotaMode, WorkspaceResourceStatus, WorkspaceResourceType, WorkspaceStatus, WorkspaceType, WorkspacesExportFormat, extractTemplateGraph };
|
|
9877
|
+
//# sourceMappingURL=chunk-C4YEGUY2.js.map
|
|
9878
|
+
//# sourceMappingURL=chunk-C4YEGUY2.js.map
|