@wular/coder 0.4.8 → 0.4.10

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 (592) hide show
  1. package/dist/actions-C3Mgpl9J.js +2 -0
  2. package/dist/adapter-BeezVK-B.js +1 -0
  3. package/dist/{adapter-YCvP9H2n.js → adapter-ChaISKgI.js} +42 -42
  4. package/dist/{adapter-B2RXnvqt.js → adapter-MD6ahqPR.js} +6 -6
  5. package/dist/{add-DcR15CL7.js → add-B26QSwPY.js} +2 -2
  6. package/dist/add-BbXuvqj1.js +1 -0
  7. package/dist/add-Bk8drM-8.js +1 -0
  8. package/dist/add-CD_L-WW8.js +2 -0
  9. package/dist/agent-B8ItyuHN.js +8 -0
  10. package/dist/{agent-B2Ikhp7u.js → agent-DHpMqHVi.js} +1 -1
  11. package/dist/alias-CScCzXhS.js +2 -0
  12. package/dist/{app-snjvOKJA.js → app-wHQJHu6N.js} +1 -1
  13. package/dist/approvals-BIGQBbCM.js +2 -0
  14. package/dist/{approve-DAuvq9Eq.js → approve-BnZ3v-3c.js} +1 -1
  15. package/dist/approve-DFSy7Z72.js +2 -0
  16. package/dist/apps-6BgpUsFh.js +372 -0
  17. package/dist/archive-CU0nhUeJ.js +4 -0
  18. package/dist/{archive-BhfGdyuC.js → archive-CY2lvp_c.js} +2 -2
  19. package/dist/args-BekfmD9t.js +1 -0
  20. package/dist/ask-CLDgHB_Y.js +4 -0
  21. package/dist/auth-C3KrIUf1.js +1 -0
  22. package/dist/auth-CGeSfgNb.js +1 -0
  23. package/dist/builtin/coder/agent.json +5 -9
  24. package/dist/chat-AbW-LOHo.js +13 -0
  25. package/dist/chat-bridge-WK-pKNfw.js +2 -0
  26. package/dist/chat-bwKd3y6V.js +1 -0
  27. package/dist/cli-Fp28pM4Y.js +9 -0
  28. package/dist/cli.js +1 -1
  29. package/dist/client-DzwzCsue.js +22 -0
  30. package/dist/config-DoVedq6T.js +3 -0
  31. package/dist/{connection-CQPndo-u.js → connection-5V8doFL7.js} +1 -1
  32. package/dist/connection-Cb0TK201.js +1 -0
  33. package/dist/conversation-DT-35cEt.js +1 -0
  34. package/dist/create-CrjRdQip.js +1 -0
  35. package/dist/credentials-DoL9w8D1.js +1 -0
  36. package/dist/dash/standalone/server/build-index.json +1 -1
  37. package/dist/dash/standalone/server/manifest.json +1731 -1566
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.8e150ef2bc6a5f4e.js → index.843431e3538fd9a4.js} +7 -11
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{defaults.e6ce0944639198a2.js → defaults.1b615366c56838a1.js} +27 -1
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/event-prompt.87f064ca0141e796.js +30 -0
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.871cbff2605b5cfd.js → log-view.60308a11f7001eb7.js} +10 -0
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.4f942c7f68b2e273.js → load.7ae462ef36271be8.js} +15 -2
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{types.9f59e6c761d6aac4.js → types.79f9092cdb5a00d1.js} +4 -0
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/{page.a4ec4bce860e3e71.js → page.806027fde54ab723.js} +5 -5
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.4c818ef18a084013.js → page.bd04d2d3eba00676.js} +2 -2
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.f8373428f20c270b.js → loading.e348ec45e9ed951b.js} +2 -2
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.b0946ff7951ecc11.js → notify.857748e260c691e3.js} +1 -1
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.55eef4b0e71415d9.js → page.25153459858542f9.js} +13 -14
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/sign-out.ff98573f362d76f3.js +20 -0
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/agent-menu.2ed0e66d131fc148.js +13 -0
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.3a3c550ff68aeb11.js → agents-grid.8efd14bc39281da9.js} +22 -13
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{connect-apps.7a4cfa5c917e5db9.js → connect-apps.d1e67db29b12dc0a.js} +9 -8
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.fd26a5414b0a06db.js → loading.fac1132ad9c4248e.js} +5 -5
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.b2bed855b68a77b2.js → page.0f7d5e3e42462870.js} +15 -20
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.95b8bf3c438955c2.js → layout.05210ffa6038791f.js} +35 -37
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{loading.39c596735b108f80.js → loading.388aeaf0c2edf8f8.js} +1 -1
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.1401a08ea4e27c01.js → page.19fe116c0f802cb1.js} +87 -36
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{loading.2d6e75e5923f73f2.js → loading.4da9e2ba3fea937f.js} +2 -2
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.848ccc3a609385a9.js → page.f87fd8eb66f73af0.js} +50 -48
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.4b14873a20ebd56c.js → platform-actions.b6c3d3184e167d0b.js} +103 -93
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.dd8f3cbc00876ebd.js → agent-settings-form.28220621573033d7.js} +54 -82
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.80f597fd04fc4a97.js → loading.ad1a4c9b000d269a.js} +1 -1
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.35d01036ce840ff9.js → page.2f7467868f599ebc.js} +15 -21
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.ff54c7100f781fbc.js → loading.ec94096015346f2c.js} +2 -2
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.e5a405c518c1d8e6.js → page.a92a36a8ce21088c.js} +1 -1
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{loading.55aa8df7712e6820.js → loading.8f998a9c511e1fb3.js} +3 -3
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.67c3489c62b661da.js → page.8935a5fe5c08bcf1.js} +7 -7
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.0c20e2100b321316.js → versions-list.5b97ab6d40e2e639.js} +6 -6
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/loading.bedcc1aba372fbce.js +23 -0
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.7132b3ef68d33cc4.js → page.14760e9eedd6ff8e.js} +13 -24
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.19e913c8cb22db21.js → agent-pills.f987c12bcbc5c850.js} +18 -13
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.ec6d07ccd1f9796e.js → agent-toggle.a6ee8bd882178e29.js} +14 -7
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.9de48723967d8546.js → hero.8be1dd4ea3ed6e17.js} +7 -7
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{instructions.6558ffd02a59ad53.js → instructions.85b1cd986a9edbb5.js} +1 -1
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.258f6c2c5f1b1b17.js → connect-repositories.59d89152fe845af2.js} +1 -1
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.9e1a0945f6880076.js → editor.77f68d431408745b.js} +56 -99
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.e54af9841da11373.js → import-picker.a7b01817a821819a.js} +33 -39
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/loading.ee001af7a96e3972.js +28 -0
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.6c8e9ef5d72b7ef1.js → page.c4570fd80bdda68c.js} +11 -19
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.c67ccee8b4770821.js → layout.19006c2d7dc8d114.js} +54 -84
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{operator-apps.3365f9248dfe735d.js → operator-apps.d350a52d27f69fa6.js} +20 -23
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.c60ebc5afe4dcdae.js → page.4a652f5080c2b863.js} +9 -10
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.c720853404d94114.js → page.d39f7a1719f50c6d.js} +2 -2
  84. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.544315916300ed07.js → connections-list.ff7e1dadcd4df17f.js} +77 -78
  85. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/credentials-list.87a1f8ab71eb4bed.js +486 -0
  86. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.c1a312e6ec58db83.js → credentials.a535c9c6dd8b4cdf.js} +10 -11
  87. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{engines-list.75dc69caed34ff8f.js → engines-list.29fffd07c1c3b771.js} +11 -11
  88. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.6d6180438e2bd0c8.js → list.0c87d55cf4ef382c.js} +46 -34
  89. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{loading.9d7c30db2ecccda3.js → loading.7ca95dcb4fb3362b.js} +1 -1
  90. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.04eb5a47bca3bd09.js → models-list.6fea9faddb8300bb.js} +156 -147
  91. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.dd00f57d398be882.js → page.295245052b93af90.js} +23 -23
  92. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.e644287ae91ea8c3.js → runners-list.a4a38e54d834a1ec.js} +37 -45
  93. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.35fa72bf3f00d1af.js → secrets-list.50f487766f87383c.js} +30 -21
  94. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.3a17085fb262e4ab.js → layout.c42e0ab39cb2c0e0.js} +9 -9
  95. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{model-options.2eacf7f8ac0032df.js → model-options.a96c11d11674f598.js} +13 -0
  96. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.bac05d6e87953d0e.js → page.6997506eaa1a4824.js} +1 -1
  97. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.a14b9796a8af62dc.js → settings-head.bbc7ced8dd5491eb.js} +1 -1
  98. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{tunnel-guide.1fd664df1fd0e3c1.js → tunnel-guide.29eee1a0b1852168.js} +1 -1
  99. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.3acdd50e1cc0c729.js → create-link.9458b49dc99bbaaa.js} +6 -7
  100. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-dialog.d730e0bfbe0cf2f8.js → outcome-dialog.894c73f9abee3ce1.js} +8 -7
  101. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.079600422889e725.js → page.77e402bb6e8e7f7e.js} +10 -9
  102. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.ed49ee2686d1ee41.js → activity.fcda6f18c8207c99.js} +23 -28
  103. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.0d973b51fee68801.js → loading.56520888d5270b88.js} +6 -9
  104. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.05dd344bada1d4d8.js → page.d0f039221a27b8ef.js} +7 -7
  105. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-actions.ece7ec732352ce70.js → task-actions.f5f2016d2dc7f422.js} +29 -27
  106. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.8a5908c42647923f.js → task-view.a292baa2410cdf64.js} +147 -90
  107. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer-data.ff108c0ef82a4d7b.js → composer-data.309a194fc7fa34be.js} +3 -3
  108. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.c7ec618e215d63ce.js → composer.2d4122eb33addbdd.js} +90 -140
  109. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.af5001e51d2f612b.js → task.a0c68180db5fb4c1.js} +26 -2
  110. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.0976f1812d6d15f5.js → tasks-list.021bdc2f3d90af2d.js} +44 -41
  111. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.fd72404364042b87.js → tasks-section.13f64b0836ae406b.js} +10 -10
  112. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.293492d13a9dca2e.js → page.b78f0df100410db0.js} +5 -5
  113. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{custom-range.471edcb853889c2e.js → custom-range.2e21c7f891966c15.js} +25 -26
  114. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{day-chart.d40438efa74b0596.js → day-chart.261b6651df2d3966.js} +2 -2
  115. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{loading.5b28c7d8f3a473a3.js → loading.97d277dbab9c15cf.js} +4 -5
  116. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{metric.ada350d2b7449b39.js → metric.5ff3636065481c44.js} +1 -1
  117. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.69adbf6cde427292.js → page.93c2306069c03c68.js} +11 -18
  118. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/range-bar.2197d8f43216d104.js +57 -0
  119. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{top-agents.b00f571862b5b608.js → top-agents.18fc469e781e2305.js} +6 -10
  120. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.ab6f86cc5b8b2dab.js → layout.185dbc99875e208a.js} +11 -3
  121. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.088b41424cd6cf3c.js → page.a82be2fd23e9ac67.js} +6 -9
  122. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/zone.0515a688ee5ff6ca.js +17 -0
  123. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.0e2e3636f33049f5.js → drawer.d3e61538dbc8ec39.js} +8 -9
  124. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{foreign-link.fe46528a6a66c0f4.js → foreign-link.1f4217895ff1e835.js} +4 -4
  125. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/heads.37e35439c02fc636.js +16 -0
  126. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/loading-card.cc76fc9708142525.js +40 -0
  127. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.e5d2185c1cdac740.js → page-head.85f15db7b648d48c.js} +10 -2
  128. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.2fea238dc4f4f9a4.js → stream.95a2468086aceb84.js} +3 -3
  129. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.4282affa47415a36.js → task-toasts.e1a484113e1df660.js} +12 -8
  130. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.ef190ef1cd197199.js → theme-choices.85100ed66d6f9200.js} +8 -17
  131. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.af528135d7e33d6d.js → back.180765bdadf6d602.js} +6 -6
  132. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.813dc34bd23a336f.js → org.572ad93c7707ab27.js} +1 -1
  133. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{side-toggle.bafcb4b273b1c4d0.js → side-toggle.489faf1a259479f7.js} +9 -9
  134. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/badge.c0bc352791a95fd6.js +83 -0
  135. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/button.ce9e6cdb08ca86db.js +91 -0
  136. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.6227f43fc0ae4bd1.js → card.9f0d45b73bc78b4f.js} +21 -12
  137. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.dab7f208cbbe6a33.js → collapse.93e4d1b20c2873ed.js} +17 -5
  138. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.0572dd5730c94112.js → combo.54270c0251466fda.js} +14 -40
  139. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/confirm.c1281f9b12854210.js +27 -0
  140. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{copy.9be99c94423eb1ca.js → copy.bd6fc1577a393965.js} +8 -10
  141. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.4f703a4ce7d2a519.js → filter.3a452a262f040973.js} +34 -53
  142. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.868385119bf2de28.js → icons.e36c72f54750663a.js} +1 -1
  143. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu-items.1d082ac4dae8f3d4.js +145 -0
  144. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.0f064f75822888be.js → menu.ee45bace979944b6.js} +16 -45
  145. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.92432959e3a3e2c0.js → modal.25d53e5b41b9c4e5.js} +10 -11
  146. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{segmented.5ac52bb38fb64ae5.js → segmented.a08dc08338d080e9.js} +13 -2
  147. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.7f481669998074f8.js → select.2eb33e5bea28d804.js} +62 -61
  148. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.30913c92f5ca6102.js → tail.04132db0c5033d4f.js} +7 -5
  149. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.801bbd3163d3fbb0.js → toolbar.24036899654de6df.js} +10 -5
  150. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.568346602027ac74.js → action.968bcab0f5e3665d.js} +2 -2
  151. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.d25e6dcc6704eb60.js → client.189224c16057d7a1.js} +1 -1
  152. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/follow.bfb9bcff3c1366d7.js +32 -0
  153. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{format.6a7d1beaf4d09d9c.js → format.ceeaafa10a0563f3.js} +1 -0
  154. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{paged.18f5872fc5aebe96.js → paged.0e54c3044f8ca567.js} +1 -7
  155. package/dist/dash/standalone/static/assets/chunks/action-410bdc82c416bc01.js +1 -0
  156. package/dist/dash/standalone/static/assets/chunks/agent-pills-0c0b8d40b9bfc78f.js +2 -0
  157. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-5a2601316e2ab283.js +1 -0
  158. package/dist/dash/standalone/static/assets/chunks/agent-toggle-5ede0c449e88cb9d.js +1 -0
  159. package/dist/dash/standalone/static/assets/chunks/agents-grid-ffb18df48e951ecb.js +1 -0
  160. package/dist/dash/standalone/static/assets/chunks/back-602db2cfdccf2e7f.js +1 -0
  161. package/dist/dash/standalone/static/assets/chunks/combo-df2685e277db02c0.js +1 -0
  162. package/dist/dash/standalone/static/assets/chunks/composer-08e49d49c0c3ee94.js +1 -0
  163. package/dist/dash/standalone/static/assets/chunks/composer-data-5fed6c271a4791ca.js +1 -0
  164. package/dist/dash/standalone/static/assets/chunks/composer-e1cefed81ea89b7e.js +1 -0
  165. package/dist/dash/standalone/static/assets/chunks/confirm-d163e6865d66dfab.js +1 -0
  166. package/dist/dash/standalone/static/assets/chunks/connect-apps-ce3c9d049ebad459.js +1 -0
  167. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-569c181ff81509f4.js → connect-repositories-0aa9abc77b9c3d48.js} +1 -1
  168. package/dist/dash/standalone/static/assets/chunks/connections-list-6eddeb8583ded10f.js +1 -0
  169. package/dist/dash/standalone/static/assets/chunks/copy-0cc00656953531be.js +1 -0
  170. package/dist/dash/standalone/static/assets/chunks/create-link-bc365f8dfe88e6b3.js +1 -0
  171. package/dist/dash/standalone/static/assets/chunks/credentials-list-1b6a81e9b4934dc8.js +1 -0
  172. package/dist/dash/standalone/static/assets/chunks/custom-range-cae5567874db83ca.js +1 -0
  173. package/dist/dash/standalone/static/assets/chunks/defaults-52f30e83d7666f7a.js +1 -0
  174. package/dist/dash/standalone/static/assets/chunks/editor-d55d247a1d7de5f0.js +6 -0
  175. package/dist/dash/standalone/static/assets/chunks/engines-list-288559344de4d4b9.js +1 -0
  176. package/dist/dash/standalone/static/assets/chunks/{field-f40df6a5289dfe05.js → field-693bb870ad0bdee8.js} +1 -1
  177. package/dist/dash/standalone/static/assets/chunks/format-a27067f0186e78ac.js +1 -0
  178. package/dist/dash/standalone/static/assets/chunks/instructions-3f18e035338b0d0b.js +1 -0
  179. package/dist/dash/standalone/static/assets/chunks/instructions-a3d7688e421f2a08.js +2 -0
  180. package/dist/dash/standalone/static/assets/chunks/list-2a59237cb7cb0a7c.js +1 -0
  181. package/dist/dash/standalone/static/assets/chunks/model-options-8d2170eebe0d061d.js +1 -0
  182. package/dist/dash/standalone/static/assets/chunks/models-list-5ed9ee02f9b66d98.js +1 -0
  183. package/dist/dash/standalone/static/assets/chunks/{notice-84358e912a9f01cc.js → notice-7d84ffab32ff24ca.js} +1 -1
  184. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-3cffe3507ea92af2.js +1 -0
  185. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-f6fb8c69efa66508.js +1 -0
  186. package/dist/dash/standalone/static/assets/chunks/platform-actions-4dc31567d00c4cb2.js +1 -0
  187. package/dist/dash/standalone/static/assets/chunks/platform-actions-ecd7200f7749c258.js +1 -0
  188. package/dist/dash/standalone/static/assets/chunks/runners-list-984246a8f9450da1.js +1 -0
  189. package/dist/dash/standalone/static/assets/chunks/{runtime-37175329f2865f15-1.js → runtime-6e12333f12903a62-1.js} +1 -1
  190. package/dist/dash/standalone/static/assets/chunks/secrets-list-88f8b30abbab52f0.js +1 -0
  191. package/dist/dash/standalone/static/assets/chunks/segmented-79c9c69b702e0b90.js +1 -0
  192. package/dist/dash/standalone/static/assets/chunks/shared-init-6e12333f12903a62-2.js +1 -0
  193. package/dist/dash/standalone/static/assets/chunks/shared-init-962398d15ee67c92.js +5 -0
  194. package/dist/dash/standalone/static/assets/chunks/shared-init-ae95a674d381c095.js +2 -0
  195. package/dist/dash/standalone/static/assets/chunks/side-toggle-7ada95cc7601eb49.js +1 -0
  196. package/dist/dash/standalone/static/assets/chunks/tail-99e29a541a072002.js +1 -0
  197. package/dist/dash/standalone/static/assets/chunks/task-95daa40d39de664f.js +1 -0
  198. package/dist/dash/standalone/static/assets/chunks/task-actions-1cdca1e8d3eee490.js +1 -0
  199. package/dist/dash/standalone/static/assets/chunks/task-view-fdcde0e31f63b737.js +5 -0
  200. package/dist/dash/standalone/static/assets/chunks/tasks-list-3ad1c93deff4fb2e.js +1 -0
  201. package/dist/dash/standalone/static/assets/chunks/types-3eca2c7f47c46054.js +1 -0
  202. package/dist/dash/standalone/static/assets/chunks/versions-list-60ac4d8f715bf5f7.js +1 -0
  203. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-37175329f2865f15-0.js → wular-pnext-6e12333f12903a62-0.js} +1 -1
  204. package/dist/dash/standalone/static/assets/connect-a550b6f3a8c00186.css +1 -0
  205. package/dist/dash/standalone/static/assets/create-param-id-da3f7e20689fe51a.css +1 -0
  206. package/dist/dash/standalone/static/assets/dash-param-org-account-9471bec93c444232.css +1 -0
  207. package/dist/dash/standalone/static/assets/dash-param-org-agents-64500e78caae32df.css +1 -0
  208. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-c067c22928a2d7cc.css +1 -0
  209. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-9dec87710e04f949.css +1 -0
  210. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-779c474301e04440.css +1 -0
  211. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-c7d594b5232630c2.css +1 -0
  212. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-a80e62570716fdb9.css +1 -0
  213. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-ce278252012297b9.css +1 -0
  214. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-d3b6d701eb8e1403.css +1 -0
  215. package/dist/dash/standalone/static/assets/dash-param-org-bcfa3de29341d5ba.css +1 -0
  216. package/dist/dash/standalone/static/assets/dash-param-org-operator-b7bc6447cc27c9ce.css +1 -0
  217. package/dist/dash/standalone/static/assets/dash-param-org-settings-6d6902345d88a687.css +1 -0
  218. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-85c7af9a89eef06e.css +1 -0
  219. package/dist/dash/standalone/static/assets/dash-param-org-setup-173efecd7b990c2e.css +1 -0
  220. package/dist/dash/standalone/static/assets/dash-param-org-tasks-ae0bc03f468e63cc.css +1 -0
  221. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-7325d8cff5be3592.css +1 -0
  222. package/dist/dash/standalone/static/assets/dash-param-org-usage-517b2a7ae462ac57.css +1 -0
  223. package/dist/dash/standalone/static/assets/global-87e1762113874559.css +1 -0
  224. package/dist/dash/standalone/static/assets/login-9760b85feae40270.css +1 -0
  225. package/dist/dash/standalone/static/assets/pnext-client-0b3b70f1aefb9947.js +1 -0
  226. package/dist/dash/standalone/static/assets/pnext-client-0d90849808b6eb05.js +1 -0
  227. package/dist/dash/standalone/static/assets/pnext-client-12faa1754e3ef3be.js +1 -0
  228. package/dist/dash/standalone/static/assets/pnext-client-23384b239b81a761.js +1 -0
  229. package/dist/dash/standalone/static/assets/pnext-client-23e200dd9b7a79c0.js +1 -0
  230. package/dist/dash/standalone/static/assets/pnext-client-2562299eef46e62c.js +1 -0
  231. package/dist/dash/standalone/static/assets/pnext-client-3a4ada64991e6a40.js +1 -0
  232. package/dist/dash/standalone/static/assets/pnext-client-71e7ecdfcf86be84.js +1 -0
  233. package/dist/dash/standalone/static/assets/pnext-client-726c29bbb81054c0.js +1 -0
  234. package/dist/dash/standalone/static/assets/pnext-client-825e9f5b63950ef4.js +1 -0
  235. package/dist/dash/standalone/static/assets/pnext-client-894cff70289fb7a3.js +1 -0
  236. package/dist/dash/standalone/static/assets/pnext-client-8f96a4b8a00ff460.js +1 -0
  237. package/dist/dash/standalone/static/assets/pnext-client-9bc9b14c08020649.js +1 -0
  238. package/dist/dash/standalone/static/assets/pnext-client-ab36b406301fd2a4.js +1 -0
  239. package/dist/dash/standalone/static/assets/pnext-client-b8c585cae8da7778.js +1 -0
  240. package/dist/dash/standalone/static/assets/pnext-client-bab4305b41abb15a.js +1 -0
  241. package/dist/dash/standalone/static/assets/pnext-client-bd80926822b3993d.js +1 -0
  242. package/dist/dash/standalone/static/assets/pnext-client-cd4c7b4318fa1846.js +1 -0
  243. package/dist/dash/standalone/static/assets/pnext-client-db55344d00b7888f.js +1 -0
  244. package/dist/dash/standalone/static/assets/pnext-client-eddcd5df2b28120f.js +1 -0
  245. package/dist/default-tTTSBdXq.js +1 -0
  246. package/dist/delete-DM2sA12f.js +2 -0
  247. package/dist/{delete-Dbo9goyQ.js → delete-DR37NTr1.js} +2 -2
  248. package/dist/disable-Dz_zLPX5.js +1 -0
  249. package/dist/{discover-hpHsnxqU.js → discover-CqabH4Fx.js} +2 -2
  250. package/dist/dispatch-BJZqI7sj.js +8 -0
  251. package/dist/{dist-C3wD7GfG.js → dist-B2jiMMxZ.js} +2 -2
  252. package/dist/{dist-DkATuPBB.js → dist-ClCNj65n.js} +2 -2
  253. package/dist/{dist-BTornX7Y.js → dist-DAnSqY1s.js} +2 -2
  254. package/dist/docs-BV9SC67g.js +2 -0
  255. package/dist/{docs-CYMICGEv.js → docs-b2mAKC8Z.js} +1 -1
  256. package/dist/drive-CU2HOCfR.js +1 -0
  257. package/dist/{enable-BmvNVDHO.js → enable-Cfeki-ne.js} +1 -1
  258. package/dist/env-DSddo-fz.js +1 -0
  259. package/dist/exec-DcWxZar6.js +3 -0
  260. package/dist/executor-LkokKTTd.js +11 -0
  261. package/dist/flow/builtin/review.d.ts +2 -2
  262. package/dist/flow/builtin/review.js +7 -14
  263. package/dist/flow/index.d.ts +1 -1
  264. package/dist/flow/index.js +1 -1
  265. package/dist/flow-BQcdyrVK.js +1 -0
  266. package/dist/history-D_A5odLI.js +8 -0
  267. package/dist/http-CXaW1e7x.js +1 -0
  268. package/dist/init-DU_S43NG.js +1 -0
  269. package/dist/integrations-DPxWtNnS.js +2 -0
  270. package/dist/integrations-Dwvxl7i2.js +1 -0
  271. package/dist/lib/broker.js +2 -2
  272. package/dist/{list-uS9iEE0F.js → list-7yd9K7d8.js} +1 -1
  273. package/dist/list-BJ0j5eP9.js +4 -0
  274. package/dist/list-Boaz5b5n.js +2 -0
  275. package/dist/{list-D2eSpGoo.js → list-CIS-GYO1.js} +1 -1
  276. package/dist/list-CR0_Emod2.js +4 -0
  277. package/dist/list-CnHZriYt.js +3 -0
  278. package/dist/list-_EH6c041.js +1 -0
  279. package/dist/list-i2r3Nlyz.js +1 -0
  280. package/dist/load-C-GZnuok.js +2 -0
  281. package/dist/local-Fs-dx_dP.js +5 -0
  282. package/dist/log-view-CL3_S0IQ.js +3 -0
  283. package/dist/{login-CCA0uLsW.js → login-CzD2EMD_.js} +1 -1
  284. package/dist/login-DISw6--d.js +1 -0
  285. package/dist/{logout-Cv0cm9F8.js → logout-DMnc5yri.js} +1 -1
  286. package/dist/{maintenance-B_79IJ_E.js → maintenance-BVDuG9Hg.js} +1 -1
  287. package/dist/match-BfjPZ7gJ.js +1 -0
  288. package/dist/mcp-B-hy3eM-.js +11 -0
  289. package/dist/mcp-CbN-QcpF.js +1 -0
  290. package/dist/mcp-server-DQqSgD3P.js +1 -0
  291. package/dist/model-Ckyoyji3.js +1 -0
  292. package/dist/models-VaiIYlOW.js +1 -0
  293. package/dist/prompt-DQyPCLUo.js +8 -0
  294. package/dist/prompts-CEf7z4i_.js +77 -0
  295. package/dist/push-BNomfHJ3.js +1 -0
  296. package/dist/reconnect-Bd_jna1M.js +1 -0
  297. package/dist/refresh-D-broYEx.js +1 -0
  298. package/dist/remote-f-uny3XZ.js +3 -0
  299. package/dist/remove-CCYHc1FN.js +1 -0
  300. package/dist/remove-DMTz_c25.js +1 -0
  301. package/dist/remove-DdcQ-6by.js +1 -0
  302. package/dist/remove-VtavIuGm.js +1 -0
  303. package/dist/rename-CKMyelWN.js +1 -0
  304. package/dist/{result-70jciKDJ.js → result-CH3_tVXO.js} +2 -2
  305. package/dist/result-DvOqIwhh.js +18 -0
  306. package/dist/{resume-xqhwHn3l.js → resume-6j3RUpqa.js} +2 -2
  307. package/dist/{review-vlPAshsb.js → review-B4ETH5ki.js} +2 -2
  308. package/dist/{index-CVjkwYeS.d.ts → review-DDYD3Yvq.d.ts} +173 -74
  309. package/dist/{rotate-key-CfeZ6Rg7.js → rotate-key-Byk_wI73.js} +1 -1
  310. package/dist/run-DKJW7qwy.js +2 -0
  311. package/dist/run-DkYzyUnp.js +5 -0
  312. package/dist/run-LCE1XiyU.js +2 -0
  313. package/dist/runner-CxtzTgVq.js +1 -0
  314. package/dist/runner-Dnu1Vx_i.js +1 -0
  315. package/dist/runner.json +1 -0
  316. package/dist/runner.tgz +0 -0
  317. package/dist/runners-vsoGeyuc.js +36 -0
  318. package/dist/schema-Brm7WIKd.js +8 -0
  319. package/dist/schema.d.ts +2 -2
  320. package/dist/schema.js +1 -1
  321. package/dist/{sdk-4Vjo5Q6R.d.ts → sdk-CKTCrtGe.d.ts} +649 -365
  322. package/dist/sdk.d.ts +4 -5
  323. package/dist/sdk.js +1 -1
  324. package/dist/serve-C1zag2nr.js +1 -0
  325. package/dist/{serve-BoTW4P2G.js → serve-C6tsUF0D.js} +2 -2
  326. package/dist/serve-CCxSxXgv.js +1 -0
  327. package/dist/serve-D8J-sEqm.js +12 -0
  328. package/dist/{server-B1x8gx33.js → server-B4SRYM2L.js} +1 -1
  329. package/dist/setup-host-EaP4GPKB.js +6 -0
  330. package/dist/show-CjUG_aIp.js +1 -0
  331. package/dist/show-xdsqD6de.js +1 -0
  332. package/dist/slack-Kpj-G9FE.js +5 -0
  333. package/dist/{status-ZN0HYtLa.js → status-BxV_ITeF.js} +1 -1
  334. package/dist/steer-DZ3nkHfC.js +4 -0
  335. package/dist/{stop-DTzpTbg1.js → stop-DGTUYxd6.js} +2 -2
  336. package/dist/stop-qDw_DjOB.js +1 -0
  337. package/dist/task-C506SkPR.js +1 -0
  338. package/dist/task-CQmx_2SI.js +7 -0
  339. package/dist/task-Ls_-kcSx.js +1 -0
  340. package/dist/test-DF_qVK6S.js +1 -0
  341. package/dist/tools-S3eRQOVm.js +1 -0
  342. package/dist/{types-BktBEKW5.d.ts → types-8zO5Tc9c.d.ts} +86 -21
  343. package/dist/{types-B42Oh0zF.js → types-D_xnfP7m.js} +1 -1
  344. package/dist/unalias-CklkAN1B.js +1 -0
  345. package/dist/update-CZaFjwOJ.js +2 -0
  346. package/dist/upgrade-CUhFmPhl.js +2 -0
  347. package/dist/usage-DTAlb2rC.js +1 -0
  348. package/dist/views-LmbLfqpu.js +5 -0
  349. package/dist/watch-CJruitc6.js +5 -0
  350. package/dist/watch-p0j69fVA.js +9 -0
  351. package/dist/wire-DshFMRsS.js +1 -0
  352. package/dist/worker-BHXjDzRp.js +1 -0
  353. package/dist/worker-nyRZuq4g.js +2 -0
  354. package/dist/{workflow-CcC-xbfp.js → workflow-CJJUiSfv.js} +1 -1
  355. package/docs/agents/coder.md +7 -7
  356. package/docs/agents/index.md +17 -19
  357. package/docs/agents/prompt.md +220 -0
  358. package/docs/cli.md +2 -2
  359. package/docs/config.md +5 -3
  360. package/docs/mcp.md +1 -1
  361. package/docs/review.md +1 -1
  362. package/docs/sdk.md +1 -1
  363. package/docs/self-host.md +7 -9
  364. package/package.json +2 -1
  365. package/dist/actions-5TDwmn_z.js +0 -20
  366. package/dist/adapter-sKt1J1Cm.js +0 -1
  367. package/dist/add-BDBCRqKN.js +0 -1
  368. package/dist/add-Df1Ezy3y.js +0 -2
  369. package/dist/add-yIlNqPSu.js +0 -1
  370. package/dist/agent-C1HI4JlI.js +0 -3
  371. package/dist/alias-DghaKDbh.js +0 -2
  372. package/dist/approvals-BziBKWgU.js +0 -2
  373. package/dist/approve-DKrTnZfk.js +0 -2
  374. package/dist/apps-aj_JtpAm.js +0 -242
  375. package/dist/archive-DxWYJ7Zi.js +0 -4
  376. package/dist/archive-sweep-CqTQUafj.js +0 -1
  377. package/dist/args-CxsMr9Un.js +0 -1
  378. package/dist/ask-B_si1yM4.js +0 -4
  379. package/dist/auth-B3RiDPMI.js +0 -1
  380. package/dist/auth-Cx4ePjWG.js +0 -1
  381. package/dist/chat-Bbzlea60.js +0 -1
  382. package/dist/chat-DLolwsuq.js +0 -13
  383. package/dist/chat-bridge-CvspGKBc.js +0 -2
  384. package/dist/cli-D5hyqGq0.js +0 -9
  385. package/dist/config-BdeKsCPh.js +0 -3
  386. package/dist/config-D2FxHWwi.js +0 -14
  387. package/dist/connection-wq0CJZKh.js +0 -1
  388. package/dist/create-8_XbAnHs.js +0 -1
  389. package/dist/credentials-BOAy2_-6.js +0 -1
  390. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/sign-out.1ee9b7f1343376e9.js +0 -13
  391. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/agent-menu.79e38c6e4139b9de.js +0 -12
  392. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/loading.2fa9e225a5c42496.js +0 -29
  393. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/loading.38715a27e2d25ebd.js +0 -30
  394. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/credentials-list.41ce6eb622300bb3.js +0 -540
  395. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/range-bar.884e58b044238e98.js +0 -60
  396. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/zone.dbc84f981415d8f7.js +0 -10
  397. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/heads.20414ddcb2d08bcd.js +0 -51
  398. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/loading-card.df3717186948c93f.js +0 -64
  399. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/badge.3d9163a51e6f6d6e.js +0 -43
  400. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/confirm.fe133a074c2743af.js +0 -26
  401. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/select.32a95ad31c0436ad.css.pnext-asset.js +0 -0
  402. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/toolbar.40284b41c03c5dcb.css.pnext-asset.js +0 -0
  403. package/dist/dash/standalone/static/assets/chunks/action-df9907c7a10bf826.js +0 -1
  404. package/dist/dash/standalone/static/assets/chunks/agent-pills-106a518bef96408e.js +0 -1
  405. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-d1aa82950d30d829.js +0 -1
  406. package/dist/dash/standalone/static/assets/chunks/agent-toggle-44667051d8be2040.js +0 -1
  407. package/dist/dash/standalone/static/assets/chunks/agents-grid-69fabb48962a282a.js +0 -1
  408. package/dist/dash/standalone/static/assets/chunks/back-e02e04679467c05b.js +0 -1
  409. package/dist/dash/standalone/static/assets/chunks/badge-b302b4d707908367.js +0 -1
  410. package/dist/dash/standalone/static/assets/chunks/card-31a2cdcfeda5254f.js +0 -1
  411. package/dist/dash/standalone/static/assets/chunks/combo-fd495e7fa91b69ed.js +0 -1
  412. package/dist/dash/standalone/static/assets/chunks/composer-10f0a825a16e1fc7.js +0 -1
  413. package/dist/dash/standalone/static/assets/chunks/composer-8c1198d45f700738.js +0 -1
  414. package/dist/dash/standalone/static/assets/chunks/confirm-7b6112578a1c4877.js +0 -1
  415. package/dist/dash/standalone/static/assets/chunks/connect-apps-bd95a6cbdc89a438.js +0 -1
  416. package/dist/dash/standalone/static/assets/chunks/connections-list-5bbf7321d9bfd08f.js +0 -1
  417. package/dist/dash/standalone/static/assets/chunks/copy-f057128db8aefd1b.js +0 -1
  418. package/dist/dash/standalone/static/assets/chunks/create-link-6f6e6b87e46f67c8.js +0 -1
  419. package/dist/dash/standalone/static/assets/chunks/credentials-list-8fc72c0331289ac6.js +0 -2
  420. package/dist/dash/standalone/static/assets/chunks/custom-range-d06cd17fcc05183d.js +0 -1
  421. package/dist/dash/standalone/static/assets/chunks/defaults-dcc0eccad4e8585b.js +0 -1
  422. package/dist/dash/standalone/static/assets/chunks/editor-b5a9659f85edea17.js +0 -7
  423. package/dist/dash/standalone/static/assets/chunks/engines-list-c10ca5e7410b790f.js +0 -1
  424. package/dist/dash/standalone/static/assets/chunks/filter-966a9aae3b0b6d77.js +0 -1
  425. package/dist/dash/standalone/static/assets/chunks/format-b19b8eec331414f4.js +0 -1
  426. package/dist/dash/standalone/static/assets/chunks/instructions-c9e1097c4e1b352a.js +0 -2
  427. package/dist/dash/standalone/static/assets/chunks/instructions-e969d4439f6676c9.js +0 -1
  428. package/dist/dash/standalone/static/assets/chunks/list-5db1dd782965a5fc.js +0 -1
  429. package/dist/dash/standalone/static/assets/chunks/model-options-3a57918eaa4a2a82.js +0 -1
  430. package/dist/dash/standalone/static/assets/chunks/models-list-b6237067c9a39f97.js +0 -1
  431. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-c4f75d37645035b8.js +0 -1
  432. package/dist/dash/standalone/static/assets/chunks/paged-c44eccacea100110.js +0 -1
  433. package/dist/dash/standalone/static/assets/chunks/platform-actions-6004e96f54953935.js +0 -1
  434. package/dist/dash/standalone/static/assets/chunks/platform-actions-d8dd016336a3d768.js +0 -1
  435. package/dist/dash/standalone/static/assets/chunks/runners-list-0b288b2b79de8968.js +0 -1
  436. package/dist/dash/standalone/static/assets/chunks/secrets-list-64650cb827e93322.js +0 -1
  437. package/dist/dash/standalone/static/assets/chunks/segmented-5423dcc766dc7abc.js +0 -1
  438. package/dist/dash/standalone/static/assets/chunks/select-53722330d2e3f1c6.js +0 -1
  439. package/dist/dash/standalone/static/assets/chunks/shared-init-35a0e9007eeca198.js +0 -2
  440. package/dist/dash/standalone/static/assets/chunks/shared-init-37175329f2865f15-2.js +0 -1
  441. package/dist/dash/standalone/static/assets/chunks/shared-init-a7f2e71a718bc285.js +0 -5
  442. package/dist/dash/standalone/static/assets/chunks/shared-init-b8184e0e554d5aa4.js +0 -1
  443. package/dist/dash/standalone/static/assets/chunks/shared-init-e0aa7cbf9ac680b5.js +0 -1
  444. package/dist/dash/standalone/static/assets/chunks/side-toggle-34ee3bbe5ac64a60.js +0 -1
  445. package/dist/dash/standalone/static/assets/chunks/tail-7dece33a58f72850.js +0 -1
  446. package/dist/dash/standalone/static/assets/chunks/task-6ae2bb4f1b384140.js +0 -1
  447. package/dist/dash/standalone/static/assets/chunks/task-actions-b36dc5fcd9b2b2c5.js +0 -1
  448. package/dist/dash/standalone/static/assets/chunks/task-view-1696d47594c6dbfa.js +0 -5
  449. package/dist/dash/standalone/static/assets/chunks/tasks-list-7c70210e7121b95a.js +0 -1
  450. package/dist/dash/standalone/static/assets/chunks/versions-list-26475f0d05e2d434.js +0 -1
  451. package/dist/dash/standalone/static/assets/connect-b73a327c12fa5c63.css +0 -1
  452. package/dist/dash/standalone/static/assets/create-param-id-d679f8832eafd7e8.css +0 -1
  453. package/dist/dash/standalone/static/assets/dash-param-org-14abc8f62d04dc4c.css +0 -1
  454. package/dist/dash/standalone/static/assets/dash-param-org-account-aba6d7e7f99c97cb.css +0 -1
  455. package/dist/dash/standalone/static/assets/dash-param-org-agents-570ddee6de22492e.css +0 -1
  456. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-9fa9b19084b3cd2f.css +0 -1
  457. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-0e7e591f05cbddf5.css +0 -1
  458. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-f16fb90321952887.css +0 -1
  459. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-5cf30b084239d643.css +0 -1
  460. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-1c84b31df8c64b88.css +0 -1
  461. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-7da323ffa5be29aa.css +0 -1
  462. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-4900a42b805e90cb.css +0 -1
  463. package/dist/dash/standalone/static/assets/dash-param-org-operator-2f4e497a01a78f29.css +0 -1
  464. package/dist/dash/standalone/static/assets/dash-param-org-settings-0ea983332482dbc6.css +0 -1
  465. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-e1c1f81610bb925f.css +0 -1
  466. package/dist/dash/standalone/static/assets/dash-param-org-setup-6824fce3862dbb43.css +0 -1
  467. package/dist/dash/standalone/static/assets/dash-param-org-tasks-f914c28afa705d66.css +0 -1
  468. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-65c8bb06f94ff868.css +0 -1
  469. package/dist/dash/standalone/static/assets/dash-param-org-usage-5dbb2aa369c46eed.css +0 -1
  470. package/dist/dash/standalone/static/assets/global-eecd2b20d5e4b08d.css +0 -1
  471. package/dist/dash/standalone/static/assets/login-ca4c0cd7d65b3269.css +0 -1
  472. package/dist/dash/standalone/static/assets/pnext-client-0bcd0cbf2549bdf2.js +0 -1
  473. package/dist/dash/standalone/static/assets/pnext-client-22414b6c8a870c92.js +0 -1
  474. package/dist/dash/standalone/static/assets/pnext-client-2a02ab5209cae1ea.js +0 -1
  475. package/dist/dash/standalone/static/assets/pnext-client-46d843cfdabf3e71.js +0 -1
  476. package/dist/dash/standalone/static/assets/pnext-client-5a50a2a4da7e870e.js +0 -1
  477. package/dist/dash/standalone/static/assets/pnext-client-5b6ea850cead1482.js +0 -1
  478. package/dist/dash/standalone/static/assets/pnext-client-5b94497ba23568a8.js +0 -1
  479. package/dist/dash/standalone/static/assets/pnext-client-6686f1714e481293.js +0 -1
  480. package/dist/dash/standalone/static/assets/pnext-client-67155accb837a12a.js +0 -1
  481. package/dist/dash/standalone/static/assets/pnext-client-7db5d810ee904f4b.js +0 -1
  482. package/dist/dash/standalone/static/assets/pnext-client-8d779b89650f4b7a.js +0 -1
  483. package/dist/dash/standalone/static/assets/pnext-client-9d7a7a634c9be6ac.js +0 -1
  484. package/dist/dash/standalone/static/assets/pnext-client-9edebc462604c881.js +0 -1
  485. package/dist/dash/standalone/static/assets/pnext-client-aa5a424e38b430a5.js +0 -1
  486. package/dist/dash/standalone/static/assets/pnext-client-b983cd476c808b15.js +0 -1
  487. package/dist/dash/standalone/static/assets/pnext-client-bdf1cb75a3de35ea.js +0 -1
  488. package/dist/dash/standalone/static/assets/pnext-client-c5177dd613b27b84.js +0 -1
  489. package/dist/dash/standalone/static/assets/pnext-client-d998d7077d159f68.js +0 -1
  490. package/dist/dash/standalone/static/assets/pnext-client-f01c6d0c6beb582b.js +0 -1
  491. package/dist/dash/standalone/static/assets/pnext-client-fd4c0f3ecbcc461c.js +0 -1
  492. package/dist/default-CNhVH61w.js +0 -1
  493. package/dist/default-dQC33jLt.js +0 -1
  494. package/dist/delete-BDOtztW_.js +0 -2
  495. package/dist/disable-VvU6oDku.js +0 -1
  496. package/dist/discover-CBP4Uw0N.js +0 -1
  497. package/dist/dispatch-D3Dqxijf.js +0 -8
  498. package/dist/docs-3SW1O9iS.js +0 -2
  499. package/dist/env-C_DoQYl5.js +0 -1
  500. package/dist/exec-BsXFIdTl.js +0 -11
  501. package/dist/executor-5j-Ewzzb.js +0 -11
  502. package/dist/flow-4Rr-2NUz.js +0 -1
  503. package/dist/http-BYMXT_p6.js +0 -1
  504. package/dist/init-kZdO2PF5.js +0 -1
  505. package/dist/integrations-35T26qmP.js +0 -1
  506. package/dist/integrations-D3OgJk6Y.js +0 -1
  507. package/dist/list-CLqNS8_q.js +0 -4
  508. package/dist/list-CbN2giPy.js +0 -1
  509. package/dist/list-ChFFjT_a.js +0 -2
  510. package/dist/list-D0NK3Iqu.js +0 -3
  511. package/dist/list-D3LCULQt.js +0 -1
  512. package/dist/list-P2Ztf1bQ.js +0 -4
  513. package/dist/load-CRmQB1LD.js +0 -2
  514. package/dist/local-XNsjb-UM.js +0 -1
  515. package/dist/log-view-DB4nXHXO.js +0 -3
  516. package/dist/login-BoOBMH4y.js +0 -1
  517. package/dist/match-Kt3vFTl1.js +0 -1
  518. package/dist/mcp-C13n4A3y.js +0 -12
  519. package/dist/mcp-YhyTUMIM.js +0 -11
  520. package/dist/mcp-server-DGzme0YX.js +0 -1
  521. package/dist/model-0sxp5GdI.js +0 -1
  522. package/dist/models-CdvmuaLv.js +0 -1
  523. package/dist/prompt-C--TI1qn.js +0 -8
  524. package/dist/push-IpLeKMp-.js +0 -1
  525. package/dist/reconnect-CR3RaXX0.js +0 -1
  526. package/dist/refresh-D0YjtXBD.js +0 -1
  527. package/dist/remote-oQs6My_3.js +0 -1
  528. package/dist/remove-B01SXfEq.js +0 -1
  529. package/dist/remove-C9eahMDh.js +0 -1
  530. package/dist/remove-D1UOd48O.js +0 -1
  531. package/dist/remove-D65xtbw5.js +0 -1
  532. package/dist/rename-Qwr_XDxD.js +0 -1
  533. package/dist/result-DXL9N9Ip.js +0 -18
  534. package/dist/review-D-U_2KyT.d.ts +0 -157
  535. package/dist/run-CoTg7SkY.js +0 -2
  536. package/dist/run-CvdayZfK.js +0 -5
  537. package/dist/run-VOuS-hHe.js +0 -2
  538. package/dist/runner-D0TLZrrO.js +0 -1
  539. package/dist/runner-DME7ohjt.js +0 -1
  540. package/dist/runners-UNKPlmYE.js +0 -36
  541. package/dist/schema-BSlHRFSP.js +0 -8
  542. package/dist/serve-BQsv2KZs.js +0 -1
  543. package/dist/serve-ByWMT5Gm.js +0 -1
  544. package/dist/serve-HNXk3HMY.js +0 -9
  545. package/dist/setup-host-DExG-bWZ.js +0 -6
  546. package/dist/show-BeacgzZ0.js +0 -1
  547. package/dist/show-D3OC0c35.js +0 -1
  548. package/dist/slack-C_RlVDz7.js +0 -3
  549. package/dist/steer-DwSC8AO4.js +0 -4
  550. package/dist/stop-CEEiI1RA.js +0 -1
  551. package/dist/task-4gw9OZun.js +0 -1
  552. package/dist/task-CB-j4EO8.js +0 -5
  553. package/dist/task-IoBYe7ok.js +0 -1
  554. package/dist/test-BnGF24Hg.js +0 -1
  555. package/dist/tools-ar-D3jOh.js +0 -1
  556. package/dist/unalias-9AwJnbpE.js +0 -1
  557. package/dist/update-DoJEPBvm.js +0 -2
  558. package/dist/upgrade-DRPBwDYe.js +0 -2
  559. package/dist/usage-CItBLFFE.js +0 -1
  560. package/dist/views-BhsnL0nr.js +0 -5
  561. package/dist/watch-BMuVZorc.js +0 -9
  562. package/dist/watch-Bl_pCGfq.js +0 -5
  563. package/dist/wire-B5rc5Av6.js +0 -1
  564. package/dist/worker-BFGETvid.js +0 -1
  565. package/dist/worker-BiJ7jiOr.js +0 -9
  566. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.5954bd9bd05e8230.js → errors.0a735590a5412ea6.js} +0 -0
  567. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.76589c15dee1732d.css.pnext-asset.js → page.cf7460a024706f75.css.pnext-asset.js} +0 -0
  568. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.3ffef848a0b0dda3.css.pnext-asset.js → page.c811938ae8a8f1df.css.pnext-asset.js} +0 -0
  569. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.2d19ea3a4d380e0d.css.pnext-asset.js → agent-settings-form.ca926c58d15044aa.css.pnext-asset.js} +0 -0
  570. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.13019680f38b0630.css.pnext-asset.js → hero.1bef5dca89b5942c.css.pnext-asset.js} +0 -0
  571. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.d2e3bc878dcb47da.css.pnext-asset.js → editor.c496247a81ed832c.css.pnext-asset.js} +0 -0
  572. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.3827c440c6421a06.css.pnext-asset.js → layout.a4efa8d807fe5416.css.pnext-asset.js} +0 -0
  573. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{operator/page.9002a449f872a10e.css.pnext-asset.js → settings/[tab]/connections-list.46786fe36b121a43.css.pnext-asset.js} +0 -0
  574. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.f742847e4887f072.css.pnext-asset.js → credentials-list.f7c27f170ec1e868.css.pnext-asset.js} +0 -0
  575. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.1236d6680ec02696.css.pnext-asset.js → list.8cbee173a5aff98d.css.pnext-asset.js} +0 -0
  576. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.e0ce46919b75ef76.css.pnext-asset.js → runners-list.53c7ea80b6fb734c.css.pnext-asset.js} +0 -0
  577. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/runners-list.a835c9a264cf8903.css.pnext-asset.js → tasks/[id]/task-view.57990cfd2bdf5c11.css.pnext-asset.js} +0 -0
  578. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{[id]/task-view.38b1b7ef3976ba71.css.pnext-asset.js → composer.5b8687662e1629fa.css.pnext-asset.js} +0 -0
  579. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.360b393e5938c60b.css.pnext-asset.js → list/tasks-list.abbbc9ace4d866e5.css.pnext-asset.js} +0 -0
  580. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/list/tasks-list.2282a7cef8b15bd8.css.pnext-asset.js → usage/range-bar.476c059123ef6c23.css.pnext-asset.js} +0 -0
  581. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{dash/[org]/usage/range-bar.1da88d087e3b5302.css.pnext-asset.js → globals.c8fd2b8b01e7077b.css.pnext-asset.js} +0 -0
  582. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{dash/[org]/usage/usage.775df2f43187c487.css.pnext-asset.js → login/page.586a41a7ab9988e0.css.pnext-asset.js} +0 -0
  583. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{globals.76731787d2a1aa3b.css.pnext-asset.js → responsive.ebc5f7d77b4b86a0.css.pnext-asset.js} +0 -0
  584. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{app/login/page.57e5198339e9ca28.css.pnext-asset.js → comps/frame/drawer.0b0220d1edabce29.css.pnext-asset.js} +0 -0
  585. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{app/responsive.82549d958fae8f00.css.pnext-asset.js → comps/frame/task-toasts.d13d9f628e530552.css.pnext-asset.js} +0 -0
  586. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/{frame/@/comps/ui/toast.a4c3e977997216cf.css.pnext-asset.js → ui/button.d7f4433f4e7faa80.css.pnext-asset.js} +0 -0
  587. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/{frame/drawer.e8201d78154045bc.css.pnext-asset.js → ui/card.f80288cc42f9bcae.css.pnext-asset.js} +0 -0
  588. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.15f7435f202831c3.css.pnext-asset.js → copy.fb3240de6c9479cd.css.pnext-asset.js} +0 -0
  589. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.d18497f656702a16.css.pnext-asset.js → filter.b53f21acc3e2cfef.css.pnext-asset.js} +0 -0
  590. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{copy.991f1efa061e71d6.css.pnext-asset.js → menu.25b184f68cba7b46.css.pnext-asset.js} +0 -0
  591. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.e20fbd035f24ed01.css.pnext-asset.js → select.419208bb34700af2.css.pnext-asset.js} +0 -0
  592. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.1d42c8d0493e2221.css.pnext-asset.js → toolbar.19e1ce5224a23acf.css.pnext-asset.js} +0 -0
@@ -0,0 +1 @@
1
+ import{h as f}from"./chunks/format-a27067f0186e78ac.js";import{$1c as p}from"./chunks/shared-init-962398d15ee67c92.js";import{$0L as v,$0a as t,$0c as h}from"./chunks/shared-init-962398d15ee67c92.js";import{$4a as c}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as d}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as m}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as u}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$3h as i}from"./chunks/shared-init-6e12333f12903a62-2.js";function R({tag:n,title:r,lead:o,children:a}){return t("section",{class:"auth",children:t("div",{class:"auth-side",children:[t("div",{class:"auth-frame frame",children:[t("div",{class:"bar",children:[t("a",{class:"brand",href:"/",children:[t(h,{}),t("span",{class:"lockup",children:["coder ",t("small",{children:"wular"})]})]}),t("span",{class:"tag",children:n})]}),t("div",{class:"auth-body",children:[t("h1",{children:r}),o?t("p",{class:"lead",children:o}):null,a]})]}),t("nav",{class:"auth-links",children:[t("a",{href:"https://wular.ai",children:"wular.ai"}),t("a",{href:"https://coder.wular.ai",children:"hosted service"})]})]})})}function l(){let[n,r]=i(""),[o,a]=i(""),C=typeof location>"u"?"":new URLSearchParams(location.search).get("token")??"";return t(R,{tag:"connect",title:"Connect your account",lead:o||"Link this platform identity to your signed-in Coder account.",children:[o?null:t(v,{wide:!0,onClick:()=>void p.linkAccount(C).then(e=>a(`${e.platform} account ${e.platformUserId} is connected.`)).catch(e=>r(f(e))),children:"Connect"}),t("p",{class:"flash err reserved",role:"alert",children:n})]})}var{mountRoute:_,remountRoute:D,unmountRoute:w}=c({islands:[{id:"c-fbb9387de0",Component:d}],Page:l});m();u()||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:w});export{_ as mountRoute,D as remountRoute,w as unmountRoute};
@@ -0,0 +1 @@
1
+ import{b as I}from"./chunks/back-602db2cfdccf2e7f.js";import{a as s,b as p,c,d as f,e as l,f as C}from"./chunks/side-toggle-7ada95cc7601eb49.js";import{$2h as d,$2i as a}from"./chunks/shared-init-ae95a674d381c095.js";import{$0i as e}from"./chunks/shared-init-ae95a674d381c095.js";import{$1j as i,$1k as r}from"./chunks/shared-init-ae95a674d381c095.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-ae95a674d381c095.js";import"./chunks/shared-init-962398d15ee67c92.js";import"./chunks/shared-init-962398d15ee67c92.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as m}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:b,remountRoute:X,unmountRoute:u}=o({islands:[{id:"c-18bb45535e",Component:a},{id:"c-2679f8cbda",Component:s},{id:"c-304e16b9cf",Component:e},{id:"c-38d7d9af65",Component:p},{id:"c-4bff5cc987",Component:I},{id:"c-5724efc041",Component:c},{id:"c-7805074df7",Component:f},{id:"c-8659190788",Component:r},{id:"c-9fd64716db",Component:l},{id:"c-b42c48e9c9",Component:i},{id:"c-bab99bd115",Component:C},{id:"c-eace80644b",Component:d},{id:"c-fbb9387de0",Component:n}]});m();t()||b();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:b,unmountRoute:u});export{b as mountRoute,X as remountRoute,u as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a,b as p,c as f,d as c,e as l,f as u}from"./chunks/side-toggle-7ada95cc7601eb49.js";import{$2h as d,$2i as s}from"./chunks/shared-init-ae95a674d381c095.js";import{$0i as m}from"./chunks/shared-init-ae95a674d381c095.js";import{$1j as e,$1k as r}from"./chunks/shared-init-ae95a674d381c095.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-ae95a674d381c095.js";import"./chunks/shared-init-962398d15ee67c92.js";import"./chunks/shared-init-962398d15ee67c92.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:C,remountRoute:P,unmountRoute:b}=o({islands:[{id:"c-18bb45535e",Component:s},{id:"c-2679f8cbda",Component:a},{id:"c-304e16b9cf",Component:m},{id:"c-38d7d9af65",Component:p},{id:"c-5724efc041",Component:f},{id:"c-7805074df7",Component:c},{id:"c-8659190788",Component:r},{id:"c-89377d0f58",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-3ad1c93deff4fb2e.js").then(I=>I.TasksList)},{id:"c-9fd64716db",Component:l},{id:"c-b42c48e9c9",Component:e},{id:"c-bab99bd115",Component:u},{id:"c-eace80644b",Component:d},{id:"c-fbb9387de0",Component:n}]});i();t()||C();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:C,unmountRoute:b});export{C as mountRoute,P as remountRoute,b as unmountRoute};
@@ -0,0 +1 @@
1
+ import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as r}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:e,remountRoute:p,unmountRoute:m}=o({islands:[{id:"c-ca97f0a33a",options:{},load:()=>import("./chunks/create-link-bc365f8dfe88e6b3.js").then(n=>n.CreateLink)},{id:"c-fbb9387de0",Component:t}]});r();i()||e();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:e,unmountRoute:m});export{e as mountRoute,p as remountRoute,m as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as d,b as a,c as s,d as p,e as f,f as c}from"./chunks/side-toggle-7ada95cc7601eb49.js";import{$2h as r,$2i as e}from"./chunks/shared-init-ae95a674d381c095.js";import"./chunks/shared-init-ae95a674d381c095.js";import{$1j as i}from"./chunks/shared-init-ae95a674d381c095.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-ae95a674d381c095.js";import"./chunks/shared-init-962398d15ee67c92.js";import"./chunks/shared-init-962398d15ee67c92.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as m}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:l,remountRoute:h,unmountRoute:u}=o({islands:[{id:"c-18bb45535e",Component:e},{id:"c-2679f8cbda",Component:d},{id:"c-38d7d9af65",Component:a},{id:"c-5724efc041",Component:s},{id:"c-7805074df7",Component:p},{id:"c-9fd64716db",Component:f},{id:"c-b42c48e9c9",Component:i},{id:"c-bab99bd115",Component:c},{id:"c-eace80644b",Component:r},{id:"c-fbb9387de0",Component:n}]});m();t()||l();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:l,unmountRoute:u});export{l as mountRoute,h as remountRoute,u as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as u}from"./chunks/custom-range-cae5567874db83ca.js";import"./chunks/field-693bb870ad0bdee8.js";import{a as s,b as p,c as f,d as c,e as l,f as C}from"./chunks/side-toggle-7ada95cc7601eb49.js";import{$2h as d,$2i as a}from"./chunks/shared-init-ae95a674d381c095.js";import{$0i as e}from"./chunks/shared-init-ae95a674d381c095.js";import{$1j as i,$1k as r}from"./chunks/shared-init-ae95a674d381c095.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-ae95a674d381c095.js";import"./chunks/shared-init-962398d15ee67c92.js";import"./chunks/shared-init-962398d15ee67c92.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as m}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:I,remountRoute:X,unmountRoute:b}=o({islands:[{id:"c-18bb45535e",Component:a},{id:"c-2679f8cbda",Component:s},{id:"c-304e16b9cf",Component:e},{id:"c-38d7d9af65",Component:p},{id:"c-5724efc041",Component:f},{id:"c-5f22e4087d",Component:u},{id:"c-7805074df7",Component:c},{id:"c-8659190788",Component:r},{id:"c-9fd64716db",Component:l},{id:"c-b42c48e9c9",Component:i},{id:"c-bab99bd115",Component:C},{id:"c-eace80644b",Component:d},{id:"c-fbb9387de0",Component:n}]});m();t()||I();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:I,unmountRoute:b});export{I as mountRoute,X as remountRoute,b as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as b}from"./chunks/agent-toggle-5ede0c449e88cb9d.js";import"./chunks/action-410bdc82c416bc01.js";import"./chunks/format-a27067f0186e78ac.js";import{a as c,b as f,c as l,d as u,e as C,f as I}from"./chunks/side-toggle-7ada95cc7601eb49.js";import{$2h as a,$2i as p}from"./chunks/shared-init-ae95a674d381c095.js";import{$0C as s,$0i as e}from"./chunks/shared-init-ae95a674d381c095.js";import{$1j as r,$1k as d}from"./chunks/shared-init-ae95a674d381c095.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-ae95a674d381c095.js";import"./chunks/shared-init-962398d15ee67c92.js";import"./chunks/shared-init-962398d15ee67c92.js";import{$4a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as m}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:T,remountRoute:x,unmountRoute:_}=n({islands:[{id:"c-0007863d70",Component:b},{id:"c-18bb45535e",Component:p},{id:"c-2679f8cbda",Component:c},{id:"c-304e16b9cf",Component:e},{id:"c-3084a093e0",Component:s},{id:"c-38d7d9af65",Component:f},{id:"c-5724efc041",Component:l},{id:"c-7805074df7",Component:u},{id:"c-8659190788",Component:d},{id:"c-89377d0f58",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-3ad1c93deff4fb2e.js").then(o=>o.TasksList)},{id:"c-9fd64716db",Component:C},{id:"c-a681dce549",options:{},load:()=>import("./chunks/composer-08e49d49c0c3ee94.js").then(o=>o.NewTaskButton)},{id:"c-b42c48e9c9",Component:r},{id:"c-bab99bd115",Component:I},{id:"c-eace80644b",Component:a},{id:"c-fbb9387de0",Component:t}]});m();i()||T();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:T,unmountRoute:_});export{T as mountRoute,x as remountRoute,_ as unmountRoute};
@@ -0,0 +1 @@
1
+ import{i as e,t}from"./cli-Fp28pM4Y.js";import{runnerOptions as n}from"./remove-CCYHc1FN.js";import r from"node:process";const i=e({name:`runner default`,globalFlags:{cwd:!1},args:1,required:[`<id>`],help:{usage:`coder runner default <id> [--server [url]] [--json]`,summary:`Use this runner by default within its scope.`,flags:[t]},options:n,async run({options:e,args:[t]}){let{runners:n}=await import(`./runner-CxtzTgVq.js`).then(e=>e.t);return n.default(t,e)},print:e=>r.stdout.write(`Default runner ${e.name}.\n`)});export{i as commandRunnerDefault};
@@ -0,0 +1,2 @@
1
+ import{i as e,r as t}from"./cli-Fp28pM4Y.js";import{p as n}from"./output-BKeyLbvt.js";import{n as r,s as i,t as a}from"./args-BekfmD9t.js";import{plural as o}from"./archive-CU0nhUeJ.js";import s from"node:process";const c=e({name:`task delete`,help:{usage:`coder task delete <task-id> | coder task delete --all-archived [--server [url]]`,summary:`Delete a task's session from disk. This is permanent. Pass --all-archived to
2
+ delete every archived task at once. A running task must be stopped first.`,flags:[[`--all-archived`,`delete every archived task`],t]},options:{...a,"all-archived":r,...i},args:1,run:async({options:e,args:[t]})=>{let{tasks:n}=await import(`./task-C506SkPR.js`).then(e=>e.t);return n.delete(t,{...e,organization:e.workspace,allArchived:e[`all-archived`]})},print(e,{options:t}){if(e.count===void 0)return void s.stdout.write(`Deleted task ${n.cyan(e.taskId)}.\n`);s.stdout.write(t.server===void 0?e.count?`Deleted ${e.count} archived task${o(e.count)}.\n`:`${n.dim(`No archived tasks to delete.`)}\n`:`Deleted ${e.count} server task${o(e.count)}.\n`)}});export{c as commandDelete};
@@ -1,4 +1,4 @@
1
- import{i as e}from"./cli-D5hyqGq0.js";import{p as t}from"./output-BKeyLbvt.js";import{n,t as r}from"./args-CxsMr9Un.js";import{plural as i}from"./archive-BhfGdyuC.js";import a from"node:process";const o=e({name:`flow delete`,help:{usage:`coder flow delete <run-id> | coder flow delete --all-archived`,summary:`Delete a flow run's record from disk (its journal, events, and logs). This is
1
+ import{i as e}from"./cli-Fp28pM4Y.js";import{p as t}from"./output-BKeyLbvt.js";import{n,t as r}from"./args-BekfmD9t.js";import{plural as i}from"./archive-CY2lvp_c.js";import a from"node:process";const o=e({name:`flow delete`,help:{usage:`coder flow delete <run-id> | coder flow delete --all-archived`,summary:`Delete a flow run's record from disk (its journal, events, and logs). This is
2
2
  permanent; the run's tasks are ordinary tasks and are not touched. Pass
3
3
  --all-archived to delete every archived run at once. A running run must be
4
- stopped first.`,flags:[[`--all-archived`,`delete every archived run`]]},options:{...r,"all-archived":n},args:1,run:async({options:e,args:[t]})=>{let{deleteRuns:n}=await import(`./executor-5j-Ewzzb.js`).then(e=>e.b);return n(t,{allArchived:e[`all-archived`]})},print(e){if(!(`count`in e))return void a.stdout.write(`Deleted run ${t.cyan(e.runId)}.\n`);a.stdout.write(e.count?`Deleted ${e.count} archived run${i(e.count)}.\n`:`${t.dim(`No archived runs to delete.`)}\n`)}});export{o as commandDelete};
4
+ stopped first.`,flags:[[`--all-archived`,`delete every archived run`]]},options:{...r,"all-archived":n},args:1,run:async({options:e,args:[t]})=>{let{deleteRuns:n}=await import(`./executor-LkokKTTd.js`).then(e=>e.S);return n(t,{allArchived:e[`all-archived`]})},print(e){if(!(`count`in e))return void a.stdout.write(`Deleted run ${t.cyan(e.runId)}.\n`);a.stdout.write(e.count?`Deleted ${e.count} archived run${i(e.count)}.\n`:`${t.dim(`No archived runs to delete.`)}\n`)}});export{o as commandDelete};
@@ -0,0 +1 @@
1
+ import{i as e}from"./cli-Fp28pM4Y.js";import{t}from"./models-VaiIYlOW.js";import{n}from"./add-B26QSwPY.js";import{t as r}from"./remove-VtavIuGm.js";const i=(i,a)=>e({name:`model ${i?`disable`:`enable`}`,help:a,options:n,args:1,run:({options:e,args:[n],cwd:r})=>t[i?`disable`:`enable`](n,{...e,cwd:r}),json:({name:e,file:t})=>({[i?`disabled`:`enabled`]:e,file:t}),print:({name:e,file:t})=>r(i?`disabled`:`enabled`,e,t)}),a=i(!0,{usage:`coder model disable <name> [--workspace]`,summary:`Disable a model - built-in, custom, or alias. Requests for it fail until re-enabled.`,flags:[[`--workspace`,`target <repo>/.coder/config.json instead of the user file`]]});export{a as commandModelDisable,i as toggle};
@@ -1,3 +1,3 @@
1
- import{i as e}from"./cli-D5hyqGq0.js";import{g as t,p as n,s as r}from"./output-BKeyLbvt.js";import{t as i}from"./args-CxsMr9Un.js";import a from"node:path";import o from"node:process";import s from"node:os";const c=e({name:`flow discover`,help:{usage:`coder flow discover [--json]`,summary:`List every flow discoverable from the current directory: workspace flows in
2
- .coder/flows/ (walking up to the repo root) and global flows in ~/.coder/flows/.`},options:i,run:async({cwd:e})=>{let{discoverFlows:t}=await import(`./discover-CBP4Uw0N.js`).then(e=>e.r);return t(e)},print:(e,{cwd:t})=>l(e,t)});function l(e,i){if(!e.length){o.stdout.write(`No flows found in .coder/flows/ (workspace) or ~/.coder/flows/ (global).
1
+ import{i as e}from"./cli-Fp28pM4Y.js";import{g as t,p as n,s as r}from"./output-BKeyLbvt.js";import{t as i}from"./args-BekfmD9t.js";import a from"node:path";import o from"node:process";import s from"node:os";const c=e({name:`flow discover`,help:{usage:`coder flow discover [--json]`,summary:`List every flow discoverable from the current directory: workspace flows in
2
+ .coder/flows/ (walking up to the repo root) and global flows in ~/.coder/flows/.`},options:i,run:async({cwd:e})=>{let{discoverFlows:t}=await import(`./prompts-CEf7z4i_.js`).then(e=>e.b);return t(e)},print:(e,{cwd:t})=>l(e,t)});function l(e,i){if(!e.length){o.stdout.write(`No flows found in .coder/flows/ (workspace) or ~/.coder/flows/ (global).
3
3
  `),o.stdout.write(`\n${r([`Authoring guide: coder docs flows`],n)}\n`);return}let c=n;o.stdout.write(t([{header:`name`,value:e=>e.name,paint:e=>c.cyan(e)},{header:`scope`,value:e=>e.scope,paint:e=>c.light(e)},{header:`path`,value:e=>e.scope===`workspace`?a.relative(i,e.path)||e.path:e.path.replace(s.homedir(),`~`),paint:e=>c.light(e)}],e,c)),o.stdout.write(`\n${r([`Run one: coder flow run <name>`,`Recent runs: coder flow list`],c)}\n`)}export{c as commandDiscover};
@@ -0,0 +1,8 @@
1
+ import{Rt as e,wi as t}from"./core-DwsAMCnL.js";import{$ as n,A as r,An as i,D as a,Dn as o,Dr as s,E as c,En as l,Er as u,G as d,I as f,Jn as p,Jt as m,L as h,M as g,Mn as _,N as v,Nn as y,O as b,Or as x,P as S,Pn as C,Pt as w,T,Tn as E,U as D,V as ee,Vt as O,W as te,Wt as ne,X as re,Yt as ie,_ as ae,ar as oe,cr as k,fn as se,gr as ce,hn as le,it as ue,j as de,k as fe,kt as pe,lr as A,lt as me,mn as he,n as ge,nn as j,on as _e,pn as ve,q as ye,qt as be,st as xe,t as Se,un as Ce,ur as we,ut as Te,vn as Ee,wn as De,wt as Oe,yn as ke}from"./prompts-CEf7z4i_.js";import M from"node:path";import N from"node:process";import{fileURLToPath as Ae}from"node:url";import P from"node:fs";import{spawn as je,spawnSync as F}from"node:child_process";import{createHash as Me,randomUUID as I}from"node:crypto";import L from"node:os";import{setImmediate as Ne}from"node:timers/promises";var R=class extends Error{code;hint;taskId;payload;approval;result;runId;status;needs;constructor(e,t,n={}){super(t),this.name=`CoderError`,this.code=e,Object.assign(this,n)}};const Pe=/access token could not be refreshed/i,Fe=/model is not supported|Codex cannot run model/i;function z(e){return e instanceof Error?e.message:String(e??``)}function B(e){return Pe.test(e??``)}function Ie(e){return Fe.test(e??``)}function Le(e,t){return!Ie(e)||/Codex cannot run model/.test(e??``)?null:`Codex cannot run model ${/'([^']+)' model/.exec(e??``)?.[1]??t??`this model`} on the signed-in account. Run \`codex login\` with an account that has it, or pick another alias (coder model list).`}function Re(e=process.env){return M.join(e.CODEX_HOME||M.join(L.homedir(),`.codex`),`auth.json`)}function ze(e){try{let t=JSON.parse(Buffer.from(String(e).split(`.`)[1]??``,`base64url`).toString(`utf8`));return String(t.sub??t.email??``)}catch{return``}}function Be(e=process.env,t){let n=Re(e),r;try{r=P.statSync(n).mtimeMs}catch{return``}if(t?.file===n&&t.mtimeMs===r)return t.fingerprint??``;try{let e=JSON.parse(P.readFileSync(n,`utf8`)),i=e.OPENAI_API_KEY?Me(`sha256`).update(String(e.OPENAI_API_KEY)).digest(`hex`):``,a=[e.auth_mode??``,e.tokens?.account_id??``,ze(e.tokens?.id_token),i].join(`|`);return t&&Object.assign(t,{file:n,mtimeMs:r,fingerprint:a}),a}catch{return t?.file===n?t.fingerprint??``:``}}function Ve(e,t){let n=`${e}.${I()}.tmp`;P.writeFileSync(n,JSON.stringify(t),{flag:`wx`}),P.renameSync(n,e)}function He(e,t){let n=P.mkdtempSync(M.join(L.tmpdir(),e)),r=new Map,i=!1,a=()=>{try{for(let e of P.readdirSync(n)){if(!e.endsWith(`.request.json`))continue;let a=e.slice(0,-13),o=M.join(n,e),s=M.join(n,`${a}.response.json`);if(P.existsSync(s)){P.rmSync(o,{force:!0});continue}if(r.has(a))continue;let c=`${o}.processing`;P.renameSync(o,c);let l=(async()=>{let e;try{let n=JSON.parse(P.readFileSync(c,`utf8`));if(n.id!==a)throw Error(`Invalid control request id.`);e={id:a,result:await t(n,i)}}catch(t){let n=t;e={id:a,error:{message:n.message,retryable:n.retryable===!0,rpcCode:n.rpcCode}}}Ve(s,e),P.rmSync(c,{force:!0})})();r.set(a,l),l.finally(()=>r.delete(a)).catch(()=>{})}}catch{}},o=we(n,a),s=setInterval(a,3e4);return s.unref(),{endpoint:`file:${n}`,async close(){if(i)return;i=!0,clearInterval(s);let e=Date.now()+3e3;try{for(;a(),await Promise.allSettled([...r.values()]),await Ne(),!(!P.existsSync(n)||!P.readdirSync(n).some(e=>e.endsWith(`.reader`))||Date.now()>=e);)await o.wait(e-Date.now())}finally{o.close(),P.rmSync(n,{recursive:!0,force:!0})}}}}async function Ue(e,t,n,r){if(!e)return{ok:!1,retryable:!0,detail:`${r} endpoint is not ready.`};if(!e.startsWith(`file:`)||e.length===5)return{ok:!1,retryable:!1,detail:`Unsupported ${r} endpoint: ${e}`};let i=e.slice(5),a=we(i),o=M.join(i,`${I()}.reader`),s=!1;try{P.writeFileSync(o,``);let e=M.join(i,`${t.id}.response.json`);P.existsSync(e)||Ve(M.join(i,`${t.id}.request.json`),t),s=!0;let c=Date.now()+n;await Ne();let l=await a.until(()=>{try{let n=JSON.parse(P.readFileSync(e,`utf8`));if((!t.command||n?.error?.retryable)&&P.rmSync(e,{force:!0}),n?.id!==t.id)throw Error(`Malformed ${r} response id.`);if(n.error)return{ok:!1,retryable:n.error.retryable===!0,detail:String(n.error.message)};if(!(`result`in n))throw Error(`Malformed ${r} response.`);return{ok:!0,retryable:!1,result:n.result,detail:`${r} accepted control.`}}catch(e){if(e.code!==`ENOENT`)throw e;if(!P.existsSync(i))throw Error(`${r} endpoint closed after control publication; acceptance is unknown.`)}},Math.max(0,c-Date.now()));if(l)return l;throw Error(`Timed out waiting for ${r} acknowledgement.`)}catch(e){return{ok:!1,retryable:!s&&e.code===`ENOENT`,detail:e instanceof Error?e.message:String(e)}}finally{a.close(),P.rmSync(o,{force:!0})}}const We=`CODER_MAILBOX`,Ge=/^([a-f0-9-]{36})\.(?:req|applying)\.json$/;function V(e){if(!e)return I();if(!e.task||!Number.isInteger(e.generation)||e.generation<0||!Number.isInteger(e.seq)||e.seq<0)throw Error(`Invalid command key`);let t=Me(`sha256`).update(JSON.stringify([e.task,e.generation,e.seq])).digest(`hex`).slice(0,32);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}const Ke=[`hint`,`taskId`,`payload`,`approval`,`result`,`runId`,`status`];function qe(e=N.env){return e.CODER_MAILBOX||void 0}function Je(e,t){let n=`${e}.${I()}.tmp`;P.writeFileSync(n,JSON.stringify(t),{encoding:`utf8`,flag:`wx`}),P.renameSync(n,e)}async function Ye(e,t,n={}){let r=n.dir??qe();if(!r)throw Error(`No mailbox: not inside an agent task.`);let i=n.id??I(),a=M.join(r,`${i}.res.json`);P.existsSync(a)||Je(M.join(r,`${i}.req.json`),{kind:e,payload:t});let o=Date.now();for(;!P.existsSync(a);){if(n.timeoutMs&&Date.now()-o>=n.timeoutMs)throw Error(`Worker control timed out`);await new Promise(e=>setTimeout(e,100))}let{result:s,error:c}=JSON.parse(P.readFileSync(a,`utf8`));if(n.keepReply||P.rmSync(a,{force:!0}),c){let{code:e,message:t,...n}=c;throw new R(e,t,n)}return s}function Xe(e,t){P.mkdirSync(e,{recursive:!0});let n=new Set,r=async(r,i)=>{let a;try{let n=M.join(e,r);if(!P.lstatSync(n).isFile())throw Error(`mailbox request is not a regular file`);let{kind:o,payload:s}=JSON.parse(P.readFileSync(n,`utf8`)),c=M.join(e,`${i}.applying.json`);P.existsSync(c)||Je(c,{kind:o,payload:s});let l=Object.hasOwn(t,o)?t[o]:void 0;if(!l)throw Error(`unknown mailbox request "${o}"`);a={result:await l(s??{})??null}}catch(e){let t=e instanceof R?e:void 0;a={error:{code:t?.code??`invalid-option`,message:e instanceof Error?e.message:String(e),...Object.fromEntries(Ke.flatMap(e=>t?.[e]===void 0?[]:[[e,t[e]]]))}}}try{Je(M.join(e,`${i}.res.json`),a),P.rmSync(M.join(e,`${i}.req.json`),{force:!0}),P.rmSync(M.join(e,`${i}.applying.json`),{force:!0}),n.delete(i)}catch{}},i=setInterval(()=>{let t=[];try{t=P.readdirSync(e)}catch{return}for(let i of t){let t=Ge.exec(i)?.[1];if(t){if(P.existsSync(M.join(e,`${t}.res.json`))){P.rmSync(M.join(e,i),{force:!0});continue}n.has(t)||(n.add(t),r(i,t))}}},100);return()=>clearInterval(i)}function Ze(e,t){return t.agentId?M.join(j(e,t.id),`mailbox`):null}function Qe(e){let t=e instanceof Error?e.message:String(e);return/no active turn|active turn.*(?:ended|completed)|turn.*(?:already )?(?:ended|completed)|turn.*not active/i.test(t)}function H(e,t,n){return Object.assign(Error(e),{retryable:t,...n===void 0?{}:{rpcCode:n}})}function $e(e,t,n,r){if(!e||e.id!==t||e.method!==`turn/steer`&&e.method!==`turn/interrupt`)throw H(`Invalid Codex control request.`,!1);let i=e.params;if(!i||typeof i!=`object`||i.threadId!==n)throw H(`Codex control request does not match its owning thread.`,!1);if(e.method===`turn/interrupt`){if(i.turnId!==r)throw H(`Codex turn/interrupt request does not match its owning active turn.`,!1);return{method:e.method,params:i}}if(i.expectedTurnId!==r)throw H(`Codex turn/steer request does not match its owning active turn.`,!1);let a=i.input;if(!Array.isArray(a)||a.length!==1||a[0]?.type!==`text`||typeof a[0]?.text!=`string`||!a[0].text.trim())throw H(`Invalid Codex turn/steer input schema.`,!1);return{method:e.method,params:i}}async function et(e,{threadId:t,turnId:n}){return He(`coder-codex-control-`,async(r,i)=>{if(i)throw H(`Codex owner endpoint is shutting down.`,!0);let a=$e(r,r.id,t,n);try{return await e.request(a.method,a.params)}catch(e){throw H(e instanceof Error?e.message:String(e),Qe(e),e.rpcCode)}})}function tt(e){if(e?.startsWith(`file:`)&&e.length>5){let t=M.resolve(e.slice(5)),n=M.resolve(L.tmpdir());M.dirname(t)===n&&M.basename(t).startsWith(`coder-codex-control-`)&&P.rmSync(t,{recursive:!0,force:!0})}}async function nt(e,t,n,r=3e3,i){return Ue(e,{id:V(i),method:t,params:n,command:i},r,`Codex control`)}const rt=`Coder Task`;function it(e,t=72){let n=String(e??``).trim().replace(/\s+/g,` `);return n?n.length<=t?n:`${n.slice(0,t-3)}...`:``}function at(e){let t=it(e,56);return t?`${rt}: ${t}`:rt}function ot(e){return e?.params?.threadId??null}function st(e){return e?.params?.turnId?e.params.turnId:e?.params?.turn?.id?e.params.turn.id:null}function ct(e){let t=new Set;for(let n of e)for(let e of n.changes??[])e.path&&t.add(e.path);return[...t]}function lt(e,t){let n=[];for(let r of e.matchAll(/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/gm)){let e=t===`delete`,i=Number(e?r[1]:r[3]),a=Number((e?r[2]:r[4])??1);!Number.isFinite(i)||!Number.isFinite(a)||n.push(a<=1?`L${i}`:`L${i}-L${i+a-1}`)}return n}function ut(e){try{let t=P.readFileSync(e,`utf8`),n=t?t.split(/\r\n|\r|\n/).length-+!!t.endsWith(`
2
+ `):0;return n>0?[n===1?`L1`:`L1-L${n}`]:[]}catch{return[]}}function dt(e,t,n){let r=typeof e.kind==`string`?e.kind:e.kind?.type??`change`,i=e.path||`(unknown path)`,a=lt(e.diff??``,r),o=a.length||r!==`add`||!t?a:ut(i),s=typeof e.kind==`object`&&e.kind?.move_path?` -> ${n?A(n,e.kind.move_path):e.kind.move_path}`:``;return`${r} ${n?A(n,i):i}${s}${o.length?` ${o.join(`, `)}`:``}`}function ft(e,t=!1,n){return(e.changes??[]).map(e=>dt(e,t,n)).join(`; `)}function pt(e){let t=e.trim().split(` `)[0]??``;return t===`/dev/null`?``:t.replace(/^[ab]\//,``)}function mt(e,t){let n=new Map,r=``,i=``;for(let t of e.split(/\r?\n/)){if(t.startsWith(`--- `)){r=pt(t.slice(4));continue}if(t.startsWith(`+++ `)){i=pt(t.slice(4));continue}let e=/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/.exec(t);if(!e)continue;let a=Number(e[1]),o=Number(e[2]??1),s=Number(e[3]),c=Number(e[4]??1),l=c===0,u=(l?r:i)||i||r||`(unknown path)`,d=l?a:s,f=l?o:c,p=f<=1?`L${d}`:`L${d}-L${d+f-1}`,m=n.get(u)??[];m.push(p),n.set(u,m)}return[...n].map(([e,n])=>`${t?A(t,e):e} ${n.join(`, `)}`).join(`; `)}function ht(e){if(!e||typeof e!=`object`)return null;let t=e=>typeof e==`number`&&Number.isFinite(e)?e:0,n=t(e.inputTokens),r=t(e.cachedInputTokens),i=t(e.outputTokens);return{input:n,cachedInput:r,output:i,total:t(e.totalTokens)||n+r+i}}function gt(e){if(e.tokenUsageByThread.size===0)return null;let t={input:0,cachedInput:0,output:0,total:0};for(let[n,r]of e.tokenUsageByThread){let i=e.tokenUsageBaselineByThread.get(n);t.input+=Math.max(0,r.input-(i?.input??0)),t.cachedInput+=Math.max(0,r.cachedInput-(i?.cachedInput??0)),t.output+=Math.max(0,r.output-(i?.output??0)),t.total+=Math.max(0,r.total-(i?.total??0))}return t}function _t(e){return String(e??``).replace(/\s+/g,` `).trim()}function U(e){if(!e)return[];if(typeof e==`string`){let t=_t(e);return t?[t]:[]}if(Array.isArray(e))return e.flatMap(e=>U(e));if(typeof e==`object`){let t=e;if(typeof t.text==`string`)return U(t.text);if(`summary`in t)return U(t.summary);if(`content`in t)return U(t.content);if(`parts`in t)return U(t.parts)}return[]}function vt(e,t){let n=[];for(let r of[...e,...t]){let e=_t(r);!e||n.includes(e)||n.push(e)}return n}function W(e,t,n=null,r={}){!e||t==null||e({message:t,phase:n,...r})}function yt(e,t){t&&W(e,t.message,t.phase??null,t.extra??{})}function bt(e){return e.replace(/^\/(?:usr\/)?bin\/\w*sh\s+-l?c\s+/,``)}function xt(e,t){let n=e?.extra?.kind;return!e||n!==`tool`&&n!==`tool-result`||typeof t.id!=`string`?e:{...e,extra:{...e.extra,callId:t.id}}}function G(e){return e==null?``:typeof e==`string`?e:JSON.stringify(e)}function St(e){let t=String(e.tool||e.name||e.kind||e.type||`tool`),n=Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null&&![`id`,`type`,`kind`,`name`,`tool`,`status`,`result`,`results`,`output`,`error`,`contentItems`,`success`,`durationMs`,`exitCode`].includes(e))),r=Object.keys(n).length?G(n):``;return{message:r?`${t} ${r}`:t,phase:`investigating`,extra:{kind:`tool`,tool:t}}}function Ct(e,t){switch(e.type){case`commandExecution`:return{message:bt(String(e.command??``).trim())||`command`,phase:`running`,extra:{kind:`tool`,tool:`command`}};case`fileChange`:return{message:ft(e,!1,t)||`edit`,phase:`editing`,extra:{kind:`tool`,tool:`edit`}};case`mcpToolCall`:return{message:[`${e.server}/${e.tool}`,G(e.arguments)].filter(Boolean).join(` `),phase:`investigating`,extra:{kind:`tool`,tool:String(e.tool??``)}};case`dynamicToolCall`:return{message:[[e.namespace,e.tool||`tool`].filter(Boolean).join(`/`),G(e.arguments)].filter(Boolean).join(` `),phase:`investigating`,extra:{kind:`tool`,tool:String(e.tool??``)}};case`webSearch`:{let t=e.action,n=Array.isArray(t?.queries)?t.queries.filter(e=>typeof e==`string`&&e.trim()):[],r=n.length?n.join(`; `):String(t?.query||e.query||``).trim()||G(t);return{message:r?`search: ${r}`:`search`,phase:`investigating`,extra:{kind:`tool`,tool:`search`}}}case`agentMessage`:case`reasoning`:case`userMessage`:return null;default:return St(e)}}function wt(e,t){switch(e.type){case`agentMessage`:{let t=String(e.text??``).trim();return t?{message:t,phase:null,extra:{kind:`assistant`}}:null}case`reasoning`:{let t=U(e.summary).join(`
3
+ `);return t?{message:t,phase:null,extra:{kind:`reasoning`}}:null}case`commandExecution`:{let t=typeof e.exitCode==`number`?e.exitCode:null;return{message:String(e.aggregatedOutput??``).trim(),phase:`running`,extra:{kind:`tool-result`,tool:`command`,command:String(e.command??``).trim(),durationMs:e.durationMs,...t===null?{isError:e.status!==`completed`}:{exitCode:t}}}}case`fileChange`:return{message:ft(e,!0,t)||`(details unavailable)`,phase:`editing`,extra:{kind:`tool-result`,tool:`edit`,isError:e.status!==`completed`}};case`mcpToolCall`:return{message:G(e.error??e.result)||`${e.server}/${e.tool} ${e.status}`,phase:`investigating`,extra:{kind:`tool-result`,tool:String(e.tool??``),durationMs:e.durationMs,isError:e.status!==`completed`||e.error!=null}};case`dynamicToolCall`:return{message:G(e.contentItems)||`${e.tool} ${e.status}`,phase:`investigating`,extra:{kind:`tool-result`,tool:String(e.tool??``),durationMs:e.durationMs,isError:e.status!==`completed`||e.success===!1}};case`userMessage`:return null;default:return{message:G(e.error??e.result??e.results??e.output??e.action??e),phase:`investigating`,extra:{kind:`tool-result`,tool:Ct(e,t)?.extra?.tool,durationMs:e.durationMs,isError:e.status===`failed`||e.status===`declined`||e.success===!1||e.error!=null}}}}function Tt(e,t={}){let n,r,i=new Promise((e,t)=>{n=e,r=t});return{threadId:e,rootThreadId:e,threadIds:new Set([e]),threadTurnIds:new Map,turnId:null,bufferedNotifications:[],completion:i,resolveCompletion:n,rejectCompletion:r,finalTurn:null,completed:!1,finalAnswerSeen:!1,pendingCollaborations:new Set,activeSubagentTurns:new Set,completionTimer:null,lastAgentMessage:``,reasoningSummary:[],reasoningStartedAt:new Map,error:null,fileChanges:[],commandExecutions:[],tokenUsageByThread:new Map,tokenUsageBaselineByThread:new Map,lastDiffSummary:``,loggedTokens:0,reportedChanges:new Set,cwd:t.cwd??``,itemIndex:new Map,onProgress:t.onProgress??null,onHeartbeat:t.onHeartbeat??null}}function Et(e){e.completionTimer&&=(clearTimeout(e.completionTimer),null)}function Dt(e,t=null){e.completed||(Et(e),e.completed=!0,t?(e.finalTurn=t,e.turnId||=t.id??null):e.finalTurn||={id:e.turnId??`inferred-turn`,status:`completed`},e.resolveCompletion(e))}function Ot(e){e.completed||e.finalTurn||!e.finalAnswerSeen||e.pendingCollaborations.size>0||e.activeSubagentTurns.size>0||(Et(e),e.completionTimer=setTimeout(()=>{e.completionTimer=null,!(e.completed||e.finalTurn||!e.finalAnswerSeen)&&(e.pendingCollaborations.size>0||e.activeSubagentTurns.size>0||Dt(e,null))},250),e.completionTimer.unref?.())}function kt(e,t){let n=ot(t);if(!n||!e.threadIds.has(n))return!1;let r=e.threadTurnIds.get(n)??null,i=st(t);return r===null||i===null||i===r}function At(e,t,n,r=null){if(t.id&&e.itemIndex.set(t.id,t),t.type===`collabAgentToolCall`){(!r||r===e.threadId)&&(n===`started`||t.status===`inProgress`?e.pendingCollaborations.add(t.id):n===`completed`&&(e.pendingCollaborations.delete(t.id),Ot(e)));for(let n of t.receiverThreadIds??[])e.threadIds.add(n)}if(t.type===`agentMessage`){t.text&&(!r||r===e.threadId)&&(e.lastAgentMessage=t.text.trim(),n===`completed`&&t.phase===`final_answer`&&(e.finalAnswerSeen=!0,Ot(e)));return}if(t.type===`reasoning`&&n===`completed`){e.reasoningSummary=vt(e.reasoningSummary,U(t.summary));return}if(t.type===`fileChange`&&n===`completed`){e.fileChanges.push(t);return}t.type===`commandExecution`&&n===`completed`&&e.commandExecutions.push(t)}function jt(e,t){switch(e.onHeartbeat?.(),t.method){case`thread/started`:e.threadIds.add(t.params.thread.id);break;case`turn/started`:e.threadIds.add(t.params.threadId),e.threadTurnIds.set(t.params.threadId,t.params.turn.id),(t.params.threadId??null)!==e.threadId&&e.activeSubagentTurns.add(t.params.threadId),W(e.onProgress,`Turn started (${t.params.turn.id}).`,`starting`,{kind:`status`,threadId:t.params.threadId??null,turnId:t.params.turn.id??null});break;case`item/started`:t.params.item?.type===`reasoning`&&t.params.item.id&&e.reasoningStartedAt.set(`${t.params.threadId}:${t.params.item.id}`,Date.now()),At(e,t.params.item,`started`,t.params.threadId??null),yt(e.onProgress,xt(Ct(t.params.item,e.cwd),t.params.item));break;case`item/completed`:{let n={...e.itemIndex.get(t.params.item.id),...t.params.item};if(At(e,n,`completed`,t.params.threadId??null),n?.type===`fileChange`)for(let t of n.changes??[])t.path&&e.reportedChanges.add(A(e.cwd,t.path));let r=xt(wt(n,e.cwd),n);if(r?.extra?.kind===`tool-result`){let t=Ct(n,e.cwd);r.extra={...r.extra,callMessage:n.type===`fileChange`?r.message:t?.message}}if(n?.type===`reasoning`){let i=`${t.params.threadId}:${n.id}`,a=e.reasoningStartedAt.get(i);e.reasoningStartedAt.delete(i),r&&(r.extra={...r.extra,durationMs:Math.max(0,Date.now()-(a??Date.now()))})}yt(e.onProgress,r);break}case`thread/tokenUsage/updated`:{let n=ht(t.params?.tokenUsage?.last),r=ot(t);r===e.threadId&&t.params?.tokenUsage?.last&&(e.contextTokens=n?.total);let i=ht(t.params?.tokenUsage?.total??t.params?.tokenUsage);if(i&&r){n&&!e.tokenUsageByThread.has(r)&&e.tokenUsageBaselineByThread.set(r,{input:Math.max(0,i.input-n.input),cachedInput:Math.max(0,i.cachedInput-n.cachedInput),output:Math.max(0,i.output-n.output),total:Math.max(0,i.total-n.total)}),e.tokenUsageByThread.set(r,i);let t=gt(e);t&&(!e.loggedTokens||t.total-e.loggedTokens>=1e3)&&(e.loggedTokens=t.total,e.onProgress?.({kind:`usage`,tokens:t}))}break}case`turn/diff/updated`:{let n=mt(String(t.params?.diff??``),e.cwd).split(`; `).filter(t=>!e.reportedChanges.has(t.split(` `)[0]??``)).join(`; `);n&&n!==e.lastDiffSummary&&(e.lastDiffSummary=n,W(e.onProgress,`changed: ${n}`,`editing`,{kind:`status`}));break}case`item/autoApprovalReview/completed`:{let n=t.params?.review??{},r=t.params?.action??{},i=bt(String(r.command??r.type??``).trim());W(e.onProgress,`Auto-review ${n.status}. ${it(i,48)}${n.rationale?`. ${it(n.rationale,320)}`:``}`,null,{kind:`auto-review`,decision:String(n.status??``),...n.riskLevel?{riskLevel:String(n.riskLevel)}:{},...i?{summary:`run command: ${i}`}:{},...n.rationale?{reason:String(n.rationale)}:{}});break}case`error`:e.error=t.params.error,W(e.onProgress,`Codex error: ${t.params.error.message}`,`failed`,{kind:`error`});break;case`turn/completed`:if((t.params.threadId??null)!==e.threadId){e.activeSubagentTurns.delete(t.params.threadId),Ot(e);break}W(e.onProgress,`Turn ${t.params.turn.status}.`,`finalizing`,{kind:`status`}),Dt(e,t.params.turn)}}async function Mt(e,t,n,r={}){let i=Tt(t,r),a=e.notificationHandler;e.setNotificationHandler(e=>{if(!i.turnId){i.bufferedNotifications.push(e);return}if(e.method===`thread/started`){jt(i,e);return}if(!kt(i,e)){a?.(e);return}jt(i,e)});let o=r.onApprovalRequest;o&&e.setServerRequestHandler((e,t)=>o(e,t,i));try{let t=await n();i.turnId=t.turn?.id??null,i.turnId&&(i.threadTurnIds.set(i.threadId,i.turnId),await r.onTurnStarted?.(i.turnId));for(let e of i.bufferedNotifications)kt(i,e)?jt(i,e):a?.(e);i.bufferedNotifications.length=0,t.turn?.status&&t.turn.status!==`inProgress`&&Dt(i,t.turn);let o=e.exitPromise?.then(()=>{throw e.exitError??Error(`codex app-server connection closed before the turn completed.`)});return await(o?Promise.race([i.completion,o]):i.completion)}finally{Et(i),e.setNotificationHandler(a??null),e.setServerRequestHandler(null)}}function Nt(e,t,n=[]){return e!==`workspace-write`||!n.length?null:{type:`workspaceWrite`,writableRoots:n,networkAccess:t??!1}}const Pt=`coder_read_only`;function Ft(e,t=[]){return(e??`read-only`)!==`read-only`||!t.length?null:{default_permissions:Pt,[`permissions.${Pt}`]:{extends:`:read-only`,filesystem:Object.fromEntries(t.map(e=>[e,`write`]))}}}function It(e=[],t=[],n=!1){let r=Object.fromEntries((n?[]:t).map(e=>[e,{enabled:!1}])),i=new Set([...t,...e.map(e=>e.name)]);for(let n of e){let e=n.name;if(t.includes(e)){for(let t=1;i.has(e);t++)e=`${n.name}_coder_${t}`;i.add(e)}r[e]={...n.url?{url:n.url,...n.headers?{http_headers:n.headers}:{}}:{command:n.command,args:n.args??[],...n.env?{env:n.env}:{}},...n.tools?.length?{enabled_tools:n.tools}:{},default_tools_approval_mode:`approve`}}return Object.keys(r).length?{mcp_servers:r}:{}}async function Lt(e,t,n,r){let i=Object.entries(n).filter(([,e])=>e.enabled!==!1).map(([e])=>e);await Promise.all(i.map(async n=>{let i=await e.request(`mcpServerStatus/list`,{threadId:t,serverName:n,detail:`toolsAndAuthOnly`}).catch(e=>{W(r,`MCP server ${n} status unavailable. ${z(e)}`,null,{kind:`warning`})});for(let e of i?.data??[])e.name===n&&e.runtimeStatus===`failed`&&W(r,`MCP server ${e.name} failed to start. ${e.toolsError??``}`.trim(),null,{kind:`error`})}))}function Rt(e){return e.split(/\r?\n/).map(e=>e.trimEnd()).filter(e=>e&&!e.startsWith(`WARNING: proceeding, even though we could not update PATH:`)).join(`
4
+ `)}async function zt(e,t,n={}){let r=n.connect??E.connect,i={...n.networkAccess===void 0?{}:{networkAccess:n.networkAccess},nativeMcp:n.nativeMcp??!1},a=null;try{a=await r(e,i);let n=await t(a);return await a.close(),n}catch(n){let o=n,s=a?.transport===`broker`||!!process.env.CODER_APP_SERVER_ENDPOINT,c=a?.transport===`broker`&&o?.rpcCode===-32001||s&&(o?.code===`ENOENT`||o?.code===`ECONNREFUSED`);if(a&&=(await a.close().catch(()=>{}),null),!c)throw n;let l=await r(e,{...i,disableBroker:!0});try{return await t(l)}finally{await l.close()}}}function K(e){let t=process.env.CODEX_AUTH_JSON;if(t){let e=M.join(L.homedir(),`.codex`),n=M.join(e,`auth.json`);if(!P.existsSync(n)){P.mkdirSync(e,{recursive:!0,mode:448});try{P.writeFileSync(n,t,{encoding:`utf8`,flag:`wx`,mode:384})}catch(e){if(e.code!==`EEXIST`)throw e}}}let n=l(`codex`,[`--version`],{cwd:e,env:p()});if(!n.available)return n;let r=l(`codex`,[`app-server`,`--help`],{cwd:e,env:p()});return r.available?{available:!0,detail:`${n.detail}; app-server runtime available`}:{available:!1,detail:`${n.detail}; app-server runtime unavailable: ${r.detail}`}}async function Bt(e){let t=K(e);if(!t.available)return{available:!1,loggedIn:!1,detail:t.detail};let n=null;try{n=await E.connect(e,{reuseExistingBroker:!0});let t=await n.request(`account/read`,{refreshToken:!1}),r=t?.account??null;return r?.type===`chatgpt`?{available:!0,loggedIn:!0,detail:r.email?`ChatGPT login active for ${r.email}`:`ChatGPT login active`}:r?.type===`apiKey`?{available:!0,loggedIn:!0,detail:`API key configured`}:t?.requiresOpenaiAuth===!1?{available:!0,loggedIn:!0,detail:`Active provider does not require OpenAI authentication`}:{available:!0,loggedIn:!1,detail:"Not authenticated. Run `codex login`."}}catch(e){let t=F(`codex`,[`login`,`status`],{encoding:`utf8`,env:p()}),n=`${t.stdout??``}${t.stderr??``}`.trim();return t.status===0?{available:!0,loggedIn:!0,detail:n||`Logged in`}:{available:!0,loggedIn:!1,detail:n||(e instanceof Error?e.message:String(e))}}finally{await n?.close().catch(()=>{})}}async function Vt(e,{endpoint:t,threadId:n,turnId:r}){if(!n||!r)return{interrupted:!1,detail:`missing threadId or turnId`};let i=await nt(t,`turn/interrupt`,{threadId:n,turnId:r});return i.ok?{interrupted:!0,detail:`Interrupted ${r} on ${n}.`}:{interrupted:!1,detail:i.detail}}async function Ht(e,{endpoint:t,threadId:n,turnId:r,text:i,command:a}){if(!n)return{steered:!1,retryable:!0,detail:`missing active threadId`};if(!r)return{steered:!1,retryable:!0,detail:`missing active turnId`};let o=i.trim();if(!o)return{steered:!1,retryable:!1,detail:`empty follow-up`};let s=await nt(t,`turn/steer`,{threadId:n,input:[{type:`text`,text:o,text_elements:[]}],expectedTurnId:r},3e3,a);return s.ok?s.result?.turnId===r?{steered:!0,retryable:!1,detail:`Steered follow-up into ${r} on ${n}.`}:{steered:!1,retryable:!1,detail:`turn/steer returned unexpected turnId ${String(s.result?.turnId??`(missing)`)}; expected ${r}`}:{steered:!1,retryable:s.retryable,detail:s.detail}}async function Ut(e,t={},n={}){if(!t.availabilityChecked){let t=K(e);if(!t.available)throw Error(`Codex CLI is not available: ${t.detail}`)}let r=t.prompt?.trim();if(!r)throw Error(`A prompt is required.`);let i=process.env.CODER_MACHINE_SANDBOX===`1`&&(t.sandbox??`read-only`)!==`read-only`?`danger-full-access`:t.sandbox,a=Ft(i,t.writableRoots),s=a?{}:{sandbox:i??`read-only`},c={...t.configOverrides??{},...a},l=Object.keys(c).length?c:null,u=Nt(i,t.networkAccess,t.writableRoots),d=async n=>{let i=null,a;o(`codex.config.start`);let c=await n.request(`config/read`,{cwd:e,includeLayers:!1});o(`codex.config.done`);let d={...t.modelProvider?{}:{model_reasoning_summary:`auto`},...l,...It(t.mcpServers,Object.keys(c.config?.mcp_servers??{}),t.nativeMcp),...t.nativeMcp?{}:{"features.apps":!1,"features.plugins":!1}},f=t.developerInstructions?{developerInstructions:t.developerInstructions}:{},p;if(t.resumeThreadId&&(W(t.onProgress,`Resuming thread ${t.resumeThreadId}.`,`starting`,{kind:`status`}),Ee(t.resumeThreadId)&&await ke(t.resumeThreadId),p=await n.request(`thread/resume`,{threadId:t.resumeThreadId,cwd:e,model:t.model??null,modelProvider:t.modelProvider??null,config:d,approvalPolicy:t.approvalPolicy??`never`,...s,...t.approvalsReviewer?{approvalsReviewer:t.approvalsReviewer}:{},...f}).catch(e=>{W(t.onProgress,he,`starting`,{kind:`warning`,detail:String(e?.message??e)})})),p)a=p.thread.id;else if(W(t.onProgress,`Starting Codex task thread.`,`starting`,{kind:`status`}),o(`codex.thread.start`),a=(await n.request(`thread/start`,{cwd:e,model:t.model??null,modelProvider:t.modelProvider??null,config:d,approvalPolicy:t.approvalPolicy??`never`,...s,...t.approvalsReviewer?{approvalsReviewer:t.approvalsReviewer}:{},...f,serviceName:`coder_runtime`,ephemeral:t.ephemeral??!1})).thread.id,!(t.ephemeral??!1))try{await n.request(`thread/name/set`,{threadId:a,name:at(r)})}catch(e){let t=String(e?.message??e??``);if(!t.includes(`unknown variant`)&&!t.includes(`unknown method`))throw e}o(`codex.thread.ready`),W(t.onProgress,`Thread ready (${a}).`,`starting`,{kind:`status`,threadId:a}),await Lt(n,a,d.mcp_servers??{},t.onProgress);let m;try{m=await Mt(n,a,()=>n.request(`turn/start`,{threadId:a,input:[{type:`text`,text:r,text_elements:[]}],model:t.model??null,effort:t.effort??null,outputSchema:t.outputSchema??null,...u?{sandboxPolicy:u}:{}}),{cwd:e,onProgress:t.onProgress,onHeartbeat:t.onHeartbeat,onApprovalRequest:t.onApprovalRequest,onTurnStarted:t.onControlReady?async e=>{i=await et(n,{threadId:a,turnId:e}),t.onControlReady?.(i.endpoint,a,e)}:void 0}),o(`codex.result`),t.onResult?.({status:m.finalTurn?.status===`completed`?0:1,threadId:a,turnId:m.turnId,finalMessage:m.lastAgentMessage,error:m.error??m.finalTurn?.error??null})}finally{await i?.close()}return{status:m.finalTurn?.status===`completed`?0:1,threadId:a,turnId:m.turnId,finalMessage:m.lastAgentMessage,reasoningSummary:m.reasoningSummary,turn:m.finalTurn,error:m.error??m.finalTurn?.error??null,stderr:Rt(n.stderr),fileChanges:m.fileChanges,touchedFiles:ct(m.fileChanges),tokens:gt(m),contextTokens:m.contextTokens,model:t.model??null,commandExecutions:m.commandExecutions}},f=async e=>{e.setNoticeHandler?.(e=>W(t.onProgress,e,`starting`,{kind:`status`}));try{let t=await d(e);return B(t.error?.message)&&await Wt(e),t}catch(t){throw B(z(t))&&await Wt(e),t}},p=()=>zt(e,f,{...n,networkAccess:t.networkAccess,nativeMcp:t.nativeMcp}),m=!1,h=()=>(m=!0,W(t.onProgress,`Codex login changed; restarted the Codex app-server and retrying the turn once.`,`starting`,{kind:`status`}),p());try{let e=await p().catch(e=>{if(!B(z(e)))throw e;return h()}),n=!e.touchedFiles?.length&&!e.commandExecutions.length;!m&&n&&B(e.error?.message)&&(e=await h());let r=Le(e.error?.message,t.model);return r?{...e,error:{...e.error,message:r}}:e}catch(e){let n=Le(z(e),t.model);throw n?Error(n):e}}async function Wt(e){e.transport===`broker`&&await e.request(De,{}).catch(()=>{})}const q=`@wular/coder`,Gt=`https://registry.npmjs.org/${q}/latest`,J={npm:[`npm`,`install`,`-g`,`${q}@latest`],pnpm:[`pnpm`,`add`,`-g`,`${q}@latest`],yarn:[`yarn`,`global`,`add`,`${q}@latest`],bun:[`bun`,`add`,`-g`,`${q}@latest`]};function Kt(){return pe(`update-check.json`)}function Y(e,t){let n=String(e).split(`.`).map(e=>parseInt(e,10)||0),r=String(t).split(`.`).map(e=>parseInt(e,10)||0);for(let e=0;e<3;e+=1){if((n[e]??0)>(r[e]??0))return 1;if((n[e]??0)<(r[e]??0))return-1}return 0}function qt(){try{return JSON.parse(P.readFileSync(Kt(),`utf8`))}catch{return null}}function Jt(e){try{P.mkdirSync(pe(),{recursive:!0}),P.writeFileSync(Kt(),JSON.stringify(e))}catch{}}function Yt(){try{P.rmSync(Kt(),{force:!0})}catch{}}function Xt(e,t){if(N.env.CODER_NO_UPDATE_CHECK||N.env.CI)return;let n=qt();if(!n?.checkedAt||Date.now()-n.checkedAt>864e5)try{je(N.execPath,[t,`upgrade`,`refresh`],{detached:!0,stdio:`ignore`}).unref()}catch{}return n?.latest&&Y(n.latest,e)>0?n.latest:void 0}async function Zt(e){let t=qt()?.latest??null;try{let e=await fetch(Gt,{signal:AbortSignal.timeout(3e3),headers:{accept:`application/json`}});if(e.ok){let n=await e.json();n?.version&&(t=n.version)}}catch{}Jt({checkedAt:Date.now(),latest:t,current:e})}function Qt(e){let t=e;try{t=P.realpathSync(e)}catch{}let n=t.replace(/\\/g,`/`);return/\/\.bun\//.test(n)?{pm:`bun`,command:J.bun}:/\/\.pnpm\//.test(n)||/\/pnpm(-global)?\//i.test(n)||/\/Library\/pnpm\//.test(n)?{pm:`pnpm`,command:J.pnpm}:/\/\.config\/yarn\/global\//.test(n)||/\/yarn\/global\//.test(n)||/\/Yarn\/Data\/global\//.test(n)?{pm:`yarn`,command:J.yarn}:{pm:`npm`,command:J.npm}}function $t(e){F(`claude`,[`plugin`,`marketplace`,`remove`,`coder-plugins`],{encoding:`utf8`});let t=F(`claude`,[`plugin`,`marketplace`,`add`,e],{encoding:`utf8`}),n=F(`claude`,[`plugin`,`install`,`coder@coder-plugins`],{encoding:`utf8`}),r=t.status===0&&n.status===0;return{marketplace:e,installed:r,note:r?`Plugin installed; restart any running Claude Code session to load it.`:`Automatic install failed (${(n.stderr||t.stderr||`claude not found`).trim()}); run: claude plugin marketplace add "${e}" && claude plugin install coder@coder-plugins`}}function en(){return M.join(L.homedir(),`.agents`,`skills`,`coder`)}function tn(){try{let e=P.readFileSync(M.join(en(),`SKILL.md`),`utf8`);return/^\s*version:\s*(\S+)/m.exec(e)?.[1]??null}catch{return null}}function nn(e){let t=en();try{let n=M.join(e,`plugins`,`agents`,`skills`,`coder`);P.rmSync(t,{recursive:!0,force:!0}),P.mkdirSync(t,{recursive:!0}),P.cpSync(n,t,{recursive:!0});let r=M.join(t,`SKILL.md`),i=P.readFileSync(r,`utf8`).replace(`
5
+ ---
6
+ `,`\nmetadata:\n version: ${y()}\n---\n`);return P.writeFileSync(r,i),{marketplace:t,installed:!0,note:`Skill installed to ~/.agents/skills/coder; restart running sessions to load it.`}}catch(e){return{marketplace:t,installed:!1,note:`Skill install failed: ${e instanceof Error?e.message:String(e)}`}}}function rn(e){if(e.available)return null;let t=F(`npm`,[`install`,`-g`,`@openai/codex@latest`],{encoding:`utf8`});return t.status===0?{installed:!0,note:`codex CLI installed (runs your custom models; no login needed for them)`}:{installed:!1,note:`custom models run on the codex CLI and it is not installed; auto-install failed: ${(t.stderr||`npm not found`).trim()}. Run: npm install -g @openai/codex`}}const an={codex:{"gpt-6-astra":`0.154.0`,"gpt-6-sol":`0.156.1`,"gpt-6-luna":`0.156.1`,"gpt-6.1-sol":`0.159.1`},claude:{sonnet:`2.1.197`,fable:`2.1.257`,opus:`2.1.280`}};function on(e){let t=/(\d+\.\d+\.\d+)/.exec(String(e??``));return t?t[1]:null}function sn(e,t,n){let r=t?an[e][t]:void 0,i=on(n.detail);return!r||!i||Y(i,r)>=0?null:`${e} ${i} predates ${t} (needs ${r}), so it may fail or run another model. Run: ${e} update`}function cn(e){if(!e.available)return null;let t=on(e.detail);if(!t||Y(t,`0.159.1`)>=0)return null;let n=F(`codex`,[`update`],{encoding:`utf8`});return n.status!==0&&(n=F(`npm`,[`install`,`-g`,`@openai/codex@latest`],{encoding:`utf8`})),n.status===0?{updated:!0,from:t}:{updated:!1,from:t,note:`codex ${t} is too old for the default codex model (needs >= 0.159.1); auto-update failed: ${(n.stderr||`codex/npm not found`).trim()}. Run: codex update`}}async function ln(e,t={},r){let i=t.hosts??[],a=i.find(e=>![`claude`,`agents`].includes(e));if(a)throw new R(`invalid-option`,`Unknown host "${a}". Use claude or agents.`,{hint:`Codex, Pi, OpenCode, and other Agent Skills hosts: coder setup-host agents`});let o=e=>i.includes(e);r?.();let s=K(e),c=cn(s);c?.updated&&(s=K(e));let l=s.available?await Bt(e):{loggedIn:!1,detail:s.detail},u=Q(),d=u.available?Cn():{loggedIn:!1,detail:u.detail},f=n();if(!P.existsSync(f)){let e=s.available?[`codex`,`claude`]:u.available?[`claude`,`codex`]:[`codex`,`claude`];ue({...Te,chain:e})}let p=C(),m=o(`claude`)?$t(p):null,h=o(`agents`)?nn(p):null,g=te(e),_=s.available&&l.loggedIn||u.available&&d.loggedIn;return{codex:{available:s.available,detail:s.detail,auth:l.detail,loggedIn:l.loggedIn},...c?{codexUpdate:c}:{},claude:{available:u.available,detail:u.detail,auth:d.detail,loggedIn:d.loggedIn},configFile:f,runtime:Ae(new URL(`../bin/coder.mjs`,import.meta.url)),...m?{claudePlugin:m}:{},...h?{agentsSkill:h}:{},config:g,ready:_}}async function un(e={},t){let n=!e.pluginsOnly,r=!e.cliOnly,a=C(),o=M.join(a,`plugins/claude/.claude-plugin/plugin.json`),s={cli:y(),claude:_(o)},c={};if(n){let n=Qt(i),[r,...a]=e.pm&&J[e.pm]||n.command,o=e.pm??n.pm;t?.(`via ${o}`);let l=F(r,a,{encoding:`utf8`});if(l.error?.code===`ENOENT`)throw new R(`invalid-option`,`${o} not found on PATH. Re-run with --pm <npm|pnpm|yarn|bun>, or update manually: ${r} ${a.join(` `)}`);if(l.status!==0){let e=(l.stderr||l.stdout||``).trim();throw new R(`invalid-option`,`CLI update failed (${o}).${e?`\n${e}`:``}\nRun manually: ${r} ${a.join(` `)}`)}Yt();let u=y();c.cli={pm:o,from:s.cli,to:u,changed:u!==s.cli}}if(r){if(e.claude||!e.codex&&Q().available){let e=$t(a);c.claudePlugin={installed:e.installed,note:e.note,from:s.claude,to:_(o)}}if(P.existsSync(en())){let e=tn(),t=nn(a);c.agentsSkill={installed:t.installed,note:t.note,from:e,to:tn()}}}return c}function dn(e=[],t={}){return ln(M.resolve(t.cwd??`.`),{hosts:e})}const fn=new Set([`Write`,`Edit`,`MultiEdit`,`NotebookEdit`]),pn=`coder-mcp-status`,X=new Map,mn=`CODER_CLAUDE_VERSION`;function hn(e){let t=e=>e&&typeof e==`object`&&(typeof e.data==`string`||typeof e.blob==`string`||Object.values(e).some(t)),n=e=>typeof e==`string`?e:t(e)||[`image`,`document`,`audio`,`video`,`file`].includes(e?.type)?`[${e?.type??`binary`}]`:typeof e?.text==`string`?e.text:e==null?``:JSON.stringify(e);return Array.isArray(e)?e.map(n).join(``):n(e)}function gn(e){if(!e)return 0;let t=e.split(/\r\n|\r|\n/);return t.at(-1)===``&&t.pop(),Math.max(1,t.length)}function _n(e,t,n=!1){if(!t)return[];let r;try{r=P.readFileSync(e,`utf8`)}catch{return[]}let i=[],a=0;for(;a<=r.length;){let e=r.indexOf(t,a);if(e<0)break;let o=gn(r.slice(0,e))+1,s=Math.max(1,gn(t));if(i.push(s===1?`L${o}`:`L${o}-L${o+s-1}`),!n)break;a=e+Math.max(t.length,1)}return i.length>4?[...i.slice(0,4),`+${i.length-4} matches`]:i}function vn(e){let t=(typeof e==`string`?e:JSON.stringify(e)??String(e)).replace(/\s+/g,` `).trim();return t.length>80?`${t.slice(0,80)}…`:t}function yn(e,t,n){let r=String(t.file_path??t.notebook_path??t.path??``),i=r?M.isAbsolute(r)?r:M.resolve(n,r):``,a=r?A(n,i)||r:`(unknown path)`,o=t.path?` in ${A(n,String(t.path))}`:``;if(e===`Write`){let e=gn(String(t.content??``));return`Write ${a} ${e?`L1-L${e}`:`(empty file)`}`}if(e===`Edit`){let e=_n(i,String(t.old_string??``),t.replace_all===!0);return`Edit ${a}${e.length?` ${e.join(`, `)}`:``}`}if(e===`MultiEdit`){let e=Array.isArray(t.edits)?t.edits:[],n=e.flatMap(e=>_n(i,String(e?.old_string??``),e?.replace_all===!0));return`MultiEdit ${a}${n.length?` ${n.join(`, `)}`:``} (${e.length} edits)`}if(e===`NotebookEdit`){let e=t.cell_id??t.cell_number;return`NotebookEdit ${a}${e==null?``:` cell ${e}`}`}if(e===`Read`){let e=Number(t.offset??0),n=Number(t.limit??0);return`Read ${a}${e&&n?` L${e}-L${e+n-1}`:e?` from L${e}`:``}`}if(e===`Bash`)return`Bash ${String(t.command??``).trim()||`(no command)`}`;if(e===`Glob`)return`Glob ${String(t.pattern??``)}${o}`;if(e===`Grep`){let e=t.glob?` (${String(t.glob)})`:``;return`Grep ${String(t.pattern??``)}${o}${e}`}if(e===`Task`)return`Task ${t.subagent_type?`${String(t.subagent_type)}: `:``}${vn(t.description??t.prompt??``)}`;if(e===`WebFetch`)return`WebFetch ${String(t.url??``)}`;if(e===`WebSearch`)return`WebSearch ${String(t.query??``)}`;if(e===`TodoWrite`){let e=Array.isArray(t.todos)?t.todos:[];return`TodoWrite ${e.length} item${e.length===1?``:`s`}`}let s=Object.entries(t??{}).map(([e,t])=>`${e}=${vn(t)}`).join(` `);return s?`${e} ${s}`:e}function Z(e){if(!e||typeof e!=`object`)return null;let t=e=>typeof e==`number`&&Number.isFinite(e)?e:0,n=t(e.input_tokens),r=t(e.cache_read_input_tokens)+t(e.cache_creation_input_tokens),i=t(e.output_tokens);return{input:n,cachedInput:r,output:i,total:n+r+i}}function bn(e,t,n){let r=N.platform===`win32`?t[Object.keys(t).sort().find(e=>e.toLowerCase()===`path`)??`PATH`]??N.env.PATH??``:t.PATH??`/usr/bin:/bin`,i=/[\\/]/.test(e)?[``]:[...N.platform===`win32`?[n]:[],...r.split(M.delimiter)],a=N.platform===`win32`&&!M.extname(e)?[``,...(t.PATHEXT??`.EXE;.COM`).split(`;`)]:[``];for(let t of i)for(let r of a){let i=M.resolve(n,t,e+r);try{if(P.accessSync(i,P.constants.X_OK),P.statSync(i).isFile())return P.realpathSync(i)}catch{}}return M.resolve(n,e)}function xn(e,t){let n=bn(`claude`,p(e),t),r=X.get(n);return{[mn]:r===void 0?void 0:JSON.stringify({executable:n,detail:r})}}function Sn(e,t,n){let r=bn(e,t,n),i=X.get(r);if(i!==void 0)return i;try{let e=JSON.parse(t[mn]??`null`);if(e?.executable===r&&typeof e.detail==`string`)return X.set(r,e.detail),e.detail}catch{}return Q(e,t,n).detail}function Q(e=`claude`,t=N.env,n=N.cwd()){t=p(t);let r=bn(e,t,n),i=F(e,[`--version`],{encoding:`utf8`,env:t,cwd:n}),a=!i.error&&i.status===0,o=a?String(i.stdout||``).trim():`claude CLI not found on PATH (npm install -g @anthropic-ai/claude-code)`;return X.set(r,o),{available:a,detail:o}}function Cn(){if(N.env.CLAUDE_CODE_OAUTH_TOKEN)return{loggedIn:!0,detail:`CLAUDE_CODE_OAUTH_TOKEN configured`};if(N.env.ANTHROPIC_API_KEY)return{loggedIn:!0,detail:`ANTHROPIC_API_KEY configured`};let e=F(`claude`,[`auth`,`status`,`--json`],{encoding:`utf8`,env:p()});if(e.error||e.status!==0)return{loggedIn:!1,detail:`not logged in`};try{let t=JSON.parse(String(e.stdout||``));return t.loggedIn?{loggedIn:!0,detail:[t.email,t.subscriptionType].filter(Boolean).join(`, `)||`logged in`}:{loggedIn:!1,detail:`not logged in`}}catch{return{loggedIn:!1,detail:`unknown`}}}function wn(e,t){let n=t.permissions??`auto`,r=t.mcpServers??[],a={};n===`auto`&&t.approvalTaskId&&(a.coder={type:`stdio`,command:N.execPath,args:[i,`task`,`mcp`,t.approvalTaskId,`--cwd`,e]});for(let e of r)a[e.name]={...e.url?{type:e.type??`http`,url:e.url,...e.headers?{headers:e.headers}:{}}:{type:`stdio`,command:e.command,args:e.args??[],...e.env?{env:e.env}:{}},...e.alwaysLoad?{alwaysLoad:!0}:{}};return a}function Tn(e,t,n,i,a,o){let s=[`-p`,`--input-format`,`stream-json`,`--output-format`,`stream-json`,`--verbose`,`--replay-user-messages`],c=on(a);if(c&&Y(c,`2.1.94`)>=0&&s.push(`--thinking-display`,`summarized`),s.push(t.resumeSessionId?`--resume`:`--session-id`,n),t.model&&s.push(`--model`,t.model),t.effort&&s.push(`--effort`,t.effort),t.systemPrompt&&s.push(`--append-system-prompt-file`,o??M.join(t.taskRoot??e,`.claude-system.md`)),t.excludeDynamicSections&&s.push(`--exclude-dynamic-system-prompt-sections`),t.settingSources&&s.push(`--setting-sources`,t.settingSources),t.outputSchema){let{$schema:e,...n}=t.outputSchema;s.push(`--json-schema`,JSON.stringify(n))}let l=t.permissions??`auto`,u=t.additionalDirectories??[],d=l===`read-only`?t.readOnlyAllowedTools??[]:[],f=t.mcpServers??[],p=wn(e,t),m=l===`auto`&&t.approvalTaskId,g=f.flatMap(e=>e.tools?.length?e.tools.map(t=>`mcp__${e.name}__${t}`):[`mcp__${e.name}`]),_=Object.keys(p).length?[`--mcp-config`,i??M.join(t.taskRoot??e,`.claude-mcp.json`)]:t.nativeMcp?[]:[`--mcp-config`,`{"mcpServers":{}}`];t.nativeMcp||s.push(`--strict-mcp-config`,`--no-chrome`),m?(s.push(`--permission-mode`,`default`,..._,`--permission-prompt-tool`,`mcp__coder__approval_prompt`),g.length&&s.push(`--allowedTools`,...g)):d.length?s.push(...r.filter(e=>N.env.CODER_MACHINE_SANDBOX!==`1`||e!==`Bash`),..._,`--allowedTools`,...d,...g):(s.push(...b[l]??b.auto,..._),g.length&&s.push(`--allowedTools`,...g));let y=t.writableDirectories??[];for(let e of[...u,...l===`read-only`?[]:y])s.push(`--add-dir`,e);let x=h(l,e,t.allowedNetworkHosts??[],u,y,N.env[v]!==`1`),S={...x?JSON.parse(x):{},...t.nativeMcp?{}:{disableClaudeAiConnectors:!0},...t.promptCacheTtl&&c&&Y(c,`2.1.242`)>=0?{promptCacheTtl:t.promptCacheTtl}:{}};return Object.keys(S).length&&s.push(`--settings`,JSON.stringify(S)),s}function $(e,t){return Object.assign(Error(e),{retryable:t})}function En(e,t){let n=t&&V(t),r=n&&`${n.slice(0,14)}5${n.slice(15,19)}${(Number.parseInt(n[19],16)&3|8).toString(16)}${n.slice(20)}`;return{type:`user`,...r?{uuid:r}:{},message:{role:`user`,content:[{type:`text`,text:e}]}}}function Dn(e){let t=!0;return{sendInitial(t,n){return new Promise((r,i)=>{e(`${JSON.stringify(En(t,n))}\n`,e=>{e?i(e):r()})})},sendSteer(n,r){return t?new Promise((t,i)=>{e(`${JSON.stringify(En(n,r))}\n`,e=>{if(!e){t();return}let n=e.code,r=n===`EPIPE`||n===`ERR_STREAM_DESTROYED`||n===`ERR_STREAM_WRITE_AFTER_END`;i($(`Failed to write Claude live steer: ${e.message}`,r))})}):Promise.reject($(`Claude turn is no longer accepting live input.`,!0))},stopAccepting(){t=!1}}}async function On(e){return He(`coder-claude-steer-`,async(t,n)=>{if(n)throw $(`Claude turn is no longer accepting live input.`,!0);let r=typeof t?.params?.text==`string`?t.params.text.trim():``;if(t.method!==`turn/steer`||!r)throw $(`Invalid Claude steer request.`,!1);return await e(r,t.command),{accepted:!0}})}async function kn(e,t,n=3e3,r){if(!t.trim())return{steered:!1,retryable:!1,detail:`empty follow-up`};let i=await Ue(e,{id:V(r),method:`turn/steer`,params:{text:t.trim()},command:r},n,`Claude live steer`);return{steered:i.ok&&i.result?.accepted===!0,retryable:i.retryable,detail:i.detail}}async function An(e,t){let n=await jn(e,t);return!t.resumeSessionId||!n.error?.message?.includes(`No conversation found with session ID`)?n:(t.onProgress?.({kind:`warning`,message:he}),jn(e,{...t,resumeSessionId:null}))}async function jn(e,t){let n=t.resumeSessionId??I(),r=wn(e,t),i=Object.keys(r).length?M.join(t.taskRoot??e,`.claude-mcp-${I()}.json`):void 0,a=t.systemPrompt?M.join(t.taskRoot??e,`.claude-system-${I()}.md`):void 0;for(let[e,n]of[[i,`${JSON.stringify({mcpServers:r})}\n`],[a,t.systemPrompt]])e&&(P.mkdirSync(M.dirname(e),{recursive:!0}),P.writeFileSync(e,n,{encoding:`utf8`,flag:`wx`,mode:384}));o(`claude.prepare`,{resume:!!t.resumeSessionId});let s=p({...N.env,...t.env}),c=Tn(e,t,n,i,Sn(t.executable??`claude`,s,e),a),l=()=>{for(let e of[i,a])if(e)try{P.unlinkSync(e)}catch{}};return t.onProgress?.({kind:`status`,message:`claude turn started (session ${n})`,threadId:n}),new Promise((r,i)=>{let a=Date.now();o(`claude.spawn`);let u=je(t.executable??`claude`,c,{cwd:e,stdio:[`pipe`,`pipe`,`pipe`],env:s}),d=``,f=``,p=[],m=null,h=n,g=null,_=!1,v=Dn((e,t)=>u.stdin.write(e,t)),y=Date.now(),b=new Map,x=0,S=0,C=null,w,E=0,D=new Set,ee=n=>{if(!(!n||typeof n!=`object`)){if(l(),t.onHeartbeat?.(),n.type===`system`&&n.subtype===`init`&&n.session_id)h=n.session_id,n.mcp_servers?.some(e=>e.status===`failed`)&&u.stdin.write(`${JSON.stringify({type:`control_request`,request_id:pn,request:{subtype:`mcp_status`}})}\n`);else if(n.type===`control_response`&&n.response?.request_id===pn)for(let e of n.response.response?.mcpServers??[])e.status===`failed`&&t.onProgress?.({kind:`error`,message:`MCP server ${e.name} failed to start. ${e.error??``}`.trim()});else if(n.type===`stream_event`&&!n.parent_tool_use_id){let e=n.event;e?.type===`message_start`?(w=e.message?.id,C=e.message?.usage):e?.type===`message_delta`&&(C={...C,...e.usage});let t=Z(C);S=t?t.input+t.cachedInput:0}else if(n.type===`assistant`||n.type===`user`){let r=n.type===`assistant`?Z(n.message?.usage):null;if(n.type===`assistant`&&!n.parent_tool_use_id){(!w||w!==n.message?.id)&&(C=null),w=n.message?.id,(!C||r&&r.input+r.cachedInput>0)&&(C=n.message?.usage);let e=Z(C);S=e?e.input+e.cachedInput:0}if(r){x+=r.output;let e=r.input+r.cachedInput+x;(!E||e-E>=1e3)&&(E=e,t.onProgress?.({kind:`usage`,tokens:{...r,output:x,total:e},threadId:h}))}for(let r of n.message?.content??[])if(r?.type===`tool_use`||r?.type?.endsWith(`_tool_use`)){let n=String(r.name??`Tool`);if(r.id&&b.set(String(r.id),{name:n,at:Date.now()}),fn.has(n)){let t=String(r.input?.file_path??r.input?.notebook_path??``);t&&D.add(M.isAbsolute(t)?t:M.resolve(e,t))}t.onProgress?.({kind:`tool`,tool:n,...r.id?{callId:String(r.id)}:{},message:yn(n,r.input??{},e),threadId:h})}else if(r?.type===`tool_result`||r?.type?.endsWith(`_tool_result`)){let e=hn(r.content).trim(),n=r.is_error===!0||r.content?.type?.endsWith(`_error`)===!0,i=r.tool_use_id?b.get(String(r.tool_use_id)):void 0;r.tool_use_id&&b.delete(String(r.tool_use_id)),t.onProgress?.({kind:`tool-result`,...r.tool_use_id?{callId:String(r.tool_use_id)}:{},...i?{tool:i.name,durationMs:Date.now()-i.at}:{},...n?{isError:!0}:{},message:e||(n?`(tool failed with no output)`:`(no output)`),threadId:h})}else n.type===`assistant`&&r?.type===`text`&&typeof r.text==`string`&&r.text.trim()?t.onProgress?.({kind:`assistant`,message:r.text.trim(),threadId:h}):n.type===`assistant`&&r?.type===`thinking`&&typeof r.thinking==`string`&&r.thinking.trim()&&t.onProgress?.({kind:`reasoning`,message:r.thinking.trim(),durationMs:Math.max(0,Date.now()-y),threadId:h})}else n.type===`result`&&(o(`claude.result`),m=n,t.onResult?.({status:n.is_error||p.length?1:0,threadId:n.session_id??h,finalMessage:n.structured_output===void 0?String(n.result??``).trim():JSON.stringify(n.structured_output),error:n.is_error||p.length?{message:p[0]||String(n.result??``)}:null}),n.session_id&&(h=n.session_id),v.stopAccepting(),u.stdin.end());y=Date.now()}};u.stdout.on(`data`,e=>{d+=e;let t;for(;(t=d.indexOf(`
7
+ `))>=0;){let e=d.slice(0,t).trim();if(d=d.slice(t+1),e)try{ee(JSON.parse(e))}catch(e){p.push(`Invalid Claude stream-json output: ${e instanceof Error?e.message:String(e)}`)}}}),u.stderr.on(`data`,e=>{f+=e});let O=()=>{v.stopAccepting(),u.kill(`SIGTERM`),l();let e=g?.endpoint;e?.startsWith(`file:`)&&P.rmSync(e.slice(5),{recursive:!0,force:!0}),N.exit(143)};N.on(`SIGTERM`,O),(async()=>{t.onSteerReady&&(g=await On((e,t)=>v.sendSteer(e,t))),await v.sendInitial(t.prompt,t.command),g&&t.onSteerReady?.(g.endpoint)})().catch(e=>{_||(_=!0,v.stopAccepting(),u.kill(`SIGTERM`),l(),N.removeListener(`SIGTERM`,O),g?.close(),i(e))}),u.on(`error`,e=>{_||(_=!0,v.stopAccepting(),N.removeListener(`SIGTERM`,O),l(),g?.close(),i(Error(`claude spawn failed: ${e.message}`)))}),u.on(`close`,async e=>{if(_)return;_=!0,v.stopAccepting(),N.removeListener(`SIGTERM`,O),l(),o(`claude.exit`),await g?.close(),o(`claude.teardown.done`);let n=d.trim();if(n)try{ee(JSON.parse(n))}catch(e){p.push(`Invalid trailing Claude stream-json output: ${e instanceof Error?e.message:String(e)}`)}let i=m?.structured_output===void 0?(m?.result??``).trim():JSON.stringify(m.structured_output),c=e!==0||m?.is_error===!0||m==null||p.length>0;o(`claude.usage.start`);let u=Z(m?.usage);if(!S&&m){let e=Z(await T(h,a,s.CLAUDE_CONFIG_DIR).catch(()=>null)),t=e&&e.input+e.cachedInput>0?e:u;S=t?t.input+t.cachedInput:0}o(`claude.usage.done`),r({status:+!!c,threadId:m?.session_id??h,turnId:null,finalMessage:i,touchedFiles:[...D],tokens:u,contextTokens:S,model:m?.modelUsage&&Object.keys(m.modelUsage).join(`+`)||t.model||null,error:c?{message:p[0]||i||f.trim()||`claude exited ${e}`}:null})})})}const Mn=new Set(`commit.checkout.switch.restore.stash.reset.rebase.merge.push.pull.cherry-pick.revert.clean.am.apply.tag.branch.worktree.filter-branch.filter-repo.gc.prune.reflog.remote.submodule.config`.split(`.`)),Nn=[/\bsudo\b/,/\brm\s+(-[a-zA-Z]*r[a-zA-Z]*f|-[a-zA-Z]*f[a-zA-Z]*r)\b.*\s(\/\*?|~\/?|\$HOME\/?)(\s|$)/,/\b(shutdown|reboot|halt|poweroff)\b/,/\bmkfs\b|\bdiskutil\s+erase/i,/\b(chmod|chown)\b.*-R.*\s\/(\s|$)/,/\bkill(all)?\s+-9\s+1\b/,/curl[^|;&]*\|\s*(ba|z|da)?sh\b/,/wget[^|;&]*\|\s*(ba|z|da)?sh\b/,/\blaunchctl\b|\bsystemctl\b/,/\bdefaults\s+write\b/,/>\s*\/dev\/(sd|disk)/],Pn=new Set([`status`,`log`,`diff`,`show`,`blame`,`rev-parse`,`ls-files`,`ls-tree`,`cat-file`,`describe`,`shortlog`,`grep`,`branch`,`stash`]);function Fn(e){return e.match(/^\s*(?:ba|z|da)?sh\s+(?:-[a-zA-Z]+\s+)*(?:-c\s+)?(["'])([\s\S]*)\1\s*$/)?.[2]??e}function In(e){return e.trim().split(/\s+/).filter(Boolean)}function Ln(e){let t=e.find((e,t)=>t>0&&!e.startsWith(`-`));if(!t)return{decision:`accept`,reason:`bare git`};if(t===`branch`&&e.some(e=>/^-(d|D|m|M|c|C|f|u)|^--(delete|move|copy|force|set-upstream)/.test(e)))return{decision:`decline`,reason:`git branch write operation (git is read-only for Coder)`};if(t===`stash`){let t=e.find((e,t)=>t>1&&!e.startsWith(`-`));return t===`list`||t===`show`?{decision:`accept`,reason:`git stash ${t} is read-only`}:{decision:`decline`,reason:`git stash write operation (git is read-only for Coder)`}}return Pn.has(t)?{decision:`accept`,reason:`git ${t} is read-only`}:Mn.has(t)?{decision:`decline`,reason:`git ${t} is a write operation (git is read-only for Coder)`}:{decision:`escalate`,reason:`unrecognized git subcommand: ${t}`}}function Rn(e,t={}){let n=Fn(String(e??``));if(!n.trim())return{decision:`escalate`,reason:`empty command`};for(let e of Nn)if(e.test(n))return{decision:`decline`,reason:`matches hard-deny pattern ${e}`};if(/\$\(|`|<\(/.test(n))return{decision:`escalate`,reason:`contains command substitution`};let r=n.split(/&&|\|\||;|\||\r?\n/).map(e=>e.trim()).filter(Boolean);if(r.length>1){let e={decision:`accept`,reason:`all segments safe`};for(let n of r){let r=Rn(n,t);if(r.decision===`decline`)return r;r.decision===`escalate`&&(e=r)}return e}let i=In(n),a=M.basename(i[0]??``);if(a===`git`)return Ln(i);let o=t.networkHost;return o?(t.allowedNetworkHosts??[]).some(e=>o===e||o.endsWith(`.${e}`))?{decision:`accept`,reason:`network host ${o} is allowlisted`}:{decision:`escalate`,reason:`network access to ${o}`}:{decision:`escalate`,reason:`command needs approval: ${a||`(unknown)`}`}}function zn(e,t){if(!e.length)return{decision:`escalate`,reason:`file change with no resolvable paths`};for(let n of e){let e=M.resolve(t,n),r=M.relative(t,e);if(r.startsWith(`..`)||M.isAbsolute(r))return{decision:`escalate`,reason:`path outside workspace: ${n}`};if(r===`.git`||r.startsWith(`.git${M.sep}`))return{decision:`decline`,reason:`direct .git modification: ${n}`}}return{decision:`accept`,reason:`all paths inside workspace`}}function Bn(e){return M.join(e,`approvals`)}function Vn(e){let t=Bn(e);return P.existsSync(t)?P.readdirSync(t).filter(e=>e.endsWith(`.request.json`)).flatMap(e=>{let n=e.replace(/\.request\.json$/,``),r=k(M.join(t,e));if(!r)return[];let i=k(M.join(t,`${n}.response.json`));return[{...r,id:n,response:i}]}).sort((e,t)=>String(e.createdAt??``).localeCompare(String(t.createdAt??``))):[]}function Hn(e,t,n){let r=Bn(e),i=M.join(r,`${t}.request.json`);if(!P.existsSync(i))throw Error(`No pending approval "${t}" for this task.`);P.writeFileSync(M.join(r,`${t}.response.json`),`${JSON.stringify({decision:n,answeredAt:new Date().toISOString()},null,2)}\n`,`utf8`)}async function Un(e,t,{timeoutMs:n,onEvent:r}){let i=Bn(e);P.mkdirSync(i,{recursive:!0});let a=`apr-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,6)}`;P.writeFileSync(M.join(i,`${a}.request.json`),`${JSON.stringify({...t,createdAt:new Date().toISOString()},null,2)}\n`,`utf8`),r?.({kind:`approval-escalated`,approvalId:a,summary:t.summary,message:`Approval needed (${a}): ${t.summary}. Answer with: coder task approve ${M.basename(e)} ${a} [--deny]`});let o=M.join(i,`${a}.response.json`),s=await we(i).until(()=>k(o)??void 0,n);if(s){let e=s.decision===`accept`?`accept`:`decline`;return r?.({kind:`approval-answered`,approvalId:a,decision:e}),e}return r?.({kind:`approval-timeout`,approvalId:a,message:`Approval ${a} timed out; declining.`}),`decline`}function Wn(e,t={}){return Un(e,{method:`simulate`,summary:`simulated approval probe (--simulate-approval)`},{timeoutMs:t.timeoutMs??12e4,onEvent:t.onEvent??null})}function Gn({workspaceRoot:e,taskDir:t,mode:n=`auto`,escalationTimeoutMs:r=12e4,allowedNetworkHosts:i=[],onEvent:a=null}){return async(o,s,c)=>{let l=c?.itemIndex?.get(s.itemId??``),u,d;if(o===`item/commandExecution/requestApproval`){let t=s.command??l?.command??``,n=s.cwd??l?.cwd??e;u={method:o,summary:`Run command. ${t||`Unknown command`}${s.reason?`. ${s.reason}`:``}`,command:t,cwd:n,params:s},d=Rn(t,{networkHost:s.networkApprovalContext?.host??null,allowedNetworkHosts:i})}else if(o===`item/fileChange/requestApproval`){let t=(l?.changes??[]).map(e=>e.path).filter(e=>!!e);u={method:o,summary:`Apply file changes. ${t.join(`, `)||`Unknown paths`}${s.reason?`. ${s.reason}`:``}`,paths:t,params:s},d=zn(t,e)}else throw a?.({kind:`approval-unsupported`,method:o}),Error(`Coder does not handle server request ${o}; treating as denied.`);return n===`deny`&&(d={decision:`decline`,reason:`deny mode`}),a?.({kind:`approval-decision`,method:o,...d,summary:u.summary}),{decision:d.decision===`escalate`?await Un(t,u,{timeoutMs:r,onEvent:a}):d.decision}}}const Kn=/usage|quota|rate.?limit|429|401|unauthorized|not authenticated|login|insufficient|exhausted|not available|ENOENT/i;function qn(e){return Kn.test(e)&&!Ie(e)}var Jn=class extends Error{engine;detail;constructor(e,t){super(t),this.engine=e,this.detail=t}};function Yn(e,t){let n=e.engine,r=!!n,i=e.model,o=e.effort,s=e=>{let n=e?t.models?.[e]:void 0;return n&&ee(n)?n:void 0},l=e=>{let n=e?t.models?.[e]:void 0;return n&&D(n)?n:void 0},u=e=>{try{return ye(e,t)}catch(e){throw new R(`invalid-option`,e instanceof Error?e.message:String(e))}};if(s(i)){let e=u(i);e&&(r||(n=e.engine),i=e.model??void 0,o=o??e.effort??void 0)}if(!n&&i&&(i in a?n=`claude`:i in g?n=`codex`:l(i)?n=`custom`:/^(?:claude-|opus|sonnet|haiku|fable)/i.test(i)&&(n=`claude`)),n=n??t.chain[0]??`codex`,n!==`codex`&&n!==`claude`&&n!==`custom`){let e=n in g||n in a||n in(t.models??{})?` "${n}" is a model; use --model ${n}.`:``;throw new R(`invalid-option`,`Invalid --engine "${n}". Use codex, claude, or custom.${e}`)}let d=t.engines[n]??{},p=i??d.model??null,m=o??d.effort??null;if(s(p)){let e=u(p);e&&(r||(n=e.engine),p=e.model,m=o??e.effort??m)}let h=e.permissions??d.permissions??`auto`;try{f(t,p)}catch(e){throw new R(`invalid-option`,e instanceof Error?e.message:String(e))}if(n===`custom`){let e=Object.entries(t.models??{}).filter(([,e])=>D(e)).map(([e])=>e);if(!p&&e.length===1&&(p=e[0]),!p||!l(p))throw new R(`invalid-option`,p?`No custom model named "${p}". Configured: ${e.join(`, `)||`none`}.`:`No custom model to run: pass --model <name> or set engines.custom.model.`,{hint:`Add one: coder model add <name> --base-url <url> --model <id>`})}let _=n===`claude`;if(!(h in S))throw new R(`invalid-option`,`Invalid --permissions "${h}". Use one of: ${Object.keys(S).join(`, `)}`);if(!_&&m&&!de.has(m))throw new R(`invalid-option`,`Invalid codex --effort "${m}". Use one of: ${[...de].join(`, `)}`);if(_&&m&&!c.has(m))throw new R(`invalid-option`,`Invalid claude --effort "${m}". Use one of: ${[...c].join(`, `)}`);return{engine:n,model:p,effort:m,permissions:h}}const{connection:Xn,description:Zn,...Qn}=d.shape,$n=s({name:x().check(e(1)),...Qn}).check(u(e=>!!e.command!=!!e.url,`one of command or url`)),er=ce($n);function tr(e,t={}){let n=e.trim();return/^[\[{]/.test(n)?rr(n):(n===`all`?Object.keys(t):n.split(`,`).map(e=>e.trim()).filter(Boolean)).map(e=>{let n=t[e];if(!n)throw new R(`invalid-option`,`Unknown MCP server "${e}".`,{hint:`configured: ${Object.keys(t).join(`, `)||`none`}; or pass a JSON array`});return{name:e,...n}})}function nr(e,t={},n={},r={}){typeof e==`string`&&!e.trim()&&(e=void 0);let i=typeof e==`string`?tr(e,{...t,...n}):e??Object.entries(n).map(([e,t])=>({name:e,...t})),a=[],o=i.filter(e=>e.connection).map(({name:e,connection:t,tools:n})=>({name:e,connection:t,...n?{tools:n}:{}})),s=new Set,c=[];for(let e of i){if(!e.connection||e.resolved){e.connection&&s.add(e.connection),e.repository&&a.push(...me(e.name,e)),c.push(e);continue}let t=Object.hasOwn(r,e.connection)?r[e.connection]:void 0;if(!t){a.push(`MCP server "${e.name}" skipped because connection "${e.connection}" was not granted to this task.`);continue}if(s.has(e.connection))continue;s.add(e.connection);let n=e.tools?.length?e.tools.filter(e=>!t.tools?.length||t.tools.includes(e)):t.tools;if(e.tools?.length&&!n?.length){a.push(`MCP server "${e.name}" skipped because its tools are not granted by connection "${e.connection}".`);continue}c.push({...t,name:e.name,connection:e.connection,resolved:!0,...n?{tools:n}:{}})}for(let[e,t]of Object.entries(r)){if(s.has(e))continue;let n=c.findIndex(e=>e.name===t.name);n>=0&&c.splice(n,1),c.push({...t,resolved:!0})}return{mcp:c,...o.length?{mcpBindings:o}:{},nativeMcp:typeof e==`string`&&e.trim()===`all`,...a.length?{warnings:a}:{}}}function rr(e){let n;try{n=JSON.parse(e)}catch(e){throw new R(`invalid-option`,`Invalid --mcp JSON: ${e instanceof Error?e.message:String(e)}`)}let r=er.safeParse(n);if(!r.success)throw new R(`invalid-option`,`Invalid --mcp value: ${t(r.error)}`,{hint:`--mcp '[{"name":"docs","command":"npx","args":["-y","docs-mcp"],"tools":["search"]}]'`});return r.data}function ir(e,t=N.env,n,r={}){let i=r.cloud??t.CODER_MCP_MODE===`cloud`,a=r.connectionEnv??JSON.parse(t.CODER_MCP_CONNECTION_ENV??`{}`),o=r.onWarning??(e=>N.stderr.write(`coder: ${e}\n`));return(e??[]).flatMap(e=>{let r=e.repository&&!e.resolved;if(r){for(let t of me(e.name,e))o(t);if(!i&&!xe(e))return o(`MCP server "${e.name}" skipped pending local approval. Run coder connection approve ${e.name} in its repository.`),[]}let s=new Set,c=new Set,l=n=>e.resolved?n.replace(/^\$\{(CODER_CONNECTION_[A-F0-9]{24})\}$/,(e,n)=>t[n]??``):n.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)(?::-([^}]*))?\}/g,(e,n,o)=>r&&i?a[n]===null?(c.add(n),``):Object.hasOwn(a,n)?a[n]:(s.add(n),``):t[n]??o??``),u=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,l(t)])),d=r&&!!e.url,f={...e,...e.command?{command:l(e.command)}:{},...e.args?{args:e.args.map(l)}:{},...e.url?{url:d?e.url:l(e.url)}:{},...e.env?{env:u(e.env)}:{},...e.headers?{headers:d?e.headers:u(e.headers)}:{}};if(c.size)return o(`MCP server "${e.name}" skipped because connection variables ${[...c].join(`, `)} are ambiguous.`),[];if(s.size&&o(`MCP server "${e.name}" has unresolved connection variables ${[...s].join(`, `)}; expanded to empty.`),!n||!f.command)return[f];let p=(f.command.includes(M.sep)?[M.resolve(n,f.command)]:(f.env?.PATH??t.PATH??`/usr/bin:/bin`).split(M.delimiter).map(e=>M.resolve(n,e,f.command))).find(e=>{try{return P.accessSync(e,P.constants.X_OK),P.statSync(e).isFile()}catch{return!1}});if(!p)throw new R(`invalid-option`,`MCP server "${e.name}" command cannot be resolved.`);return f.command=P.realpathSync(p),f.args=f.args?.map(e=>{if(e.startsWith(`-`)||M.isAbsolute(e))return e;let t=M.resolve(n,e),r=P.existsSync(t)&&P.statSync(t).isFile();return!r&&!e.startsWith(`./`)&&!e.startsWith(`../`)?e:r?P.realpathSync(t):t}),[f]})}function ar(e,t=[]){let n=[...new Set(t.map(t=>M.resolve(e,t)))];for(let e of n)if(!P.statSync(e,{throwIfNoEntry:!1})?.isDirectory())throw new R(`invalid-option`,`--add-dir ${e} is not a directory.`);return n}function or(e,t){return e===`read-only`&&fe.test(t??``)}const sr=[`read-only`,`workspace-write`,`auto`];function cr(e,t,n){if(!t)return n.permissions;if(sr.indexOf(t)>sr.indexOf(n.permissions))throw new R(`invalid-option`,`task "${e??`task`}" asks for ${t} but agent "${n.agent}" is ${n.permissions}: lower the task's permissions or raise the agent's`);return t}function lr(e,t,n={},r=!1){let a=j(e,t),s=P.openSync(M.join(a,`worker.log`),`a`),c={...N.env,...n};o(`worker.spawn`,{taskId:t});let l=je(N.execPath,[i,`task`,`worker`,t,`--cwd`,e],{cwd:e,detached:!0,stdio:[`ignore`,s,s,`ipc`],env:{...c,...xn(c,e),CODER_WORKER:`1`,CODER_ENGINE_CHECKED:r?`1`:void 0}});return l.on(`error`,()=>{}),l.unref(),l.channel?.unref?.(),P.closeSync(s),se(e,t,{pid:l.pid??null}),l}async function ur(e,t,n,r,i){let a=n.cwd,o=n.availability?.[t.engine===`custom`?`codex`:t.engine]??(t.engine===`claude`?Q(`claude`,{...N.env,...n.connectionEnv},a):K(a)),s=t.model?e.models?.[t.model]:void 0;if(!o.available&&s&&D(s)){let e=rn(o);n.onNote?.(e.note),o=K(a)}if(!o.available)throw new Jn(t.engine,o.detail);let c=s?null:t.engine===`claude`?sn(`claude`,t.model,o):sn(`codex`,re(t.model),o);c&&n.onNote?.(c);let l=n.addDirs??[],u=n.taskId??w(),d=n.resume?.engine===t.engine?n.resume:void 0,f=se(a,u,{status:`queued`,...n.taskId?{dispatchId:I()}:{},name:r.name??null,system:n.system??null,systemPrompt:ae({cwd:a,...n.agentPrompt,instructions:n.system??void 0,conversation:n.conversation,agent:!!n.agentId,local:N.env.CODER_MCP_MODE!==`cloud`}),engine:t.engine,prompt:n.prompt,...n.outputSchema?{outputSchema:n.outputSchema}:{},model:t.model,effort:t.effort,permissions:t.permissions,resumeThreadId:d?.threadId??null,...d?{threadId:d.threadId,...d.previousThreadIds?{previousThreadIds:d.previousThreadIds}:{},...d.pendingRollover?{pendingRollover:d.pendingRollover}:{}}:{},cwd:a,...r.simulateApproval?{simulateApproval:!0}:{},...n.flowRunId?{flowRunId:n.flowRunId}:{},...n.agentId?{agentId:n.agentId}:{},...n.conversation?{conversation:!0}:{},...n.source?{source:n.source}:{},...n.author?{author:n.author}:{},...n.repo?{repo:n.repo}:{},...n.mcp?.length?{mcp:n.mcp}:{},...n.mcpBindings?{mcpBindings:n.mcpBindings}:{},...n.connections?{connections:n.connections}:{},...n.connectionSource?{connectionSource:n.connectionSource}:{},nativeMcp:n.nativeMcp??!1,...l.length?{addDirs:l}:{}});for(let e of new Set(n.mcpWarnings??[]))Oe(a,u,{kind:`warning`,message:e});n.resume&&!d&&Oe(a,u,{kind:`warning`,message:he});let p=M.join(j(a,u),`log.jsonl`),h=P.existsSync(p)?P.statSync(p).size:0,g=lr(a,u,n.connectionEnv,!0);if(n.onWorker?.(u,g),!i)return{taskId:u,task:O(a,u)??f,engine:t.engine,startupCheck:`pending`};let _=Ce(a,u,g),v=oe(p,h),y=!1,b=!1,x=()=>{let e=v().map(e=>{try{return JSON.parse(e)}catch{return{kind:`unknown`}}});return b||=e.some(e=>e.kind===`tool`||e.kind===`reply`),e.some(e=>e.phase!==`starting`&&![`status`,`usage`].includes(e.kind??``))},S=Date.now()+15e3,C,T=f;try{for(;Date.now()<(C===void 0?S:C+5e3)&&(T=O(a,u)??T,!(le.includes(T.status)||m(a,u).at(-1)?.status===0||(y=x()||y,T.threadId&&(C??=Date.now(),y))));)await _.wait(Math.min(3e4,(C===void 0?S:C+5e3)-Date.now()))}finally{_.close()}if(T.status===`failed`){x();let e=M.join(j(a,u),`result.json`),n=k(e),r=n?.error?.message??``,i=be(a,u,5).map(e=>e.message??``).join(`
8
+ `),o=r||i;throw or(t.permissions,o)?new R(`read-only-unavailable`,o):qn(o)&&!mr(n,b)?new Jn(t.engine,o):new R(`startup-failed`,o,{taskId:u})}return{taskId:u,task:T,engine:t.engine,startupCheck:T.threadId?`passed`:`pending`}}function dr(e,t,n,r,i){return{error:`${e} failed to start: ${t}`,fallback:{action:`run-native-subagent`,reason:`no-engine-available`,permissions:n,instructions:Se,note:ge,...r?{system:r}:{},task:i}}}async function fr(e,t={}){if(N.env.CODER_WORKER&&!t.fromMailbox)throw new R(`nested-dispatch`,`Nested dispatch is disabled inside a worker; do the work directly.`);if(e.outputSchema!==void 0&&(!e.outputSchema||typeof e.outputSchema!=`object`||Array.isArray(e.outputSchema)))throw new R(`invalid-option`,`outputSchema must be an object.`);if(!e.prompt.trim())throw new R(`invalid-option`,`Missing task text.`,{hint:[`Usage: coder run "<task text>"`,`Help: coder task run --help`]});e={...e,addDirs:ar(e.cwd,e.addDirs)};let n=t.config??te(e.cwd),r=nr(e.mcp,n.mcp),i={...e,mcp:r.mcp,mcpBindings:e.mcpBindings??r.mcpBindings,mcpWarnings:[...e.mcpWarnings??[],...r.warnings??[]],nativeMcp:e.nativeMcp??r.nativeMcp},a={engine:e.engine,model:e.model,effort:e.effort,permissions:e.permissions},o={name:e.name,simulateApproval:e.simulateApproval};for(;;){let r=Yn(a,n);try{return await ur(n,r,i,o,t.waitForStartup!==!1)}catch(t){if(!(t instanceof Jn))throw t;let i=pr(t.engine,n);if(!i){let n=dr(t.engine,t.detail,r.permissions,e.system,e.prompt);throw new R(`chain-exhausted`,n.error,{payload:n})}e.onFallback?.({engine:t.engine,detail:t.detail,next:i}),a={engine:i,permissions:e.permissions},o={name:void 0,simulateApproval:void 0}}}}function pr(e,t){return t.chain.slice(t.chain.indexOf(e)+1).find(e=>e!==`custom`||Object.values(t.models??{}).some(D))}function mr(e,t=!1){return!!(t||e?.touchedFiles?.length||e?.fileChanges?.length||e?.commandExecutions?.length)}function hr(e,t,n){if(t.status!==`failed`)return;let r=t.result;if(!r||!qn(r.error?.message??``))return;let i=Date.parse(t.turns.at(-2)?.at??t.task.resumedAt??t.task.createdAt);if(!mr(r,be(e,t.taskId,2**53-1).some(e=>(e.kind===`tool`||e.kind===`reply`)&&(!e.at||Date.parse(e.at)>=i)))&&!t.turns.at(-1)?.lastReply)return pr(t.task.engine,n??te(e))??null}function gr(e,t){return k(M.join(j(e,t),`result.json`))}function _r(e,t,n=0){if(n===0)return[];let r=be(e,t,2**53-1);return n===`all`?r:_e(r,n)}function vr(e,t,n={}){let r=O(e,t);if(!r)throw Error(`No task found for "${t}".`);return{taskId:t,status:r.status,result:ve.includes(r.status)?null:gr(e,t),steps:_r(e,t,n.tail),turns:m(e,t),task:r}}async function yr(e,t,n={}){let r=O(e,t);if(!r)throw Error(`No task found for "${t}".`);let i=await br(e,r,1e3,n);if(i.reason===`approval`){let e=i.approval;throw new R(`approval-pending`,`Approval needed for task ${t}: ${e.summary}`,{taskId:t,approval:e})}n.onSettle?.();let a=i.task;return{taskId:t,status:a.status,result:gr(e,t),steps:_r(e,t,n.tail),turns:m(e,t),task:a}}async function br(e,t,n=1e3,{turn:r,worker:i,rollover:a=!1,signal:o}={}){let s=t,c=Ce(e,t.id,i);try{let t=ne();for(;;){o?.throwIfAborted(),s=O(e,s.id)??s;let i=r===void 0?void 0:m(e,s.id)[r];if(s=i?{...s,status:i.status===0?`completed`:`failed`}:ie(e,s,t),a?!s.rollingOver:le.includes(s.status))return{task:s,reason:`terminal`};let l=Vn(j(e,s.id)).find(e=>!e.response);if(l){let e=l.params;return{task:s,reason:`approval`,approval:{id:l.id,summary:String(l.summary??``),cwd:typeof l.cwd==`string`?l.cwd:null,networkHost:e?.networkApprovalContext?.host??null}}}await c.wait(n,o)}}finally{c.close()}}export{K as A,Xe as B,kn as C,un as D,ln as E,We as F,z as H,Ze as I,Ye as L,Ut as M,Ht as N,Xt as O,tt as P,qe as R,An as S,dn as T,R as U,Be as V,zn as _,gr as a,Wn as b,Yn as c,hr as d,br as f,Rn as g,Gn as h,or as i,Vt as j,Zt as k,nr as l,Hn as m,cr as n,vr as o,yr as p,fr as r,ir as s,dr as t,lr as u,Un as v,rn as w,Q as x,Vn as y,V as z};