@stigmer/react 3.0.7 → 3.0.8-dev.20260612073024

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/access/ManageAccessButton.d.ts +47 -0
  2. package/access/ManageAccessButton.d.ts.map +1 -0
  3. package/access/ManageAccessButton.js +45 -0
  4. package/access/ManageAccessButton.js.map +1 -0
  5. package/access/ManageAccessDialog.d.ts +60 -0
  6. package/access/ManageAccessDialog.d.ts.map +1 -0
  7. package/access/ManageAccessDialog.js +83 -0
  8. package/access/ManageAccessDialog.js.map +1 -0
  9. package/access/index.d.ts +5 -0
  10. package/access/index.d.ts.map +1 -0
  11. package/access/index.js +7 -0
  12. package/access/index.js.map +1 -0
  13. package/access/types.d.ts +56 -0
  14. package/access/types.d.ts.map +1 -0
  15. package/access/types.js +2 -0
  16. package/access/types.js.map +1 -0
  17. package/access/useManageAccess.d.ts +60 -0
  18. package/access/useManageAccess.d.ts.map +1 -0
  19. package/access/useManageAccess.js +41 -0
  20. package/access/useManageAccess.js.map +1 -0
  21. package/agent/AgentDetailView.d.ts.map +1 -1
  22. package/agent/AgentDetailView.js +34 -4
  23. package/agent/AgentDetailView.js.map +1 -1
  24. package/agent-instance/AgentInstanceDetailPanel.d.ts.map +1 -1
  25. package/agent-instance/AgentInstanceDetailPanel.js +14 -4
  26. package/agent-instance/AgentInstanceDetailPanel.js.map +1 -1
  27. package/iam-policy/GrantAccessForm.d.ts +15 -5
  28. package/iam-policy/GrantAccessForm.d.ts.map +1 -1
  29. package/iam-policy/GrantAccessForm.js +15 -12
  30. package/iam-policy/GrantAccessForm.js.map +1 -1
  31. package/iam-policy/OrgMembersPanel.d.ts.map +1 -1
  32. package/iam-policy/OrgMembersPanel.js +2 -1
  33. package/iam-policy/OrgMembersPanel.js.map +1 -1
  34. package/iam-policy/PeopleWithAccess.d.ts +34 -0
  35. package/iam-policy/PeopleWithAccess.d.ts.map +1 -0
  36. package/iam-policy/PeopleWithAccess.js +55 -0
  37. package/iam-policy/PeopleWithAccess.js.map +1 -0
  38. package/iam-policy/PrincipalPicker.d.ts +48 -0
  39. package/iam-policy/PrincipalPicker.d.ts.map +1 -0
  40. package/iam-policy/PrincipalPicker.js +139 -0
  41. package/iam-policy/PrincipalPicker.js.map +1 -0
  42. package/iam-policy/ProviderBadge.d.ts +28 -0
  43. package/iam-policy/ProviderBadge.d.ts.map +1 -0
  44. package/iam-policy/ProviderBadge.js +31 -0
  45. package/iam-policy/ProviderBadge.js.map +1 -0
  46. package/iam-policy/SharePanel.d.ts +13 -5
  47. package/iam-policy/SharePanel.d.ts.map +1 -1
  48. package/iam-policy/SharePanel.js +9 -34
  49. package/iam-policy/SharePanel.js.map +1 -1
  50. package/iam-policy/index.d.ts +3 -0
  51. package/iam-policy/index.d.ts.map +1 -1
  52. package/iam-policy/index.js +3 -0
  53. package/iam-policy/index.js.map +1 -1
  54. package/index.d.ts +8 -6
  55. package/index.d.ts.map +1 -1
  56. package/index.js +6 -3
  57. package/index.js.map +1 -1
  58. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  59. package/mcp-server/McpServerDetailView.js +41 -12
  60. package/mcp-server/McpServerDetailView.js.map +1 -1
  61. package/organization/OrgProvider.d.ts +9 -0
  62. package/organization/OrgProvider.d.ts.map +1 -1
  63. package/organization/OrgProvider.js +12 -0
  64. package/organization/OrgProvider.js.map +1 -1
  65. package/organization/index.d.ts +1 -1
  66. package/organization/index.d.ts.map +1 -1
  67. package/organization/index.js +1 -1
  68. package/organization/index.js.map +1 -1
  69. package/package.json +4 -4
  70. package/skill/SkillDetailView.d.ts.map +1 -1
  71. package/skill/SkillDetailView.js +31 -3
  72. package/skill/SkillDetailView.js.map +1 -1
  73. package/src/access/ManageAccessButton.tsx +115 -0
  74. package/src/access/ManageAccessDialog.tsx +239 -0
  75. package/src/access/__tests__/ManageAccessButton.test.tsx +62 -0
  76. package/src/access/__tests__/ManageAccessDialog.test.tsx +146 -0
  77. package/src/access/index.ts +21 -0
  78. package/src/access/types.ts +58 -0
  79. package/src/access/useManageAccess.tsx +101 -0
  80. package/src/agent/AgentDetailView.tsx +50 -21
  81. package/src/agent-instance/AgentInstanceDetailPanel.tsx +24 -42
  82. package/src/iam-policy/GrantAccessForm.tsx +30 -35
  83. package/src/iam-policy/OrgMembersPanel.tsx +2 -0
  84. package/src/iam-policy/PeopleWithAccess.tsx +220 -0
  85. package/src/iam-policy/PrincipalPicker.tsx +347 -0
  86. package/src/iam-policy/ProviderBadge.tsx +53 -0
  87. package/src/iam-policy/SharePanel.tsx +20 -165
  88. package/src/iam-policy/index.ts +17 -0
  89. package/src/index.ts +31 -0
  90. package/src/mcp-server/McpServerDetailView.tsx +37 -9
  91. package/src/organization/OrgProvider.tsx +13 -0
  92. package/src/organization/index.ts +1 -1
  93. package/src/session/__tests__/execution-target.test.ts +18 -0
  94. package/src/skill/SkillDetailView.tsx +34 -9
  95. package/src/workflow/WorkflowDetailView.tsx +49 -22
  96. package/src/workflow/WorkflowExecutionHeader.tsx +12 -1
  97. package/src/workflow/WorkflowExecutionViewer.tsx +8 -1
  98. package/src/workflow/index.ts +4 -0
  99. package/src/workflow/instance/RunVisibilityControl.tsx +116 -0
  100. package/src/workflow/instance/WorkflowInstanceDetailPanel.tsx +55 -42
  101. package/src/workflow/instance/index.ts +5 -0
  102. package/src/workflow/instance/useUpdateWorkflowInstanceExecutionVisibility.ts +74 -0
  103. package/styles.css +1 -1
  104. package/workflow/WorkflowDetailView.d.ts.map +1 -1
  105. package/workflow/WorkflowDetailView.js +31 -3
  106. package/workflow/WorkflowDetailView.js.map +1 -1
  107. package/workflow/WorkflowExecutionHeader.d.ts +7 -0
  108. package/workflow/WorkflowExecutionHeader.d.ts.map +1 -1
  109. package/workflow/WorkflowExecutionHeader.js +2 -2
  110. package/workflow/WorkflowExecutionHeader.js.map +1 -1
  111. package/workflow/WorkflowExecutionViewer.d.ts +6 -1
  112. package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
  113. package/workflow/WorkflowExecutionViewer.js +2 -2
  114. package/workflow/WorkflowExecutionViewer.js.map +1 -1
  115. package/workflow/index.d.ts +1 -1
  116. package/workflow/index.d.ts.map +1 -1
  117. package/workflow/index.js +1 -1
  118. package/workflow/index.js.map +1 -1
  119. package/workflow/instance/RunVisibilityControl.d.ts +25 -0
  120. package/workflow/instance/RunVisibilityControl.d.ts.map +1 -0
  121. package/workflow/instance/RunVisibilityControl.js +56 -0
  122. package/workflow/instance/RunVisibilityControl.js.map +1 -0
  123. package/workflow/instance/WorkflowInstanceDetailPanel.d.ts.map +1 -1
  124. package/workflow/instance/WorkflowInstanceDetailPanel.js +30 -4
  125. package/workflow/instance/WorkflowInstanceDetailPanel.js.map +1 -1
  126. package/workflow/instance/index.d.ts +2 -0
  127. package/workflow/instance/index.d.ts.map +1 -1
  128. package/workflow/instance/index.js +2 -0
  129. package/workflow/instance/index.js.map +1 -1
  130. package/workflow/instance/useUpdateWorkflowInstanceExecutionVisibility.d.ts +30 -0
  131. package/workflow/instance/useUpdateWorkflowInstanceExecutionVisibility.d.ts.map +1 -0
  132. package/workflow/instance/useUpdateWorkflowInstanceExecutionVisibility.js +39 -0
  133. 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 { type ShareFlowResource } from "./useShareFlow";
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
- * Combines the access list (from {@link useShareFlow}) with the
21
- * {@link GrantAccessForm} in a single panel suitable for embedding
22
- * in a popover, sidebar, or dialog.
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":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AAI3H,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGtE,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,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACP,SAAS,GACV,EAAE,eAAe,2CA4GjB"}
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"}
@@ -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 { getUserMessage } from "@stigmer/sdk";
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
- * Combines the access list (from {@link useShareFlow}) with the
13
- * {@link GrantAccessForm} in a single panel suitable for embedding
14
- * in a popover, sidebar, or dialog.
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
- const { accessList, isLoading, fetchError, revokeAccess, isRevoking, revokeError, refetch, hasGrantableRoles, } = useShareFlow(resource);
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":"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"}
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"}
@@ -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"}
@@ -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";
@@ -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
@@ -16,7 +16,7 @@ export type { ModelInfo, ModelRegistryState, ParsedModelKey, Provider, CostTier,
16
16
  export { useWorkspaceEntries, useWorkspaceFiles, useWorkspaceSources, WorkspaceEditor, WorkspaceEntryFiles, WorkspaceSummary, } from "./workspace";
17
17
  export type { WorkspaceEntry, WorkspaceFileEntry, WorkspaceFileLister, UseWorkspaceEntriesReturn, UseWorkspaceFilesOptions, UseWorkspaceFilesReturn, WorkspaceEntryFilesProps, UseWorkspaceSourcesOptions, UseWorkspaceSourcesReturn, WorkspaceEditorProps, WorkspaceSummaryProps, } from "./workspace";
18
18
  export { useCreateSession, useUpdateSession, useSession, useSessionList, useSessionExecutions, useSessionConversation, useSessionArtifacts, useSessionWriteBacks, useSessionUsage, useAgentRefFromSession, useNewSessionFlow, useSessionPageFlow, usePersistedModel, useEditSessionPrep, CREATOR_AGENTS, parseDraftType, parseDraftParams, groupSessionsByTime, groupSearchResultsByTime, useSessionSearch, PENDING_SUBJECT, resolvedSubject, SessionViewer, NewSessionViewer, SessionInspector, useSessionInspector, buildVisibleTabs, SetupTab, } from "./session";
19
- export type { SharedSessionFields, CreateSessionInput, CreateSessionResult, UseCreateSessionReturn, UseUpdateSessionReturn, UseSessionReturn, UseSessionListOptions, UseSessionListReturn, UseSessionSearchOptions, UseSessionSearchReturn, UseSessionExecutionsReturn, SendFollowUpOptions, UseSessionConversationReturn, SessionArtifactEntry, UseSessionArtifactsReturn, SessionWriteBackEntry, UseSessionWriteBacksReturn, ModelCostEntry, UseSessionUsageReturn, UseAgentRefFromSessionReturn, UseNewSessionFlowOptions, UseNewSessionFlowReturn, UseSessionPageFlowOptions, UseSessionPageFlowReturn, UsePersistedModelOptions, UsePersistedModelReturn, UseEditSessionPrepReturn, DraftResourceType, DraftParams, SessionGroup, SearchResultGroup, SessionViewerProps, NewSessionViewerProps, RuntimeEnvProvider, SessionAudience, SessionInspectorProps, SessionInspectorTabId, UseSessionInspectorOptions, UseSessionInspectorReturn, SetupTabProps, SetupTabMutationCallbacks, SelectedThreadItem, } from "./session";
19
+ export type { SharedSessionFields, CreateSessionInput, CreateSessionResult, UseCreateSessionReturn, UseUpdateSessionReturn, UseSessionReturn, UseSessionListOptions, UseSessionListReturn, UseSessionSearchOptions, UseSessionSearchReturn, UseSessionExecutionsReturn, SendFollowUpOptions, UseSessionConversationReturn, SessionArtifactEntry, UseSessionArtifactsReturn, SessionWriteBackEntry, UseSessionWriteBacksReturn, ModelCostEntry, UseSessionUsageReturn, UseAgentRefFromSessionReturn, UseNewSessionFlowOptions, UseNewSessionFlowReturn, UseSessionPageFlowOptions, UseSessionPageFlowReturn, UsePersistedModelOptions, UsePersistedModelReturn, UseEditSessionPrepReturn, DraftResourceType, DraftParams, SessionGroup, SearchResultGroup, SessionViewerProps, NewSessionViewerProps, ExecutionTargetOption, RuntimeEnvProvider, SessionAudience, SessionInspectorProps, SessionInspectorTabId, UseSessionInspectorOptions, UseSessionInspectorReturn, SetupTabProps, SetupTabMutationCallbacks, SelectedThreadItem, } from "./session";
20
20
  export { useRecentActivity, groupRecentActivityByTime, } from "./activity";
21
21
  export type { RecentActivityType, RecentActivityEntry, RecentActivityGroup, UseRecentActivityOptions, UseRecentActivityReturn, } from "./activity";
22
22
  export { isTerminalPhase, useCreateAgentExecution, useExecutionStream, useSubmitApproval, ExecutionPhaseBadge, InteractionModeBadge, SetupProgress, ExecutionProgress, TodoList, TodoInProgressIcon, findActiveTodo, todoCompletionSummary, UsageWidget, ContextGauge, SummarizationBadge, SummarizationCard, PlanCompletionCard, useContextWindow, formatCost, formatTokenCount, ToolCallGroup, ToolCallDetail, ResultView, summarizeResultView, useToolPresentation, registerToolPresenter, getToolPresenter, resolveToolCategory, resolveToolCategoryFromCall, resolveToolCategoryFromKind, toolKindToCategoryInfo, McpToolDetail, parseMcpResult, formatDuration, humanizeToolName, ToolCallItem, SubAgentSection, MessageEntry, MessageThread, ThreadSkeleton, FollowUpInput, ApprovalCard, ArtifactCard, ArtifactContentRenderer, ArtifactPreviewContent, ArtifactPreviewModal, ArtifactsWidget, WriteBacksWidget, ToolArgsView, McpArgsView, McpMetadataRow, FilePathLink, FilePathContext, classifyPath, resolveGitBrowseUrl, resolvePathAction, useSessionVariables, SessionVariablesInput, useExecutionArtifacts, useArtifactContent, useWorkspaceWriteBacks, WriteBackCard, isTextArtifact, isArtifactExpired, formatArtifactSize, getArtifactExtension, getFileExtension, getArtifactRenderMode, } from "./execution";
@@ -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 { OrgProvider, useOrg, useActiveOrgSlug, useOrgGate, useOrganization, useCreateOrganization, useUpdateOrganization, CreateOrganizationForm, OrgProfilePanel, OrgSwitcher, } from "./organization";
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