@runeya/runeya 2.0.93 → 2.0.95

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 (267) hide show
  1. package/agent/index.js +213 -161
  2. package/agent/index.js.map +1 -1
  3. package/agent-manager-QQPKKLKY.js +8 -0
  4. package/chat-LPMGV2VS.js +18 -0
  5. package/chat-LPMGV2VS.js.map +1 -0
  6. package/chunk-3MJLS5UY.js +1944 -0
  7. package/chunk-3MJLS5UY.js.map +1 -0
  8. package/chunk-72LQC3YC.js +152 -0
  9. package/chunk-72LQC3YC.js.map +1 -0
  10. package/{chunk-6Y24763Y.js → chunk-HX3ZIWHM.js} +83 -1926
  11. package/chunk-HX3ZIWHM.js.map +1 -0
  12. package/chunk-MD3VW4HQ.js +160 -0
  13. package/chunk-MD3VW4HQ.js.map +1 -0
  14. package/chunk-R23UUB5R.js +7285 -0
  15. package/chunk-R23UUB5R.js.map +1 -0
  16. package/chunk-WAC56HS4.js +1842 -0
  17. package/chunk-WAC56HS4.js.map +1 -0
  18. package/codex-thread-db-LE5FYDDA.js +27 -0
  19. package/codex-thread-db-LE5FYDDA.js.map +1 -0
  20. package/companion-VPYVGTRU.js +42 -0
  21. package/companion-VPYVGTRU.js.map +1 -0
  22. package/index.js +1 -1
  23. package/package.json +1 -1
  24. package/settings-manager-6FKHBLIV.js +8 -0
  25. package/settings-manager-6FKHBLIV.js.map +1 -0
  26. package/src-NEPDGULO.js +10087 -0
  27. package/src-NEPDGULO.js.map +1 -0
  28. package/web/assets/AgentScalarChatInterface.vue-DCnwgzWk.js +13 -0
  29. package/web/assets/AgentTerminalPage-D6iEzvyz.js +1 -0
  30. package/web/assets/AiChatPage-DDr9XEv8.js +1 -0
  31. package/web/assets/AppLayout-B2mreJVA.js +1 -0
  32. package/web/assets/{AppLayout-DiMqQfDk.css → AppLayout-nrP0jOZ1.css} +1 -1
  33. package/web/assets/AuditPage-CSPHdf0m.js +1 -0
  34. package/web/assets/CloudAccountPage-BAkTRH4E.js +1 -0
  35. package/web/assets/CloudAccountPage-C35O8Pcb.js +1 -0
  36. package/web/assets/CloudMessagingPage-5KYELXQI.js +2 -0
  37. package/web/assets/DashboardPage-Dl9Sg1av.js +1 -0
  38. package/web/assets/DirectoryPickerDialog-DLL3-GoW.js +1 -0
  39. package/web/assets/{EditorIcon-Bi1br5gY.js → EditorIcon-CzgSjXLk.js} +2 -2
  40. package/web/assets/EnvironmentForm-DmdDIJHv.js +108 -0
  41. package/web/assets/EnvironmentFormPage-CV7Uq6Ah.js +1 -0
  42. package/web/assets/EnvironmentListPage-Cfo9RA_g.js +1 -0
  43. package/web/assets/KanbanBoardPage-DL1WwMBP.js +4 -0
  44. package/web/assets/KanbanListPage-CSAnUfp3.js +1 -0
  45. package/web/assets/LaunchProjectPage-vNUoulGP.js +1 -0
  46. package/web/assets/LaunchServicesPage-CkWZxZ-v.js +1 -0
  47. package/web/assets/LogViewer-CW-bBjZF.js +3 -0
  48. package/web/assets/OrgKeyPrompt-CHoMbQhn.js +1 -0
  49. package/web/assets/ProcessControls-WS6BjS5H.js +1 -0
  50. package/web/assets/ProcessDetailPage-DEvZSNER.js +1 -0
  51. package/web/assets/{ProcessMetrics-DgnpYxXh.js → ProcessMetrics-DmhwoKrE.js} +2 -2
  52. package/web/assets/ProjectDetailPage-DanRrWb4.js +1 -0
  53. package/web/assets/ProjectListPage--l9HsQ9u.js +1 -0
  54. package/web/assets/RandomJobTestPage-BMatxc2G.js +2 -0
  55. package/web/assets/ScenarioEditorPage-D_rJyudb.js +14 -0
  56. package/web/assets/SendToChatDialog-D-pDvIjD.js +1 -0
  57. package/web/assets/ServiceControlsBar-BSU25sZZ.js +1 -0
  58. package/web/assets/ServiceDetailPage-B1oRlnId.js +2 -0
  59. package/web/assets/ServiceFormPage-D-DmI0fF.js +1 -0
  60. package/web/assets/SettingsPage-Bi72zdhb.js +2063 -0
  61. package/web/assets/{SettingsPage-BKcxRTQg.css → SettingsPage-D6-jpORY.css} +1 -1
  62. package/web/assets/UnlockPage-BtunlGnX.js +1 -0
  63. package/web/assets/VariablesTable-D3HpHlKY.js +1 -0
  64. package/web/assets/VaultMigrationPage-DrrFR1I-.js +1 -0
  65. package/web/assets/VersionBadge-DqcS34oJ.js +1 -0
  66. package/web/assets/WikiPage-BH8A-IB_.js +1 -0
  67. package/web/assets/WikiView-BasNZv2A.js +1 -0
  68. package/web/assets/add-scalar-classes-_PYrgVvq.js +387 -0
  69. package/web/assets/auth-errors-CwswzwYV.js +1 -0
  70. package/web/assets/{autocomplete-CFCpVybl.js → autocomplete-B-t_B26t.js} +3 -3
  71. package/web/assets/{basic-shape-diamond.svg-1nuR3NBd.js → basic-shape-diamond.svg-BFWFQIZl.js} +1 -1
  72. package/web/assets/{basic-shape-hexagon.svg-Be-pZrVb.js → basic-shape-hexagon.svg-CXsvZPky.js} +1 -1
  73. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-9-zHtg8B.js → basic-shape-primary-circle-ellipse-round.svg-BVg6oDS7.js} +1 -1
  74. package/web/assets/{basic-shape-primary-square-rectangle.svg-CRTdnGnv.js → basic-shape-primary-square-rectangle.svg-jiLWQSQV.js} +1 -1
  75. package/web/assets/{basic-shape-shield.svg-D9JPqU4l.js → basic-shape-shield.svg-CEybfnew.js} +1 -1
  76. package/web/assets/{browser-BdPlaU7e.js → browser-BfO6Jws3.js} +1 -1
  77. package/web/assets/{browser-B6dstq4l.js → browser-C7Qh0u0N.js} +1 -1
  78. package/web/assets/card-CWgnvlKH.js +32 -0
  79. package/web/assets/{checkbox-C_jx73WS.js → checkbox-CKzrAJQv.js} +3 -3
  80. package/web/assets/{chip-CQdqiw0W.js → chip-Bu5HllmO.js} +2 -2
  81. package/web/assets/{client-B_gN8XJ7.js → client-CM-a2QU7.js} +2 -2
  82. package/web/assets/cloud-chat.store-Cjbzzy1s.js +1 -0
  83. package/web/assets/cloud-session-Bs6siQ-Y.js +1 -0
  84. package/web/assets/column-pXrOxKc1.js +907 -0
  85. package/web/assets/{computer-device-desktop-monitor.svg-CGh6MdTp.js → computer-device-desktop-monitor.svg-DO-9EDqA.js} +1 -1
  86. package/web/assets/{computer-device-desktop.svg-CSnagCeX.js → computer-device-desktop.svg-U_EIk7jo.js} +1 -1
  87. package/web/assets/{computer-device-laptop.svg-BI_ZVURQ.js → computer-device-laptop.svg-nvbz6sjk.js} +1 -1
  88. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-DM3ubsFX.js → computer-device-mobile-phone-android-samsung-back.svg-Cs34LunN.js} +1 -1
  89. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-CzDW3wBE.js → computer-device-mobile-phone-android-samsung.svg-CDJgG-4L.js} +1 -1
  90. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-B41GuLoA.js → computer-device-mobile-phone-iphone-x-back.svg-Du0pDh9L.js} +1 -1
  91. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-Cd1cIH5V.js → computer-device-mobile-phone-iphone-x.svg-CUgXFf2r.js} +1 -1
  92. package/web/assets/{computer-device-mobile-tablet-touch.svg-rLuvpYQb.js → computer-device-mobile-tablet-touch.svg-CKdx-iUf.js} +1 -1
  93. package/web/assets/{computer-device-mobile-tablet.svg-DjBMAEhJ.js → computer-device-mobile-tablet.svg-BTvPzs5h.js} +1 -1
  94. package/web/assets/{computer-device-network-ethernet-cat6.svg-BeYjyXJh.js → computer-device-network-ethernet-cat6.svg-Cway8Bfw.js} +1 -1
  95. package/web/assets/{computer-device-network-lan-www.svg-DIR2TMun.js → computer-device-network-lan-www.svg-iuTZVSKE.js} +1 -1
  96. package/web/assets/{computer-device-network-wifi-connection.svg-DhI5VT5g.js → computer-device-network-wifi-connection.svg-DEemVGZq.js} +1 -1
  97. package/web/assets/{computer-device-network-wifi-router.svg-BO0V5pTE.js → computer-device-network-wifi-router.svg-BH2ASeRD.js} +1 -1
  98. package/web/assets/{cssMode-CdzA9M1t.js → cssMode-BHBdzmoS.js} +1 -1
  99. package/web/assets/{divider-Cijz8TDb.js → divider-kwmULX2U.js} +2 -2
  100. package/web/assets/{docx-preview-B8bBf__c.js → docx-preview-CxXKUxi7.js} +1 -1
  101. package/web/assets/{ecology-science-erlenmeyer-flask.svg-BuQW5h4a.js → ecology-science-erlenmeyer-flask.svg-9yLzulSu.js} +1 -1
  102. package/web/assets/{fieldset-DnZ-YI4V.js → fieldset-DE0sJS29.js} +2 -2
  103. package/web/assets/{freemarker2-Bp9032QT.js → freemarker2-CpcoAmNk.js} +1 -1
  104. package/web/assets/{handlebars-CdVx92lU.js → handlebars-D6DR-MoZ.js} +1 -1
  105. package/web/assets/{html-CkCZL9gx.js → html-Dx3QwrZR.js} +1 -1
  106. package/web/assets/{htmlMode-CW62-ie1.js → htmlMode-KSJ_gFzK.js} +1 -1
  107. package/web/assets/{image-flash-lightning.svg-DeCuJWFT.js → image-flash-lightning.svg-O9m-H64P.js} +1 -1
  108. package/web/assets/{image-picture-flower.svg-2ZzZbPy5.js → image-picture-flower.svg--rWVVuqu.js} +1 -1
  109. package/web/assets/index-B4UWj2Kz.css +1 -0
  110. package/web/assets/{index-DXGQcaBP.js → index-pLefgbhx.js} +284 -284
  111. package/web/assets/{interface-alert-exclamation-diamond.svg-D9th7CAp.js → interface-alert-exclamation-diamond.svg-CVeV0ecY.js} +1 -1
  112. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-Dq9CWWQ3.js → interface-alert-exclamation-triangle-warning.svg-MIboYRzH.js} +1 -1
  113. package/web/assets/{interface-alert-information-circle.svg-FaG159xA.js → interface-alert-information-circle.svg-BlkHMxfH.js} +1 -1
  114. package/web/assets/{interface-award-crown.svg-B_-NjgUX.js → interface-award-crown.svg-C_Z3sLuP.js} +1 -1
  115. package/web/assets/{interface-bookmark.svg--yRnhMMQ.js → interface-bookmark-tag.svg-ClOZOhfV.js} +1 -1
  116. package/web/assets/{interface-bookmark-tag.svg-CKjw2WEc.js → interface-bookmark.svg-CVpTNe3u.js} +1 -1
  117. package/web/assets/{interface-calendar-date-one.svg-BCrvSyS9.js → interface-calendar-date-one.svg-BvG92AQi.js} +1 -1
  118. package/web/assets/{interface-content-book-open-pages.svg-BGIlAwyt.js → interface-content-book-open-pages.svg-aXXXkj7d.js} +1 -1
  119. package/web/assets/{interface-content-book-page.svg-DeLfK2OR.js → interface-content-book-page.svg-BE0nQJw_.js} +1 -1
  120. package/web/assets/{interface-content-file.svg-DUdYkC8Y.js → interface-content-file.svg-DYonyE7J.js} +1 -1
  121. package/web/assets/{interface-content-folder.svg-Ccx-IYD-.js → interface-content-folder.svg-DKc7vKrm.js} +1 -1
  122. package/web/assets/interface-content-folder.svg-FcNZvOjy.js +1 -0
  123. package/web/assets/{interface-copy-clipboard.svg-DIR-oOPG.js → interface-copy-clipboard.svg-sAixmHqz.js} +1 -1
  124. package/web/assets/{interface-edit-attachment.svg-B9CSuzCn.js → interface-edit-attachment.svg-DsSzCN6U.js} +1 -1
  125. package/web/assets/{interface-edit-binocular.svg-6WTqf985.js → interface-edit-binocular.svg-Bheco9Gv.js} +1 -1
  126. package/web/assets/{interface-edit-magic-wand.svg-BiB-GwoX.js → interface-edit-magic-wand.svg-C73TY2iI.js} +1 -1
  127. package/web/assets/{interface-edit-tool-paint-roller.svg-Dh0uneh4.js → interface-edit-tool-paint-roller.svg-D2OSqY3g.js} +1 -1
  128. package/web/assets/{interface-edit-tool-pencil.svg-C9HQOHce.js → interface-edit-tool-pencil.svg-CdY316cw.js} +1 -1
  129. package/web/assets/{interface-favorite-award.svg-Cj_1Qy9M.js → interface-favorite-award.svg-DfA-EhHI.js} +1 -1
  130. package/web/assets/{interface-favorite-flag.svg-BniwQaep.js → interface-favorite-flag.svg-BnmSaveE.js} +1 -1
  131. package/web/assets/{interface-favorite-heart.svg-CYJO0Ggb.js → interface-favorite-heart.svg-28i7lMzG.js} +1 -1
  132. package/web/assets/{interface-favorite-star.svg-CeFb37gO.js → interface-favorite-star.svg-u8xOEB4S.js} +1 -1
  133. package/web/assets/{interface-favorite-stars-sparkles.svg-CGeIzi4_.js → interface-favorite-stars-sparkles.svg-D5UHf8ar.js} +1 -1
  134. package/web/assets/{interface-hierarchy-flowchart.svg-Bd0q_y82.js → interface-hierarchy-flowchart.svg-BmjWTh4K.js} +1 -1
  135. package/web/assets/{interface-home-house.svg-BqSaaLzz.js → interface-home-house.svg-DJ5Ae65N.js} +1 -1
  136. package/web/assets/{interface-hyperlink.svg-DTtVOw8L.js → interface-hyperlink.svg-HdHKY_g6.js} +1 -1
  137. package/web/assets/{interface-lighting-brightness.svg-CVNVwF9w.js → interface-lighting-brightness.svg-BDELfqMb.js} +1 -1
  138. package/web/assets/{interface-lock-closed.svg-CKiXr8tU.js → interface-lock-closed.svg-BcDwDHkS.js} +1 -1
  139. package/web/assets/{interface-lock-open-unlock.svg-DU7sOeAE.js → interface-lock-open-unlock.svg-DNESCRC1.js} +1 -1
  140. package/web/assets/{interface-login-key.svg-tuWEt_tn.js → interface-login-key.svg-BOEot3yk.js} +1 -1
  141. package/web/assets/{interface-search.svg-CMDkllvr.js → interface-search.svg-CFsy7ant.js} +1 -1
  142. package/web/assets/{interface-setting-cog.svg-BRM5rRrt.js → interface-setting-cog.svg-B7Zk0iyr.js} +1 -1
  143. package/web/assets/{interface-share-megaphone-bullhorn.svg-BgC_SP2r.js → interface-share-megaphone-bullhorn.svg-DvG0IjMM.js} +1 -1
  144. package/web/assets/{interface-share-rocket.svg-C-XkIKh-.js → interface-share-rocket.svg-gvaeTB8G.js} +1 -1
  145. package/web/assets/{interface-share-satellite.svg-BKE0N18S.js → interface-share-satellite.svg-B5pXJ0kU.js} +1 -1
  146. package/web/assets/{interface-share-space-ship.svg-B8QuVt2r.js → interface-share-space-ship.svg-B0k0J-VQ.js} +1 -1
  147. package/web/assets/{interface-share.svg-bp3wJyGc.js → interface-share.svg-ZDsCvjRe.js} +1 -1
  148. package/web/assets/{interface-signal-square.svg-D8XH70Ue.js → interface-signal-square.svg-DBkJ1ire.js} +1 -1
  149. package/web/assets/{interface-time-clock-circle.svg-2DN-SbMe.js → interface-time-clock-circle.svg-BheUirew.js} +1 -1
  150. package/web/assets/{interface-time-hour-glass.svg-l0_r1j5d.js → interface-time-hour-glass.svg-iORrebF8.js} +1 -1
  151. package/web/assets/{interface-users-multiple.svg-RRlj9uIH.js → interface-users-multiple.svg-DMqedSUQ.js} +1 -1
  152. package/web/assets/{interface-weather-moon.svg-BmdUGPZe.js → interface-weather-moon.svg-DyPBHRw4.js} +1 -1
  153. package/web/assets/{javascript-edU55dwl.js → javascript-B1Y6a5s6.js} +1 -1
  154. package/web/assets/{jsonMode-CdE3cdJ3.js → jsonMode-Vj2pUgcF.js} +2 -2
  155. package/web/assets/{liquid-DCimUdoJ.js → liquid-lb0ImGEW.js} +1 -1
  156. package/web/assets/{lspLanguageFeatures-BKbLLFFb.js → lspLanguageFeatures-sh8ggL5N.js} +3 -3
  157. package/web/assets/{mail-chat-bubble-square.svg-VF1duUdO.js → mail-chat-bubble-square.svg-D_Lx6uBc.js} +1 -1
  158. package/web/assets/{mail-send-email-paper-airplane.svg-CdSpwALk.js → mail-send-email-paper-airplane.svg-B6FGKBZu.js} +1 -1
  159. package/web/assets/{mail-send-envelope.svg-DZVjejiO.js → mail-send-envelope.svg-Dtm4h_xw.js} +1 -1
  160. package/web/assets/{mdx-Hv_NSA7I.js → mdx-BbFPcqiD.js} +1 -1
  161. package/web/assets/{minus-CQh_GdvM.js → minus-Bxw18Xk6.js} +2 -2
  162. package/web/assets/modal-D-InjkVP.js +1 -0
  163. package/web/assets/modal-DLY8nKW-.js +5 -0
  164. package/web/assets/{money-cashier-receipt.svg-CWHgfD-x.js → money-cashier-receipt.svg-VpEb8Ewv.js} +1 -1
  165. package/web/assets/{money-currency-dollar-pay.svg-XPcb5aF0.js → money-currency-dollar-pay.svg-vo8FP9z4.js} +1 -1
  166. package/web/assets/{money-graph-arrow-increase.svg-DhPujH9x.js → money-graph-arrow-increase.svg-CNcLQGOf.js} +1 -1
  167. package/web/assets/{money-graph-bar-chart-increase.svg-BPOlqEDC.js → money-graph-bar-chart-increase.svg-BHAccBVA.js} +1 -1
  168. package/web/assets/multiselect-Crs0miOE.js +251 -0
  169. package/web/assets/{nature-ecology-leaf.svg-DZNsVAVa.js → nature-ecology-leaf.svg-0y4pBUlD.js} +1 -1
  170. package/web/assets/{password-DlR3LzLg.js → password-TyT4zuky.js} +4 -4
  171. package/web/assets/{phone-telephone.svg-B7vr6N8Z.js → phone-telephone.svg-BdWhV2vz.js} +1 -1
  172. package/web/assets/{plus-BDDTopKC.js → plus-4Z2iFfO2.js} +6 -6
  173. package/web/assets/process.store-DsGpeQnV.js +1 -0
  174. package/web/assets/{programming-bug.svg-DzlGVlKX.js → programming-bug.svg-DXDJVNeQ.js} +1 -1
  175. package/web/assets/{programming-cloud.svg-QHMLI7Md.js → programming-cloud.svg-qWtq6fXG.js} +1 -1
  176. package/web/assets/{programming-computer-database-server.svg-CjsFgYWn.js → programming-computer-database-server.svg-DnlJHfH5.js} +1 -1
  177. package/web/assets/{programming-computer-database.svg-vah-tira.js → programming-computer-database.svg-Bl73TDXc.js} +1 -1
  178. package/web/assets/{programming-module-four-layout.svg-Cpk_lyys.js → programming-module-four-layout.svg-CGkj0OdH.js} +1 -1
  179. package/web/assets/{programming-module-three.svg-DPfLaBLh.js → programming-module-three.svg-Bsk_vaHc.js} +1 -1
  180. package/web/assets/{programming-module.svg-X3KTc78b.js → programming-module.svg-D0Yng9wS.js} +1 -1
  181. package/web/assets/{programming-script-code.svg-Btq5sYVs.js → programming-script-code.svg-DTHMCNnF.js} +1 -1
  182. package/web/assets/{python-7W62NPSS.js → python-HImlMuYG.js} +1 -1
  183. package/web/assets/{razor-B-cp1S_J.js → razor-CTFKddzv.js} +1 -1
  184. package/web/assets/router-DTzqrUba.js +1 -0
  185. package/web/assets/settings-scope-CdxhnRbI.js +1 -0
  186. package/web/assets/{settings.store-DvVMtpRN.js → settings.store-CZ9jrl3S.js} +1 -1
  187. package/web/assets/{shopping-cart.svg-CrAdOGHj.js → shopping-cart.svg-Cx50mrFm.js} +1 -1
  188. package/web/assets/{shopping-gift-present.svg-D6lzCq46.js → shopping-gift-present.svg-DGOO6qNg.js} +1 -1
  189. package/web/assets/{shopping-shipping-box-parcel-package.svg-CvE0Deq6.js → shopping-shipping-box-parcel-package.svg-C96i4g3q.js} +1 -1
  190. package/web/assets/src-CGoYw9sv.css +1 -0
  191. package/web/assets/src-DRjytMUo.js +1 -0
  192. package/web/assets/{src-KOvSDAsA.js → src-DzMKqnGu.js} +13 -13
  193. package/web/assets/{tabpanel-DnsLaWEk.js → tabpanel-BW8I76pY.js} +3 -3
  194. package/web/assets/{tag-new-circle.svg-K7X6DVeY.js → tag-new-circle.svg-CV5DN0Db.js} +1 -1
  195. package/web/assets/{toggleswitch-BIl5_ynN.js → toggleswitch-D4Evlg2b.js} +2 -2
  196. package/web/assets/{travel-map-earth-globe.svg-CGHyssIY.js → travel-map-earth-globe.svg-CWvuO_Hb.js} +1 -1
  197. package/web/assets/trpc-BbC62Ymt.js +1 -0
  198. package/web/assets/{tsMode-Ch-xMRFe.js → tsMode-BqKPHyIc.js} +6 -6
  199. package/web/assets/{typescript-DaR3W1ZS.js → typescript-Bme6ns4u.js} +1 -1
  200. package/web/assets/useAiChatDrawer-BG8t5Thc.js +1 -0
  201. package/web/assets/{useCloudOrg-CZ_ZOAVy.css → useCloudOrg-CkiFdVCe.css} +1 -1
  202. package/web/assets/useCloudOrg-D2LTbk-G.js +572 -0
  203. package/web/assets/useProjectCatalog-nlAZuu5X.js +1 -0
  204. package/web/assets/{xml-DGHPJrA4.js → xml-zsImRVNc.js} +1 -1
  205. package/web/assets/{yaml-Bt6S3avV.js → yaml-VubzWJpP.js} +1 -1
  206. package/web/index.html +2 -2
  207. package/agent-manager-WEFGEFRT.js +0 -7
  208. package/chunk-6Y24763Y.js.map +0 -1
  209. package/src-QDQ5AT4C.js +0 -18369
  210. package/src-QDQ5AT4C.js.map +0 -1
  211. package/web/assets/AgentScalarChatInterface.vue-BlRhaFfk.js +0 -13
  212. package/web/assets/AgentTerminalPage-Bgz6cN1-.js +0 -1
  213. package/web/assets/AiChatPage-B2ZLntQV.js +0 -1
  214. package/web/assets/AppLayout-CwaLgkBP.js +0 -1
  215. package/web/assets/AuditPage-qw3Fsus7.js +0 -1
  216. package/web/assets/CloudAccountPage-BLOaK1nf.js +0 -1
  217. package/web/assets/CloudAccountPage-DTs4O-ua.js +0 -1
  218. package/web/assets/CloudMessagingPage-Cz1EQr91.js +0 -2
  219. package/web/assets/DashboardPage-B5HHqw9m.js +0 -1
  220. package/web/assets/DirectoryPickerDialog-DjpBVTYW.js +0 -1
  221. package/web/assets/EnvironmentForm-C9NbiSRH.js +0 -108
  222. package/web/assets/EnvironmentFormPage-DWbL-D3Z.js +0 -1
  223. package/web/assets/EnvironmentListPage-rdeHc34g.js +0 -1
  224. package/web/assets/KanbanBoardPage-CbHeyK8M.js +0 -4
  225. package/web/assets/KanbanListPage-xIqiBmTe.js +0 -1
  226. package/web/assets/LaunchProjectPage-D04ok35N.js +0 -1
  227. package/web/assets/LaunchServicesPage-Bkhxe7Ko.js +0 -1
  228. package/web/assets/LogViewer-BHlGDB4l.js +0 -3
  229. package/web/assets/OrgKeyPrompt-CnIY4K5s.js +0 -1
  230. package/web/assets/ProcessControls-BOkCKqGc.js +0 -1
  231. package/web/assets/ProcessDetailPage-BQCvKU0O.js +0 -1
  232. package/web/assets/ProjectDetailPage-Cjf4eBYS.js +0 -1
  233. package/web/assets/ProjectListPage-DQH1VC3U.js +0 -1
  234. package/web/assets/RandomJobTestPage-BMc4Qb-3.js +0 -2
  235. package/web/assets/ScenarioEditorPage-ClH3vxG9.js +0 -14
  236. package/web/assets/SendToChatDialog-5TxDHf96.js +0 -1
  237. package/web/assets/ServiceControlsBar-D0nrwVz7.js +0 -1
  238. package/web/assets/ServiceDetailPage-DLTZ2bjR.js +0 -2
  239. package/web/assets/ServiceFormPage-BoUHidR5.js +0 -1
  240. package/web/assets/SettingsPage-B6jM9W4h.js +0 -2063
  241. package/web/assets/UnlockPage-boIYvNg3.js +0 -1
  242. package/web/assets/VariablesTable-Eyqi7OJN.js +0 -1
  243. package/web/assets/VaultMigrationPage-CqKla89B.js +0 -1
  244. package/web/assets/VersionBadge-CnU3z5Rl.js +0 -1
  245. package/web/assets/WikiPage-Cbdxhr9G.js +0 -1
  246. package/web/assets/WikiView-BeWVPGaR.js +0 -1
  247. package/web/assets/add-scalar-classes-CG8bn7uZ.js +0 -387
  248. package/web/assets/auth-errors-CZibvB1j.js +0 -1
  249. package/web/assets/card-D8XCM024.js +0 -32
  250. package/web/assets/cloud-chat.store-BB8XNnvp.js +0 -1
  251. package/web/assets/cloud-session-f2IzlmYY.js +0 -1
  252. package/web/assets/column-BaNiShA4.js +0 -907
  253. package/web/assets/index-Cz0azMVO.css +0 -1
  254. package/web/assets/interface-content-folder.svg-C0OEvuKX.js +0 -1
  255. package/web/assets/modal-BO4YZ0Od.js +0 -1
  256. package/web/assets/modal-DUYd78Dq.js +0 -5
  257. package/web/assets/multiselect-DJ80nRN0.js +0 -251
  258. package/web/assets/process.store-Dq6j8zkt.js +0 -1
  259. package/web/assets/router-BzVLWWlf.js +0 -1
  260. package/web/assets/settings-scope-B2XSViBz.js +0 -1
  261. package/web/assets/src-DB1mNeZv.js +0 -1
  262. package/web/assets/src-DIxcn8ra.css +0 -1
  263. package/web/assets/trpc-BT4fWDYZ.js +0 -1
  264. package/web/assets/useAiChatDrawer-Bn5BBHr2.js +0 -1
  265. package/web/assets/useCloudOrg-CCXszfIX.js +0 -572
  266. package/web/assets/useProjectCatalog-CHgbaNsn.js +0 -1
  267. /package/{agent-manager-WEFGEFRT.js.map → agent-manager-QQPKKLKY.js.map} +0 -0
@@ -0,0 +1,160 @@
1
+ // ../server/src/services/codex-thread-db.ts
2
+ import { readdirSync } from "fs";
3
+ import { createRequire } from "module";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+ var requireCjs = createRequire(import.meta.url);
7
+ var CODEX_HOME = join(homedir(), ".codex");
8
+ function newestThreadDbName(files) {
9
+ const numbered = files.map((f) => ({ f, n: Number(/^thread_history_(\d+)\.sqlite$/.exec(f)?.[1]) })).filter((x) => Number.isFinite(x.n));
10
+ if (numbered.length === 0) return null;
11
+ return numbered.sort((a, b) => b.n - a.n)[0].f;
12
+ }
13
+ function findThreadDb() {
14
+ try {
15
+ const name = newestThreadDbName(readdirSync(CODEX_HOME));
16
+ return name ? join(CODEX_HOME, name) : null;
17
+ } catch {
18
+ return null;
19
+ }
20
+ }
21
+ function textOfItem(itemJson) {
22
+ try {
23
+ const item = JSON.parse(itemJson);
24
+ if (typeof item.text === "string") return item.text;
25
+ const c = item.content;
26
+ if (typeof c === "string") return c;
27
+ if (!Array.isArray(c)) return "";
28
+ return c.map((b) => b && typeof b === "object" && typeof b.text === "string" ? b.text : "").filter(Boolean).join("\n");
29
+ } catch {
30
+ return "";
31
+ }
32
+ }
33
+ var ROLE_OF_ITEM = {
34
+ userMessage: "user",
35
+ agentMessage: "assistant"
36
+ };
37
+ function messageOfRow(row) {
38
+ const role = ROLE_OF_ITEM[row.item_type];
39
+ if (!role) return null;
40
+ const content = textOfItem(row.item_json).trim();
41
+ return content ? { role, content } : null;
42
+ }
43
+ function commandPartOfRow(row) {
44
+ if (row.item_type !== "commandExecution") return null;
45
+ try {
46
+ const item = JSON.parse(row.item_json);
47
+ if (!item.command) return null;
48
+ return {
49
+ type: "tool",
50
+ id: item.id ?? item.command,
51
+ name: "commande",
52
+ input: { command: item.command },
53
+ // Tant qu'elle n'est pas terminée, c'est précisément ce qu'on veut voir :
54
+ // le compagnon est en train de la lancer.
55
+ pending: item.status !== "completed" && item.status !== "failed",
56
+ isError: item.status === "failed"
57
+ };
58
+ } catch {
59
+ return null;
60
+ }
61
+ }
62
+ function open() {
63
+ const path = findThreadDb();
64
+ if (!path) return null;
65
+ try {
66
+ const { DatabaseSync } = requireCjs("node:sqlite");
67
+ const db = new DatabaseSync(path, { readOnly: true });
68
+ return {
69
+ all: (sql, ...p) => db.prepare(sql).all(...p),
70
+ close: () => db.close()
71
+ };
72
+ } catch {
73
+ return null;
74
+ }
75
+ }
76
+ function query(sql, params) {
77
+ const db = open();
78
+ if (!db) return [];
79
+ try {
80
+ return db.all(sql, ...params);
81
+ } catch {
82
+ return [];
83
+ } finally {
84
+ try {
85
+ db.close();
86
+ } catch {
87
+ }
88
+ }
89
+ }
90
+ function threadDbReadable() {
91
+ const db = open();
92
+ if (!db) return false;
93
+ try {
94
+ db.close();
95
+ } catch {
96
+ }
97
+ return true;
98
+ }
99
+ function threadExists(threadId) {
100
+ return query(
101
+ "SELECT COUNT(*) AS n FROM thread_turns WHERE thread_id = ?",
102
+ [threadId]
103
+ )[0]?.n ? true : false;
104
+ }
105
+ function threadMessages(threadId) {
106
+ const rows = query(
107
+ "SELECT item_type, item_json FROM thread_items WHERE thread_id = ? ORDER BY rollout_ordinal ASC",
108
+ [threadId]
109
+ );
110
+ return assembleMessages(rows);
111
+ }
112
+ function assembleMessages(rows) {
113
+ const out = [];
114
+ let pending = [];
115
+ for (const row of rows) {
116
+ const cmd = commandPartOfRow(row);
117
+ if (cmd) {
118
+ pending.push(cmd);
119
+ continue;
120
+ }
121
+ const msg = messageOfRow(row);
122
+ if (!msg) continue;
123
+ if (msg.role === "assistant" && pending.length > 0) {
124
+ msg.parts = pending;
125
+ pending = [];
126
+ }
127
+ out.push(msg);
128
+ }
129
+ if (pending.length > 0) out.push({ role: "assistant", content: "", parts: pending });
130
+ return out;
131
+ }
132
+ function lastTurn(threadId) {
133
+ const rows = query(
134
+ "SELECT thread_id, turn_id, status, started_at, completed_at FROM thread_turns WHERE thread_id = ? ORDER BY started_at DESC LIMIT 1",
135
+ [threadId]
136
+ );
137
+ const r = rows[0];
138
+ return r ? { threadId: r.thread_id, turnId: r.turn_id, status: r.status, startedAt: r.started_at, completedAt: r.completed_at } : null;
139
+ }
140
+ function threadsStartedAfter(sinceEpochSeconds) {
141
+ return query(
142
+ "SELECT thread_id, MIN(started_at) AS first_at FROM thread_turns GROUP BY thread_id HAVING first_at >= ? ORDER BY first_at ASC",
143
+ [sinceEpochSeconds]
144
+ ).map((r) => r.thread_id);
145
+ }
146
+
147
+ export {
148
+ newestThreadDbName,
149
+ findThreadDb,
150
+ textOfItem,
151
+ messageOfRow,
152
+ commandPartOfRow,
153
+ threadDbReadable,
154
+ threadExists,
155
+ threadMessages,
156
+ assembleMessages,
157
+ lastTurn,
158
+ threadsStartedAfter
159
+ };
160
+ //# sourceMappingURL=chunk-MD3VW4HQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../server/src/services/codex-thread-db.ts"],"sourcesContent":["/**\n * La base de fils de Codex, en lecture seule.\n *\n * Codex a migré ses conversations des rollouts JSONL vers SQLite — ses propres\n * tables `rollout_migration_state` en témoignent. `~/.codex/sessions/` n'est\n * plus alimenté, et toute lecture qui s'y fie ne verra jamais rien.\n *\n * On lit donc `~/.codex/thread_history_<n>.sqlite`, dont le schéma se prête\n * mieux à notre besoin que les rollouts :\n *\n * - `thread_turns` porte `status` et `completed_at` : la fin d'un tour est\n * déclarée, il n'y a rien à deviner ;\n * - `thread_items` porte le fil, un item par message avec son `item_type`.\n *\n * Deux précautions, parce qu'on lit l'intérieur d'un outil tiers :\n *\n * - `node:sqlite` (intégré à Node) plutôt qu'une dépendance native : celles-ci\n * se construisent à l'installation, ce que la CLI publiée ne peut pas faire.\n * - Tout échec est silencieux et rend « rien ». Un schéma qui change à nouveau\n * doit priver le compagnon de Codex, jamais casser le serveur.\n */\nimport { readdirSync } from 'node:fs';\nimport { createRequire } from 'node:module';\nimport { homedir } from 'node:os';\nimport { join } from 'node:path';\n\n/**\n * `require` n'existe pas dans un module ESM, et ce paquet en est un.\n *\n * Il faut donc le fabriquer. Un `require` nu aurait levé une ReferenceError,\n * avalée par le `try` ci-dessous : Codex n'aurait jamais marché, sans un mot.\n */\nconst requireCjs = createRequire(import.meta.url);\n\nexport interface CodexMessage {\n role: 'user' | 'assistant';\n content: string;\n /** Ce que l'agent a fait pendant ce tour — commandes lancées, et leur sort. */\n parts?: { type: 'tool'; id: string; name: string; input: Record<string, unknown>; result?: string; isError?: boolean; pending: boolean }[];\n}\n\nexport interface CodexTurn {\n threadId: string;\n turnId: string;\n status: string;\n startedAt: number;\n completedAt: number | null;\n}\n\nconst CODEX_HOME = join(homedir(), '.codex');\n\n/**\n * La base de fils la plus récente.\n *\n * Le nom porte un numéro de version de schéma (`thread_history_1`), que Codex\n * incrémentera : viser un nom figé nous ferait lire une base périmée le jour où\n * il migre à nouveau.\n */\nexport function newestThreadDbName(files: string[]): string | null {\n const numbered = files\n .map(f => ({ f, n: Number(/^thread_history_(\\d+)\\.sqlite$/.exec(f)?.[1]) }))\n .filter(x => Number.isFinite(x.n));\n if (numbered.length === 0) return null;\n // Par NUMÉRO, pas par nom : trié alphabétiquement, `thread_history_2` passe\n // après `thread_history_10`, et on lirait la base la plus ancienne.\n return numbered.sort((a, b) => b.n - a.n)[0]!.f;\n}\n\nexport function findThreadDb(): string | null {\n try {\n const name = newestThreadDbName(readdirSync(CODEX_HOME));\n return name ? join(CODEX_HOME, name) : null;\n } catch {\n return null;\n }\n}\n\n/** Le texte d'un item Codex, quel que soit l'emballage de son contenu. */\nexport function textOfItem(itemJson: string): string {\n try {\n const item = JSON.parse(itemJson) as { content?: unknown; text?: unknown };\n if (typeof item.text === 'string') return item.text;\n const c = item.content;\n if (typeof c === 'string') return c;\n if (!Array.isArray(c)) return '';\n return c\n .map(b => (b && typeof b === 'object' && typeof (b as { text?: unknown }).text === 'string'\n ? (b as { text: string }).text : ''))\n .filter(Boolean)\n .join('\\n');\n } catch {\n return '';\n }\n}\n\n/** Les types d'items qui sont des tours de parole — le reste est de l'outillage. */\nconst ROLE_OF_ITEM: Record<string, 'user' | 'assistant'> = {\n userMessage: 'user',\n agentMessage: 'assistant',\n};\n\nexport function messageOfRow(row: { item_type: string; item_json: string }): CodexMessage | null {\n const role = ROLE_OF_ITEM[row.item_type];\n if (!role) return null;\n const content = textOfItem(row.item_json).trim();\n return content ? { role, content } : null;\n}\n\n/**\n * Une commande exécutée, sous la forme d'une « part » d'outil.\n *\n * Sans elle, un tour Codex se résume à son texte final : on ne voit pas ce que\n * l'agent a fait, seulement ce qu'il en dit. C'est ce qui rendait l'activité du\n * compagnon invisible pendant qu'il travaillait.\n */\nexport function commandPartOfRow(row: { item_type: string; item_json: string }):\nNonNullable<CodexMessage['parts']>[number] | null {\n if (row.item_type !== 'commandExecution') return null;\n try {\n const item = JSON.parse(row.item_json) as { id?: string; command?: string; status?: string };\n if (!item.command) return null;\n return {\n type: 'tool',\n id: item.id ?? item.command,\n name: 'commande',\n input: { command: item.command },\n // Tant qu'elle n'est pas terminée, c'est précisément ce qu'on veut voir :\n // le compagnon est en train de la lancer.\n pending: item.status !== 'completed' && item.status !== 'failed',\n isError: item.status === 'failed',\n };\n } catch {\n return null;\n }\n}\n\n/** Ouvre la base en lecture seule, ou rend `null` si elle est illisible. */\nfunction open(): { all: (sql: string, ...p: unknown[]) => unknown[]; close: () => void } | null {\n const path = findThreadDb();\n if (!path) return null;\n try {\n // Import synchrone tardif : `node:sqlite` est expérimental, et le charger\n // au démarrage imposerait son avertissement à tout le monde, y compris à\n // qui n'utilise jamais Codex.\n const { DatabaseSync } = requireCjs('node:sqlite') as typeof import('node:sqlite');\n const db = new DatabaseSync(path, { readOnly: true });\n return {\n all: (sql, ...p) => db.prepare(sql).all(...p as never[]) as unknown[],\n close: () => db.close(),\n };\n } catch {\n return null;\n }\n}\n\nfunction query<T>(sql: string, params: unknown[]): T[] {\n const db = open();\n if (!db) return [];\n try {\n return db.all(sql, ...params) as T[];\n } catch {\n return [];\n } finally {\n try { db.close(); } catch { /* déjà fermée */ }\n }\n}\n\n/**\n * La base est-elle réellement lisible ?\n *\n * Distingue « Codex absent » de « on n'arrive pas à l'ouvrir ». Sans ça, une\n * panne d'ouverture est indiscernable d'une base vide, et se confond avec le\n * fonctionnement normal.\n */\nexport function threadDbReadable(): boolean {\n const db = open();\n if (!db) return false;\n try { db.close(); } catch { /* déjà fermée */ }\n return true;\n}\n\n/**\n * Ce fil existe-t-il dans la base ?\n *\n * Remplace la présence d'un rollout sur disque : Codex n'écrit plus dans\n * `~/.codex/sessions/`, si bien qu'une reprise décidée sur ce critère repartait\n * toujours de zéro — sans erreur, donc sans qu'on le voie.\n */\nexport function threadExists(threadId: string): boolean {\n return query<{ n: number }>(\n 'SELECT COUNT(*) AS n FROM thread_turns WHERE thread_id = ?',\n [threadId],\n )[0]?.n ? true : false;\n}\n\n/** Le fil d'un thread, dans l'ordre. */\nexport function threadMessages(threadId: string): CodexMessage[] {\n const rows = query<{ item_type: string; item_json: string }>(\n 'SELECT item_type, item_json FROM thread_items WHERE thread_id = ? ORDER BY rollout_ordinal ASC',\n [threadId],\n );\n return assembleMessages(rows);\n}\n\n/**\n * Le fil, avec les commandes rattachées au tour où elles ont été lancées.\n *\n * Codex range les items à plat : une commande précède le message d'agent qui la\n * commente. On accumule donc les commandes et on les accroche au prochain\n * message d'agent — et, s'il n'en vient pas (le tour est encore en cours), à un\n * message vide : c'est justement ce qu'on veut montrer en direct.\n */\nexport function assembleMessages(rows: { item_type: string; item_json: string }[]): CodexMessage[] {\n const out: CodexMessage[] = [];\n let pending: NonNullable<CodexMessage['parts']> = [];\n\n for (const row of rows) {\n const cmd = commandPartOfRow(row);\n if (cmd) { pending.push(cmd); continue; }\n\n const msg = messageOfRow(row);\n if (!msg) continue;\n if (msg.role === 'assistant' && pending.length > 0) {\n msg.parts = pending;\n pending = [];\n }\n out.push(msg);\n }\n\n if (pending.length > 0) out.push({ role: 'assistant', content: '', parts: pending });\n return out;\n}\n\n/** Le dernier tour d'un thread, achevé ou non. */\nexport function lastTurn(threadId: string): CodexTurn | null {\n const rows = query<{ thread_id: string; turn_id: string; status: string; started_at: number; completed_at: number | null }>(\n 'SELECT thread_id, turn_id, status, started_at, completed_at FROM thread_turns WHERE thread_id = ? ORDER BY started_at DESC LIMIT 1',\n [threadId],\n );\n const r = rows[0];\n return r ? { threadId: r.thread_id, turnId: r.turn_id, status: r.status, startedAt: r.started_at, completedAt: r.completed_at } : null;\n}\n\n/**\n * Les fils dont le premier tour a démarré après `sinceEpochSeconds`.\n *\n * Sert à rattacher un terminal à son fil : Codex ne dit pas quel fil il vient\n * d'ouvrir, mais un fil né juste après notre spawn est le nôtre.\n */\nexport function threadsStartedAfter(sinceEpochSeconds: number): string[] {\n return query<{ thread_id: string }>(\n 'SELECT thread_id, MIN(started_at) AS first_at FROM thread_turns GROUP BY thread_id HAVING first_at >= ? ORDER BY first_at ASC',\n [sinceEpochSeconds],\n ).map(r => r.thread_id);\n}\n"],"mappings":"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","names":[]}