@stigmer/react 0.0.53 → 0.0.54

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 (113) hide show
  1. package/execution/ArtifactCard.d.ts +11 -1
  2. package/execution/ArtifactCard.d.ts.map +1 -1
  3. package/execution/ArtifactCard.js +22 -3
  4. package/execution/ArtifactCard.js.map +1 -1
  5. package/execution/ArtifactPreviewModal.d.ts.map +1 -1
  6. package/execution/ArtifactPreviewModal.js +1 -1
  7. package/execution/ArtifactPreviewModal.js.map +1 -1
  8. package/execution/ArtifactsWidget.d.ts +26 -19
  9. package/execution/ArtifactsWidget.d.ts.map +1 -1
  10. package/execution/ArtifactsWidget.js +24 -26
  11. package/execution/ArtifactsWidget.js.map +1 -1
  12. package/execution/MessageThread.d.ts +10 -1
  13. package/execution/MessageThread.d.ts.map +1 -1
  14. package/execution/MessageThread.js +19 -17
  15. package/execution/MessageThread.js.map +1 -1
  16. package/execution/SandboxContext.d.ts +32 -0
  17. package/execution/SandboxContext.d.ts.map +1 -0
  18. package/execution/SandboxContext.js +26 -0
  19. package/execution/SandboxContext.js.map +1 -0
  20. package/execution/ToolArgsView.d.ts.map +1 -1
  21. package/execution/ToolArgsView.js +3 -1
  22. package/execution/ToolArgsView.js.map +1 -1
  23. package/execution/ToolCallDetail.d.ts.map +1 -1
  24. package/execution/ToolCallDetail.js +3 -1
  25. package/execution/ToolCallDetail.js.map +1 -1
  26. package/execution/ToolCallItem.d.ts.map +1 -1
  27. package/execution/ToolCallItem.js +7 -1
  28. package/execution/ToolCallItem.js.map +1 -1
  29. package/execution/WriteBackCard.d.ts +34 -0
  30. package/execution/WriteBackCard.d.ts.map +1 -0
  31. package/execution/WriteBackCard.js +75 -0
  32. package/execution/WriteBackCard.js.map +1 -0
  33. package/execution/WriteBacksWidget.d.ts +49 -0
  34. package/execution/WriteBacksWidget.d.ts.map +1 -0
  35. package/execution/WriteBacksWidget.js +44 -0
  36. package/execution/WriteBacksWidget.js.map +1 -0
  37. package/execution/__tests__/file-path-resolver.test.d.ts +2 -0
  38. package/execution/__tests__/file-path-resolver.test.d.ts.map +1 -0
  39. package/execution/__tests__/file-path-resolver.test.js +180 -0
  40. package/execution/__tests__/file-path-resolver.test.js.map +1 -0
  41. package/execution/file-path-resolver.d.ts +3 -3
  42. package/execution/file-path-resolver.d.ts.map +1 -1
  43. package/execution/file-path-resolver.js +23 -12
  44. package/execution/file-path-resolver.js.map +1 -1
  45. package/execution/index.d.ts +9 -0
  46. package/execution/index.d.ts.map +1 -1
  47. package/execution/index.js +5 -0
  48. package/execution/index.js.map +1 -1
  49. package/execution/sandbox-path-normalizer.d.ts +46 -0
  50. package/execution/sandbox-path-normalizer.d.ts.map +1 -0
  51. package/execution/sandbox-path-normalizer.js +73 -0
  52. package/execution/sandbox-path-normalizer.js.map +1 -0
  53. package/execution/useArtifactContent.d.ts +5 -1
  54. package/execution/useArtifactContent.d.ts.map +1 -1
  55. package/execution/useArtifactContent.js +6 -2
  56. package/execution/useArtifactContent.js.map +1 -1
  57. package/execution/useWorkspaceWriteBacks.d.ts +40 -0
  58. package/execution/useWorkspaceWriteBacks.d.ts.map +1 -0
  59. package/execution/useWorkspaceWriteBacks.js +41 -0
  60. package/execution/useWorkspaceWriteBacks.js.map +1 -0
  61. package/github/GitHubRepoPicker.d.ts +5 -2
  62. package/github/GitHubRepoPicker.d.ts.map +1 -1
  63. package/github/GitHubRepoPicker.js +133 -36
  64. package/github/GitHubRepoPicker.js.map +1 -1
  65. package/github/index.d.ts +1 -0
  66. package/github/index.d.ts.map +1 -1
  67. package/github/index.js +1 -0
  68. package/github/index.js.map +1 -1
  69. package/github/useGitHubSearch.d.ts +20 -0
  70. package/github/useGitHubSearch.d.ts.map +1 -0
  71. package/github/useGitHubSearch.js +127 -0
  72. package/github/useGitHubSearch.js.map +1 -0
  73. package/index.d.ts +6 -6
  74. package/index.d.ts.map +1 -1
  75. package/index.js +3 -3
  76. package/index.js.map +1 -1
  77. package/package.json +4 -4
  78. package/session/index.d.ts +4 -0
  79. package/session/index.d.ts.map +1 -1
  80. package/session/index.js +2 -0
  81. package/session/index.js.map +1 -1
  82. package/session/useSessionArtifacts.d.ts +73 -0
  83. package/session/useSessionArtifacts.d.ts.map +1 -0
  84. package/session/useSessionArtifacts.js +95 -0
  85. package/session/useSessionArtifacts.js.map +1 -0
  86. package/session/useSessionWriteBacks.d.ts +56 -0
  87. package/session/useSessionWriteBacks.d.ts.map +1 -0
  88. package/session/useSessionWriteBacks.js +56 -0
  89. package/session/useSessionWriteBacks.js.map +1 -0
  90. package/src/execution/ArtifactCard.tsx +40 -0
  91. package/src/execution/ArtifactPreviewModal.tsx +2 -0
  92. package/src/execution/ArtifactsWidget.tsx +51 -43
  93. package/src/execution/MessageThread.tsx +18 -0
  94. package/src/execution/SandboxContext.ts +47 -0
  95. package/src/execution/ToolArgsView.tsx +3 -1
  96. package/src/execution/ToolCallDetail.tsx +3 -1
  97. package/src/execution/ToolCallItem.tsx +7 -1
  98. package/src/execution/WriteBackCard.tsx +210 -0
  99. package/src/execution/WriteBacksWidget.tsx +82 -0
  100. package/src/execution/__tests__/file-path-resolver.test.ts +295 -0
  101. package/src/execution/file-path-resolver.ts +24 -12
  102. package/src/execution/index.ts +13 -0
  103. package/src/execution/sandbox-path-normalizer.ts +80 -0
  104. package/src/execution/useArtifactContent.ts +6 -1
  105. package/src/execution/useWorkspaceWriteBacks.ts +56 -0
  106. package/src/github/GitHubRepoPicker.tsx +413 -108
  107. package/src/github/index.ts +5 -0
  108. package/src/github/useGitHubSearch.ts +162 -0
  109. package/src/index.ts +14 -0
  110. package/src/session/index.ts +12 -0
  111. package/src/session/useSessionArtifacts.ts +143 -0
  112. package/src/session/useSessionWriteBacks.ts +94 -0
  113. package/styles.css +1 -1
@@ -2,6 +2,7 @@
2
2
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState, useCallback, useEffect, useRef, useMemo, } from "react";
4
4
  import { useGitHubRepos } from "./useGitHubRepos";
5
+ import { useGitHubSearch } from "./useGitHubSearch";
5
6
  const RECENT_REPOS_KEY = "stigmer:github:recent-repos";
6
7
  const MAX_RECENT = 3;
7
8
  function getRecentRepos() {
@@ -21,7 +22,6 @@ function addRecentRepo(repo) {
21
22
  function groupRepos(filteredRepos, recentEntries) {
22
23
  const groups = [];
23
24
  const repoLookup = new Map(filteredRepos.map((r) => [`${r.owner}/${r.name}`, r]));
24
- // Recent group — only include entries that exist in the filtered set
25
25
  const recentMatched = recentEntries
26
26
  .map((r) => repoLookup.get(`${r.owner}/${r.name}`))
27
27
  .filter((r) => r !== undefined);
@@ -33,7 +33,6 @@ function groupRepos(filteredRepos, recentEntries) {
33
33
  repos: recentMatched,
34
34
  });
35
35
  }
36
- // Owner groups — personal (User) repos first, then orgs by repo count
37
36
  const ownerMap = new Map();
38
37
  for (const repo of filteredRepos) {
39
38
  const existing = ownerMap.get(repo.owner);
@@ -69,26 +68,38 @@ function HighlightMatch({ text, query }) {
69
68
  // Main component
70
69
  // ---------------------------------------------------------------------------
71
70
  const LIST_ID = "stgm-repo-list";
71
+ const GITHUB_INSTALLATIONS_URL = "https://github.com/settings/installations";
72
72
  /**
73
73
  * Styled component for browsing and selecting a GitHub repository.
74
74
  *
75
75
  * Features:
76
- * - Owner-grouped sections (personal repos first, then orgs)
76
+ * - Two modes: "My Repos" (user's own repos) and "All GitHub" (public search)
77
+ * - Owner-grouped sections in My Repos mode
77
78
  * - Recently selected repos pinned at top
78
- * - Fixed 300px max-height with scroll shadow indicators
79
+ * - Fixed max-height with scroll shadow indicators
79
80
  * - Keyboard navigation (Arrow keys, Enter, Escape)
80
81
  * - Search with match highlighting
81
82
  * - Branch selector after repo selection
83
+ * - Manual URL entry for repos not discoverable via search
84
+ * - Link to manage GitHub App repository access
82
85
  *
83
86
  * All visual properties flow through `--stgm-*` tokens.
84
87
  */
85
88
  export function GitHubRepoPicker({ token, onSelect, onCancel, className, }) {
86
- const { repos, isLoading, isBackgroundLoading, error, search, setSearch, fetchBranches, } = useGitHubRepos(token);
87
- // Branch selection state
89
+ const [mode, setMode] = useState("my-repos");
90
+ const [showManualEntry, setShowManualEntry] = useState(false);
91
+ // My Repos data
92
+ const myRepos = useGitHubRepos(token);
93
+ // All GitHub search data
94
+ const githubSearch = useGitHubSearch(token);
95
+ // Branch selection state (shared across modes)
88
96
  const [selectedRepo, setSelectedRepo] = useState(null);
89
97
  const [branches, setBranches] = useState([]);
90
98
  const [selectedBranch, setSelectedBranch] = useState("");
91
99
  const [loadingBranches, setLoadingBranches] = useState(false);
100
+ // Manual URL state
101
+ const [manualUrl, setManualUrl] = useState("");
102
+ const [manualBranch, setManualBranch] = useState("");
92
103
  // Keyboard navigation
93
104
  const [focusIndex, setFocusIndex] = useState(-1);
94
105
  const listRef = useRef(null);
@@ -98,9 +109,18 @@ export function GitHubRepoPicker({ token, onSelect, onCancel, className, }) {
98
109
  const [canScrollDown, setCanScrollDown] = useState(false);
99
110
  // Recent repos
100
111
  const [recentRepos, setRecentRepos] = useState(getRecentRepos);
101
- // Group and flatten repos for rendering + keyboard nav
102
- const groups = useMemo(() => groupRepos(repos, recentRepos), [repos, recentRepos]);
112
+ // --- Mode-dependent derived state ---
113
+ const activeSearch = mode === "my-repos" ? myRepos.search : githubSearch.query;
114
+ const setActiveSearch = mode === "my-repos" ? myRepos.setSearch : githubSearch.setQuery;
115
+ const activeRepos = mode === "my-repos" ? myRepos.repos : githubSearch.results;
116
+ const activeError = mode === "my-repos" ? myRepos.error : githubSearch.error;
117
+ const activeIsLoading = mode === "my-repos" ? myRepos.isLoading : githubSearch.isSearching;
118
+ // Group repos only in "my-repos" mode
119
+ const groups = useMemo(() => (mode === "my-repos" ? groupRepos(activeRepos, recentRepos) : []), [mode, activeRepos, recentRepos]);
120
+ // Flat list for keyboard nav: grouped in my-repos, flat in all-github
103
121
  const flatItems = useMemo(() => {
122
+ if (mode === "all-github")
123
+ return [...activeRepos];
104
124
  const items = [];
105
125
  for (const group of groups) {
106
126
  for (const repo of group.repos) {
@@ -108,11 +128,11 @@ export function GitHubRepoPicker({ token, onSelect, onCancel, className, }) {
108
128
  }
109
129
  }
110
130
  return items;
111
- }, [groups]);
112
- // Reset focus index when search changes
131
+ }, [mode, activeRepos, groups]);
132
+ // Reset focus index when search or mode changes
113
133
  useEffect(() => {
114
134
  setFocusIndex(-1);
115
- }, [search]);
135
+ }, [activeSearch, mode]);
116
136
  // Scroll focused item into view
117
137
  useEffect(() => {
118
138
  if (focusIndex >= 0) {
@@ -136,10 +156,22 @@ export function GitHubRepoPicker({ token, onSelect, onCancel, className, }) {
136
156
  updateScrollShadows();
137
157
  return () => el.removeEventListener("scroll", updateScrollShadows);
138
158
  }, [updateScrollShadows]);
139
- // Re-check shadows when repo data changes
140
159
  useEffect(() => {
141
160
  updateScrollShadows();
142
- }, [repos, updateScrollShadows]);
161
+ }, [activeRepos, updateScrollShadows]);
162
+ const handleModeSwitch = useCallback((newMode) => {
163
+ if (newMode === mode)
164
+ return;
165
+ setMode(newMode);
166
+ setFocusIndex(-1);
167
+ if (newMode === "my-repos") {
168
+ githubSearch.setQuery("");
169
+ }
170
+ else {
171
+ myRepos.setSearch("");
172
+ }
173
+ setTimeout(() => searchRef.current?.focus(), 0);
174
+ }, [mode, githubSearch, myRepos]);
143
175
  const handleRepoClick = useCallback(async (repo) => {
144
176
  setSelectedRepo({
145
177
  owner: repo.owner,
@@ -149,10 +181,10 @@ export function GitHubRepoPicker({ token, onSelect, onCancel, className, }) {
149
181
  });
150
182
  setSelectedBranch(repo.defaultBranch);
151
183
  setLoadingBranches(true);
152
- const b = await fetchBranches(repo.owner, repo.name);
184
+ const b = await myRepos.fetchBranches(repo.owner, repo.name);
153
185
  setBranches(b);
154
186
  setLoadingBranches(false);
155
- }, [fetchBranches]);
187
+ }, [myRepos]);
156
188
  const handleAdd = useCallback(() => {
157
189
  if (selectedRepo && selectedBranch) {
158
190
  addRecentRepo({
@@ -168,8 +200,15 @@ export function GitHubRepoPicker({ token, onSelect, onCancel, className, }) {
168
200
  setSelectedBranch("");
169
201
  }
170
202
  }, [selectedRepo, selectedBranch, onSelect]);
171
- // Combobox keyboard handler all keyboard interaction goes through the
172
- // search input so focus never leaves it.
203
+ const handleManualAdd = useCallback(() => {
204
+ const url = manualUrl.trim();
205
+ if (!url)
206
+ return;
207
+ onSelect(url, manualBranch.trim() || "main");
208
+ setManualUrl("");
209
+ setManualBranch("");
210
+ setShowManualEntry(false);
211
+ }, [manualUrl, manualBranch, onSelect]);
173
212
  const handleSearchKeyDown = useCallback((e) => {
174
213
  if (e.key === "ArrowDown") {
175
214
  e.preventDefault();
@@ -186,30 +225,46 @@ export function GitHubRepoPicker({ token, onSelect, onCancel, className, }) {
186
225
  handleRepoClick(flatItems[focusIndex]);
187
226
  }
188
227
  else if (e.key === "Enter") {
189
- // Prevent form submission when no item is focused
190
228
  e.preventDefault();
191
229
  }
192
230
  else if (e.key === "Escape") {
193
231
  e.preventDefault();
194
- if (search) {
195
- setSearch("");
232
+ if (activeSearch) {
233
+ setActiveSearch("");
196
234
  setFocusIndex(-1);
197
235
  }
198
236
  else {
199
237
  onCancel?.();
200
238
  }
201
239
  }
202
- }, [flatItems, focusIndex, handleRepoClick, onCancel, search, setSearch]);
240
+ }, [flatItems, focusIndex, handleRepoClick, onCancel, activeSearch, setActiveSearch]);
241
+ const handleManualKeyDown = useCallback((e) => {
242
+ if (e.key === "Enter") {
243
+ e.preventDefault();
244
+ handleManualAdd();
245
+ }
246
+ else if (e.key === "Escape") {
247
+ e.preventDefault();
248
+ setShowManualEntry(false);
249
+ setTimeout(() => searchRef.current?.focus(), 0);
250
+ }
251
+ }, [handleManualAdd]);
203
252
  // --- Branch selection view ---
204
253
  if (selectedRepo) {
205
254
  return (_jsxs("div", { className: ["space-y-2", className].filter(Boolean).join(" "), children: [_jsxs("div", { className: "flex items-center gap-2 text-xs text-foreground", children: [_jsx("button", { type: "button", onClick: () => {
206
255
  setSelectedRepo(null);
207
256
  setBranches([]);
208
- // Restore focus to search
209
257
  setTimeout(() => searchRef.current?.focus(), 0);
210
258
  }, className: "text-muted-foreground hover:text-foreground transition-colors", "aria-label": "Back to repo list", children: _jsx(ChevronLeftIcon, {}) }), _jsxs("span", { className: "font-medium truncate", children: [selectedRepo.owner, "/", selectedRepo.name] })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { className: "text-[0.65rem] text-muted-foreground", children: "Branch" }), loadingBranches ? (_jsx("div", { className: "text-xs text-muted-foreground", children: "Loading branches..." })) : (_jsx("select", { value: selectedBranch, onChange: (e) => setSelectedBranch(e.target.value), className: "w-full rounded-md border border-input bg-background px-2.5 py-1.5 text-xs text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: branches.map((b) => (_jsx("option", { value: b.name, children: b.name }, b.name))) }))] }), _jsx("div", { className: "flex justify-end", children: _jsx("button", { type: "button", onClick: handleAdd, disabled: !selectedBranch, className: "rounded-md bg-primary px-2.5 py-1 text-xs text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-40", children: "Add" }) })] }));
211
259
  }
212
- // --- Compute flat index offsets per group for rendering ---
260
+ // --- Manual URL entry view ---
261
+ if (showManualEntry) {
262
+ return (_jsxs("div", { className: ["space-y-2", className].filter(Boolean).join(" "), children: [_jsxs("div", { className: "flex items-center gap-2 text-xs text-foreground", children: [_jsx("button", { type: "button", onClick: () => {
263
+ setShowManualEntry(false);
264
+ setTimeout(() => searchRef.current?.focus(), 0);
265
+ }, className: "text-muted-foreground hover:text-foreground transition-colors", "aria-label": "Back to repo list", children: _jsx(ChevronLeftIcon, {}) }), _jsx("span", { className: "font-medium", children: "Paste a repository URL" })] }), _jsx("input", { type: "url", placeholder: "https://github.com/org/repo", value: manualUrl, onChange: (e) => setManualUrl(e.target.value), onKeyDown: handleManualKeyDown, className: "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-2 focus-visible:ring-ring", autoFocus: true }), _jsx("input", { type: "text", placeholder: "Branch (optional, defaults to main)", value: manualBranch, onChange: (e) => setManualBranch(e.target.value), onKeyDown: handleManualKeyDown, className: "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-2 focus-visible:ring-ring" }), _jsx("div", { className: "flex justify-end", children: _jsx("button", { type: "button", onClick: handleManualAdd, disabled: !manualUrl.trim(), className: "rounded-md bg-primary px-2.5 py-1 text-xs text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-40", children: "Add" }) })] }));
266
+ }
267
+ // --- Compute flat index offsets per group for "my-repos" rendering ---
213
268
  let runningIndex = 0;
214
269
  const groupOffsets = groups.map((g) => {
215
270
  const offset = runningIndex;
@@ -217,21 +272,63 @@ export function GitHubRepoPicker({ token, onSelect, onCancel, className, }) {
217
272
  return offset;
218
273
  });
219
274
  // --- Main repo list view ---
220
- return (_jsxs("div", { className: ["space-y-1.5", className].filter(Boolean).join(" "), children: [_jsx("input", { ref: searchRef, type: "text", role: "combobox", "aria-expanded": true, "aria-controls": LIST_ID, "aria-activedescendant": focusIndex >= 0 ? `stgm-repo-${focusIndex}` : undefined, placeholder: "Search repositories...", value: search, onChange: (e) => setSearch(e.target.value), onKeyDown: handleSearchKeyDown, className: "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-2 focus-visible:ring-ring", autoFocus: true }), error && (_jsx("p", { className: "text-xs text-destructive", children: error })), _jsxs("div", { className: "relative", children: [canScrollUp && (_jsx("div", { className: "absolute inset-x-0 top-0 h-3 z-10 pointer-events-none", style: {
275
+ return (_jsxs("div", { className: ["space-y-1.5", className].filter(Boolean).join(" "), children: [_jsxs("div", { className: "flex rounded-md border border-border bg-muted/30 p-0.5", children: [_jsx("button", { type: "button", onClick: () => handleModeSwitch("my-repos"), className: [
276
+ "flex-1 rounded px-2 py-1 text-[0.65rem] font-medium transition-colors",
277
+ mode === "my-repos"
278
+ ? "bg-background text-foreground shadow-sm"
279
+ : "text-muted-foreground hover:text-foreground",
280
+ ].join(" "), children: "My Repos" }), _jsx("button", { type: "button", onClick: () => handleModeSwitch("all-github"), className: [
281
+ "flex-1 rounded px-2 py-1 text-[0.65rem] font-medium transition-colors",
282
+ mode === "all-github"
283
+ ? "bg-background text-foreground shadow-sm"
284
+ : "text-muted-foreground hover:text-foreground",
285
+ ].join(" "), children: "All GitHub" })] }), _jsx("input", { ref: searchRef, type: "text", role: "combobox", "aria-expanded": true, "aria-controls": LIST_ID, "aria-activedescendant": focusIndex >= 0 ? `stgm-repo-${focusIndex}` : undefined, placeholder: mode === "my-repos"
286
+ ? "Search repositories..."
287
+ : "Search all of GitHub...", value: activeSearch, onChange: (e) => setActiveSearch(e.target.value), onKeyDown: handleSearchKeyDown, className: "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-2 focus-visible:ring-ring", autoFocus: true }), activeError && (_jsx("p", { className: "text-xs text-destructive", children: activeError })), _jsxs("div", { className: "relative", children: [canScrollUp && (_jsx("div", { className: "absolute inset-x-0 top-0 h-3 z-10 pointer-events-none", style: {
221
288
  background: "linear-gradient(to bottom, var(--color-card, hsl(0 0% 9%)), transparent)",
222
- } })), _jsx("div", { ref: listRef, id: LIST_ID, role: "listbox", "aria-label": "Repositories", className: "max-h-64 overflow-y-auto", children: isLoading ? (_jsx(LoadingSkeleton, {})) : flatItems.length === 0 ? (_jsx("div", { className: "py-4 text-center text-xs text-muted-foreground", children: search
223
- ? "No repos match your search"
224
- : "No repositories found" })) : (_jsxs(_Fragment, { children: [groups.map((group, gi) => (_jsxs("div", { children: [_jsxs("div", { className: "sticky top-0 z-[1] bg-card/95 px-2 py-1 text-[0.65rem] font-medium text-muted-foreground backdrop-blur-sm", children: [group.label, !group.isRecent && (_jsxs("span", { className: "ml-1 opacity-50", children: ["(", group.repos.length, ")"] }))] }), group.repos.map((repo, ri) => {
225
- const flatIdx = groupOffsets[gi] + ri;
226
- return (_jsxs("button", { id: `stgm-repo-${flatIdx}`, type: "button", "data-idx": flatIdx, onClick: () => handleRepoClick(repo), className: [
227
- "flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs transition-colors",
228
- flatIdx === focusIndex
229
- ? "bg-accent text-foreground"
230
- : "text-foreground hover:bg-accent/50",
231
- ].join(" "), role: "option", "aria-selected": flatIdx === focusIndex, children: [_jsx("span", { className: "min-w-0 flex-1 truncate", children: group.isRecent ? (_jsx(HighlightMatch, { text: repo.fullName, query: search })) : (_jsx(HighlightMatch, { text: repo.name, query: search })) }), _jsx("span", { className: "shrink-0 rounded px-1 py-0.5 text-[0.6rem] bg-muted text-muted-foreground", children: repo.isPrivate ? "private" : "public" })] }, `${group.key}-${repo.id}`));
232
- })] }, group.key))), isBackgroundLoading && (_jsx("div", { className: "py-1 text-center text-[0.6rem] text-muted-foreground", children: "Loading more..." }))] })) }), canScrollDown && (_jsx("div", { className: "absolute inset-x-0 bottom-0 h-3 z-10 pointer-events-none", style: {
289
+ } })), _jsx("div", { ref: listRef, id: LIST_ID, role: "listbox", "aria-label": "Repositories", className: "max-h-64 overflow-y-auto", children: mode === "my-repos" ? (_jsx(MyReposList, { groups: groups, groupOffsets: groupOffsets, flatItems: flatItems, focusIndex: focusIndex, isLoading: myRepos.isLoading, isBackgroundLoading: myRepos.isBackgroundLoading, search: myRepos.search, onRepoClick: handleRepoClick })) : (_jsx(SearchResultsList, { results: githubSearch.results, focusIndex: focusIndex, isSearching: githubSearch.isSearching, query: githubSearch.query, totalCount: githubSearch.totalCount, hasMore: githubSearch.hasMore, onRepoClick: handleRepoClick, onLoadMore: githubSearch.loadMore })) }), canScrollDown && (_jsx("div", { className: "absolute inset-x-0 bottom-0 h-3 z-10 pointer-events-none", style: {
233
290
  background: "linear-gradient(to top, var(--color-card, hsl(0 0% 9%)), transparent)",
234
- } }))] })] }));
291
+ } }))] }), _jsxs("div", { className: "flex items-center gap-3 border-t border-border pt-1.5 text-[0.65rem] text-muted-foreground", children: [_jsx("button", { type: "button", onClick: () => setShowManualEntry(true), className: "hover:text-foreground transition-colors", children: "Paste a URL" }), _jsx("span", { className: "opacity-30", children: "\u00B7" }), _jsx("a", { href: GITHUB_INSTALLATIONS_URL, target: "_blank", rel: "noopener noreferrer", className: "hover:text-foreground transition-colors", children: "Manage access" })] })] }));
292
+ }
293
+ // ---------------------------------------------------------------------------
294
+ // My Repos list (grouped)
295
+ // ---------------------------------------------------------------------------
296
+ function MyReposList({ groups, groupOffsets, flatItems, focusIndex, isLoading, isBackgroundLoading, search, onRepoClick, }) {
297
+ if (isLoading)
298
+ return _jsx(LoadingSkeleton, {});
299
+ if (flatItems.length === 0) {
300
+ return (_jsx("div", { className: "py-4 text-center text-xs text-muted-foreground", children: search ? "No repos match your search" : "No repositories found" }));
301
+ }
302
+ return (_jsxs(_Fragment, { children: [groups.map((group, gi) => (_jsxs("div", { children: [_jsxs("div", { className: "sticky top-0 z-[1] bg-card/95 px-2 py-1 text-[0.65rem] font-medium text-muted-foreground backdrop-blur-sm", children: [group.label, !group.isRecent && (_jsxs("span", { className: "ml-1 opacity-50", children: ["(", group.repos.length, ")"] }))] }), group.repos.map((repo, ri) => {
303
+ const flatIdx = groupOffsets[gi] + ri;
304
+ return (_jsx(RepoRow, { repo: repo, flatIdx: flatIdx, focusIndex: focusIndex, displayName: group.isRecent ? repo.fullName : repo.name, query: search, onClick: onRepoClick }, `${group.key}-${repo.id}`));
305
+ })] }, group.key))), isBackgroundLoading && (_jsx("div", { className: "py-1 text-center text-[0.6rem] text-muted-foreground", children: "Loading more..." }))] }));
306
+ }
307
+ // ---------------------------------------------------------------------------
308
+ // All GitHub search results list (flat)
309
+ // ---------------------------------------------------------------------------
310
+ function SearchResultsList({ results, focusIndex, isSearching, query, totalCount, hasMore, onRepoClick, onLoadMore, }) {
311
+ if (!query) {
312
+ return (_jsx("div", { className: "py-6 text-center text-xs text-muted-foreground", children: "Type to search all of GitHub" }));
313
+ }
314
+ if (isSearching && results.length === 0) {
315
+ return _jsx(LoadingSkeleton, {});
316
+ }
317
+ if (results.length === 0) {
318
+ return (_jsx("div", { className: "py-4 text-center text-xs text-muted-foreground", children: "No repositories found" }));
319
+ }
320
+ return (_jsxs(_Fragment, { children: [totalCount > 0 && (_jsxs("div", { className: "px-2 py-1 text-[0.6rem] text-muted-foreground", children: [totalCount.toLocaleString(), " ", totalCount === 1 ? "result" : "results"] })), results.map((repo, i) => (_jsx(RepoRow, { repo: repo, flatIdx: i, focusIndex: focusIndex, displayName: repo.fullName, query: query, onClick: onRepoClick }, repo.id))), isSearching && (_jsx("div", { className: "py-1 text-center text-[0.6rem] text-muted-foreground", children: "Searching..." })), hasMore && !isSearching && (_jsx("button", { type: "button", onClick: onLoadMore, className: "w-full py-1.5 text-center text-[0.65rem] text-muted-foreground hover:text-foreground transition-colors", children: "Load more results" }))] }));
321
+ }
322
+ // ---------------------------------------------------------------------------
323
+ // Shared repo row
324
+ // ---------------------------------------------------------------------------
325
+ function RepoRow({ repo, flatIdx, focusIndex, displayName, query, onClick, }) {
326
+ return (_jsxs("button", { id: `stgm-repo-${flatIdx}`, type: "button", "data-idx": flatIdx, onClick: () => onClick(repo), className: [
327
+ "flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs transition-colors",
328
+ flatIdx === focusIndex
329
+ ? "bg-accent text-foreground"
330
+ : "text-foreground hover:bg-accent/50",
331
+ ].join(" "), role: "option", "aria-selected": flatIdx === focusIndex, children: [_jsx("span", { className: "min-w-0 flex-1 truncate", children: _jsx(HighlightMatch, { text: displayName, query: query }) }), _jsx("span", { className: "shrink-0 rounded px-1 py-0.5 text-[0.6rem] bg-muted text-muted-foreground", children: repo.isPrivate ? "private" : "public" })] }));
235
332
  }
236
333
  // ---------------------------------------------------------------------------
237
334
  // Loading skeleton
@@ -1 +1 @@
1
- {"version":3,"file":"GitHubRepoPicker.js","sourceRoot":"","sources":["../../src/github/GitHubRepoPicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GitHubRepoPicker.js","sourceRoot":"","sources":["../../src/github/GitHubRepoPicker.tsx"],"names":[],"mappings":"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"}
package/github/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { useGitHubConnection, GITHUB_CALLBACK_MESSAGE_TYPE, type GitHubUser, type GitHubConnectOptions, type UseGitHubConnectionReturn, } from "./useGitHubConnection";
2
2
  export { useGitHubRepos, type GitHubRepo, type GitHubBranch, type UseGitHubReposReturn, } from "./useGitHubRepos";
3
+ export { useGitHubSearch, type UseGitHubSearchReturn, } from "./useGitHubSearch";
3
4
  export { GitHubRepoPicker, type GitHubRepoPickerProps, } from "./GitHubRepoPicker";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,cAAc,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,cAAc,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC"}
package/github/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { useGitHubConnection, GITHUB_CALLBACK_MESSAGE_TYPE, } from "./useGitHubConnection";
2
2
  export { useGitHubRepos, } from "./useGitHubRepos";
3
+ export { useGitHubSearch, } from "./useGitHubSearch";
3
4
  export { GitHubRepoPicker, } from "./GitHubRepoPicker";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAI7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,cAAc,GAIf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,GAEjB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAI7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,cAAc,GAIf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,GAEhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,gBAAgB,GAEjB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { GitHubRepo } from "./useGitHubRepos";
2
+ export interface UseGitHubSearchReturn {
3
+ readonly results: readonly GitHubRepo[];
4
+ readonly isSearching: boolean;
5
+ readonly error: string | null;
6
+ readonly query: string;
7
+ readonly setQuery: (query: string) => void;
8
+ readonly totalCount: number;
9
+ readonly hasMore: boolean;
10
+ readonly loadMore: () => void;
11
+ }
12
+ /**
13
+ * Data hook that searches GitHub's public repository index.
14
+ *
15
+ * Uses the GitHub Search API (`/search/repositories`) with debounced input.
16
+ * Finds repositories across all of GitHub, not just the user's own repos.
17
+ * Works with or without an auth token (auth: 30 req/min; unauth: 10 req/min).
18
+ */
19
+ export declare function useGitHubSearch(token: string | null): UseGitHubSearchReturn;
20
+ //# sourceMappingURL=useGitHubSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGitHubSearch.d.ts","sourceRoot":"","sources":["../../src/github/useGitHubSearch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B;AA4DD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,qBAAqB,CA0EvB"}
@@ -0,0 +1,127 @@
1
+ "use client";
2
+ import { useCallback, useEffect, useRef, useState } from "react";
3
+ const GITHUB_SEARCH_API = "https://api.github.com/search/repositories";
4
+ const DEBOUNCE_MS = 350;
5
+ const PER_PAGE = 30;
6
+ function parseSearchItem(r) {
7
+ const ownerObj = r.owner;
8
+ return {
9
+ id: r.id,
10
+ fullName: r.full_name,
11
+ name: r.name,
12
+ owner: ownerObj.login,
13
+ ownerType: ownerObj.type === "Organization" ? "Organization" : "User",
14
+ htmlUrl: r.html_url,
15
+ cloneUrl: r.clone_url,
16
+ defaultBranch: r.default_branch,
17
+ isPrivate: r.private,
18
+ updatedAt: r.updated_at,
19
+ };
20
+ }
21
+ async function searchRepos(query, page, token) {
22
+ const params = new URLSearchParams({
23
+ q: query,
24
+ sort: "stars",
25
+ order: "desc",
26
+ per_page: String(PER_PAGE),
27
+ page: String(page),
28
+ });
29
+ const headers = {
30
+ Accept: "application/vnd.github+json",
31
+ };
32
+ if (token) {
33
+ headers.Authorization = `Bearer ${token}`;
34
+ }
35
+ const resp = await fetch(`${GITHUB_SEARCH_API}?${params}`, { headers });
36
+ if (!resp.ok) {
37
+ if (resp.status === 403) {
38
+ throw new Error("GitHub search rate limit exceeded. Try again shortly.");
39
+ }
40
+ throw new Error(`GitHub search error: ${resp.status}`);
41
+ }
42
+ const data = (await resp.json());
43
+ const repos = data.items.map(parseSearchItem);
44
+ const totalCount = data.total_count;
45
+ const hasMore = page * PER_PAGE < totalCount;
46
+ return { repos, totalCount, hasMore };
47
+ }
48
+ /**
49
+ * Data hook that searches GitHub's public repository index.
50
+ *
51
+ * Uses the GitHub Search API (`/search/repositories`) with debounced input.
52
+ * Finds repositories across all of GitHub, not just the user's own repos.
53
+ * Works with or without an auth token (auth: 30 req/min; unauth: 10 req/min).
54
+ */
55
+ export function useGitHubSearch(token) {
56
+ const [query, setQuery] = useState("");
57
+ const [debouncedQuery, setDebouncedQuery] = useState("");
58
+ const [results, setResults] = useState([]);
59
+ const [isSearching, setIsSearching] = useState(false);
60
+ const [error, setError] = useState(null);
61
+ const [totalCount, setTotalCount] = useState(0);
62
+ const [hasMore, setHasMore] = useState(false);
63
+ const [page, setPage] = useState(1);
64
+ const debounceTimer = useRef(undefined);
65
+ useEffect(() => {
66
+ clearTimeout(debounceTimer.current);
67
+ if (!query.trim()) {
68
+ setDebouncedQuery("");
69
+ setResults([]);
70
+ setTotalCount(0);
71
+ setHasMore(false);
72
+ setError(null);
73
+ return;
74
+ }
75
+ debounceTimer.current = setTimeout(() => {
76
+ setDebouncedQuery(query.trim());
77
+ setPage(1);
78
+ }, DEBOUNCE_MS);
79
+ return () => clearTimeout(debounceTimer.current);
80
+ }, [query]);
81
+ useEffect(() => {
82
+ if (!debouncedQuery)
83
+ return;
84
+ const cancelled = { current: false };
85
+ async function run() {
86
+ setIsSearching(true);
87
+ setError(null);
88
+ try {
89
+ const result = await searchRepos(debouncedQuery, page, token);
90
+ if (cancelled.current)
91
+ return;
92
+ setResults((prev) => page === 1 ? result.repos : [...prev, ...result.repos]);
93
+ setTotalCount(result.totalCount);
94
+ setHasMore(result.hasMore);
95
+ }
96
+ catch (e) {
97
+ if (cancelled.current)
98
+ return;
99
+ setError(e instanceof Error ? e.message : "Search failed");
100
+ }
101
+ finally {
102
+ if (!cancelled.current)
103
+ setIsSearching(false);
104
+ }
105
+ }
106
+ run();
107
+ return () => {
108
+ cancelled.current = true;
109
+ };
110
+ }, [debouncedQuery, page, token]);
111
+ const loadMore = useCallback(() => {
112
+ if (hasMore && !isSearching) {
113
+ setPage((prev) => prev + 1);
114
+ }
115
+ }, [hasMore, isSearching]);
116
+ return {
117
+ results,
118
+ isSearching,
119
+ error,
120
+ query,
121
+ setQuery,
122
+ totalCount,
123
+ hasMore,
124
+ loadMore,
125
+ };
126
+ }
127
+ //# sourceMappingURL=useGitHubSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGitHubSearch.js","sourceRoot":"","sources":["../../src/github/useGitHubSearch.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -8,10 +8,10 @@ export { MODEL_REGISTRY, DEFAULT_MODEL_ID, useModelRegistry, ModelSelector, } fr
8
8
  export type { ModelInfo, Provider, CostTier, UseModelRegistryReturn, ModelSelectorProps, } from "./models";
9
9
  export { useWorkspaceEntries, WorkspaceEditor, useFolderListing, FolderBrowser, WorkspaceSummary, } from "./workspace";
10
10
  export type { WorkspaceEntry, UseWorkspaceEntriesReturn, WorkspaceEditorProps, FolderEntry, FolderListing, UseFolderListingReturn, FolderBrowserProps, WorkspaceSummaryProps, } from "./workspace";
11
- export { useCreateSession, useUpdateSession, useSession, useSessionList, useSessionExecutions, useSessionConversation, useAgentRefFromSession, groupSessionsByTime, PENDING_SUBJECT, resolvedSubject, } from "./session";
12
- export type { CreateSessionInput, CreateSessionResult, UseCreateSessionReturn, UseUpdateSessionReturn, UseSessionReturn, UseSessionListOptions, UseSessionListReturn, UseSessionExecutionsReturn, SendFollowUpOptions, UseSessionConversationReturn, UseAgentRefFromSessionReturn, SessionGroup, } from "./session";
13
- export { isTerminalPhase, useCreateAgentExecution, useExecutionStream, useExecutionUsage, aggregateUsage, useSubmitApproval, ExecutionPhaseBadge, SetupProgress, ExecutionProgress, ExecutionCostSummary, ToolCallGroup, ToolCallDetail, McpToolDetail, parseMcpResult, formatDuration, humanizeToolName, ToolCallItem, SubAgentSection, MessageEntry, MessageThread, FollowUpInput, ApprovalCard, ArtifactCard, ArtifactContentRenderer, ArtifactPreviewModal, ArtifactsWidget, ToolArgsView, McpArgsView, McpMetadataRow, FilePathLink, FilePathContext, classifyPath, resolveGitBrowseUrl, resolvePathAction, useSessionVariables, SessionVariablesInput, useExecutionArtifacts, useArtifactContent, isTextArtifact, isArtifactExpired, formatArtifactSize, getArtifactExtension, getFileExtension, getArtifactRenderMode, } from "./execution";
14
- export type { CreateAgentExecutionInput, CreateAgentExecutionResult, UseCreateAgentExecutionReturn, UseExecutionStreamReturn, UseExecutionUsageReturn, UseSubmitApprovalReturn, ExecutionPhaseBadgeProps, SetupProgressProps, ExecutionProgressProps, ExecutionCostSummaryProps, ToolCallGroupProps, ToolCallDetailProps, McpToolDetailProps, ToolArgsViewProps, ToolCallItemProps, SubAgentSectionProps, MessageEntryProps, MessageThreadProps, FollowUpInputProps, ApprovalCardProps, ArtifactCardProps, ArtifactContentRendererProps, ArtifactRenderMode, ArtifactPreviewModalProps, ArtifactsWidgetProps, FilePathLinkProps, FilePathContextValue, PathClassification, ResolvedPathAction, SessionVariableEntry, UseSessionVariablesReturn, SessionVariablesInputProps, UseExecutionArtifactsReturn, UseArtifactContentReturn, } from "./execution";
11
+ export { useCreateSession, useUpdateSession, useSession, useSessionList, useSessionExecutions, useSessionConversation, useSessionArtifacts, useSessionWriteBacks, useAgentRefFromSession, groupSessionsByTime, PENDING_SUBJECT, resolvedSubject, } from "./session";
12
+ export type { CreateSessionInput, CreateSessionResult, UseCreateSessionReturn, UseUpdateSessionReturn, UseSessionReturn, UseSessionListOptions, UseSessionListReturn, UseSessionExecutionsReturn, SendFollowUpOptions, UseSessionConversationReturn, SessionArtifactEntry, UseSessionArtifactsReturn, SessionWriteBackEntry, UseSessionWriteBacksReturn, UseAgentRefFromSessionReturn, SessionGroup, } from "./session";
13
+ export { isTerminalPhase, useCreateAgentExecution, useExecutionStream, useExecutionUsage, aggregateUsage, useSubmitApproval, ExecutionPhaseBadge, SetupProgress, ExecutionProgress, ExecutionCostSummary, ToolCallGroup, ToolCallDetail, McpToolDetail, parseMcpResult, formatDuration, humanizeToolName, ToolCallItem, SubAgentSection, MessageEntry, MessageThread, FollowUpInput, ApprovalCard, ArtifactCard, ArtifactContentRenderer, 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";
14
+ export type { CreateAgentExecutionInput, CreateAgentExecutionResult, UseCreateAgentExecutionReturn, UseExecutionStreamReturn, UseExecutionUsageReturn, UseSubmitApprovalReturn, ExecutionPhaseBadgeProps, SetupProgressProps, ExecutionProgressProps, ExecutionCostSummaryProps, ToolCallGroupProps, ToolCallDetailProps, McpToolDetailProps, ToolArgsViewProps, ToolCallItemProps, SubAgentSectionProps, MessageEntryProps, MessageThreadProps, FollowUpInputProps, ApprovalCardProps, ArtifactCardProps, ArtifactContentRendererProps, ArtifactRenderMode, ArtifactPreviewModalProps, ArtifactsWidgetProps, WriteBacksWidgetProps, FilePathLinkProps, FilePathContextValue, PathClassification, ResolvedPathAction, SessionVariableEntry, UseSessionVariablesReturn, SessionVariablesInputProps, UseExecutionArtifactsReturn, UseArtifactContentReturn, UseWorkspaceWriteBacksReturn, WriteBackCardProps, } from "./execution";
15
15
  export type { ExecutionArtifact } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/artifact_pb";
16
16
  export { ExecutionArtifactKind } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
17
17
  export { useAttachments, AttachmentChipList, MAX_ATTACHMENT_BYTES, detectContentType, formatFileSize, validateAttachmentSize, } from "./attachment";
@@ -22,8 +22,8 @@ export { useMcpServer, useMcpServerCount, useMcpServerList, useMcpServerSearch,
22
22
  export type { UseMcpServerReturn, UseMcpServerCountOptions, UseMcpServerCountReturn, UseMcpServerListOptions, UseMcpServerListReturn, UseMcpServerSearchOptions, UseMcpServerSearchReturn, UseMcpServerSetupReturn, SubmitMcpEnvVarsOptions, McpServerSetupEntry, McpServerSetupPhase, McpServerSetupState, McpServerPickerProps, McpServerSetupIntegration, McpServerConfigPanelProps, McpServerCredentialsProps, McpServerDetailViewProps, McpToolSelectorProps, UseDiscoverCapabilitiesReturn, UseMcpServerCredentialsReturn, UseTriggerApprovalPolicySessionReturn, TriggerApprovalPolicyResult, ApprovalPolicyGeneratorPanelProps, } from "./mcp-server";
23
23
  export { useSkill, useSkillCount, useSkillList, useSkillSearch, SkillPicker, SkillDetailView, } from "./skill";
24
24
  export type { UseSkillReturn, UseSkillCountOptions, UseSkillCountReturn, UseSkillListOptions, UseSkillListReturn, UseSkillSearchOptions, UseSkillSearchReturn, SkillPickerProps, SkillDetailViewProps, } from "./skill";
25
- export { useGitHubConnection, useGitHubRepos, GitHubRepoPicker, GITHUB_CALLBACK_MESSAGE_TYPE, } from "./github";
26
- export type { GitHubUser, GitHubConnectOptions, UseGitHubConnectionReturn, GitHubRepo, GitHubBranch, UseGitHubReposReturn, GitHubRepoPickerProps, } from "./github";
25
+ export { useGitHubConnection, useGitHubRepos, useGitHubSearch, GitHubRepoPicker, GITHUB_CALLBACK_MESSAGE_TYPE, } from "./github";
26
+ export type { GitHubUser, GitHubConnectOptions, UseGitHubConnectionReturn, GitHubRepo, GitHubBranch, UseGitHubReposReturn, UseGitHubSearchReturn, GitHubRepoPickerProps, } from "./github";
27
27
  export { useAgent, useAgentCount, useAgentList, useAgentSearch, AgentPicker, AgentDetailView, AgentEnvForm, diffEnvSpec, useAgentSetup, useDefaultAgent, } from "./agent";
28
28
  export type { UseAgentReturn, UseAgentCountOptions, UseAgentCountReturn, UseAgentListOptions, UseAgentListReturn, UseAgentSearchOptions, UseAgentSearchReturn, AgentPickerProps, AgentDetailViewProps, AgentEnvFormProps, AgentEnvFormSubmitOptions, AgentEnvFormVariable, AgentSetupResult, AgentSetupReadyResult, AgentSetupState, AgentSetupPhase, AgentResolution, SubmitEnvVarsOptions, UseAgentSetupReturn, UseDefaultAgentReturn, } from "./agent";
29
29
  export { useEnvironment, useEnvironmentList, usePersonalEnvironment, useCreateEnvironment, useUpdateEnvironment, useUpdateEnvironmentVariables, useRemoveEnvironmentVariables, useRevealSecretValue, EnvironmentVariableEditor, EnvironmentListPanel, CreateEnvironmentForm, EnvVarForm, useSessionEnvPool, } from "./environment";