@qduc/term2 0.29.1 → 0.31.0

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 (765) hide show
  1. package/dist/agent.d.ts +13 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +73 -2
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +24 -5
  7. package/dist/app.js.map +1 -1
  8. package/dist/build-info.json +2 -2
  9. package/dist/cli.js +53 -25
  10. package/dist/cli.js.map +1 -1
  11. package/dist/components/ErrorBoundary.d.ts +1 -1
  12. package/dist/components/ErrorBoundary.d.ts.map +1 -1
  13. package/dist/components/ErrorBoundary.js +28 -23
  14. package/dist/components/ErrorBoundary.js.map +1 -1
  15. package/dist/components/InputBox.d.ts.map +1 -1
  16. package/dist/components/InputBox.js +124 -32
  17. package/dist/components/InputBox.js.map +1 -1
  18. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  19. package/dist/components/MarkdownRenderer.js +31 -28
  20. package/dist/components/MarkdownRenderer.js.map +1 -1
  21. package/dist/components/common/Divider.d.ts.map +1 -1
  22. package/dist/components/common/Divider.js +5 -2
  23. package/dist/components/common/Divider.js.map +1 -1
  24. package/dist/components/common/MenuContainer.d.ts +6 -20
  25. package/dist/components/common/MenuContainer.d.ts.map +1 -1
  26. package/dist/components/common/MenuContainer.js +24 -40
  27. package/dist/components/common/MenuContainer.js.map +1 -1
  28. package/dist/components/common/ScrollableTabBar.d.ts.map +1 -1
  29. package/dist/components/common/ScrollableTabBar.js +6 -5
  30. package/dist/components/common/ScrollableTabBar.js.map +1 -1
  31. package/dist/components/common/SelectionMarker.d.ts +16 -0
  32. package/dist/components/common/SelectionMarker.d.ts.map +1 -0
  33. package/dist/components/common/SelectionMarker.js +20 -0
  34. package/dist/components/common/SelectionMarker.js.map +1 -0
  35. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  36. package/dist/components/input/ApplicationInputSurface.js +3 -1
  37. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  38. package/dist/components/input/FirstRunSetupPrompt.d.ts.map +1 -1
  39. package/dist/components/input/FirstRunSetupPrompt.js +8 -6
  40. package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
  41. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  42. package/dist/components/input/MenuSurface.js +4 -3
  43. package/dist/components/input/MenuSurface.js.map +1 -1
  44. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  45. package/dist/components/input/ModelMenuSession.js +3 -2
  46. package/dist/components/input/ModelMenuSession.js.map +1 -1
  47. package/dist/components/input/PendingQueueList.d.ts +3 -0
  48. package/dist/components/input/PendingQueueList.d.ts.map +1 -1
  49. package/dist/components/input/PendingQueueList.js +9 -8
  50. package/dist/components/input/PendingQueueList.js.map +1 -1
  51. package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
  52. package/dist/components/input/SettingsValueMenuSession.js +3 -2
  53. package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
  54. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  55. package/dist/components/layout/BackgroundTaskManager.js +113 -107
  56. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  57. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  58. package/dist/components/layout/BackgroundTasksPanel.js +26 -28
  59. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  60. package/dist/components/layout/Banner.d.ts.map +1 -1
  61. package/dist/components/layout/Banner.js +3 -47
  62. package/dist/components/layout/Banner.js.map +1 -1
  63. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  64. package/dist/components/layout/BottomArea.js +14 -34
  65. package/dist/components/layout/BottomArea.js.map +1 -1
  66. package/dist/components/layout/DiffView.d.ts.map +1 -1
  67. package/dist/components/layout/DiffView.js +8 -7
  68. package/dist/components/layout/DiffView.js.map +1 -1
  69. package/dist/components/layout/StatusBar.d.ts +8 -0
  70. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  71. package/dist/components/layout/StatusBar.js +195 -290
  72. package/dist/components/layout/StatusBar.js.map +1 -1
  73. package/dist/components/menu/CopyMenu.d.ts.map +1 -1
  74. package/dist/components/menu/CopyMenu.js +16 -13
  75. package/dist/components/menu/CopyMenu.js.map +1 -1
  76. package/dist/components/menu/McpSelectionMenu.d.ts.map +1 -1
  77. package/dist/components/menu/McpSelectionMenu.js +8 -7
  78. package/dist/components/menu/McpSelectionMenu.js.map +1 -1
  79. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  80. package/dist/components/menu/ModelSelectionMenu.js +21 -20
  81. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  82. package/dist/components/menu/PathSelectionMenu.d.ts.map +1 -1
  83. package/dist/components/menu/PathSelectionMenu.js +5 -4
  84. package/dist/components/menu/PathSelectionMenu.js.map +1 -1
  85. package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -1
  86. package/dist/components/menu/ProfileSelectionMenu.js +17 -20
  87. package/dist/components/menu/ProfileSelectionMenu.js.map +1 -1
  88. package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
  89. package/dist/components/menu/ProviderSelectionMenu.js +37 -36
  90. package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
  91. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
  92. package/dist/components/menu/ResumeSelectionMenu.js +21 -22
  93. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
  94. package/dist/components/menu/RewindMenu.d.ts.map +1 -1
  95. package/dist/components/menu/RewindMenu.js +5 -4
  96. package/dist/components/menu/RewindMenu.js.map +1 -1
  97. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  98. package/dist/components/menu/SettingsSelectionMenu.js +15 -14
  99. package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
  100. package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
  101. package/dist/components/menu/SettingsValueSelectionMenu.js +15 -14
  102. package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
  103. package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
  104. package/dist/components/menu/SkillSelectionMenu.js +17 -18
  105. package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
  106. package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
  107. package/dist/components/menu/SlashCommandMenu.js +5 -4
  108. package/dist/components/menu/SlashCommandMenu.js.map +1 -1
  109. package/dist/components/menu/StandaloneModelPickerApp.d.ts.map +1 -1
  110. package/dist/components/menu/StandaloneModelPickerApp.js +3 -2
  111. package/dist/components/menu/StandaloneModelPickerApp.js.map +1 -1
  112. package/dist/components/menu/SubagentPoolSelectionMenu.d.ts.map +1 -1
  113. package/dist/components/menu/SubagentPoolSelectionMenu.js +26 -24
  114. package/dist/components/menu/SubagentPoolSelectionMenu.js.map +1 -1
  115. package/dist/components/menu/settings-value-formatter.d.ts +3 -1
  116. package/dist/components/menu/settings-value-formatter.d.ts.map +1 -1
  117. package/dist/components/menu/settings-value-formatter.js +24 -25
  118. package/dist/components/menu/settings-value-formatter.js.map +1 -1
  119. package/dist/components/message/ChatMessage.d.ts.map +1 -1
  120. package/dist/components/message/ChatMessage.js +11 -7
  121. package/dist/components/message/ChatMessage.js.map +1 -1
  122. package/dist/components/message/CodeContextSearchRenderer.d.ts.map +1 -1
  123. package/dist/components/message/CodeContextSearchRenderer.js +14 -11
  124. package/dist/components/message/CodeContextSearchRenderer.js.map +1 -1
  125. package/dist/components/message/CommandGroupSummary.d.ts.map +1 -1
  126. package/dist/components/message/CommandGroupSummary.js +8 -36
  127. package/dist/components/message/CommandGroupSummary.js.map +1 -1
  128. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  129. package/dist/components/message/CommandMessage.js +313 -329
  130. package/dist/components/message/CommandMessage.js.map +1 -1
  131. package/dist/components/message/GrepRenderer.d.ts.map +1 -1
  132. package/dist/components/message/GrepRenderer.js +12 -9
  133. package/dist/components/message/GrepRenderer.js.map +1 -1
  134. package/dist/components/message/MemoryRenderer.d.ts.map +1 -1
  135. package/dist/components/message/MemoryRenderer.js +45 -38
  136. package/dist/components/message/MemoryRenderer.js.map +1 -1
  137. package/dist/components/message/ReadFileRenderer.d.ts.map +1 -1
  138. package/dist/components/message/ReadFileRenderer.js +20 -16
  139. package/dist/components/message/ReadFileRenderer.js.map +1 -1
  140. package/dist/components/message/RunCodeRenderer.d.ts.map +1 -1
  141. package/dist/components/message/RunCodeRenderer.js +19 -14
  142. package/dist/components/message/RunCodeRenderer.js.map +1 -1
  143. package/dist/components/message/SubagentActivityMessage.d.ts +2 -2
  144. package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
  145. package/dist/components/message/SubagentActivityMessage.js +17 -28
  146. package/dist/components/message/SubagentActivityMessage.js.map +1 -1
  147. package/dist/components/message/WebFetchRenderer.d.ts.map +1 -1
  148. package/dist/components/message/WebFetchRenderer.js +16 -13
  149. package/dist/components/message/WebFetchRenderer.js.map +1 -1
  150. package/dist/components/message/WebSearchRenderer.d.ts.map +1 -1
  151. package/dist/components/message/WebSearchRenderer.js +20 -16
  152. package/dist/components/message/WebSearchRenderer.js.map +1 -1
  153. package/dist/components/prompt/ApprovalPrompt.d.ts +12 -1
  154. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  155. package/dist/components/prompt/ApprovalPrompt.js +100 -147
  156. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  157. package/dist/components/prompt/ConfirmPrompt.d.ts.map +1 -1
  158. package/dist/components/prompt/ConfirmPrompt.js +7 -4
  159. package/dist/components/prompt/ConfirmPrompt.js.map +1 -1
  160. package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
  161. package/dist/components/prompt/QueuePausedPrompt.js +7 -4
  162. package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
  163. package/dist/components/theme.d.ts +10 -52
  164. package/dist/components/theme.d.ts.map +1 -1
  165. package/dist/components/theme.js +11 -68
  166. package/dist/components/theme.js.map +1 -1
  167. package/dist/context/InputContext.d.ts +17 -0
  168. package/dist/context/InputContext.d.ts.map +1 -1
  169. package/dist/context/InputContext.js +12 -0
  170. package/dist/context/InputContext.js.map +1 -1
  171. package/dist/core/index.d.ts +2 -3
  172. package/dist/core/index.d.ts.map +1 -1
  173. package/dist/core/index.js +1 -7
  174. package/dist/core/index.js.map +1 -1
  175. package/dist/core/session-runtime.d.ts +72 -0
  176. package/dist/core/session-runtime.d.ts.map +1 -1
  177. package/dist/gateway/contracts.d.ts +1 -1
  178. package/dist/gateway/contracts.d.ts.map +1 -1
  179. package/dist/gateway/gateway.d.ts +32 -0
  180. package/dist/gateway/gateway.d.ts.map +1 -1
  181. package/dist/gateway/gateway.js +47 -2
  182. package/dist/gateway/gateway.js.map +1 -1
  183. package/dist/gateway/persistence/contracts.d.ts +3 -10
  184. package/dist/gateway/persistence/contracts.d.ts.map +1 -1
  185. package/dist/gateway/persistence/contracts.js +2 -31
  186. package/dist/gateway/persistence/contracts.js.map +1 -1
  187. package/dist/gateway/runtime-factory.d.ts.map +1 -1
  188. package/dist/gateway/runtime-factory.js +4 -0
  189. package/dist/gateway/runtime-factory.js.map +1 -1
  190. package/dist/gateway/server-session.d.ts +3 -0
  191. package/dist/gateway/server-session.d.ts.map +1 -1
  192. package/dist/gateway/server-session.js +17 -20
  193. package/dist/gateway/server-session.js.map +1 -1
  194. package/dist/gateway/settings-rpc.d.ts +1 -1
  195. package/dist/gateway/settings-rpc.d.ts.map +1 -1
  196. package/dist/gateway/settings-rpc.js +4 -1
  197. package/dist/gateway/settings-rpc.js.map +1 -1
  198. package/dist/hooks/conversation-ui-reducer.d.ts +5 -2
  199. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  200. package/dist/hooks/conversation-ui-reducer.js +9 -2
  201. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  202. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  203. package/dist/hooks/settings-completion-config.js +2 -0
  204. package/dist/hooks/settings-completion-config.js.map +1 -1
  205. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +6 -1
  206. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  207. package/dist/hooks/use-app-keyboard-shortcuts.js +17 -11
  208. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  209. package/dist/hooks/use-conversation.d.ts +1 -0
  210. package/dist/hooks/use-conversation.d.ts.map +1 -1
  211. package/dist/hooks/use-conversation.js +2 -2
  212. package/dist/lib/agent-client.d.ts +8 -0
  213. package/dist/lib/agent-client.d.ts.map +1 -1
  214. package/dist/lib/agent-client.js +5 -1
  215. package/dist/lib/agent-client.js.map +1 -1
  216. package/dist/lib/agent-configuration.d.ts +9 -0
  217. package/dist/lib/agent-configuration.d.ts.map +1 -1
  218. package/dist/lib/agent-configuration.js +14 -0
  219. package/dist/lib/agent-configuration.js.map +1 -1
  220. package/dist/lib/agent-factory.d.ts +25 -4
  221. package/dist/lib/agent-factory.d.ts.map +1 -1
  222. package/dist/lib/agent-factory.js +6 -0
  223. package/dist/lib/agent-factory.js.map +1 -1
  224. package/dist/lib/subagent-bridge.d.ts +47 -5
  225. package/dist/lib/subagent-bridge.d.ts.map +1 -1
  226. package/dist/lib/subagent-bridge.js +112 -4
  227. package/dist/lib/subagent-bridge.js.map +1 -1
  228. package/dist/node_modules/@qduc/agent-wire/index.d.ts +73 -0
  229. package/dist/node_modules/@qduc/agent-wire/index.js +212 -0
  230. package/dist/node_modules/@qduc/agent-wire/package.json +1 -0
  231. package/dist/prompts/orchestrator-prompt.test.ts +9 -0
  232. package/dist/prompts/orchestrator.md +2 -0
  233. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  234. package/dist/prompts/subagent-delegation.js +3 -2
  235. package/dist/prompts/subagent-delegation.js.map +1 -1
  236. package/dist/prompts/subagent-delegation.test.ts +1 -0
  237. package/dist/prompts/subagent-delegation.ts +6 -2
  238. package/dist/providers/codex.provider.d.ts +3 -0
  239. package/dist/providers/codex.provider.d.ts.map +1 -1
  240. package/dist/providers/codex.provider.js +6 -4
  241. package/dist/providers/codex.provider.js.map +1 -1
  242. package/dist/providers/grok-auth.d.ts +3 -0
  243. package/dist/providers/grok-auth.d.ts.map +1 -1
  244. package/dist/providers/grok-auth.js +3 -1
  245. package/dist/providers/grok-auth.js.map +1 -1
  246. package/dist/providers/grok.provider.js +3 -3
  247. package/dist/providers/grok.provider.js.map +1 -1
  248. package/dist/providers/index.d.ts +1 -1
  249. package/dist/providers/index.d.ts.map +1 -1
  250. package/dist/providers/index.js +1 -1
  251. package/dist/providers/index.js.map +1 -1
  252. package/dist/providers/model-catalog/catalog.generated.d.ts +239 -171
  253. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
  254. package/dist/providers/model-catalog/catalog.generated.js +238 -179
  255. package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
  256. package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -1
  257. package/dist/providers/model-catalog/generate-catalog.js +13 -5
  258. package/dist/providers/model-catalog/generate-catalog.js.map +1 -1
  259. package/dist/providers/oauth-session-account.d.ts +16 -2
  260. package/dist/providers/oauth-session-account.d.ts.map +1 -1
  261. package/dist/providers/oauth-session-account.js +8 -17
  262. package/dist/providers/oauth-session-account.js.map +1 -1
  263. package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
  264. package/dist/providers/openai-chat-completions-model.js +5 -2
  265. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  266. package/dist/providers/openai.provider.js +1 -1
  267. package/dist/providers/openai.provider.js.map +1 -1
  268. package/dist/providers/openrouter.provider.js +1 -1
  269. package/dist/providers/openrouter.provider.js.map +1 -1
  270. package/dist/providers/registry.d.ts +20 -1
  271. package/dist/providers/registry.d.ts.map +1 -1
  272. package/dist/providers/registry.js +33 -16
  273. package/dist/providers/registry.js.map +1 -1
  274. package/dist/providers/web-search/exa.provider.d.ts.map +1 -1
  275. package/dist/providers/web-search/exa.provider.js +6 -3
  276. package/dist/providers/web-search/exa.provider.js.map +1 -1
  277. package/dist/providers/web-search/firecrawl.provider.d.ts +8 -0
  278. package/dist/providers/web-search/firecrawl.provider.d.ts.map +1 -0
  279. package/dist/providers/web-search/firecrawl.provider.js +59 -0
  280. package/dist/providers/web-search/firecrawl.provider.js.map +1 -0
  281. package/dist/providers/web-search/index.d.ts +5 -2
  282. package/dist/providers/web-search/index.d.ts.map +1 -1
  283. package/dist/providers/web-search/index.js +3 -1
  284. package/dist/providers/web-search/index.js.map +1 -1
  285. package/dist/providers/web-search/registry.d.ts +14 -0
  286. package/dist/providers/web-search/registry.d.ts.map +1 -1
  287. package/dist/providers/web-search/registry.js +45 -15
  288. package/dist/providers/web-search/registry.js.map +1 -1
  289. package/dist/providers/web-search/searxng.provider.d.ts +8 -0
  290. package/dist/providers/web-search/searxng.provider.d.ts.map +1 -0
  291. package/dist/providers/web-search/searxng.provider.js +56 -0
  292. package/dist/providers/web-search/searxng.provider.js.map +1 -0
  293. package/dist/providers/web-search/tavily.provider.d.ts.map +1 -1
  294. package/dist/providers/web-search/tavily.provider.js +8 -3
  295. package/dist/providers/web-search/tavily.provider.js.map +1 -1
  296. package/dist/providers/web-search/types.d.ts +14 -1
  297. package/dist/providers/web-search/types.d.ts.map +1 -1
  298. package/dist/services/agent-runtime/agent-resolver.d.ts.map +1 -1
  299. package/dist/services/agent-runtime/agent-resolver.js +1 -0
  300. package/dist/services/agent-runtime/agent-resolver.js.map +1 -1
  301. package/dist/services/agent-runtime/agent-runtime.d.ts +6 -1
  302. package/dist/services/agent-runtime/agent-runtime.d.ts.map +1 -1
  303. package/dist/services/agent-runtime/agent-runtime.js +11 -2
  304. package/dist/services/agent-runtime/agent-runtime.js.map +1 -1
  305. package/dist/services/agent-runtime/agent-spec.d.ts +14 -0
  306. package/dist/services/agent-runtime/agent-spec.d.ts.map +1 -0
  307. package/dist/services/agent-runtime/agent-spec.js +49 -0
  308. package/dist/services/agent-runtime/agent-spec.js.map +1 -0
  309. package/dist/services/agent-runtime/index.d.ts +3 -1
  310. package/dist/services/agent-runtime/index.d.ts.map +1 -1
  311. package/dist/services/agent-runtime/index.js +2 -0
  312. package/dist/services/agent-runtime/index.js.map +1 -1
  313. package/dist/services/agent-runtime/legacy-adapter.d.ts.map +1 -1
  314. package/dist/services/agent-runtime/legacy-adapter.js +5 -1
  315. package/dist/services/agent-runtime/legacy-adapter.js.map +1 -1
  316. package/dist/services/agent-runtime/permission-boundary.d.ts +95 -0
  317. package/dist/services/agent-runtime/permission-boundary.d.ts.map +1 -0
  318. package/dist/services/agent-runtime/permission-boundary.js +538 -0
  319. package/dist/services/agent-runtime/permission-boundary.js.map +1 -0
  320. package/dist/services/agent-runtime/resolved-agent.d.ts +2 -0
  321. package/dist/services/agent-runtime/resolved-agent.d.ts.map +1 -1
  322. package/dist/services/agent-runtime/types.d.ts +22 -1
  323. package/dist/services/agent-runtime/types.d.ts.map +1 -1
  324. package/dist/services/approval/background-subagent-approval-controller.d.ts +1 -0
  325. package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -1
  326. package/dist/services/approval/background-subagent-approval-controller.js +3 -0
  327. package/dist/services/approval/background-subagent-approval-controller.js.map +1 -1
  328. package/dist/services/approval/background-subagent-approval-queue.d.ts +5 -0
  329. package/dist/services/approval/background-subagent-approval-queue.d.ts.map +1 -1
  330. package/dist/services/approval/background-subagent-approval-queue.js +18 -2
  331. package/dist/services/approval/background-subagent-approval-queue.js.map +1 -1
  332. package/dist/services/approval/non-interactive-approval-policy.d.ts.map +1 -1
  333. package/dist/services/approval/non-interactive-approval-policy.js +10 -0
  334. package/dist/services/approval/non-interactive-approval-policy.js.map +1 -1
  335. package/dist/services/approval/shell-auto-approval-resolver.d.ts +2 -0
  336. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  337. package/dist/services/approval/shell-auto-approval-resolver.js +4 -2
  338. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  339. package/dist/services/conversation/conversation-adapter-factory.d.ts +1 -1
  340. package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
  341. package/dist/services/conversation/conversation-adapter.d.ts +1 -1
  342. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  343. package/dist/services/conversation/conversation-adapter.js +32 -6
  344. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  345. package/dist/services/conversation/conversation-admission-workflow.d.ts +2 -0
  346. package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -1
  347. package/dist/services/conversation/conversation-admission-workflow.js +1 -1
  348. package/dist/services/conversation/conversation-admission-workflow.js.map +1 -1
  349. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  350. package/dist/services/conversation/conversation-orchestrator.js +41 -21
  351. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  352. package/dist/services/conversation/conversation-orchestrator.types.d.ts +4 -3
  353. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  354. package/dist/services/conversation/conversation-runtime-factory.d.ts +1 -1
  355. package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
  356. package/dist/services/conversation/conversation-runtime-factory.js +1 -1
  357. package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
  358. package/dist/services/conversation/conversation-service.d.ts +4 -1
  359. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  360. package/dist/services/conversation/conversation-service.js +41 -1
  361. package/dist/services/conversation/conversation-service.js.map +1 -1
  362. package/dist/services/conversation/session-index/session-index-service.d.ts +1 -1
  363. package/dist/services/conversation/session-index/session-index-service.d.ts.map +1 -1
  364. package/dist/services/conversation/session-index/session-index-service.js +1 -1
  365. package/dist/services/conversation/session-index/session-index-service.js.map +1 -1
  366. package/dist/services/cost/model-cost.d.ts +6 -0
  367. package/dist/services/cost/model-cost.d.ts.map +1 -1
  368. package/dist/services/cost/model-cost.js +12 -0
  369. package/dist/services/cost/model-cost.js.map +1 -1
  370. package/dist/services/cost/pricing.d.ts +1 -1
  371. package/dist/services/cost/pricing.d.ts.map +1 -1
  372. package/dist/services/cost/pricing.js +5 -5
  373. package/dist/services/cost/pricing.js.map +1 -1
  374. package/dist/services/models/model-picker-host.d.ts.map +1 -1
  375. package/dist/services/models/model-picker-host.js +9 -5
  376. package/dist/services/models/model-picker-host.js.map +1 -1
  377. package/dist/services/queue/queue-controller.d.ts +3 -0
  378. package/dist/services/queue/queue-controller.d.ts.map +1 -1
  379. package/dist/services/queue/queue-controller.js +53 -5
  380. package/dist/services/queue/queue-controller.js.map +1 -1
  381. package/dist/services/retry/provider-failure-classification.d.ts +2 -0
  382. package/dist/services/retry/provider-failure-classification.d.ts.map +1 -1
  383. package/dist/services/retry/provider-failure-classification.js +43 -0
  384. package/dist/services/retry/provider-failure-classification.js.map +1 -1
  385. package/dist/services/sandboxed-code-host/host-worker.d.ts.map +1 -1
  386. package/dist/services/sandboxed-code-host/host-worker.js +3 -1
  387. package/dist/services/sandboxed-code-host/host-worker.js.map +1 -1
  388. package/dist/services/session/session-composition.d.ts +7 -1
  389. package/dist/services/session/session-composition.d.ts.map +1 -1
  390. package/dist/services/session/session-composition.js +68 -14
  391. package/dist/services/session/session-composition.js.map +1 -1
  392. package/dist/services/session/session-input-planner.d.ts +2 -0
  393. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  394. package/dist/services/session/session-input-planner.js +4 -6
  395. package/dist/services/session/session-input-planner.js.map +1 -1
  396. package/dist/services/settings/settings-env.d.ts.map +1 -1
  397. package/dist/services/settings/settings-env.js +9 -0
  398. package/dist/services/settings/settings-env.js.map +1 -1
  399. package/dist/services/settings/settings-schema.d.ts +58 -0
  400. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  401. package/dist/services/settings/settings-schema.js +32 -0
  402. package/dist/services/settings/settings-schema.js.map +1 -1
  403. package/dist/services/settings/settings-sources.d.ts +4 -0
  404. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  405. package/dist/services/settings/settings-sources.js +4 -0
  406. package/dist/services/settings/settings-sources.js.map +1 -1
  407. package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -1
  408. package/dist/services/settings/settings-ui-metadata.js +6 -1
  409. package/dist/services/settings/settings-ui-metadata.js.map +1 -1
  410. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +2 -2
  411. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  412. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +10 -1
  413. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  414. package/dist/services/shell/background-shell-output-store.d.ts +4 -2
  415. package/dist/services/shell/background-shell-output-store.d.ts.map +1 -1
  416. package/dist/services/shell/background-shell-output-store.js +9 -8
  417. package/dist/services/shell/background-shell-output-store.js.map +1 -1
  418. package/dist/services/shell/background-shell-watches.d.ts.map +1 -1
  419. package/dist/services/shell/background-shell-watches.js +20 -9
  420. package/dist/services/shell/background-shell-watches.js.map +1 -1
  421. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  422. package/dist/services/subagents/execution-runner.js +2 -1
  423. package/dist/services/subagents/execution-runner.js.map +1 -1
  424. package/dist/services/subagents/foreground-subagent-lease.d.ts +15 -0
  425. package/dist/services/subagents/foreground-subagent-lease.d.ts.map +1 -1
  426. package/dist/services/subagents/foreground-subagent-lease.js +42 -2
  427. package/dist/services/subagents/foreground-subagent-lease.js.map +1 -1
  428. package/dist/services/subagents/nested-runner.d.ts +1 -1
  429. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  430. package/dist/services/subagents/nested-runner.js +89 -22
  431. package/dist/services/subagents/nested-runner.js.map +1 -1
  432. package/dist/services/subagents/runtime.d.ts.map +1 -1
  433. package/dist/services/subagents/runtime.js +30 -4
  434. package/dist/services/subagents/runtime.js.map +1 -1
  435. package/dist/services/subagents/subagent-async-registry.d.ts +3 -0
  436. package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
  437. package/dist/services/subagents/subagent-async-registry.js +55 -10
  438. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  439. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  440. package/dist/services/subagents/subagent-manager.js +65 -3
  441. package/dist/services/subagents/subagent-manager.js.map +1 -1
  442. package/dist/services/subagents/subagent-role-pool-selector.d.ts +5 -1
  443. package/dist/services/subagents/subagent-role-pool-selector.d.ts.map +1 -1
  444. package/dist/services/subagents/subagent-role-pool-selector.js +24 -5
  445. package/dist/services/subagents/subagent-role-pool-selector.js.map +1 -1
  446. package/dist/services/subagents/subagent-run-control.d.ts.map +1 -1
  447. package/dist/services/subagents/subagent-run-control.js +3 -2
  448. package/dist/services/subagents/subagent-run-control.js.map +1 -1
  449. package/dist/services/subagents/tool-policy.d.ts +2 -2
  450. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  451. package/dist/services/subagents/tool-policy.js +8 -2
  452. package/dist/services/subagents/tool-policy.js.map +1 -1
  453. package/dist/services/subagents/types.d.ts +15 -2
  454. package/dist/services/subagents/types.d.ts.map +1 -1
  455. package/dist/services/subagents/types.js.map +1 -1
  456. package/dist/services/subagents/utils.d.ts +1 -1
  457. package/dist/services/subagents/utils.d.ts.map +1 -1
  458. package/dist/services/subagents/utils.js +5 -4
  459. package/dist/services/subagents/utils.js.map +1 -1
  460. package/dist/services/subagents/worker-worktree.d.ts +19 -1
  461. package/dist/services/subagents/worker-worktree.d.ts.map +1 -1
  462. package/dist/services/subagents/worker-worktree.js +128 -4
  463. package/dist/services/subagents/worker-worktree.js.map +1 -1
  464. package/dist/services/workspace/worktree-inventory.d.ts +6 -0
  465. package/dist/services/workspace/worktree-inventory.d.ts.map +1 -1
  466. package/dist/services/workspace/worktree-inventory.js +29 -1
  467. package/dist/services/workspace/worktree-inventory.js.map +1 -1
  468. package/dist/skins/SkinContext.d.ts +18 -0
  469. package/dist/skins/SkinContext.d.ts.map +1 -0
  470. package/dist/skins/SkinContext.js +23 -0
  471. package/dist/skins/SkinContext.js.map +1 -0
  472. package/dist/skins/cards/activity.d.ts +8 -0
  473. package/dist/skins/cards/activity.d.ts.map +1 -0
  474. package/dist/skins/cards/activity.js +23 -0
  475. package/dist/skins/cards/activity.js.map +1 -0
  476. package/dist/skins/cards/approval.d.ts +15 -0
  477. package/dist/skins/cards/approval.d.ts.map +1 -0
  478. package/dist/skins/cards/approval.js +64 -0
  479. package/dist/skins/cards/approval.js.map +1 -0
  480. package/dist/skins/cards/body.d.ts +14 -0
  481. package/dist/skins/cards/body.d.ts.map +1 -0
  482. package/dist/skins/cards/body.js +65 -0
  483. package/dist/skins/cards/body.js.map +1 -0
  484. package/dist/skins/cards/card.d.ts +28 -0
  485. package/dist/skins/cards/card.d.ts.map +1 -0
  486. package/dist/skins/cards/card.js +37 -0
  487. package/dist/skins/cards/card.js.map +1 -0
  488. package/dist/skins/cards/index.d.ts +9 -0
  489. package/dist/skins/cards/index.d.ts.map +1 -0
  490. package/dist/skins/cards/index.js +41 -0
  491. package/dist/skins/cards/index.js.map +1 -0
  492. package/dist/skins/cards/live-region.d.ts +16 -0
  493. package/dist/skins/cards/live-region.d.ts.map +1 -0
  494. package/dist/skins/cards/live-region.js +83 -0
  495. package/dist/skins/cards/live-region.js.map +1 -0
  496. package/dist/skins/cards/measure.d.ts +17 -0
  497. package/dist/skins/cards/measure.d.ts.map +1 -0
  498. package/dist/skins/cards/measure.js +29 -0
  499. package/dist/skins/cards/measure.js.map +1 -0
  500. package/dist/skins/cards/messages.d.ts +23 -0
  501. package/dist/skins/cards/messages.d.ts.map +1 -0
  502. package/dist/skins/cards/messages.js +80 -0
  503. package/dist/skins/cards/messages.js.map +1 -0
  504. package/dist/skins/cards/status.d.ts +9 -0
  505. package/dist/skins/cards/status.d.ts.map +1 -0
  506. package/dist/skins/cards/status.js +205 -0
  507. package/dist/skins/cards/status.js.map +1 -0
  508. package/dist/skins/cards/tools.d.ts +21 -0
  509. package/dist/skins/cards/tools.d.ts.map +1 -0
  510. package/dist/skins/cards/tools.js +101 -0
  511. package/dist/skins/cards/tools.js.map +1 -0
  512. package/dist/skins/cards/width.d.ts +4 -0
  513. package/dist/skins/cards/width.d.ts.map +1 -0
  514. package/dist/skins/cards/width.js +32 -0
  515. package/dist/skins/cards/width.js.map +1 -0
  516. package/dist/skins/classic/approval.d.ts +19 -0
  517. package/dist/skins/classic/approval.d.ts.map +1 -0
  518. package/dist/skins/classic/approval.js +50 -0
  519. package/dist/skins/classic/approval.js.map +1 -0
  520. package/dist/skins/classic/index.d.ts +7 -0
  521. package/dist/skins/classic/index.d.ts.map +1 -0
  522. package/dist/skins/classic/index.js +39 -0
  523. package/dist/skins/classic/index.js.map +1 -0
  524. package/dist/skins/classic/live-region.d.ts +19 -0
  525. package/dist/skins/classic/live-region.d.ts.map +1 -0
  526. package/dist/skins/classic/live-region.js +71 -0
  527. package/dist/skins/classic/live-region.js.map +1 -0
  528. package/dist/skins/classic/menu.d.ts +5 -0
  529. package/dist/skins/classic/menu.d.ts.map +1 -0
  530. package/dist/skins/classic/menu.js +20 -0
  531. package/dist/skins/classic/menu.js.map +1 -0
  532. package/dist/skins/classic/messages.d.ts +13 -0
  533. package/dist/skins/classic/messages.d.ts.map +1 -0
  534. package/dist/skins/classic/messages.js +65 -0
  535. package/dist/skins/classic/messages.js.map +1 -0
  536. package/dist/skins/classic/question.d.ts +5 -0
  537. package/dist/skins/classic/question.d.ts.map +1 -0
  538. package/dist/skins/classic/question.js +33 -0
  539. package/dist/skins/classic/question.js.map +1 -0
  540. package/dist/skins/classic/status.d.ts +10 -0
  541. package/dist/skins/classic/status.d.ts.map +1 -0
  542. package/dist/skins/classic/status.js +158 -0
  543. package/dist/skins/classic/status.js.map +1 -0
  544. package/dist/skins/classic/subagent.d.ts +5 -0
  545. package/dist/skins/classic/subagent.d.ts.map +1 -0
  546. package/dist/skins/classic/subagent.js +14 -0
  547. package/dist/skins/classic/subagent.js.map +1 -0
  548. package/dist/skins/classic/tool-section.d.ts +8 -0
  549. package/dist/skins/classic/tool-section.d.ts.map +1 -0
  550. package/dist/skins/classic/tool-section.js +20 -0
  551. package/dist/skins/classic/tool-section.js.map +1 -0
  552. package/dist/skins/classic/tools.d.ts +19 -0
  553. package/dist/skins/classic/tools.d.ts.map +1 -0
  554. package/dist/skins/classic/tools.js +72 -0
  555. package/dist/skins/classic/tools.js.map +1 -0
  556. package/dist/skins/ledger/activity.d.ts +6 -0
  557. package/dist/skins/ledger/activity.d.ts.map +1 -0
  558. package/dist/skins/ledger/activity.js +18 -0
  559. package/dist/skins/ledger/activity.js.map +1 -0
  560. package/dist/skins/ledger/approval.d.ts +17 -0
  561. package/dist/skins/ledger/approval.d.ts.map +1 -0
  562. package/dist/skins/ledger/approval.js +67 -0
  563. package/dist/skins/ledger/approval.js.map +1 -0
  564. package/dist/skins/ledger/body.d.ts +11 -0
  565. package/dist/skins/ledger/body.d.ts.map +1 -0
  566. package/dist/skins/ledger/body.js +77 -0
  567. package/dist/skins/ledger/body.js.map +1 -0
  568. package/dist/skins/ledger/chip.d.ts +27 -0
  569. package/dist/skins/ledger/chip.d.ts.map +1 -0
  570. package/dist/skins/ledger/chip.js +25 -0
  571. package/dist/skins/ledger/chip.js.map +1 -0
  572. package/dist/skins/ledger/index.d.ts +11 -0
  573. package/dist/skins/ledger/index.d.ts.map +1 -0
  574. package/dist/skins/ledger/index.js +44 -0
  575. package/dist/skins/ledger/index.js.map +1 -0
  576. package/dist/skins/ledger/live-region.d.ts +20 -0
  577. package/dist/skins/ledger/live-region.d.ts.map +1 -0
  578. package/dist/skins/ledger/live-region.js +89 -0
  579. package/dist/skins/ledger/live-region.js.map +1 -0
  580. package/dist/skins/ledger/messages.d.ts +17 -0
  581. package/dist/skins/ledger/messages.d.ts.map +1 -0
  582. package/dist/skins/ledger/messages.js +62 -0
  583. package/dist/skins/ledger/messages.js.map +1 -0
  584. package/dist/skins/ledger/status.d.ts +10 -0
  585. package/dist/skins/ledger/status.d.ts.map +1 -0
  586. package/dist/skins/ledger/status.js +302 -0
  587. package/dist/skins/ledger/status.js.map +1 -0
  588. package/dist/skins/ledger/tools.d.ts +20 -0
  589. package/dist/skins/ledger/tools.d.ts.map +1 -0
  590. package/dist/skins/ledger/tools.js +101 -0
  591. package/dist/skins/ledger/tools.js.map +1 -0
  592. package/dist/skins/names.d.ts +10 -0
  593. package/dist/skins/names.d.ts.map +1 -0
  594. package/dist/skins/names.js +9 -0
  595. package/dist/skins/names.js.map +1 -0
  596. package/dist/skins/rail/activity.d.ts +8 -0
  597. package/dist/skins/rail/activity.d.ts.map +1 -0
  598. package/dist/skins/rail/activity.js +23 -0
  599. package/dist/skins/rail/activity.js.map +1 -0
  600. package/dist/skins/rail/approval.d.ts +16 -0
  601. package/dist/skins/rail/approval.d.ts.map +1 -0
  602. package/dist/skins/rail/approval.js +45 -0
  603. package/dist/skins/rail/approval.js.map +1 -0
  604. package/dist/skins/rail/body.d.ts +19 -0
  605. package/dist/skins/rail/body.d.ts.map +1 -0
  606. package/dist/skins/rail/body.js +69 -0
  607. package/dist/skins/rail/body.js.map +1 -0
  608. package/dist/skins/rail/index.d.ts +12 -0
  609. package/dist/skins/rail/index.d.ts.map +1 -0
  610. package/dist/skins/rail/index.js +44 -0
  611. package/dist/skins/rail/index.js.map +1 -0
  612. package/dist/skins/rail/live-region.d.ts +19 -0
  613. package/dist/skins/rail/live-region.d.ts.map +1 -0
  614. package/dist/skins/rail/live-region.js +88 -0
  615. package/dist/skins/rail/live-region.js.map +1 -0
  616. package/dist/skins/rail/messages.d.ts +21 -0
  617. package/dist/skins/rail/messages.d.ts.map +1 -0
  618. package/dist/skins/rail/messages.js +90 -0
  619. package/dist/skins/rail/messages.js.map +1 -0
  620. package/dist/skins/rail/parts.d.ts +25 -0
  621. package/dist/skins/rail/parts.d.ts.map +1 -0
  622. package/dist/skins/rail/parts.js +37 -0
  623. package/dist/skins/rail/parts.js.map +1 -0
  624. package/dist/skins/rail/status.d.ts +10 -0
  625. package/dist/skins/rail/status.d.ts.map +1 -0
  626. package/dist/skins/rail/status.js +147 -0
  627. package/dist/skins/rail/status.js.map +1 -0
  628. package/dist/skins/rail/tools.d.ts +28 -0
  629. package/dist/skins/rail/tools.d.ts.map +1 -0
  630. package/dist/skins/rail/tools.js +85 -0
  631. package/dist/skins/rail/tools.js.map +1 -0
  632. package/dist/skins/registry.d.ts +6 -0
  633. package/dist/skins/registry.d.ts.map +1 -0
  634. package/dist/skins/registry.js +15 -0
  635. package/dist/skins/registry.js.map +1 -0
  636. package/dist/skins/shared/gauge.d.ts +17 -0
  637. package/dist/skins/shared/gauge.d.ts.map +1 -0
  638. package/dist/skins/shared/gauge.js +29 -0
  639. package/dist/skins/shared/gauge.js.map +1 -0
  640. package/dist/skins/shared/limits.d.ts +3 -0
  641. package/dist/skins/shared/limits.d.ts.map +1 -0
  642. package/dist/skins/shared/limits.js +3 -0
  643. package/dist/skins/shared/limits.js.map +1 -0
  644. package/dist/skins/shared/spinner.d.ts +14 -0
  645. package/dist/skins/shared/spinner.d.ts.map +1 -0
  646. package/dist/skins/shared/spinner.js +25 -0
  647. package/dist/skins/shared/spinner.js.map +1 -0
  648. package/dist/skins/testing/conformance.d.ts +8 -0
  649. package/dist/skins/testing/conformance.d.ts.map +1 -0
  650. package/dist/skins/testing/conformance.js +34 -0
  651. package/dist/skins/testing/conformance.js.map +1 -0
  652. package/dist/skins/testing/scenes.d.ts +45 -0
  653. package/dist/skins/testing/scenes.d.ts.map +1 -0
  654. package/dist/skins/testing/scenes.js +466 -0
  655. package/dist/skins/testing/scenes.js.map +1 -0
  656. package/dist/skins/types.d.ts +294 -0
  657. package/dist/skins/types.d.ts.map +1 -0
  658. package/dist/skins/types.js +10 -0
  659. package/dist/skins/types.js.map +1 -0
  660. package/dist/skins/zen/activity.d.ts +7 -0
  661. package/dist/skins/zen/activity.d.ts.map +1 -0
  662. package/dist/skins/zen/activity.js +22 -0
  663. package/dist/skins/zen/activity.js.map +1 -0
  664. package/dist/skins/zen/approval.d.ts +20 -0
  665. package/dist/skins/zen/approval.d.ts.map +1 -0
  666. package/dist/skins/zen/approval.js +67 -0
  667. package/dist/skins/zen/approval.js.map +1 -0
  668. package/dist/skins/zen/body.d.ts +14 -0
  669. package/dist/skins/zen/body.d.ts.map +1 -0
  670. package/dist/skins/zen/body.js +82 -0
  671. package/dist/skins/zen/body.js.map +1 -0
  672. package/dist/skins/zen/index.d.ts +12 -0
  673. package/dist/skins/zen/index.d.ts.map +1 -0
  674. package/dist/skins/zen/index.js +44 -0
  675. package/dist/skins/zen/index.js.map +1 -0
  676. package/dist/skins/zen/live-region.d.ts +21 -0
  677. package/dist/skins/zen/live-region.d.ts.map +1 -0
  678. package/dist/skins/zen/live-region.js +77 -0
  679. package/dist/skins/zen/live-region.js.map +1 -0
  680. package/dist/skins/zen/messages.d.ts +27 -0
  681. package/dist/skins/zen/messages.d.ts.map +1 -0
  682. package/dist/skins/zen/messages.js +81 -0
  683. package/dist/skins/zen/messages.js.map +1 -0
  684. package/dist/skins/zen/status.d.ts +11 -0
  685. package/dist/skins/zen/status.d.ts.map +1 -0
  686. package/dist/skins/zen/status.js +177 -0
  687. package/dist/skins/zen/status.js.map +1 -0
  688. package/dist/skins/zen/style.d.ts +26 -0
  689. package/dist/skins/zen/style.d.ts.map +1 -0
  690. package/dist/skins/zen/style.js +14 -0
  691. package/dist/skins/zen/style.js.map +1 -0
  692. package/dist/skins/zen/tools.d.ts +23 -0
  693. package/dist/skins/zen/tools.d.ts.map +1 -0
  694. package/dist/skins/zen/tools.js +81 -0
  695. package/dist/skins/zen/tools.js.map +1 -0
  696. package/dist/skins/zen/width.d.ts +12 -0
  697. package/dist/skins/zen/width.d.ts.map +1 -0
  698. package/dist/skins/zen/width.js +27 -0
  699. package/dist/skins/zen/width.js.map +1 -0
  700. package/dist/theme/ThemeContext.d.ts +26 -0
  701. package/dist/theme/ThemeContext.d.ts.map +1 -0
  702. package/dist/theme/ThemeContext.js +24 -0
  703. package/dist/theme/ThemeContext.js.map +1 -0
  704. package/dist/theme/detect-terminal-background.d.ts +29 -0
  705. package/dist/theme/detect-terminal-background.d.ts.map +1 -0
  706. package/dist/theme/detect-terminal-background.js +72 -0
  707. package/dist/theme/detect-terminal-background.js.map +1 -0
  708. package/dist/theme/palettes.d.ts +84 -0
  709. package/dist/theme/palettes.d.ts.map +1 -0
  710. package/dist/theme/palettes.js +175 -0
  711. package/dist/theme/palettes.js.map +1 -0
  712. package/dist/theme/resolve-theme.d.ts +44 -0
  713. package/dist/theme/resolve-theme.d.ts.map +1 -0
  714. package/dist/theme/resolve-theme.js +72 -0
  715. package/dist/theme/resolve-theme.js.map +1 -0
  716. package/dist/tools/agent/propose-goal.d.ts +17 -0
  717. package/dist/tools/agent/propose-goal.d.ts.map +1 -0
  718. package/dist/tools/agent/propose-goal.js +64 -0
  719. package/dist/tools/agent/propose-goal.js.map +1 -0
  720. package/dist/tools/agent/run-subagent-async.d.ts +61 -3
  721. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  722. package/dist/tools/agent/run-subagent-async.js +13 -4
  723. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  724. package/dist/tools/agent/run-subagent.d.ts +73 -7
  725. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  726. package/dist/tools/agent/run-subagent.js +84 -22
  727. package/dist/tools/agent/run-subagent.js.map +1 -1
  728. package/dist/tools/file/create-file.js +1 -1
  729. package/dist/tools/file/create-file.js.map +1 -1
  730. package/dist/tools/system/run-code/index.d.ts +1 -1
  731. package/dist/tools/system/run-code/index.d.ts.map +1 -1
  732. package/dist/tools/system/run-code/index.js +1 -1
  733. package/dist/tools/system/run-code/index.js.map +1 -1
  734. package/dist/tools/system/run-code/run-code-agent-capability.d.ts +99 -0
  735. package/dist/tools/system/run-code/run-code-agent-capability.d.ts.map +1 -0
  736. package/dist/tools/system/run-code/run-code-agent-capability.js +384 -0
  737. package/dist/tools/system/run-code/run-code-agent-capability.js.map +1 -0
  738. package/dist/tools/system/run-code/run-code-runtime.d.ts +9 -0
  739. package/dist/tools/system/run-code/run-code-runtime.d.ts.map +1 -1
  740. package/dist/tools/system/run-code/run-code-runtime.js +141 -7
  741. package/dist/tools/system/run-code/run-code-runtime.js.map +1 -1
  742. package/dist/tools/system/run-code/run-code.d.ts +12 -1
  743. package/dist/tools/system/run-code/run-code.d.ts.map +1 -1
  744. package/dist/tools/system/run-code/run-code.js +48 -1
  745. package/dist/tools/system/run-code/run-code.js.map +1 -1
  746. package/dist/tools/tool-names.d.ts +1 -0
  747. package/dist/tools/tool-names.d.ts.map +1 -1
  748. package/dist/tools/tool-names.js +1 -0
  749. package/dist/tools/tool-names.js.map +1 -1
  750. package/dist/tools/web/web-search.d.ts +18 -0
  751. package/dist/tools/web/web-search.d.ts.map +1 -1
  752. package/dist/tools/web/web-search.js +29 -4
  753. package/dist/tools/web/web-search.js.map +1 -1
  754. package/dist/types/message.d.ts +1 -0
  755. package/dist/types/message.d.ts.map +1 -1
  756. package/dist/types/message.js +13 -0
  757. package/dist/types/message.js.map +1 -1
  758. package/dist/utils/conversation/conversation-event-handler.js +1 -1
  759. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  760. package/dist/utils/shell/execute-shell.js +1 -1
  761. package/dist/utils/shell/execute-shell.js.map +1 -1
  762. package/dist/utils/value-suggestions.d.ts.map +1 -1
  763. package/dist/utils/value-suggestions.js +16 -0
  764. package/dist/utils/value-suggestions.js.map +1 -1
  765. package/package.json +2 -1
@@ -0,0 +1,101 @@
1
+ import React from 'react';
2
+ import { Box, Text } from 'ink';
3
+ import { TOOL_STATUS_GLYPH, useTheme } from '../../components/theme.js';
4
+ import { BRAILLE_SPINNER, useSpinnerFrame } from '../shared/spinner.js';
5
+ import { Card } from './card.js';
6
+ /** Only a running call animates, and only this component ticks, so settled output costs no timers. */
7
+ const RunningGlyph = ({ color }) => {
8
+ const frame = useSpinnerFrame(BRAILLE_SPINNER, true);
9
+ return (React.createElement(Text, { color: color, bold: true }, frame));
10
+ };
11
+ /** The status marker: a spinner while running, otherwise the shared glyph for the status. */
12
+ const StatusGlyph = ({ status }) => {
13
+ const theme = useTheme();
14
+ const color = theme.toolStatus[status];
15
+ if (status === 'running')
16
+ return React.createElement(RunningGlyph, { color: color });
17
+ return (React.createElement(Text, { color: color, bold: true }, TOOL_STATUS_GLYPH[status]));
18
+ };
19
+ /** A failed or refused call gets a heavier border, so it stands out without relying on red. */
20
+ const shapeFor = (status) => status === 'failed' || status === 'rejected' ? 'bold' : 'round';
21
+ /**
22
+ * Standard display only: the header and the full output share one rounded card whose
23
+ * border is the status colour. Concise calls stay single bare lines, so a long run of
24
+ * calls reads as a list rather than a wall of boxes.
25
+ */
26
+ export const CardsToolFrame = ({ status, display, children }) => {
27
+ const theme = useTheme();
28
+ if (display !== 'standard')
29
+ return React.createElement(React.Fragment, null, children);
30
+ return (React.createElement(Card, { color: theme.toolStatus[status], shape: shapeFor(status) }, children));
31
+ };
32
+ const IN_FLIGHT = new Set(['pending', 'running']);
33
+ /** The tool's own name labels a call unless the action already is the command. */
34
+ const isShellLike = (toolName) => toolName === undefined || toolName === 'shell';
35
+ /**
36
+ * The first row of a card: status glyph, then the tool name and action, with the
37
+ * glyph in its own column so a long command wraps underneath the action rather than
38
+ * under the glyph. Settled concise calls colour only the glyph and keep the text quiet.
39
+ */
40
+ export const CardsToolHeader = ({ status, display, toolName, nested, action, meta, trailing, textColor, }) => {
41
+ const theme = useTheme();
42
+ if (display === 'standard') {
43
+ return (React.createElement(Box, null,
44
+ React.createElement(Box, { flexShrink: 0, marginRight: 1 },
45
+ React.createElement(StatusGlyph, { status: status })),
46
+ React.createElement(Box, { flexShrink: 1, flexGrow: 1 },
47
+ React.createElement(Text, null,
48
+ !isShellLike(toolName) && React.createElement(Text, { color: theme.textSubtle },
49
+ toolName,
50
+ " "),
51
+ action,
52
+ meta,
53
+ trailing))));
54
+ }
55
+ if (nested) {
56
+ return (React.createElement(Box, null,
57
+ React.createElement(Text, { wrap: "truncate", color: theme.textSubtle },
58
+ React.createElement(StatusGlyph, { status: status }),
59
+ " ",
60
+ action,
61
+ meta)));
62
+ }
63
+ if (IN_FLIGHT.has(status)) {
64
+ return (React.createElement(Box, null,
65
+ React.createElement(Text, null,
66
+ React.createElement(StatusGlyph, { status: status }),
67
+ " ",
68
+ action,
69
+ meta,
70
+ trailing)));
71
+ }
72
+ return (React.createElement(Text, { color: textColor || theme.textMuted },
73
+ React.createElement(StatusGlyph, { status: status }),
74
+ " ",
75
+ action,
76
+ trailing));
77
+ };
78
+ const GROUP_MARKER_KIND = {
79
+ completed: 'completed',
80
+ partial: 'completed',
81
+ failed: 'failed',
82
+ };
83
+ /**
84
+ * One line for a run of calls. A partly-failed run keeps the neutral summary and the
85
+ * green marker, because most of what it did succeeded; the failure line beneath, with
86
+ * its own red marker, is what carries the bad news. Both lines wrap rather than clip.
87
+ */
88
+ export const CardsToolGroupSummary = ({ status, summary, failures }) => {
89
+ const theme = useTheme();
90
+ const kind = GROUP_MARKER_KIND[status];
91
+ return (React.createElement(Box, { flexDirection: "column" },
92
+ React.createElement(Text, { color: theme.textMuted },
93
+ React.createElement(StatusGlyph, { status: kind }),
94
+ " ",
95
+ summary),
96
+ failures !== '' && status !== 'failed' && (React.createElement(Text, { color: theme.textMuted },
97
+ React.createElement(StatusGlyph, { status: "failed" }),
98
+ " ",
99
+ failures))));
100
+ };
101
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../source/skins/cards/tools.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const cells: (value: string) => number;
2
+ /** Clips to `maxCells`, ending in an ellipsis when it had to cut. */
3
+ export declare const clip: (value: string, maxCells: number) => string;
4
+ //# sourceMappingURL=width.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"width.d.ts","sourceRoot":"","sources":["../../../source/skins/cards/width.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,KAAK,UAAW,MAAM,KAAG,MAC4D,CAAC;AAEnG,qEAAqE;AACrE,eAAO,MAAM,IAAI,UAAW,MAAM,YAAY,MAAM,KAAG,MAStD,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Terminal cells a string occupies, for laying out chips and pills before Ink measures them.
3
+ *
4
+ * `terminalTextWidth` counts every non-ASCII code point as two cells, which is the safe
5
+ * default for arbitrary text but doubles the box-drawing and gauge glyphs these layouts
6
+ * are made of. This counts those as one and only the genuinely wide ranges (CJK,
7
+ * fullwidth forms, emoji) as two.
8
+ */
9
+ const isWide = (code) => (code >= 0x1100 && code <= 0x115f) ||
10
+ (code >= 0x2e80 && code <= 0xa4cf) ||
11
+ (code >= 0xac00 && code <= 0xd7a3) ||
12
+ (code >= 0xf900 && code <= 0xfaff) ||
13
+ (code >= 0xfe30 && code <= 0xfe6f) ||
14
+ (code >= 0xff00 && code <= 0xff60) ||
15
+ (code >= 0xffe0 && code <= 0xffe6) ||
16
+ (code >= 0x1f300 && code <= 0x1faff);
17
+ export const cells = (value) => Array.from(value).reduce((columns, char) => columns + (isWide(char.codePointAt(0)) ? 2 : 1), 0);
18
+ /** Clips to `maxCells`, ending in an ellipsis when it had to cut. */
19
+ export const clip = (value, maxCells) => {
20
+ if (cells(value) <= maxCells)
21
+ return value;
22
+ if (maxCells <= 1)
23
+ return '…';
24
+ let out = '';
25
+ for (const char of value) {
26
+ if (cells(out) + cells(char) + 1 > maxCells)
27
+ break;
28
+ out += char;
29
+ }
30
+ return `${out}…`;
31
+ };
32
+ //# sourceMappingURL=width.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"width.js","sourceRoot":"","sources":["../../../source/skins/cards/width.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,GAAG,CAAC,IAAY,EAAW,EAAE,CACvC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAU,EAAE,CAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnG,qEAAqE;AACrE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAU,EAAE;IAC9D,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAC9B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ;YAAE,MAAM;QACnD,GAAG,IAAI,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,GAAG,GAAG,CAAC;AACnB,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type FC, type ReactNode } from 'react';
2
+ import type { ApprovalChoicesProps, ApprovalFrameProps } from '../types.js';
3
+ /**
4
+ * Left: the options. Right: what the selected one does. Below 90 columns the
5
+ * description drops underneath instead of beside the list. Exported because the
6
+ * ask-user prompt, which skins do not yet restyle, shares it.
7
+ */
8
+ export declare const TwoPaneApprovalLayout: FC<{
9
+ left: ReactNode;
10
+ rightTitle: ReactNode;
11
+ rightDescription: ReactNode;
12
+ }>;
13
+ /**
14
+ * A title line, then the request. The riskiest class gets a red left border, not
15
+ * just red text, so it is recognisable by shape before the words are read.
16
+ */
17
+ export declare const ClassicApprovalFrame: FC<ApprovalFrameProps>;
18
+ export declare const ClassicApprovalChoices: FC<ApprovalChoicesProps>;
19
+ //# sourceMappingURL=approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/approval.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,SAAS,CAAC;IACtB,gBAAgB,EAAE,SAAS,CAAC;CAC7B,CAuCA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,kBAAkB,CAyBvD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,oBAAoB,CAkC3D,CAAC"}
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import { Box, Text, useStdout } from 'ink';
3
+ import { SelectionMarker } from '../../components/common/SelectionMarker.js';
4
+ import { useTheme } from '../../components/theme.js';
5
+ /**
6
+ * Left: the options. Right: what the selected one does. Below 90 columns the
7
+ * description drops underneath instead of beside the list. Exported because the
8
+ * ask-user prompt, which skins do not yet restyle, shares it.
9
+ */
10
+ export const TwoPaneApprovalLayout = ({ left, rightTitle, rightDescription }) => {
11
+ const theme = useTheme();
12
+ const { stdout } = useStdout();
13
+ const isNarrow = (stdout.columns ?? 100) < 90;
14
+ const description = (React.createElement(Box, { flexDirection: "column", width: isNarrow ? '100%' : '50%', paddingLeft: isNarrow ? 0 : 2, marginTop: isNarrow ? 1 : 0, borderStyle: isNarrow ? undefined : 'single', borderTop: false, borderBottom: false, borderRight: false, borderLeft: !isNarrow, borderColor: theme.border },
15
+ React.createElement(Text, { bold: true, color: theme.warning }, rightTitle),
16
+ React.createElement(Box, { marginTop: 1 }, rightDescription ? (React.createElement(Text, { color: theme.text }, rightDescription)) : (React.createElement(Text, { color: theme.textSubtle, italic: true }, "No description available.")))));
17
+ return (React.createElement(Box, { flexDirection: isNarrow ? 'column' : 'row', width: "100%", marginTop: 1 },
18
+ React.createElement(Box, { flexDirection: "column", width: isNarrow ? '100%' : '50%', flexShrink: 0, flexGrow: 0 }, left),
19
+ description));
20
+ };
21
+ /**
22
+ * A title line, then the request. The riskiest class gets a red left border, not
23
+ * just red text, so it is recognisable by shape before the words are read.
24
+ */
25
+ export const ClassicApprovalFrame = ({ tone, header, subheader, children }) => {
26
+ const theme = useTheme();
27
+ return (React.createElement(Box, { flexDirection: "column" },
28
+ React.createElement(Text, { color: theme.warning }, header),
29
+ subheader,
30
+ tone === 'danger' ? (React.createElement(Box, { flexDirection: "column", borderStyle: "single", borderTop: false, borderBottom: false, borderRight: false, borderLeft: true, borderColor: theme.danger, paddingLeft: 1, marginTop: 1 }, children)) : (children)));
31
+ };
32
+ export const ClassicApprovalChoices = ({ question, options, selectedIndex, layout, description, }) => {
33
+ const theme = useTheme();
34
+ const rows = options.map((option, index) => {
35
+ const isSelected = selectedIndex === index;
36
+ return (React.createElement(Box, { key: option.label },
37
+ React.createElement(SelectionMarker, { selected: isSelected }),
38
+ React.createElement(Text, { color: isSelected ? theme[option.tone] : undefined },
39
+ index + 1,
40
+ ". ",
41
+ option.label)));
42
+ });
43
+ if (layout === 'list') {
44
+ return React.createElement(React.Fragment, null, rows);
45
+ }
46
+ return (React.createElement(React.Fragment, null,
47
+ question !== undefined && React.createElement(Text, null, question),
48
+ React.createElement(TwoPaneApprovalLayout, { left: rows, rightTitle: description?.title ?? 'Option', rightDescription: description?.text })));
49
+ };
50
+ //# sourceMappingURL=approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../source/skins/classic/approval.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Skin } from '../types.js';
2
+ /**
3
+ * The original look. It is also the base every other skin spreads from, so a skin
4
+ * only has to override the slots it actually draws differently.
5
+ */
6
+ export declare const classicSkin: Skin;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAmBxC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,IAwBzB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { ClassicApprovalChoices, ClassicApprovalFrame } from './approval.js';
2
+ import { ClassicHints, ClassicInputFrame, ClassicLiveDivider, ClassicPromptMarker, ClassicShellActivity, ClassicTaskPanel, ClassicWorkingIndicator, } from './live-region.js';
3
+ import { ClassicAssistantFrame, ClassicBanner, ClassicUserMessage } from './messages.js';
4
+ import { ClassicMenuFrame } from './menu.js';
5
+ import { ClassicQuestionPrompt } from './question.js';
6
+ import { ClassicStatusBar } from './status.js';
7
+ import { ClassicSubagentFeed } from './subagent.js';
8
+ import { ClassicToolSection } from './tool-section.js';
9
+ import { ClassicToolFrame, ClassicToolGroupSummary, ClassicToolHeader } from './tools.js';
10
+ /**
11
+ * The original look. It is also the base every other skin spreads from, so a skin
12
+ * only has to override the slots it actually draws differently.
13
+ */
14
+ export const classicSkin = {
15
+ name: 'classic',
16
+ assistantGutter: 0,
17
+ taskPanelGutter: 0,
18
+ Banner: ClassicBanner,
19
+ UserMessage: ClassicUserMessage,
20
+ AssistantFrame: ClassicAssistantFrame,
21
+ ToolFrame: ClassicToolFrame,
22
+ ToolHeader: ClassicToolHeader,
23
+ ToolGroupSummary: ClassicToolGroupSummary,
24
+ WorkingIndicator: ClassicWorkingIndicator,
25
+ LiveDivider: ClassicLiveDivider,
26
+ PromptMarker: ClassicPromptMarker,
27
+ InputFrame: ClassicInputFrame,
28
+ Hints: ClassicHints,
29
+ ShellActivity: ClassicShellActivity,
30
+ TaskPanel: ClassicTaskPanel,
31
+ ApprovalFrame: ClassicApprovalFrame,
32
+ ApprovalChoices: ClassicApprovalChoices,
33
+ QuestionPrompt: ClassicQuestionPrompt,
34
+ SubagentFeed: ClassicSubagentFeed,
35
+ ToolSection: ClassicToolSection,
36
+ MenuFrame: ClassicMenuFrame,
37
+ StatusBar: ClassicStatusBar,
38
+ };
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/skins/classic/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE1F;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAS;IAC/B,IAAI,EAAE,SAAS;IACf,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,CAAC;IAClB,MAAM,EAAE,aAAa;IACrB,WAAW,EAAE,kBAAkB;IAC/B,cAAc,EAAE,qBAAqB;IACrC,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,iBAAiB;IAC7B,gBAAgB,EAAE,uBAAuB;IACzC,gBAAgB,EAAE,uBAAuB;IACzC,WAAW,EAAE,kBAAkB;IAC/B,YAAY,EAAE,mBAAmB;IACjC,UAAU,EAAE,iBAAiB;IAC7B,KAAK,EAAE,YAAY;IACnB,aAAa,EAAE,oBAAoB;IACnC,SAAS,EAAE,gBAAgB;IAC3B,aAAa,EAAE,oBAAoB;IACnC,eAAe,EAAE,sBAAsB;IACvC,cAAc,EAAE,qBAAqB;IACrC,YAAY,EAAE,mBAAmB;IACjC,WAAW,EAAE,kBAAkB;IAC/B,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,gBAAgB;CAC5B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type FC } from 'react';
2
+ import type { HintsProps, ShellActivityProps, TaskPanelProps, InputFrameProps, PromptMarkerProps, WorkingIndicatorView } from '../types.js';
3
+ /** What the agent is doing right now, as a single muted line. */
4
+ export declare const ClassicWorkingIndicator: FC<WorkingIndicatorView>;
5
+ /** The one structural split on screen: printed history above, live controls below. */
6
+ export declare const ClassicLiveDivider: FC;
7
+ export declare const ClassicPromptMarker: FC<PromptMarkerProps>;
8
+ /** The input row is printed bare; the frame is the seam other skins draw a box or rule around. */
9
+ export declare const ClassicInputFrame: FC<InputFrameProps>;
10
+ /**
11
+ * One footer format for every menu and for the input, so the reader learns the
12
+ * shape once: `key action │ key action`. Menus used to each invent their own
13
+ * wording, separator, and arrow glyph.
14
+ */
15
+ export declare const ClassicHints: FC<HintsProps>;
16
+ export declare const ClassicShellActivity: FC<ShellActivityProps>;
17
+ /** A muted header over the rows, unframed. */
18
+ export declare const ClassicTaskPanel: FC<TaskPanelProps>;
19
+ //# sourceMappingURL=live-region.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-region.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/live-region.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,oBAAoB,CAuC5D,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,EAAE,EAAsB,CAAC;AAExD,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,iBAAiB,CAKrD,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,eAAe,CAA2C,CAAC;AAE9F;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,UAAU,CAYvC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,kBAAkB,CAOvD,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAQ/C,CAAC"}
@@ -0,0 +1,71 @@
1
+ import React from 'react';
2
+ import { Box, Text } from 'ink';
3
+ import Divider from '../../components/common/Divider.js';
4
+ import { GLYPH_SEPARATOR, useTheme } from '../../components/theme.js';
5
+ import { formatTokensPerSecond } from '../../utils/streaming/streaming-speed-tracker.js';
6
+ /** What the agent is doing right now, as a single muted line. */
7
+ export const ClassicWorkingIndicator = ({ phase, elapsedSeconds, tokensPerSecond, toolName, argumentChars, dotCount, }) => {
8
+ const theme = useTheme();
9
+ const hasRate = tokensPerSecond != null && tokensPerSecond > 0;
10
+ if (phase === 'tool_call') {
11
+ return (React.createElement(Text, { color: theme.textSubtle },
12
+ "Calling tool ",
13
+ toolName ? React.createElement(Text, { bold: true }, toolName) : '',
14
+ ' · ',
15
+ elapsedSeconds,
16
+ "s",
17
+ argumentChars != null ? ` (${argumentChars} chars` : '',
18
+ hasRate ? ` · ${formatTokensPerSecond(tokensPerSecond)}` : '',
19
+ argumentChars != null ? ')' : '',
20
+ '.'.repeat(dotCount)));
21
+ }
22
+ if (phase === 'thinking') {
23
+ return (React.createElement(Text, { color: theme.textSubtle },
24
+ "Thinking \u00B7 ",
25
+ elapsedSeconds,
26
+ "s",
27
+ hasRate ? ` (${formatTokensPerSecond(tokensPerSecond)})` : ''));
28
+ }
29
+ return (React.createElement(Text, { color: theme.textSubtle }, hasRate
30
+ ? `Generating · ${elapsedSeconds}s (${formatTokensPerSecond(tokensPerSecond)})`
31
+ : `Processing · ${elapsedSeconds}s`));
32
+ };
33
+ /** The one structural split on screen: printed history above, live controls below. */
34
+ export const ClassicLiveDivider = () => React.createElement(Divider, null);
35
+ export const ClassicPromptMarker = ({ mode }) => {
36
+ const theme = useTheme();
37
+ if (mode === 'rejection')
38
+ return React.createElement(Text, { color: theme.warning }, "Why? ");
39
+ if (mode === 'shell')
40
+ return React.createElement(Text, { color: theme.danger }, "! ");
41
+ return React.createElement(Text, { color: theme.accent }, "\u276F ");
42
+ };
43
+ /** The input row is printed bare; the frame is the seam other skins draw a box or rule around. */
44
+ export const ClassicInputFrame = ({ children }) => React.createElement(Box, null, children);
45
+ /**
46
+ * One footer format for every menu and for the input, so the reader learns the
47
+ * shape once: `key action │ key action`. Menus used to each invent their own
48
+ * wording, separator, and arrow glyph.
49
+ */
50
+ export const ClassicHints = ({ hints }) => {
51
+ const theme = useTheme();
52
+ return (React.createElement(Text, { color: theme.textSubtle }, hints.map(([key, action, keyColor], index) => (React.createElement(React.Fragment, { key: key },
53
+ index > 0 ? ` ${GLYPH_SEPARATOR} ` : '',
54
+ keyColor ? React.createElement(Text, { color: theme[keyColor] }, key) : key,
55
+ " ",
56
+ action)))));
57
+ };
58
+ export const ClassicShellActivity = ({ command }) => {
59
+ const theme = useTheme();
60
+ return (React.createElement(Text, { color: theme.textSubtle },
61
+ "Running shell command: ",
62
+ React.createElement(Text, { bold: true }, command)));
63
+ };
64
+ /** A muted header over the rows, unframed. */
65
+ export const ClassicTaskPanel = ({ header, children }) => {
66
+ const theme = useTheme();
67
+ return (React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
68
+ React.createElement(Text, { color: theme.textMuted }, header),
69
+ children));
70
+ };
71
+ //# sourceMappingURL=live-region.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-region.js","sourceRoot":"","sources":["../../../source/skins/classic/live-region.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type FC } from 'react';
2
+ import type { MenuFrameProps } from '../types.js';
3
+ /** A rounded box; hints go under a hairline inside it, or below it. */
4
+ export declare const ClassicMenuFrame: FC<MenuFrameProps>;
5
+ //# sourceMappingURL=menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAmD/C,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { Box, Text } from 'ink';
3
+ import { useTheme } from '../../components/theme.js';
4
+ /** A rounded box; hints go under a hairline inside it, or below it. */
5
+ export const ClassicMenuFrame = ({ title, borderColor, hasItems, footer, footerPlacement, children, }) => {
6
+ const theme = useTheme();
7
+ const color = borderColor ?? theme.borderActive;
8
+ const footerNode = footer ? (typeof footer === 'string' ? (React.createElement(Text, { color: theme.textSubtle }, footer)) : (footer)) : null;
9
+ const body = (React.createElement(Box, { borderStyle: "round", borderColor: color, paddingX: 1, flexDirection: "column", width: hasItems ? '100%' : undefined },
10
+ title ? React.createElement(Text, { color: theme.textSubtle }, title) : null,
11
+ children,
12
+ footerPlacement === 'inside' && footerNode && (React.createElement(Box, { marginTop: 1, borderStyle: "single", borderTop: true, borderBottom: false, borderLeft: false, borderRight: false, borderColor: theme.border }, footerNode))));
13
+ if (footerPlacement === 'outside' && footerNode) {
14
+ return (React.createElement(Box, { flexDirection: "column", width: "100%" },
15
+ body,
16
+ footerNode));
17
+ }
18
+ return body;
19
+ };
20
+ //# sourceMappingURL=menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../source/skins/classic/menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAuB,CAAC,EACnD,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,eAAe,EACf,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,WAAW,IAAI,KAAK,CAAC,YAAY,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAC1B,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC3B,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,IAAG,MAAM,CAAQ,CAC/C,CAAC,CAAC,CAAC,CACF,MAAM,CACP,CACF,CAAC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,IAAI,GAAG,CACX,oBAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,CAAC,EACX,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAEnC,KAAK,CAAC,CAAC,CAAC,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,IAAG,KAAK,CAAQ,CAAC,CAAC,CAAC,IAAI;QAC5D,QAAQ;QACR,eAAe,KAAK,QAAQ,IAAI,UAAU,IAAI,CAC7C,oBAAC,GAAG,IACF,SAAS,EAAE,CAAC,EACZ,WAAW,EAAC,QAAQ,EACpB,SAAS,EAAE,IAAI,EACf,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,MAAM,IAExB,UAAU,CACP,CACP,CACG,CACP,CAAC;IACF,IAAI,eAAe,KAAK,SAAS,IAAI,UAAU,EAAE,CAAC;QAChD,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAC,MAAM;YACrC,IAAI;YACJ,UAAU,CACP,CACP,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type FC } from 'react';
2
+ import type { AssistantFrameProps, BannerView, UserMessageView } from '../types.js';
3
+ /**
4
+ * Two borderless lines, not a bordered block. The banner is the first thing on
5
+ * screen every session; a full box around it competes with the conversation
6
+ * below for attention and costs four lines to say four short facts.
7
+ */
8
+ export declare const ClassicBanner: FC<BannerView>;
9
+ /** A full-width band, so user messages read as content blocks rather than another accent-coloured header. */
10
+ export declare const ClassicUserMessage: FC<UserMessageView>;
11
+ /** Answers and reasoning are printed bare; the frame exists so other skins can mark or indent them. */
12
+ export declare const ClassicAssistantFrame: FC<AssistantFrameProps>;
13
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/messages.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgBpF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,UAAU,CAiDxC,CAAC;AAEF,6GAA6G;AAC7G,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,eAAe,CAUlD,CAAC;AAEF,uGAAuG;AACvG,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,mBAAmB,CAAqC,CAAC"}
@@ -0,0 +1,65 @@
1
+ import React from 'react';
2
+ import { Box, Text } from 'ink';
3
+ import { GLYPH_SEPARATOR, useTheme } from '../../components/theme.js';
4
+ import { MODEL_LABEL_MAX } from '../shared/limits.js';
5
+ const truncateModel = (name) => name.length > MODEL_LABEL_MAX ? `${name.slice(0, MODEL_LABEL_MAX - 1)}…` : name;
6
+ const Badge = ({ mode }) => {
7
+ const theme = useTheme();
8
+ return (React.createElement(Text, { backgroundColor: theme.modeBadge[mode], color: theme.modeBadgeForeground, bold: true },
9
+ ' ',
10
+ mode,
11
+ ' '));
12
+ };
13
+ /**
14
+ * Two borderless lines, not a bordered block. The banner is the first thing on
15
+ * screen every session; a full box around it competes with the conversation
16
+ * below for attention and costs four lines to say four short facts.
17
+ */
18
+ export const ClassicBanner = ({ version, mode, mentor, providerLabel, model, reasoningEffort, mentorModel, mentorReasoningEffort, }) => {
19
+ const theme = useTheme();
20
+ return (React.createElement(Box, { flexDirection: "column", width: "100%", paddingTop: 1, marginBottom: 1 },
21
+ React.createElement(Box, null,
22
+ React.createElement(Text, { color: theme.warning, bold: true }, "\u258C"),
23
+ React.createElement(Text, { color: theme.accent, bold: true },
24
+ ' ',
25
+ "term\u00B2",
26
+ ' '),
27
+ React.createElement(Badge, { mode: mode }),
28
+ mentor && (React.createElement(React.Fragment, null,
29
+ React.createElement(Text, null, " "),
30
+ React.createElement(Badge, { mode: "MENTOR" }))),
31
+ React.createElement(Text, { color: theme.textMuted },
32
+ " v",
33
+ version)),
34
+ React.createElement(Box, null,
35
+ React.createElement(Text, { color: theme.textSubtle }, ' '),
36
+ React.createElement(Text, { color: theme.textMuted }, providerLabel),
37
+ React.createElement(Text, { color: theme.textSubtle }, "/"),
38
+ React.createElement(Text, { color: theme.accent }, model ? truncateModel(model) : '—'),
39
+ reasoningEffort !== 'none' && React.createElement(Text, { color: theme.textSubtle },
40
+ " (",
41
+ reasoningEffort,
42
+ ")"),
43
+ mentor && mentorModel && (React.createElement(React.Fragment, null,
44
+ React.createElement(Text, { color: theme.textSubtle },
45
+ " ",
46
+ GLYPH_SEPARATOR,
47
+ " "),
48
+ React.createElement(Text, { color: theme.textSubtle }, "mentor "),
49
+ React.createElement(Text, { color: theme.accentAlt }, truncateModel(mentorModel)),
50
+ mentorReasoningEffort !== 'none' && React.createElement(Text, { color: theme.textSubtle },
51
+ " (",
52
+ mentorReasoningEffort,
53
+ ")"))))));
54
+ };
55
+ /** A full-width band, so user messages read as content blocks rather than another accent-coloured header. */
56
+ export const ClassicUserMessage = ({ text }) => {
57
+ const theme = useTheme();
58
+ return (React.createElement(Box, { width: "100%", backgroundColor: theme.userBackground, paddingX: 1 },
59
+ React.createElement(Text, { bold: true, color: theme.userText },
60
+ React.createElement(Text, { color: theme.accent }, "\u276F "),
61
+ text)));
62
+ };
63
+ /** Answers and reasoning are printed bare; the frame exists so other skins can mark or indent them. */
64
+ export const ClassicAssistantFrame = ({ children }) => React.createElement(React.Fragment, null, children);
65
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../source/skins/classic/messages.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type FC } from 'react';
2
+ import type { QuestionPromptProps } from '../types.js';
3
+ /** A boxed question over a numbered list, with the selected option explained beside it. */
4
+ export declare const ClassicQuestionPrompt: FC<QuestionPromptProps>;
5
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/question.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,mBAAmB,CAsDzD,CAAC"}
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { Box, Text } from 'ink';
3
+ import { SelectionMarker } from '../../components/common/SelectionMarker.js';
4
+ import { GLYPH_FAVORITE, useTheme } from '../../components/theme.js';
5
+ import { TwoPaneApprovalLayout } from './approval.js';
6
+ /** A boxed question over a numbered list, with the selected option explained beside it. */
7
+ export const ClassicQuestionPrompt = ({ progress, question, notice, options, description, footer, }) => {
8
+ const theme = useTheme();
9
+ return (React.createElement(Box, { flexDirection: "column" },
10
+ progress !== undefined && (React.createElement(Box, { marginLeft: 1 },
11
+ React.createElement(Text, { color: theme.textSubtle }, progress))),
12
+ React.createElement(Box, { borderStyle: "round", borderColor: theme.warning, paddingX: 1, paddingY: 0 },
13
+ React.createElement(Text, { color: theme.warning, bold: true }, question)),
14
+ notice !== undefined && (React.createElement(Box, { marginTop: 1, marginLeft: 1 },
15
+ React.createElement(Text, { color: theme.accent },
16
+ "\u276F ",
17
+ notice))),
18
+ React.createElement(TwoPaneApprovalLayout, { left: options.map((option, index) => {
19
+ const checkbox = option.checked === undefined ? '' : option.checked ? '[x] ' : '[ ] ';
20
+ return (React.createElement(Box, { key: option.label, flexDirection: "row", width: "100%" },
21
+ React.createElement(SelectionMarker, { selected: option.selected }),
22
+ React.createElement(Box, { width: 2, flexShrink: 0 },
23
+ React.createElement(Text, { color: theme.textSubtle, dimColor: true }, option.recommended ? GLYPH_FAVORITE : ' ')),
24
+ React.createElement(Box, { flexDirection: "row", flexShrink: 1, flexWrap: "wrap" },
25
+ React.createElement(Text, { color: option.selected && option.tone ? theme[option.tone] : undefined, bold: option.selected },
26
+ index + 1,
27
+ ". ",
28
+ checkbox,
29
+ option.label))));
30
+ }), rightTitle: description.title, rightDescription: description.text }),
31
+ React.createElement(Box, { marginTop: 1, marginLeft: 1 }, footer)));
32
+ };
33
+ //# sourceMappingURL=question.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.js","sourceRoot":"","sources":["../../../source/skins/classic/question.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,qBAAqB,GAA4B,CAAC,EAC7D,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,WAAW,EACX,MAAM,GACP,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACxB,QAAQ,KAAK,SAAS,IAAI,CACzB,oBAAC,GAAG,IAAC,UAAU,EAAE,CAAC;YAChB,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,IAAG,QAAQ,CAAQ,CAC5C,CACP;QACD,oBAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC3E,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,UAC7B,QAAQ,CACJ,CACH;QACL,MAAM,KAAK,SAAS,IAAI,CACvB,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;YAC9B,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM;;gBAAK,MAAM,CAAQ,CACxC,CACP;QACD,oBAAC,qBAAqB,IACpB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtF,OAAO,CACL,oBAAC,GAAG,IAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM;oBACtD,oBAAC,eAAe,IAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAI;oBAC9C,oBAAC,GAAG,IAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;wBAC1B,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,UACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CACrC,CACH;oBACN,oBAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM;wBACrD,oBAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ;4BAChG,KAAK,GAAG,CAAC;;4BAAI,QAAQ;4BACrB,MAAM,CAAC,KAAK,CACR,CACH,CACF,CACP,CAAC;YACJ,CAAC,CAAC,EACF,UAAU,EAAE,WAAW,CAAC,KAAK,EAC7B,gBAAgB,EAAE,WAAW,CAAC,IAAI,GAClC;QACF,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,IAC7B,MAAM,CACH,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type FC } from 'react';
2
+ import type { StatusView } from '../types.js';
3
+ /**
4
+ * Configuration on the left, this turn's numbers on the right. The alert row is
5
+ * where every non-steady-state message lands, so the bar is a single line
6
+ * whenever nothing is wrong — which is most of the time — and grows only to say
7
+ * something.
8
+ */
9
+ export declare const ClassicStatusBar: FC<StatusView>;
10
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/status.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAsC,UAAU,EAAE,MAAM,aAAa,CAAC;AA2KlF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,UAAU,CAuD3C,CAAC"}