@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,277 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { GitForkIcon, BotIcon, CheckIcon, ChevronDownIcon, ChevronRightIcon, CopyIcon, EyeIcon, HandIcon, ShieldAlertIcon, ShieldCheckIcon, ZapIcon, } from "lucide-react";
4
+ import { useEffect, useRef, useState } from "react";
5
+ import { OPENMA_MARK_CIRCLE, OPENMA_MARK_PATHS, OPENMA_MARK_VIEW_BOX, } from "../brand/index.js";
6
+ export function OpenMAMark({ className = "" }) {
7
+ return (_jsxs("svg", { className: className, "data-openma-mark": "true", viewBox: OPENMA_MARK_VIEW_BOX, fill: "currentColor", "aria-hidden": "true", children: [OPENMA_MARK_PATHS.map((path) => _jsx("path", { d: path }, path)), _jsx("circle", { ...OPENMA_MARK_CIRCLE })] }));
8
+ }
9
+ /** Shared Backchat session switcher. Hosts own placement; common owns the
10
+ * accessible menu behavior and visual vocabulary so it never falls back to a
11
+ * platform-native select. */
12
+ export function SessionHistoryMenu({ activeSessionId, sessions, className = "", onSelectSession, }) {
13
+ const menuRef = useRef(null);
14
+ const activeSession = sessions.find(({ id }) => id === activeSessionId)
15
+ ?? sessions[0];
16
+ return (_jsxs("details", { className: `openma-session-history ${className}`.trim(), ref: menuRef, children: [_jsxs("summary", { className: "chat-interactive-surface chat-interactive-surface--control openma-session-history-trigger", "data-session-history-trigger": "true", "aria-label": "Chat history", title: activeSession?.title ?? "Chat history", children: [_jsx("span", { children: activeSession?.title ?? "New chat" }), _jsx(ChevronDownIcon, { size: 14, "aria-hidden": "true" })] }), _jsx("div", { className: "openma-session-menu openma-session-history-menu", role: "menu", "aria-label": "Chat history", children: sessions.map((session) => {
17
+ const active = session.id === activeSessionId;
18
+ return (_jsxs("button", { type: "button", role: "menuitemradio", "aria-checked": active, className: "chat-interactive-surface chat-interactive-surface--control openma-session-menu-item openma-session-history-item", onClick: () => {
19
+ onSelectSession(session.id);
20
+ menuRef.current?.removeAttribute("open");
21
+ }, children: [_jsx("span", { className: "openma-session-menu-item-copy", children: _jsx("strong", { children: session.title }) }), active ? _jsx(CheckIcon, { size: 14, "aria-hidden": "true" }) : null] }, session.id));
22
+ }) })] }));
23
+ }
24
+ const HARNESS_ICON_PATHS = {
25
+ "claude-acp": ["M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z"],
26
+ "codex-acp": ["M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z"],
27
+ gemini: ["M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z"],
28
+ opencode: ["M16 6H8v12h8V6zm4 16H4V2h16v20z"],
29
+ kimi: [
30
+ "M21.846 0a1.923 1.923 0 110 3.846H20.15a.226.226 0 01-.227-.226V1.923C19.923.861 20.784 0 21.846 0z",
31
+ "M11.065 11.199l7.257-7.2c.137-.136.06-.41-.116-.41H14.3a.164.164 0 00-.117.051l-7.82 7.756c-.122.12-.302.013-.302-.179V3.82c0-.127-.083-.23-.185-.23H3.186c-.103 0-.186.103-.186.23V19.77c0 .128.083.23.186.23h2.69c.103 0 .186-.102.186-.23v-3.25c0-.069.025-.135.069-.178l2.424-2.406a.158.158 0 01.205-.023l6.484 4.772a7.677 7.677 0 003.453 1.283c.108.012.2-.095.2-.23v-3.06c0-.117-.07-.212-.164-.227a5.028 5.028 0 01-2.027-.807l-5.613-4.064c-.117-.078-.132-.279-.028-.381z",
32
+ ],
33
+ };
34
+ export function HarnessIcon({ harnessId, label = harnessId, className = "", size = 14, }) {
35
+ const paths = HARNESS_ICON_PATHS[harnessId];
36
+ if (!paths)
37
+ return _jsx(BotIcon, { className: className, size: size, "aria-label": label });
38
+ return (_jsx("svg", { className: className, "data-harness-icon": harnessId, role: "img", "aria-label": label, width: size, height: size, viewBox: "0 0 24 24", fill: "currentColor", children: paths.map((path) => _jsx("path", { d: path }, path)) }));
39
+ }
40
+ export function SessionRunControls({ activeHarnessId, harnesses, configOptions, disabled = false, className = "", onSelectHarness, onSetConfigOption, }) {
41
+ const activeHarness = harnesses.find(({ id }) => id === activeHarnessId);
42
+ const modeOption = configOptions.find((option) => option.type === "select"
43
+ && (option.category === "mode" || option.id === "mode"));
44
+ const modelOption = configOptions.find((option) => option.category === "model");
45
+ const runLabel = modelOption
46
+ ? selectedSessionConfigOptionLabel(modelOption)
47
+ : activeHarness?.label ?? activeHarnessId;
48
+ return (_jsxs("div", { className: `openma-session-run-controls ${className}`.trim(), "data-session-run-controls": "true", "aria-label": "Run configuration", children: [modeOption ? (_jsx(SessionModeMenu, { harnessId: activeHarnessId, option: modeOption, disabled: disabled, onSetConfigOption: onSetConfigOption })) : _jsx("span", {}), _jsx(SessionRunMenu, { activeHarnessId: activeHarnessId, activeHarnessLabel: activeHarness?.label ?? activeHarnessId, harnesses: harnesses, configOptions: configOptions.filter((option) => option !== modeOption), summary: runLabel, disabled: disabled, onSelectHarness: onSelectHarness, onSetConfigOption: onSetConfigOption })] }));
49
+ }
50
+ function SessionModeMenu({ harnessId, option, disabled, onSetConfigOption, }) {
51
+ const menuRef = useRef(null);
52
+ const options = flattenSessionConfigSelectOptions(option.options);
53
+ const selected = options.find(({ value }) => value === option.currentValue) ?? options[0];
54
+ if (!selected)
55
+ return null;
56
+ const presentation = sessionModePresentation(harnessId, selected);
57
+ const ModeIcon = sessionModeIcon(selected.value);
58
+ return (_jsxs("details", { className: "openma-session-chip-menu", ref: menuRef, children: [_jsxs("summary", { className: `chat-interactive-surface chat-interactive-surface--control openma-session-toolbar-chip${presentation.warning ? " is-warning" : ""}`, "data-session-mode-trigger": "true", "aria-label": presentation.label, title: presentation.hint, "aria-disabled": disabled, onClick: (event) => {
59
+ if (disabled)
60
+ event.preventDefault();
61
+ }, children: [_jsx(ModeIcon, { size: 14, "aria-hidden": "true" }), _jsx("span", { className: "openma-session-chip-label", children: presentation.label }), _jsx(ChevronDownIcon, { size: 14, "aria-hidden": "true" })] }), _jsx("div", { className: "openma-session-menu openma-session-menu-align-start", role: "menu", children: options.map((item) => {
62
+ const itemPresentation = sessionModePresentation(harnessId, item);
63
+ const ItemIcon = sessionModeIcon(item.value);
64
+ const active = item.value === option.currentValue;
65
+ return (_jsxs("button", { type: "button", role: "menuitemradio", "aria-checked": active, className: `chat-interactive-surface chat-interactive-surface--control openma-session-menu-item${itemPresentation.warning ? " is-warning" : ""}`, onClick: () => {
66
+ onSetConfigOption(option.id, item.value);
67
+ menuRef.current?.removeAttribute("open");
68
+ }, children: [_jsx(ItemIcon, { size: 15, "aria-hidden": "true" }), _jsxs("span", { className: "openma-session-menu-item-copy", children: [_jsx("strong", { children: itemPresentation.label }), itemPresentation.hint ? _jsx("small", { children: itemPresentation.hint }) : null] }), active ? _jsx(CheckIcon, { size: 14, "aria-hidden": "true" }) : null] }, item.value));
69
+ }) })] }));
70
+ }
71
+ function SessionRunMenu({ activeHarnessId, activeHarnessLabel, harnesses, configOptions, summary, disabled, onSelectHarness, onSetConfigOption, }) {
72
+ const menuRef = useRef(null);
73
+ const [submenu, setSubmenu] = useState(null);
74
+ useEffect(() => {
75
+ const dismiss = (event) => {
76
+ const details = menuRef.current;
77
+ if (!details || details.contains(event.target))
78
+ return;
79
+ details.removeAttribute("open");
80
+ setSubmenu(null);
81
+ };
82
+ const onKeyDown = (event) => {
83
+ if (event.key !== "Escape")
84
+ return;
85
+ if (submenu !== null) {
86
+ setSubmenu(null);
87
+ event.stopPropagation();
88
+ return;
89
+ }
90
+ menuRef.current?.removeAttribute("open");
91
+ };
92
+ document.addEventListener("pointerdown", dismiss);
93
+ document.addEventListener("keydown", onKeyDown);
94
+ return () => {
95
+ document.removeEventListener("pointerdown", dismiss);
96
+ document.removeEventListener("keydown", onKeyDown);
97
+ };
98
+ }, [submenu]);
99
+ const closeMenu = () => {
100
+ setSubmenu(null);
101
+ menuRef.current?.removeAttribute("open");
102
+ };
103
+ const openRootSubmenu = (id) => setSubmenu((current) => current === id ? null : id);
104
+ const activeOption = configOptions.find((option) => option.id === submenu);
105
+ return (_jsxs("details", { className: "openma-session-chip-menu openma-session-run-menu", ref: menuRef, children: [_jsxs("summary", { className: "chat-interactive-surface chat-interactive-surface--control openma-session-toolbar-chip openma-session-run-trigger", "data-session-run-trigger": "true", "aria-label": `Run with ${activeHarnessLabel} using ${summary}`, "aria-disabled": disabled, onClick: (event) => {
106
+ if (disabled)
107
+ event.preventDefault();
108
+ setSubmenu(null);
109
+ }, children: [_jsx(HarnessIcon, { harnessId: activeHarnessId, label: activeHarnessLabel, size: 15 }), _jsx("span", { className: "openma-session-chip-label", children: summary }), _jsx(ChevronDownIcon, { size: 14, "aria-hidden": "true" })] }), _jsxs("div", { className: "openma-session-menu openma-session-menu-align-end openma-session-run-root-menu", role: "menu", "data-session-run-root-menu": "true", children: [_jsx(SessionSubmenuTrigger, { submenuId: "harness", icon: _jsx(HarnessIcon, { harnessId: activeHarnessId, label: activeHarnessLabel, size: 15 }), label: "Harness", value: activeHarnessLabel, open: submenu === "harness", onClick: () => openRootSubmenu("harness") }), configOptions.map((option) => (_jsx(SessionSubmenuTrigger, { submenuId: option.id, icon: sessionConfigOptionIcon(option), label: option.name, value: selectedSessionConfigOptionLabel(option), open: submenu === option.id, onClick: () => openRootSubmenu(option.id) }, option.id)))] }), submenu === "harness" ? (_jsx("div", { className: "openma-session-submenu", role: "menu", "data-session-submenu": "harness", children: harnesses.map((harness) => {
110
+ const active = harness.id === activeHarnessId;
111
+ return (_jsx(SessionSubmenuChoice, { icon: _jsx(HarnessIcon, { harnessId: harness.id, label: harness.label, size: 15 }), label: harness.label, active: active, onClick: () => {
112
+ onSelectHarness(harness.id);
113
+ closeMenu();
114
+ } }, harness.id));
115
+ }) })) : activeOption ? (_jsx("div", { className: "openma-session-submenu", role: "menu", "data-session-submenu": activeOption.id, children: activeOption.type === "boolean" ? (_jsx(SessionSubmenuChoice, { icon: _jsx(ZapIcon, { size: 15, "aria-hidden": "true" }), label: activeOption.currentValue ? "On" : "Off", active: activeOption.currentValue, role: "menuitemcheckbox", onClick: () => {
116
+ onSetConfigOption(activeOption.id, !activeOption.currentValue);
117
+ closeMenu();
118
+ } })) : (flattenSessionConfigSelectOptions(activeOption.options).map((item) => (_jsx(SessionSubmenuChoice, { label: item.name, hint: item.group, active: item.value === activeOption.currentValue, onClick: () => {
119
+ onSetConfigOption(activeOption.id, item.value);
120
+ closeMenu();
121
+ } }, `${activeOption.id}:${item.group ?? ""}:${item.value}`)))) })) : null] }));
122
+ }
123
+ function SessionSubmenuTrigger({ submenuId, icon, label, value, open, onClick, }) {
124
+ return (_jsxs("button", { type: "button", role: "menuitem", "aria-haspopup": "menu", "aria-expanded": open, "aria-label": label, "data-session-submenu-trigger": submenuId, className: "chat-interactive-surface chat-interactive-surface--control openma-session-menu-item openma-session-submenu-trigger", onClick: onClick, children: [icon, _jsx("span", { className: "openma-session-menu-item-copy", children: _jsx("strong", { children: label }) }), _jsx("span", { className: "openma-session-submenu-value", children: value }), _jsx(ChevronRightIcon, { size: 14, "aria-hidden": "true" })] }));
125
+ }
126
+ function SessionSubmenuChoice({ icon, label, hint, active, role = "menuitemradio", onClick, }) {
127
+ return (_jsxs("button", { type: "button", role: role, "aria-checked": active, className: "chat-interactive-surface chat-interactive-surface--control openma-session-menu-item openma-session-submenu-choice", onClick: onClick, children: [icon ?? _jsx("span", { className: "openma-session-submenu-placeholder", "aria-hidden": "true" }), _jsxs("span", { className: "openma-session-menu-item-copy", children: [_jsx("strong", { children: label }), hint ? _jsx("small", { children: hint }) : null] }), active ? _jsx(CheckIcon, { size: 14, "aria-hidden": "true" }) : null] }));
128
+ }
129
+ function sessionConfigOptionIcon(option) {
130
+ if (option.type === "boolean")
131
+ return _jsx(ZapIcon, { size: 15, "aria-hidden": "true" });
132
+ if (option.category === "model")
133
+ return _jsx(BotIcon, { size: 15, "aria-hidden": "true" });
134
+ if (option.category === "thought_level")
135
+ return _jsx(EyeIcon, { size: 15, "aria-hidden": "true" });
136
+ return _jsx(ZapIcon, { size: 15, "aria-hidden": "true" });
137
+ }
138
+ function selectedSessionConfigOptionLabel(option) {
139
+ if (option.type === "boolean")
140
+ return option.currentValue ? "On" : "Off";
141
+ return flattenSessionConfigSelectOptions(option.options)
142
+ .find(({ value }) => value === option.currentValue)?.name
143
+ ?? option.currentValue;
144
+ }
145
+ function sessionModePresentation(harnessId, option) {
146
+ if (harnessId === "codex-acp") {
147
+ if (option.value === "read-only") {
148
+ return {
149
+ label: "Ask for approval",
150
+ hint: "Always ask before editing external files or using the internet",
151
+ };
152
+ }
153
+ if (option.value === "agent") {
154
+ return {
155
+ label: "Approve for me",
156
+ hint: "Only ask for actions detected as potentially unsafe",
157
+ };
158
+ }
159
+ if (option.value === "agent-full-access") {
160
+ return {
161
+ label: "Full access",
162
+ hint: "Allow unrestricted internet and filesystem access",
163
+ warning: true,
164
+ };
165
+ }
166
+ }
167
+ return {
168
+ label: option.name,
169
+ ...(option.description ? { hint: option.description } : {}),
170
+ };
171
+ }
172
+ function sessionModeIcon(value) {
173
+ if (value === "read-only")
174
+ return HandIcon;
175
+ if (value === "agent-full-access")
176
+ return ShieldAlertIcon;
177
+ return ShieldCheckIcon;
178
+ }
179
+ export function flattenSessionConfigSelectOptions(options) {
180
+ return options.flatMap((entry) => "options" in entry
181
+ ? entry.options.map((option) => ({
182
+ value: option.value,
183
+ name: option.name,
184
+ group: entry.name,
185
+ }))
186
+ : [{ value: entry.value, name: entry.name }]);
187
+ }
188
+ /**
189
+ * Shared DOM shell for a Backchat/OpenManaged session turn.
190
+ *
191
+ * Product adapters keep ownership of Markdown, tools, plans, subagents, and
192
+ * stores; this component owns the stable prompt/response hierarchy and status
193
+ * semantics so both products can evolve those slots without forking the
194
+ * session-level GUI structure again.
195
+ */
196
+ export function SessionTurnFrame({ turnId, sessionId, promptText, promptNode, status, errorMessage, errorNotice, labels, hideStatusMessage = false, children, className = "", }) {
197
+ const isStreaming = status === "running";
198
+ const statusNode = hideStatusMessage
199
+ ? null
200
+ : (status === "error" || status === "errored") && errorNotice !== undefined
201
+ ? errorNotice
202
+ : renderStatus(status, errorMessage, labels);
203
+ return (_jsxs("article", { className: `group/turn reveal-in mb-6 space-y-2 ${className}`.trim(), "data-turn-id": turnId, "data-session-turn-status": status, children: [promptNode ??
204
+ (promptText ? (_jsx("div", { className: "group is-user ml-auto flex w-full max-w-[95%] flex-col items-end gap-2", "data-session-turn-prompt": "true", children: _jsx("div", { className: "is-user:dark ml-auto flex w-fit min-w-0 max-w-full flex-col gap-2 overflow-hidden rounded-lg bg-secondary px-4 py-3 text-sm text-foreground", children: _jsx("p", { className: "whitespace-pre-wrap", children: promptText }) }) })) : null), _jsx("div", { className: "min-w-0", "data-annotatable-response": true, "data-annotation-ready": !isStreaming, "data-source-session-id": sessionId, "data-source-turn-id": turnId, children: _jsxs("div", { className: "min-w-0 space-y-2", "data-session-turn-response": "true", children: [children, statusNode] }) })] }));
205
+ }
206
+ /** Backchat-compatible metadata and actions for the end of a session turn. */
207
+ export function SessionTurnFooter({ status, timestamp, copyText, labels, onFork, writeClipboard, formatTimestamp = defaultTurnTimestamp, }) {
208
+ const [copied, setCopied] = useState(false);
209
+ const resetTimerRef = useRef(undefined);
210
+ const isStreaming = status === "running";
211
+ const answer = copyText.trim();
212
+ const endedAt = isStreaming ? undefined : timestamp;
213
+ const canFork = Boolean(onFork) &&
214
+ (status === "complete" || status === "completed") &&
215
+ answer.length > 0;
216
+ const timestampLabel = endedAt === undefined ? null : formatTimestamp(endedAt);
217
+ const layer = "col-start-1 row-start-1 flex min-w-0 items-center transition-opacity duration-200 ease-out";
218
+ useEffect(() => () => {
219
+ if (resetTimerRef.current !== undefined) {
220
+ clearTimeout(resetTimerRef.current);
221
+ }
222
+ }, []);
223
+ const copyAnswer = async () => {
224
+ if (!answer)
225
+ return;
226
+ try {
227
+ if (writeClipboard) {
228
+ await writeClipboard(answer);
229
+ }
230
+ else if (typeof navigator !== "undefined" &&
231
+ typeof navigator.clipboard?.writeText === "function") {
232
+ await navigator.clipboard.writeText(answer);
233
+ }
234
+ else {
235
+ return;
236
+ }
237
+ setCopied(true);
238
+ if (resetTimerRef.current !== undefined) {
239
+ clearTimeout(resetTimerRef.current);
240
+ }
241
+ resetTimerRef.current = setTimeout(() => setCopied(false), 1_200);
242
+ }
243
+ catch {
244
+ // Clipboard denial leaves the action unchanged; the host may surface a
245
+ // product-specific error through its injected writer.
246
+ }
247
+ };
248
+ return (_jsxs("div", { "data-turn-footer": "true", className: "grid h-7 grid-cols-1 grid-rows-1", children: [_jsx("div", { className: `${layer} ${isStreaming ? "opacity-100" : "pointer-events-none opacity-0"}`, "aria-hidden": isStreaming ? undefined : true }), _jsxs("div", { className: `${layer} justify-start gap-1 ${isStreaming ? "pointer-events-none opacity-0" : "opacity-100"}`, "aria-hidden": isStreaming ? true : undefined, children: [endedAt !== undefined && timestampLabel !== null ? (_jsx("time", { "data-turn-timestamp": String(endedAt), className: "mr-1 text-xs leading-5 text-fg-subtle", children: timestampLabel })) : null, answer ? (_jsx("button", { type: "button", "data-turn-copy-action": "true", "aria-label": copied ? labels.answerCopied : labels.copyAnswer, title: copied ? labels.answerCopied : labels.copyAnswer, onClick: () => void copyAnswer(), className: "inline-flex size-7 items-center justify-center rounded-full text-fg-subtle transition-colors hover:bg-bg-surface hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: copied ? (_jsx(CheckIcon, { className: "size-4", "aria-hidden": "true" })) : (_jsx(CopyIcon, { className: "size-4", "aria-hidden": "true" })) })) : null, canFork ? (_jsx("button", { type: "button", "data-turn-fork-action": "true", "aria-label": labels.continueInNewChat, title: labels.continueInNewChat, onClick: onFork, className: "inline-flex size-7 items-center justify-center rounded-full text-fg-subtle transition-colors hover:bg-bg-surface hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(GitForkIcon, { className: "size-4", "aria-hidden": "true" }) })) : null] })] }));
249
+ }
250
+ function defaultTurnTimestamp(timestamp) {
251
+ const date = new Date(timestamp);
252
+ if (Number.isNaN(date.getTime()))
253
+ return null;
254
+ return date.toLocaleTimeString(undefined, {
255
+ hour: "2-digit",
256
+ minute: "2-digit",
257
+ });
258
+ }
259
+ function renderStatus(status, errorMessage, labels) {
260
+ if (status === "error" || status === "errored") {
261
+ return (_jsx("p", { className: "rounded-md bg-danger-subtle px-3 py-2 text-sm text-danger", "data-session-turn-status-message": "error", role: "alert", children: errorMessage ?? labels?.failed ?? "Turn failed." }));
262
+ }
263
+ if (status === "queued") {
264
+ return (_jsx("p", { className: "text-xs italic text-fg-subtle", "data-session-turn-status-message": "queued", children: labels?.queued ?? "queued" }));
265
+ }
266
+ if (status === "cancelled") {
267
+ return (_jsx("p", { className: "text-xs italic text-fg-subtle", "data-session-turn-status-message": "cancelled", children: labels?.cancelled ?? "cancelled" }));
268
+ }
269
+ if (status === "unknown") {
270
+ return (_jsx("p", { className: "text-xs italic text-fg-subtle", "data-session-turn-status-message": "unknown", children: labels?.unknown ?? "terminal status unavailable" }));
271
+ }
272
+ if (status === "terminated") {
273
+ return (_jsx("p", { className: "text-xs italic text-fg-subtle", "data-session-turn-status-message": "terminated", children: labels?.terminated ?? "terminated" }));
274
+ }
275
+ return null;
276
+ }
277
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session-ui/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,224 @@
1
1
  {
2
2
  "name": "@openma/common",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.9.1",
4
+ "description": "Shared OpenMA Agent Contract, runtime adapters, session events, and brand assets.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/openma-ai/openma-common.git"
8
+ },
9
+ "license": "Apache-2.0",
10
+ "publishConfig": {
11
+ "access": "public",
12
+ "provenance": true
13
+ },
14
+ "type": "module",
15
+ "engines": {
16
+ "node": ">=20"
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "README.md"
21
+ ],
22
+ "exports": {
23
+ "./brand": {
24
+ "types": "./dist/brand/index.d.ts",
25
+ "import": "./dist/brand/index.js"
26
+ },
27
+ "./brand/tokens.css": "./dist/brand/tokens.css",
28
+ "./brand/openma-logo-mark.svg": "./dist/brand/openma-logo-mark.svg",
29
+ "./agent-contract": {
30
+ "types": "./dist/agent-contract/index.d.ts",
31
+ "import": "./dist/agent-contract/index.js"
32
+ },
33
+ "./agent-contract/acp": {
34
+ "types": "./dist/agent-contract/acp.d.ts",
35
+ "import": "./dist/agent-contract/acp.js"
36
+ },
37
+ "./agent-contract/managed": {
38
+ "types": "./dist/agent-contract/managed.d.ts",
39
+ "import": "./dist/agent-contract/managed.js"
40
+ },
41
+ "./session-events/managed": {
42
+ "types": "./dist/session-events/managed.d.ts",
43
+ "import": "./dist/session-events/managed.js"
44
+ },
45
+ "./protocol/managed": {
46
+ "types": "./dist/protocol/managed/index.d.ts",
47
+ "import": "./dist/protocol/managed/index.js"
48
+ },
49
+ "./protocol/acp": {
50
+ "types": "./dist/protocol/acp/index.d.ts",
51
+ "import": "./dist/protocol/acp/index.js"
52
+ },
53
+ "./protocol/openai-agents": {
54
+ "types": "./dist/protocol/openai-agents/index.d.ts",
55
+ "import": "./dist/protocol/openai-agents/index.js"
56
+ },
57
+ "./protocol/cursor-cloud": {
58
+ "types": "./dist/protocol/cursor-cloud/index.d.ts",
59
+ "import": "./dist/protocol/cursor-cloud/index.js"
60
+ },
61
+ "./session-events/openma": {
62
+ "types": "./dist/session-events/openma.d.ts",
63
+ "import": "./dist/session-events/openma.js"
64
+ },
65
+ "./session-events/acp": {
66
+ "types": "./dist/session-events/acp.d.ts",
67
+ "import": "./dist/session-events/acp.js"
68
+ },
69
+ "./session-kernel": {
70
+ "types": "./dist/session-kernel/index.d.ts",
71
+ "import": "./dist/session-kernel/index.js"
72
+ },
73
+ "./agent-ui": {
74
+ "types": "./dist/agent-ui/index.d.ts",
75
+ "import": "./dist/agent-ui/index.js"
76
+ },
77
+ "./agent-ui/react": {
78
+ "types": "./dist/agent-ui/react.d.ts",
79
+ "import": "./dist/agent-ui/react.js"
80
+ },
81
+ "./acp-fork": {
82
+ "types": "./dist/acp-fork/index.d.ts",
83
+ "import": "./dist/acp-fork/index.js"
84
+ },
85
+ "./acp-runtime": {
86
+ "types": "./dist/acp-runtime/index.d.ts",
87
+ "import": "./dist/acp-runtime/index.js"
88
+ },
89
+ "./acp-runtime/node-spawner": {
90
+ "types": "./dist/acp-runtime/spawners/node.d.ts",
91
+ "import": "./dist/acp-runtime/spawners/node.js"
92
+ },
93
+ "./acp-runtime/errors": {
94
+ "types": "./dist/acp-runtime/errors.d.ts",
95
+ "import": "./dist/acp-runtime/errors.js"
96
+ },
97
+ "./acp-runtime/probe": {
98
+ "types": "./dist/acp-runtime/probe.d.ts",
99
+ "import": "./dist/acp-runtime/probe.js"
100
+ },
101
+ "./acp-harnesses": {
102
+ "types": "./dist/acp-harnesses/index.d.ts",
103
+ "import": "./dist/acp-harnesses/index.js"
104
+ },
105
+ "./acp-harnesses/registry": {
106
+ "types": "./dist/acp-harnesses/registry.d.ts",
107
+ "import": "./dist/acp-harnesses/registry.js"
108
+ },
109
+ "./acp-harnesses/installer": {
110
+ "types": "./dist/acp-harnesses/installer.d.ts",
111
+ "import": "./dist/acp-harnesses/installer.js"
112
+ },
113
+ "./acp-harnesses/headless-launch": {
114
+ "types": "./dist/acp-harnesses/headless-launch.d.ts",
115
+ "import": "./dist/acp-harnesses/headless-launch.js"
116
+ },
117
+ "./acp-harnesses/agent-setup": {
118
+ "types": "./dist/acp-harnesses/agent-setup.d.ts",
119
+ "import": "./dist/acp-harnesses/agent-setup.js"
120
+ },
121
+ "./acp-harnesses/custom-agents": {
122
+ "types": "./dist/acp-harnesses/custom-agents.d.ts",
123
+ "import": "./dist/acp-harnesses/custom-agents.js"
124
+ },
125
+ "./session-ui": {
126
+ "types": "./dist/session-ui/index.d.ts",
127
+ "import": "./dist/session-ui/index.js"
128
+ },
129
+ "./chat-ui": {
130
+ "types": "./dist/chat-ui/index.d.ts",
131
+ "import": "./dist/chat-ui/index.js"
132
+ },
133
+ "./chat-ui/styles.css": "./dist/chat-ui/styles.css",
134
+ "./chat-ui/presentation": {
135
+ "types": "./dist/chat-ui/presentation.d.ts",
136
+ "import": "./dist/chat-ui/presentation.js"
137
+ },
138
+ "./session-orchestrator": {
139
+ "types": "./dist/session-orchestrator/index.d.ts",
140
+ "import": "./dist/session-orchestrator/index.js"
141
+ },
142
+ "./local-runtime": {
143
+ "types": "./dist/local-runtime/index.d.ts",
144
+ "import": "./dist/local-runtime/index.js"
145
+ },
146
+ "./managed-runtime": {
147
+ "types": "./dist/managed-runtime/index.d.ts",
148
+ "import": "./dist/managed-runtime/index.js"
149
+ },
150
+ "./brand/website.css": "./dist/brand/website.css",
151
+ "./acp-artifacts": {
152
+ "types": "./dist/acp-artifacts/index.d.ts",
153
+ "import": "./dist/acp-artifacts/index.js"
154
+ },
155
+ "./project-ui": {
156
+ "types": "./dist/project-ui/index.d.ts",
157
+ "import": "./dist/project-ui/index.js"
158
+ },
159
+ "./project-ui/styles.css": "./dist/project-ui/styles.css"
160
+ },
161
+ "scripts": {
162
+ "build": "tsc -p tsconfig.build.json && node scripts/copy-static-assets.mjs",
163
+ "dev": "node scripts/dev.mjs",
164
+ "dev:consumers": "node scripts/dev-consumers.mjs",
165
+ "link:consumers": "node scripts/consumers.mjs link",
166
+ "unlink:consumers": "node scripts/consumers.mjs unlink",
167
+ "test": "vitest run",
168
+ "test:coverage": "vitest run --coverage",
169
+ "test:live:cursor-cloud": "vitest run --config vitest.live.config.ts",
170
+ "test:watch": "vitest",
171
+ "typecheck": "tsc --noEmit",
172
+ "verify": "pnpm test && pnpm typecheck && pnpm build",
173
+ "verify:host-parity": "node scripts/verify-host-component-parity.mjs",
174
+ "verify:chat-ui-interactive-surface": "node scripts/verify-chat-ui-interactive-surface.mjs"
175
+ },
176
+ "devDependencies": {
177
+ "@anthropic-ai/sdk": "0.120.0",
178
+ "@types/node": "^25.0.0",
179
+ "@types/react": "^19.2.0",
180
+ "@types/react-dom": "^19.2.0",
181
+ "@vitest/coverage-v8": "^4.1.10",
182
+ "jsdom": "29.1.1",
183
+ "pixelmatch": "^7.2.0",
184
+ "playwright": "1.58.2",
185
+ "pngjs": "^7.0.0",
186
+ "react": "19.2.5",
187
+ "react-dom": "19.2.5",
188
+ "typescript": "^5.8.0",
189
+ "vitest": "^4.1.3"
190
+ },
191
+ "dependencies": {
192
+ "@agentclientprotocol/sdk": "^1.3.0",
193
+ "@radix-ui/react-collapsible": "^1.1.12",
194
+ "@tanstack/react-virtual": "^3.14.11",
195
+ "clsx": "^2.1.1",
196
+ "fflate": "^0.8.3",
197
+ "lucide-react": "^1.17.0",
198
+ "npm": "^11.6.0",
199
+ "smol-toml": "^1.9.0",
200
+ "streamdown": "^2.5.0",
201
+ "streaming-markdown": "^0.2.15",
202
+ "tailwind-merge": "^3.6.0",
203
+ "tar": "^7.5.22",
204
+ "use-stick-to-bottom": "^1.1.4",
205
+ "zod": "^4.4.3"
206
+ },
207
+ "peerDependencies": {
208
+ "@anthropic-ai/sdk": "0.120.x",
209
+ "react": ">=18",
210
+ "react-dom": ">=18"
211
+ },
212
+ "peerDependenciesMeta": {
213
+ "@anthropic-ai/sdk": {
214
+ "optional": true
215
+ },
216
+ "react": {
217
+ "optional": true
218
+ },
219
+ "react-dom": {
220
+ "optional": true
221
+ }
222
+ },
223
+ "packageManager": "pnpm@11.0.8"
224
+ }