@openma/common 0.0.0-stage → 0.9.1

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 (328) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +391 -2
  3. package/dist/acp-artifacts/binary.d.ts +35 -0
  4. package/dist/acp-artifacts/binary.d.ts.map +1 -0
  5. package/dist/acp-artifacts/binary.js +120 -0
  6. package/dist/acp-artifacts/binary.js.map +1 -0
  7. package/dist/acp-artifacts/index.d.ts +7 -0
  8. package/dist/acp-artifacts/index.d.ts.map +1 -0
  9. package/dist/acp-artifacts/index.js +7 -0
  10. package/dist/acp-artifacts/index.js.map +1 -0
  11. package/dist/acp-artifacts/node-abi.d.ts +3 -0
  12. package/dist/acp-artifacts/node-abi.d.ts.map +1 -0
  13. package/dist/acp-artifacts/node-abi.js +17 -0
  14. package/dist/acp-artifacts/node-abi.js.map +1 -0
  15. package/dist/acp-artifacts/npm-cli.d.ts +3 -0
  16. package/dist/acp-artifacts/npm-cli.d.ts.map +1 -0
  17. package/dist/acp-artifacts/npm-cli.js +9 -0
  18. package/dist/acp-artifacts/npm-cli.js.map +1 -0
  19. package/dist/acp-artifacts/npm.d.ts +37 -0
  20. package/dist/acp-artifacts/npm.d.ts.map +1 -0
  21. package/dist/acp-artifacts/npm.js +167 -0
  22. package/dist/acp-artifacts/npm.js.map +1 -0
  23. package/dist/acp-artifacts/registry.d.ts +45 -0
  24. package/dist/acp-artifacts/registry.d.ts.map +1 -0
  25. package/dist/acp-artifacts/registry.js +206 -0
  26. package/dist/acp-artifacts/registry.js.map +1 -0
  27. package/dist/acp-artifacts/shared.d.ts +45 -0
  28. package/dist/acp-artifacts/shared.d.ts.map +1 -0
  29. package/dist/acp-artifacts/shared.js +157 -0
  30. package/dist/acp-artifacts/shared.js.map +1 -0
  31. package/dist/acp-artifacts/uvx.d.ts +32 -0
  32. package/dist/acp-artifacts/uvx.d.ts.map +1 -0
  33. package/dist/acp-artifacts/uvx.js +95 -0
  34. package/dist/acp-artifacts/uvx.js.map +1 -0
  35. package/dist/acp-fork/index.d.ts +51 -0
  36. package/dist/acp-fork/index.d.ts.map +1 -0
  37. package/dist/acp-fork/index.js +116 -0
  38. package/dist/acp-fork/index.js.map +1 -0
  39. package/dist/acp-harnesses/agent-setup.d.ts +118 -0
  40. package/dist/acp-harnesses/agent-setup.d.ts.map +1 -0
  41. package/dist/acp-harnesses/agent-setup.js +717 -0
  42. package/dist/acp-harnesses/agent-setup.js.map +1 -0
  43. package/dist/acp-harnesses/custom-agents.d.ts +81 -0
  44. package/dist/acp-harnesses/custom-agents.d.ts.map +1 -0
  45. package/dist/acp-harnesses/custom-agents.js +361 -0
  46. package/dist/acp-harnesses/custom-agents.js.map +1 -0
  47. package/dist/acp-harnesses/headless-launch.d.ts +34 -0
  48. package/dist/acp-harnesses/headless-launch.d.ts.map +1 -0
  49. package/dist/acp-harnesses/headless-launch.js +67 -0
  50. package/dist/acp-harnesses/headless-launch.js.map +1 -0
  51. package/dist/acp-harnesses/index.d.ts +18 -0
  52. package/dist/acp-harnesses/index.d.ts.map +1 -0
  53. package/dist/acp-harnesses/index.js +58 -0
  54. package/dist/acp-harnesses/index.js.map +1 -0
  55. package/dist/acp-harnesses/install-state.d.ts +86 -0
  56. package/dist/acp-harnesses/install-state.d.ts.map +1 -0
  57. package/dist/acp-harnesses/install-state.js +322 -0
  58. package/dist/acp-harnesses/install-state.js.map +1 -0
  59. package/dist/acp-harnesses/installer.d.ts +145 -0
  60. package/dist/acp-harnesses/installer.d.ts.map +1 -0
  61. package/dist/acp-harnesses/installer.js +716 -0
  62. package/dist/acp-harnesses/installer.js.map +1 -0
  63. package/dist/acp-harnesses/known-agents.d.ts +154 -0
  64. package/dist/acp-harnesses/known-agents.d.ts.map +1 -0
  65. package/dist/acp-harnesses/known-agents.js +240 -0
  66. package/dist/acp-harnesses/known-agents.js.map +1 -0
  67. package/dist/acp-harnesses/launcher.d.ts +27 -0
  68. package/dist/acp-harnesses/launcher.d.ts.map +1 -0
  69. package/dist/acp-harnesses/launcher.js +64 -0
  70. package/dist/acp-harnesses/launcher.js.map +1 -0
  71. package/dist/acp-harnesses/registry-fetch.d.ts +42 -0
  72. package/dist/acp-harnesses/registry-fetch.d.ts.map +1 -0
  73. package/dist/acp-harnesses/registry-fetch.js +132 -0
  74. package/dist/acp-harnesses/registry-fetch.js.map +1 -0
  75. package/dist/acp-harnesses/registry.d.ts +36 -0
  76. package/dist/acp-harnesses/registry.d.ts.map +1 -0
  77. package/dist/acp-harnesses/registry.js +307 -0
  78. package/dist/acp-harnesses/registry.js.map +1 -0
  79. package/dist/acp-runtime/errors.d.ts +7 -0
  80. package/dist/acp-runtime/errors.d.ts.map +1 -0
  81. package/dist/acp-runtime/errors.js +17 -0
  82. package/dist/acp-runtime/errors.js.map +1 -0
  83. package/dist/acp-runtime/fork-support.d.ts +8 -0
  84. package/dist/acp-runtime/fork-support.d.ts.map +1 -0
  85. package/dist/acp-runtime/fork-support.js +20 -0
  86. package/dist/acp-runtime/fork-support.js.map +1 -0
  87. package/dist/acp-runtime/index.d.ts +11 -0
  88. package/dist/acp-runtime/index.d.ts.map +1 -0
  89. package/dist/acp-runtime/index.js +6 -0
  90. package/dist/acp-runtime/index.js.map +1 -0
  91. package/dist/acp-runtime/probe.d.ts +103 -0
  92. package/dist/acp-runtime/probe.d.ts.map +1 -0
  93. package/dist/acp-runtime/probe.js +881 -0
  94. package/dist/acp-runtime/probe.js.map +1 -0
  95. package/dist/acp-runtime/runtime.d.ts +7 -0
  96. package/dist/acp-runtime/runtime.d.ts.map +1 -0
  97. package/dist/acp-runtime/runtime.js +26 -0
  98. package/dist/acp-runtime/runtime.js.map +1 -0
  99. package/dist/acp-runtime/session.d.ts +87 -0
  100. package/dist/acp-runtime/session.d.ts.map +1 -0
  101. package/dist/acp-runtime/session.js +1071 -0
  102. package/dist/acp-runtime/session.js.map +1 -0
  103. package/dist/acp-runtime/spawners/node.d.ts +5 -0
  104. package/dist/acp-runtime/spawners/node.d.ts.map +1 -0
  105. package/dist/acp-runtime/spawners/node.js +244 -0
  106. package/dist/acp-runtime/spawners/node.js.map +1 -0
  107. package/dist/acp-runtime/types.d.ts +180 -0
  108. package/dist/acp-runtime/types.d.ts.map +1 -0
  109. package/dist/acp-runtime/types.js +2 -0
  110. package/dist/acp-runtime/types.js.map +1 -0
  111. package/dist/agent-contract/acp.d.ts +4 -0
  112. package/dist/agent-contract/acp.d.ts.map +1 -0
  113. package/dist/agent-contract/acp.js +273 -0
  114. package/dist/agent-contract/acp.js.map +1 -0
  115. package/dist/agent-contract/index.d.ts +125 -0
  116. package/dist/agent-contract/index.d.ts.map +1 -0
  117. package/dist/agent-contract/index.js +102 -0
  118. package/dist/agent-contract/index.js.map +1 -0
  119. package/dist/agent-contract/managed.d.ts +5 -0
  120. package/dist/agent-contract/managed.d.ts.map +1 -0
  121. package/dist/agent-contract/managed.js +242 -0
  122. package/dist/agent-contract/managed.js.map +1 -0
  123. package/dist/agent-ui/index.d.ts +170 -0
  124. package/dist/agent-ui/index.d.ts.map +1 -0
  125. package/dist/agent-ui/index.js +853 -0
  126. package/dist/agent-ui/index.js.map +1 -0
  127. package/dist/agent-ui/presentation.d.ts +30 -0
  128. package/dist/agent-ui/presentation.d.ts.map +1 -0
  129. package/dist/agent-ui/presentation.js +79 -0
  130. package/dist/agent-ui/presentation.js.map +1 -0
  131. package/dist/agent-ui/react.d.ts +50 -0
  132. package/dist/agent-ui/react.d.ts.map +1 -0
  133. package/dist/agent-ui/react.js +334 -0
  134. package/dist/agent-ui/react.js.map +1 -0
  135. package/dist/brand/index.d.ts +17 -0
  136. package/dist/brand/index.d.ts.map +1 -0
  137. package/dist/brand/index.js +119 -0
  138. package/dist/brand/index.js.map +1 -0
  139. package/dist/brand/openma-logo-mark.svg +7 -0
  140. package/dist/brand/tokens.css +77 -0
  141. package/dist/brand/website.css +67 -0
  142. package/dist/chat-ui/acp.d.ts +26 -0
  143. package/dist/chat-ui/acp.d.ts.map +1 -0
  144. package/dist/chat-ui/acp.js +166 -0
  145. package/dist/chat-ui/acp.js.map +1 -0
  146. package/dist/chat-ui/components.d.ts +230 -0
  147. package/dist/chat-ui/components.d.ts.map +1 -0
  148. package/dist/chat-ui/components.js +561 -0
  149. package/dist/chat-ui/components.js.map +1 -0
  150. package/dist/chat-ui/composer-drafts.d.ts +21 -0
  151. package/dist/chat-ui/composer-drafts.d.ts.map +1 -0
  152. package/dist/chat-ui/composer-drafts.js +58 -0
  153. package/dist/chat-ui/composer-drafts.js.map +1 -0
  154. package/dist/chat-ui/controller.d.ts +61 -0
  155. package/dist/chat-ui/controller.d.ts.map +1 -0
  156. package/dist/chat-ui/controller.js +218 -0
  157. package/dist/chat-ui/controller.js.map +1 -0
  158. package/dist/chat-ui/index.d.ts +8 -0
  159. package/dist/chat-ui/index.d.ts.map +1 -0
  160. package/dist/chat-ui/index.js +8 -0
  161. package/dist/chat-ui/index.js.map +1 -0
  162. package/dist/chat-ui/markdown.d.ts +37 -0
  163. package/dist/chat-ui/markdown.d.ts.map +1 -0
  164. package/dist/chat-ui/markdown.js +33 -0
  165. package/dist/chat-ui/markdown.js.map +1 -0
  166. package/dist/chat-ui/presentation.d.ts +34 -0
  167. package/dist/chat-ui/presentation.d.ts.map +1 -0
  168. package/dist/chat-ui/presentation.js +191 -0
  169. package/dist/chat-ui/presentation.js.map +1 -0
  170. package/dist/chat-ui/styles.css +815 -0
  171. package/dist/chat-ui/utils.d.ts +14 -0
  172. package/dist/chat-ui/utils.d.ts.map +1 -0
  173. package/dist/chat-ui/utils.js +71 -0
  174. package/dist/chat-ui/utils.js.map +1 -0
  175. package/dist/local-runtime/checkpoint.d.ts +28 -0
  176. package/dist/local-runtime/checkpoint.d.ts.map +1 -0
  177. package/dist/local-runtime/checkpoint.js +2 -0
  178. package/dist/local-runtime/checkpoint.js.map +1 -0
  179. package/dist/local-runtime/daemon-connection.d.ts +27 -0
  180. package/dist/local-runtime/daemon-connection.d.ts.map +1 -0
  181. package/dist/local-runtime/daemon-connection.js +161 -0
  182. package/dist/local-runtime/daemon-connection.js.map +1 -0
  183. package/dist/local-runtime/daemon-host.d.ts +39 -0
  184. package/dist/local-runtime/daemon-host.d.ts.map +1 -0
  185. package/dist/local-runtime/daemon-host.js +88 -0
  186. package/dist/local-runtime/daemon-host.js.map +1 -0
  187. package/dist/local-runtime/index.d.ts +6 -0
  188. package/dist/local-runtime/index.d.ts.map +1 -0
  189. package/dist/local-runtime/index.js +5 -0
  190. package/dist/local-runtime/index.js.map +1 -0
  191. package/dist/local-runtime/runtime.d.ts +36 -0
  192. package/dist/local-runtime/runtime.d.ts.map +1 -0
  193. package/dist/local-runtime/runtime.js +82 -0
  194. package/dist/local-runtime/runtime.js.map +1 -0
  195. package/dist/local-runtime/session-host.d.ts +62 -0
  196. package/dist/local-runtime/session-host.d.ts.map +1 -0
  197. package/dist/local-runtime/session-host.js +477 -0
  198. package/dist/local-runtime/session-host.js.map +1 -0
  199. package/dist/managed-runtime/acp-subagents.d.ts +14 -0
  200. package/dist/managed-runtime/acp-subagents.d.ts.map +1 -0
  201. package/dist/managed-runtime/acp-subagents.js +67 -0
  202. package/dist/managed-runtime/acp-subagents.js.map +1 -0
  203. package/dist/managed-runtime/claimed-environment-work.d.ts +61 -0
  204. package/dist/managed-runtime/claimed-environment-work.d.ts.map +1 -0
  205. package/dist/managed-runtime/claimed-environment-work.js +170 -0
  206. package/dist/managed-runtime/claimed-environment-work.js.map +1 -0
  207. package/dist/managed-runtime/contracts.d.ts +31 -0
  208. package/dist/managed-runtime/contracts.d.ts.map +1 -0
  209. package/dist/managed-runtime/contracts.js +2 -0
  210. package/dist/managed-runtime/contracts.js.map +1 -0
  211. package/dist/managed-runtime/http-control.d.ts +67 -0
  212. package/dist/managed-runtime/http-control.d.ts.map +1 -0
  213. package/dist/managed-runtime/http-control.js +465 -0
  214. package/dist/managed-runtime/http-control.js.map +1 -0
  215. package/dist/managed-runtime/index.d.ts +89 -0
  216. package/dist/managed-runtime/index.d.ts.map +1 -0
  217. package/dist/managed-runtime/index.js +215 -0
  218. package/dist/managed-runtime/index.js.map +1 -0
  219. package/dist/managed-runtime/input-identity.d.ts +2 -0
  220. package/dist/managed-runtime/input-identity.d.ts.map +1 -0
  221. package/dist/managed-runtime/input-identity.js +2 -0
  222. package/dist/managed-runtime/input-identity.js.map +1 -0
  223. package/dist/managed-runtime/managed-event-projector.d.ts +24 -0
  224. package/dist/managed-runtime/managed-event-projector.d.ts.map +1 -0
  225. package/dist/managed-runtime/managed-event-projector.js +333 -0
  226. package/dist/managed-runtime/managed-event-projector.js.map +1 -0
  227. package/dist/managed-runtime/semantic-recovery.d.ts +61 -0
  228. package/dist/managed-runtime/semantic-recovery.d.ts.map +1 -0
  229. package/dist/managed-runtime/semantic-recovery.js +167 -0
  230. package/dist/managed-runtime/semantic-recovery.js.map +1 -0
  231. package/dist/project-ui/CreateProjectDialog.d.ts +15 -0
  232. package/dist/project-ui/CreateProjectDialog.d.ts.map +1 -0
  233. package/dist/project-ui/CreateProjectDialog.js +87 -0
  234. package/dist/project-ui/CreateProjectDialog.js.map +1 -0
  235. package/dist/project-ui/ProjectComposer.d.ts +13 -0
  236. package/dist/project-ui/ProjectComposer.d.ts.map +1 -0
  237. package/dist/project-ui/ProjectComposer.js +70 -0
  238. package/dist/project-ui/ProjectComposer.js.map +1 -0
  239. package/dist/project-ui/ProjectConversation.d.ts +10 -0
  240. package/dist/project-ui/ProjectConversation.d.ts.map +1 -0
  241. package/dist/project-ui/ProjectConversation.js +28 -0
  242. package/dist/project-ui/ProjectConversation.js.map +1 -0
  243. package/dist/project-ui/ProjectMessageAttachments.d.ts +4 -0
  244. package/dist/project-ui/ProjectMessageAttachments.d.ts.map +1 -0
  245. package/dist/project-ui/ProjectMessageAttachments.js +28 -0
  246. package/dist/project-ui/ProjectMessageAttachments.js.map +1 -0
  247. package/dist/project-ui/ProjectSettings.d.ts +8 -0
  248. package/dist/project-ui/ProjectSettings.d.ts.map +1 -0
  249. package/dist/project-ui/ProjectSettings.js +65 -0
  250. package/dist/project-ui/ProjectSettings.js.map +1 -0
  251. package/dist/project-ui/Projects.d.ts +18 -0
  252. package/dist/project-ui/Projects.d.ts.map +1 -0
  253. package/dist/project-ui/Projects.js +377 -0
  254. package/dist/project-ui/Projects.js.map +1 -0
  255. package/dist/project-ui/client.d.ts +234 -0
  256. package/dist/project-ui/client.d.ts.map +1 -0
  257. package/dist/project-ui/client.js +42 -0
  258. package/dist/project-ui/client.js.map +1 -0
  259. package/dist/project-ui/controls.d.ts +15 -0
  260. package/dist/project-ui/controls.d.ts.map +1 -0
  261. package/dist/project-ui/controls.js +17 -0
  262. package/dist/project-ui/controls.js.map +1 -0
  263. package/dist/project-ui/index.d.ts +20 -0
  264. package/dist/project-ui/index.d.ts.map +1 -0
  265. package/dist/project-ui/index.js +17 -0
  266. package/dist/project-ui/index.js.map +1 -0
  267. package/dist/project-ui/project-coordinator.d.ts +3 -0
  268. package/dist/project-ui/project-coordinator.d.ts.map +1 -0
  269. package/dist/project-ui/project-coordinator.js +12 -0
  270. package/dist/project-ui/project-coordinator.js.map +1 -0
  271. package/dist/project-ui/project-goals.d.ts +48 -0
  272. package/dist/project-ui/project-goals.d.ts.map +1 -0
  273. package/dist/project-ui/project-goals.js +169 -0
  274. package/dist/project-ui/project-goals.js.map +1 -0
  275. package/dist/project-ui/projects-query.d.ts +19 -0
  276. package/dist/project-ui/projects-query.d.ts.map +1 -0
  277. package/dist/project-ui/projects-query.js +132 -0
  278. package/dist/project-ui/projects-query.js.map +1 -0
  279. package/dist/project-ui/styles.css +847 -0
  280. package/dist/protocol/acp/index.d.ts +52 -0
  281. package/dist/protocol/acp/index.d.ts.map +1 -0
  282. package/dist/protocol/acp/index.js +1056 -0
  283. package/dist/protocol/acp/index.js.map +1 -0
  284. package/dist/protocol/cursor-cloud/index.d.ts +74 -0
  285. package/dist/protocol/cursor-cloud/index.d.ts.map +1 -0
  286. package/dist/protocol/cursor-cloud/index.js +249 -0
  287. package/dist/protocol/cursor-cloud/index.js.map +1 -0
  288. package/dist/protocol/managed/index.d.ts +32 -0
  289. package/dist/protocol/managed/index.d.ts.map +1 -0
  290. package/dist/protocol/managed/index.js +646 -0
  291. package/dist/protocol/managed/index.js.map +1 -0
  292. package/dist/protocol/managed/input-identity.d.ts +3 -0
  293. package/dist/protocol/managed/input-identity.d.ts.map +1 -0
  294. package/dist/protocol/managed/input-identity.js +6 -0
  295. package/dist/protocol/managed/input-identity.js.map +1 -0
  296. package/dist/protocol/openai-agents/index.d.ts +102 -0
  297. package/dist/protocol/openai-agents/index.d.ts.map +1 -0
  298. package/dist/protocol/openai-agents/index.js +142 -0
  299. package/dist/protocol/openai-agents/index.js.map +1 -0
  300. package/dist/session-events/acp-system-notices.d.ts +10 -0
  301. package/dist/session-events/acp-system-notices.d.ts.map +1 -0
  302. package/dist/session-events/acp-system-notices.js +46 -0
  303. package/dist/session-events/acp-system-notices.js.map +1 -0
  304. package/dist/session-events/acp.d.ts +214 -0
  305. package/dist/session-events/acp.d.ts.map +1 -0
  306. package/dist/session-events/acp.js +956 -0
  307. package/dist/session-events/acp.js.map +1 -0
  308. package/dist/session-events/managed.d.ts +141 -0
  309. package/dist/session-events/managed.d.ts.map +1 -0
  310. package/dist/session-events/managed.js +324 -0
  311. package/dist/session-events/managed.js.map +1 -0
  312. package/dist/session-events/openma.d.ts +304 -0
  313. package/dist/session-events/openma.d.ts.map +1 -0
  314. package/dist/session-events/openma.js +438 -0
  315. package/dist/session-events/openma.js.map +1 -0
  316. package/dist/session-kernel/index.d.ts +118 -0
  317. package/dist/session-kernel/index.d.ts.map +1 -0
  318. package/dist/session-kernel/index.js +215 -0
  319. package/dist/session-kernel/index.js.map +1 -0
  320. package/dist/session-orchestrator/index.d.ts +71 -0
  321. package/dist/session-orchestrator/index.d.ts.map +1 -0
  322. package/dist/session-orchestrator/index.js +177 -0
  323. package/dist/session-orchestrator/index.js.map +1 -0
  324. package/dist/session-ui/index.d.ts +96 -0
  325. package/dist/session-ui/index.d.ts.map +1 -0
  326. package/dist/session-ui/index.js +277 -0
  327. package/dist/session-ui/index.js.map +1 -0
  328. package/package.json +222 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-ui/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { AgentUITimelineItem, AgentUIToolItem, AgentUITurnState } from "./index.js";
2
+ export type AgentUIThoughtPresentation = "transient" | "history";
3
+ /** Backchat main keeps Codex thoughts in state, but only projects the live tail. */
4
+ export declare function projectAgentUITurnItems(turn: AgentUITurnState, options: {
5
+ thoughts: AgentUIThoughtPresentation;
6
+ }): AgentUITimelineItem[];
7
+ /** The chronological prefix collapsed into Backchat's process disclosure. */
8
+ export declare function agentUIProcessEndIndex(items: readonly AgentUITimelineItem[]): number;
9
+ export type AgentUILiveActivityState = {
10
+ kind: "settled";
11
+ } | {
12
+ kind: "answering";
13
+ } | {
14
+ kind: "reasoning";
15
+ } | {
16
+ kind: "running";
17
+ command: string;
18
+ } | {
19
+ kind: "tools";
20
+ command: string;
21
+ } | {
22
+ kind: "waiting";
23
+ };
24
+ export declare function agentUILiveActivityState({ turn, describeTool, }: {
25
+ turn: AgentUITurnState;
26
+ describeTool: (tool: AgentUIToolItem) => string;
27
+ }): AgentUILiveActivityState;
28
+ export declare function isAgentUIToolRunning(status: AgentUIToolItem["status"]): boolean;
29
+ export declare function agentUITurnElapsedSeconds(turn: AgentUITurnState, now?: number): number;
30
+ //# sourceMappingURL=presentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../src/agent-ui/presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,0BAA0B,GAAG,WAAW,GAAG,SAAS,CAAC;AAEjE,oFAAoF;AACpF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE;IAAE,QAAQ,EAAE,0BAA0B,CAAA;CAAE,GAChD,mBAAmB,EAAE,CASvB;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,CAQpF;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,YAAY,GACb,EAAE;IACD,IAAI,EAAE,gBAAgB,CAAC;IACvB,YAAY,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,MAAM,CAAC;CACjD,GAAG,wBAAwB,CAqC3B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,OAAO,CAE/E;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,gBAAgB,EACtB,GAAG,SAAa,GACf,MAAM,CAQR"}
@@ -0,0 +1,79 @@
1
+ /** Backchat main keeps Codex thoughts in state, but only projects the live tail. */
2
+ export function projectAgentUITurnItems(turn, options) {
3
+ if (options.thoughts === "history")
4
+ return turn.items;
5
+ const liveThoughtIndex = turn.status === "running"
6
+ && turn.items.at(-1)?.kind === "thinking"
7
+ ? turn.items.length - 1
8
+ : -1;
9
+ return turn.items.filter((item, index) => item.kind !== "thinking" || index === liveThoughtIndex);
10
+ }
11
+ /** The chronological prefix collapsed into Backchat's process disclosure. */
12
+ export function agentUIProcessEndIndex(items) {
13
+ for (let index = items.length - 1; index >= 0; index -= 1) {
14
+ const item = items[index];
15
+ if (!item)
16
+ continue;
17
+ if (item.kind !== "message")
18
+ return index;
19
+ if (item.role !== "assistant" || item.phase === "commentary")
20
+ return index;
21
+ }
22
+ return -1;
23
+ }
24
+ export function agentUILiveActivityState({ turn, describeTool, }) {
25
+ if (turn.status !== "running")
26
+ return { kind: "settled" };
27
+ const tail = turn.items.at(-1);
28
+ if (tail?.kind === "thinking")
29
+ return { kind: "reasoning" };
30
+ let lastAssistantIndex = -1;
31
+ for (let index = turn.items.length - 1; index >= 0; index -= 1) {
32
+ const item = turn.items[index];
33
+ if (item?.kind === "message" && item.role === "assistant") {
34
+ lastAssistantIndex = index;
35
+ break;
36
+ }
37
+ }
38
+ const liveTools = turn.items
39
+ .slice(lastAssistantIndex + 1)
40
+ .filter((item) => item.kind === "tool");
41
+ let running;
42
+ for (let index = liveTools.length - 1; index >= 0; index -= 1) {
43
+ const item = liveTools[index];
44
+ if (item && isAgentUIToolRunning(item.status)) {
45
+ running = item;
46
+ break;
47
+ }
48
+ }
49
+ if (running) {
50
+ const command = describeTool(running).trim();
51
+ if (command)
52
+ return { kind: "running", command };
53
+ }
54
+ if (tail?.kind === "message" && tail.role === "assistant") {
55
+ return { kind: "answering" };
56
+ }
57
+ const lastTool = liveTools.at(-1);
58
+ if (lastTool) {
59
+ const command = describeTool(lastTool).trim();
60
+ if (command)
61
+ return { kind: "tools", command };
62
+ }
63
+ return { kind: "waiting" };
64
+ }
65
+ export function isAgentUIToolRunning(status) {
66
+ return status === "pending" || status === "in_progress";
67
+ }
68
+ export function agentUITurnElapsedSeconds(turn, now = Date.now()) {
69
+ const startedAt = turn.startedAt ? Date.parse(turn.startedAt) : NaN;
70
+ if (!Number.isFinite(startedAt))
71
+ return 0;
72
+ const endedAt = turn.status === "running" || !turn.endedAt
73
+ ? now
74
+ : Date.parse(turn.endedAt);
75
+ if (!Number.isFinite(endedAt))
76
+ return 0;
77
+ return Math.max(0, Math.ceil((endedAt - startedAt) / 1_000));
78
+ }
79
+ //# sourceMappingURL=presentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation.js","sourceRoot":"","sources":["../../src/agent-ui/presentation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { AgentUIState, AgentUIStore, AgentUIStreamSubscriber } from "./index.js";
2
+ export interface StreamTextPacer {
3
+ enqueue(text: string): void;
4
+ flush(): void;
5
+ dispose(): void;
6
+ }
7
+ export interface StreamTextPacerOptions {
8
+ write(text: string): void;
9
+ schedule(callback: () => void, delayMs: number): unknown;
10
+ cancel(handle: unknown): void;
11
+ onDrain?(): void;
12
+ }
13
+ /** Frame batches driven by a jerk-limited velocity controller. */
14
+ export declare function createStreamTextPacer({ write, schedule, cancel, onDrain }: StreamTextPacerOptions): StreamTextPacer;
15
+ /** React binding for the framework-neutral Agent UI store. */
16
+ export declare function useAgentUIState(store: AgentUIStore): AgentUIState;
17
+ export interface AgentUIStreamingMarkdownProps {
18
+ store: AgentUIStreamSource;
19
+ turnId: string;
20
+ kind: "assistant" | "thought";
21
+ className?: string;
22
+ prefixSkip?: number;
23
+ paceReplay?: boolean;
24
+ onLinkActivate?: (url: string) => void;
25
+ decorate?: (host: HTMLDivElement) => void;
26
+ /** Incremental alternative: new elements and elements whose href changed. */
27
+ decorateNodes?: (nodes: readonly Element[]) => void;
28
+ }
29
+ /** Minimal AI-SDK-like stream contract. A host can feed the shared renderer
30
+ * from the canonical Agent UI store or from an existing product transport
31
+ * adapter without exposing that transport to the component. */
32
+ export interface AgentUIStreamSource {
33
+ subscribeTurnStream(turnId: string, listener: AgentUIStreamSubscriber): () => void;
34
+ }
35
+ /**
36
+ * The DOM-mutating half of Backchat main's dual-track renderer. React owns
37
+ * one inert host node; the per-turn stream writes markdown directly until the
38
+ * parent swaps this element for its settled renderer.
39
+ */
40
+ export declare function AgentUIStreamingMarkdown({ store, turnId, kind, className, prefixSkip, paceReplay, onLinkActivate, decorate, decorateNodes, }: AgentUIStreamingMarkdownProps): import("react").JSX.Element;
41
+ export declare function thoughtProjectionLines(text: string, fallback: string): string[];
42
+ export declare function thoughtHeadline(text: string): string;
43
+ export declare function AgentUIStreamingThoughtProjection({ store, turnId, prefixSkip, fallback, mode, }: {
44
+ store: AgentUIStreamSource;
45
+ turnId: string;
46
+ prefixSkip: number;
47
+ fallback: string;
48
+ mode: "body" | "headline";
49
+ }): import("react").JSX.Element;
50
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/agent-ui/react.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACzD,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,IAAI,IAAI,CAAC;CAClB;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,sBAAsB,GAAG,eAAe,CA0FnH;AACD,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAMjE;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,KAAK,IAAI,CAAC;CACrD;AAED;;+DAE+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,uBAAuB,GAChC,MAAM,IAAI,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,MAAM,EACN,IAAI,EACJ,SAAc,EACd,UAAc,EACd,UAAkB,EAClB,cAAc,EACd,QAAQ,EACR,aAAa,GACd,EAAE,6BAA6B,+BA+H/B;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAO/E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASpD;AAiCD,wBAAgB,iCAAiC,CAAC,EAChD,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EACR,IAAI,GACL,EAAE;IACD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B,+BA8CA"}
@@ -0,0 +1,334 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useEffect, useRef, useSyncExternalStore, } from "react";
4
+ import * as smd from "streaming-markdown";
5
+ /** Frame batches driven by a jerk-limited velocity controller. */
6
+ export function createStreamTextPacer({ write, schedule, cancel, onDrain }) {
7
+ let pending = "";
8
+ let scheduled = null;
9
+ let disposed = false;
10
+ // Units: UTF-16 units / millisecond. Keep both velocity and acceleration
11
+ // continuous when backlog changes, including a second burst during a ramp.
12
+ const maxAcceleration = 0.24;
13
+ const maxJerk = 0.002;
14
+ let velocity = 1;
15
+ let acceleration = 0;
16
+ let credit = 0;
17
+ let lastStep = performance.now();
18
+ let lastWrite = -Infinity;
19
+ let renderCost = 0;
20
+ const now = () => performance.now();
21
+ const emit = (count) => {
22
+ // Don't split UTF-16 surrogate pairs between parser writes.
23
+ if (count < pending.length && /[\uD800-\uDBFF]/.test(pending[count - 1]))
24
+ count++;
25
+ const text = pending.slice(0, count);
26
+ pending = pending.slice(count);
27
+ const start = now();
28
+ write(text);
29
+ renderCost = renderCost * 0.75 + (now() - start) * 0.25;
30
+ lastWrite = now();
31
+ if (!pending)
32
+ onDrain?.();
33
+ };
34
+ const requestTick = () => {
35
+ if (disposed || scheduled !== null || !pending)
36
+ return;
37
+ // Expensive parsing coalesces frames instead of doing extra DOM writes.
38
+ const interval = Math.min(32, Math.max(16, renderCost * 2));
39
+ scheduled = schedule(tick, interval);
40
+ };
41
+ const tick = () => {
42
+ scheduled = null;
43
+ if (disposed || !pending)
44
+ return;
45
+ // Integrate in small steps so dropped frames don't change the controller
46
+ // or dump the whole queue. Integer credit keeps slow output lossless.
47
+ let elapsed = Math.min(32, Math.max(0, now() - lastStep));
48
+ lastStep = now();
49
+ while (elapsed > 0) {
50
+ const dt = Math.min(4, elapsed);
51
+ const targetVelocity = Math.max(0.25, (pending.length - credit) / 64);
52
+ const desiredAcceleration = Math.max(-maxAcceleration, Math.min(maxAcceleration, (targetVelocity - velocity) / 48));
53
+ const previousAcceleration = acceleration;
54
+ acceleration += Math.max(-maxJerk * dt, Math.min(maxJerk * dt, desiredAcceleration - acceleration));
55
+ const previousVelocity = velocity;
56
+ velocity = Math.max(0, velocity + (previousAcceleration + acceleration) * dt / 2);
57
+ credit += (previousVelocity + velocity) * dt / 2;
58
+ elapsed -= dt;
59
+ }
60
+ const count = Math.min(pending.length, Math.floor(credit));
61
+ if (count > 0) {
62
+ const before = pending.length;
63
+ emit(count);
64
+ credit = Math.max(0, credit - (before - pending.length));
65
+ }
66
+ requestTick();
67
+ };
68
+ return {
69
+ enqueue(text) {
70
+ if (disposed || !text)
71
+ return;
72
+ if (!pending) {
73
+ // No controller can emit text that hasn't arrived. Start gently
74
+ // after a source pause rather than reusing a stale high speed.
75
+ lastStep = now();
76
+ credit = 0;
77
+ if (now() - lastWrite > 100) {
78
+ velocity = 1;
79
+ acceleration = 0;
80
+ }
81
+ }
82
+ pending += text;
83
+ // A small first slice is immediate; larger bursts ramp up by frame.
84
+ if (scheduled === null && now() - lastWrite >= 16)
85
+ emit(Math.min(16, pending.length));
86
+ requestTick();
87
+ },
88
+ flush() {
89
+ if (scheduled !== null)
90
+ cancel(scheduled);
91
+ scheduled = null;
92
+ if (pending && !disposed)
93
+ emit(pending.length);
94
+ },
95
+ dispose() {
96
+ if (scheduled !== null)
97
+ cancel(scheduled);
98
+ scheduled = null;
99
+ pending = "";
100
+ disposed = true;
101
+ },
102
+ };
103
+ }
104
+ /** React binding for the framework-neutral Agent UI store. */
105
+ export function useAgentUIState(store) {
106
+ return useSyncExternalStore((notify) => store.subscribe(() => notify()), store.getSnapshot, store.getSnapshot);
107
+ }
108
+ /**
109
+ * The DOM-mutating half of Backchat main's dual-track renderer. React owns
110
+ * one inert host node; the per-turn stream writes markdown directly until the
111
+ * parent swaps this element for its settled renderer.
112
+ */
113
+ export function AgentUIStreamingMarkdown({ store, turnId, kind, className = "", prefixSkip = 0, paceReplay = false, onLinkActivate, decorate, decorateNodes, }) {
114
+ const hostRef = useRef(null);
115
+ useEffect(() => {
116
+ const host = hostRef.current;
117
+ if (!host)
118
+ return;
119
+ host.replaceChildren();
120
+ const parser = smd.parser(smd.default_renderer(host));
121
+ // Consume records synchronously after parser writes. Text-only deltas need
122
+ // no decoration; the callback never scans the accumulated transcript.
123
+ const mutations = decorateNodes ? new MutationObserver(() => { }) : null;
124
+ mutations?.observe(host, { childList: true, subtree: true, attributes: true, attributeFilter: ["href"] });
125
+ let heldTail = null;
126
+ let lastWritten = "";
127
+ const clearTail = () => {
128
+ heldTail?.remove();
129
+ heldTail = null;
130
+ };
131
+ const deepestLast = (node) => {
132
+ let current = node;
133
+ while (current.lastElementChild) {
134
+ const next = current.lastElementChild;
135
+ if (next.matches("img, br, hr"))
136
+ break;
137
+ current = next;
138
+ }
139
+ return current;
140
+ };
141
+ const showTail = () => {
142
+ clearTail();
143
+ const character = Array.from(lastWritten).at(-1);
144
+ if (!character)
145
+ return;
146
+ heldTail = document.createTextNode(character);
147
+ deepestLast(host).append(heldTail);
148
+ };
149
+ const write = (text) => {
150
+ clearTail();
151
+ lastWritten = text;
152
+ smd.parser_write(parser, text);
153
+ if (mutations && decorateNodes) {
154
+ const changed = new Set();
155
+ for (const record of mutations.takeRecords()) {
156
+ if (record.type === "attributes")
157
+ changed.add(record.target);
158
+ else
159
+ for (const node of record.addedNodes)
160
+ if (node instanceof Element)
161
+ changed.add(node);
162
+ }
163
+ // A new paragraph already contains its new links. Visit that subtree
164
+ // once instead of passing every descendant to the host separately.
165
+ const roots = [...changed].filter(node => {
166
+ if (!host.contains(node))
167
+ return false;
168
+ for (let parent = node.parentElement; parent && parent !== host; parent = parent.parentElement) {
169
+ if (changed.has(parent))
170
+ return false;
171
+ }
172
+ return true;
173
+ });
174
+ if (roots.length)
175
+ decorateNodes(roots);
176
+ mutations.takeRecords(); // Decoration itself is not new parser output.
177
+ }
178
+ decorate?.(host);
179
+ };
180
+ const pacer = createStreamTextPacer({
181
+ write,
182
+ schedule: (callback, delayMs) => {
183
+ const handle = { frame: 0 };
184
+ const due = performance.now() + delayMs;
185
+ const frame = () => {
186
+ if (performance.now() + 1 >= due)
187
+ callback();
188
+ else
189
+ handle.frame = requestAnimationFrame(frame);
190
+ };
191
+ handle.frame = requestAnimationFrame(frame);
192
+ return handle;
193
+ },
194
+ cancel: (handle) => cancelAnimationFrame(handle.frame),
195
+ onDrain: showTail,
196
+ });
197
+ let subscribing = true;
198
+ const unsubscribe = store.subscribeTurnStream(turnId, (delta) => {
199
+ if (delta.kind !== kind)
200
+ return;
201
+ let text = delta.text;
202
+ if (subscribing) {
203
+ text = text.slice(prefixSkip);
204
+ if (!text)
205
+ return;
206
+ if (paceReplay)
207
+ pacer.enqueue(text);
208
+ else {
209
+ write(text);
210
+ showTail();
211
+ }
212
+ return;
213
+ }
214
+ pacer.enqueue(text);
215
+ });
216
+ subscribing = false;
217
+ const activateLink = (event) => {
218
+ if (!onLinkActivate)
219
+ return;
220
+ const target = event.target;
221
+ const anchor = target?.closest("a");
222
+ if (!anchor || !host.contains(anchor))
223
+ return;
224
+ const url = (anchor.getAttribute("href") ?? "").trim();
225
+ if (!url)
226
+ return;
227
+ event.preventDefault();
228
+ event.stopPropagation();
229
+ onLinkActivate(url);
230
+ };
231
+ host.addEventListener("click", activateLink);
232
+ return () => {
233
+ host.removeEventListener("click", activateLink);
234
+ unsubscribe();
235
+ pacer.flush();
236
+ pacer.dispose();
237
+ mutations?.disconnect();
238
+ try {
239
+ smd.parser_end(parser);
240
+ }
241
+ catch {
242
+ // A partial inline token is discarded with the host during handoff.
243
+ }
244
+ };
245
+ }, [decorate, decorateNodes, kind, onLinkActivate, paceReplay, prefixSkip, store, turnId]);
246
+ return (_jsx("div", { ref: hostRef, className: `streaming-md ${className}`.trim(), "data-agent-ui-streaming-markdown": kind }));
247
+ }
248
+ export function thoughtProjectionLines(text, fallback) {
249
+ const lines = text
250
+ .replace(/\r\n?/g, "\n")
251
+ .split(/\n+/)
252
+ .map((line) => line.replace(/[\t ]+/g, " ").trim())
253
+ .filter(Boolean);
254
+ return lines.length > 0 ? lines : [fallback];
255
+ }
256
+ export function thoughtHeadline(text) {
257
+ let headline = "";
258
+ for (const line of text.split(/\r?\n/)) {
259
+ const trimmed = line.trim();
260
+ const heading = trimmed.match(/^#{1,6}\s+(.+?)\s*#*$/)?.[1];
261
+ const bold = trimmed.match(/^(?:\*\*|__)(.+?)(?:\*\*|__)$/)?.[1];
262
+ if (heading || bold)
263
+ headline = (heading ?? bold).trim();
264
+ }
265
+ return headline;
266
+ }
267
+ const projectionLineText = new WeakMap();
268
+ function syncProjectionLines(host, lines) {
269
+ while (host.children.length > lines.length) {
270
+ host.lastElementChild?.remove();
271
+ }
272
+ lines.forEach((line, index) => {
273
+ let row = host.children.item(index);
274
+ if (!row) {
275
+ row = document.createElement("span");
276
+ row.dataset.thoughtProjectionLine = "true";
277
+ row.className = "block min-w-0 truncate leading-6";
278
+ host.append(row);
279
+ }
280
+ if (projectionLineText.get(row) !== line) {
281
+ row.replaceChildren();
282
+ const parser = smd.parser(smd.default_renderer(row));
283
+ smd.parser_write(parser, line);
284
+ smd.parser_end(parser);
285
+ // A summary lives inside a disclosure button: keep inline formatting,
286
+ // but leave navigation and block layout to the expanded thought body.
287
+ for (const block of row.querySelectorAll("p, h1, h2, h3, h4, h5, h6, a")) {
288
+ const span = document.createElement("span");
289
+ span.append(...block.childNodes);
290
+ block.replaceWith(span);
291
+ }
292
+ projectionLineText.set(row, line);
293
+ }
294
+ });
295
+ }
296
+ export function AgentUIStreamingThoughtProjection({ store, turnId, prefixSkip, fallback, mode, }) {
297
+ const hostRef = useRef(null);
298
+ useEffect(() => {
299
+ const host = hostRef.current;
300
+ if (!host)
301
+ return;
302
+ let text = "";
303
+ let replaying = true;
304
+ const render = () => {
305
+ const lines = thoughtProjectionLines(text, fallback);
306
+ if (mode === "headline") {
307
+ host.textContent = thoughtHeadline(text) || lines[0] || fallback;
308
+ }
309
+ else {
310
+ syncProjectionLines(host, lines);
311
+ }
312
+ };
313
+ const unsubscribe = store.subscribeTurnStream(turnId, (delta) => {
314
+ if (delta.kind !== "thought")
315
+ return;
316
+ if (replaying) {
317
+ text = delta.text.slice(prefixSkip);
318
+ replaying = false;
319
+ }
320
+ else {
321
+ text += delta.text;
322
+ }
323
+ render();
324
+ });
325
+ if (replaying)
326
+ render();
327
+ return unsubscribe;
328
+ }, [fallback, mode, prefixSkip, store, turnId]);
329
+ if (mode === "headline") {
330
+ return _jsx("span", { ref: hostRef, children: fallback });
331
+ }
332
+ return (_jsx("span", { ref: hostRef, className: "block min-w-0", "data-thought-projection": "lines", children: thoughtProjectionLines(fallback, fallback).map((line, index) => (_jsx("span", { "data-thought-projection-line": "true", className: "block min-w-0 truncate leading-6", children: line }, `${index}-${line}`))) }));
333
+ }
334
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/agent-ui/react.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export declare const COMMON_THEME_TOKEN_NAMES: readonly ["brand", "brand-hover", "brand-subtle", "brand-fg", "bg", "bg-sidebar", "bg-surface", "bg-bubble", "bg-overlay", "fg", "fg-muted", "fg-subtle", "border", "border-strong", "success", "success-subtle", "warning", "warning-subtle", "danger", "danger-subtle", "info", "info-subtle", "accent-violet", "accent-violet-subtle", "shadow-md", "shadow-sm", "shadow-card-soft", "shadow-card-press", "shadow-input-rest", "shadow-chip-press", "shadow-pip", "ring"];
2
+ export type CommonThemeTokenName = (typeof COMMON_THEME_TOKEN_NAMES)[number];
3
+ export type CommonThemeTokens = Record<CommonThemeTokenName, string>;
4
+ export declare const OPENMA_BRAND_RGB: readonly [248, 79, 50];
5
+ export declare const OPENMA_ICON_ID: "openma";
6
+ export declare const OPENMA_MARK_VIEW_BOX: "240 244 548 454";
7
+ export declare const OPENMA_MARK_PATHS: readonly ["M279 363H346C356 363 363 371 363 381V397C363 407 356 414 346 414H320C312 414 308 419 308 427V620C308 628 313 633 321 633H349C357 633 363 640 363 648V665C363 675 355 683 345 683H279C265 683 254 672 254 658V388C254 374 265 363 279 363Z", "M748 363H681C671 363 666 371 666 381V397C666 407 673 414 683 414H708C716 414 720 419 720 427V620C720 628 715 633 707 633H680C671 633 666 640 666 648V665C666 675 674 683 684 683H748C762 683 773 672 773 658V388C773 374 762 363 748 363Z", "M500 258C496 258 491 260 488 264C486 267 485 271 485 275V343C485 351 491 357 499 357H575C583 357 587 348 581 342L507 264C505 261 503 258 500 258Z"];
8
+ export declare const OPENMA_MARK_CIRCLE: {
9
+ readonly cx: 535;
10
+ readonly cy: 520;
11
+ readonly r: 42;
12
+ };
13
+ /** Full SVG markup accepted by hosts such as Obsidian's `addIcon`. */
14
+ export declare const OPENMA_ICON_INNER_SVG: string;
15
+ export declare const commonLightTokens: CommonThemeTokens;
16
+ export declare const commonDarkTokens: CommonThemeTokens;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/brand/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,8cAiC3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAErE,eAAO,MAAM,gBAAgB,wBAAyB,CAAC;AAEvD,eAAO,MAAM,cAAc,EAAG,QAAiB,CAAC;AAChD,eAAO,MAAM,oBAAoB,EAAG,iBAA0B,CAAC;AAC/D,eAAO,MAAM,iBAAiB,0nBAIpB,CAAC;AACX,eAAO,MAAM,kBAAkB;;;;CAAuC,CAAC;AAEvE,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,QAKxB,CAAC;AAEX,eAAO,MAAM,iBAAiB,EAAE,iBAiC/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,iBAiC9B,CAAC"}