@agi-cli/web-sdk 0.1.61

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 (266) hide show
  1. package/README.md +187 -0
  2. package/dist/components/chat/ChatInput.d.ts +10 -0
  3. package/dist/components/chat/ChatInput.d.ts.map +1 -0
  4. package/dist/components/chat/ChatInput.js +53 -0
  5. package/dist/components/chat/ChatInput.js.map +1 -0
  6. package/dist/components/chat/ChatInputContainer.d.ts +9 -0
  7. package/dist/components/chat/ChatInputContainer.d.ts.map +1 -0
  8. package/dist/components/chat/ChatInputContainer.js +52 -0
  9. package/dist/components/chat/ChatInputContainer.js.map +1 -0
  10. package/dist/components/chat/ConfigModal.d.ts +13 -0
  11. package/dist/components/chat/ConfigModal.d.ts.map +1 -0
  12. package/dist/components/chat/ConfigModal.js +51 -0
  13. package/dist/components/chat/ConfigModal.js.map +1 -0
  14. package/dist/components/chat/ConfigSelector.d.ts +11 -0
  15. package/dist/components/chat/ConfigSelector.d.ts.map +1 -0
  16. package/dist/components/chat/ConfigSelector.js +47 -0
  17. package/dist/components/chat/ConfigSelector.js.map +1 -0
  18. package/dist/components/chat/StopButton.d.ts +8 -0
  19. package/dist/components/chat/StopButton.d.ts.map +1 -0
  20. package/dist/components/chat/StopButton.js +25 -0
  21. package/dist/components/chat/StopButton.js.map +1 -0
  22. package/dist/components/git/GitCommitModal.d.ts +2 -0
  23. package/dist/components/git/GitCommitModal.d.ts.map +1 -0
  24. package/dist/components/git/GitCommitModal.js +44 -0
  25. package/dist/components/git/GitCommitModal.js.map +1 -0
  26. package/dist/components/git/GitDiffPanel.d.ts +2 -0
  27. package/dist/components/git/GitDiffPanel.d.ts.map +1 -0
  28. package/dist/components/git/GitDiffPanel.js +69 -0
  29. package/dist/components/git/GitDiffPanel.js.map +1 -0
  30. package/dist/components/git/GitDiffViewer.d.ts +7 -0
  31. package/dist/components/git/GitDiffViewer.d.ts.map +1 -0
  32. package/dist/components/git/GitDiffViewer.js +136 -0
  33. package/dist/components/git/GitDiffViewer.js.map +1 -0
  34. package/dist/components/git/GitFileItem.d.ts +9 -0
  35. package/dist/components/git/GitFileItem.d.ts.map +1 -0
  36. package/dist/components/git/GitFileItem.js +90 -0
  37. package/dist/components/git/GitFileItem.js.map +1 -0
  38. package/dist/components/git/GitFileList.d.ts +7 -0
  39. package/dist/components/git/GitFileList.d.ts.map +1 -0
  40. package/dist/components/git/GitFileList.js +24 -0
  41. package/dist/components/git/GitFileList.js.map +1 -0
  42. package/dist/components/git/GitSidebar.d.ts +2 -0
  43. package/dist/components/git/GitSidebar.d.ts.map +1 -0
  44. package/dist/components/git/GitSidebar.js +38 -0
  45. package/dist/components/git/GitSidebar.js.map +1 -0
  46. package/dist/components/git/GitSidebarToggle.d.ts +2 -0
  47. package/dist/components/git/GitSidebarToggle.d.ts.map +1 -0
  48. package/dist/components/git/GitSidebarToggle.js +18 -0
  49. package/dist/components/git/GitSidebarToggle.js.map +1 -0
  50. package/dist/components/index.d.ts +28 -0
  51. package/dist/components/index.d.ts.map +1 -0
  52. package/dist/components/index.js +34 -0
  53. package/dist/components/index.js.map +1 -0
  54. package/dist/components/messages/AssistantMessageGroup.d.ts +10 -0
  55. package/dist/components/messages/AssistantMessageGroup.d.ts.map +1 -0
  56. package/dist/components/messages/AssistantMessageGroup.js +85 -0
  57. package/dist/components/messages/AssistantMessageGroup.js.map +1 -0
  58. package/dist/components/messages/MessagePartItem.d.ts +11 -0
  59. package/dist/components/messages/MessagePartItem.d.ts.map +1 -0
  60. package/dist/components/messages/MessagePartItem.js +290 -0
  61. package/dist/components/messages/MessagePartItem.js.map +1 -0
  62. package/dist/components/messages/MessageThread.d.ts +9 -0
  63. package/dist/components/messages/MessageThread.d.ts.map +1 -0
  64. package/dist/components/messages/MessageThread.js +88 -0
  65. package/dist/components/messages/MessageThread.js.map +1 -0
  66. package/dist/components/messages/MessageThreadContainer.d.ts +6 -0
  67. package/dist/components/messages/MessageThreadContainer.d.ts.map +1 -0
  68. package/dist/components/messages/MessageThreadContainer.js +18 -0
  69. package/dist/components/messages/MessageThreadContainer.js.map +1 -0
  70. package/dist/components/messages/UserMessageGroup.d.ts +8 -0
  71. package/dist/components/messages/UserMessageGroup.d.ts.map +1 -0
  72. package/dist/components/messages/UserMessageGroup.js +43 -0
  73. package/dist/components/messages/UserMessageGroup.js.map +1 -0
  74. package/dist/components/messages/renderers/ApplyPatchRenderer.d.ts +3 -0
  75. package/dist/components/messages/renderers/ApplyPatchRenderer.d.ts.map +1 -0
  76. package/dist/components/messages/renderers/ApplyPatchRenderer.js +36 -0
  77. package/dist/components/messages/renderers/ApplyPatchRenderer.js.map +1 -0
  78. package/dist/components/messages/renderers/BashRenderer.d.ts +3 -0
  79. package/dist/components/messages/renderers/BashRenderer.d.ts.map +1 -0
  80. package/dist/components/messages/renderers/BashRenderer.js +48 -0
  81. package/dist/components/messages/renderers/BashRenderer.js.map +1 -0
  82. package/dist/components/messages/renderers/DebugRenderer.d.ts +5 -0
  83. package/dist/components/messages/renderers/DebugRenderer.d.ts.map +1 -0
  84. package/dist/components/messages/renderers/DebugRenderer.js +5 -0
  85. package/dist/components/messages/renderers/DebugRenderer.js.map +1 -0
  86. package/dist/components/messages/renderers/DiffView.d.ts +6 -0
  87. package/dist/components/messages/renderers/DiffView.d.ts.map +1 -0
  88. package/dist/components/messages/renderers/DiffView.js +186 -0
  89. package/dist/components/messages/renderers/DiffView.js.map +1 -0
  90. package/dist/components/messages/renderers/EditRenderer.d.ts +3 -0
  91. package/dist/components/messages/renderers/EditRenderer.d.ts.map +1 -0
  92. package/dist/components/messages/renderers/EditRenderer.js +15 -0
  93. package/dist/components/messages/renderers/EditRenderer.js.map +1 -0
  94. package/dist/components/messages/renderers/ErrorRenderer.d.ts +8 -0
  95. package/dist/components/messages/renderers/ErrorRenderer.d.ts.map +1 -0
  96. package/dist/components/messages/renderers/ErrorRenderer.js +118 -0
  97. package/dist/components/messages/renderers/ErrorRenderer.js.map +1 -0
  98. package/dist/components/messages/renderers/FinishRenderer.d.ts +3 -0
  99. package/dist/components/messages/renderers/FinishRenderer.d.ts.map +1 -0
  100. package/dist/components/messages/renderers/FinishRenderer.js +7 -0
  101. package/dist/components/messages/renderers/FinishRenderer.js.map +1 -0
  102. package/dist/components/messages/renderers/GenericRenderer.d.ts +3 -0
  103. package/dist/components/messages/renderers/GenericRenderer.d.ts.map +1 -0
  104. package/dist/components/messages/renderers/GenericRenderer.js +42 -0
  105. package/dist/components/messages/renderers/GenericRenderer.js.map +1 -0
  106. package/dist/components/messages/renderers/GitCommitRenderer.d.ts +3 -0
  107. package/dist/components/messages/renderers/GitCommitRenderer.d.ts.map +1 -0
  108. package/dist/components/messages/renderers/GitCommitRenderer.js +18 -0
  109. package/dist/components/messages/renderers/GitCommitRenderer.js.map +1 -0
  110. package/dist/components/messages/renderers/GitDiffRenderer.d.ts +3 -0
  111. package/dist/components/messages/renderers/GitDiffRenderer.d.ts.map +1 -0
  112. package/dist/components/messages/renderers/GitDiffRenderer.js +25 -0
  113. package/dist/components/messages/renderers/GitDiffRenderer.js.map +1 -0
  114. package/dist/components/messages/renderers/GitStatusRenderer.d.ts +3 -0
  115. package/dist/components/messages/renderers/GitStatusRenderer.d.ts.map +1 -0
  116. package/dist/components/messages/renderers/GitStatusRenderer.js +56 -0
  117. package/dist/components/messages/renderers/GitStatusRenderer.js.map +1 -0
  118. package/dist/components/messages/renderers/ListRenderer.d.ts +3 -0
  119. package/dist/components/messages/renderers/ListRenderer.d.ts.map +1 -0
  120. package/dist/components/messages/renderers/ListRenderer.js +14 -0
  121. package/dist/components/messages/renderers/ListRenderer.js.map +1 -0
  122. package/dist/components/messages/renderers/ProgressUpdateRenderer.d.ts +3 -0
  123. package/dist/components/messages/renderers/ProgressUpdateRenderer.d.ts.map +1 -0
  124. package/dist/components/messages/renderers/ProgressUpdateRenderer.js +9 -0
  125. package/dist/components/messages/renderers/ProgressUpdateRenderer.js.map +1 -0
  126. package/dist/components/messages/renderers/ReadRenderer.d.ts +3 -0
  127. package/dist/components/messages/renderers/ReadRenderer.d.ts.map +1 -0
  128. package/dist/components/messages/renderers/ReadRenderer.js +59 -0
  129. package/dist/components/messages/renderers/ReadRenderer.js.map +1 -0
  130. package/dist/components/messages/renderers/SearchRenderer.d.ts +3 -0
  131. package/dist/components/messages/renderers/SearchRenderer.d.ts.map +1 -0
  132. package/dist/components/messages/renderers/SearchRenderer.js +62 -0
  133. package/dist/components/messages/renderers/SearchRenderer.js.map +1 -0
  134. package/dist/components/messages/renderers/ToolErrorDisplay.d.ts +12 -0
  135. package/dist/components/messages/renderers/ToolErrorDisplay.d.ts.map +1 -0
  136. package/dist/components/messages/renderers/ToolErrorDisplay.js +10 -0
  137. package/dist/components/messages/renderers/ToolErrorDisplay.js.map +1 -0
  138. package/dist/components/messages/renderers/TreeRenderer.d.ts +3 -0
  139. package/dist/components/messages/renderers/TreeRenderer.d.ts.map +1 -0
  140. package/dist/components/messages/renderers/TreeRenderer.js +20 -0
  141. package/dist/components/messages/renderers/TreeRenderer.js.map +1 -0
  142. package/dist/components/messages/renderers/UpdatePlanRenderer.d.ts +3 -0
  143. package/dist/components/messages/renderers/UpdatePlanRenderer.d.ts.map +1 -0
  144. package/dist/components/messages/renderers/UpdatePlanRenderer.js +13 -0
  145. package/dist/components/messages/renderers/UpdatePlanRenderer.js.map +1 -0
  146. package/dist/components/messages/renderers/WebSearchRenderer.d.ts +3 -0
  147. package/dist/components/messages/renderers/WebSearchRenderer.d.ts.map +1 -0
  148. package/dist/components/messages/renderers/WebSearchRenderer.js +35 -0
  149. package/dist/components/messages/renderers/WebSearchRenderer.js.map +1 -0
  150. package/dist/components/messages/renderers/WriteRenderer.d.ts +3 -0
  151. package/dist/components/messages/renderers/WriteRenderer.d.ts.map +1 -0
  152. package/dist/components/messages/renderers/WriteRenderer.js +18 -0
  153. package/dist/components/messages/renderers/WriteRenderer.js.map +1 -0
  154. package/dist/components/messages/renderers/index.d.ts +10 -0
  155. package/dist/components/messages/renderers/index.d.ts.map +1 -0
  156. package/dist/components/messages/renderers/index.js +72 -0
  157. package/dist/components/messages/renderers/index.js.map +1 -0
  158. package/dist/components/messages/renderers/types.d.ts +77 -0
  159. package/dist/components/messages/renderers/types.d.ts.map +1 -0
  160. package/dist/components/messages/renderers/types.js +2 -0
  161. package/dist/components/messages/renderers/types.js.map +1 -0
  162. package/dist/components/messages/renderers/utils.d.ts +11 -0
  163. package/dist/components/messages/renderers/utils.d.ts.map +1 -0
  164. package/dist/components/messages/renderers/utils.js +18 -0
  165. package/dist/components/messages/renderers/utils.js.map +1 -0
  166. package/dist/components/sessions/LeanHeader.d.ts +9 -0
  167. package/dist/components/sessions/LeanHeader.d.ts.map +1 -0
  168. package/dist/components/sessions/LeanHeader.js +28 -0
  169. package/dist/components/sessions/LeanHeader.js.map +1 -0
  170. package/dist/components/sessions/SessionHeader.d.ts +7 -0
  171. package/dist/components/sessions/SessionHeader.d.ts.map +1 -0
  172. package/dist/components/sessions/SessionHeader.js +49 -0
  173. package/dist/components/sessions/SessionHeader.js.map +1 -0
  174. package/dist/components/sessions/SessionItem.d.ts +9 -0
  175. package/dist/components/sessions/SessionItem.d.ts.map +1 -0
  176. package/dist/components/sessions/SessionItem.js +27 -0
  177. package/dist/components/sessions/SessionItem.js.map +1 -0
  178. package/dist/components/sessions/SessionListContainer.d.ts +7 -0
  179. package/dist/components/sessions/SessionListContainer.d.ts.map +1 -0
  180. package/dist/components/sessions/SessionListContainer.js +32 -0
  181. package/dist/components/sessions/SessionListContainer.js.map +1 -0
  182. package/dist/components/ui/Button.d.ts +8 -0
  183. package/dist/components/ui/Button.d.ts.map +1 -0
  184. package/dist/components/ui/Button.js +19 -0
  185. package/dist/components/ui/Button.js.map +1 -0
  186. package/dist/components/ui/Card.d.ts +6 -0
  187. package/dist/components/ui/Card.d.ts.map +1 -0
  188. package/dist/components/ui/Card.js +7 -0
  189. package/dist/components/ui/Card.js.map +1 -0
  190. package/dist/components/ui/Input.d.ts +6 -0
  191. package/dist/components/ui/Input.d.ts.map +1 -0
  192. package/dist/components/ui/Input.js +7 -0
  193. package/dist/components/ui/Input.js.map +1 -0
  194. package/dist/components/ui/Textarea.d.ts +6 -0
  195. package/dist/components/ui/Textarea.d.ts.map +1 -0
  196. package/dist/components/ui/Textarea.js +7 -0
  197. package/dist/components/ui/Textarea.js.map +1 -0
  198. package/dist/hooks/index.d.ts +8 -0
  199. package/dist/hooks/index.d.ts.map +1 -0
  200. package/dist/hooks/index.js +9 -0
  201. package/dist/hooks/index.js.map +1 -0
  202. package/dist/hooks/useConfig.d.ts +18 -0
  203. package/dist/hooks/useConfig.d.ts.map +1 -0
  204. package/dist/hooks/useConfig.js +16 -0
  205. package/dist/hooks/useConfig.js.map +1 -0
  206. package/dist/hooks/useGit.d.ts +8 -0
  207. package/dist/hooks/useGit.d.ts.map +1 -0
  208. package/dist/hooks/useGit.js +71 -0
  209. package/dist/hooks/useGit.js.map +1 -0
  210. package/dist/hooks/useMessages.d.ts +4 -0
  211. package/dist/hooks/useMessages.d.ts.map +1 -0
  212. package/dist/hooks/useMessages.js +25 -0
  213. package/dist/hooks/useMessages.js.map +1 -0
  214. package/dist/hooks/useSessionStream.d.ts +2 -0
  215. package/dist/hooks/useSessionStream.d.ts.map +1 -0
  216. package/dist/hooks/useSessionStream.js +332 -0
  217. package/dist/hooks/useSessionStream.js.map +1 -0
  218. package/dist/hooks/useSessions.d.ts +4 -0
  219. package/dist/hooks/useSessions.d.ts.map +1 -0
  220. package/dist/hooks/useSessions.js +19 -0
  221. package/dist/hooks/useSessions.js.map +1 -0
  222. package/dist/hooks/useTheme.d.ts +8 -0
  223. package/dist/hooks/useTheme.d.ts.map +1 -0
  224. package/dist/hooks/useTheme.js +40 -0
  225. package/dist/hooks/useTheme.js.map +1 -0
  226. package/dist/hooks/useWorkingDirectory.d.ts +2 -0
  227. package/dist/hooks/useWorkingDirectory.d.ts.map +1 -0
  228. package/dist/hooks/useWorkingDirectory.js +34 -0
  229. package/dist/hooks/useWorkingDirectory.js.map +1 -0
  230. package/dist/index.d.ts +6 -0
  231. package/dist/index.d.ts.map +1 -0
  232. package/dist/index.js +7 -0
  233. package/dist/index.js.map +1 -0
  234. package/dist/lib/api-client.d.ts +44 -0
  235. package/dist/lib/api-client.d.ts.map +1 -0
  236. package/dist/lib/api-client.js +195 -0
  237. package/dist/lib/api-client.js.map +1 -0
  238. package/dist/lib/config.d.ts +5 -0
  239. package/dist/lib/config.d.ts.map +1 -0
  240. package/dist/lib/config.js +22 -0
  241. package/dist/lib/config.js.map +1 -0
  242. package/dist/lib/index.d.ts +4 -0
  243. package/dist/lib/index.d.ts.map +1 -0
  244. package/dist/lib/index.js +5 -0
  245. package/dist/lib/index.js.map +1 -0
  246. package/dist/lib/sse-client.d.ts +13 -0
  247. package/dist/lib/sse-client.d.ts.map +1 -0
  248. package/dist/lib/sse-client.js +111 -0
  249. package/dist/lib/sse-client.js.map +1 -0
  250. package/dist/stores/gitStore.d.ts +20 -0
  251. package/dist/stores/gitStore.d.ts.map +1 -0
  252. package/dist/stores/gitStore.js +35 -0
  253. package/dist/stores/gitStore.js.map +1 -0
  254. package/dist/stores/index.d.ts +3 -0
  255. package/dist/stores/index.d.ts.map +1 -0
  256. package/dist/stores/index.js +3 -0
  257. package/dist/stores/index.js.map +1 -0
  258. package/dist/stores/sidebarStore.d.ts +26 -0
  259. package/dist/stores/sidebarStore.d.ts.map +1 -0
  260. package/dist/stores/sidebarStore.js +16 -0
  261. package/dist/stores/sidebarStore.js.map +1 -0
  262. package/dist/types/api.d.ts +128 -0
  263. package/dist/types/api.d.ts.map +1 -0
  264. package/dist/types/api.js +2 -0
  265. package/dist/types/api.js.map +1 -0
  266. package/package.json +90 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSessions.js","sourceRoot":"","sources":["../../src/hooks/useSessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,UAAU,WAAW;IAC1B,OAAO,QAAQ,CAAC;QACf,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE;QACtC,eAAe,EAAE,IAAI;KACrB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC/B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,OAAO,WAAW,CAAC;QAClB,UAAU,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC;QACzE,SAAS,EAAE,GAAG,EAAE;YACf,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ type Theme = 'light' | 'dark';
2
+ export declare function useTheme(): {
3
+ theme: Theme;
4
+ setTheme: import("react").Dispatch<import("react").SetStateAction<Theme>>;
5
+ toggleTheme: () => void;
6
+ };
7
+ export type { Theme };
8
+ //# sourceMappingURL=useTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.ts"],"names":[],"mappings":"AAEA,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAgB9B,wBAAgB,QAAQ;;;;EA8BvB;AAED,YAAY,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { useEffect, useState, useCallback, useMemo } from 'react';
2
+ const STORAGE_KEY = 'agi-theme';
3
+ const DEFAULT_THEME = 'dark';
4
+ function resolveInitialTheme() {
5
+ if (typeof window === 'undefined') {
6
+ return DEFAULT_THEME;
7
+ }
8
+ const stored = window.localStorage.getItem(STORAGE_KEY);
9
+ if (stored === 'light' || stored === 'dark') {
10
+ return stored;
11
+ }
12
+ return DEFAULT_THEME;
13
+ }
14
+ export function useTheme() {
15
+ const [theme, setTheme] = useState(() => resolveInitialTheme());
16
+ useEffect(() => {
17
+ if (typeof document === 'undefined')
18
+ return;
19
+ const root = document.documentElement;
20
+ if (theme === 'dark') {
21
+ root.classList.add('dark');
22
+ }
23
+ else {
24
+ root.classList.remove('dark');
25
+ }
26
+ try {
27
+ window.localStorage.setItem(STORAGE_KEY, theme);
28
+ }
29
+ catch (error) {
30
+ console.warn('Failed to persist theme preference', error);
31
+ }
32
+ }, [theme]);
33
+ // Memoize toggleTheme to prevent creating new function reference on every render
34
+ const toggleTheme = useCallback(() => {
35
+ setTheme((prev) => (prev === 'dark' ? 'light' : 'dark'));
36
+ }, []);
37
+ // Return a stable object reference
38
+ return useMemo(() => ({ theme, setTheme, toggleTheme }), [theme, toggleTheme]);
39
+ }
40
+ //# sourceMappingURL=useTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTheme.js","sourceRoot":"","sources":["../../src/hooks/useTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIlE,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,aAAa,GAAU,MAAM,CAAC;AAEpC,SAAS,mBAAmB;IAC3B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,aAAa,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAiB,CAAC;IACxE,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC;IACf,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,QAAQ;IACvB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAEvE,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAO;QAE5C,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QACtC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,iFAAiF;IACjF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,mCAAmC;IACnC,OAAO,OAAO,CACb,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EACxC,CAAC,KAAK,EAAE,WAAW,CAAC,CACpB,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function useWorkingDirectory(): string;
2
+ //# sourceMappingURL=useWorkingDirectory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWorkingDirectory.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorkingDirectory.ts"],"names":[],"mappings":"AAYA,wBAAgB,mBAAmB,WA0ClC"}
@@ -0,0 +1,34 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { API_BASE_URL } from '../lib/config';
3
+ export function useWorkingDirectory() {
4
+ const [dirName, setDirName] = useState(null);
5
+ useEffect(() => {
6
+ const fetchWorkingDirectory = async () => {
7
+ try {
8
+ const win = window;
9
+ const baseUrl = win.AGI_SERVER_URL || API_BASE_URL;
10
+ const url = `${baseUrl}/v1/config/cwd`;
11
+ console.log('[useWorkingDirectory] Fetching from:', url);
12
+ const response = await fetch(url);
13
+ if (!response.ok) {
14
+ console.error('[useWorkingDirectory] Failed:', response.status, response.statusText);
15
+ throw new Error(`Failed to fetch working directory: ${response.status}`);
16
+ }
17
+ const data = await response.json();
18
+ console.log('[useWorkingDirectory] Success:', data);
19
+ if (data.dirName) {
20
+ console.log('[useWorkingDirectory] Setting title to:', data.dirName);
21
+ setDirName(data.dirName);
22
+ document.title = data.dirName;
23
+ }
24
+ }
25
+ catch (error) {
26
+ console.error('[useWorkingDirectory] Error:', error);
27
+ document.title = 'AGI'; // Fallback title
28
+ }
29
+ };
30
+ fetchWorkingDirectory();
31
+ }, []); // Run once on mount
32
+ return dirName;
33
+ }
34
+ //# sourceMappingURL=useWorkingDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWorkingDirectory.js","sourceRoot":"","sources":["../../src/hooks/useWorkingDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAW7C,MAAM,UAAU,mBAAmB;IAClC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;YACxC,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,MAAgC,CAAC;gBAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,IAAI,YAAY,CAAC;gBACnD,MAAM,GAAG,GAAG,GAAG,OAAO,gBAAgB,CAAC;gBAEvC,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;gBAEzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAClB,OAAO,CAAC,KAAK,CACZ,+BAA+B,EAC/B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,UAAU,CACnB,CAAC;oBACF,MAAM,IAAI,KAAK,CACd,sCAAsC,QAAQ,CAAC,MAAM,EAAE,CACvD,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,GAAyB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;gBAEpD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACrE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACzB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC/B,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACrD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,iBAAiB;YAC1C,CAAC;QACF,CAAC,CAAC;QAEF,qBAAqB,EAAE,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB;IAE5B,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './components';
2
+ export * from './hooks';
3
+ export * from './lib';
4
+ export * from './stores';
5
+ export * from './types/api';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ // Main entry point - re-export everything for convenience
2
+ export * from './components';
3
+ export * from './hooks';
4
+ export * from './lib';
5
+ export * from './stores';
6
+ export * from './types/api';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { Session, Message, CreateSessionRequest, SendMessageRequest, SendMessageResponse, GitStatusResponse, GitDiffResponse, GitStageResponse, GitUnstageResponse, GitCommitResponse, GitGenerateCommitMessageResponse, GitBranchInfo } from '../types/api';
2
+ /**
3
+ * Configure the API client with the correct base URL
4
+ * This should be called once at application startup
5
+ */
6
+ export declare function configureApiClient(): void;
7
+ declare class ApiClient {
8
+ private get baseUrl();
9
+ getSessions(): Promise<Session[]>;
10
+ createSession(data: CreateSessionRequest): Promise<Session>;
11
+ abortSession(sessionId: string): Promise<{
12
+ success: boolean;
13
+ }>;
14
+ getMessages(sessionId: string): Promise<Message[]>;
15
+ sendMessage(sessionId: string, data: SendMessageRequest): Promise<SendMessageResponse>;
16
+ getStreamUrl(sessionId: string): string;
17
+ getConfig(): Promise<{
18
+ agents: string[];
19
+ providers: string[];
20
+ defaults: {
21
+ agent: string;
22
+ provider: string;
23
+ model: string;
24
+ };
25
+ }>;
26
+ getModels(providerId: string): Promise<{
27
+ models: Array<{
28
+ id: string;
29
+ label: string;
30
+ toolCall?: boolean;
31
+ }>;
32
+ default: string;
33
+ }>;
34
+ getGitStatus(): Promise<GitStatusResponse>;
35
+ getGitDiff(file: string, staged?: boolean): Promise<GitDiffResponse>;
36
+ generateCommitMessage(): Promise<GitGenerateCommitMessageResponse>;
37
+ stageFiles(files: string[]): Promise<GitStageResponse>;
38
+ unstageFiles(files: string[]): Promise<GitUnstageResponse>;
39
+ commitChanges(message: string): Promise<GitCommitResponse>;
40
+ getGitBranch(): Promise<GitBranchInfo>;
41
+ }
42
+ export declare const apiClient: ApiClient;
43
+ export {};
44
+ //# sourceMappingURL=api-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACX,OAAO,EACP,OAAO,EACP,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gCAAgC,EAChC,aAAa,EACb,MAAM,cAAc,CAAC;AAOtB;;;GAGG;AACH,wBAAgB,kBAAkB,SAOjC;AAoCD,cAAM,SAAS;IACd,OAAO,KAAK,OAAO,GAOlB;IAGK,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAQjC,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAa3D,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAU9D,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAUlD,WAAW,CAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,kBAAkB,GACtB,OAAO,CAAC,mBAAmB,CAAC;IAW/B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAKjC,SAAS,IAAI,OAAO,CAAC;QAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7D,CAAC;IAYI,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5C,MAAM,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACjE,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IAeI,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAS1C,UAAU,CACf,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,OAAe,GACrB,OAAO,CAAC,eAAe,CAAC;IAcrB,qBAAqB,IAAI,OAAO,CAAC,gCAAgC,CAAC;IAalE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYtD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAY1D,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAY1D,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;CAQ5C;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC"}
@@ -0,0 +1,195 @@
1
+ import { client, listSessions as apiListSessions, createSession as apiCreateSession, listMessages as apiListMessages, createMessage as apiCreateMessage, abortSession as apiAbortSession, getConfig as apiGetConfig, getProviderModels as apiGetProviderModels, getGitStatus as apiGetGitStatus, getGitDiff as apiGetGitDiff, getGitBranch as apiGetGitBranch, stageFiles as apiStageFiles, unstageFiles as apiUnstageFiles, commitChanges as apiCommitChanges, generateCommitMessage as apiGenerateCommitMessage, } from '@agi-cli/api';
2
+ import { API_BASE_URL } from './config';
3
+ /**
4
+ * Configure the API client with the correct base URL
5
+ * This should be called once at application startup
6
+ */
7
+ export function configureApiClient() {
8
+ const win = window;
9
+ const baseURL = win.AGI_SERVER_URL || API_BASE_URL;
10
+ client.setConfig({
11
+ baseURL,
12
+ });
13
+ }
14
+ // Configure the client immediately when this module is imported
15
+ configureApiClient();
16
+ // Type conversion helpers
17
+ function convertSession(apiSession) {
18
+ return {
19
+ ...apiSession,
20
+ title: apiSession.title ?? null,
21
+ createdAt: typeof apiSession.createdAt === 'string'
22
+ ? new Date(apiSession.createdAt).getTime()
23
+ : apiSession.createdAt,
24
+ lastActiveAt: typeof apiSession.lastActiveAt === 'string'
25
+ ? new Date(apiSession.lastActiveAt).getTime()
26
+ : apiSession.lastActiveAt,
27
+ };
28
+ }
29
+ function convertMessage(apiMessage) {
30
+ return {
31
+ ...apiMessage,
32
+ createdAt: typeof apiMessage.createdAt === 'string'
33
+ ? new Date(apiMessage.createdAt).getTime()
34
+ : apiMessage.createdAt,
35
+ completedAt: apiMessage.completedAt
36
+ ? typeof apiMessage.completedAt === 'string'
37
+ ? new Date(apiMessage.completedAt).getTime()
38
+ : apiMessage.completedAt
39
+ : null,
40
+ };
41
+ }
42
+ class ApiClient {
43
+ get baseUrl() {
44
+ // Always check for injected URL at runtime
45
+ const win = window;
46
+ if (win.AGI_SERVER_URL) {
47
+ return win.AGI_SERVER_URL;
48
+ }
49
+ return API_BASE_URL;
50
+ }
51
+ // Session methods using new API
52
+ async getSessions() {
53
+ const response = await apiListSessions();
54
+ if (response.error) {
55
+ throw new Error(String(response.error) || 'Failed to fetch sessions');
56
+ }
57
+ return (response.data || []).map(convertSession);
58
+ }
59
+ async createSession(data) {
60
+ const response = await apiCreateSession({
61
+ body: data,
62
+ });
63
+ if (response.error) {
64
+ throw new Error(String(response.error) || 'Failed to create session');
65
+ }
66
+ if (!response.data) {
67
+ throw new Error('No data returned from create session');
68
+ }
69
+ return convertSession(response.data);
70
+ }
71
+ async abortSession(sessionId) {
72
+ const response = await apiAbortSession({
73
+ path: { sessionId },
74
+ });
75
+ if (response.error) {
76
+ throw new Error(String(response.error) || 'Failed to abort session');
77
+ }
78
+ return response.data;
79
+ }
80
+ async getMessages(sessionId) {
81
+ const response = await apiListMessages({
82
+ path: { id: sessionId },
83
+ });
84
+ if (response.error) {
85
+ throw new Error(String(response.error) || 'Failed to fetch messages');
86
+ }
87
+ return (response.data || []).map(convertMessage);
88
+ }
89
+ async sendMessage(sessionId, data) {
90
+ const response = await apiCreateMessage({
91
+ path: { id: sessionId },
92
+ body: data,
93
+ });
94
+ if (response.error) {
95
+ throw new Error(String(response.error) || 'Failed to send message');
96
+ }
97
+ return response.data;
98
+ }
99
+ getStreamUrl(sessionId) {
100
+ return `${this.baseUrl}/v1/sessions/${sessionId}/stream`;
101
+ }
102
+ // Config methods using new API
103
+ async getConfig() {
104
+ const response = await apiGetConfig();
105
+ if (response.error) {
106
+ throw new Error(String(response.error) || 'Failed to fetch config');
107
+ }
108
+ return response.data;
109
+ }
110
+ async getModels(providerId) {
111
+ const response = await apiGetProviderModels({
112
+ // biome-ignore lint/suspicious/noExplicitAny: API type mismatch between client and server
113
+ path: { provider: providerId },
114
+ });
115
+ if (response.error) {
116
+ throw new Error(String(response.error) || 'Failed to fetch models');
117
+ }
118
+ return response.data;
119
+ }
120
+ // Git methods using new API
121
+ async getGitStatus() {
122
+ const response = await apiGetGitStatus();
123
+ if (response.error) {
124
+ throw new Error(String(response.error) || 'Failed to fetch git status');
125
+ }
126
+ // biome-ignore lint/suspicious/noExplicitAny: API response structure mismatch
127
+ return response.data?.data;
128
+ }
129
+ async getGitDiff(file, staged = false) {
130
+ const response = await apiGetGitDiff({
131
+ query: {
132
+ file,
133
+ staged: staged ? 'true' : 'false',
134
+ },
135
+ });
136
+ if (response.error) {
137
+ throw new Error(String(response.error) || 'Failed to fetch git diff');
138
+ }
139
+ // biome-ignore lint/suspicious/noExplicitAny: API response structure mismatch
140
+ return response.data?.data;
141
+ }
142
+ async generateCommitMessage() {
143
+ const response = await apiGenerateCommitMessage({
144
+ body: {},
145
+ });
146
+ if (response.error) {
147
+ throw new Error(String(response.error) || 'Failed to generate commit message');
148
+ }
149
+ // biome-ignore lint/suspicious/noExplicitAny: API response structure mismatch
150
+ return response.data?.data;
151
+ }
152
+ async stageFiles(files) {
153
+ const response = await apiStageFiles({
154
+ // biome-ignore lint/suspicious/noExplicitAny: API type mismatch between client and server
155
+ body: { files },
156
+ });
157
+ if (response.error) {
158
+ throw new Error(String(response.error) || 'Failed to stage files');
159
+ }
160
+ // biome-ignore lint/suspicious/noExplicitAny: API response structure mismatch
161
+ return response.data?.data;
162
+ }
163
+ async unstageFiles(files) {
164
+ const response = await apiUnstageFiles({
165
+ // biome-ignore lint/suspicious/noExplicitAny: API type mismatch between client and server
166
+ body: { files },
167
+ });
168
+ if (response.error) {
169
+ throw new Error(String(response.error) || 'Failed to unstage files');
170
+ }
171
+ // biome-ignore lint/suspicious/noExplicitAny: API response structure mismatch
172
+ return response.data?.data;
173
+ }
174
+ async commitChanges(message) {
175
+ const response = await apiCommitChanges({
176
+ // biome-ignore lint/suspicious/noExplicitAny: API type mismatch between client and server
177
+ body: { message },
178
+ });
179
+ if (response.error) {
180
+ throw new Error(String(response.error) || 'Failed to commit changes');
181
+ }
182
+ // biome-ignore lint/suspicious/noExplicitAny: API response structure mismatch
183
+ return response.data?.data;
184
+ }
185
+ async getGitBranch() {
186
+ const response = await apiGetGitBranch();
187
+ if (response.error) {
188
+ throw new Error(String(response.error) || 'Failed to fetch git branch');
189
+ }
190
+ // biome-ignore lint/suspicious/noExplicitAny: API response structure mismatch
191
+ return response.data?.data;
192
+ }
193
+ }
194
+ export const apiClient = new ApiClient();
195
+ //# sourceMappingURL=api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,YAAY,IAAI,eAAe,EAC/B,aAAa,IAAI,gBAAgB,EACjC,YAAY,IAAI,eAAe,EAC/B,aAAa,IAAI,gBAAgB,EACjC,YAAY,IAAI,eAAe,EAC/B,SAAS,IAAI,YAAY,EACzB,iBAAiB,IAAI,oBAAoB,EACzC,YAAY,IAAI,eAAe,EAC/B,UAAU,IAAI,aAAa,EAC3B,YAAY,IAAI,eAAe,EAC/B,UAAU,IAAI,aAAa,EAC3B,YAAY,IAAI,eAAe,EAC/B,aAAa,IAAI,gBAAgB,EACjC,qBAAqB,IAAI,wBAAwB,GAKjD,MAAM,cAAc,CAAC;AAetB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAMxC;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IACjC,MAAM,GAAG,GAAG,MAAgC,CAAC;IAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,IAAI,YAAY,CAAC;IAEnD,MAAM,CAAC,SAAS,CAAC;QAChB,OAAO;KACP,CAAC,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,kBAAkB,EAAE,CAAC;AAErB,0BAA0B;AAC1B,SAAS,cAAc,CAAC,UAAsB;IAC7C,OAAO;QACN,GAAG,UAAU;QACb,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,IAAI;QAC/B,SAAS,EACR,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;YACvC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,UAAU,CAAC,SAAS;QACxB,YAAY,EACX,OAAO,UAAU,CAAC,YAAY,KAAK,QAAQ;YAC1C,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;YAC7C,CAAC,CAAC,UAAU,CAAC,YAAY;KAChB,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,UAAsB;IAC7C,OAAO;QACN,GAAG,UAAU;QACb,SAAS,EACR,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;YACvC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,UAAU,CAAC,SAAS;QACxB,WAAW,EAAE,UAAU,CAAC,WAAW;YAClC,CAAC,CAAC,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;gBAC3C,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;gBAC5C,CAAC,CAAC,UAAU,CAAC,WAAW;YACzB,CAAC,CAAC,IAAI;KACI,CAAC;AACd,CAAC;AAED,MAAM,SAAS;IACd,IAAY,OAAO;QAClB,2CAA2C;QAC3C,MAAM,GAAG,GAAG,MAAgC,CAAC;QAC7C,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,cAAc,CAAC;QAC3B,CAAC;QACD,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,WAAW;QAChB,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAA0B;QAC7C,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;YACvC,IAAI,EAAE,IAAiC;SACvC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QACnC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACtC,IAAI,EAAE,EAAE,SAAS,EAAE;SACnB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC,IAA4B,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB;QAClC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACtC,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;SACvB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,WAAW,CAChB,SAAiB,EACjB,IAAwB;QAExB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;YACvC,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACvB,IAAI,EAAE,IAAiC;SACvC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,QAAQ,CAAC,IAA2B,CAAC;IAC7C,CAAC;IAED,YAAY,CAAC,SAAiB;QAC7B,OAAO,GAAG,IAAI,CAAC,OAAO,gBAAgB,SAAS,SAAS,CAAC;IAC1D,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,SAAS;QAKd,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,QAAQ,CAAC,IAIf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB;QAIjC,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;YAC3C,0FAA0F;YAC1F,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAiB,EAAE;SACrC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,QAAQ,CAAC,IAGf,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,YAAY;QACjB,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,4BAA4B,CAAC,CAAC;QACzE,CAAC;QACD,8EAA8E;QAC9E,OAAQ,QAAQ,CAAC,IAAY,EAAE,IAAyB,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,UAAU,CACf,IAAY,EACZ,SAAkB,KAAK;QAEvB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;YACpC,KAAK,EAAE;gBACN,IAAI;gBACJ,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;aACjC;SACD,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACvE,CAAC;QACD,8EAA8E;QAC9E,OAAQ,QAAQ,CAAC,IAAY,EAAE,IAAuB,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,qBAAqB;QAC1B,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC;YAC/C,IAAI,EAAE,EAAE;SACR,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACd,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,mCAAmC,CAC7D,CAAC;QACH,CAAC;QACD,8EAA8E;QAC9E,OAAQ,QAAQ,CAAC,IAAY,EAAE,IAAwC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC/B,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;YACpC,0FAA0F;YAC1F,IAAI,EAAE,EAAE,KAAK,EAAS;SACtB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,uBAAuB,CAAC,CAAC;QACpE,CAAC;QACD,8EAA8E;QAC9E,OAAQ,QAAQ,CAAC,IAAY,EAAE,IAAwB,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAe;QACjC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACtC,0FAA0F;YAC1F,IAAI,EAAE,EAAE,KAAK,EAAS;SACtB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACtE,CAAC;QACD,8EAA8E;QAC9E,OAAQ,QAAQ,CAAC,IAAY,EAAE,IAA0B,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QAClC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;YACvC,0FAA0F;YAC1F,IAAI,EAAE,EAAE,OAAO,EAAS;SACxB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACvE,CAAC;QACD,8EAA8E;QAC9E,OAAQ,QAAQ,CAAC,IAAY,EAAE,IAAyB,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY;QACjB,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,4BAA4B,CAAC,CAAC;QACzE,CAAC;QACD,8EAA8E;QAC9E,OAAQ,QAAQ,CAAC,IAAY,EAAE,IAAqB,CAAC;IACtD,CAAC;CACD;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const API_BASE_URL: string;
2
+ export declare const config: {
3
+ apiBaseUrl: string;
4
+ };
5
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,YAAY,QAAkB,CAAC;AAE5C,eAAO,MAAM,MAAM;;CAElB,CAAC"}
@@ -0,0 +1,22 @@
1
+ // This function will execute at runtime in the browser
2
+ function getApiBaseUrl() {
3
+ // Check Vite env var first (for dev mode)
4
+ if (import.meta.env.VITE_API_BASE_URL) {
5
+ return import.meta.env.VITE_API_BASE_URL;
6
+ }
7
+ // Check window object for injected values (for production)
8
+ const win = window;
9
+ if (win.AGI_SERVER_URL) {
10
+ return win.AGI_SERVER_URL;
11
+ }
12
+ if (win.__AGI_API_URL__) {
13
+ return win.__AGI_API_URL__;
14
+ }
15
+ // Fallback for standalone dev
16
+ return 'http://localhost:9100';
17
+ }
18
+ export const API_BASE_URL = getApiBaseUrl();
19
+ export const config = {
20
+ apiBaseUrl: API_BASE_URL,
21
+ };
22
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAMA,uDAAuD;AACvD,SAAS,aAAa;IACrB,0CAA0C;IAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC1C,CAAC;IAED,2DAA2D;IAC3D,MAAM,GAAG,GAAG,MAAmB,CAAC;IAChC,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,cAAc,CAAC;IAC3B,CAAC;IACD,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,eAAe,CAAC;IAC5B,CAAC;IAED,8BAA8B;IAC9B,OAAO,uBAAuB,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,UAAU,EAAE,YAAY;CACxB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './api-client';
2
+ export * from './sse-client';
3
+ export * from './config';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,5 @@
1
+ // Export all library utilities
2
+ export * from './api-client';
3
+ export * from './sse-client';
4
+ export * from './config';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { SSEEvent } from '../types/api';
2
+ export type SSEEventHandler = (event: SSEEvent) => void;
3
+ export declare class SSEClient {
4
+ private abortController;
5
+ private handlers;
6
+ private running;
7
+ connect(url: string): Promise<void>;
8
+ disconnect(): void;
9
+ on(eventType: string, handler: SSEEventHandler): () => void;
10
+ off(eventType: string, handler: SSEEventHandler): void;
11
+ private emit;
12
+ }
13
+ //# sourceMappingURL=sse-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse-client.d.ts","sourceRoot":"","sources":["../../src/lib/sse-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAExD,qBAAa,SAAS;IACrB,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAgD;IAChE,OAAO,CAAC,OAAO,CAAS;IAElB,OAAO,CAAC,GAAG,EAAE,MAAM;IAyEzB,UAAU;IAQV,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe;IAW9C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe;IAU/C,OAAO,CAAC,IAAI;CAeZ"}
@@ -0,0 +1,111 @@
1
+ export class SSEClient {
2
+ abortController = null;
3
+ handlers = new Map();
4
+ running = false;
5
+ async connect(url) {
6
+ if (this.abortController) {
7
+ this.abortController.abort();
8
+ }
9
+ this.abortController = new AbortController();
10
+ this.running = true;
11
+ try {
12
+ const response = await fetch(url, {
13
+ headers: { Accept: 'text/event-stream' },
14
+ signal: this.abortController.signal,
15
+ });
16
+ if (!response.ok) {
17
+ console.error('[SSE] Connection failed:', response.status);
18
+ return;
19
+ }
20
+ const reader = response.body?.getReader();
21
+ if (!reader) {
22
+ console.error('[SSE] No response body');
23
+ return;
24
+ }
25
+ const decoder = new TextDecoder();
26
+ let buffer = '';
27
+ while (this.running) {
28
+ const { done, value } = await reader.read();
29
+ if (done)
30
+ break;
31
+ buffer += decoder.decode(value, { stream: true });
32
+ let idx = buffer.indexOf('\n\n');
33
+ while (idx !== -1) {
34
+ const raw = buffer.slice(0, idx);
35
+ buffer = buffer.slice(idx + 2);
36
+ const lines = raw.split('\n');
37
+ let eventType = 'message';
38
+ let data = '';
39
+ for (const line of lines) {
40
+ if (line.startsWith('event: ')) {
41
+ eventType = line.slice(7).trim();
42
+ }
43
+ else if (line.startsWith('data: ')) {
44
+ data += (data ? '\n' : '') + line.slice(6);
45
+ }
46
+ else if (line.startsWith(':')) {
47
+ }
48
+ }
49
+ if (data) {
50
+ try {
51
+ const payload = JSON.parse(data);
52
+ this.emit({ type: eventType, payload });
53
+ }
54
+ catch (error) {
55
+ console.error(`[SSE] Failed to parse ${eventType}:`, error);
56
+ }
57
+ }
58
+ idx = buffer.indexOf('\n\n');
59
+ }
60
+ }
61
+ }
62
+ catch (error) {
63
+ if (error instanceof Error && error.name === 'AbortError') {
64
+ // Connection was intentionally aborted, don't log
65
+ }
66
+ else {
67
+ console.error('[SSE] Connection error:', error);
68
+ }
69
+ }
70
+ }
71
+ disconnect() {
72
+ this.running = false;
73
+ if (this.abortController) {
74
+ this.abortController.abort();
75
+ this.abortController = null;
76
+ }
77
+ }
78
+ on(eventType, handler) {
79
+ if (!this.handlers.has(eventType)) {
80
+ this.handlers.set(eventType, new Set());
81
+ }
82
+ this.handlers.get(eventType)?.add(handler);
83
+ return () => {
84
+ this.off(eventType, handler);
85
+ };
86
+ }
87
+ off(eventType, handler) {
88
+ const handlers = this.handlers.get(eventType);
89
+ if (handlers) {
90
+ handlers.delete(handler);
91
+ if (handlers.size === 0) {
92
+ this.handlers.delete(eventType);
93
+ }
94
+ }
95
+ }
96
+ emit(event) {
97
+ const handlers = this.handlers.get(event.type);
98
+ if (handlers) {
99
+ for (const handler of handlers) {
100
+ handler(event);
101
+ }
102
+ }
103
+ const allHandlers = this.handlers.get('*');
104
+ if (allHandlers) {
105
+ for (const handler of allHandlers) {
106
+ handler(event);
107
+ }
108
+ }
109
+ }
110
+ }
111
+ //# sourceMappingURL=sse-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse-client.js","sourceRoot":"","sources":["../../src/lib/sse-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ interface GitState {
2
+ isExpanded: boolean;
3
+ selectedFile: string | null;
4
+ selectedFileStaged: boolean;
5
+ isDiffOpen: boolean;
6
+ isCommitModalOpen: boolean;
7
+ wasSessionListCollapsed: boolean;
8
+ toggleSidebar: () => void;
9
+ expandSidebar: () => void;
10
+ collapseSidebar: () => void;
11
+ openDiff: (file: string, staged: boolean) => void;
12
+ closeDiff: () => void;
13
+ switchFile: (file: string, staged: boolean) => void;
14
+ openCommitModal: () => void;
15
+ closeCommitModal: () => void;
16
+ setSessionListCollapsed: (collapsed: boolean) => void;
17
+ }
18
+ export declare const useGitStore: import("zustand").UseBoundStore<import("zustand").StoreApi<GitState>>;
19
+ export {};
20
+ //# sourceMappingURL=gitStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitStore.d.ts","sourceRoot":"","sources":["../../src/stores/gitStore.ts"],"names":[],"mappings":"AAEA,UAAU,QAAQ;IAEjB,UAAU,EAAE,OAAO,CAAC;IAGpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IAGpB,iBAAiB,EAAE,OAAO,CAAC;IAG3B,uBAAuB,EAAE,OAAO,CAAC;IAGjC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAE5B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpD,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAE7B,uBAAuB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD;AAED,eAAO,MAAM,WAAW,uEAyCrB,CAAC"}