@stigmer/react 3.0.7 → 3.0.8-dev.20260612062921
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/access/ManageAccessButton.d.ts +47 -0
- package/access/ManageAccessButton.d.ts.map +1 -0
- package/access/ManageAccessButton.js +45 -0
- package/access/ManageAccessButton.js.map +1 -0
- package/access/ManageAccessDialog.d.ts +60 -0
- package/access/ManageAccessDialog.d.ts.map +1 -0
- package/access/ManageAccessDialog.js +83 -0
- package/access/ManageAccessDialog.js.map +1 -0
- package/access/index.d.ts +5 -0
- package/access/index.d.ts.map +1 -0
- package/access/index.js +7 -0
- package/access/index.js.map +1 -0
- package/access/types.d.ts +56 -0
- package/access/types.d.ts.map +1 -0
- package/access/types.js +2 -0
- package/access/types.js.map +1 -0
- package/access/useManageAccess.d.ts +60 -0
- package/access/useManageAccess.d.ts.map +1 -0
- package/access/useManageAccess.js +41 -0
- package/access/useManageAccess.js.map +1 -0
- package/agent/AgentDetailView.d.ts.map +1 -1
- package/agent/AgentDetailView.js +34 -4
- package/agent/AgentDetailView.js.map +1 -1
- package/agent-instance/AgentInstanceDetailPanel.d.ts.map +1 -1
- package/agent-instance/AgentInstanceDetailPanel.js +14 -4
- package/agent-instance/AgentInstanceDetailPanel.js.map +1 -1
- package/iam-policy/GrantAccessForm.d.ts +15 -5
- package/iam-policy/GrantAccessForm.d.ts.map +1 -1
- package/iam-policy/GrantAccessForm.js +15 -12
- package/iam-policy/GrantAccessForm.js.map +1 -1
- package/iam-policy/OrgMembersPanel.d.ts.map +1 -1
- package/iam-policy/OrgMembersPanel.js +2 -1
- package/iam-policy/OrgMembersPanel.js.map +1 -1
- package/iam-policy/PeopleWithAccess.d.ts +34 -0
- package/iam-policy/PeopleWithAccess.d.ts.map +1 -0
- package/iam-policy/PeopleWithAccess.js +55 -0
- package/iam-policy/PeopleWithAccess.js.map +1 -0
- package/iam-policy/PrincipalPicker.d.ts +48 -0
- package/iam-policy/PrincipalPicker.d.ts.map +1 -0
- package/iam-policy/PrincipalPicker.js +139 -0
- package/iam-policy/PrincipalPicker.js.map +1 -0
- package/iam-policy/ProviderBadge.d.ts +28 -0
- package/iam-policy/ProviderBadge.d.ts.map +1 -0
- package/iam-policy/ProviderBadge.js +31 -0
- package/iam-policy/ProviderBadge.js.map +1 -0
- package/iam-policy/SharePanel.d.ts +13 -5
- package/iam-policy/SharePanel.d.ts.map +1 -1
- package/iam-policy/SharePanel.js +9 -34
- package/iam-policy/SharePanel.js.map +1 -1
- package/iam-policy/index.d.ts +3 -0
- package/iam-policy/index.d.ts.map +1 -1
- package/iam-policy/index.js +3 -0
- package/iam-policy/index.js.map +1 -1
- package/index.d.ts +7 -5
- package/index.d.ts.map +1 -1
- package/index.js +6 -3
- package/index.js.map +1 -1
- package/mcp-server/McpServerDetailView.d.ts.map +1 -1
- package/mcp-server/McpServerDetailView.js +41 -12
- package/mcp-server/McpServerDetailView.js.map +1 -1
- package/organization/OrgProvider.d.ts +9 -0
- package/organization/OrgProvider.d.ts.map +1 -1
- package/organization/OrgProvider.js +12 -0
- package/organization/OrgProvider.js.map +1 -1
- package/organization/index.d.ts +1 -1
- package/organization/index.d.ts.map +1 -1
- package/organization/index.js +1 -1
- package/organization/index.js.map +1 -1
- package/package.json +12 -12
- package/skill/SkillDetailView.d.ts.map +1 -1
- package/skill/SkillDetailView.js +31 -3
- package/skill/SkillDetailView.js.map +1 -1
- package/src/access/ManageAccessButton.tsx +115 -0
- package/src/access/ManageAccessDialog.tsx +239 -0
- package/src/access/__tests__/ManageAccessButton.test.tsx +62 -0
- package/src/access/__tests__/ManageAccessDialog.test.tsx +146 -0
- package/src/access/index.ts +21 -0
- package/src/access/types.ts +58 -0
- package/src/access/useManageAccess.tsx +101 -0
- package/src/agent/AgentDetailView.tsx +50 -21
- package/src/agent-instance/AgentInstanceDetailPanel.tsx +24 -42
- package/src/iam-policy/GrantAccessForm.tsx +30 -35
- package/src/iam-policy/OrgMembersPanel.tsx +2 -0
- package/src/iam-policy/PeopleWithAccess.tsx +220 -0
- package/src/iam-policy/PrincipalPicker.tsx +347 -0
- package/src/iam-policy/ProviderBadge.tsx +53 -0
- package/src/iam-policy/SharePanel.tsx +20 -165
- package/src/iam-policy/index.ts +17 -0
- package/src/index.ts +30 -0
- package/src/mcp-server/McpServerDetailView.tsx +37 -9
- package/src/organization/OrgProvider.tsx +13 -0
- package/src/organization/index.ts +1 -1
- package/src/skill/SkillDetailView.tsx +34 -9
- package/src/workflow/WorkflowDetailView.tsx +49 -22
- package/src/workflow/WorkflowExecutionHeader.tsx +12 -1
- package/src/workflow/WorkflowExecutionViewer.tsx +8 -1
- package/src/workflow/index.ts +4 -0
- package/src/workflow/instance/RunVisibilityControl.tsx +116 -0
- package/src/workflow/instance/WorkflowInstanceDetailPanel.tsx +55 -42
- package/src/workflow/instance/index.ts +5 -0
- package/src/workflow/instance/useUpdateWorkflowInstanceExecutionVisibility.ts +74 -0
- package/styles.css +1 -1
- package/workflow/WorkflowDetailView.d.ts.map +1 -1
- package/workflow/WorkflowDetailView.js +31 -3
- package/workflow/WorkflowDetailView.js.map +1 -1
- package/workflow/WorkflowExecutionHeader.d.ts +7 -0
- package/workflow/WorkflowExecutionHeader.d.ts.map +1 -1
- package/workflow/WorkflowExecutionHeader.js +2 -2
- package/workflow/WorkflowExecutionHeader.js.map +1 -1
- package/workflow/WorkflowExecutionViewer.d.ts +6 -1
- package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
- package/workflow/WorkflowExecutionViewer.js +2 -2
- package/workflow/WorkflowExecutionViewer.js.map +1 -1
- package/workflow/index.d.ts +1 -1
- package/workflow/index.d.ts.map +1 -1
- package/workflow/index.js +1 -1
- package/workflow/index.js.map +1 -1
- package/workflow/instance/RunVisibilityControl.d.ts +25 -0
- package/workflow/instance/RunVisibilityControl.d.ts.map +1 -0
- package/workflow/instance/RunVisibilityControl.js +56 -0
- package/workflow/instance/RunVisibilityControl.js.map +1 -0
- package/workflow/instance/WorkflowInstanceDetailPanel.d.ts.map +1 -1
- package/workflow/instance/WorkflowInstanceDetailPanel.js +30 -4
- package/workflow/instance/WorkflowInstanceDetailPanel.js.map +1 -1
- package/workflow/instance/index.d.ts +2 -0
- package/workflow/instance/index.d.ts.map +1 -1
- package/workflow/instance/index.js +2 -0
- package/workflow/instance/index.js.map +1 -1
- package/workflow/instance/useUpdateWorkflowInstanceExecutionVisibility.d.ts +30 -0
- package/workflow/instance/useUpdateWorkflowInstanceExecutionVisibility.d.ts.map +1 -0
- package/workflow/instance/useUpdateWorkflowInstanceExecutionVisibility.js +39 -0
- package/workflow/instance/useUpdateWorkflowInstanceExecutionVisibility.js.map +1 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ApiResourceRefView } from "@stigmer/protos/ai/stigmer/iam/iampolicy/v1/io_pb";
|
|
2
|
+
/** A principal selected through {@link PrincipalPicker}. */
|
|
3
|
+
export interface SelectedPrincipal {
|
|
4
|
+
/** identity_account ID (`ida_...`). */
|
|
5
|
+
readonly id: string;
|
|
6
|
+
/** Display name (falls back to email, then ID). */
|
|
7
|
+
readonly name: string;
|
|
8
|
+
/** Email address, if known. */
|
|
9
|
+
readonly email: string;
|
|
10
|
+
/** Full view for richer rendering (avatar, provider). */
|
|
11
|
+
readonly view: ApiResourceRefView;
|
|
12
|
+
}
|
|
13
|
+
/** Props for {@link PrincipalPicker}. */
|
|
14
|
+
export interface PrincipalPickerProps {
|
|
15
|
+
/** Organization whose members are selectable. */
|
|
16
|
+
readonly orgId: string;
|
|
17
|
+
/** Currently selected principal, or `null`. Controlled. */
|
|
18
|
+
readonly value: SelectedPrincipal | null;
|
|
19
|
+
/** Fired when the selection changes. */
|
|
20
|
+
readonly onChange: (principal: SelectedPrincipal | null) => void;
|
|
21
|
+
/** Principal IDs to hide/disable because they already have access. */
|
|
22
|
+
readonly excludePrincipalIds?: readonly string[];
|
|
23
|
+
/** Disable the control. */
|
|
24
|
+
readonly disabled?: boolean;
|
|
25
|
+
/** Additional CSS class names for the root container. */
|
|
26
|
+
readonly className?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Accessible combobox for picking an organization member to share with.
|
|
30
|
+
*
|
|
31
|
+
* Replaces raw account-ID entry: users type a name or email and choose a
|
|
32
|
+
* person from the org's member list. Because email is not unique across
|
|
33
|
+
* identity sources, each candidate shows a {@link ProviderBadge} so accounts
|
|
34
|
+
* that share an email (e.g. a direct account and a federated one) can be told
|
|
35
|
+
* apart. The resolved `identity_account` ID is carried internally — the user
|
|
36
|
+
* never sees it.
|
|
37
|
+
*
|
|
38
|
+
* Members who already have access are shown disabled, so the same person is
|
|
39
|
+
* not granted twice.
|
|
40
|
+
*
|
|
41
|
+
* Search is over the org member list the caller can already see
|
|
42
|
+
* (`listResourceAccessByPrincipal` on the organization), so it introduces no
|
|
43
|
+
* new account-enumeration surface.
|
|
44
|
+
*
|
|
45
|
+
* All visual properties flow through `--stgm-*` design tokens.
|
|
46
|
+
*/
|
|
47
|
+
export declare function PrincipalPicker({ orgId, value, onChange, excludePrincipalIds, disabled, className, }: PrincipalPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
//# sourceMappingURL=PrincipalPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrincipalPicker.d.ts","sourceRoot":"","sources":["../../src/iam-policy/PrincipalPicker.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAM5F,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC;AAED,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,sEAAsE;IACtE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,2BAA2B;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,QAAQ,EACR,mBAAmB,EACnB,QAAgB,EAChB,SAAS,GACV,EAAE,oBAAoB,2CA0QtB"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useId, useMemo, useRef, useState } from "react";
|
|
4
|
+
import { cn } from "@stigmer/theme";
|
|
5
|
+
import { getUserMessage } from "@stigmer/sdk";
|
|
6
|
+
import { useResourceAccess } from "./useResourceAccess";
|
|
7
|
+
import { ProviderBadge, providerLabel } from "./ProviderBadge";
|
|
8
|
+
/**
|
|
9
|
+
* Accessible combobox for picking an organization member to share with.
|
|
10
|
+
*
|
|
11
|
+
* Replaces raw account-ID entry: users type a name or email and choose a
|
|
12
|
+
* person from the org's member list. Because email is not unique across
|
|
13
|
+
* identity sources, each candidate shows a {@link ProviderBadge} so accounts
|
|
14
|
+
* that share an email (e.g. a direct account and a federated one) can be told
|
|
15
|
+
* apart. The resolved `identity_account` ID is carried internally — the user
|
|
16
|
+
* never sees it.
|
|
17
|
+
*
|
|
18
|
+
* Members who already have access are shown disabled, so the same person is
|
|
19
|
+
* not granted twice.
|
|
20
|
+
*
|
|
21
|
+
* Search is over the org member list the caller can already see
|
|
22
|
+
* (`listResourceAccessByPrincipal` on the organization), so it introduces no
|
|
23
|
+
* new account-enumeration surface.
|
|
24
|
+
*
|
|
25
|
+
* All visual properties flow through `--stgm-*` design tokens.
|
|
26
|
+
*/
|
|
27
|
+
export function PrincipalPicker({ orgId, value, onChange, excludePrincipalIds, disabled = false, className, }) {
|
|
28
|
+
const listboxId = useId();
|
|
29
|
+
const { members, isLoading, error } = useResourceAccess(orgId ? { kind: "organization", id: orgId } : null);
|
|
30
|
+
const [query, setQuery] = useState("");
|
|
31
|
+
const [open, setOpen] = useState(false);
|
|
32
|
+
const [activeIndex, setActiveIndex] = useState(0);
|
|
33
|
+
const inputRef = useRef(null);
|
|
34
|
+
const excluded = useMemo(() => new Set(excludePrincipalIds ?? []), [excludePrincipalIds]);
|
|
35
|
+
// Org members that are identity accounts, deduped by ID. The org list groups
|
|
36
|
+
// by principal, so each ID appears once already; the dedupe guards against
|
|
37
|
+
// inherited-role duplicates.
|
|
38
|
+
const candidates = useMemo(() => {
|
|
39
|
+
const byId = new Map();
|
|
40
|
+
for (const entry of members) {
|
|
41
|
+
const p = entry.principal;
|
|
42
|
+
if (!p || p.kind !== "identity_account" || !p.id)
|
|
43
|
+
continue;
|
|
44
|
+
if (!byId.has(p.id))
|
|
45
|
+
byId.set(p.id, p);
|
|
46
|
+
}
|
|
47
|
+
return [...byId.values()];
|
|
48
|
+
}, [members]);
|
|
49
|
+
// Emails that appear on more than one candidate — these are the rows where
|
|
50
|
+
// the provider badge is doing real disambiguation work.
|
|
51
|
+
const duplicatedEmails = useMemo(() => {
|
|
52
|
+
const counts = new Map();
|
|
53
|
+
for (const c of candidates) {
|
|
54
|
+
const email = c.email?.toLowerCase();
|
|
55
|
+
if (email)
|
|
56
|
+
counts.set(email, (counts.get(email) ?? 0) + 1);
|
|
57
|
+
}
|
|
58
|
+
return new Set([...counts.entries()].filter(([, n]) => n > 1).map(([email]) => email));
|
|
59
|
+
}, [candidates]);
|
|
60
|
+
const filtered = useMemo(() => {
|
|
61
|
+
const q = query.trim().toLowerCase();
|
|
62
|
+
if (!q)
|
|
63
|
+
return candidates;
|
|
64
|
+
return candidates.filter((c) => {
|
|
65
|
+
const name = (c.name ?? "").toLowerCase();
|
|
66
|
+
const email = (c.email ?? "").toLowerCase();
|
|
67
|
+
return name.includes(q) || email.includes(q);
|
|
68
|
+
});
|
|
69
|
+
}, [candidates, query]);
|
|
70
|
+
const commitSelection = useCallback((view) => {
|
|
71
|
+
if (excluded.has(view.id))
|
|
72
|
+
return;
|
|
73
|
+
onChange({
|
|
74
|
+
id: view.id,
|
|
75
|
+
name: view.name || view.email || view.id,
|
|
76
|
+
email: view.email,
|
|
77
|
+
view,
|
|
78
|
+
});
|
|
79
|
+
setQuery("");
|
|
80
|
+
setOpen(false);
|
|
81
|
+
}, [excluded, onChange]);
|
|
82
|
+
const handleKeyDown = useCallback((e) => {
|
|
83
|
+
if (e.key === "ArrowDown") {
|
|
84
|
+
e.preventDefault();
|
|
85
|
+
setOpen(true);
|
|
86
|
+
setActiveIndex((i) => Math.min(i + 1, filtered.length - 1));
|
|
87
|
+
}
|
|
88
|
+
else if (e.key === "ArrowUp") {
|
|
89
|
+
e.preventDefault();
|
|
90
|
+
setActiveIndex((i) => Math.max(i - 1, 0));
|
|
91
|
+
}
|
|
92
|
+
else if (e.key === "Enter") {
|
|
93
|
+
e.preventDefault();
|
|
94
|
+
const choice = filtered[activeIndex];
|
|
95
|
+
if (choice && !excluded.has(choice.id))
|
|
96
|
+
commitSelection(choice);
|
|
97
|
+
}
|
|
98
|
+
else if (e.key === "Escape") {
|
|
99
|
+
setOpen(false);
|
|
100
|
+
}
|
|
101
|
+
}, [filtered, activeIndex, excluded, commitSelection]);
|
|
102
|
+
// Selected state: show a chip with a clear affordance instead of the input.
|
|
103
|
+
if (value) {
|
|
104
|
+
return (_jsxs("div", { className: cn("space-y-1", className), children: [_jsx("span", { className: "block text-xs font-medium text-foreground", children: "Person" }), _jsxs("div", { className: "flex items-center justify-between gap-2 rounded-md border border-input bg-background px-2.5 py-1.5", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-muted text-[0.6rem] font-medium text-muted-foreground", "aria-hidden": "true", children: (value.name[0] ?? "?").toUpperCase() }), _jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "truncate text-xs text-foreground", children: value.name }), _jsx(ProviderBadge, { principal: value.view })] }), value.email && value.email !== value.name && (_jsx("span", { className: "block truncate text-[0.6rem] text-muted-foreground", children: value.email }))] })] }), _jsx("button", { type: "button", onClick: () => onChange(null), disabled: disabled, "aria-label": "Clear selected person", className: cn("shrink-0 rounded p-0.5 text-muted-foreground", "hover:text-foreground hover:bg-accent-hover", "disabled:pointer-events-none disabled:opacity-50"), children: _jsx(ClearIcon, {}) })] })] }));
|
|
105
|
+
}
|
|
106
|
+
return (_jsxs("div", { className: cn("space-y-1", className), children: [_jsx("label", { htmlFor: `${listboxId}-input`, className: "block text-xs font-medium text-foreground", children: "Person" }), _jsxs("div", { className: "relative", children: [_jsx("input", { id: `${listboxId}-input`, ref: inputRef, type: "text", role: "combobox", "aria-expanded": open, "aria-controls": listboxId, "aria-autocomplete": "list", autoComplete: "off", value: query, onChange: (e) => {
|
|
107
|
+
setQuery(e.target.value);
|
|
108
|
+
setOpen(true);
|
|
109
|
+
setActiveIndex(0);
|
|
110
|
+
}, onFocus: () => setOpen(true), onBlur: () => {
|
|
111
|
+
// Delay so option mousedown can register before close.
|
|
112
|
+
window.setTimeout(() => setOpen(false), 120);
|
|
113
|
+
}, onKeyDown: handleKeyDown, placeholder: "Search by name or email", disabled: disabled || isLoading, autoFocus: true, className: cn("w-full rounded-md border border-input bg-background px-2.5 py-1.5 text-xs text-foreground", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50") }), open && (_jsxs("ul", { id: listboxId, role: "listbox", "aria-label": "Organization members", className: cn("absolute z-10 mt-1 max-h-56 w-full overflow-auto rounded-md border border-border bg-popover py-1 shadow-md"), children: [isLoading && (_jsx("li", { className: "px-2.5 py-2 text-xs text-muted-foreground", children: "Loading members\u2026" })), !isLoading && error && (_jsx("li", { className: "px-2.5 py-2 text-[0.65rem] text-destructive", role: "alert", children: getUserMessage(error) })), !isLoading && !error && filtered.length === 0 && (_jsx("li", { className: "px-2.5 py-2 text-xs text-muted-foreground", children: query.trim()
|
|
114
|
+
? "No members match your search."
|
|
115
|
+
: "No members to share with." })), !isLoading &&
|
|
116
|
+
!error &&
|
|
117
|
+
filtered.map((c, index) => {
|
|
118
|
+
const isExcluded = excluded.has(c.id);
|
|
119
|
+
const isActive = index === activeIndex;
|
|
120
|
+
const name = c.name || c.email || c.id;
|
|
121
|
+
// Show the provider badge when it disambiguates: an external
|
|
122
|
+
// identity source, or a shared email across candidates.
|
|
123
|
+
const showBadge = !!providerLabel(c) &&
|
|
124
|
+
(c.identityOrigin?.providerDisplayName !== "Stigmer" ||
|
|
125
|
+
(!!c.email && duplicatedEmails.has(c.email.toLowerCase())));
|
|
126
|
+
return (_jsxs("li", { role: "option", "aria-selected": isActive, "aria-disabled": isExcluded, onMouseEnter: () => setActiveIndex(index), onMouseDown: (e) => {
|
|
127
|
+
// Prevent input blur before selection commits.
|
|
128
|
+
e.preventDefault();
|
|
129
|
+
if (!isExcluded)
|
|
130
|
+
commitSelection(c);
|
|
131
|
+
}, className: cn("flex items-center justify-between gap-2 px-2.5 py-1.5", isExcluded
|
|
132
|
+
? "cursor-not-allowed opacity-50"
|
|
133
|
+
: "cursor-pointer", isActive && !isExcluded && "bg-accent-hover"), children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-muted text-[0.6rem] font-medium text-muted-foreground", "aria-hidden": "true", children: (name[0] ?? "?").toUpperCase() }), _jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "truncate text-xs text-foreground", children: name }), showBadge && _jsx(ProviderBadge, { principal: c })] }), c.email && c.email !== name && (_jsx("span", { className: "block truncate text-[0.6rem] text-muted-foreground", children: c.email }))] })] }), isExcluded && (_jsx("span", { className: "shrink-0 text-[0.6rem] text-muted-foreground", children: "Has access" }))] }, c.id));
|
|
134
|
+
})] }))] })] }));
|
|
135
|
+
}
|
|
136
|
+
function ClearIcon() {
|
|
137
|
+
return (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", "aria-hidden": "true", children: _jsx("path", { d: "M4 4l8 8M12 4l-8 8" }) }));
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=PrincipalPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrincipalPicker.js","sourceRoot":"","sources":["../../src/iam-policy/PrincipalPicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ApiResourceRefView } from "@stigmer/protos/ai/stigmer/iam/iampolicy/v1/io_pb";
|
|
2
|
+
/**
|
|
3
|
+
* The human-readable identity-source label for a principal, or `""` when none
|
|
4
|
+
* is known.
|
|
5
|
+
*
|
|
6
|
+
* Email is not an identity key in Stigmer — a person can have a direct account
|
|
7
|
+
* and federated accounts that share one email. This label (e.g. "Stigmer" for
|
|
8
|
+
* direct sign-ups, or an IdentityProvider's display name for federated ones)
|
|
9
|
+
* is what lets the UI tell those accounts apart.
|
|
10
|
+
*/
|
|
11
|
+
export declare function providerLabel(principal: ApiResourceRefView | undefined): string;
|
|
12
|
+
/** Props for {@link ProviderBadge}. */
|
|
13
|
+
export interface ProviderBadgeProps {
|
|
14
|
+
/** The principal whose identity source to display. */
|
|
15
|
+
readonly principal: ApiResourceRefView | undefined;
|
|
16
|
+
/** Additional CSS class names. */
|
|
17
|
+
readonly className?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A subtle pill naming the identity source an account belongs to.
|
|
21
|
+
*
|
|
22
|
+
* Renders nothing when no provider label is available (e.g. legacy accounts
|
|
23
|
+
* with unspecified provisioning mode), so it never adds empty chrome.
|
|
24
|
+
*
|
|
25
|
+
* All visual properties flow through `--stgm-*` design tokens.
|
|
26
|
+
*/
|
|
27
|
+
export declare function ProviderBadge({ principal, className }: ProviderBadgeProps): import("react/jsx-runtime").JSX.Element | null;
|
|
28
|
+
//# sourceMappingURL=ProviderBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderBadge.d.ts","sourceRoot":"","sources":["../../src/iam-policy/ProviderBadge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAG5F;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,kBAAkB,GAAG,SAAS,GAAG,MAAM,CAE/E;AAED,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACnD,kCAAkC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,kBAAkB,kDAkBzE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "@stigmer/theme";
|
|
4
|
+
/**
|
|
5
|
+
* The human-readable identity-source label for a principal, or `""` when none
|
|
6
|
+
* is known.
|
|
7
|
+
*
|
|
8
|
+
* Email is not an identity key in Stigmer — a person can have a direct account
|
|
9
|
+
* and federated accounts that share one email. This label (e.g. "Stigmer" for
|
|
10
|
+
* direct sign-ups, or an IdentityProvider's display name for federated ones)
|
|
11
|
+
* is what lets the UI tell those accounts apart.
|
|
12
|
+
*/
|
|
13
|
+
export function providerLabel(principal) {
|
|
14
|
+
return principal?.identityOrigin?.providerDisplayName ?? "";
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A subtle pill naming the identity source an account belongs to.
|
|
18
|
+
*
|
|
19
|
+
* Renders nothing when no provider label is available (e.g. legacy accounts
|
|
20
|
+
* with unspecified provisioning mode), so it never adds empty chrome.
|
|
21
|
+
*
|
|
22
|
+
* All visual properties flow through `--stgm-*` design tokens.
|
|
23
|
+
*/
|
|
24
|
+
export function ProviderBadge({ principal, className }) {
|
|
25
|
+
const label = providerLabel(principal);
|
|
26
|
+
if (!label) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return (_jsx("span", { className: cn("inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-medium", "bg-muted-subtle text-muted-foreground", className), title: `Identity provider: ${label}`, children: label }));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ProviderBadge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderBadge.js","sourceRoot":"","sources":["../../src/iam-policy/ProviderBadge.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,SAAyC;IACrE,OAAO,SAAS,EAAE,cAAc,EAAE,mBAAmB,IAAI,EAAE,CAAC;AAC9D,CAAC;AAUD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAE,SAAS,EAAsB;IACxE,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,0EAA0E,EAC1E,uCAAuC,EACvC,SAAS,CACV,EACD,KAAK,EAAE,sBAAsB,KAAK,EAAE,YAEnC,KAAK,GACD,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
2
|
-
import {
|
|
2
|
+
import type { ShareFlowResource } from "./useShareFlow";
|
|
3
3
|
/** Props for {@link SharePanel}. */
|
|
4
4
|
export interface SharePanelProps {
|
|
5
5
|
/** The resource to share. */
|
|
@@ -8,6 +8,11 @@ export interface SharePanelProps {
|
|
|
8
8
|
readonly resourceKindString: string;
|
|
9
9
|
/** ApiResourceKind enum value for grantable-role lookup. */
|
|
10
10
|
readonly resourceKind: ApiResourceKind;
|
|
11
|
+
/**
|
|
12
|
+
* Organization the resource belongs to (`metadata.org`). Drives the
|
|
13
|
+
* org-member typeahead in the grant form.
|
|
14
|
+
*/
|
|
15
|
+
readonly orgId: string;
|
|
11
16
|
/** Fired when the user closes the panel. */
|
|
12
17
|
readonly onClose?: () => void;
|
|
13
18
|
/** Additional CSS class names for the root container. */
|
|
@@ -17,9 +22,11 @@ export interface SharePanelProps {
|
|
|
17
22
|
* Self-contained sharing panel that displays who has access to a
|
|
18
23
|
* resource and allows granting/revoking access.
|
|
19
24
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
25
|
+
* A thin header-and-close wrapper around {@link PeopleWithAccess} — the same
|
|
26
|
+
* "people with access" body the unified Manage access dialog renders — so the
|
|
27
|
+
* two surfaces stay byte-for-byte consistent. Suitable for embedding in a
|
|
28
|
+
* popover or sidebar; for the full visibility + people experience use the
|
|
29
|
+
* Manage access dialog instead.
|
|
23
30
|
*
|
|
24
31
|
* All visual properties flow through `--stgm-*` design tokens.
|
|
25
32
|
*
|
|
@@ -29,9 +36,10 @@ export interface SharePanelProps {
|
|
|
29
36
|
* resource={{ kind: "session", id: sessionId, resourceKind: ApiResourceKind.session }}
|
|
30
37
|
* resourceKindString="session"
|
|
31
38
|
* resourceKind={ApiResourceKind.session}
|
|
39
|
+
* orgId={orgId}
|
|
32
40
|
* onClose={() => setOpen(false)}
|
|
33
41
|
* />
|
|
34
42
|
* ```
|
|
35
43
|
*/
|
|
36
|
-
export declare function SharePanel({ resource, resourceKindString, resourceKind, onClose, className, }: SharePanelProps): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
export declare function SharePanel({ resource, resourceKindString, resourceKind, orgId, onClose, className, }: SharePanelProps): import("react/jsx-runtime").JSX.Element;
|
|
37
45
|
//# sourceMappingURL=SharePanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharePanel.d.ts","sourceRoot":"","sources":["../../src/iam-policy/SharePanel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SharePanel.d.ts","sourceRoot":"","sources":["../../src/iam-policy/SharePanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AAE3H,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,sEAAsE;IACtE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,KAAK,EACL,OAAO,EACP,SAAS,GACV,EAAE,eAAe,2CAmCjB"}
|
package/iam-policy/SharePanel.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useCallback, useState } from "react";
|
|
4
3
|
import { cn } from "@stigmer/theme";
|
|
5
|
-
import {
|
|
6
|
-
import { useShareFlow } from "./useShareFlow";
|
|
7
|
-
import { GrantAccessForm } from "./GrantAccessForm";
|
|
4
|
+
import { PeopleWithAccess } from "./PeopleWithAccess";
|
|
8
5
|
/**
|
|
9
6
|
* Self-contained sharing panel that displays who has access to a
|
|
10
7
|
* resource and allows granting/revoking access.
|
|
11
8
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
9
|
+
* A thin header-and-close wrapper around {@link PeopleWithAccess} — the same
|
|
10
|
+
* "people with access" body the unified Manage access dialog renders — so the
|
|
11
|
+
* two surfaces stay byte-for-byte consistent. Suitable for embedding in a
|
|
12
|
+
* popover or sidebar; for the full visibility + people experience use the
|
|
13
|
+
* Manage access dialog instead.
|
|
15
14
|
*
|
|
16
15
|
* All visual properties flow through `--stgm-*` design tokens.
|
|
17
16
|
*
|
|
@@ -21,39 +20,15 @@ import { GrantAccessForm } from "./GrantAccessForm";
|
|
|
21
20
|
* resource={{ kind: "session", id: sessionId, resourceKind: ApiResourceKind.session }}
|
|
22
21
|
* resourceKindString="session"
|
|
23
22
|
* resourceKind={ApiResourceKind.session}
|
|
23
|
+
* orgId={orgId}
|
|
24
24
|
* onClose={() => setOpen(false)}
|
|
25
25
|
* />
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
|
-
export function SharePanel({ resource, resourceKindString, resourceKind, onClose, className, }) {
|
|
29
|
-
|
|
30
|
-
const [showGrantForm, setShowGrantForm] = useState(false);
|
|
31
|
-
return (_jsxs("div", { className: cn("flex flex-col gap-4 p-4", className), role: "region", "aria-label": "Resource access management", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h3", { className: "text-sm font-semibold text-foreground", children: "Share access" }), onClose && (_jsx("button", { type: "button", onClick: onClose, "aria-label": "Close share panel", className: cn("rounded-md p-1 text-muted-foreground", "hover:text-foreground hover:bg-accent-hover"), children: _jsx(CloseIcon, {}) }))] }), _jsxs("div", { className: "space-y-1", children: [_jsx("p", { className: "text-xs text-muted-foreground", children: isLoading
|
|
32
|
-
? "Loading access list..."
|
|
33
|
-
: `${accessList.length} ${accessList.length === 1 ? "person" : "people"} with access` }), fetchError && (_jsx("p", { className: "text-destructive text-[0.65rem]", role: "alert", children: getUserMessage(fetchError) })), !isLoading && accessList.length > 0 && (_jsx("ul", { className: "space-y-1 mt-2", "aria-label": "People with access", children: accessList.map((entry) => (_jsx(AccessEntry, { entry: entry, resourceKindString: resourceKindString, resourceId: resource.id, onRevoke: revokeAccess, isRevoking: isRevoking }, entry.principal?.id ?? "unknown"))) })), revokeError && (_jsx("p", { className: "text-destructive text-[0.65rem]", role: "alert", children: getUserMessage(revokeError) }))] }), hasGrantableRoles && (_jsx("div", { className: "border-t border-border pt-3", children: showGrantForm ? (_jsx(GrantAccessForm, { resourceKind: resourceKind, resourceKindString: resourceKindString, resourceId: resource.id, onGranted: () => {
|
|
34
|
-
setShowGrantForm(false);
|
|
35
|
-
refetch();
|
|
36
|
-
}, onCancel: () => setShowGrantForm(false) })) : (_jsx("button", { type: "button", onClick: () => setShowGrantForm(true), className: cn("w-full rounded-md px-3 py-1.5 text-xs font-medium text-center", "border border-dashed border-border", "text-muted-foreground hover:text-foreground hover:border-foreground/30", "hover:bg-accent-hover transition-colors"), children: "+ Add people" })) }))] }));
|
|
37
|
-
}
|
|
38
|
-
// ---------------------------------------------------------------------------
|
|
39
|
-
// Internal subcomponents
|
|
40
|
-
// ---------------------------------------------------------------------------
|
|
41
|
-
function AccessEntry({ entry, resourceKindString, resourceId, onRevoke, isRevoking, }) {
|
|
42
|
-
const principal = entry.principal;
|
|
43
|
-
const roles = entry.roles;
|
|
44
|
-
const displayName = principal?.name || principal?.email || principal?.id || "Unknown";
|
|
45
|
-
const primaryRole = roles[0]?.role;
|
|
46
|
-
const handleRevoke = useCallback(async () => {
|
|
47
|
-
if (!principal?.id || !primaryRole?.code)
|
|
48
|
-
return;
|
|
49
|
-
await onRevoke(principal.id, primaryRole.code);
|
|
50
|
-
}, [principal?.id, primaryRole?.code, onRevoke]);
|
|
51
|
-
return (_jsxs("li", { className: "flex items-center justify-between gap-2 rounded-md px-2 py-1.5 hover:bg-accent-hover group", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [_jsx("div", { className: "h-6 w-6 rounded-full bg-muted flex items-center justify-center text-[0.6rem] font-medium text-muted-foreground shrink-0", "aria-hidden": "true", children: (principal?.name?.[0] ?? principal?.email?.[0] ?? "?").toUpperCase() }), _jsxs("div", { className: "min-w-0", children: [_jsx("p", { className: "text-xs text-foreground truncate", children: displayName }), principal?.email && principal.name && (_jsx("p", { className: "text-[0.6rem] text-muted-foreground truncate", children: principal.email }))] })] }), _jsxs("div", { className: "flex items-center gap-1.5 shrink-0", children: [_jsx("span", { className: "text-[0.6rem] text-muted-foreground capitalize", children: primaryRole?.name ?? primaryRole?.code ?? "—" }), _jsx("button", { type: "button", onClick: handleRevoke, disabled: isRevoking, "aria-label": `Remove ${displayName}'s access`, className: cn("rounded p-0.5 text-muted-foreground opacity-0 group-hover:opacity-100", "hover:text-destructive hover:bg-destructive/10", "disabled:pointer-events-none disabled:opacity-50", "transition-opacity"), children: _jsx(RemoveIcon, {}) })] })] }));
|
|
28
|
+
export function SharePanel({ resource, resourceKindString, resourceKind, orgId, onClose, className, }) {
|
|
29
|
+
return (_jsxs("div", { className: cn("flex flex-col gap-4 p-4", className), role: "region", "aria-label": "Resource access management", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h3", { className: "text-sm font-semibold text-foreground", children: "Share access" }), onClose && (_jsx("button", { type: "button", onClick: onClose, "aria-label": "Close share panel", className: cn("rounded-md p-1 text-muted-foreground", "hover:text-foreground hover:bg-accent-hover"), children: _jsx(CloseIcon, {}) }))] }), _jsx(PeopleWithAccess, { resource: resource, resourceKindString: resourceKindString, resourceKind: resourceKind, orgId: orgId })] }));
|
|
52
30
|
}
|
|
53
31
|
function CloseIcon() {
|
|
54
32
|
return (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", "aria-hidden": "true", children: _jsx("path", { d: "M4 4l8 8M12 4l-8 8" }) }));
|
|
55
33
|
}
|
|
56
|
-
function RemoveIcon() {
|
|
57
|
-
return (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", "aria-hidden": "true", children: _jsx("path", { d: "M4 4l8 8M12 4l-8 8" }) }));
|
|
58
|
-
}
|
|
59
34
|
//# sourceMappingURL=SharePanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharePanel.js","sourceRoot":"","sources":["../../src/iam-policy/SharePanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"SharePanel.js","sourceRoot":"","sources":["../../src/iam-policy/SharePanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAqBtD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,KAAK,EACL,OAAO,EACP,SAAS,GACO;IAChB,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,EACnD,IAAI,EAAC,QAAQ,gBACF,4BAA4B,aAGvC,eAAK,SAAS,EAAC,mCAAmC,aAChD,aAAI,SAAS,EAAC,uCAAuC,6BAEhD,EACJ,OAAO,IAAI,CACV,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,gBACL,mBAAmB,EAC9B,SAAS,EAAE,EAAE,CACX,sCAAsC,EACtC,6CAA6C,CAC9C,YAED,KAAC,SAAS,KAAG,GACN,CACV,IACG,EAEN,KAAC,gBAAgB,IACf,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,GACZ,IACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CACL,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,iBAAa,MAAM,YACxI,eAAM,CAAC,EAAC,oBAAoB,GAAG,GAC3B,CACP,CAAC;AACJ,CAAC"}
|
package/iam-policy/index.d.ts
CHANGED
|
@@ -7,7 +7,10 @@ export { useCreateIamPolicy, type UseCreateIamPolicyReturn, } from "./useCreateI
|
|
|
7
7
|
export { useDeleteIamPolicy, type UseDeleteIamPolicyReturn, } from "./useDeleteIamPolicy";
|
|
8
8
|
export { useRevokeOrgAccess, type UseRevokeOrgAccessReturn, } from "./useRevokeOrgAccess";
|
|
9
9
|
export { RoleSelector, type RoleSelectorProps } from "./RoleSelector";
|
|
10
|
+
export { PrincipalPicker, type PrincipalPickerProps, type SelectedPrincipal, } from "./PrincipalPicker";
|
|
11
|
+
export { ProviderBadge, providerLabel, type ProviderBadgeProps, } from "./ProviderBadge";
|
|
10
12
|
export { GrantAccessForm, type GrantAccessFormProps } from "./GrantAccessForm";
|
|
13
|
+
export { PeopleWithAccess, type PeopleWithAccessProps, } from "./PeopleWithAccess";
|
|
11
14
|
export { OrgMembersPanel, type OrgMembersPanelProps, } from "./OrgMembersPanel";
|
|
12
15
|
export { useShareFlow, type ShareFlowResource, type UseShareFlowReturn, } from "./useShareFlow";
|
|
13
16
|
export { useCheckPermission, type PermissionCheckResource, type UseCheckPermissionReturn, } from "./useCheckPermission";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/iam-policy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,EACf,KAAK,UAAU,EACf,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,SAAS,EACT,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/iam-policy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,EACf,KAAK,UAAU,EACf,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,SAAS,EACT,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
package/iam-policy/index.js
CHANGED
|
@@ -7,7 +7,10 @@ export { useCreateIamPolicy, } from "./useCreateIamPolicy";
|
|
|
7
7
|
export { useDeleteIamPolicy, } from "./useDeleteIamPolicy";
|
|
8
8
|
export { useRevokeOrgAccess, } from "./useRevokeOrgAccess";
|
|
9
9
|
export { RoleSelector } from "./RoleSelector";
|
|
10
|
+
export { PrincipalPicker, } from "./PrincipalPicker";
|
|
11
|
+
export { ProviderBadge, providerLabel, } from "./ProviderBadge";
|
|
10
12
|
export { GrantAccessForm } from "./GrantAccessForm";
|
|
13
|
+
export { PeopleWithAccess, } from "./PeopleWithAccess";
|
|
11
14
|
export { OrgMembersPanel, } from "./OrgMembersPanel";
|
|
12
15
|
export { useShareFlow, } from "./useShareFlow";
|
|
13
16
|
export { useCheckPermission, } from "./useCheckPermission";
|
package/iam-policy/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/iam-policy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,iBAAiB,GAIlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,SAAS,GAEV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EACL,eAAe,GAEhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,YAAY,GAGb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/iam-policy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,iBAAiB,GAIlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,SAAS,GAEV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,aAAa,EACb,aAAa,GAEd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EACL,gBAAgB,GAEjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,GAEhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,YAAY,GAGb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC"}
|
package/index.d.ts
CHANGED
|
@@ -42,9 +42,11 @@ export { useEnvironment, useEnvironmentList, usePersonalEnvironment, useCreateEn
|
|
|
42
42
|
export type { UseEnvironmentReturn, UseEnvironmentListReturn, UsePersonalEnvironmentReturn, UseCreateEnvironmentReturn, UseUpdateEnvironmentReturn, UpdateEnvironmentVariablesInput, UseUpdateEnvironmentVariablesReturn, RemoveEnvironmentVariablesInput, UseRemoveEnvironmentVariablesReturn, UseRevealSecretValueOptions, UseRevealSecretValueReturn, EnvironmentVariableEditorProps, EnvironmentListPanelProps, CreateEnvironmentFormProps, EnvVarFormProps, EnvVarFormVariable, EnvVarFormSubmitOptions, SessionEnvPoolInput, UseSessionEnvPoolReturn, EnvironmentPickerProps, } from "./environment";
|
|
43
43
|
export { useIdentityAccountGate, } from "./identity-account";
|
|
44
44
|
export type { IdentityAccountGateState, UseIdentityAccountGateReturn, } from "./identity-account";
|
|
45
|
-
export { useGrantableRoles, useRoleSelector, useResourceAccess, usePrincipalsCount, useWhoAmI, useCreateIamPolicy, useDeleteIamPolicy, useRevokeOrgAccess, useShareFlow, useCheckPermission, RoleSelector, GrantAccessForm, OrgMembersPanel, SharePanel, PermissionGate, } from "./iam-policy";
|
|
46
|
-
export type { UseGrantableRolesReturn, RoleOption, UseRoleSelectorReturn, ResourceAccessRef, UseResourceAccessOptions, UseResourceAccessReturn, UsePrincipalsCountReturn, UseWhoAmIReturn, UseCreateIamPolicyReturn, UseDeleteIamPolicyReturn, UseRevokeOrgAccessReturn, UseShareFlowReturn, ShareFlowResource, UseCheckPermissionReturn, PermissionCheckResource, RoleSelectorProps, GrantAccessFormProps, OrgMembersPanelProps, SharePanelProps, PermissionGateProps, } from "./iam-policy";
|
|
47
|
-
export {
|
|
45
|
+
export { useGrantableRoles, useRoleSelector, useResourceAccess, usePrincipalsCount, useWhoAmI, useCreateIamPolicy, useDeleteIamPolicy, useRevokeOrgAccess, useShareFlow, useCheckPermission, RoleSelector, PrincipalPicker, ProviderBadge, providerLabel, GrantAccessForm, PeopleWithAccess, OrgMembersPanel, SharePanel, PermissionGate, } from "./iam-policy";
|
|
46
|
+
export type { UseGrantableRolesReturn, RoleOption, UseRoleSelectorReturn, ResourceAccessRef, UseResourceAccessOptions, UseResourceAccessReturn, UsePrincipalsCountReturn, UseWhoAmIReturn, UseCreateIamPolicyReturn, UseDeleteIamPolicyReturn, UseRevokeOrgAccessReturn, UseShareFlowReturn, ShareFlowResource, UseCheckPermissionReturn, PermissionCheckResource, RoleSelectorProps, PrincipalPickerProps, SelectedPrincipal, ProviderBadgeProps, GrantAccessFormProps, PeopleWithAccessProps, OrgMembersPanelProps, SharePanelProps, PermissionGateProps, } from "./iam-policy";
|
|
47
|
+
export { ManageAccessDialog, ManageAccessButton, useManageAccess, } from "./access";
|
|
48
|
+
export type { ManageAccessDialogProps, ManageAccessButtonProps, UseManageAccessArgs, UseManageAccessReturn, AccessResource, AccessVisibility, AccessExtraSection, } from "./access";
|
|
49
|
+
export { OrgProvider, useOrg, useActiveOrgSlug, useActiveOrgId, useOrgGate, useOrganization, useCreateOrganization, useUpdateOrganization, CreateOrganizationForm, OrgProfilePanel, OrgSwitcher, } from "./organization";
|
|
48
50
|
export type { OrgContextValue, UseOrgGateOptions, OrgGateState, UseOrgGateReturn, UseOrganizationReturn, UseCreateOrganizationReturn, UseUpdateOrganizationReturn, CreateOrganizationFormProps, OrgProfilePanelProps, OrgSwitcherProps, } from "./organization";
|
|
49
51
|
export { useBillingAccount, useCreditLedger, useBillingUsageReport, useCustomerModelPricing, useCreateCheckoutSession, useCreateBillingPortalSession, useSetAutoRechargeConfig, BillingSection, CreditBalanceCard, PaymentMethodCard, AutoRechargeCard, CreditPackGrid, CreditLedgerTable, LowBalanceBanner, CREDIT_PACKS, formatPackPrice, formatCreditCount, formatCreditBalance, formatLedgerAmount, ledgerEntryLabel, isCredit, isHold, formatLedgerDate, } from "./billing";
|
|
50
52
|
export type { UseBillingAccountReturn, UseCreditLedgerReturn, UseCreditLedgerOptions, UseBillingUsageReportReturn, UseCustomerModelPricingReturn, CreateCheckoutSessionInput, UseCreateCheckoutSessionReturn, UseCreateBillingPortalSessionReturn, SetAutoRechargeConfigInput, UseSetAutoRechargeConfigReturn, BillingSectionProps, CreditBalanceCardProps, PaymentMethodCardProps, AutoRechargeCardProps, CreditPackGridProps, CreditLedgerTableProps, LowBalanceBannerProps, CreditPackInfo, } from "./billing";
|
|
@@ -101,7 +103,7 @@ export { InlineEditText, InlineEditTextarea, InlineEditImage, InlineEditSelect,
|
|
|
101
103
|
export type { InlineEditTextProps, InlineEditTextareaProps, InlineEditImageProps, InlineEditSelectProps, InlineEditKeyValueProps, InlineEditResourceListProps, UseInlineFieldSaveReturn, InlineEditBaseProps, KeyValueRow, ResourceRefRow, SelectOption, } from "./inline-edit";
|
|
102
104
|
export { useViewPreference, useResourceCollection, useResourceFilters, useResourceSelection, StatusBadge, ColumnHeader, SelectionCheckbox, ResourceTable, ResourceCards, ResourceList, BulkActionBar, FilterBar, ViewSwitcher, ResourceInspector, ResourceWorkbench, ResourceAvatar, } from "./resource-workbench";
|
|
103
105
|
export type { ViewMode, StatusPhase, WorkbenchColumnDef, FilterOperator, FilterValue, FilterDef, FilterOption, SortDirection, SortValue, SortDef, ResourceAction, BulkAction, WorkbenchState, UseViewPreferenceReturn, UseResourceCollectionOptions, UseResourceCollectionReturn, UseResourceFiltersOptions, UseResourceFiltersReturn, FilterSortState, UseResourceSelectionReturn, StatusBadgeProps, ColumnHeaderProps, SelectionCheckboxProps, ResourceTableProps, ResourceCardsProps, ResourceListProps, BulkActionBarProps, FilterBarProps, ViewSwitcherProps, ResourceInspectorProps, ResourceWorkbenchProps, ResourceAvatarProps, } from "./resource-workbench";
|
|
104
|
-
export { TaskKindRegistryContext, useTaskKindRegistry, useWorkflow, useWorkflowList, useWorkflowCount, useWorkflowInstances, useWorkflowExecutionList, useWorkflowExecution, useWorkflowExecutionEventLog, useWorkflowExecutionArtifacts, useWorkflowExecutionEventStream, useWorkflowExecutionActions, WorkflowExecutionPhaseBadge, WorkflowTaskList, WorkflowDetailView, WorkflowExecutionViewer, WorkflowExecutionHeader, WorkflowExecutionTimeline, WorkflowExecutionTaskPanel, WorkflowExecutionCostPanel, WorkflowExecutionArtifactPanel, WorkflowExecutionApprovalCard, serializeWorkflowYaml, parseWorkflowYaml, useWorkflowYaml, useWorkflowSave, useWorkflowValidation, useWorkflowTopology, WorkflowYamlEditor, WorkflowCodePreviewGraph, useWorkflowEditor, WorkflowEditorView, useRunWorkflowFlow, WorkflowRunForm, WorkflowRunDialog, useWorkflowDashboardSummary, usePendingApprovals, ExecutionSummaryWidget, PendingApprovalsWidget, FailedRunsWidget, WorkflowDashboard, START_NODE_ID, END_NODE_ID, yamlToGraph, graphToYaml, graphToWorkflowInput, useWorkflowCanvas, TASK_KIND_DRAG_MIME, WorkflowCanvasEditor, WorkflowTaskPalette, TaskPickerPopover, CanvasContextMenu, WorkflowInspectorPanel, TaskConfigForm, BranchConditionBuilder, ApprovalFormBuilder, useResolveAgentExecutionSession, CostByWorkflowChart, ExecutionTrendChart, extractWorkflowYaml, useWorkflowArchitectFlow, WorkflowArchitectDialog, useRefineWorkflowFlow, WorkflowRefinePanel, computeUnifiedDiff, useDiagnoseExecutionFlow, WorkflowRepairCard, STARTER_WORKFLOW_YAML, useElkLayoutEngine, deriveExecutionRow, deriveExecutionRows, sortExecutionRows, filterExecutionRows, deriveFailureAnalysis, useExecutionHistoryData, ExecutionHistoryTable, ExecutionFilterBar, HealthMetricsStrip, FailureAnalysisPanel, WorkflowExecutionHistory, useWorkflowInstance, useCreateWorkflowInstance, useUpdateWorkflowInstance, useDeleteWorkflowInstance, WorkflowInstanceEmptyState, WorkflowInstanceList, CreateWorkflowInstanceDialog, WorkflowInstanceDetailPanel, PATTERN_LABELS, WORKFLOW_CATEGORY_LABELS, deriveTemplateMeta, WorkflowTemplateCard, WorkflowTemplatePreview, WorkflowTemplateGallery, } from "./workflow";
|
|
105
|
-
export type { TaskKindDescriptor, TaskKindCategory, TaskFieldDescriptor, TaskFieldType, TaskFieldGroup, TaskKindRegistryState, UseTaskKindRegistryReturn, UseWorkflowReturn, UseWorkflowListOptions, UseWorkflowListReturn, UseWorkflowCountOptions, UseWorkflowCountReturn, UseWorkflowInstancesReturn, UseWorkflowExecutionListOptions, UseWorkflowExecutionListReturn, UseWorkflowExecutionReturn, UseWorkflowExecutionEventLogOptions, UseWorkflowExecutionEventLogReturn, UseWorkflowExecutionArtifactsReturn, UseWorkflowExecutionEventStreamOptions, UseWorkflowExecutionEventStreamReturn, UseWorkflowExecutionActionsReturn, WorkflowExecutionPhaseBadgeProps, WorkflowTaskListProps, WorkflowDetailViewProps, WorkflowExecutionViewerProps, WorkflowExecutionHeaderProps, WorkflowExecutionTimelineProps, WorkflowExecutionTaskPanelProps, WorkflowExecutionCostPanelProps, WorkflowExecutionArtifactPanelProps, WorkflowExecutionApprovalCardProps, UseWorkflowYamlReturn, UseWorkflowSaveReturn, UseWorkflowValidationReturn, UseWorkflowTopologyReturn, TopologyNode, TopologyEdge, TopologyNodeCategory, WorkflowYamlEditorProps, WorkflowCodePreviewGraphProps, UseWorkflowEditorOptions, UseWorkflowEditorReturn, WorkflowEditorViewProps, WorkflowEditorMode, UseRunWorkflowFlowOptions, UseRunWorkflowFlowReturn, RunWorkflowFieldErrors, WorkflowRunFormProps, WorkflowRunDialogProps, UseWorkflowDashboardSummaryOptions, UseWorkflowDashboardSummaryReturn, UsePendingApprovalsOptions, UsePendingApprovalsReturn, ExecutionSummaryWidgetProps, PendingApprovalsWidgetProps, FailedRunsWidgetProps, WorkflowDashboardProps, WorkflowGraphModel, WorkflowGraphNode, WorkflowGraphEdge, WorkflowGraphDocument, WorkflowGraphEnvVar, WorkflowGraphBudget, CanvasSelection, UseWorkflowCanvasOptions, UseWorkflowCanvasReturn, WorkflowCanvasEditorProps, WorkflowTaskPaletteProps, TaskPickerPopoverProps, CanvasContextMenuProps, CanvasContextMenuTarget, WorkflowInspectorPanelProps, TaskConfigFormProps, BranchConditionBuilderProps, ApprovalFormBuilderProps, UseResolveAgentExecutionSessionReturn, CostByWorkflowChartProps, ExecutionTrendChartProps, ExtractedWorkflowYaml, ArchitectPhase, UseWorkflowArchitectFlowOptions, UseWorkflowArchitectFlowReturn, WorkflowArchitectDialogProps, RefinePhase, UseRefineWorkflowFlowOptions, UseRefineWorkflowFlowReturn, WorkflowRefinePanelProps, DiffLine as WorkflowDiffLine, DiffLineType as WorkflowDiffLineType, DiagnosePhase, UseDiagnoseExecutionFlowOptions, UseDiagnoseExecutionFlowReturn, WorkflowRepairCardProps, UseElkLayoutEngineOptions, ExecutionRow, ExecutionHistorySortField, ExecutionHistorySortDirection, ExecutionClientFilters, FailureGroup, FailureInstance, UseExecutionHistoryDataOptions, UseExecutionHistoryDataReturn, ExecutionHistoryTableProps, ExecutionFilterBarProps, HealthMetricsStripProps, FailureAnalysisPanelProps, WorkflowExecutionHistoryProps, UseWorkflowInstanceReturn, UseCreateWorkflowInstanceReturn, UseUpdateWorkflowInstanceReturn, UseDeleteWorkflowInstanceReturn, WorkflowInstanceEmptyStateProps, WorkflowInstanceListProps, CreateWorkflowInstanceDialogProps, WorkflowInstanceDetailPanelProps, WorkflowTemplateData, WorkflowTemplateCategory, WorkflowTemplateMeta, WorkflowPattern, WorkflowTemplate, WorkflowTemplateCardProps, WorkflowTemplatePreviewProps, WorkflowTemplateGalleryProps, } from "./workflow";
|
|
106
|
+
export { TaskKindRegistryContext, useTaskKindRegistry, useWorkflow, useWorkflowList, useWorkflowCount, useWorkflowInstances, useWorkflowExecutionList, useWorkflowExecution, useWorkflowExecutionEventLog, useWorkflowExecutionArtifacts, useWorkflowExecutionEventStream, useWorkflowExecutionActions, WorkflowExecutionPhaseBadge, WorkflowTaskList, WorkflowDetailView, WorkflowExecutionViewer, WorkflowExecutionHeader, WorkflowExecutionTimeline, WorkflowExecutionTaskPanel, WorkflowExecutionCostPanel, WorkflowExecutionArtifactPanel, WorkflowExecutionApprovalCard, serializeWorkflowYaml, parseWorkflowYaml, useWorkflowYaml, useWorkflowSave, useWorkflowValidation, useWorkflowTopology, WorkflowYamlEditor, WorkflowCodePreviewGraph, useWorkflowEditor, WorkflowEditorView, useRunWorkflowFlow, WorkflowRunForm, WorkflowRunDialog, useWorkflowDashboardSummary, usePendingApprovals, ExecutionSummaryWidget, PendingApprovalsWidget, FailedRunsWidget, WorkflowDashboard, START_NODE_ID, END_NODE_ID, yamlToGraph, graphToYaml, graphToWorkflowInput, useWorkflowCanvas, TASK_KIND_DRAG_MIME, WorkflowCanvasEditor, WorkflowTaskPalette, TaskPickerPopover, CanvasContextMenu, WorkflowInspectorPanel, TaskConfigForm, BranchConditionBuilder, ApprovalFormBuilder, useResolveAgentExecutionSession, CostByWorkflowChart, ExecutionTrendChart, extractWorkflowYaml, useWorkflowArchitectFlow, WorkflowArchitectDialog, useRefineWorkflowFlow, WorkflowRefinePanel, computeUnifiedDiff, useDiagnoseExecutionFlow, WorkflowRepairCard, STARTER_WORKFLOW_YAML, useElkLayoutEngine, deriveExecutionRow, deriveExecutionRows, sortExecutionRows, filterExecutionRows, deriveFailureAnalysis, useExecutionHistoryData, ExecutionHistoryTable, ExecutionFilterBar, HealthMetricsStrip, FailureAnalysisPanel, WorkflowExecutionHistory, useWorkflowInstance, useCreateWorkflowInstance, useUpdateWorkflowInstance, useUpdateWorkflowInstanceExecutionVisibility, useDeleteWorkflowInstance, WorkflowInstanceEmptyState, WorkflowInstanceList, CreateWorkflowInstanceDialog, WorkflowInstanceDetailPanel, RunVisibilityControl, PATTERN_LABELS, WORKFLOW_CATEGORY_LABELS, deriveTemplateMeta, WorkflowTemplateCard, WorkflowTemplatePreview, WorkflowTemplateGallery, } from "./workflow";
|
|
107
|
+
export type { TaskKindDescriptor, TaskKindCategory, TaskFieldDescriptor, TaskFieldType, TaskFieldGroup, TaskKindRegistryState, UseTaskKindRegistryReturn, UseWorkflowReturn, UseWorkflowListOptions, UseWorkflowListReturn, UseWorkflowCountOptions, UseWorkflowCountReturn, UseWorkflowInstancesReturn, UseWorkflowExecutionListOptions, UseWorkflowExecutionListReturn, UseWorkflowExecutionReturn, UseWorkflowExecutionEventLogOptions, UseWorkflowExecutionEventLogReturn, UseWorkflowExecutionArtifactsReturn, UseWorkflowExecutionEventStreamOptions, UseWorkflowExecutionEventStreamReturn, UseWorkflowExecutionActionsReturn, WorkflowExecutionPhaseBadgeProps, WorkflowTaskListProps, WorkflowDetailViewProps, WorkflowExecutionViewerProps, WorkflowExecutionHeaderProps, WorkflowExecutionTimelineProps, WorkflowExecutionTaskPanelProps, WorkflowExecutionCostPanelProps, WorkflowExecutionArtifactPanelProps, WorkflowExecutionApprovalCardProps, UseWorkflowYamlReturn, UseWorkflowSaveReturn, UseWorkflowValidationReturn, UseWorkflowTopologyReturn, TopologyNode, TopologyEdge, TopologyNodeCategory, WorkflowYamlEditorProps, WorkflowCodePreviewGraphProps, UseWorkflowEditorOptions, UseWorkflowEditorReturn, WorkflowEditorViewProps, WorkflowEditorMode, UseRunWorkflowFlowOptions, UseRunWorkflowFlowReturn, RunWorkflowFieldErrors, WorkflowRunFormProps, WorkflowRunDialogProps, UseWorkflowDashboardSummaryOptions, UseWorkflowDashboardSummaryReturn, UsePendingApprovalsOptions, UsePendingApprovalsReturn, ExecutionSummaryWidgetProps, PendingApprovalsWidgetProps, FailedRunsWidgetProps, WorkflowDashboardProps, WorkflowGraphModel, WorkflowGraphNode, WorkflowGraphEdge, WorkflowGraphDocument, WorkflowGraphEnvVar, WorkflowGraphBudget, CanvasSelection, UseWorkflowCanvasOptions, UseWorkflowCanvasReturn, WorkflowCanvasEditorProps, WorkflowTaskPaletteProps, TaskPickerPopoverProps, CanvasContextMenuProps, CanvasContextMenuTarget, WorkflowInspectorPanelProps, TaskConfigFormProps, BranchConditionBuilderProps, ApprovalFormBuilderProps, UseResolveAgentExecutionSessionReturn, CostByWorkflowChartProps, ExecutionTrendChartProps, ExtractedWorkflowYaml, ArchitectPhase, UseWorkflowArchitectFlowOptions, UseWorkflowArchitectFlowReturn, WorkflowArchitectDialogProps, RefinePhase, UseRefineWorkflowFlowOptions, UseRefineWorkflowFlowReturn, WorkflowRefinePanelProps, DiffLine as WorkflowDiffLine, DiffLineType as WorkflowDiffLineType, DiagnosePhase, UseDiagnoseExecutionFlowOptions, UseDiagnoseExecutionFlowReturn, WorkflowRepairCardProps, UseElkLayoutEngineOptions, ExecutionRow, ExecutionHistorySortField, ExecutionHistorySortDirection, ExecutionClientFilters, FailureGroup, FailureInstance, UseExecutionHistoryDataOptions, UseExecutionHistoryDataReturn, ExecutionHistoryTableProps, ExecutionFilterBarProps, HealthMetricsStripProps, FailureAnalysisPanelProps, WorkflowExecutionHistoryProps, UseWorkflowInstanceReturn, UseCreateWorkflowInstanceReturn, UseUpdateWorkflowInstanceReturn, UseUpdateWorkflowInstanceExecutionVisibilityReturn, UseDeleteWorkflowInstanceReturn, WorkflowInstanceEmptyStateProps, WorkflowInstanceListProps, CreateWorkflowInstanceDialogProps, WorkflowInstanceDetailPanelProps, RunVisibilityControlProps, WorkflowTemplateData, WorkflowTemplateCategory, WorkflowTemplateMeta, WorkflowPattern, WorkflowTemplate, WorkflowTemplateCardProps, WorkflowTemplatePreviewProps, WorkflowTemplateGalleryProps, } from "./workflow";
|
|
106
108
|
export { type DashboardSummary, type DashboardFailedRun, useAgentExecutionSummary, AgentExecutionSummaryTimeWindow, type UseAgentExecutionSummaryOptions, type UseAgentExecutionSummaryReturn, useDashboardSummary, type UseDashboardSummaryOptions, type UseDashboardSummaryReturn, useDashboardFailedRuns, type UseDashboardFailedRunsReturn, DashboardKPICards, type DashboardKPICardsProps, DashboardFailedRuns, type DashboardFailedRunsProps, OperationalDashboard, type OperationalDashboardProps, } from "./dashboard";
|
|
107
109
|
//# sourceMappingURL=index.d.ts.map
|