@shepai/cli 1.153.0 → 1.154.0-pr479.ab1d6e4

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 (224) hide show
  1. package/apis/json-schema/AgentType.yaml +1 -0
  2. package/dist/packages/core/src/domain/generated/output.d.ts +1 -0
  3. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  4. package/dist/packages/core/src/domain/generated/output.js +1 -0
  5. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  6. package/dist/packages/core/src/infrastructure/di/container.js +4 -0
  7. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
  8. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +22 -0
  9. package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.d.ts.map +1 -1
  10. package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.js +1 -0
  11. package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.d.ts +65 -0
  12. package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.d.ts.map +1 -0
  13. package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.js +655 -0
  14. package/dist/packages/core/src/infrastructure/services/agents/sessions/codex-cli-session.repository.d.ts +62 -0
  15. package/dist/packages/core/src/infrastructure/services/agents/sessions/codex-cli-session.repository.d.ts.map +1 -0
  16. package/dist/packages/core/src/infrastructure/services/agents/sessions/codex-cli-session.repository.js +353 -0
  17. package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.d.ts.map +1 -1
  18. package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.js +6 -5
  19. package/dist/packages/core/src/infrastructure/services/deployment/detect-dev-script.d.ts +2 -0
  20. package/dist/packages/core/src/infrastructure/services/deployment/detect-dev-script.d.ts.map +1 -1
  21. package/dist/packages/core/src/infrastructure/services/deployment/detect-dev-script.js +52 -3
  22. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts +6 -2
  23. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -1
  24. package/dist/src/presentation/tui/prompts/agent-select.prompt.js +7 -2
  25. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -1
  26. package/dist/src/presentation/web/app/actions/get-all-agent-models.js +4 -2
  27. package/dist/src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.d.ts.map +1 -1
  28. package/dist/src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.js +26 -1
  29. package/dist/src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.stories.d.ts +2 -0
  30. package/dist/src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.stories.d.ts.map +1 -1
  31. package/dist/src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.stories.js +21 -0
  32. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts +1 -1
  33. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts.map +1 -1
  34. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.js +2 -0
  35. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.d.ts.map +1 -1
  36. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.js +1 -0
  37. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +1 -0
  38. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -1
  39. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +7 -0
  40. package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts.map +1 -1
  41. package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +1 -0
  42. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts +1 -0
  43. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts.map +1 -1
  44. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.js +8 -0
  45. package/dist/src/presentation/web/lib/parse-log-line.d.ts +1 -1
  46. package/dist/src/presentation/web/lib/parse-log-line.d.ts.map +1 -1
  47. package/dist/src/presentation/web/lib/parse-log-line.js +1 -1
  48. package/dist/tsconfig.build.tsbuildinfo +1 -1
  49. package/package.json +1 -1
  50. package/web/.next/BUILD_ID +1 -1
  51. package/web/.next/build-manifest.json +2 -2
  52. package/web/.next/fallback-build-manifest.json +2 -2
  53. package/web/.next/prerender-manifest.json +3 -3
  54. package/web/.next/required-server-files.js +3 -3
  55. package/web/.next/required-server-files.json +3 -3
  56. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
  57. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  58. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  59. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +26 -26
  60. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  61. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  62. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +29 -29
  63. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  64. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  65. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  66. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  67. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  68. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
  69. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  70. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  71. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  72. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  73. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  75. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  76. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +26 -26
  78. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  79. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  80. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +29 -29
  81. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  82. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  83. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  84. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  85. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
  87. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  88. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
  90. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  91. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  92. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  93. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  94. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  95. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  96. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  97. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/_global-error.html +2 -2
  99. package/web/.next/server/app/_global-error.rsc +1 -1
  100. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  101. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  102. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  103. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  104. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  105. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +5 -5
  106. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  107. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  108. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  109. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  110. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  111. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  112. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  113. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  114. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  115. package/web/.next/server/app/skills/page/server-reference-manifest.json +10 -10
  116. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  117. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  118. package/web/.next/server/app/tools/page/server-reference-manifest.json +10 -10
  119. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  120. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  121. package/web/.next/server/app/version/page/server-reference-manifest.json +5 -5
  122. package/web/.next/server/app/version/page.js.nft.json +1 -1
  123. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  124. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  125. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js +1 -1
  126. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -1
  127. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  128. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  129. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  130. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  131. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +3 -3
  132. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  133. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js +1 -1
  135. package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js +2 -2
  137. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js.map +1 -1
  138. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  139. package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js +1 -1
  140. package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js.map +1 -1
  141. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +1 -1
  142. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js +1 -1
  144. package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
  146. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +1 -1
  148. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.js +1 -1
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js +1 -1
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  154. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  156. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  157. package/web/.next/server/chunks/ssr/_3a0b989f._.js +2 -2
  158. package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  160. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/_5f69c13f._.js +1 -1
  162. package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/_7c5b97c6._.js +1 -1
  164. package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/_82c57f10._.js +1 -1
  166. package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/_9495d50b._.js +1 -1
  168. package/web/.next/server/chunks/ssr/_9495d50b._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +1 -1
  170. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -1
  171. package/web/.next/server/chunks/ssr/_ac4a3873._.js +1 -1
  172. package/web/.next/server/chunks/ssr/{_75a563a9._.js → _c402d513._.js} +2 -2
  173. package/web/.next/server/chunks/ssr/{_75a563a9._.js.map → _c402d513._.js.map} +1 -1
  174. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +1 -1
  175. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -1
  176. package/web/.next/server/chunks/ssr/_cb5a021e._.js +1 -1
  177. package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/{_65e76c9a._.js → _cca387dc._.js} +2 -2
  179. package/web/.next/server/chunks/ssr/{_65e76c9a._.js.map → _cca387dc._.js.map} +1 -1
  180. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/_d86175ae._.js +1 -1
  182. package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -1
  183. package/web/.next/server/chunks/ssr/_d8bedf13._.js +1 -1
  184. package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -1
  185. package/web/.next/server/chunks/ssr/_f9a4fecb._.js +3 -0
  186. package/web/.next/server/chunks/ssr/{_d9337063._.js.map → _f9a4fecb._.js.map} +1 -1
  187. package/web/.next/server/chunks/ssr/_fa7efce3._.js +2 -2
  188. package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -1
  189. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  190. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  191. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js +1 -1
  192. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js.map +1 -1
  193. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js +1 -1
  194. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js.map +1 -1
  195. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  196. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js +1 -1
  197. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js.map +1 -1
  198. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  199. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  200. package/web/.next/server/pages/500.html +2 -2
  201. package/web/.next/server/server-reference-manifest.js +1 -1
  202. package/web/.next/server/server-reference-manifest.json +45 -45
  203. package/web/.next/static/chunks/{ebdef1415f61f021.js → 0c9699ac344d7fdc.js} +1 -1
  204. package/web/.next/static/chunks/{11074feeacea0319.js → 0dc9ccd977e71ca5.js} +1 -1
  205. package/web/.next/static/chunks/{a0101660264c178b.js → 163a9b511f011413.js} +2 -2
  206. package/web/.next/static/chunks/{34417fd25d41b914.js → 295c8bae374d81d1.js} +1 -1
  207. package/web/.next/static/chunks/3435db49fb1d9ca1.js +5 -0
  208. package/web/.next/static/chunks/{2a54cf0384becb8f.js → 474262e5d0623ad7.js} +1 -1
  209. package/web/.next/static/chunks/{9c45b599460d0f60.js → 5137bba42f9f0471.js} +1 -1
  210. package/web/.next/static/chunks/8590bd2e69b24b9e.css +1 -0
  211. package/web/.next/static/chunks/{58adaad3bab50e74.js → 8a0f87eae02050b5.js} +2 -2
  212. package/web/.next/static/chunks/9d64ae99b767b638.js +1 -0
  213. package/web/.next/static/chunks/{634f6f485b81464a.js → bc9f980db72f59b7.js} +1 -1
  214. package/web/.next/static/chunks/df326fea0c719d06.js +1 -0
  215. package/web/.next/static/chunks/{51df7b00bbb7d365.js → f066634ebee801a2.js} +1 -1
  216. package/web/public/icons/agents/openai.svg +3 -0
  217. package/web/.next/server/chunks/ssr/_d9337063._.js +0 -3
  218. package/web/.next/static/chunks/18abd4f8b9c216a3.js +0 -1
  219. package/web/.next/static/chunks/8bbc916241b4c141.js +0 -1
  220. package/web/.next/static/chunks/b70bc188ac05a8be.js +0 -5
  221. package/web/.next/static/chunks/c86594475dcb03d5.css +0 -1
  222. /package/web/.next/static/{zY7W9Btxu_CXSFrwelXeS → jCFPs9oKV5JFhluhP5C1O}/_buildManifest.js +0 -0
  223. /package/web/.next/static/{zY7W9Btxu_CXSFrwelXeS → jCFPs9oKV5JFhluhP5C1O}/_clientMiddlewareManifest.json +0 -0
  224. /package/web/.next/static/{zY7W9Btxu_CXSFrwelXeS → jCFPs9oKV5JFhluhP5C1O}/_ssgManifest.js +0 -0
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useMemo } from 'react';
4
- import { FileText, Terminal, MessageSquare, CheckCircle2, Coins, Server, FileCode, } from 'lucide-react';
4
+ import { FileText, Terminal, MessageSquare, CheckCircle2, Coins, Server, FileCode, Play, ArrowRight, AlertCircle, } from 'lucide-react';
5
5
  import { parseLogContent, parseToolCall, parseResultMessage, parseTokensMessage, } from '../../../lib/parse-log-line.js';
6
6
  export function EventLogViewer({ content }) {
7
7
  const lines = useMemo(() => parseLogContent(content), [content]);
@@ -18,12 +18,25 @@ function LogLineRow({ line }) {
18
18
  switch (line.tag) {
19
19
  case 'tool':
20
20
  return _jsx(ToolCallRow, { line: line });
21
+ case 'tool-result':
22
+ return _jsx(ToolResultRow, { line: line });
21
23
  case 'text':
24
+ case 'delta':
22
25
  return _jsx(TextRow, { line: line });
23
26
  case 'result':
24
27
  return _jsx(ResultRow, { line: line });
25
28
  case 'tokens':
29
+ case 'turn':
26
30
  return _jsx(TokensRow, { line: line });
31
+ case 'cmd':
32
+ return _jsx(CommandRow, { line: line });
33
+ case 'file':
34
+ return _jsx(FileChangeRow, { line: line });
35
+ case 'thread':
36
+ case 'event':
37
+ return _jsx(InfoRow, { line: line });
38
+ case 'error':
39
+ return _jsx(ErrorRow, { line: line });
27
40
  case 'worker':
28
41
  return _jsx(WorkerRow, { line: line });
29
42
  case 'info':
@@ -109,6 +122,18 @@ function TokensRow({ line }) {
109
122
  function WorkerRow({ line }) {
110
123
  return (_jsxs("div", { className: "hover:bg-muted/50 flex items-start gap-2 bg-zinc-50 px-3 py-1.5 transition-colors dark:bg-zinc-900/50", children: [_jsx(Timestamp, { value: line.timestamp }), _jsx(PhaseBadge, { phase: line.phase }), _jsxs("div", { className: "flex min-w-0 flex-1 items-start gap-1.5", children: [_jsx(Server, { className: "mt-0.5 h-3 w-3 shrink-0 text-zinc-500" }), _jsx("span", { className: "text-muted-foreground text-xs font-medium break-all", children: line.message })] })] }));
111
124
  }
125
+ function ToolResultRow({ line }) {
126
+ return (_jsxs("div", { className: "hover:bg-muted/50 flex items-start gap-2 px-3 py-1 transition-colors", children: [_jsx(Timestamp, { value: line.timestamp }), _jsx(PhaseBadge, { phase: line.phase }), _jsxs("div", { className: "flex min-w-0 flex-1 items-start gap-1.5", children: [_jsx(ArrowRight, { className: "mt-0.5 h-3 w-3 shrink-0 text-violet-400" }), _jsx("span", { className: "text-muted-foreground min-w-0 font-mono text-[11px] break-all", children: line.message })] })] }));
127
+ }
128
+ function CommandRow({ line }) {
129
+ return (_jsxs("div", { className: "hover:bg-muted/50 flex items-start gap-2 px-3 py-1.5 transition-colors", children: [_jsx(Timestamp, { value: line.timestamp }), _jsx(PhaseBadge, { phase: line.phase }), _jsxs("div", { className: "flex min-w-0 flex-1 items-start gap-1.5", children: [_jsx(Play, { className: "mt-0.5 h-3 w-3 shrink-0 text-cyan-500" }), _jsx("span", { className: "min-w-0 font-mono text-xs break-all text-cyan-700 dark:text-cyan-400", children: line.message })] })] }));
130
+ }
131
+ function FileChangeRow({ line }) {
132
+ return (_jsxs("div", { className: "hover:bg-muted/50 flex items-start gap-2 px-3 py-1.5 transition-colors", children: [_jsx(Timestamp, { value: line.timestamp }), _jsx(PhaseBadge, { phase: line.phase }), _jsxs("div", { className: "flex min-w-0 flex-1 items-start gap-1.5", children: [_jsx(FileCode, { className: "mt-0.5 h-3 w-3 shrink-0 text-orange-500" }), _jsx("span", { className: "min-w-0 text-xs break-all text-orange-700 dark:text-orange-400", children: line.message })] })] }));
133
+ }
134
+ function ErrorRow({ line }) {
135
+ return (_jsxs("div", { className: "hover:bg-muted/50 flex items-start gap-2 bg-red-50 px-3 py-1.5 transition-colors dark:bg-red-950/30", children: [_jsx(Timestamp, { value: line.timestamp }), _jsx(PhaseBadge, { phase: line.phase }), _jsxs("div", { className: "flex min-w-0 flex-1 items-start gap-1.5", children: [_jsx(AlertCircle, { className: "mt-0.5 h-3 w-3 shrink-0 text-red-500" }), _jsx("span", { className: "min-w-0 text-xs font-medium break-all text-red-700 dark:text-red-400", children: line.message })] })] }));
136
+ }
112
137
  function InfoRow({ line }) {
113
138
  return (_jsxs("div", { className: "hover:bg-muted/50 flex items-start gap-2 px-3 py-1.5 transition-colors", children: [_jsx(Timestamp, { value: line.timestamp }), _jsx(PhaseBadge, { phase: line.phase }), _jsx("span", { className: "text-muted-foreground min-w-0 text-xs break-all", children: line.message })] }));
114
139
  }
@@ -13,6 +13,8 @@ export declare const WorkerLifecycle: Story;
13
13
  export declare const ResultsAndTokens: Story;
14
14
  /** MixedContent — all event types including raw fallback */
15
15
  export declare const MixedContent: Story;
16
+ /** CodexCliSession — Codex CLI agent log with all event types */
17
+ export declare const CodexCliSession: Story;
16
18
  /** EmptyContent — no content */
17
19
  export declare const EmptyContent: Story;
18
20
  //# sourceMappingURL=event-log-viewer.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-log-viewer.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAqBrC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAsD7C,0CAA0C;AAC1C,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,eAAe,EAAE,KAE7B,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,EAAE,KAE9B,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC"}
1
+ {"version":3,"file":"event-log-viewer.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAqBrC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAsD7C,0CAA0C;AAC1C,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,eAAe,EAAE,KAE7B,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,EAAE,KAE9B,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,eAAe,EAAE,KAmB7B,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC"}
@@ -82,6 +82,27 @@ export const ResultsAndTokens = {
82
82
  export const MixedContent = {
83
83
  args: { content: mixedContent },
84
84
  };
85
+ /** CodexCliSession — Codex CLI agent log with all event types */
86
+ export const CodexCliSession = {
87
+ args: {
88
+ content: `[2026-03-26T10:00:01.000Z] [codex-cli|gpt-5.4] [WORKER] Starting worker — full command:
89
+ [2026-03-26T10:00:01.010Z] [codex-cli|gpt-5.4] [WORKER] Initializing container...
90
+ [2026-03-26T10:00:02.000Z] [implement] [codex-cli|gpt-5.4] [thread] started thread_id=019d2aff-a65f-7253
91
+ [2026-03-26T10:00:03.000Z] [implement] [codex-cli|gpt-5.4] [text] I'll investigate the login page authentication bug. Let me check the auth module first.
92
+ [2026-03-26T10:00:04.000Z] [implement] [codex-cli|gpt-5.4] [tool] exec_command {"cmd":"cat src/auth.ts"}
93
+ [2026-03-26T10:00:05.000Z] [implement] [codex-cli|gpt-5.4] [tool-result] export function login(user: string, pass: string) { return validateToken(user, pass); }
94
+ [2026-03-26T10:00:06.000Z] [implement] [codex-cli|gpt-5.4] [cmd] running: cat src/auth.ts
95
+ [2026-03-26T10:00:07.000Z] [implement] [codex-cli|gpt-5.4] [cmd] exit=0 output: export function login...
96
+ [2026-03-26T10:00:08.000Z] [implement] [codex-cli|gpt-5.4] [delta] Found the issue. The token validation
97
+ [2026-03-26T10:00:09.000Z] [implement] [codex-cli|gpt-5.4] [text] Found the issue. The token validation was missing a null check. I've fixed it.
98
+ [2026-03-26T10:00:10.000Z] [implement] [codex-cli|gpt-5.4] [file] modifying: src/auth.ts
99
+ [2026-03-26T10:00:11.000Z] [implement] [codex-cli|gpt-5.4] [file] modified: src/auth.ts
100
+ [2026-03-26T10:00:12.000Z] [implement] [codex-cli|gpt-5.4] [tokens] 2450 in / 4560 out
101
+ [2026-03-26T10:00:13.000Z] [implement] [codex-cli|gpt-5.4] [turn] completed
102
+ [2026-03-26T10:00:14.000Z] [implement] [codex-cli|gpt-5.4] [error] Rate limit exceeded — retrying in 5s
103
+ [2026-03-26T10:00:20.000Z] [implement] [codex-cli|gpt-5.4] [result] 3200 chars, session=019d2aff-a65f-7253`,
104
+ },
105
+ };
85
106
  /** EmptyContent — no content */
86
107
  export const EmptyContent = {
87
108
  args: { content: '' },
@@ -1,6 +1,6 @@
1
1
  import type { ComponentType, SVGProps } from 'react';
2
2
  /** Agent type values mirroring the TypeSpec AgentType enum. */
3
- export type AgentTypeValue = 'claude-code' | 'cursor' | 'gemini-cli' | 'aider' | 'continue' | 'dev';
3
+ export type AgentTypeValue = 'claude-code' | 'codex-cli' | 'cursor' | 'gemini-cli' | 'aider' | 'continue' | 'dev';
4
4
  type IconProps = SVGProps<SVGSVGElement> & {
5
5
  className?: string;
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"agent-type-icons.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/agent-type-icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIrD,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;AAEpG,KAAK,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAmBlE,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,2CAOhD;AA2DD,6CAA6C;AAC7C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAO1D,CAAC;AAEF,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAK7E"}
1
+ {"version":3,"file":"agent-type-icons.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/agent-type-icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIrD,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,WAAW,GACX,QAAQ,GACR,YAAY,GACZ,OAAO,GACP,UAAU,GACV,KAAK,CAAC;AAEV,KAAK,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAmBlE,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,2CAOhD;AA4DD,6CAA6C;AAC7C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQ1D,CAAC;AAEF,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAK7E"}
@@ -20,6 +20,7 @@ function DevAgentIcon({ className, ...props }) {
20
20
  DevAgentIcon.displayName = 'DevAgentIcon';
21
21
  const agentTypeIconMap = {
22
22
  'claude-code': createBrandIcon('/icons/agents/claude-ai-icon.svg', 'Claude Code'),
23
+ 'codex-cli': createBrandIcon('/icons/agents/openai.svg', 'Codex CLI'),
23
24
  cursor: createBrandIcon('/icons/agents/cursor.jpeg', 'Cursor'),
24
25
  'gemini-cli': createBrandIcon('/icons/agents/gemini-cli.jpeg', 'Gemini CLI'),
25
26
  aider: createBrandIcon('/icons/agents/aider.png', 'Aider'),
@@ -29,6 +30,7 @@ const agentTypeIconMap = {
29
30
  /** Human-readable labels for agent types. */
30
31
  export const agentTypeLabels = {
31
32
  'claude-code': 'Claude Code',
33
+ 'codex-cli': 'Codex CLI',
32
34
  cursor: 'Cursor',
33
35
  'gemini-cli': 'Gemini CLI',
34
36
  aider: 'Aider',
@@ -1 +1 @@
1
- {"version":3,"file":"agent-type-icons.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/agent-type-icons.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAyCvD,QAAA,MAAM,IAAI,EAAE,IAIX,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAa1B,CAAC"}
1
+ {"version":3,"file":"agent-type-icons.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/agent-type-icons.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA0CvD,QAAA,MAAM,IAAI,EAAE,IAIX,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAa1B,CAAC"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { getAgentTypeIcon, DefaultAgentIcon } from './agent-type-icons.js';
3
3
  const allAgentTypes = [
4
4
  { type: 'claude-code', label: 'Claude Code' },
5
+ { type: 'codex-cli', label: 'Codex CLI' },
5
6
  { type: 'cursor', label: 'Cursor' },
6
7
  { type: 'gemini-cli', label: 'Gemini CLI' },
7
8
  { type: 'aider', label: 'Aider' },
@@ -6,6 +6,7 @@ type Story = StoryObj<typeof meta>;
6
6
  export declare const ClaudeCodeDefault: Story;
7
7
  export declare const CursorSelected: Story;
8
8
  export declare const GeminiCli: Story;
9
+ export declare const CodexCliSelected: Story;
9
10
  export declare const DemoAgent: Story;
10
11
  export declare const OverrideMode: Story;
11
12
  export declare const Disabled: Story;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentModelPicker.stories.d.ts","sourceRoot":"","sources":["../../../../../../../../src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,gBAAgB,CAevC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,KAM/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAM5B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC"}
1
+ {"version":3,"file":"AgentModelPicker.stories.d.ts","sourceRoot":"","sources":["../../../../../../../../src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,gBAAgB,CAevC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,KAM/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAM5B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAM9B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC"}
@@ -35,6 +35,13 @@ export const GeminiCli = {
35
35
  mode: 'settings',
36
36
  },
37
37
  };
38
+ export const CodexCliSelected = {
39
+ args: {
40
+ initialAgentType: 'codex-cli',
41
+ initialModel: 'gpt-5.4',
42
+ mode: 'settings',
43
+ },
44
+ };
38
45
  export const DemoAgent = {
39
46
  args: {
40
47
  initialAgentType: 'dev',
@@ -1 +1 @@
1
- {"version":3,"file":"agent-settings-section.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/agent-settings-section.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAgBxE,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,yBAAyB,2CA+IxE"}
1
+ {"version":3,"file":"agent-settings-section.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/agent-settings-section.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAiBxE,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,yBAAyB,2CA+IxE"}
@@ -13,6 +13,7 @@ import { AgentType, AgentAuthMethod } from '../../../../../../packages/core/src/
13
13
  import { getAgentTypeIcon } from '../../common/feature-node/agent-type-icons.js';
14
14
  const AGENT_TYPE_OPTIONS = [
15
15
  { value: AgentType.ClaudeCode, label: 'Claude Code' },
16
+ { value: AgentType.CodexCli, label: 'Codex CLI' },
16
17
  { value: AgentType.Cursor, label: 'Cursor' },
17
18
  { value: AgentType.GeminiCli, label: 'Gemini CLI' },
18
19
  { value: AgentType.Aider, label: 'Aider' },
@@ -12,5 +12,6 @@ export default meta;
12
12
  type Story = StoryObj<typeof meta>;
13
13
  export declare const Default: Story;
14
14
  export declare const TokenAuth: Story;
15
+ export declare const CodexCli: Story;
15
16
  export declare const AiderSession: Story;
16
17
  //# sourceMappingURL=agent-settings-section.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-settings-section.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/agent-settings-section.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,QAAA,MAAM,IAAI;;;;;;;CAOmC,CAAC;AAE9C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC"}
1
+ {"version":3,"file":"agent-settings-section.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/agent-settings-section.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,QAAA,MAAM,IAAI;;;;;;;CAOmC,CAAC;AAE9C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC"}
@@ -26,6 +26,14 @@ export const TokenAuth = {
26
26
  },
27
27
  },
28
28
  };
29
+ export const CodexCli = {
30
+ args: {
31
+ agent: {
32
+ type: AgentType.CodexCli,
33
+ authMethod: AgentAuthMethod.Session,
34
+ },
35
+ },
36
+ };
29
37
  export const AiderSession = {
30
38
  args: {
31
39
  agent: {
@@ -5,7 +5,7 @@
5
5
  * Worker format: [timestamp] [agent|model] [WORKER] message
6
6
  * Fallback: raw string lines
7
7
  */
8
- export type LogEventTag = 'tool' | 'text' | 'result' | 'tokens' | 'raw' | 'worker' | 'info';
8
+ export type LogEventTag = 'tool' | 'tool-result' | 'text' | 'delta' | 'result' | 'tokens' | 'cmd' | 'file' | 'turn' | 'thread' | 'error' | 'event' | 'raw' | 'worker' | 'info';
9
9
  export interface ParsedLogLine {
10
10
  /** ISO timestamp */
11
11
  timestamp: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"parse-log-line.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/lib/parse-log-line.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5F,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,oDAAoD;IACpD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,sCAAsC;IACtC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB;IAChB,GAAG,EAAE,WAAW,CAAC;IACjB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAgBD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAwEvD;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAS3D;AAED,mDAAmD;AACnD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,+BAA+B;AAC/B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAO9D;AAED,kDAAkD;AAClD,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,+BAA+B;AAC/B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAO7D;AAED,8CAA8C;AAC9C,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,CAMhE"}
1
+ {"version":3,"file":"parse-log-line.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/lib/parse-log-line.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,aAAa,GACb,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,MAAM,GACN,MAAM,GACN,QAAQ,GACR,OAAO,GACP,OAAO,GACP,KAAK,GACL,QAAQ,GACR,MAAM,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,oDAAoD;IACpD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,sCAAsC;IACtC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB;IAChB,GAAG,EAAE,WAAW,CAAC;IACjB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAiBD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAwEvD;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAS3D;AAED,mDAAmD;AACnD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,+BAA+B;AAC/B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAO9D;AAED,kDAAkD;AAClD,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,+BAA+B;AAC/B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAO7D;AAED,8CAA8C;AAC9C,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,CAMhE"}
@@ -15,7 +15,7 @@
15
15
  * [2026-03-08T10:00:01.123Z] [requirements] [claude-code|claude-haiku-4-5] Starting...
16
16
  */
17
17
  const LOG_LINE_REGEX = /^\[(\d{4}-\d{2}-\d{2}T[\d:.]+Z?)\]\s+(?:\[([^\]]+)\]\s+)?(?:\[([^\]|]+)(?:\|([^\]]+))?\]\s+)?(.*)$/;
18
- const TAG_REGEX = /^\[(tool|text|result|tokens|raw|WORKER)\]\s*(.*)/;
18
+ const TAG_REGEX = /^\[(tool-result|tool|text|delta|result|tokens|cmd|file|turn|thread|error|event|raw|WORKER)\]\s*(.*)/;
19
19
  export function parseLogLine(raw) {
20
20
  const match = raw.match(LOG_LINE_REGEX);
21
21
  if (!match) {