@blackbox_ai/blackbox-cli 0.0.9 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/README.md +22 -196
  2. package/dist/index.js +8 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +11 -2
  5. package/dist/src/built-in-extensions/conductor/README.md +242 -0
  6. package/dist/src/built-in-extensions/conductor/blackbox-extension.json +5 -0
  7. package/dist/src/built-in-extensions/conductor/commands/conductor/implement.toml +170 -0
  8. package/dist/src/built-in-extensions/conductor/commands/conductor/newTrack.toml +142 -0
  9. package/dist/src/built-in-extensions/conductor/commands/conductor/revert.toml +122 -0
  10. package/dist/src/built-in-extensions/conductor/commands/conductor/setup.toml +424 -0
  11. package/dist/src/built-in-extensions/conductor/commands/conductor/status.toml +57 -0
  12. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/general.md +23 -0
  13. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/go.md +48 -0
  14. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/html-css.md +49 -0
  15. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/javascript.md +51 -0
  16. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/python.md +37 -0
  17. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/typescript.md +43 -0
  18. package/dist/src/built-in-extensions/conductor/templates/workflow.md +333 -0
  19. package/dist/src/built-in-extensions-data.d.ts +15 -0
  20. package/dist/src/built-in-extensions-data.js +61 -0
  21. package/dist/src/built-in-extensions-data.js.map +1 -0
  22. package/dist/src/commands/configure/ConfigureUI.d.ts +5 -2
  23. package/dist/src/commands/configure/ConfigureUI.js +181 -41
  24. package/dist/src/commands/configure/ConfigureUI.js.map +1 -1
  25. package/dist/src/commands/configure/index.js +35 -3
  26. package/dist/src/commands/configure/index.js.map +1 -1
  27. package/dist/src/commands/configure.js +20 -3
  28. package/dist/src/commands/configure.js.map +1 -1
  29. package/dist/src/commands/extensions/enable.js +1 -1
  30. package/dist/src/commands/extensions/enable.js.map +1 -1
  31. package/dist/src/commands/extensions/examples/context/CONTEXT.md +16 -0
  32. package/dist/src/commands/extensions/examples/context/blackbox-extension.json +5 -0
  33. package/dist/src/commands/extensions/examples/custom-commands/blackbox-extension.json +4 -0
  34. package/dist/src/commands/extensions/examples/custom-commands/commands/deploy.toml +12 -0
  35. package/dist/src/commands/extensions/examples/exclude-tools/README.md +28 -0
  36. package/dist/src/commands/extensions/examples/exclude-tools/blackbox-extension.json +5 -0
  37. package/dist/src/commands/extensions/install.d.ts +6 -2
  38. package/dist/src/commands/extensions/install.js +109 -15
  39. package/dist/src/commands/extensions/install.js.map +1 -1
  40. package/dist/src/commands/extensions/link.d.ts +12 -0
  41. package/dist/src/commands/extensions/link.js +53 -0
  42. package/dist/src/commands/extensions/link.js.map +1 -0
  43. package/dist/src/commands/extensions/list.js +2 -2
  44. package/dist/src/commands/extensions/list.js.map +1 -1
  45. package/dist/src/commands/extensions/new.d.ts +13 -0
  46. package/dist/src/commands/extensions/new.js +145 -0
  47. package/dist/src/commands/extensions/new.js.map +1 -0
  48. package/dist/src/commands/extensions/settings.d.ts +18 -0
  49. package/dist/src/commands/extensions/settings.js +98 -0
  50. package/dist/src/commands/extensions/settings.js.map +1 -0
  51. package/dist/src/commands/extensions/update.d.ts +2 -1
  52. package/dist/src/commands/extensions/update.js +59 -10
  53. package/dist/src/commands/extensions/update.js.map +1 -1
  54. package/dist/src/commands/extensions/validate.d.ts +12 -0
  55. package/dist/src/commands/extensions/validate.js +72 -0
  56. package/dist/src/commands/extensions/validate.js.map +1 -0
  57. package/dist/src/commands/extensions.js +10 -1
  58. package/dist/src/commands/extensions.js.map +1 -1
  59. package/dist/src/commands/mcp/add.d.ts +11 -0
  60. package/dist/src/commands/mcp/add.js +61 -7
  61. package/dist/src/commands/mcp/add.js.map +1 -1
  62. package/dist/src/commands/update.d.ts +7 -0
  63. package/dist/src/commands/update.js +103 -0
  64. package/dist/src/commands/update.js.map +1 -0
  65. package/dist/src/commands/voice.d.ts +7 -0
  66. package/dist/src/commands/voice.js +510 -0
  67. package/dist/src/commands/voice.js.map +1 -0
  68. package/dist/src/config/auth.d.ts +4 -2
  69. package/dist/src/config/auth.js +36 -1
  70. package/dist/src/config/auth.js.map +1 -1
  71. package/dist/src/config/config.d.ts +7 -1
  72. package/dist/src/config/config.js +68 -9
  73. package/dist/src/config/config.js.map +1 -1
  74. package/dist/src/config/extension.d.ts +6 -1
  75. package/dist/src/config/extension.js +137 -11
  76. package/dist/src/config/extension.js.map +1 -1
  77. package/dist/src/config/extensions/github.d.ts +48 -0
  78. package/dist/src/config/extensions/github.js +308 -0
  79. package/dist/src/config/extensions/github.js.map +1 -0
  80. package/dist/src/config/keyBindings.d.ts +1 -0
  81. package/dist/src/config/keyBindings.js +3 -0
  82. package/dist/src/config/keyBindings.js.map +1 -1
  83. package/dist/src/config/modelFetcher.js +14 -39
  84. package/dist/src/config/modelFetcher.js.map +1 -1
  85. package/dist/src/config/settings.js +64 -0
  86. package/dist/src/config/settings.js.map +1 -1
  87. package/dist/src/config/settingsSchema.d.ts +351 -0
  88. package/dist/src/config/settingsSchema.js +351 -0
  89. package/dist/src/config/settingsSchema.js.map +1 -1
  90. package/dist/src/config/voice.d.ts +31 -0
  91. package/dist/src/config/voice.js +82 -0
  92. package/dist/src/config/voice.js.map +1 -0
  93. package/dist/src/encrypt/attestation.d.ts +5 -0
  94. package/dist/src/encrypt/attestation.js +100 -0
  95. package/dist/src/encrypt/attestation.js.map +1 -0
  96. package/dist/src/encrypt/bridge.d.ts +30 -0
  97. package/dist/src/encrypt/bridge.js +32 -0
  98. package/dist/src/encrypt/bridge.js.map +1 -0
  99. package/dist/src/encrypt/client.d.ts +14 -0
  100. package/dist/src/encrypt/client.js +133 -0
  101. package/dist/src/encrypt/client.js.map +1 -0
  102. package/dist/src/encrypt/config.d.ts +26 -0
  103. package/dist/src/encrypt/config.js +51 -0
  104. package/dist/src/encrypt/config.js.map +1 -0
  105. package/dist/src/encrypt/crypto-utils.d.ts +57 -0
  106. package/dist/src/encrypt/crypto-utils.js +257 -0
  107. package/dist/src/encrypt/crypto-utils.js.map +1 -0
  108. package/dist/src/encrypt/index.d.ts +12 -0
  109. package/dist/src/encrypt/index.js +13 -0
  110. package/dist/src/encrypt/index.js.map +1 -0
  111. package/dist/src/encrypt/retry-utils.d.ts +20 -0
  112. package/dist/src/encrypt/retry-utils.js +60 -0
  113. package/dist/src/encrypt/retry-utils.js.map +1 -0
  114. package/dist/src/encrypt/sessions.d.ts +17 -0
  115. package/dist/src/encrypt/sessions.js +221 -0
  116. package/dist/src/encrypt/sessions.js.map +1 -0
  117. package/dist/src/encrypt/streaming-client.d.ts +29 -0
  118. package/dist/src/encrypt/streaming-client.js +226 -0
  119. package/dist/src/encrypt/streaming-client.js.map +1 -0
  120. package/dist/src/encrypt/types.d.ts +81 -0
  121. package/dist/src/encrypt/types.js +2 -0
  122. package/dist/src/encrypt/types.js.map +1 -0
  123. package/dist/src/gemini.d.ts +1 -1
  124. package/dist/src/gemini.js +57 -27
  125. package/dist/src/gemini.js.map +1 -1
  126. package/dist/src/generated/git-commit.d.ts +3 -3
  127. package/dist/src/generated/git-commit.js +3 -3
  128. package/dist/src/nonInteractiveCli.d.ts +4 -0
  129. package/dist/src/nonInteractiveCli.js +418 -5
  130. package/dist/src/nonInteractiveCli.js.map +1 -1
  131. package/dist/src/on-demand-extensions/README.md +266 -0
  132. package/dist/src/on-demand-extensions/git-helper/README.md +16 -0
  133. package/dist/src/on-demand-extensions/git-helper/blackbox-extension.json +5 -0
  134. package/dist/src/on-demand-extensions/git-helper/commands/git/branch-cleanup.toml +18 -0
  135. package/dist/src/on-demand-extensions/git-helper/commands/git/smart-commit.toml +22 -0
  136. package/dist/src/on-demand-extensions/greet/README.md +76 -0
  137. package/dist/src/on-demand-extensions/greet/blackbox-extension.json +5 -0
  138. package/dist/src/on-demand-extensions/greet/commands/greet/hello.toml +9 -0
  139. package/dist/src/on-demand-extensions/registry.json +251 -0
  140. package/dist/src/services/BuiltinCommandLoader.js +20 -2
  141. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  142. package/dist/src/services/EncryptedContentGenerator.d.ts +63 -0
  143. package/dist/src/services/EncryptedContentGenerator.js +426 -0
  144. package/dist/src/services/EncryptedContentGenerator.js.map +1 -0
  145. package/dist/src/services/McpCommandLoader.d.ts +24 -0
  146. package/dist/src/services/McpCommandLoader.js +50 -0
  147. package/dist/src/services/McpCommandLoader.js.map +1 -0
  148. package/dist/src/services/McpPromptLoader.js +17 -2
  149. package/dist/src/services/McpPromptLoader.js.map +1 -1
  150. package/dist/src/services/ReleaseNotesCache.d.ts +57 -0
  151. package/dist/src/services/ReleaseNotesCache.js +186 -0
  152. package/dist/src/services/ReleaseNotesCache.js.map +1 -0
  153. package/dist/src/services/elevenLabsErrors.d.ts +65 -0
  154. package/dist/src/services/elevenLabsErrors.js +233 -0
  155. package/dist/src/services/elevenLabsErrors.js.map +1 -0
  156. package/dist/src/services/elevenLabsService.d.ts +62 -0
  157. package/dist/src/services/elevenLabsService.js +186 -0
  158. package/dist/src/services/elevenLabsService.js.map +1 -0
  159. package/dist/src/services/elevenLabsStreamingService.d.ts +59 -0
  160. package/dist/src/services/elevenLabsStreamingService.js +202 -0
  161. package/dist/src/services/elevenLabsStreamingService.js.map +1 -0
  162. package/dist/src/services/elevenLabsTokenService.d.ts +21 -0
  163. package/dist/src/services/elevenLabsTokenService.js +42 -0
  164. package/dist/src/services/elevenLabsTokenService.js.map +1 -0
  165. package/dist/src/services/voiceInputHandler.d.ts +26 -0
  166. package/dist/src/services/voiceInputHandler.js +209 -0
  167. package/dist/src/services/voiceInputHandler.js.map +1 -0
  168. package/dist/src/services/voiceRecordingService.d.ts +69 -0
  169. package/dist/src/services/voiceRecordingService.js +397 -0
  170. package/dist/src/services/voiceRecordingService.js.map +1 -0
  171. package/dist/src/ui/App.d.ts +1 -0
  172. package/dist/src/ui/App.js +412 -63
  173. package/dist/src/ui/App.js.map +1 -1
  174. package/dist/src/ui/commands/browseExtensionsCommand.d.ts +7 -0
  175. package/dist/src/ui/commands/browseExtensionsCommand.js +16 -0
  176. package/dist/src/ui/commands/browseExtensionsCommand.js.map +1 -0
  177. package/dist/src/ui/commands/chatCommand.js +356 -16
  178. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  179. package/dist/src/ui/commands/dbCommand.d.ts +7 -0
  180. package/dist/src/ui/commands/dbCommand.js +37 -0
  181. package/dist/src/ui/commands/dbCommand.js.map +1 -0
  182. package/dist/src/ui/commands/docsCommand.js +1 -1
  183. package/dist/src/ui/commands/docsCommand.js.map +1 -1
  184. package/dist/src/ui/commands/mcpCommand.js +3 -2
  185. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  186. package/dist/src/ui/commands/mcpInvokeCommand.d.ts +16 -0
  187. package/dist/src/ui/commands/mcpInvokeCommand.js +263 -0
  188. package/dist/src/ui/commands/mcpInvokeCommand.js.map +1 -0
  189. package/dist/src/ui/commands/modelCommand.js +79 -5
  190. package/dist/src/ui/commands/modelCommand.js.map +1 -1
  191. package/dist/src/ui/commands/multiAgentCommand.d.ts +7 -0
  192. package/dist/src/ui/commands/multiAgentCommand.js +833 -0
  193. package/dist/src/ui/commands/multiAgentCommand.js.map +1 -0
  194. package/dist/src/ui/commands/multiAgentConfigureCommand.d.ts +7 -0
  195. package/dist/src/ui/commands/multiAgentConfigureCommand.js +17 -0
  196. package/dist/src/ui/commands/multiAgentConfigureCommand.js.map +1 -0
  197. package/dist/src/ui/commands/quitCommand.js +71 -2
  198. package/dist/src/ui/commands/quitCommand.js.map +1 -1
  199. package/dist/src/ui/commands/releasesCommand.d.ts +7 -0
  200. package/dist/src/ui/commands/releasesCommand.js +16 -0
  201. package/dist/src/ui/commands/releasesCommand.js.map +1 -0
  202. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  203. package/dist/src/ui/commands/shellPermissionsCommand.d.ts +7 -0
  204. package/dist/src/ui/commands/shellPermissionsCommand.js +109 -0
  205. package/dist/src/ui/commands/shellPermissionsCommand.js.map +1 -0
  206. package/dist/src/ui/commands/skillCommand.d.ts +7 -0
  207. package/dist/src/ui/commands/skillCommand.js +240 -0
  208. package/dist/src/ui/commands/skillCommand.js.map +1 -0
  209. package/dist/src/ui/commands/statsCommand.js +243 -1
  210. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  211. package/dist/src/ui/commands/tasksCommand.d.ts +7 -0
  212. package/dist/src/ui/commands/tasksCommand.js +535 -0
  213. package/dist/src/ui/commands/tasksCommand.js.map +1 -0
  214. package/dist/src/ui/commands/toolPermissionsCommand.d.ts +7 -0
  215. package/dist/src/ui/commands/toolPermissionsCommand.js +408 -0
  216. package/dist/src/ui/commands/toolPermissionsCommand.js.map +1 -0
  217. package/dist/src/ui/commands/types.d.ts +10 -2
  218. package/dist/src/ui/commands/types.js.map +1 -1
  219. package/dist/src/ui/commands/voiceCommand.d.ts +7 -0
  220. package/dist/src/ui/commands/voiceCommand.js +525 -0
  221. package/dist/src/ui/commands/voiceCommand.js.map +1 -0
  222. package/dist/src/ui/components/AuthDialog.d.ts +5 -4
  223. package/dist/src/ui/components/AuthDialog.js +89 -52
  224. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  225. package/dist/src/ui/components/AuthInProgress.js +3 -1
  226. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  227. package/dist/src/ui/components/ExtensionsDialog.d.ts +11 -0
  228. package/dist/src/ui/components/ExtensionsDialog.js +303 -0
  229. package/dist/src/ui/components/ExtensionsDialog.js.map +1 -0
  230. package/dist/src/ui/components/GenericProviderKeyPrompt.d.ts +3 -1
  231. package/dist/src/ui/components/GenericProviderKeyPrompt.js +17 -4
  232. package/dist/src/ui/components/GenericProviderKeyPrompt.js.map +1 -1
  233. package/dist/src/ui/components/Header.js +10 -1
  234. package/dist/src/ui/components/Header.js.map +1 -1
  235. package/dist/src/ui/components/HistoryBrowserDialog.d.ts +15 -0
  236. package/dist/src/ui/components/HistoryBrowserDialog.js +166 -0
  237. package/dist/src/ui/components/HistoryBrowserDialog.js.map +1 -0
  238. package/dist/src/ui/components/HistoryItemDisplay.js +13 -1
  239. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  240. package/dist/src/ui/components/InputPrompt.js +22 -8
  241. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  242. package/dist/src/ui/components/LoadingIndicator.d.ts +4 -0
  243. package/dist/src/ui/components/LoadingIndicator.js +16 -4
  244. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  245. package/dist/src/ui/components/LoadingIndicator.test.js +108 -16
  246. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
  247. package/dist/src/ui/components/ModelSelectionDialog.d.ts +2 -0
  248. package/dist/src/ui/components/ModelSelectionDialog.js +33 -4
  249. package/dist/src/ui/components/ModelSelectionDialog.js.map +1 -1
  250. package/dist/src/ui/components/ModelSelectionDialog.test.js +41 -4
  251. package/dist/src/ui/components/ModelSelectionDialog.test.js.map +1 -1
  252. package/dist/src/ui/components/ReleaseNotesDialog.d.ts +23 -0
  253. package/dist/src/ui/components/ReleaseNotesDialog.js +150 -0
  254. package/dist/src/ui/components/ReleaseNotesDialog.js.map +1 -0
  255. package/dist/src/ui/components/ReleaseNotesDisplay.d.ts +18 -0
  256. package/dist/src/ui/components/ReleaseNotesDisplay.js +14 -0
  257. package/dist/src/ui/components/ReleaseNotesDisplay.js.map +1 -0
  258. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +2 -0
  259. package/dist/src/ui/components/SessionSummaryDisplay.js +1 -1
  260. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
  261. package/dist/src/ui/components/SettingsDialog.d.ts +3 -1
  262. package/dist/src/ui/components/SettingsDialog.js +17 -7
  263. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  264. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +2 -0
  265. package/dist/src/ui/components/ShellConfirmationDialog.js +7 -3
  266. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  267. package/dist/src/ui/components/StatsDisplay.d.ts +2 -0
  268. package/dist/src/ui/components/StatsDisplay.js +92 -7
  269. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  270. package/dist/src/ui/components/SuggestionsDisplay.js +6 -1
  271. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  272. package/dist/src/ui/components/ThemeDialog.d.ts +3 -1
  273. package/dist/src/ui/components/ThemeDialog.js +5 -2
  274. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  275. package/dist/src/ui/components/Tips.js +1 -4
  276. package/dist/src/ui/components/Tips.js.map +1 -1
  277. package/dist/src/ui/components/TodoListDialog.d.ts +13 -0
  278. package/dist/src/ui/components/TodoListDialog.js +29 -0
  279. package/dist/src/ui/components/TodoListDialog.js.map +1 -0
  280. package/dist/src/ui/components/TodoListDialog.test.d.ts +6 -0
  281. package/dist/src/ui/components/TodoListDialog.test.js +60 -0
  282. package/dist/src/ui/components/TodoListDialog.test.js.map +1 -0
  283. package/dist/src/ui/components/VoiceConfigDialog.d.ts +17 -0
  284. package/dist/src/ui/components/VoiceConfigDialog.js +47 -0
  285. package/dist/src/ui/components/VoiceConfigDialog.js.map +1 -0
  286. package/dist/src/ui/components/messages/GeminiMessage.js +4 -0
  287. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
  288. package/dist/src/ui/components/messages/GeminiMessageContent.js +4 -0
  289. package/dist/src/ui/components/messages/GeminiMessageContent.js.map +1 -1
  290. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +2 -0
  291. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +96 -9
  292. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  293. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +3 -3
  294. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  295. package/dist/src/ui/components/messages/ToolMessage.js +1 -1
  296. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  297. package/dist/src/ui/components/messages/ToolMessage.test.js +9 -12
  298. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
  299. package/dist/src/ui/components/multiagent/MultiAgentConfigDialog.d.ts +25 -0
  300. package/dist/src/ui/components/multiagent/MultiAgentConfigDialog.js +179 -0
  301. package/dist/src/ui/components/multiagent/MultiAgentConfigDialog.js.map +1 -0
  302. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +3 -1
  303. package/dist/src/ui/components/shared/RadioButtonSelect.js +57 -18
  304. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  305. package/dist/src/ui/components/shared/TextInput.d.ts +2 -1
  306. package/dist/src/ui/components/shared/TextInput.js +5 -2
  307. package/dist/src/ui/components/shared/TextInput.js.map +1 -1
  308. package/dist/src/ui/components/subagents/runtime/AgentExecutionDisplay.js +3 -3
  309. package/dist/src/ui/components/subagents/runtime/AgentExecutionDisplay.js.map +1 -1
  310. package/dist/src/ui/constants.d.ts +3 -3
  311. package/dist/src/ui/constants.js +3 -3
  312. package/dist/src/ui/constants.js.map +1 -1
  313. package/dist/src/ui/contexts/SessionContext.d.ts +6 -0
  314. package/dist/src/ui/contexts/SessionContext.js +24 -2
  315. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  316. package/dist/src/ui/hooks/atCommandProcessor.js +139 -57
  317. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  318. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +2 -1
  319. package/dist/src/ui/hooks/slashCommandProcessor.js +189 -17
  320. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  321. package/dist/src/ui/hooks/useAdaptiveStream.d.ts +42 -0
  322. package/dist/src/ui/hooks/useAdaptiveStream.js +31 -0
  323. package/dist/src/ui/hooks/useAdaptiveStream.js.map +1 -0
  324. package/dist/src/ui/hooks/useAtCompletion.js +20 -4
  325. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  326. package/dist/src/ui/hooks/useAuthCommand.d.ts +2 -2
  327. package/dist/src/ui/hooks/useAuthCommand.js +99 -5
  328. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  329. package/dist/src/ui/hooks/useCommandCompletion.js +14 -10
  330. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  331. package/dist/src/ui/hooks/useDialogClose.d.ts +10 -0
  332. package/dist/src/ui/hooks/useDialogClose.js +25 -0
  333. package/dist/src/ui/hooks/useDialogClose.js.map +1 -1
  334. package/dist/src/ui/hooks/useDialogCloseAnimation.d.ts +22 -0
  335. package/dist/src/ui/hooks/useDialogCloseAnimation.js +68 -0
  336. package/dist/src/ui/hooks/useDialogCloseAnimation.js.map +1 -0
  337. package/dist/src/ui/hooks/useEncryptedStream.d.ts +22 -0
  338. package/dist/src/ui/hooks/useEncryptedStream.js +378 -0
  339. package/dist/src/ui/hooks/useEncryptedStream.js.map +1 -0
  340. package/dist/src/ui/hooks/useExtensionsDialog.d.ts +10 -0
  341. package/dist/src/ui/hooks/useExtensionsDialog.js +21 -0
  342. package/dist/src/ui/hooks/useExtensionsDialog.js.map +1 -0
  343. package/dist/src/ui/hooks/useGeminiStream.js +4 -2
  344. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  345. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  346. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
  347. package/dist/src/ui/hooks/useLoadingIndicator.js +3 -2
  348. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  349. package/dist/src/ui/hooks/useLoadingIndicator.test.js +27 -5
  350. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  351. package/dist/src/ui/hooks/useMultiAgentConfigCommand.d.ts +10 -0
  352. package/dist/src/ui/hooks/useMultiAgentConfigCommand.js +21 -0
  353. package/dist/src/ui/hooks/useMultiAgentConfigCommand.js.map +1 -0
  354. package/dist/src/ui/hooks/useReleasesDialog.d.ts +20 -0
  355. package/dist/src/ui/hooks/useReleasesDialog.js +214 -0
  356. package/dist/src/ui/hooks/useReleasesDialog.js.map +1 -0
  357. package/dist/src/ui/hooks/useSlashCompletion.js +10 -8
  358. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  359. package/dist/src/ui/hooks/useTodoList.d.ts +17 -0
  360. package/dist/src/ui/hooks/useTodoList.js +51 -0
  361. package/dist/src/ui/hooks/useTodoList.js.map +1 -0
  362. package/dist/src/ui/keyMatchers.test.js +6 -0
  363. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  364. package/dist/src/ui/themes/blackbox-dark.js +1 -1
  365. package/dist/src/ui/themes/blackbox-dark.js.map +1 -1
  366. package/dist/src/ui/themes/blackbox-light.js +1 -1
  367. package/dist/src/ui/themes/blackbox-light.js.map +1 -1
  368. package/dist/src/ui/types.d.ts +15 -2
  369. package/dist/src/ui/types.js +1 -0
  370. package/dist/src/ui/types.js.map +1 -1
  371. package/dist/src/ui/utils/computeStats.d.ts +25 -1
  372. package/dist/src/ui/utils/computeStats.js +58 -1
  373. package/dist/src/ui/utils/computeStats.js.map +1 -1
  374. package/dist/src/ui/utils/updateCheck.js +37 -54
  375. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  376. package/dist/src/utils/backgroundUpdateCheck.d.ts +15 -0
  377. package/dist/src/utils/backgroundUpdateCheck.js +48 -0
  378. package/dist/src/utils/backgroundUpdateCheck.js.map +1 -0
  379. package/dist/src/utils/gitAutoDetect.d.ts +16 -0
  380. package/dist/src/utils/gitAutoDetect.js +45 -0
  381. package/dist/src/utils/gitAutoDetect.js.map +1 -0
  382. package/dist/src/utils/installationInfo.d.ts +1 -0
  383. package/dist/src/utils/installationInfo.js +24 -4
  384. package/dist/src/utils/installationInfo.js.map +1 -1
  385. package/dist/src/utils/preLaunchUpdateCheck.d.ts +17 -0
  386. package/dist/src/utils/preLaunchUpdateCheck.js +75 -0
  387. package/dist/src/utils/preLaunchUpdateCheck.js.map +1 -0
  388. package/dist/src/utils/version.js +12 -1
  389. package/dist/src/utils/version.js.map +1 -1
  390. package/dist/src/utils/versionStorage.d.ts +50 -0
  391. package/dist/src/utils/versionStorage.js +224 -0
  392. package/dist/src/utils/versionStorage.js.map +1 -0
  393. package/dist/src/validateNonInterActiveAuth.js +10 -3
  394. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  395. package/dist/src/virtual-extensions.d.ts +14 -0
  396. package/dist/src/virtual-extensions.js +56 -0
  397. package/dist/src/virtual-extensions.js.map +1 -0
  398. package/dist/src/zed-integration/fileSystemService.d.ts +3 -3
  399. package/dist/src/zed-integration/fileSystemService.js +5 -7
  400. package/dist/src/zed-integration/fileSystemService.js.map +1 -1
  401. package/dist/src/zed-integration/zedIntegration.js +62 -17
  402. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  403. package/dist/tsconfig.tsbuildinfo +1 -1
  404. package/package.json +11 -2
  405. package/dist/src/utils/handleAutoUpdate.d.ts +0 -11
  406. package/dist/src/utils/handleAutoUpdate.js +0 -102
  407. package/dist/src/utils/handleAutoUpdate.js.map +0 -1
  408. package/dist/src/utils/updateEventEmitter.d.ts +0 -11
  409. package/dist/src/utils/updateEventEmitter.js +0 -12
  410. package/dist/src/utils/updateEventEmitter.js.map +0 -1
  411. package/dist/src/zed-integration/acp.d.ts +0 -63
  412. package/dist/src/zed-integration/acp.js +0 -226
  413. package/dist/src/zed-integration/acp.js.map +0 -1
  414. package/dist/src/zed-integration/schema.d.ts +0 -11782
  415. package/dist/src/zed-integration/schema.js +0 -311
  416. package/dist/src/zed-integration/schema.js.map +0 -1
@@ -0,0 +1,51 @@
1
+ # Google JavaScript Style Guide Summary
2
+
3
+ This document summarizes key rules and best practices from the Google JavaScript Style Guide.
4
+
5
+ ## 1. Source File Basics
6
+ - **File Naming:** All lowercase, with underscores (`_`) or dashes (`-`). Extension must be `.js`.
7
+ - **File Encoding:** UTF-8.
8
+ - **Whitespace:** Use only ASCII horizontal spaces (0x20). Tabs are forbidden for indentation.
9
+
10
+ ## 2. Source File Structure
11
+ - New files should be ES modules (`import`/`export`).
12
+ - **Exports:** Use named exports (`export {MyClass};`). **Do not use default exports.**
13
+ - **Imports:** Do not use line-wrapped imports. The `.js` extension in import paths is mandatory.
14
+
15
+ ## 3. Formatting
16
+ - **Braces:** Required for all control structures (`if`, `for`, `while`, etc.), even single-line blocks. Use K&R style ("Egyptian brackets").
17
+ - **Indentation:** +2 spaces for each new block.
18
+ - **Semicolons:** Every statement must be terminated with a semicolon.
19
+ - **Column Limit:** 80 characters.
20
+ - **Line-wrapping:** Indent continuation lines at least +4 spaces.
21
+ - **Whitespace:** Use single blank lines between methods. No trailing whitespace.
22
+
23
+ ## 4. Language Features
24
+ - **Variable Declarations:** Use `const` by default, `let` if reassignment is needed. **`var` is forbidden.**
25
+ - **Array Literals:** Use trailing commas. Do not use the `Array` constructor.
26
+ - **Object Literals:** Use trailing commas and shorthand properties. Do not use the `Object` constructor.
27
+ - **Classes:** Do not use JavaScript getter/setter properties (`get name()`). Provide ordinary methods instead.
28
+ - **Functions:** Prefer arrow functions for nested functions to preserve `this` context.
29
+ - **String Literals:** Use single quotes (`'`). Use template literals (`` ` ``) for multi-line strings or complex interpolation.
30
+ - **Control Structures:** Prefer `for-of` loops. `for-in` loops should only be used on dict-style objects.
31
+ - **`this`:** Only use `this` in class constructors, methods, or in arrow functions defined within them.
32
+ - **Equality Checks:** Always use identity operators (`===` / `!==`).
33
+
34
+ ## 5. Disallowed Features
35
+ - `with` keyword.
36
+ - `eval()` or `Function(...string)`.
37
+ - Automatic Semicolon Insertion.
38
+ - Modifying builtin objects (`Array.prototype.foo = ...`).
39
+
40
+ ## 6. Naming
41
+ - **Classes:** `UpperCamelCase`.
42
+ - **Methods & Functions:** `lowerCamelCase`.
43
+ - **Constants:** `CONSTANT_CASE` (all uppercase with underscores).
44
+ - **Non-constant Fields & Variables:** `lowerCamelCase`.
45
+
46
+ ## 7. JSDoc
47
+ - JSDoc is used on all classes, fields, and methods.
48
+ - Use `@param`, `@return`, `@override`, `@deprecated`.
49
+ - Type annotations are enclosed in braces (e.g., `/** @param {string} userName */`).
50
+
51
+ *Source: [Google JavaScript Style Guide](https://google.github.io/styleguide/jsguide.html)*
@@ -0,0 +1,37 @@
1
+ # Google Python Style Guide Summary
2
+
3
+ This document summarizes key rules and best practices from the Google Python Style Guide.
4
+
5
+ ## 1. Python Language Rules
6
+ - **Linting:** Run `pylint` on your code to catch bugs and style issues.
7
+ - **Imports:** Use `import x` for packages/modules. Use `from x import y` only when `y` is a submodule.
8
+ - **Exceptions:** Use built-in exception classes. Do not use bare `except:` clauses.
9
+ - **Global State:** Avoid mutable global state. Module-level constants are okay and should be `ALL_CAPS_WITH_UNDERSCORES`.
10
+ - **Comprehensions:** Use for simple cases. Avoid for complex logic where a full loop is more readable.
11
+ - **Default Argument Values:** Do not use mutable objects (like `[]` or `{}`) as default values.
12
+ - **True/False Evaluations:** Use implicit false (e.g., `if not my_list:`). Use `if foo is None:` to check for `None`.
13
+ - **Type Annotations:** Strongly encouraged for all public APIs.
14
+
15
+ ## 2. Python Style Rules
16
+ - **Line Length:** Maximum 80 characters.
17
+ - **Indentation:** 4 spaces per indentation level. Never use tabs.
18
+ - **Blank Lines:** Two blank lines between top-level definitions (classes, functions). One blank line between method definitions.
19
+ - **Whitespace:** Avoid extraneous whitespace. Surround binary operators with single spaces.
20
+ - **Docstrings:** Use `"""triple double quotes"""`. Every public module, function, class, and method must have a docstring.
21
+ - **Format:** Start with a one-line summary. Include `Args:`, `Returns:`, and `Raises:` sections.
22
+ - **Strings:** Use f-strings for formatting. Be consistent with single (`'`) or double (`"`) quotes.
23
+ - **`TODO` Comments:** Use `TODO(username): Fix this.` format.
24
+ - **Imports Formatting:** Imports should be on separate lines and grouped: standard library, third-party, and your own application's imports.
25
+
26
+ ## 3. Naming
27
+ - **General:** `snake_case` for modules, functions, methods, and variables.
28
+ - **Classes:** `PascalCase`.
29
+ - **Constants:** `ALL_CAPS_WITH_UNDERSCORES`.
30
+ - **Internal Use:** Use a single leading underscore (`_internal_variable`) for internal module/class members.
31
+
32
+ ## 4. Main
33
+ - All executable files should have a `main()` function that contains the main logic, called from a `if __name__ == '__main__':` block.
34
+
35
+ **BE CONSISTENT.** When editing code, match the existing style.
36
+
37
+ *Source: [Google Python Style Guide](https://google.github.io/styleguide/pyguide.html)*
@@ -0,0 +1,43 @@
1
+ # Google TypeScript Style Guide Summary
2
+
3
+ This document summarizes key rules and best practices from the Google TypeScript Style Guide, which is enforced by the `gts` tool.
4
+
5
+ ## 1. Language Features
6
+ - **Variable Declarations:** Always use `const` or `let`. **`var` is forbidden.** Use `const` by default.
7
+ - **Modules:** Use ES6 modules (`import`/`export`). **Do not use `namespace`.**
8
+ - **Exports:** Use named exports (`export {MyClass};`). **Do not use default exports.**
9
+ - **Classes:**
10
+ - **Do not use `#private` fields.** Use TypeScript's `private` visibility modifier.
11
+ - Mark properties never reassigned outside the constructor with `readonly`.
12
+ - **Never use the `public` modifier** (it's the default). Restrict visibility with `private` or `protected` where possible.
13
+ - **Functions:** Prefer function declarations for named functions. Use arrow functions for anonymous functions/callbacks.
14
+ - **String Literals:** Use single quotes (`'`). Use template literals (`` ` ``) for interpolation and multi-line strings.
15
+ - **Equality Checks:** Always use triple equals (`===`) and not equals (`!==`).
16
+ - **Type Assertions:** **Avoid type assertions (`x as SomeType`) and non-nullability assertions (`y!`)**. If you must use them, provide a clear justification.
17
+
18
+ ## 2. Disallowed Features
19
+ - **`any` Type:** **Avoid `any`**. Prefer `unknown` or a more specific type.
20
+ - **Wrapper Objects:** Do not instantiate `String`, `Boolean`, or `Number` wrapper classes.
21
+ - **Automatic Semicolon Insertion (ASI):** Do not rely on it. **Explicitly end all statements with a semicolon.**
22
+ - **`const enum`:** Do not use `const enum`. Use plain `enum` instead.
23
+ - **`eval()` and `Function(...string)`:** Forbidden.
24
+
25
+ ## 3. Naming
26
+ - **`UpperCamelCase`:** For classes, interfaces, types, enums, and decorators.
27
+ - **`lowerCamelCase`:** For variables, parameters, functions, methods, and properties.
28
+ - **`CONSTANT_CASE`:** For global constant values, including enum values.
29
+ - **`_` Prefix/Suffix:** **Do not use `_` as a prefix or suffix** for identifiers, including for private properties.
30
+
31
+ ## 4. Type System
32
+ - **Type Inference:** Rely on type inference for simple, obvious types. Be explicit for complex types.
33
+ - **`undefined` and `null`:** Both are supported. Be consistent within your project.
34
+ - **Optional vs. `|undefined`:** Prefer optional parameters and fields (`?`) over adding `|undefined` to the type.
35
+ - **`Array<T>` Type:** Use `T[]` for simple types. Use `Array<T>` for more complex union types (e.g., `Array<string | number>`).
36
+ - **`{}` Type:** **Do not use `{}`**. Prefer `unknown`, `Record<string, unknown>`, or `object`.
37
+
38
+ ## 5. Comments and Documentation
39
+ - **JSDoc:** Use `/** JSDoc */` for documentation, `//` for implementation comments.
40
+ - **Redundancy:** **Do not declare types in `@param` or `@return` blocks** (e.g., `/** @param {string} user */`). This is redundant in TypeScript.
41
+ - **Add Information:** Comments must add information, not just restate the code.
42
+
43
+ *Source: [Google TypeScript Style Guide](https://google.github.io/styleguide/tsguide.html)*
@@ -0,0 +1,333 @@
1
+ # Project Workflow
2
+
3
+ ## Guiding Principles
4
+
5
+ 1. **The Plan is the Source of Truth:** All work must be tracked in `plan.md`
6
+ 2. **The Tech Stack is Deliberate:** Changes to the tech stack must be documented in `tech-stack.md` *before* implementation
7
+ 3. **Test-Driven Development:** Write unit tests before implementing functionality
8
+ 4. **High Code Coverage:** Aim for >80% code coverage for all modules
9
+ 5. **User Experience First:** Every decision should prioritize user experience
10
+ 6. **Non-Interactive & CI-Aware:** Prefer non-interactive commands. Use `CI=true` for watch-mode tools (tests, linters) to ensure single execution.
11
+
12
+ ## Task Workflow
13
+
14
+ All tasks follow a strict lifecycle:
15
+
16
+ ### Standard Task Workflow
17
+
18
+ 1. **Select Task:** Choose the next available task from `plan.md` in sequential order
19
+
20
+ 2. **Mark In Progress:** Before beginning work, edit `plan.md` and change the task from `[ ]` to `[~]`
21
+
22
+ 3. **Write Failing Tests (Red Phase):**
23
+ - Create a new test file for the feature or bug fix.
24
+ - Write one or more unit tests that clearly define the expected behavior and acceptance criteria for the task.
25
+ - **CRITICAL:** Run the tests and confirm that they fail as expected. This is the "Red" phase of TDD. Do not proceed until you have failing tests.
26
+
27
+ 4. **Implement to Pass Tests (Green Phase):**
28
+ - Write the minimum amount of application code necessary to make the failing tests pass.
29
+ - Run the test suite again and confirm that all tests now pass. This is the "Green" phase.
30
+
31
+ 5. **Refactor (Optional but Recommended):**
32
+ - With the safety of passing tests, refactor the implementation code and the test code to improve clarity, remove duplication, and enhance performance without changing the external behavior.
33
+ - Rerun tests to ensure they still pass after refactoring.
34
+
35
+ 6. **Verify Coverage:** Run coverage reports using the project's chosen tools. For example, in a Python project, this might look like:
36
+ ```bash
37
+ pytest --cov=app --cov-report=html
38
+ ```
39
+ Target: >80% coverage for new code. The specific tools and commands will vary by language and framework.
40
+
41
+ 7. **Document Deviations:** If implementation differs from tech stack:
42
+ - **STOP** implementation
43
+ - Update `tech-stack.md` with new design
44
+ - Add dated note explaining the change
45
+ - Resume implementation
46
+
47
+ 8. **Commit Code Changes:**
48
+ - Stage all code changes related to the task.
49
+ - Propose a clear, concise commit message e.g, `feat(ui): Create basic HTML structure for calculator`.
50
+ - Perform the commit.
51
+
52
+ 9. **Attach Task Summary with Git Notes:**
53
+ - **Step 9.1: Get Commit Hash:** Obtain the hash of the *just-completed commit* (`git log -1 --format="%H"`).
54
+ - **Step 9.2: Draft Note Content:** Create a detailed summary for the completed task. This should include the task name, a summary of changes, a list of all created/modified files, and the core "why" for the change.
55
+ - **Step 9.3: Attach Note:** Use the `git notes` command to attach the summary to the commit.
56
+ ```bash
57
+ # The note content from the previous step is passed via the -m flag.
58
+ git notes add -m "<note content>" <commit_hash>
59
+ ```
60
+
61
+ 10. **Get and Record Task Commit SHA:**
62
+ - **Step 10.1: Update Plan:** Read `plan.md`, find the line for the completed task, update its status from `[~]` to `[x]`, and append the first 7 characters of the *just-completed commit's* commit hash.
63
+ - **Step 10.2: Write Plan:** Write the updated content back to `plan.md`.
64
+
65
+ 11. **Commit Plan Update:**
66
+ - **Action:** Stage the modified `plan.md` file.
67
+ - **Action:** Commit this change with a descriptive message (e.g., `conductor(plan): Mark task 'Create user model' as complete`).
68
+
69
+ ### Phase Completion Verification and Checkpointing Protocol
70
+
71
+ **Trigger:** This protocol is executed immediately after a task is completed that also concludes a phase in `plan.md`.
72
+
73
+ 1. **Announce Protocol Start:** Inform the user that the phase is complete and the verification and checkpointing protocol has begun.
74
+
75
+ 2. **Ensure Test Coverage for Phase Changes:**
76
+ - **Step 2.1: Determine Phase Scope:** To identify the files changed in this phase, you must first find the starting point. Read `plan.md` to find the Git commit SHA of the *previous* phase's checkpoint. If no previous checkpoint exists, the scope is all changes since the first commit.
77
+ - **Step 2.2: List Changed Files:** Execute `git diff --name-only <previous_checkpoint_sha> HEAD` to get a precise list of all files modified during this phase.
78
+ - **Step 2.3: Verify and Create Tests:** For each file in the list:
79
+ - **CRITICAL:** First, check its extension. Exclude non-code files (e.g., `.json`, `.md`, `.yaml`).
80
+ - For each remaining code file, verify a corresponding test file exists.
81
+ - If a test file is missing, you **must** create one. Before writing the test, **first, analyze other test files in the repository to determine the correct naming convention and testing style.** The new tests **must** validate the functionality described in this phase's tasks (`plan.md`).
82
+
83
+ 3. **Execute Automated Tests with Proactive Debugging:**
84
+ - Before execution, you **must** announce the exact shell command you will use to run the tests.
85
+ - **Example Announcement:** "I will now run the automated test suite to verify the phase. **Command:** `CI=true npm test`"
86
+ - Execute the announced command.
87
+ - If tests fail, you **must** inform the user and begin debugging. You may attempt to propose a fix a **maximum of two times**. If the tests still fail after your second proposed fix, you **must stop**, report the persistent failure, and ask the user for guidance.
88
+
89
+ 4. **Propose a Detailed, Actionable Manual Verification Plan:**
90
+ - **CRITICAL:** To generate the plan, first analyze `product.md`, `product-guidelines.md`, and `plan.md` to determine the user-facing goals of the completed phase.
91
+ - You **must** generate a step-by-step plan that walks the user through the verification process, including any necessary commands and specific, expected outcomes.
92
+ - The plan you present to the user **must** follow this format:
93
+
94
+ **For a Frontend Change:**
95
+ ```
96
+ The automated tests have passed. For manual verification, please follow these steps:
97
+
98
+ **Manual Verification Steps:**
99
+ 1. **Start the development server with the command:** `npm run dev`
100
+ 2. **Open your browser to:** `http://localhost:3000`
101
+ 3. **Confirm that you see:** The new user profile page, with the user's name and email displayed correctly.
102
+ ```
103
+
104
+ **For a Backend Change:**
105
+ ```
106
+ The automated tests have passed. For manual verification, please follow these steps:
107
+
108
+ **Manual Verification Steps:**
109
+ 1. **Ensure the server is running.**
110
+ 2. **Execute the following command in your terminal:** `curl -X POST http://localhost:8080/api/v1/users -d '{"name": "test"}'`
111
+ 3. **Confirm that you receive:** A JSON response with a status of `201 Created`.
112
+ ```
113
+
114
+ 5. **Await Explicit User Feedback:**
115
+ - After presenting the detailed plan, ask the user for confirmation: "**Does this meet your expectations? Please confirm with yes or provide feedback on what needs to be changed.**"
116
+ - **PAUSE** and await the user's response. Do not proceed without an explicit yes or confirmation.
117
+
118
+ 6. **Create Checkpoint Commit:**
119
+ - Stage all changes. If no changes occurred in this step, proceed with an empty commit.
120
+ - Perform the commit with a clear and concise message (e.g., `conductor(checkpoint): Checkpoint end of Phase X`).
121
+
122
+ 7. **Attach Auditable Verification Report using Git Notes:**
123
+ - **Step 7.1: Draft Note Content:** Create a detailed verification report including the automated test command, the manual verification steps, and the user's confirmation.
124
+ - **Step 7.2: Attach Note:** Use the `git notes` command and the full commit hash from the previous step to attach the full report to the checkpoint commit.
125
+
126
+ 8. **Get and Record Phase Checkpoint SHA:**
127
+ - **Step 8.1: Get Commit Hash:** Obtain the hash of the *just-created checkpoint commit* (`git log -1 --format="%H"`).
128
+ - **Step 8.2: Update Plan:** Read `plan.md`, find the heading for the completed phase, and append the first 7 characters of the commit hash in the format `[checkpoint: <sha>]`.
129
+ - **Step 8.3: Write Plan:** Write the updated content back to `plan.md`.
130
+
131
+ 9. **Commit Plan Update:**
132
+ - **Action:** Stage the modified `plan.md` file.
133
+ - **Action:** Commit this change with a descriptive message following the format `conductor(plan): Mark phase '<PHASE NAME>' as complete`.
134
+
135
+ 10. **Announce Completion:** Inform the user that the phase is complete and the checkpoint has been created, with the detailed verification report attached as a git note.
136
+
137
+ ### Quality Gates
138
+
139
+ Before marking any task complete, verify:
140
+
141
+ - [ ] All tests pass
142
+ - [ ] Code coverage meets requirements (>80%)
143
+ - [ ] Code follows project's code style guidelines (as defined in `code_styleguides/`)
144
+ - [ ] All public functions/methods are documented (e.g., docstrings, JSDoc, GoDoc)
145
+ - [ ] Type safety is enforced (e.g., type hints, TypeScript types, Go types)
146
+ - [ ] No linting or static analysis errors (using the project's configured tools)
147
+ - [ ] Works correctly on mobile (if applicable)
148
+ - [ ] Documentation updated if needed
149
+ - [ ] No security vulnerabilities introduced
150
+
151
+ ## Development Commands
152
+
153
+ **AI AGENT INSTRUCTION: This section should be adapted to the project's specific language, framework, and build tools.**
154
+
155
+ ### Setup
156
+ ```bash
157
+ # Example: Commands to set up the development environment (e.g., install dependencies, configure database)
158
+ # e.g., for a Node.js project: npm install
159
+ # e.g., for a Go project: go mod tidy
160
+ ```
161
+
162
+ ### Daily Development
163
+ ```bash
164
+ # Example: Commands for common daily tasks (e.g., start dev server, run tests, lint, format)
165
+ # e.g., for a Node.js project: npm run dev, npm test, npm run lint
166
+ # e.g., for a Go project: go run main.go, go test ./..., go fmt ./...
167
+ ```
168
+
169
+ ### Before Committing
170
+ ```bash
171
+ # Example: Commands to run all pre-commit checks (e.g., format, lint, type check, run tests)
172
+ # e.g., for a Node.js project: npm run check
173
+ # e.g., for a Go project: make check (if a Makefile exists)
174
+ ```
175
+
176
+ ## Testing Requirements
177
+
178
+ ### Unit Testing
179
+ - Every module must have corresponding tests.
180
+ - Use appropriate test setup/teardown mechanisms (e.g., fixtures, beforeEach/afterEach).
181
+ - Mock external dependencies.
182
+ - Test both success and failure cases.
183
+
184
+ ### Integration Testing
185
+ - Test complete user flows
186
+ - Verify database transactions
187
+ - Test authentication and authorization
188
+ - Check form submissions
189
+
190
+ ### Mobile Testing
191
+ - Test on actual iPhone when possible
192
+ - Use Safari developer tools
193
+ - Test touch interactions
194
+ - Verify responsive layouts
195
+ - Check performance on 3G/4G
196
+
197
+ ## Code Review Process
198
+
199
+ ### Self-Review Checklist
200
+ Before requesting review:
201
+
202
+ 1. **Functionality**
203
+ - Feature works as specified
204
+ - Edge cases handled
205
+ - Error messages are user-friendly
206
+
207
+ 2. **Code Quality**
208
+ - Follows style guide
209
+ - DRY principle applied
210
+ - Clear variable/function names
211
+ - Appropriate comments
212
+
213
+ 3. **Testing**
214
+ - Unit tests comprehensive
215
+ - Integration tests pass
216
+ - Coverage adequate (>80%)
217
+
218
+ 4. **Security**
219
+ - No hardcoded secrets
220
+ - Input validation present
221
+ - SQL injection prevented
222
+ - XSS protection in place
223
+
224
+ 5. **Performance**
225
+ - Database queries optimized
226
+ - Images optimized
227
+ - Caching implemented where needed
228
+
229
+ 6. **Mobile Experience**
230
+ - Touch targets adequate (44x44px)
231
+ - Text readable without zooming
232
+ - Performance acceptable on mobile
233
+ - Interactions feel native
234
+
235
+ ## Commit Guidelines
236
+
237
+ ### Message Format
238
+ ```
239
+ <type>(<scope>): <description>
240
+
241
+ [optional body]
242
+
243
+ [optional footer]
244
+ ```
245
+
246
+ ### Types
247
+ - `feat`: New feature
248
+ - `fix`: Bug fix
249
+ - `docs`: Documentation only
250
+ - `style`: Formatting, missing semicolons, etc.
251
+ - `refactor`: Code change that neither fixes a bug nor adds a feature
252
+ - `test`: Adding missing tests
253
+ - `chore`: Maintenance tasks
254
+
255
+ ### Examples
256
+ ```bash
257
+ git commit -m "feat(auth): Add remember me functionality"
258
+ git commit -m "fix(posts): Correct excerpt generation for short posts"
259
+ git commit -m "test(comments): Add tests for emoji reaction limits"
260
+ git commit -m "style(mobile): Improve button touch targets"
261
+ ```
262
+
263
+ ## Definition of Done
264
+
265
+ A task is complete when:
266
+
267
+ 1. All code implemented to specification
268
+ 2. Unit tests written and passing
269
+ 3. Code coverage meets project requirements
270
+ 4. Documentation complete (if applicable)
271
+ 5. Code passes all configured linting and static analysis checks
272
+ 6. Works beautifully on mobile (if applicable)
273
+ 7. Implementation notes added to `plan.md`
274
+ 8. Changes committed with proper message
275
+ 9. Git note with task summary attached to the commit
276
+
277
+ ## Emergency Procedures
278
+
279
+ ### Critical Bug in Production
280
+ 1. Create hotfix branch from main
281
+ 2. Write failing test for bug
282
+ 3. Implement minimal fix
283
+ 4. Test thoroughly including mobile
284
+ 5. Deploy immediately
285
+ 6. Document in plan.md
286
+
287
+ ### Data Loss
288
+ 1. Stop all write operations
289
+ 2. Restore from latest backup
290
+ 3. Verify data integrity
291
+ 4. Document incident
292
+ 5. Update backup procedures
293
+
294
+ ### Security Breach
295
+ 1. Rotate all secrets immediately
296
+ 2. Review access logs
297
+ 3. Patch vulnerability
298
+ 4. Notify affected users (if any)
299
+ 5. Document and update security procedures
300
+
301
+ ## Deployment Workflow
302
+
303
+ ### Pre-Deployment Checklist
304
+ - [ ] All tests passing
305
+ - [ ] Coverage >80%
306
+ - [ ] No linting errors
307
+ - [ ] Mobile testing complete
308
+ - [ ] Environment variables configured
309
+ - [ ] Database migrations ready
310
+ - [ ] Backup created
311
+
312
+ ### Deployment Steps
313
+ 1. Merge feature branch to main
314
+ 2. Tag release with version
315
+ 3. Push to deployment service
316
+ 4. Run database migrations
317
+ 5. Verify deployment
318
+ 6. Test critical paths
319
+ 7. Monitor for errors
320
+
321
+ ### Post-Deployment
322
+ 1. Monitor analytics
323
+ 2. Check error logs
324
+ 3. Gather user feedback
325
+ 4. Plan next iteration
326
+
327
+ ## Continuous Improvement
328
+
329
+ - Review workflow weekly
330
+ - Update based on pain points
331
+ - Document lessons learned
332
+ - Optimize for user happiness
333
+ - Keep things simple and maintainable
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export interface EmbeddedExtensionFile {
7
+ path: string;
8
+ content: string;
9
+ isDirectory: boolean;
10
+ }
11
+ export interface EmbeddedExtension {
12
+ name: string;
13
+ files: EmbeddedExtensionFile[];
14
+ }
15
+ export declare const EMBEDDED_BUILT_IN_EXTENSIONS: EmbeddedExtension[];
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import * as fs from 'node:fs';
7
+ import * as path from 'node:path';
8
+ import { fileURLToPath } from 'node:url';
9
+ // This module embeds built-in extensions data at build time
10
+ const currentModuleDir = path.dirname(fileURLToPath(import.meta.url));
11
+ const builtInExtensionsDir = path.join(currentModuleDir, 'built-in-extensions');
12
+ function loadExtensionFiles(extensionDir, basePath = '') {
13
+ const files = [];
14
+ if (!fs.existsSync(extensionDir)) {
15
+ return files;
16
+ }
17
+ for (const item of fs.readdirSync(extensionDir)) {
18
+ const itemPath = path.join(extensionDir, item);
19
+ const relativePath = path.join(basePath, item);
20
+ const stat = fs.statSync(itemPath);
21
+ if (stat.isDirectory()) {
22
+ files.push({
23
+ path: relativePath,
24
+ content: '',
25
+ isDirectory: true,
26
+ });
27
+ // Recursively load files from subdirectories
28
+ files.push(...loadExtensionFiles(itemPath, relativePath));
29
+ }
30
+ else {
31
+ files.push({
32
+ path: relativePath,
33
+ content: fs.readFileSync(itemPath, 'utf-8'),
34
+ isDirectory: false,
35
+ });
36
+ }
37
+ }
38
+ return files;
39
+ }
40
+ function loadBuiltInExtensionsData() {
41
+ const extensions = [];
42
+ if (!fs.existsSync(builtInExtensionsDir)) {
43
+ console.warn(`Built-in extensions directory not found: ${builtInExtensionsDir}`);
44
+ return extensions;
45
+ }
46
+ for (const subdir of fs.readdirSync(builtInExtensionsDir)) {
47
+ const extensionDir = path.join(builtInExtensionsDir, subdir);
48
+ if (!fs.statSync(extensionDir).isDirectory()) {
49
+ continue;
50
+ }
51
+ const files = loadExtensionFiles(extensionDir);
52
+ extensions.push({
53
+ name: subdir,
54
+ files,
55
+ });
56
+ }
57
+ return extensions;
58
+ }
59
+ // Load the data at build time
60
+ export const EMBEDDED_BUILT_IN_EXTENSIONS = loadBuiltInExtensionsData();
61
+ //# sourceMappingURL=built-in-extensions-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"built-in-extensions-data.js","sourceRoot":"","sources":["../../src/built-in-extensions-data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,4DAA4D;AAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;AAahF,SAAS,kBAAkB,CAAC,YAAoB,EAAE,WAAmB,EAAE;IACrE,MAAM,KAAK,GAA4B,EAAE,CAAC;IAE1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,6CAA6C;YAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAC3C,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB;IAChC,MAAM,UAAU,GAAwB,EAAE,CAAC;IAE3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,4CAA4C,oBAAoB,EAAE,CAAC,CAAC;QACjF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QAE7D,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC/C,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,MAAM;YACZ,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,8BAA8B;AAC9B,MAAM,CAAC,MAAM,4BAA4B,GAAwB,yBAAyB,EAAE,CAAC"}
@@ -5,7 +5,10 @@
5
5
  */
6
6
  import type React from 'react';
7
7
  interface ConfigureUIProps {
8
- onComplete: () => void;
8
+ onComplete: (providerName?: string) => void;
9
+ onCancel?: () => void;
10
+ embedded?: boolean;
11
+ mode?: 'provider' | 'db';
9
12
  }
10
- export declare function ConfigureUI({ onComplete }: ConfigureUIProps): React.JSX.Element;
13
+ export declare function ConfigureUI({ onComplete, onCancel, embedded, mode, }: ConfigureUIProps): React.JSX.Element;
11
14
  export {};