@wular/coder 0.4.13 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/README.md +3 -3
  2. package/dist/actions-DO8MvHwc.js +3 -0
  3. package/dist/agent-Cgala63h.js +1 -0
  4. package/dist/app-server-dnlLhhZb.js +6 -0
  5. package/dist/approvals-C8XV7CK2.js +5 -0
  6. package/dist/apps-BORri-28.js +18 -0
  7. package/dist/args-CJsHYWbt.js +66 -0
  8. package/dist/async-BS9tyhva.js +3 -0
  9. package/dist/auth-C16ylySv.js +1 -0
  10. package/dist/builtin/coder/agent.json +6 -6
  11. package/dist/builtin/coder/system.md +7 -5
  12. package/dist/{chat-bwKd3y6V.js → chat-Bfu9XKRa.js} +1 -1
  13. package/dist/chat-czruXAt3.js +13 -0
  14. package/dist/cli.js +18 -13
  15. package/dist/{client-C4QCT6cG.js → client-nBo9Mhsr.js} +4 -4
  16. package/dist/cmd-C1gHyVG7.js +122 -0
  17. package/dist/config-_32PHl9g.js +5 -0
  18. package/dist/connection-CgA5_NJ7.js +1 -0
  19. package/dist/connections-B90TemYf.js +2 -0
  20. package/dist/context-C1XBbfEL.js +6 -0
  21. package/dist/crypto-Ittsv-m4.js +1 -0
  22. package/dist/dash/standalone/server/build-index.json +1 -1
  23. package/dist/dash/standalone/server/manifest.json +1690 -1452
  24. package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/event-json.856d33f567e58d0e.js +30 -0
  25. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/http.e78b470f4ecf125b.js +58 -0
  26. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.de1f1311bab4252f.js → index.91e126d7a389d4bd.js} +46 -75
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.ec6391dbf3063330.js → view.e20379d8f741754a.js} +38 -0
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/types.9d22123d6296f5af.js +37 -0
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.30ed8c28774a1a82.js → load.858c062c7891a2c1.js} +18 -11
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.118a70787eff1761.js → page.9375ab741dc9791e.js} +5 -5
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.fcdfd50c21031895.js → loading.56c14183236be231.js} +2 -2
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.98dfcd316c306258.js → notify.c36570a56d279ce2.js} +1 -1
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.74c59322f5fe8a2c.js → page.13fdd9cc55ad3a52.js} +9 -9
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.730aa96b086ac996.js → sign-out.38a7f39cddc670f7.js} +4 -4
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agent-menu.1be5795272b245c8.js → agent-menu.5c780867b82081b1.js} +3 -3
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.2c30ace077893029.js → agents-grid.2385ffa8fdad08d6.js} +9 -9
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.733f0acc2af5ceda.js → loading.0130f8533d8f1b1e.js} +4 -4
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/page.5ca6921e50484f8c.js +48 -0
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.b26006f060cd48f0.js → layout.afc4a8a5a8360975.js} +89 -32
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{loading.388aeaf0c2edf8f8.js → loading.90bf37c903ce6f0d.js} +1 -1
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.4b23e9df21433bd3.js → page.ba65063a1aa99a62.js} +22 -88
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{loading.e06845585ca67abc.js → loading.d56ef50b0694f975.js} +2 -2
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.4048048acb374c67.js → page.03c5e72b0fe50ba9.js} +51 -123
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.000f2f87a48bfbc6.js → platform-actions.7c8c75bd0c05df4a.js} +234 -134
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-state.6b6132518ca61635.js +21 -0
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-step.d6a980d1181dc940.js +82 -0
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.ee0bb2dc4d403ec3.js → agent-settings-form.b5299f5130a4e8af.js} +53 -76
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.0e3641f3e4abaa7c.js → loading.2800c65e45a4a1d9.js} +1 -1
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.649b4ba135ded99b.js → page.fad77cea17947d47.js} +10 -11
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.195e168e8e41d797.js → loading.4120e6979eaed441.js} +1 -1
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.96f7573208644f40.js → page.474b3524d5ea53b7.js} +1 -1
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{loading.905293c9aa9afbc9.js → loading.3a615597ca648452.js} +4 -4
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.5f2b8585db8b27ad.js → page.7868a07efcaa26f4.js} +6 -6
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.8700f0106f4e8c15.js → versions-list.ba93a53773cab8a8.js} +3 -3
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.f94b2f9ab04aaf21.js → loading.6e53829bd1f3021d.js} +5 -5
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.e898c4b5ef16ecb0.js → page.5798ede8ba8ace97.js} +10 -10
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/app-cards.55778a4b3177846d.js +142 -0
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/loading.f0d91d48e2b79e50.js +14 -0
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/page.ce391cad0d78795f.js +99 -0
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.44e689e546fb042b.js → agent-pills.1012e04bfbc7bffd.js} +5 -5
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.4c67dfbb7d28a416.js → agent-toggle.0cec822c6099f058.js} +3 -3
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.9740a8e2f4b41f28.js → hero.7151c467e7ecf6a5.js} +4 -4
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{instructions.85b1cd986a9edbb5.js → instructions.1b8c9189961c5a4f.js} +13 -4
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.ff8b78a03153239b.js → connect-repositories.4e121d31ed0cfe02.js} +1 -1
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.471af698b8060eba.js → editor.f314d92af0bb33b0.js} +164 -127
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.b7b5c89e618e8f89.js → import-picker.11028d5329ad537b.js} +11 -11
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{loading.ecb9dfd4d0f9d107.js → loading.9b65a8c1cdc8346f.js} +5 -5
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.880bdac7fe843635.js → page.1476d31e4554e88b.js} +9 -8
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.81f7e055829854a3.js → layout.150d950d191db477.js} +89 -26
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.3e72de86b86a7338.js +155 -0
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.8f8697b1b6b34ad7.js → page.6a4be3b1a473ff8c.js} +10 -10
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.fe608b8e661aba1d.js → page.262ed73437c17872.js} +1 -1
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/advanced-list.7180570379e2625c.js +63 -0
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connection-add.632b1847c16ecd42.js +526 -0
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connections-list.4378ae707b2092ed.js +439 -0
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.a4d8338c7f6a5702.js → credentials-list.e47897acb6867df8.js} +116 -101
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.1443bbed1ff1d441.js → credentials.6bd06f96afbe7329.js} +9 -9
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/list.38e70272eeb98cd0.js +201 -0
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{loading.7ca95dcb4fb3362b.js → loading.71ca4f6c99a8a9d5.js} +1 -1
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/models-list.a08cd37d0f7ff86c.js +635 -0
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.805d0f8a2c5817d6.js → page.f096b5a9ac419326.js} +67 -41
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.1e83449aa6593224.js → runners-list.0df1f9329df1b67d.js} +42 -37
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.17ac06593005b8ba.js → secrets-list.6d2f56fa7d6fcab0.js} +19 -17
  84. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/chain-hint.65c4cc04c78e8bfd.js +18 -0
  85. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.8c4a2b31b194ba3e.js → layout.0fd865c865e5bab4.js} +6 -6
  86. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-options.0d6077fe68db3af9.js +147 -0
  87. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-pick.695538b2edf9dd15.js +160 -0
  88. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.a77996786278cda0.js → page.c57b81c2197cce0f.js} +1 -1
  89. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.705be0b1129b97af.js → settings-head.004ced21e02ffa48.js} +5 -5
  90. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{tunnel-guide.29eee1a0b1852168.js → tunnel-guide.1bc6bff9d8019098.js} +1 -1
  91. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.19b4c50ef497aca1.js → create-link.60aadbe43ea1e39c.js} +5 -5
  92. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-dialog.18cf32fa42247b91.js → outcome-dialog.a74e686aaed0c584.js} +3 -3
  93. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/outcome-toast.e2b9ef0344b1a1a2.js +24 -0
  94. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome.cbbc8cd1bbbee01b.js → outcome.22a83d756e4020a7.js} +3 -6
  95. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.616f0b36bf7925bc.js → page.c456ad99c8a9f875.js} +8 -8
  96. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.a911169a820ba604.js → activity.2ec05d78d609b7b2.js} +12 -6
  97. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.76f851da5cc5268d.js → loading.779ecdd9c9d2ff09.js} +5 -5
  98. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.ddb594bb6567ee13.js → page.578be2f6c89fcba0.js} +16 -9
  99. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.d131453dd2a423c3.js +408 -0
  100. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-missing.33ec27a4a5eafefe.js +27 -0
  101. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.3276538e8306fd8a.js → task-view.3d72a4ecd2b3826e.js} +44 -81
  102. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer-data.05fc39e1a7fd1ab7.js → composer-data.c16854be11a561e4.js} +4 -6
  103. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.dbf06b05c5e2eba3.js → composer.97be3e67214889c1.js} +130 -195
  104. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/pending-approvals.9175908da02960e1.js +40 -0
  105. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{status.cb704b48ce86cc7d.js → status.d2c05c397780b833.js} +7 -1
  106. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.f089c1c122ed6dd2.js → task.a25847399a4dfb30.js} +9 -26
  107. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.5a00d69851dae119.js → tasks-list.028798c79227a366.js} +43 -35
  108. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.36e70c93f7d0feee.js → tasks-section.9a9d13057b326f25.js} +16 -10
  109. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.185b1ba0c803db3f.js → page.045c6db0c56975b2.js} +5 -5
  110. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{custom-range.2e21c7f891966c15.js → custom-range.fe91164d7a311356.js} +3 -3
  111. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{day-chart.261b6651df2d3966.js → day-chart.20faaaf57c81ad9e.js} +1 -1
  112. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{loading.a7e0ec01bfa769e3.js → loading.5b973a8bb29197d5.js} +3 -3
  113. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.d41fea7676e37bfc.js → page.938d29ff7edb678d.js} +7 -7
  114. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{range-bar.69e68c9dae09f238.js → range-bar.0b9038e9df707843.js} +4 -4
  115. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{top-agents.18fc469e781e2305.js → top-agents.93c916167299ffb6.js} +2 -2
  116. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.296d70b95894209f.js → layout.94ea3908b03bede6.js} +2 -2
  117. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.a82be2fd23e9ac67.js → page.4827d64c71c0690a.js} +2 -2
  118. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.d3e61538dbc8ec39.js → drawer.1a08ff611df7fe38.js} +2 -2
  119. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{foreign-link.8c6adf9c5a6f467c.js → foreign-link.1d4f63a0379cbd1d.js} +3 -3
  120. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.1cea8a722c10b998.js → loading-card.77bea8c5870b5d3c.js} +5 -5
  121. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.87b92529dbb53ceb.js → page-head.2eb1e0213eb50349.js} +3 -2
  122. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.c32d78562f75db25.js → stream.2cdb8eabd8f6df70.js} +2 -2
  123. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.44075fa7e04575e8.js → task-toasts.8733901ca0e4c246.js} +28 -18
  124. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.85100ed66d6f9200.js → theme-choices.fc86071c1b634176.js} +2 -2
  125. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.d6109e72fbd04b45.js → back.7aa0ae82dbec38cd.js} +3 -3
  126. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.d3abfd4053b711ce.js → org.853d173b55368728.js} +1 -1
  127. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{side-toggle.489faf1a259479f7.js → side-toggle.be7d2a7529557435.js} +2 -2
  128. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{badge.c0bc352791a95fd6.js → badge.9f63fd615cf0ee22.js} +2 -2
  129. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/button.2b18ba19ae01e2bb.css.pnext-asset.js +0 -0
  130. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{button.ce9e6cdb08ca86db.js → button.b62fa52e18fa338b.js} +2 -2
  131. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/card.4ab7ad42a0770726.css.pnext-asset.js +0 -0
  132. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.9f0d45b73bc78b4f.js → card.c0030eafd76587e3.js} +21 -9
  133. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.93e4d1b20c2873ed.js → collapse.eb578fdf42029754.js} +1 -1
  134. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.54270c0251466fda.js → combo.e4e08287494081a3.js} +2 -2
  135. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.29e198be34578222.js → confirm.e21b7f5e486dafb8.js} +3 -3
  136. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{copy.bd6fc1577a393965.js → copy.043e0695c08c72f9.js} +2 -2
  137. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.81bb9a5c60cd1089.js → filter.0730dccad6332327.js} +6 -6
  138. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/filter.6fdff1e7355aaa0e.css.pnext-asset.js +0 -0
  139. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.e36c72f54750663a.js → icons.f769275420d072ce.js} +4 -0
  140. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu-items.1d082ac4dae8f3d4.js → menu-items.759a1b1f7c5ee365.js} +2 -2
  141. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.ee45bace979944b6.js → menu.7f558c7c6f6345d5.js} +3 -3
  142. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu.cd96fa0495fe0fde.css.pnext-asset.js +0 -0
  143. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.0b69c7fd9db025b9.js → modal.08ac85d31f4c76c1.js} +7 -6
  144. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.2eb33e5bea28d804.js → select.0ee9e8f04ddd8b47.js} +9 -6
  145. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.04132db0c5033d4f.js → tail.7eb303330802ac18.js} +2 -2
  146. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/toolbar.cdbd0357f2c5e1fe.css.pnext-asset.js +0 -0
  147. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.8b3a460a65edf85a.js → toolbar.ff8367c641d28c1e.js} +2 -2
  148. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.67dd6f8ab1ae067d.js → action.56cea462eb725c39.js} +1 -1
  149. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.78267fa3d7905d17.js → client.685154f230716834.js} +1 -1
  150. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/routes/http.394704f4f12ada08.js +165 -0
  151. package/dist/dash/standalone/server/modules-server-server-react-server/src/utils/crypto.24a6439ff8d10d3d.js +11 -0
  152. package/dist/dash/standalone/static/assets/chunks/advanced-list-b75a9c2bd11026de.js +1 -0
  153. package/dist/dash/standalone/static/assets/chunks/agent-pills-54564413a57d7fa7.js +2 -0
  154. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-55d294dad2ce5a0d.js +1 -0
  155. package/dist/dash/standalone/static/assets/chunks/agent-toggle-b5dcc4ea6292fb3d.js +1 -0
  156. package/dist/dash/standalone/static/assets/chunks/agents-grid-69461c53abbba433.js +1 -0
  157. package/dist/dash/standalone/static/assets/chunks/{back-e29cb10f5548ddae.js → back-ba5e4340a9f8bbd2.js} +1 -1
  158. package/dist/dash/standalone/static/assets/chunks/chain-hint-491eb09a20a15702.js +1 -0
  159. package/dist/dash/standalone/static/assets/chunks/{combo-702c94817bf6ac17.js → combo-6df61e8a1cc31037.js} +1 -1
  160. package/dist/dash/standalone/static/assets/chunks/composer-198b844da57b82a3.js +1 -0
  161. package/dist/dash/standalone/static/assets/chunks/composer-b26a3332a1243461.js +1 -0
  162. package/dist/dash/standalone/static/assets/chunks/composer-data-b05f3d93fdc472d7.js +1 -0
  163. package/dist/dash/standalone/static/assets/chunks/{confirm-a78147b6ecef3847.js → confirm-14d018653fbe50fc.js} +1 -1
  164. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-7770ab805160028d.js → connect-repositories-5118edc019fc7890.js} +1 -1
  165. package/dist/dash/standalone/static/assets/chunks/connections-list-5412dad7e0def52f.js +1 -0
  166. package/dist/dash/standalone/static/assets/chunks/{copy-bdc60bdafe336316.js → copy-04781f9af4e10f06.js} +1 -1
  167. package/dist/dash/standalone/static/assets/chunks/create-link-0651addf1461f901.js +1 -0
  168. package/dist/dash/standalone/static/assets/chunks/credentials-list-e64c973aee5602d3.js +1 -0
  169. package/dist/dash/standalone/static/assets/chunks/custom-range-b6919bab9846ebf7.js +1 -0
  170. package/dist/dash/standalone/static/assets/chunks/editor-68e9ccd1764fc512.js +6 -0
  171. package/dist/dash/standalone/static/assets/chunks/{field-bb8191aa02d07282.js → field-adcb6e6a5f9b7131.js} +1 -1
  172. package/dist/dash/standalone/static/assets/chunks/instructions-0022dd3bdd57c13f.js +1 -0
  173. package/dist/dash/standalone/static/assets/chunks/instructions-7b274685ceb26457.js +2 -0
  174. package/dist/dash/standalone/static/assets/chunks/list-662f042656857c82.js +1 -0
  175. package/dist/dash/standalone/static/assets/chunks/model-options-5e07b3318d69d218.js +1 -0
  176. package/dist/dash/standalone/static/assets/chunks/models-list-ae1e2eff30d21824.js +1 -0
  177. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-546fe090efc129c2.js +1 -0
  178. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-fde11a52c282301d.js → outcome-dialog-fd86ded4c44c2de7.js} +1 -1
  179. package/dist/dash/standalone/static/assets/chunks/outcome-toast-c00becdb638cd9a8.js +1 -0
  180. package/dist/dash/standalone/static/assets/chunks/platform-actions-2be223e68e648134.js +1 -0
  181. package/dist/dash/standalone/static/assets/chunks/platform-actions-f3979ab69a6ceb53.js +1 -0
  182. package/dist/dash/standalone/static/assets/chunks/platform-step-5454b6c0a19caefd.js +1 -0
  183. package/dist/dash/standalone/static/assets/chunks/platform-step-9a52703f4c4f6a31.js +1 -0
  184. package/dist/dash/standalone/static/assets/chunks/runners-list-20d42f19fb4bec8a.js +1 -0
  185. package/dist/dash/standalone/static/assets/chunks/{runtime-6e12333f12903a62-1.js → runtime-3fcac605fffcc273-1.js} +1 -1
  186. package/dist/dash/standalone/static/assets/chunks/secrets-list-89f89ee70edb3856.js +1 -0
  187. package/dist/dash/standalone/static/assets/chunks/{segmented-0b6dc6b93c35e0f5.js → segmented-66a8c77c6294fec3.js} +1 -1
  188. package/dist/dash/standalone/static/assets/chunks/shared-init-3fcac605fffcc273-2.js +1 -0
  189. package/dist/dash/standalone/static/assets/chunks/shared-init-96225b8c7758de9d.js +1 -0
  190. package/dist/dash/standalone/static/assets/chunks/shared-init-96cde32cd50254c0.js +1 -0
  191. package/dist/dash/standalone/static/assets/chunks/shared-init-abd7653140f37a0c.js +9 -0
  192. package/dist/dash/standalone/static/assets/chunks/side-toggle-8a410cc6d6bd9b1d.js +1 -0
  193. package/dist/dash/standalone/static/assets/chunks/{tail-f8804b80cf32f8d0.js → tail-40f16e09eade7eee.js} +1 -1
  194. package/dist/dash/standalone/static/assets/chunks/task-396d849e58e50d59.js +1 -0
  195. package/dist/dash/standalone/static/assets/chunks/task-actions-0b3054dc0f8d17c0.js +3 -0
  196. package/dist/dash/standalone/static/assets/chunks/task-view-9e026dc5da58af5b.js +3 -0
  197. package/dist/dash/standalone/static/assets/chunks/tasks-list-04c6568d7f7237b7.js +1 -0
  198. package/dist/dash/standalone/static/assets/chunks/versions-list-ceb756236e69b761.js +1 -0
  199. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-6e12333f12903a62-0.js → wular-pnext-3fcac605fffcc273-0.js} +1 -1
  200. package/dist/dash/standalone/static/assets/create-param-id-2c72f3e32e7f8b8d.css +1 -0
  201. package/dist/dash/standalone/static/assets/dash-param-org-a7f30a8c5a6fa651.css +1 -0
  202. package/dist/dash/standalone/static/assets/dash-param-org-account-76fffb9337b633f2.css +1 -0
  203. package/dist/dash/standalone/static/assets/dash-param-org-agents-cc5d59edfc3cf0b1.css +1 -0
  204. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-170499c849114150.css +1 -0
  205. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-dd4ac319a0d62432.css +1 -0
  206. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-199a9991de1bf2d9.css +1 -0
  207. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-9d2e1439f3f7e81b.css +1 -0
  208. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-param-app-a6d559f0e26bd01b.css +1 -0
  209. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-f21d4fcd3948139b.css +1 -0
  210. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-c8d6aa06f6e75f4c.css +1 -0
  211. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-9cc128ba8af6ef62.css +1 -0
  212. package/dist/dash/standalone/static/assets/dash-param-org-operator-8d5ef55834d8deba.css +1 -0
  213. package/dist/dash/standalone/static/assets/dash-param-org-settings-7138821f5422d087.css +1 -0
  214. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-586fec34f285e9cb.css +1 -0
  215. package/dist/dash/standalone/static/assets/dash-param-org-setup-67679c1f84f352cf.css +1 -0
  216. package/dist/dash/standalone/static/assets/dash-param-org-tasks-be3cb3d64573f3d9.css +1 -0
  217. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-c20a0537bc82620d.css +1 -0
  218. package/dist/dash/standalone/static/assets/dash-param-org-usage-c534db20ce538fd2.css +1 -0
  219. package/dist/dash/standalone/static/assets/global-df2c26ad15039e8a.css +1 -0
  220. package/dist/dash/standalone/static/assets/{login-9760b85feae40270.css → login-148795638d6ff5d4.css} +1 -1
  221. package/dist/dash/standalone/static/assets/pnext-client-07b41bfab64b61c0.js +1 -0
  222. package/dist/dash/standalone/static/assets/pnext-client-0d388d56250f9f46.js +1 -0
  223. package/dist/dash/standalone/static/assets/pnext-client-1443e45181b60bb0.js +1 -0
  224. package/dist/dash/standalone/static/assets/pnext-client-27207e4f43f9a21b.js +1 -0
  225. package/dist/dash/standalone/static/assets/pnext-client-435db60553fa3a67.js +1 -0
  226. package/dist/dash/standalone/static/assets/pnext-client-523dd4071aa294ba.js +1 -0
  227. package/dist/dash/standalone/static/assets/pnext-client-5f6bda3919f68382.js +1 -0
  228. package/dist/dash/standalone/static/assets/pnext-client-684fd8ad16563ed3.js +1 -0
  229. package/dist/dash/standalone/static/assets/pnext-client-6b952cdda9a1eb2b.js +1 -0
  230. package/dist/dash/standalone/static/assets/pnext-client-6fe9e98f7dd8dcbf.js +1 -0
  231. package/dist/dash/standalone/static/assets/pnext-client-730c2c507a159f9e.js +1 -0
  232. package/dist/dash/standalone/static/assets/pnext-client-7c46573e45b67166.js +1 -0
  233. package/dist/dash/standalone/static/assets/pnext-client-83a865c3d75705bd.js +1 -0
  234. package/dist/dash/standalone/static/assets/pnext-client-907d1db4fb398a1d.js +1 -0
  235. package/dist/dash/standalone/static/assets/pnext-client-9baf701f3e641d09.js +1 -0
  236. package/dist/dash/standalone/static/assets/pnext-client-a57705e4e1047a9e.js +1 -0
  237. package/dist/dash/standalone/static/assets/pnext-client-b1af82c6f0db0033.js +1 -0
  238. package/dist/dash/standalone/static/assets/pnext-client-cede3bd7b2735942.js +1 -0
  239. package/dist/dash/standalone/static/assets/pnext-client-d9a3996f22b6816b.js +1 -0
  240. package/dist/dash/standalone/static/assets/pnext-client-f95364a0073ca4ce.js +1 -0
  241. package/dist/definition-D0OpQfGX.js +1 -0
  242. package/dist/discover-BfYHHJN_.js +1 -0
  243. package/dist/dispatch-BkoIU4GU.js +12 -0
  244. package/dist/{dist-DAnSqY1s.js → dist-B5qUdWUG.js} +35 -35
  245. package/dist/{dist-B2jiMMxZ.js → dist-Clxdruuu.js} +3 -3
  246. package/dist/{dist-ClCNj65n.js → dist-CymLGfHl.js} +4 -4
  247. package/dist/{adapter-Bz0E-DAY.js → dist-DX0JzVC6.js} +990 -990
  248. package/dist/{adapter-CsacmMmv.js → dist-DfD9WmV8.js} +39 -39
  249. package/dist/dist-node-B8VIVzUc.js +20 -0
  250. package/dist/docs-CxklYa3P.js +2 -0
  251. package/dist/drive-B7SBFfcb.js +1 -0
  252. package/dist/drizzle-orm-CYU7WOQS.js +2 -0
  253. package/dist/{emit-BrkJJPUE.js → emit-BgeqsCkC.js} +3 -3
  254. package/dist/env-BwFCHakK.js +1 -0
  255. package/dist/errors-DK_trCff.js +1 -0
  256. package/dist/exec-D9jF2F-H.js +3 -0
  257. package/dist/executor-DBW7R7Tf.js +11 -0
  258. package/dist/flow/builtin/review/index.d.ts +2 -2
  259. package/dist/flow/builtin/review/index.js +10 -15
  260. package/dist/flow/index.d.ts +2 -2
  261. package/dist/flow/index.js +1 -1
  262. package/dist/github-actions-2RjyRseX.js +36 -0
  263. package/dist/{hook-CIipj9MJ.js → hook-DN__zYOG.js} +1 -1
  264. package/dist/http-615JJgHo.js +5 -0
  265. package/dist/http-DRk8cDjf.js +1 -0
  266. package/dist/{index-ChcxzFdB.d.ts → index-CTAQrCRU.d.ts} +403 -307
  267. package/dist/integrations-DSZSa8Rc.js +9 -0
  268. package/dist/lib/broker.js +2 -2
  269. package/dist/load-BtIDghgd.js +2 -0
  270. package/dist/local-BzMvgiwL.js +5 -0
  271. package/dist/local-GIxwz_Or.js +1 -0
  272. package/dist/login-LlZrIlxb.js +8 -0
  273. package/dist/maintenance-DyiyHI8S.js +1 -0
  274. package/dist/mcp-Caq72REF.js +1 -0
  275. package/dist/mcp-CrtKQoVi.js +1 -0
  276. package/dist/mcp-cEIva8Pd.js +27 -0
  277. package/dist/metadata-D_bBfr3H.js +1 -0
  278. package/dist/models-BVxs3I8o.js +1 -0
  279. package/dist/output-BKeyLbvt.js +5 -0
  280. package/dist/permission-RSZM3DUk.js +1 -0
  281. package/dist/post-DLenID75.js +11 -0
  282. package/dist/prompt-CpwbsEWM.js +4 -0
  283. package/dist/refresh-CWEpTAkD.js +1 -0
  284. package/dist/remote-BDMuKaON.js +2 -0
  285. package/dist/remote-CY-qYX2C.js +1 -0
  286. package/dist/runner-CKMOh5Q3.js +1 -0
  287. package/dist/runner.json +1 -1
  288. package/dist/runner.tgz +0 -0
  289. package/dist/schema.d.ts +2 -2
  290. package/dist/schema.js +2 -3
  291. package/dist/sdk.d.ts +2857 -1405
  292. package/dist/sdk.js +1 -1
  293. package/dist/serve-D23JqDip.js +12 -0
  294. package/dist/serve-DoYbHm_k.js +5 -0
  295. package/dist/serve-YlU04KO7.js +1 -0
  296. package/dist/session-D7eeJIaH.js +1 -0
  297. package/dist/sessions-BGUfSe8L.js +1 -0
  298. package/dist/shared-BzNReirj.js +1 -0
  299. package/dist/sign-in-Dr6sU7vz.js +3 -0
  300. package/dist/state-CxAUec80.js +6 -0
  301. package/dist/store-BrnWdtRw.js +349 -0
  302. package/dist/task-CyqtCXo3.js +1 -0
  303. package/dist/task-DN4assR8.js +7 -0
  304. package/dist/tool-search-C9Ty3hhL.js +6 -0
  305. package/dist/tools-Ck-ZWtmB.js +1 -0
  306. package/dist/tools-DVtBtED6.js +1 -0
  307. package/dist/tools-search-BNDea9vZ.js +1 -0
  308. package/dist/turn-eI4iRPsq.js +3 -0
  309. package/dist/types-DHBqXFE2.js +1 -0
  310. package/dist/update-check-Bap3dwaj.js +1 -0
  311. package/dist/view-D-rbQ1Kz.js +4 -0
  312. package/dist/views-Bxm_5J6T.js +2 -0
  313. package/dist/worker-DJANNSCT.js +1 -0
  314. package/dist/worker-DeuC38Vp.js +7 -0
  315. package/dist/zod-_-snqfdO.js +1 -0
  316. package/dist/zod.js +65 -1
  317. package/docs/agents/coder.md +5 -1
  318. package/docs/agents/index.md +53 -82
  319. package/docs/approvals.md +47 -0
  320. package/docs/cli/agent.md +34 -13
  321. package/docs/cli/auth.md +1 -1
  322. package/docs/cli/connection.md +22 -21
  323. package/docs/cli/index.md +18 -14
  324. package/docs/cli/model.md +11 -11
  325. package/docs/cli/task.md +28 -30
  326. package/docs/config.md +37 -65
  327. package/docs/connections.md +80 -0
  328. package/docs/dash.md +23 -19
  329. package/docs/flows.md +46 -213
  330. package/docs/models.md +48 -78
  331. package/docs/review.md +49 -18
  332. package/docs/runners.md +49 -0
  333. package/docs/sdk.md +49 -73
  334. package/docs/self-host.md +81 -82
  335. package/package.json +4 -5
  336. package/plugins/agents/skills/coder/SKILL.md +3 -3
  337. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  338. package/plugins/claude/skills/dispatch/SKILL.md +3 -3
  339. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  340. package/plugins/cursor/README.md +3 -3
  341. package/plugins/cursor/skills/coder/SKILL.md +3 -3
  342. package/dist/actions-D12xDiQS.js +0 -4
  343. package/dist/adapter-DzpdWewB.js +0 -1
  344. package/dist/agent-JJStALIx.js +0 -8
  345. package/dist/apps-Bnk7F3A2.js +0 -379
  346. package/dist/args-Dqf5Y1RP.js +0 -1
  347. package/dist/async-Tj4zKHXR.js +0 -3
  348. package/dist/auth-BhpnOCbn.js +0 -1
  349. package/dist/base64url-CsVsW4Id.js +0 -1
  350. package/dist/chat-CSepnsrK.js +0 -13
  351. package/dist/cmd-BHZwhrfa.js +0 -118
  352. package/dist/connection-BkYTuJjV.js +0 -1
  353. package/dist/context-zhSlmXOp.js +0 -7
  354. package/dist/conversation-DT-35cEt.js +0 -1
  355. package/dist/core-DwsAMCnL.js +0 -65
  356. package/dist/dash/standalone/node_modules/contextjsx/dist/index.mjs +0 -1
  357. package/dist/dash/standalone/node_modules/contextjsx/dist/jsx-runtime.mjs +0 -1
  358. package/dist/dash/standalone/node_modules/contextjsx/dist/src-BJ0QFeB8.mjs +0 -2
  359. package/dist/dash/standalone/node_modules/contextjsx/package.json +0 -70
  360. package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/context/turn.6bb73458768e222e.js +0 -129
  361. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/defaults.e972c134a1ae918f.js +0 -55
  362. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/auth/sign-in.661b3a4139af5bd7.js +0 -11
  363. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/page.04762872666a6f0a.js +0 -26
  364. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/connect-apps.8a20501ccb244421.js +0 -36
  365. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/page.d066b77dd3187026.js +0 -65
  366. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.09bf294d753ee9d7.js +0 -115
  367. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connections-list.97381888bfdd711b.js +0 -642
  368. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/engines-list.d47db60d7dc01ebd.js +0 -73
  369. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/list.a5b273558fb7f0f0.js +0 -156
  370. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/models-list.31d369f1b7ab45da.js +0 -444
  371. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-options.73f8d0d54f79d8e3.js +0 -100
  372. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.51fbeac76459433a.js +0 -240
  373. package/dist/dash/standalone/static/assets/chunks/action-a76e495fb39a73d3.js +0 -1
  374. package/dist/dash/standalone/static/assets/chunks/agent-pills-4d3c6a2aa9eb1522.js +0 -2
  375. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-f7231a66e391f6b6.js +0 -1
  376. package/dist/dash/standalone/static/assets/chunks/agent-toggle-d7d27123f2070f18.js +0 -1
  377. package/dist/dash/standalone/static/assets/chunks/agents-grid-185ecb3d86c6c447.js +0 -1
  378. package/dist/dash/standalone/static/assets/chunks/composer-56ebf36d63400423.js +0 -1
  379. package/dist/dash/standalone/static/assets/chunks/composer-a686289a79f64bae.js +0 -1
  380. package/dist/dash/standalone/static/assets/chunks/composer-data-f46a9bc7a14b4f9a.js +0 -1
  381. package/dist/dash/standalone/static/assets/chunks/connect-apps-696726aedab42c96.js +0 -1
  382. package/dist/dash/standalone/static/assets/chunks/connections-list-07559f145f3e3da3.js +0 -1
  383. package/dist/dash/standalone/static/assets/chunks/create-link-426b0a5871ee41dd.js +0 -1
  384. package/dist/dash/standalone/static/assets/chunks/credentials-list-f07d090410104148.js +0 -1
  385. package/dist/dash/standalone/static/assets/chunks/custom-range-6618f32ef6cd4e80.js +0 -1
  386. package/dist/dash/standalone/static/assets/chunks/editor-0860e370cbfc6b03.js +0 -6
  387. package/dist/dash/standalone/static/assets/chunks/engines-list-31b9bb7885924b05.js +0 -1
  388. package/dist/dash/standalone/static/assets/chunks/format-a27067f0186e78ac.js +0 -1
  389. package/dist/dash/standalone/static/assets/chunks/instructions-06b63e558f879da5.js +0 -1
  390. package/dist/dash/standalone/static/assets/chunks/instructions-2d9fbcbfadac4f40.js +0 -2
  391. package/dist/dash/standalone/static/assets/chunks/list-2773686bf8df64c7.js +0 -1
  392. package/dist/dash/standalone/static/assets/chunks/model-options-8d2170eebe0d061d.js +0 -1
  393. package/dist/dash/standalone/static/assets/chunks/models-list-03611e64b6a07efe.js +0 -1
  394. package/dist/dash/standalone/static/assets/chunks/notice-d14fdac28139c0a8.js +0 -1
  395. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-d3ba8ef89c59f801.js +0 -1
  396. package/dist/dash/standalone/static/assets/chunks/platform-actions-2a71c62b9f7eaef3.js +0 -1
  397. package/dist/dash/standalone/static/assets/chunks/platform-actions-70600c9943320152.js +0 -1
  398. package/dist/dash/standalone/static/assets/chunks/runners-list-edf536eb8003eab5.js +0 -1
  399. package/dist/dash/standalone/static/assets/chunks/secrets-list-e86122f73525ff95.js +0 -1
  400. package/dist/dash/standalone/static/assets/chunks/shared-init-6e12333f12903a62-2.js +0 -1
  401. package/dist/dash/standalone/static/assets/chunks/shared-init-b281027d465e004f.js +0 -5
  402. package/dist/dash/standalone/static/assets/chunks/shared-init-c3bd249cf1eca6d1.js +0 -2
  403. package/dist/dash/standalone/static/assets/chunks/side-toggle-9b3af821cfe4c824.js +0 -1
  404. package/dist/dash/standalone/static/assets/chunks/task-a37e7c26e82eb77d.js +0 -1
  405. package/dist/dash/standalone/static/assets/chunks/task-actions-705395565f2d83b8.js +0 -1
  406. package/dist/dash/standalone/static/assets/chunks/task-view-cb21169f38b56d15.js +0 -6
  407. package/dist/dash/standalone/static/assets/chunks/tasks-list-d7dccfd7e0623ae0.js +0 -1
  408. package/dist/dash/standalone/static/assets/chunks/versions-list-f8f2e71df691efda.js +0 -1
  409. package/dist/dash/standalone/static/assets/connect-a550b6f3a8c00186.css +0 -1
  410. package/dist/dash/standalone/static/assets/create-param-id-c2c756f652f2fc30.css +0 -1
  411. package/dist/dash/standalone/static/assets/dash-param-org-account-702f8a1b213e4026.css +0 -1
  412. package/dist/dash/standalone/static/assets/dash-param-org-agents-aad2f9f93c06e9ab.css +0 -1
  413. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-f9dcbcec36586f2b.css +0 -1
  414. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-8ff47f5d622c1f9b.css +0 -1
  415. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-907036d553cfeb36.css +0 -1
  416. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-5cc77badad15f00c.css +0 -1
  417. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-705d7c15868b4fd6.css +0 -1
  418. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-04e189c045098772.css +0 -1
  419. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-76fcd1ce7b3dae71.css +0 -1
  420. package/dist/dash/standalone/static/assets/dash-param-org-eccb6bb9297a53e6.css +0 -1
  421. package/dist/dash/standalone/static/assets/dash-param-org-operator-635a121f7a9a95bd.css +0 -1
  422. package/dist/dash/standalone/static/assets/dash-param-org-settings-a3297dc4d9e0c961.css +0 -1
  423. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-bcb06f81d9e8268d.css +0 -1
  424. package/dist/dash/standalone/static/assets/dash-param-org-setup-df4be8b188b9777f.css +0 -1
  425. package/dist/dash/standalone/static/assets/dash-param-org-tasks-16f9866a1b4801cd.css +0 -1
  426. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-02ae551dcd852b57.css +0 -1
  427. package/dist/dash/standalone/static/assets/dash-param-org-usage-f2175403069aab99.css +0 -1
  428. package/dist/dash/standalone/static/assets/global-e1de614478b64717.css +0 -1
  429. package/dist/dash/standalone/static/assets/pnext-client-0dc829ba60df5c26.js +0 -1
  430. package/dist/dash/standalone/static/assets/pnext-client-14d191f7f1da6602.js +0 -1
  431. package/dist/dash/standalone/static/assets/pnext-client-169eaa63783b71fd.js +0 -1
  432. package/dist/dash/standalone/static/assets/pnext-client-1e34cfefafa70fac.js +0 -1
  433. package/dist/dash/standalone/static/assets/pnext-client-285d61f00a80f40b.js +0 -1
  434. package/dist/dash/standalone/static/assets/pnext-client-35b89c3ba23ee845.js +0 -1
  435. package/dist/dash/standalone/static/assets/pnext-client-6c42784e005d4b87.js +0 -1
  436. package/dist/dash/standalone/static/assets/pnext-client-6cd93f9bd4cf6ffd.js +0 -1
  437. package/dist/dash/standalone/static/assets/pnext-client-7355f473fade532d.js +0 -1
  438. package/dist/dash/standalone/static/assets/pnext-client-815c3c297f75efb0.js +0 -1
  439. package/dist/dash/standalone/static/assets/pnext-client-87fe73c10a4dc33c.js +0 -1
  440. package/dist/dash/standalone/static/assets/pnext-client-98b56a142d441260.js +0 -1
  441. package/dist/dash/standalone/static/assets/pnext-client-b4bafe68a40f720b.js +0 -1
  442. package/dist/dash/standalone/static/assets/pnext-client-bf61ff39bdc0db48.js +0 -1
  443. package/dist/dash/standalone/static/assets/pnext-client-c9fa86c244813f74.js +0 -1
  444. package/dist/dash/standalone/static/assets/pnext-client-d2e7a75e16221224.js +0 -1
  445. package/dist/dash/standalone/static/assets/pnext-client-d34e774405ea8da8.js +0 -1
  446. package/dist/dash/standalone/static/assets/pnext-client-d511822afdb41d1d.js +0 -1
  447. package/dist/dash/standalone/static/assets/pnext-client-e113aa2f25ecfe01.js +0 -1
  448. package/dist/dash/standalone/static/assets/pnext-client-eb62f461d0c32266.js +0 -1
  449. package/dist/discover-CHfF4cEz.js +0 -1
  450. package/dist/dist-node-Bv1kCqyi.js +0 -20
  451. package/dist/docs-KHc0_gFX.js +0 -2
  452. package/dist/drive-Bwl7Bjme.js +0 -1
  453. package/dist/env-6Y-NNnYD.js +0 -1
  454. package/dist/errors-DO_IltpP.js +0 -16
  455. package/dist/exec-BmTa0vcO.js +0 -4
  456. package/dist/executor-ufWRqhdS.js +0 -11
  457. package/dist/http-Cg8PSe-c.js +0 -1
  458. package/dist/integrations-I7fRDk_l.js +0 -4
  459. package/dist/load-BDlEFetB.js +0 -2
  460. package/dist/local-COlczLwI.js +0 -5
  461. package/dist/log-view-CfX9lakH.js +0 -4
  462. package/dist/maintenance-CKCIWOvn.js +0 -1
  463. package/dist/match-CufHAZQH.js +0 -1
  464. package/dist/mcp-BkwmRHI9.js +0 -2
  465. package/dist/mcp-CGU7aoJ-.js +0 -1
  466. package/dist/mcp-DAHbhfUh.js +0 -13
  467. package/dist/models-CzggS7p2.js +0 -1
  468. package/dist/output-SNqdgh9A.js +0 -17
  469. package/dist/permission-MWFjKxqX.js +0 -1
  470. package/dist/prompt-CIx4jwQF.js +0 -8
  471. package/dist/refresh-CxsaX5R9.js +0 -1
  472. package/dist/remote-C9Hj2cby.js +0 -2
  473. package/dist/remote-HUZCWgfl.js +0 -3
  474. package/dist/runner-DYysY1-G.js +0 -1
  475. package/dist/runners-CfaGE0nV.js +0 -36
  476. package/dist/serve-DdAdw7Su.js +0 -4
  477. package/dist/serve-NQykWAKV.js +0 -1
  478. package/dist/serve-vKNqVaVy.js +0 -12
  479. package/dist/slack-BtKvW_4v.js +0 -5
  480. package/dist/task-CFxs0E_J.js +0 -1
  481. package/dist/task-iuYQ0zAK.js +0 -7
  482. package/dist/tools-B6ZxcqRi.js +0 -2
  483. package/dist/tools-FVop8XYG.js +0 -1
  484. package/dist/tools-search-kjKKolwp.js +0 -1
  485. package/dist/turn-DQ13lkPF.js +0 -2
  486. package/dist/types-DPtbvoo3.js +0 -1
  487. package/dist/types-DmThhjcW.js +0 -1
  488. package/dist/views-CMHXBMJp.js +0 -3
  489. package/dist/wire-C9CupY_A.js +0 -1
  490. package/dist/worker-BQpx1dPr.js +0 -9
  491. package/dist/worker-sTJL2eoe.js +0 -1
  492. package/dist/zod-BoqHoRCH.js +0 -1
  493. package/docs/access.md +0 -33
  494. package/docs/mcp.md +0 -54
  495. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.1bd0542d832ae0c0.js → errors.200335e62a9d9564.js} +0 -0
  496. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.061f6006f2685f5e.css.pnext-asset.js → page.abe7a6d16eb15c41.css.pnext-asset.js} +0 -0
  497. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.107e622830bff31d.css.pnext-asset.js → page.1c7947d6f79d6447.css.pnext-asset.js} +0 -0
  498. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{settings/agent-settings-form.ca926c58d15044aa.css.pnext-asset.js → platforms/platform-step.a722e3b8539a0f85.css.pnext-asset.js} +0 -0
  499. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/{agent/instructions.446bccc375f30eeb.css.pnext-asset.js → [slug]/(tabs)/settings/agent-settings-form.bf5430862c505c55.css.pnext-asset.js} +0 -0
  500. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/{editor/editor.1eb1bce282b289c9.css.pnext-asset.js → [slug]/platforms/[app]/@/app/dash/[org]/agents/[slug]/(tabs)/platforms/page.db05694ed4113dab.css.pnext-asset.js} +0 -0
  501. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.a4efa8d807fe5416.css.pnext-asset.js → agents/[slug]/platforms/[app]/app-cards.d2f5c8d620066e05.css.pnext-asset.js} +0 -0
  502. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/@/app/dash/[org]/setup/outcome.3ad5f7ec67e5238d.css.pnext-asset.js → agents/agent/instructions.4c31196fcbf9846c.css.pnext-asset.js} +0 -0
  503. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/connections-list.46786fe36b121a43.css.pnext-asset.js → agents/editor/editor.6b9a1d5c0a490153.css.pnext-asset.js} +0 -0
  504. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/credentials-list.f7c27f170ec1e868.css.pnext-asset.js → layout.52abe52dcfa736d7.css.pnext-asset.js} +0 -0
  505. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{engines-list.9927d602ebe9e7fc.css.pnext-asset.js → advanced-list.819e410e4178b328.css.pnext-asset.js} +0 -0
  506. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.8cbee173a5aff98d.css.pnext-asset.js → connections-list.87962937438296f1.css.pnext-asset.js} +0 -0
  507. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.53c7ea80b6fb734c.css.pnext-asset.js → credentials-list.973f91751525bcb6.css.pnext-asset.js} +0 -0
  508. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/[id]/task-view.42337a0d7c6ad0b6.css.pnext-asset.js → settings/[tab]/list.69d1b62c4066015b.css.pnext-asset.js} +0 -0
  509. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/composer.5b8687662e1629fa.css.pnext-asset.js → settings/[tab]/models-list.efd3f5781314c1d9.css.pnext-asset.js} +0 -0
  510. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/list/tasks-list.2f90c4410f843fff.css.pnext-asset.js → settings/[tab]/runners-list.df35d33aba0c8b07.css.pnext-asset.js} +0 -0
  511. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{globals.f8ac779f0ebf888b.css.pnext-asset.js → dash/[org]/settings/model-pick.74fababc0cc0bba7.css.pnext-asset.js} +0 -0
  512. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{responsive.ebc5f7d77b4b86a0.css.pnext-asset.js → dash/[org]/tasks/[id]/task-view.440367ae07204ee7.css.pnext-asset.js} +0 -0
  513. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/frame/task-toasts.d13d9f628e530552.css.pnext-asset.js → app/dash/[org]/tasks/composer.33d49ad218253703.css.pnext-asset.js} +0 -0
  514. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/badge.0cb1513f8b077560.css.pnext-asset.js → app/dash/[org]/tasks/list/pending-approvals.07e59a9cae7ccf29.css.pnext-asset.js} +0 -0
  515. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/button.d7f4433f4e7faa80.css.pnext-asset.js → app/dash/[org]/tasks/list/tasks-list.f3737549b4696cc8.css.pnext-asset.js} +0 -0
  516. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/card.f80288cc42f9bcae.css.pnext-asset.js → app/globals.3b53a3feaa1d72e1.css.pnext-asset.js} +0 -0
  517. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/filter.b53f21acc3e2cfef.css.pnext-asset.js → app/responsive.2979ffa0161a5afd.css.pnext-asset.js} +0 -0
  518. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/{ui/menu.25b184f68cba7b46.css.pnext-asset.js → frame/task-toasts.682322f6f729b33e.css.pnext-asset.js} +0 -0
  519. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.19e1ce5224a23acf.css.pnext-asset.js → badge.8e2a9842b28f44a6.css.pnext-asset.js} +0 -0
@@ -0,0 +1 @@
1
+ import{b as I}from"./chunks/back-ba5e4340a9f8bbd2.js";import{a as p,b as c,c as f,d as l,e as C,f as u}from"./chunks/side-toggle-8a410cc6d6bd9b1d.js";import{$2r as r,$2s as s}from"./chunks/shared-init-abd7653140f37a0c.js";import{$0j as m}from"./chunks/shared-init-abd7653140f37a0c.js";import{$1f as a,$1g as d}from"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/wular-pnext-3fcac605fffcc273-0.js";import"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/shared-init-abd7653140f37a0c.js";import{$3a as t}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$4a as n}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$1c as e}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$0i as i}from"./chunks/shared-init-3fcac605fffcc273-2.js";import"./chunks/shared-init-3fcac605fffcc273-2.js";var{mountRoute:R,remountRoute:X,unmountRoute:T}=t({islands:[{id:"c-04670c93cb",Component:p},{id:"c-0ff1a419d8",options:{},load:()=>import("./chunks/outcome-toast-c00becdb638cd9a8.js").then(o=>o.OutcomeToast)},{id:"c-13688e7f8e",Component:c},{id:"c-26e7b5f164",Component:a},{id:"c-27d3aea7f2",Component:I},{id:"c-322e0a6ac0",Component:f},{id:"c-3347df857a",Component:s},{id:"c-3edfc784a2",options:{},load:()=>import("./chunks/runners-list-20d42f19fb4bec8a.js").then(o=>o.RunnersList)},{id:"c-405ca9b423",options:{},load:()=>import("./chunks/models-list-ae1e2eff30d21824.js").then(o=>o.ModelsList)},{id:"c-651470b7df",Component:l},{id:"c-6632c70a92",Component:d},{id:"c-6fe00c63a5",options:{},load:()=>import("./chunks/credentials-list-e64c973aee5602d3.js").then(o=>o.EngineLogins)},{id:"c-9e1aaa9f92",Component:r},{id:"c-a18c293500",options:{},load:()=>import("./chunks/credentials-list-e64c973aee5602d3.js").then(o=>o.CredentialsList)},{id:"c-a5c2e14296",options:{},load:()=>import("./chunks/secrets-list-89f89ee70edb3856.js").then(o=>o.TaskSecrets)},{id:"c-ca9bafc9a2",options:{},load:()=>import("./chunks/advanced-list-b75a9c2bd11026de.js").then(o=>o.AdvancedList)},{id:"c-d5f6d1c671",Component:m},{id:"c-d88f87ef2a",Component:n},{id:"c-f33e1f7aa1",options:{},load:()=>import("./chunks/connections-list-5412dad7e0def52f.js").then(o=>o.ConnectionsList)},{id:"c-f50d7e7ce9",Component:C},{id:"c-f73dbfe27d",Component:u}]});e();i()||R();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:R,unmountRoute:T});export{R as mountRoute,X as remountRoute,T as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a,b as d,c as s,d as p,e as f,f as c}from"./chunks/side-toggle-8a410cc6d6bd9b1d.js";import{$2r as i,$2s as r}from"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/shared-init-abd7653140f37a0c.js";import{$1f as e}from"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/wular-pnext-3fcac605fffcc273-0.js";import"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/shared-init-abd7653140f37a0c.js";import{$3a as o}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$4a as n}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$1c as m}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$0i as t}from"./chunks/shared-init-3fcac605fffcc273-2.js";import"./chunks/shared-init-3fcac605fffcc273-2.js";var{mountRoute:l,remountRoute:h,unmountRoute:u}=o({islands:[{id:"c-04670c93cb",Component:a},{id:"c-13688e7f8e",Component:d},{id:"c-26e7b5f164",Component:e},{id:"c-322e0a6ac0",Component:s},{id:"c-3347df857a",Component:r},{id:"c-651470b7df",Component:p},{id:"c-9e1aaa9f92",Component:i},{id:"c-d88f87ef2a",Component:n},{id:"c-f50d7e7ce9",Component:f},{id:"c-f73dbfe27d",Component:c}]});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{f as a}from"./chunks/list-662f042656857c82.js";import{b as p,c as O,d as S,g as z,i as N}from"./chunks/platform-actions-f3979ab69a6ceb53.js";import"./chunks/copy-04781f9af4e10f06.js";import"./chunks/confirm-14d018653fbe50fc.js";import"./chunks/segmented-66a8c77c6294fec3.js";import"./chunks/outcome-dialog-fd86ded4c44c2de7.js";import"./chunks/field-adcb6e6a5f9b7131.js";import"./chunks/shared-init-96225b8c7758de9d.js";import"./chunks/shared-init-96225b8c7758de9d.js";import{a as U,b as $,c as x,d as D,e as G,f as M}from"./chunks/side-toggle-8a410cc6d6bd9b1d.js";import{$2r as y,$2s as L}from"./chunks/shared-init-abd7653140f37a0c.js";import{$0E as E,$0j as A}from"./chunks/shared-init-abd7653140f37a0c.js";import{$1f as k,$1g as B,$1k as T,$1m as _,$1o as s}from"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/wular-pnext-3fcac605fffcc273-0.js";import"./chunks/shared-init-abd7653140f37a0c.js";import{$3Q as t,$3S as w,$3T as d}from"./chunks/shared-init-abd7653140f37a0c.js";import{$3a as C}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$4a as v}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$1c as R}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$0i as I}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$2c as h}from"./chunks/shared-init-3fcac605fffcc273-2.js";function X({org:m,slug:F,app:n,installs:i,events:c,covered:Z,admin:u,operator:j,appUpdate:f,check:q,asked:H,create:g}){let{name:e}=g,l=i.filter(o=>!o.uninstalled),r=u&&!n.builtin,b=o=>[o.account.type?.toLowerCase()??"account",o.covers&&`${o.covers.length} ${Z}${o.covers.length===1?"":"s"}`].filter(Boolean).join(" \xB7 ");return t("div",{class:"app-cards",children:[t(s,{title:"Installed on",count:l.length,actions:t(p,{app:n.id,label:l.length?"Install on another account":"Install",variant:"outline",size:"sm"}),children:i.length?t("div",{class:"table-scroll",children:t("table",{class:"rows settings",children:t("tbody",{children:[l.map(o=>t(a,{title:o.account.login,sub:b(o),actions:u?t(O,{install:{id:o.id,app:n.name,account:o.account.login},name:e,url:o.installationUrl}):null},o.id)),i.filter(o=>o.uninstalled).map(o=>t(a,{muted:!0,title:o.account.login,badges:t(T,{children:"uninstalled"}),sub:b(o),actions:t(p,{app:n.id,label:"Reinstall",variant:"outline",size:"sm"})},o.id))]})})}):t("p",{class:"body muted",children:["Not installed on any ",e," account yet."]})}),t(s,{title:"App",children:t("div",{class:"table-scroll",children:t("table",{class:"rows settings",children:t("tbody",{children:[t(a,{title:`Settings on ${e}`,sub:n.builtin?"This server's shared app. Only whoever runs this server changes it.":n.changed?"The agent changed since the app was last updated.":void 0,actions:t(h,{children:[r&&f?t(z,{app:n,name:e,appUpdate:f,check:q}):null,n.builtin&&j?t(d,{variant:"outline",size:"sm",href:"/dash/[org]/operator",params:{org:m},children:"Open Operator"}):null,n.settingsUrl?t(w,{variant:"outline",size:"sm",href:n.settingsUrl,external:!0,children:"Open app settings"}):null]})}),t(a,{title:"Events",sub:c.length?t(_,{values:c}):"None",actions:t(d,{variant:"outline",size:"sm",href:"/dash/[org]/agents/[slug]/settings",params:{org:m,slug:F},children:"Change in Settings"})}),r?t(a,{title:`Another ${e} app`,sub:"A separate app with its own name, for the same agent.",actions:t(N,{...g})}):null]})})})}),r?t(s,{tone:"danger",title:"Danger zone",children:t("div",{class:"table-scroll",children:t("table",{class:"rows settings",children:t("tbody",{children:t(a,{title:"Remove app",sub:`Coder forgets this app and its installs. It stays on ${e} until you delete it there.`,actions:t(S,{app:n,name:e,asked:H})})})})})}):null]})}var{mountRoute:Y,remountRoute:kt,unmountRoute:J}=C({islands:[{id:"c-04670c93cb",Component:U},{id:"c-13688e7f8e",Component:$},{id:"c-26e7b5f164",Component:k},{id:"c-322e0a6ac0",Component:x},{id:"c-3347df857a",Component:L},{id:"c-651470b7df",Component:D},{id:"c-6632c70a92",Component:B},{id:"c-9e1aaa9f92",Component:y},{id:"c-d14349cad6",Component:X},{id:"c-d5f6d1c671",Component:A},{id:"c-d88f87ef2a",Component:v},{id:"c-f0db18b936",Component:E},{id:"c-f50d7e7ce9",Component:G},{id:"c-f73dbfe27d",Component:M}]});R();I()||Y();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:Y,unmountRoute:J});export{Y as mountRoute,kt as remountRoute,J as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as s,b as p,c as f,d as c,e as l,f as u}from"./chunks/side-toggle-8a410cc6d6bd9b1d.js";import{$2r as a,$2s as d}from"./chunks/shared-init-abd7653140f37a0c.js";import{$0j as r}from"./chunks/shared-init-abd7653140f37a0c.js";import{$1f as e,$1g as m}from"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/wular-pnext-3fcac605fffcc273-0.js";import"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/shared-init-abd7653140f37a0c.js";import{$3a as o}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$4a as n}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$1c as i}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$0i as t}from"./chunks/shared-init-3fcac605fffcc273-2.js";import"./chunks/shared-init-3fcac605fffcc273-2.js";var{mountRoute:C,remountRoute:P,unmountRoute:_}=o({islands:[{id:"c-04670c93cb",Component:s},{id:"c-13688e7f8e",Component:p},{id:"c-26e7b5f164",Component:e},{id:"c-322e0a6ac0",Component:f},{id:"c-3347df857a",Component:d},{id:"c-651470b7df",Component:c},{id:"c-6632c70a92",Component:m},{id:"c-67acd5aafe",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-04c6568d7f7237b7.js").then(I=>I.TasksList)},{id:"c-9e1aaa9f92",Component:a},{id:"c-d5f6d1c671",Component:r},{id:"c-d88f87ef2a",Component:n},{id:"c-f50d7e7ce9",Component:l},{id:"c-f73dbfe27d",Component:u}]});i();t()||C();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:C,unmountRoute:_});export{C as mountRoute,P as remountRoute,_ as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as u}from"./chunks/agent-toggle-b5dcc4ea6292fb3d.js";import"./chunks/shared-init-96225b8c7758de9d.js";import"./chunks/shared-init-96225b8c7758de9d.js";import{a as p,b as f,c,d as l,e as C,f as I}from"./chunks/side-toggle-8a410cc6d6bd9b1d.js";import{$2r as d,$2s as s}from"./chunks/shared-init-abd7653140f37a0c.js";import{$0E as a,$0j as r}from"./chunks/shared-init-abd7653140f37a0c.js";import{$1f as i,$1g as e}from"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/wular-pnext-3fcac605fffcc273-0.js";import"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/shared-init-abd7653140f37a0c.js";import{$3a as o}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$4a as n}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$1c as m}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$0i as t}from"./chunks/shared-init-3fcac605fffcc273-2.js";import"./chunks/shared-init-3fcac605fffcc273-2.js";var{mountRoute:_,remountRoute:x,unmountRoute:T}=o({islands:[{id:"c-04670c93cb",Component:p},{id:"c-13688e7f8e",Component:f},{id:"c-26e3949a86",options:{},load:()=>import("./chunks/editor-68e9ccd1764fc512.js").then(R=>R.AgentEditor)},{id:"c-26e7b5f164",Component:i},{id:"c-322e0a6ac0",Component:c},{id:"c-3347df857a",Component:s},{id:"c-651470b7df",Component:l},{id:"c-6632c70a92",Component:e},{id:"c-990a90f80b",Component:u},{id:"c-9e1aaa9f92",Component:d},{id:"c-d5f6d1c671",Component:r},{id:"c-d88f87ef2a",Component:n},{id:"c-f0db18b936",Component:a},{id:"c-f50d7e7ce9",Component:C},{id:"c-f73dbfe27d",Component:I}]});m();t()||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:T});export{_ as mountRoute,x as remountRoute,T as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as T}from"./chunks/custom-range-b6919bab9846ebf7.js";import{a as R}from"./chunks/agent-toggle-b5dcc4ea6292fb3d.js";import"./chunks/field-adcb6e6a5f9b7131.js";import"./chunks/shared-init-96225b8c7758de9d.js";import"./chunks/shared-init-96225b8c7758de9d.js";import{a as f,b as c,c as l,d as C,e as u,f as I}from"./chunks/side-toggle-8a410cc6d6bd9b1d.js";import{$2r as s,$2s as p}from"./chunks/shared-init-abd7653140f37a0c.js";import{$0E as d,$0j as r}from"./chunks/shared-init-abd7653140f37a0c.js";import{$1f as m,$1g as a}from"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/wular-pnext-3fcac605fffcc273-0.js";import"./chunks/shared-init-abd7653140f37a0c.js";import"./chunks/shared-init-abd7653140f37a0c.js";import{$3a as n}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$4a as t}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$1c as e}from"./chunks/shared-init-3fcac605fffcc273-2.js";import{$0i as i}from"./chunks/shared-init-3fcac605fffcc273-2.js";import"./chunks/shared-init-3fcac605fffcc273-2.js";var{mountRoute:_,remountRoute:D,unmountRoute:b}=n({islands:[{id:"c-04670c93cb",Component:f},{id:"c-13688e7f8e",Component:c},{id:"c-26e7b5f164",Component:m},{id:"c-322e0a6ac0",Component:l},{id:"c-3347df857a",Component:p},{id:"c-349df33426",options:{},load:()=>import("./chunks/composer-b26a3332a1243461.js").then(o=>o.NewTaskButton)},{id:"c-651470b7df",Component:C},{id:"c-6632c70a92",Component:a},{id:"c-67acd5aafe",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-04c6568d7f7237b7.js").then(o=>o.TasksList)},{id:"c-7636147aee",Component:T},{id:"c-990a90f80b",Component:R},{id:"c-9e1aaa9f92",Component:s},{id:"c-d5f6d1c671",Component:r},{id:"c-d88f87ef2a",Component:t},{id:"c-f0db18b936",Component:d},{id:"c-f50d7e7ce9",Component:u},{id:"c-f73dbfe27d",Component:I}]});e();i()||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:b});export{_ as mountRoute,D as remountRoute,b as unmountRoute};
@@ -0,0 +1 @@
1
+ import{A as e,F as t,O as n,P as r,T as i,_ as a,g as o,j as s,k as c,kn as l,m as u,pn as d}from"./args-CJsHYWbt.js";import{D as f,L as p,R as m,T as h,d as g,q as _,z as v}from"./config-_32PHl9g.js";import{t as y}from"./integrations-DSZSa8Rc.js";const b=s().check(l(/^[a-z0-9][a-z0-9_-]*$/i,`agent or flow name`)),x=e({match:i(s().check(d(1)))}),S=t().check(c(e=>e===!0||x.safeParse(e).success,`events take a list of names, or a map of each name to true or { "match": "<regex>" }`)),C=e({events:i(r([o(s()),n(s(),S)]))}),w=e({$schema:i(s()),name:i(s().check(d(1))),description:i(s()),runner:i(s().check(d(1))),model:i(f),access:i(g),mcp:i(n(b,h)),integrations:u(n(s(),C),{})}),T=e({allowedEvents:i(o(s()))}),E=e({connections:i(o(s())),model:i(f),access:i(g),integrations:i(n(s(),T)),disabled:i(a())}),D=n(b,r([a(),E]));function O(e){let t=e?.mcp;return!t||typeof t!=`object`?e:{...e,mcp:Object.fromEntries(Object.entries(t).map(([e,t])=>{if(!t||typeof t!=`object`)return[e,t];let{repository:n,...r}=t;return[e,r]}))}}const k={permissions:`access`},A=e=>e.flatMap(e=>e.code===`unrecognized_keys`&&!e.path.length?e.keys.map(e=>k[e]?`${e} was replaced by ${k[e]}, remove ${e}`:`${e} is not an agent setting, remove it`):p([e]));function j(e){let t=(e&&typeof e==`object`?Object.keys(e):[]).filter(e=>!(e in w.shape)),n=Object.fromEntries(t.filter(e=>k[e]).map(e=>[e,k[e]])),r=t.filter(e=>!k[e]);return{...Object.keys(n).length?{renamed:n}:{},...r.length?{unknown:r}:{}}}function M(e){let t=w.safeParse(O(e));return t.success?[]:A(t.error.issues)}function N(e,t,n=!0){let r=w.safeParse(O(t));if(!r.success)throw Error(`Invalid agent definition "${e}": ${A(r.error.issues).join(`; `)}`);let{$schema:i,...a}=r.data;return _(a.mcp,n),a}function P(e){if(e===void 0)return{};let t=D.safeParse(e);if(!t.success)throw Error(`Invalid agents usage: ${p(t.error.issues).join(`; `)}`);return Object.fromEntries(Object.entries(t.data).map(([e,t])=>{if(typeof t==`boolean`||!t.model)return[e,t];let{model:n,...r}=t;return[e,{...r,...m(n)}]}))}function F({engine:e,model:t,effort:n,...r}){return e||t?{...r,model:[e,t,n].filter(Boolean).join(`/`)}:r}function I(e){return e?.events?Array.isArray(e.events)?e.events:Object.keys(e.events):[]}function L(e,t){if(!e?.events)return;if(Array.isArray(e.events))return e.events.includes(t)?{}:void 0;if(!Object.prototype.hasOwnProperty.call(e.events,t))return;let n=e.events[t];return n===!0?{}:n}function R(e,t){let n=Object.fromEntries(Object.entries(e.integrations).map(([e,n])=>{let r=n.events??[],i=Array.isArray(r)?Object.fromEntries(r.map(e=>[e,!0])):r;if(!Object.keys(i).some(e=>e in t))return[e,n];let a=Object.entries(i).map(([e,n])=>e in t?[e,!t[e]||{match:t[e]}]:[e,n]);return[e,{...n,events:Object.fromEntries(a)}]}));return{...e,integrations:n}}function z(e,t){let n=[],r=Object.keys(t).sort().join(`, `)||`none`;for(let i of e){for(let[e,a]of Object.entries(i.definition.integrations)){let o=`agents.${i.id}.integrations.${e}`,s=t[e];if(!s){n.push(`${o}: unknown integration; valid: ${r}`);continue}let c=Object.keys(s.events).sort().join(`, `)||`none`;for(let e of I(a)){e in s.events||n.push(`${o}.events.${e}: unknown event; valid: ${c}`);let t=L(a,e)?.match;if(t!==void 0)try{new RegExp(t)}catch{n.push(`${o}.events.${e}.match: invalid regex`)}}}for(let[e,a]of Object.entries(i.usage?.integrations??{})){let o=`agents.${i.id}.integrations.${e}`,s=t[e];if(!s){n.push(`${o}: unknown integration; valid: ${r}`);continue}let c=Object.keys(s.events).sort().join(`, `)||`none`;for(let e of a.allowedEvents??[])e in s.events||n.push(`${o}.allowedEvents: unknown event "${e}"; valid: ${c}`)}}return n}function B(e,t){return v(e.definition.access,e.usage?.access,t)}function V(e,t){let n=I(e.definition.integrations[t]),r=e.usage?.integrations?.[t]?.allowedEvents;return r===void 0?n:n.filter(e=>r.includes(e))}function H(e){let{engine:t,model:n,effort:r}=e.usage??{};return t||n?{engine:t,model:n,effort:r}:e.definition?.model?m(e.definition.model):{}}function U(e,t){let n={};for(let r of Object.keys(e.definition.integrations)){let i=y[r];i&&(n[r]=i.tools.presets[B(e,t)])}return n}function W(e,t,n){if(!y[e.integration]||!V(t,e.integration).includes(e.type))return;let r=L(t.definition.integrations[e.integration],e.type);if(r&&!(r.match!==void 0&&!new RegExp(r.match).test(e.text)))return{tools:U(t,n)}}function G(e,t){return t.flatMap(t=>{let n=W(e,t);return n?[{agent:t,...n}]:[]})}export{H as a,G as c,j as d,F as f,M as i,N as l,R as m,U as n,L as o,z as p,I as r,W as s,B as t,P as u};
@@ -0,0 +1 @@
1
+ import{Ea as e}from"./args-CJsHYWbt.js";import{W as t,p as n}from"./state-CxAUec80.js";import r from"node:path";import{fileURLToPath as i}from"node:url";import a from"node:fs";var o=e({builtinFlowsDir:()=>c,discoverFlows:()=>d,flowsIn:()=>l,resolveFlow:()=>p});const s=[`.ts`,`.mjs`,`.js`];function c(){let e=r.dirname(i(import.meta.url)),t=e;for(;r.basename(t)!==`dist`&&r.dirname(t)!==t;)t=r.dirname(t);return r.basename(t)===`dist`?r.join(t,`flow`,`builtin`):r.join(e,`builtin`)}function l(e,t){let n=[];try{n=a.readdirSync(e)}catch{return[]}let i=[];for(let o of n.sort()){let n=r.extname(o);if(s.includes(n)&&!o.endsWith(`.d.ts`)){i.push({name:r.basename(o,n),path:r.join(e,o),scope:t});continue}let c=s.map(t=>r.join(e,o,`index${t}`)).find(e=>a.existsSync(e));c&&i.push({name:o,path:c,scope:t})}return i}function u(e){let i=t(e),a=[],o=r.resolve(e);for(;a.push({dir:r.join(o,`.coder`,`flows`),scope:`workspace`}),o!==i&&r.dirname(o)!==o;)o=r.dirname(o);return a.push({dir:n(`flows`),scope:`global`}),a}function d(e){let t=new Set,n=[];for(let{dir:r,scope:i}of u(e))for(let e of l(r,i))t.has(e.name)||(t.add(e.name),n.push(e));for(let e of l(c(),`builtin`))t.has(e.name)||n.push(e);return n}function f(e){return e.includes(`/`)||s.includes(r.extname(e))}function p(e,t){if(f(e)){let n=r.resolve(t,e);if(a.existsSync(n))return{name:r.basename(n,r.extname(n)),path:n};throw Error(`Flow file not found: ${e}`)}let n=d(t).find(t=>t.name===e);if(!n)throw Error(`No flow named "${e}". Run \`coder flow discover\` to see available flows.`);return{name:n.name,path:n.path,scope:n.scope}}export{p as a,l as i,d as n,o as r,c as t};
@@ -0,0 +1,12 @@
1
+ import{A as e,Ea as t,Wi as n,g as r,ha as i,j as a,k as o,la as s,ma as c,pa as l,pn as u}from"./args-CJsHYWbt.js";import{t as d}from"./errors-DK_trCff.js";import{$ as f,G as p,J as m,M as h,N as g,P as _,T as v,V as y,Z as b,_ as x,_t as S,bt as C,ct as w,ft as T,g as E,gt as D,k as O,mt as k,o as A,ot as j,st as M,tt as N,v as ee,vt as te}from"./state-CxAUec80.js";import{C as ne,I as re,K as P,M as ie,N as F,P as ae,R as oe,S as se,T as ce,Y as le,Z as ue,a as de,i as fe,k as pe,l as me,m as he,o as ge,p as _e,t as ve,w as ye}from"./config-_32PHl9g.js";import{g as I}from"./connections-B90TemYf.js";import{_ as be,a as xe,c as Se,d as Ce,f as we,l as L,s as Te,u as Ee,v as R}from"./app-server-dnlLhhZb.js";import{a as De}from"./http-615JJgHo.js";import{a as Oe,r as ke,t as Ae}from"./sessions-BGUfSe8L.js";import{i as je,n as Me,r as z,t as Ne}from"./update-check-Bap3dwaj.js";import{S as Pe,b as Fe}from"./approvals-C8XV7CK2.js";import B from"node:path";import V from"node:process";import{fileURLToPath as Ie}from"node:url";import H from"node:fs";import{execFileSync as Le,spawn as Re,spawnSync as U}from"node:child_process";import W from"node:os";import ze from"node:readline";import{createHash as Be,randomUUID as G}from"node:crypto";import{setImmediate as Ve}from"node:timers/promises";function He(e,t){let n=`${e}.${G()}.tmp`;H.writeFileSync(n,JSON.stringify(t),{flag:`wx`}),H.renameSync(n,e)}function Ue(e,t){let n=H.mkdtempSync(B.join(W.tmpdir(),e)),r=new Map,i=!1,a=()=>{try{for(let e of H.readdirSync(n)){if(!e.endsWith(`.request.json`))continue;let a=e.slice(0,-13),o=B.join(n,e),s=B.join(n,`${a}.response.json`);if(H.existsSync(s)){H.rmSync(o,{force:!0});continue}if(r.has(a))continue;let c=`${o}.processing`;H.renameSync(o,c);let l=(async()=>{let e;try{let n=JSON.parse(H.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}}}He(s,e),H.rmSync(c,{force:!0})})();r.set(a,l),l.finally(()=>r.delete(a)).catch(()=>{})}}catch{}},o=te(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 Ve(),!(!H.existsSync(n)||!H.readdirSync(n).some(e=>e.endsWith(`.reader`))||Date.now()>=e);)await o.wait(e-Date.now())}finally{o.close(),H.rmSync(n,{recursive:!0,force:!0})}}}}async function We(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=te(i),o=B.join(i,`${G()}.reader`),s=!1;try{H.writeFileSync(o,``);let e=B.join(i,`${t.id}.response.json`);H.existsSync(e)||He(B.join(i,`${t.id}.request.json`),t),s=!0;let c=Date.now()+n;await Ve();let l=await a.until(()=>{try{let n=JSON.parse(H.readFileSync(e,`utf8`));if((!t.command||n?.error?.retryable)&&H.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(!H.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(),H.rmSync(o,{force:!0})}}const Ge=/^([a-f0-9-]{36})\.(?:req|applying)\.json$/,Ke=2**40;function qe(e,t){let n=Be(`sha256`).update(t).digest();return{task:e,generation:0,seq:Ke+n.readUInt32BE(0)}}function Je(e){if(!e)return G();if(!e.task||!Number.isInteger(e.generation)||e.generation<0||!Number.isInteger(e.seq)||e.seq<0)throw Error(`Invalid command key`);let t=Be(`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 Ye=[`hint`,`taskId`,`payload`,`approval`,`result`,`runId`,`status`];function Xe(e,t){let n=`${e}.${G()}.tmp`;H.writeFileSync(n,JSON.stringify(t),{encoding:`utf8`,flag:`wx`}),H.renameSync(n,e)}async function Ze(e,t,n){let{dir:r}=n,i=n.id??G(),a=B.join(r,`${i}.res.json`);H.existsSync(a)||Xe(B.join(r,`${i}.req.json`),{kind:e,payload:t});let o=Date.now();for(;!H.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(H.readFileSync(a,`utf8`));if(n.keepReply||H.rmSync(a,{force:!0}),c){let{code:e,message:t,...n}=c;throw new d(e,t,n)}return s}function Qe(e,t){H.mkdirSync(e,{recursive:!0});let n=new Set,r=async(r,i)=>{let a;try{let n=B.join(e,r);if(!H.lstatSync(n).isFile())throw Error(`mailbox request is not a regular file`);let{kind:o,payload:s}=JSON.parse(H.readFileSync(n,`utf8`)),c=B.join(e,`${i}.applying.json`);H.existsSync(c)||Xe(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 d?e:void 0;a={error:{code:t?.code??`invalid-option`,message:e instanceof Error?e.message:String(e),...Object.fromEntries(Ye.flatMap(e=>t?.[e]===void 0?[]:[[e,t[e]]]))}}}try{Xe(B.join(e,`${i}.res.json`),a),H.rmSync(B.join(e,`${i}.req.json`),{force:!0}),H.rmSync(B.join(e,`${i}.applying.json`),{force:!0}),n.delete(i)}catch{}},i=setInterval(()=>{let t=[];try{t=H.readdirSync(e)}catch{return}for(let i of t){let t=Ge.exec(i)?.[1];if(t){if(H.existsSync(B.join(e,`${t}.res.json`))){H.rmSync(B.join(e,i),{force:!0});continue}n.has(t)||(n.add(t),r(i,t))}}},100);return()=>clearInterval(i)}function $e(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 K(e,t,n){return Object.assign(Error(e),{retryable:t,...n===void 0?{}:{rpcCode:n}})}function et(e,t,n,r){if(!e||e.id!==t||e.method!==`turn/steer`&&e.method!==`turn/interrupt`)throw K(`Invalid Codex control request.`,!1);let i=e.params;if(!i||typeof i!=`object`||i.threadId!==n)throw K(`Codex control request does not match its owning thread.`,!1);if(e.method===`turn/interrupt`){if(i.turnId!==r)throw K(`Codex turn/interrupt request does not match its owning active turn.`,!1);return{method:e.method,params:i}}if(i.expectedTurnId!==r)throw K(`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 K(`Invalid Codex turn/steer input schema.`,!1);return{method:e.method,params:i}}async function tt(e,{threadId:t,turnId:n}){return Ue(`coder-codex-control-`,async(r,i)=>{if(i)throw K(`Codex owner endpoint is shutting down.`,!0);let a=et(r,r.id,t,n);try{let n=await e.request(a.method,a.params);return a.method===`turn/interrupt`&&await e.request(`thread/backgroundTerminals/clean`,{threadId:t}),n}catch(e){throw K(e instanceof Error?e.message:String(e),$e(e),e.rpcCode)}})}function nt(e){if(e?.startsWith(`file:`)&&e.length>5){let t=B.resolve(e.slice(5)),n=B.resolve(W.tmpdir());B.dirname(t)===n&&B.basename(t).startsWith(`coder-codex-control-`)&&H.rmSync(t,{recursive:!0,force:!0})}}async function rt(e,t,n,r=3e3,i){return We(e,{id:Je(i),method:t,params:n,command:i},r,`Codex control`)}const it=`Coder Task`;function at(e,t=72){let n=String(e??``).trim().replace(/\s+/g,` `);return n?n.length<=t?n:`${n.slice(0,t-3)}...`:``}function ot(e){let t=at(e,56);return t?`${it}: ${t}`:it}function st(e){return e?.params?.threadId??null}function ct(e){return e?.params?.turnId?e.params.turnId:e?.params?.turn?.id?e.params.turn.id:null}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=H.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?S(n,e.kind.move_path):e.kind.move_path}`:``;return`${r} ${n?S(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?S(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 q(e){if(!e)return[];if(typeof e==`string`){let t=_t(e);return t?[t]:[]}if(Array.isArray(e))return e.flatMap(e=>q(e));if(typeof e==`object`){let t=e;if(typeof t.text==`string`)return q(t.text);if(`summary`in t)return q(t.summary);if(`content`in t)return q(t.content);if(`parts`in t)return q(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 J(e,t,n=null,r={}){!e||t==null||e({message:t,phase:n,...r})}function yt(e,t){t&&J(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 Y(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?Y(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}`,Y(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(`/`),Y(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()||Y(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=q(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:Y(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:Y(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:Y(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=st(t);if(!n||!e.threadIds.has(n))return!1;let r=e.threadTurnIds.get(n)??null,i=ct(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,q(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),J(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(S(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=st(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,context:e.contextTokens??null}))}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,J(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());J(e.onProgress,`Auto-review ${n.status}. ${at(i,48)}${n.rationale?`. ${at(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,J(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}J(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===`read-only`?t?{type:`readOnly`,networkAccess:t}:null:e!==`workspace-write`||!n.length?null:{type:`workspaceWrite`,writableRoots:n,networkAccess:t??!1,excludeTmpdirEnvVar:!0,excludeSlashTmp:!0}}function Pt(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}:{}},default_tools_approval_mode:`approve`}}return Object.keys(r).length?{mcp_servers:r}:{}}function Ft({developerInstructions:e,mcpServers:t=[]}){return[e,...t.flatMap(({alwaysLoad:e,instructions:t,name:n})=>e&&t?[`<mcp-instructions server="${n}">\n${t}\n</mcp-instructions>`]:[])].filter(Boolean).join(`
4
+
5
+ `)||void 0}function It(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(`
6
+ `)}function Lt(){throw Error(`The Codex app-server has no custom-model bridge; restart the Coder broker.`)}async function Rt(e,t,n,r){let i=process.env.CODER_MACHINE_SANDBOX===`1`&&(r.sandbox??`read-only`)!==`read-only`?`danger-full-access`:r.sandbox,a={sandbox:i??`read-only`},o=r.approvalsReviewer??((r.approvalPolicy??`never`)===`never`?null:`user`),s=r.configOverrides&&Object.keys(r.configOverrides).length?r.configOverrides:null,c=Nt(i,r.networkAccess,r.writableRoots),l=null,u;R(`codex.config.start`);let d=await e.request(`config/read`,{cwd:t,includeLayers:!1});R(`codex.config.done`);let f=r.customModel?F(r.customModel.alias,r.customModel.entry,e.bridgeUrl??Lt()):null,p=r.customModel?.entry.model??r.model??null,m={...f?{}:{model_reasoning_summary:`auto`},...f?.configOverrides,...s,...Pt(r.mcpServers,Object.keys(d.config?.mcp_servers??{}),r.nativeMcp),...r.nativeMcp?{}:{"features.apps":!1,"features.plugins":!1},"features.shell_snapshot":!1},h=Ft(r),g=h?{developerInstructions:h}:{},_;if(r.resumeThreadId&&(J(r.onProgress,`Resuming thread ${r.resumeThreadId}.`,`starting`,{kind:`status`}),ke(r.resumeThreadId)&&await Oe(r.resumeThreadId),_=await e.request(`thread/resume`,{threadId:r.resumeThreadId,cwd:t,model:p,modelProvider:f?.modelProvider??null,config:m,approvalPolicy:r.approvalPolicy??`never`,...a,...o?{approvalsReviewer:o}:{},...g}).catch(e=>{J(r.onProgress,w,`starting`,{kind:`warning`,detail:String(e?.message??e)})})),_)u=_.thread.id;else if(J(r.onProgress,`Starting Codex task thread.`,`starting`,{kind:`status`}),R(`codex.thread.start`),u=(await e.request(`thread/start`,{cwd:t,model:p,modelProvider:f?.modelProvider??null,config:m,approvalPolicy:r.approvalPolicy??`never`,...a,...o?{approvalsReviewer:o}:{},...g,serviceName:`coder_runtime`,ephemeral:r.ephemeral??!1})).thread.id,!(r.ephemeral??!1))try{await e.request(`thread/name/set`,{threadId:u,name:ot(n)})}catch(e){let t=String(e?.message??e??``);if(!t.includes(`unknown variant`)&&!t.includes(`unknown method`))throw e}R(`codex.thread.ready`),J(r.onProgress,`Thread ready (${u}).`,`starting`,{kind:`status`,threadId:u});let v,y=null,b=()=>{y&&e.request(`turn/interrupt`,{threadId:u,turnId:y}).catch(()=>{})};r.signal?.addEventListener(`abort`,b,{once:!0});try{v=await Mt(e,u,()=>e.request(`turn/start`,{threadId:u,input:[{type:`text`,text:n,text_elements:[]}],model:p,effort:r.effort??null,outputSchema:r.outputSchema??null,approvalPolicy:r.approvalPolicy??`never`,...o?{approvalsReviewer:o}:{},...c?{sandboxPolicy:c}:{}}),{cwd:t,onProgress:r.onProgress,onHeartbeat:r.onHeartbeat,onApprovalRequest:r.onApprovalRequest,onTurnStarted:async t=>{y=t,r.signal?.aborted&&b(),r.onControlReady&&(l=await tt(e,{threadId:u,turnId:t}),r.onControlReady(l.endpoint,u,t))}}),R(`codex.result`),r.onResult?.({status:v.finalTurn?.status===`completed`?0:1,threadId:u,turnId:v.turnId,finalMessage:v.lastAgentMessage,error:v.error??v.finalTurn?.error??null})}finally{r.signal?.removeEventListener(`abort`,b),await l?.close()}return{status:v.finalTurn?.status===`completed`?0:1,threadId:u,turnId:v.turnId,finalMessage:v.lastAgentMessage,reasoningSummary:v.reasoningSummary,turn:v.finalTurn,error:v.error??v.finalTurn?.error??null,stderr:It(e.stderr),fileChanges:v.fileChanges,tokens:gt(v),contextTokens:v.contextTokens,model:r.customModel?.alias??r.model??null,commandExecutions:v.commandExecutions}}function X(e){let t=process.env.CODEX_AUTH_JSON;if(t){let e=B.join(W.homedir(),`.codex`),n=B.join(e,`auth.json`);if(!H.existsSync(n)){H.mkdirSync(e,{recursive:!0,mode:448});try{H.writeFileSync(n,t,{encoding:`utf8`,flag:`wx`,mode:384})}catch(e){if(e.code!==`EEXIST`)throw e}}}let n=be(`codex`,[`--version`],{cwd:e,env:I()});if(!n.available)return n;let r=be(`codex`,[`app-server`,`--help`],{cwd:e,env:I()});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 zt(e){let t=X(e);if(!t.available)return{available:!1,loggedIn:!1,detail:t.detail};let n=null;try{n=await xe.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=U(`codex`,[`login`,`status`],{encoding:`utf8`,env:I()}),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 Bt(e,{endpoint:t,threadId:n,turnId:r}){if(!n||!r)return{interrupted:!1,detail:`missing threadId or turnId`};let i=await rt(t,`turn/interrupt`,{threadId:n,turnId:r});return i.ok?{interrupted:!0,detail:`Interrupted ${r} on ${n}.`}:{interrupted:!1,detail:i.detail}}async function Vt(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 rt(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 Ht(e,t={},n={}){if(!t.availabilityChecked){let t=X(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=async n=>{n.setNoticeHandler?.(e=>J(t.onProgress,e,`starting`,{kind:`status`}));try{let i=await Rt(n,e,r,t);return L(i.error?.message)&&await Ce(n),i}catch(e){throw L(Se(e))&&await Ce(n),e}},a=()=>we(e,i,{...n,networkAccess:t.networkAccess,nativeMcp:t.nativeMcp}),o=!1,s=()=>(o=!0,J(t.onProgress,`Codex login changed; restarted the Codex app-server and retrying the turn once.`,`starting`,{kind:`status`}),a());try{let e=await a().catch(e=>{if(!L(Se(e)))throw e;return s()}),n=!e.fileChanges?.length&&!e.commandExecutions.length;!o&&n&&L(e.error?.message)&&(e=await s());let r=Te(e.error?.message,t.model);return r?{...e,error:{...e.error,message:r}}:e}catch(e){let n=Te(Se(e),t.model);throw n?Error(n):e}}var Ut=t({ensureCodexInstalled:()=>Xt,ensureCodexUpToDate:()=>tn,modelVersionWarning:()=>en,parseVersion:()=>$t,setupHost:()=>an,setupHostCore:()=>nn,upgradeCore:()=>rn});function Wt(e){U(`claude`,[`plugin`,`marketplace`,`remove`,`coder-plugins`],{encoding:`utf8`});let t=U(`claude`,[`plugin`,`marketplace`,`add`,e],{encoding:`utf8`}),n=U(`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 Gt(){return B.join(W.homedir(),`.agents`,`skills`,`coder`)}function Kt(){try{let e=H.readFileSync(B.join(Gt(),`SKILL.md`),`utf8`);return/^\s*version:\s*(\S+)/m.exec(e)?.[1]??null}catch{return null}}function qt(e){let t=Gt();try{let n=B.join(e,`plugins`,`agents`,`skills`,`coder`);H.rmSync(t,{recursive:!0,force:!0}),H.mkdirSync(t,{recursive:!0}),H.cpSync(n,t,{recursive:!0});let r=B.join(t,`SKILL.md`),i=H.readFileSync(r,`utf8`).replace(`
7
+ ---
8
+ `,`\nmetadata:\n version: ${c()}\n---\n`);return H.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 Jt(){let e=`codex`;if(U(`codex`,[`mcp`,`get`,`coder`],{encoding:`utf8`}).status===0)return{marketplace:e,installed:!0,note:`Coder MCP server already registered with Codex.`};let t=U(`codex`,[`mcp`,`add`,`coder`,`--`,`coder`,`mcp`],{encoding:`utf8`});return{marketplace:e,installed:t.status===0,note:t.status===0?`Coder MCP server registered with Codex; restart running sessions to load it.`:`MCP registration failed; run: codex mcp add coder -- coder mcp`}}function Yt(){let e=B.join(W.homedir(),`.cursor`,`mcp.json`);try{let t=H.existsSync(e)?JSON.parse(H.readFileSync(e,`utf8`)):{},n=e=>typeof e==`object`&&!!e&&!Array.isArray(e);if(!n(t)||t.mcpServers!==void 0&&!n(t.mcpServers))throw Error(`Invalid MCP configuration`);let r=t.mcpServers??{};return Object.hasOwn(r,`coder`)?{marketplace:e,installed:!0,note:`Coder MCP server already registered with Cursor.`}:(H.mkdirSync(B.dirname(e),{recursive:!0}),H.writeFileSync(e,JSON.stringify({...t,mcpServers:{...r,coder:{type:`stdio`,command:`coder`,args:[`mcp`]}}},null,2)+`
9
+ `,{mode:384}),{marketplace:e,installed:!0,note:`Coder MCP server registered in ~/.cursor/mcp.json; restart running sessions to load it.`})}catch{return{marketplace:e,installed:!1,note:`MCP registration failed; merge a coder entry with command "coder" and args ["mcp"] into ~/.cursor/mcp.json.`}}}function Xt(e){if(e.available)return null;let t=U(`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 Zt=`0.159.1`,Qt={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 $t(e){let t=/(\d+\.\d+\.\d+)/.exec(String(e??``));return t?t[1]:null}function en(e,t,n){let r=t?Qt[e][t]:void 0,i=$t(n.detail);return!r||!i||z(i,r)>=0?null:`${e} ${i} predates ${t} (needs ${r}), so it may fail or run another model. Run: ${e} update`}function tn(e){if(!e.available)return null;let t=$t(e.detail);if(!t||z(t,Zt)>=0)return null;let n=U(`codex`,[`update`],{encoding:`utf8`});return n.status!==0&&(n=U(`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 >= ${Zt}); auto-update failed: ${(n.stderr||`codex/npm not found`).trim()}. Run: codex update`}}async function nn(e,t={},n){let r=t.hosts??[],a=r.find(e=>![`claude`,`agents`,`codex`,`cursor`].includes(e));if(a)throw new d(`invalid-option`,`Unknown host "${a}". Use claude, agents, codex or cursor.`,{hint:`Codex, Pi, OpenCode, and other Agent Skills hosts: coder setup-host agents`});let o=e=>r.includes(e);n?.();let s=X(e),c=tn(s);c?.updated&&(s=X(e));let l=s.available?await zt(e):{loggedIn:!1,detail:s.detail},u=Q(),f=u.available?Mn():{loggedIn:!1,detail:u.detail},p=ae();if(!H.existsSync(p)){let e=!s.available&&u.available?[`claude/opus`,`codex/sol`]:[`codex/sol`,`claude/opus`];P({...M,chain:e})}let m=i(),h=o(`claude`)?Wt(m):null,g=o(`agents`)||o(`codex`)||o(`cursor`)?qt(m):null,_=[];(o(`codex`)||s.available&&(o(`agents`)||!r.length))&&_.push(Jt()),(o(`cursor`)||!r.length&&H.existsSync(B.join(W.homedir(),`.cursor`)))&&_.push(Yt()),h&&_.push({...h,note:h.installed?`Coder MCP server is declared by the Claude Code plugin.`:`Install the Claude Code plugin to register its Coder MCP server.`});let v=ye(e),y=s.available&&l.loggedIn||u.available&&f.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:f.detail,loggedIn:f.loggedIn},configFile:p,runtime:Ie(new URL(`../bin/coder.mjs`,import.meta.url)),...h?{claudePlugin:h}:{},...g?{agentsSkill:g}:{},mcp:_,config:v,ready:y}}async function rn(e={},t){let n=!e.pluginsOnly,r=!e.cliOnly,a=i(),o=B.join(a,`plugins/claude/.claude-plugin/plugin.json`),u={cli:c(),claude:l(o)},f={};if(n){let n=je(s),[r,...i]=e.pm&&Ne[e.pm]||n.command,a=e.pm??n.pm;t?.(`via ${a}`);let o=U(r,i,{encoding:`utf8`});if(o.error?.code===`ENOENT`)throw new d(`invalid-option`,`${a} not found on PATH. Re-run with --pm <npm|pnpm|yarn|bun>, or update manually: ${r} ${i.join(` `)}`);if(o.status!==0){let e=(o.stderr||o.stdout||``).trim();throw new d(`invalid-option`,`CLI update failed (${a}).${e?`\n${e}`:``}\nRun manually: ${r} ${i.join(` `)}`)}Me();let l=c();f.cli={pm:a,from:u.cli,to:l,changed:l!==u.cli}}if(r){if(e.claude||!e.codex&&Q().available){let e=Wt(a);f.claudePlugin={installed:e.installed,note:e.note,from:u.claude,to:l(o)}}if(H.existsSync(Gt())){let e=Kt(),t=qt(a);f.agentsSkill={installed:t.installed,note:t.note,from:e,to:Kt()}}}return f}function an(e=[],t={}){return nn(B.resolve(t.cwd??`.`),{hosts:e})}function on(){let e=process.env.CLAUDE_CONFIG_DIR||B.join(W.homedir(),`.claude`);return B.join(e,`projects`)}async function sn(e,t,n){if(!/^[a-zA-Z0-9_-]+$/.test(e))return null;let r=n?B.join(n,`projects`):on(),i=null;for(let n of await H.promises.readdir(r).catch(()=>[])){let a=B.join(r,n,`${e}.jsonl`);if(!H.existsSync(a))continue;let o=H.createReadStream(a,{encoding:`utf8`}),s=ze.createInterface({input:o,crlfDelay:1/0});try{for await(let e of s){let n;try{n=JSON.parse(e)}catch{continue}n.type===`assistant`&&!n.isSidechain&&Date.parse(n.timestamp)>=t&&(i=n.message?.usage??null)}}finally{s.close(),o.destroy()}}return i}function cn(e){if(!e)return!1;let t=on(),n=!1;try{for(let r of H.readdirSync(t)){let i=B.join(t,r,`${e}.jsonl`);H.existsSync(i)&&(H.rmSync(i,{force:!0}),n=!0)}}catch{}return n}const ln=/^[A-Za-z0-9-]{1,128}$/;function un(e){return[...new Set([...e.previousThreadIds??[],...e.threadId?[e.threadId]:[]])]}async function dn(e,t){if(!/^[a-zA-Z0-9_-]+$/.test(t))return[];let n=e.engine===`claude`,r=n?on():Ae(),i=e.id?B.join(y(e.cwd??``,e.id),`history-files.json`):void 0,a=JSON.stringify([e.engine,r,t]),o=i?D(i)??{}:{},s=o[a];if(s?.length&&s.every(e=>e.startsWith(`${r}${B.sep}`)&&H.existsSync(e)))return s;let c=[],l=async(e,r)=>{for(let i of await H.promises.readdir(e,{withFileTypes:!0}).catch(()=>[])){let a=B.join(e,i.name);i.isDirectory()&&r?await l(a,r-1):i.isFile()&&(n?i.name===`${t}.jsonl`:i.name.endsWith(`-${t}.jsonl`))&&c.push(a)}};return n?await l(r,1):(await l(B.join(r,`sessions`),3),await l(B.join(r,`archived_sessions`),0)),i&&c.length&&C(i,{...o,[a]:c}),c}function fn(e,t){let n=t?e.message:e.type===`response_item`?e.payload:void 0;if(!n||!t&&n.type===`reasoning`)return;let r=n.content,i=Array.isArray(r)?r:[],a=n.role??(n.type?.endsWith(`_output`)?`tool`:`assistant`),o=i.some(e=>e.type===`tool_use`)||[`function_call`,`custom_tool_call`].includes(n.type),s=i.some(e=>e.type===`tool_result`)||[`function_call_output`,`custom_tool_call_output`].includes(n.type),c=typeof r==`string`?r:i.length?i.map(e=>typeof e.text==`string`?e.text:JSON.stringify(e)).join(`
10
+ `):JSON.stringify(n);return{speaker:s&&!o?`tool`:a,time:String(e.timestamp??``),text:c,tooling:o||s}}async function*pn(e,t){for(let n of await dn(e,t)){let t=H.createReadStream(n,{encoding:`utf8`}),r=ze.createInterface({input:t,crlfDelay:1/0});try{for await(let t of r){let n;try{n=JSON.parse(t)}catch{continue}let r=fn(n,e.engine===`claude`);r&&(yield r)}}finally{r.close(),t.destroy()}}}async function mn(e,{query:t,from:n=0,limit:r=10,role:i=`all`}={}){if(i!==`all`&&i!==`conversation`)throw Error(`role is all or conversation`);if(t!==void 0&&(typeof t!=`string`||!t.length||t.length>500))throw Error(`Provide a query of 1 to 500 characters`);if(!Number.isSafeInteger(n)||n<0)throw Error(`Provide from as a nonnegative message index`);if(!Number.isInteger(r)||r<1||r>20)throw Error(`Provide a limit of 1 to 20 messages`);let a=[],o=t?.toLowerCase(),s=0;for(let t of un(e))for await(let c of pn(e,t)){if(i===`conversation`&&c.tooling)continue;let e=s++;if(e<n)continue;let t=o===void 0?0:c.text.toLowerCase().indexOf(o);if(t<0)continue;if(a.length===r)return{messages:a,next:a[a.length-1].index+1};let l=Math.max(0,t-200);a.push({index:e,speaker:c.speaker,time:c.time,text:c.text.slice(l,l+1200)})}return{messages:a}}const hn=`coder-mcp-status`;function gn(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 _n(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 vn(e,t,n=!1){if(!t)return[];let r;try{r=H.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=_n(r.slice(0,e))+1,s=Math.max(1,_n(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 yn(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 bn(e,t,n){let r=String(t.file_path??t.notebook_path??t.path??``),i=r?B.isAbsolute(r)?r:B.resolve(n,r):``,a=r?S(n,i)||r:`(unknown path)`,o=t.path?` in ${S(n,String(t.path))}`:``;if(e===`Write`){let e=_n(String(t.content??``));return`Write ${a} ${e?`L1-L${e}`:`(empty file)`}`}if(e===`Edit`){let e=vn(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=>vn(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)}: `:``}${yn(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}=${yn(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 xn(e,t){return Object.assign(Error(e),{retryable:t})}function Sn(e,t){let n=t&&Je(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 Cn(e){let t=!0;return{sendInitial(t,n){return new Promise((r,i)=>{e(`${JSON.stringify(Sn(t,n))}\n`,e=>{e?i(e):r()})})},sendSteer(n,r){return t?new Promise((t,i)=>{e(`${JSON.stringify(Sn(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(xn(`Failed to write Claude live steer: ${e.message}`,r))})}):Promise.reject(xn(`Claude turn is no longer accepting live input.`,!0))},stopAccepting(){t=!1}}}async function wn(e){return Ue(`coder-claude-steer-`,async(t,n)=>{if(n)throw xn(`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 xn(`Invalid Claude steer request.`,!1);return await e(r,t.command),{accepted:!0}})}async function Tn(e,t){let n=t.resumeSessionId??G(),r=Fn(e,t),i=Object.keys(r).length>0&&V.platform!==`win32`,a=i&&V.platform===`linux`?H.mkdtempSync(B.join(W.tmpdir(),`coder-mcp-`)):void 0,o=a&&B.join(a,`config`);o&&Le(`mkfifo`,[`-m`,`600`,o]);let s=Object.keys(r).length&&!i?B.join(t.taskRoot??e,`.claude-mcp-${G()}.json`):void 0,c=t.systemPrompt?B.join(t.taskRoot??e,`.claude-system-${G()}.md`):void 0,l=(t.mcpServers??[]).filter(e=>e.readOnly),u=l.length?B.join(t.taskRoot??e,`.claude-read-only-${G()}.json`):void 0;for(let[e,n]of[[s,`${JSON.stringify({mcpServers:r})}\n`],[c,t.systemPrompt],[u,JSON.stringify(l)]])e&&(H.mkdirSync(B.dirname(e),{recursive:!0}),H.writeFileSync(e,n,{encoding:`utf8`,flag:`wx`,mode:384}));R(`claude.prepare`,{resume:!!t.resumeSessionId});let d=I({CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH:`16384`,...V.env,...t.env}),f=jn(t.executable??`claude`,d,e),p=In(e,t,n,i?o??`/dev/fd/3`:s,f,c,u),m=(e=!0)=>{for(let t of[s,c,...e?[u]:[]])if(t)try{H.unlinkSync(t)}catch{}};return t.onProgress?.({kind:`status`,message:`claude turn started (session ${n})`,threadId:n}),new Promise((s,c)=>{let l=Date.now();R(`claude.spawn`);let u=Re(t.executable??`claude`,p,{cwd:e,stdio:[`pipe`,`pipe`,`pipe`,`pipe`],env:d}),f=u.stdio[3];f.on(`error`,()=>{});let h=`${JSON.stringify({mcpServers:r})}\n`;f.end(i&&!o?h:void 0),o&&(H.promises.writeFile(o,h).catch(()=>{}).finally(()=>H.rmSync(a,{recursive:!0,force:!0})),u.once(`exit`,()=>{try{H.closeSync(H.openSync(o,H.constants.O_RDONLY|H.constants.O_NONBLOCK))}catch{}}));let g=``,_=``,v=[],y=null,b=n,x=null,S=!1,C=Cn((e,t)=>u.stdin.write(e,t)),w=Date.now(),T=new Map,E=0,D=0,O=null,k,A=0,j=n=>{if(!(!n||typeof n!=`object`)){if(m(!1),t.onHeartbeat?.(),n.type===`system`&&n.subtype===`init`&&n.session_id)b=n.session_id,n.mcp_servers?.some(e=>e.status===`failed`)&&u.stdin.write(`${JSON.stringify({type:`control_request`,request_id:hn,request:{subtype:`mcp_status`}})}\n`);else if(n.type===`control_response`&&n.response?.request_id===hn)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`?(k=e.message?.id,O=e.message?.usage):e?.type===`message_delta`&&(O={...O,...e.usage});let t=Z(O);D=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){(!k||k!==n.message?.id)&&(O=null),k=n.message?.id,(!O||r&&r.input+r.cachedInput>0)&&(O=n.message?.usage);let e=Z(O);D=e?e.input+e.cachedInput:0}if(r){E+=r.output;let e=r.input+r.cachedInput+E;(!A||e-A>=1e3)&&(A=e,t.onProgress?.({kind:`usage`,tokens:{...r,output:E,total:e},context:D,threadId:b}))}for(let r of n.message?.content??[])if(r?.type===`tool_use`||r?.type?.endsWith(`_tool_use`)){let n=String(r.name??`Tool`);r.id&&T.set(String(r.id),{name:n,at:Date.now()}),t.onProgress?.({kind:`tool`,tool:n,...r.id?{callId:String(r.id)}:{},message:bn(n,r.input??{},e),threadId:b})}else if(r?.type===`tool_result`||r?.type?.endsWith(`_tool_result`)){let e=gn(r.content).trim(),n=r.is_error===!0||r.content?.type?.endsWith(`_error`)===!0,i=r.tool_use_id?T.get(String(r.tool_use_id)):void 0;r.tool_use_id&&T.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:b})}else n.type===`assistant`&&r?.type===`text`&&typeof r.text==`string`&&r.text.trim()?t.onProgress?.({kind:`assistant`,message:r.text.trim(),threadId:b}):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()-w),threadId:b})}else n.type===`result`&&(R(`claude.result`),y=n,t.onResult?.({status:n.is_error||v.length?1:0,threadId:n.session_id??b,finalMessage:n.structured_output===void 0?String(n.result??``).trim():JSON.stringify(n.structured_output),error:n.is_error||v.length?{message:v[0]||String(n.result??``)}:null}),n.session_id&&(b=n.session_id),C.stopAccepting(),u.stdin.end());w=Date.now()}};u.stdout.on(`data`,e=>{g+=e;let t;for(;(t=g.indexOf(`
11
+ `))>=0;){let e=g.slice(0,t).trim();if(g=g.slice(t+1),e)try{j(JSON.parse(e))}catch(e){v.push(`Invalid Claude stream-json output: ${e instanceof Error?e.message:String(e)}`)}}}),u.stderr.on(`data`,e=>{_+=e});let M=()=>{C.stopAccepting(),u.kill(`SIGTERM`),m();let e=x?.endpoint;e?.startsWith(`file:`)&&H.rmSync(e.slice(5),{recursive:!0,force:!0}),V.exit(143)};V.on(`SIGTERM`,M);let N=()=>{C.stopAccepting(),u.kill(`SIGTERM`)};t.signal?.aborted?N():t.signal?.addEventListener(`abort`,N,{once:!0}),(async()=>{t.onSteerReady&&(x=await wn((e,t)=>C.sendSteer(e,t))),await C.sendInitial(t.prompt,t.command),x&&t.onSteerReady?.(x.endpoint)})().catch(e=>{S||(S=!0,C.stopAccepting(),u.kill(`SIGTERM`),m(),V.removeListener(`SIGTERM`,M),x?.close(),c(e))}),u.on(`error`,e=>{S||(S=!0,C.stopAccepting(),V.removeListener(`SIGTERM`,M),m(),x?.close(),c(Error(`claude spawn failed: ${e.message}`)))}),u.on(`close`,async e=>{if(S)return;S=!0,C.stopAccepting(),V.removeListener(`SIGTERM`,M),m(),R(`claude.exit`),await x?.close(),R(`claude.teardown.done`);let n=g.trim();if(n)try{j(JSON.parse(n))}catch(e){v.push(`Invalid trailing Claude stream-json output: ${e instanceof Error?e.message:String(e)}`)}let r=y?.structured_output===void 0?(y?.result??``).trim():JSON.stringify(y.structured_output),i=e!==0||y?.is_error===!0||y==null||v.length>0;R(`claude.usage.start`);let a=Z(y?.usage);if(!D&&y){let e=Z(await sn(b,l,d.CLAUDE_CONFIG_DIR).catch(()=>null)),t=e&&e.input+e.cachedInput>0?e:a;D=t?t.input+t.cachedInput:0}R(`claude.usage.done`),s({status:+!!i,threadId:y?.session_id??b,turnId:null,finalMessage:r,tokens:a,contextTokens:D,model:y?.modelUsage&&Object.keys(y.modelUsage).join(`+`)||t.model||null,error:i?{message:v[0]||r||_.trim()||`claude exited ${e}`}:null})})})}var En=t({buildClaudeMcpConfig:()=>Fn,buildClaudeTurnArgs:()=>In,claudeToolName:()=>$,claudeVersion:()=>jn,claudeVersionEnvironment:()=>An,describeClaudeToolUse:()=>bn,getClaudeAuthStatus:()=>Mn,getClaudeAvailability:()=>Q,runClaudeTurn:()=>Rn,steerClaudeTurn:()=>Ln});const Dn=new Map,On=`CODER_CLAUDE_VERSION`;function kn(e,t,n){let r=V.platform===`win32`?t[Object.keys(t).sort().find(e=>e.toLowerCase()===`path`)??`PATH`]??V.env.PATH??``:t.PATH??`/usr/bin:/bin`,i=/[\\/]/.test(e)?[``]:[...V.platform===`win32`?[n]:[],...r.split(B.delimiter)],a=V.platform===`win32`&&!B.extname(e)?[``,...(t.PATHEXT??`.EXE;.COM`).split(`;`)]:[``];for(let t of i)for(let r of a){let i=B.resolve(n,t,e+r);try{if(H.accessSync(i,H.constants.X_OK),H.statSync(i).isFile())return H.realpathSync(i)}catch{}}return B.resolve(n,e)}function An(e,t){let n=kn(`claude`,I(e),t),r=Dn.get(n);return{[On]:r===void 0?void 0:JSON.stringify({executable:n,detail:r})}}function jn(e,t,n){let r=kn(e,t,n),i=Dn.get(r);if(i!==void 0)return i;try{let e=JSON.parse(t[On]??`null`);if(e?.executable===r&&typeof e.detail==`string`)return Dn.set(r,e.detail),e.detail}catch{}return Q(e,t,n).detail}function Q(e=`claude`,t=V.env,n=V.cwd()){t=I(t);let r=kn(e,t,n),i=U(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 Dn.set(r,o),{available:a,detail:o}}function Mn(){if(V.env.CLAUDE_CODE_OAUTH_TOKEN)return{loggedIn:!0,detail:`CLAUDE_CODE_OAUTH_TOKEN configured`};if(V.env.ANTHROPIC_API_KEY)return{loggedIn:!0,detail:`ANTHROPIC_API_KEY configured`};let e=U(`claude`,[`auth`,`status`,`--json`],{encoding:`utf8`,env:I()});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`}}}const $=(e,t)=>[`mcp`,e,...t===void 0?[]:[t]].map(e=>e.replace(/[^A-Za-z0-9_-]/g,`_`)).join(`__`),Nn=e=>`'${e.replaceAll(`'`,`'\\''`)}'`,Pn=`coder-approval`;function Fn(e,t){let n=t.access??`auto`,r=t.mcpServers??[],i={};n===`auto`&&t.approvalTaskId&&(i[Pn]={type:`stdio`,command:V.execPath,args:[s,`task`,`mcp`,t.approvalTaskId,`--cwd`,e],env:{[Vn]:`1`}});for(let e of r)i[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 i}function In(e,t,n,r,i,a,o){let c=[`-p`,`--input-format`,`stream-json`,`--output-format`,`stream-json`,`--verbose`,`--replay-user-messages`],l=$t(i);if(l&&z(l,`2.1.94`)>=0&&c.push(`--thinking-display`,`summarized`),c.push(t.resumeSessionId?`--resume`:`--session-id`,n),t.model&&c.push(`--model`,t.model),t.effort&&c.push(`--effort`,t.effort),t.systemPrompt&&c.push(`--append-system-prompt-file`,a??B.join(t.taskRoot??e,`.claude-system.md`)),t.systemPrompt&&l&&z(l,`2.1.267`)>=0&&c.push(`--system-prompt-snapshot`,`off`),t.excludeDynamicSections&&c.push(`--exclude-dynamic-system-prompt-sections`),t.settingSources&&c.push(`--setting-sources`,t.settingSources),t.outputSchema){let{$schema:e,...n}=t.outputSchema;c.push(`--json-schema`,JSON.stringify(n))}let u=t.access??`auto`,d=t.additionalDirectories??[],f=u===`read-only`?t.readOnlyAllowedTools??[]:[],p=t.mcpServers??[],m=Fn(e,t),h=u===`auto`&&t.approvalTaskId,g=p.flatMap(e=>e.tools?.length?e.tools.map(t=>$(e.name,t)):[$(e.name)]),_=Object.keys(m).length?[`--mcp-config`,r??B.join(t.taskRoot??e,`.claude-mcp.json`)]:t.nativeMcp?[]:[`--mcp-config`,`{"mcpServers":{}}`];t.nativeMcp||c.push(`--strict-mcp-config`,`--no-chrome`),h?(c.push(...fe.auto,..._,`--permission-prompt-tool`,$(Pn,`approval_prompt`)),g.length&&c.push(`--allowedTools`,...g)):f.length?c.push(...ge.filter(e=>V.env.CODER_MACHINE_SANDBOX!==`1`||e!==`Bash`),..._,`--allowedTools`,...f,...g):(c.push(...fe[u]??fe.auto,..._),g.length&&c.push(`--allowedTools`,...g)),h&&c.push(`--disallowedTools`,$(Pn,`approval_prompt`));for(let e of d)c.push(`--add-dir`,e);let v=p.filter(e=>e.readOnly),y=t.approvalTaskId?[V.execPath,s,`task`,`hook`,t.approvalTaskId,...v.length?[`--servers`,o??B.join(t.taskRoot??e,`.claude-read-only.json`)]:[],`--cwd`,e].map(Nn).join(` `):void 0,b=he(u,e,t.allowedNetworkHosts??[],d,V.env[me]!==`1`,t.scratch,t.local??!0,y,[De()].filter(e=>e!==void 0)),x=b?JSON.parse(b):{},S=y?v.map(e=>({matcher:`${$(e.name)}__.*`,hooks:[{type:`command`,command:y}]})):[],C={...x,...S.length?{hooks:{PreToolUse:[...x.hooks?.PreToolUse??[],...S]}}:{},...t.nativeMcp?{}:{disableClaudeAiConnectors:!0},...t.promptCacheTtl&&l&&z(l,`2.1.242`)>=0?{promptCacheTtl:t.promptCacheTtl}:{}};return Object.keys(C).length&&c.push(`--settings`,JSON.stringify(C)),c}async function Ln(e,t,n=3e3,r){if(!t.trim())return{steered:!1,retryable:!1,detail:`empty follow-up`};let i=await We(e,{id:Je(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 Rn(e,t){let n=await Tn(e,t);return!t.resumeSessionId||!n.error?.message?.includes(`No conversation found with session ID`)?n:(t.onProgress?.({kind:`warning`,message:w}),Tn(e,{...t,resumeSessionId:null}))}const zn=/usage|quota|rate.?limit|429|401|unauthorized|not authenticated|login|insufficient|exhausted|not available|\bat capacity\b|ENOENT/i;function Bn(e){return zn.test(e)&&!Ee(e)}const Vn=`CODER_WORKER`;var Hn=class extends Error{engine;detail;constructor(e,t){super(t),this.engine=e,this.detail=t}};function Un(e,t){try{return!!pe(e,t)}catch{return!1}}function Wn(e,t){let n=e=>new d(`invalid-option`,e instanceof Error?e.message:String(e)),r=e.engine;if(r!==void 0&&r!==`codex`&&r!==`claude`&&r!==`custom`){let e=se(r)||r in(t.models??{})?` "${r}" is a model; use --model ${r}.`:``;throw new d(`invalid-option`,`Invalid engine "${r}". Use --model <model> or --model <engine/model>.${e}`)}let i=e.model?r&&!String(e.model).includes(`/`)?`${r}/${e.model}`:e.model:r??t.chain.find(e=>Un(e,t))??t.chain[0],a,o;try{o=oe(i),a=pe(i,t)}catch(e){throw n(e)}let s=a.engine,c=a.model,l=o.effort??e.effort??a.effort,u=e=>{let n=e?t.models?.[e]:void 0;return ne(n)?n:void 0},f=e.access??`auto`;try{_e(t,c)}catch(e){throw n(e)}if(s===`custom`){let e=Object.entries(t.models??{}).filter(([,e])=>ne(e)).map(([e])=>e);if(!c&&e.length===1&&(c=e[0]),!c||!u(c))throw new d(`invalid-option`,c?`No custom model named "${c}". Configured: ${e.join(`, `)||`none`}.`:`No custom model to run: pass --model <name> or list custom/<name> in chain.`,{hint:`Use --model <name> or --model custom/<name>. Add one: coder model add <name> --base-url <url> --model <id>`})}if(!(f in ve))throw new d(`invalid-option`,`Invalid --access "${f}". Use one of: ${Object.keys(ve).join(`, `)}`);return{engine:s,model:c,effort:l,access:f}}const{connection:Gn,description:Kn,...qn}=ce.shape,Jn=e({name:a().check(u(1)),...qn}).check(o(e=>!!e.command!=!!e.url,`one of command or url`)),Yn=r(Jn);function Xn(e,t={}){let n=e.trim();return/^[\[{]/.test(n)?Qn(n):(n===`all`?Object.keys(t):n.split(`,`).map(e=>e.trim()).filter(Boolean)).map(e=>{let n=t[e];if(!n)throw new d(`invalid-option`,`Unknown MCP server "${e}".`,{hint:`configured: ${Object.keys(t).join(`, `)||`none`}; or pass a JSON array`});return{name:e,...n}})}function Zn(e,t={},n={},r={}){typeof e==`string`&&!e.trim()&&(e=void 0);let i=typeof e==`string`?Xn(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(...ue(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 Qn(e){let t;try{t=JSON.parse(e)}catch(e){throw new d(`invalid-option`,`Invalid --mcp JSON: ${e instanceof Error?e.message:String(e)}`)}let r=Yn.safeParse(t);if(!r.success)throw new d(`invalid-option`,`Invalid --mcp value: ${n(r.error)}`,{hint:`--mcp '[{"name":"docs","command":"npx","args":["-y","docs-mcp"],"tools":["search"]}]'`});return r.data}function $n(e,t=V.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=>V.stderr.write(`coder: ${e}\n`));return(e??[]).flatMap(e=>{let r=e.repository&&!e.resolved;if(r){for(let t of ue(e.name,e))o(t);if(!i&&!le(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)])),f=r&&!!e.url,p={...e,...e.command?{command:l(e.command)}:{},...e.args?{args:e.args.map(l)}:{},...e.url?{url:f?e.url:l(e.url)}:{},...e.env?{env:u(e.env)}:{},...e.headers?{headers:f?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||!p.command)return[p];let m=(p.command.includes(B.sep)?[B.resolve(n,p.command)]:(p.env?.PATH??t.PATH??`/usr/bin:/bin`).split(B.delimiter).map(e=>B.resolve(n,e,p.command))).find(e=>{try{return H.accessSync(e,H.constants.X_OK),H.statSync(e).isFile()}catch{return!1}});if(!m)throw new d(`invalid-option`,`MCP server "${e.name}" command cannot be resolved.`);return p.command=H.realpathSync(m),p.args=p.args?.map(e=>{if(e.startsWith(`-`)||B.isAbsolute(e))return e;let t=B.resolve(n,e),r=H.existsSync(t)&&H.statSync(t).isFile();return!r&&!e.startsWith(`./`)&&!e.startsWith(`../`)?e:r?H.realpathSync(t):t}),[p]})}function er(e,t=[]){let n=[...new Set(t.map(t=>B.resolve(e,t)))];for(let e of n)if(!H.statSync(e,{throwIfNoEntry:!1})?.isDirectory())throw new d(`invalid-option`,`--add-dir ${e} is not a directory.`);return n}function tr(e){return e===`local`||e===`http`?void 0:`--add-dir ignored: this task runs on a ${e} machine`}function nr(e,t){return e===`read-only`&&de.test(t??``)}function rr(e,t,n={},r=!1){let i=y(e,t),a=H.openSync(B.join(i,`worker.log`),`a`),o={...V.env,...n},c=v(e,t);R(`worker.spawn`,{taskId:t});let l;try{l=Re(V.execPath,[s,`task`,`worker`,t,`--cwd`,e],{cwd:e,detached:!0,stdio:[`ignore`,a,a,`ipc`],env:{...o,...An(o,e),[Vn]:`1`,CODER_ENGINE_CHECKED:r?`1`:void 0}})}finally{H.closeSync(a)}let u=n=>{let r=v(e,t);if(!r||r.dispatchId!==c?.dispatchId||r.resumedAt!==c?.resumedAt||r.pid!==(l.pid??null)||!j.includes(r.status)&&!(r.status===`completed`&&ee(e,t)))return;let i=`Task worker exited without finishing: ${n}`;N(e,t,{status:`failed`,error:i,completedAt:new Date().toISOString(),steerClosed:!0,resumeOwner:void 0}),A(e,t,{kind:`error`,message:i})};return l.on(`error`,e=>u(e.message)),l.on(`exit`,(e,t)=>u(t?`signal ${t}`:`exit ${e}`)),l.unref(),l.channel?.unref?.(),N(e,t,{pid:l.pid??null}),l}async function ir(e,t,n,r,i){let a=n.cwd,o=n.availability?.[t.engine===`custom`?`codex`:t.engine]??(t.engine===`claude`?Q(`claude`,{...V.env,...n.connectionEnv,...n.credentialEnv},a):X(a)),s=t.model?e.models?.[t.model]:void 0;if(!o.available&&s&&ne(s)){let e=Xt(o);n.onNote?.(e.note),o=X(a)}if(!o.available)throw new Hn(t.engine,o.detail);let c=s?null:t.engine===`claude`?en(`claude`,t.model,o):en(`codex`,ie(t.model),o);c&&n.onNote?.(c);let l=n.addDirs??[],u=n.taskId??x(),m=n.resume?.engine===t.engine?n.resume:void 0,_=p(u);H.mkdirSync(_,{recursive:!0}),Pe(y(a,u),n.approvals??[]);let b=N(a,u,{status:`queued`,...n.taskId?{dispatchId:G()}:{},name:r.name??null,appendSystem:n.appendSystem??null,promptParts:{cwd:a,...n.agentPrompt,appendSystem:n.appendSystem??void 0,conversation:n.conversation,local:V.env.CODER_MCP_MODE!==`cloud`,scratch:_,writes:t.access!==`read-only`,...n.structured||n.outputSchema?{structured:!0}:{}},engine:t.engine,prompt:n.prompt,...n.outputSchema?{outputSchema:n.outputSchema}:{},model:t.model,effort:t.effort,access:t.access,resumeThreadId:m?.threadId??null,...m?{threadId:m.threadId,...m.previousThreadIds?{previousThreadIds:m.previousThreadIds}:{}}:{},cwd:a,...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.pullRequest===void 0?{}:{pullRequest:n.pullRequest},...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??[]))A(a,u,{kind:`warning`,message:e});n.resume&&!m&&A(a,u,{kind:`warning`,message:w});let S=B.join(y(a,u),`log.jsonl`),C=H.existsSync(S)?H.statSync(S).size:0,E=rr(a,u,{...n.connectionEnv,...n.credentialEnv},!0);if(n.onWorker?.(u,E),!i)return{taskId:u,task:v(a,u)??b,engine:t.engine,startupCheck:`pending`};let O=f(a,u,E),j=k(S,C),M=!1,ee=!1,te=()=>{let e=j().map(e=>{try{return JSON.parse(e)}catch{return{kind:`unknown`}}});return ee||=e.some(e=>e.kind===`tool`||e.kind===`reply`),e.some(e=>e.phase!==`starting`&&![`status`,`usage`].includes(e.kind??``))},re=Date.now()+15e3,P,F=b;try{for(;Date.now()<(P===void 0?re:P+5e3)&&(F=v(a,u)??F,!(T.includes(F.status)||g(a,u).at(-1)?.status===0||Fe(y(a,u)).length||(M=te()||M,F.threadId&&(P??=Date.now(),M))));)await O.wait(Math.min(3e4,(P===void 0?re:P+5e3)-Date.now()))}finally{O.close()}if(F.status===`failed`){te();let e=B.join(y(a,u),`result.json`),n=D(e),r=n?.error?.message??``,i=h(a,u,5).map(e=>e.message??``).join(`
12
+ `),o=r||i;throw nr(t.access,o)?new d(`read-only-unavailable`,o):Bn(o)&&!lr(n,ee)?new Hn(t.engine,o):new d(`startup-failed`,o,{taskId:u})}return{taskId:u,task:F,engine:t.engine,startupCheck:F.threadId?`passed`:`pending`}}function ar(e,t,n,r,i){return{error:`${e} failed to start: ${t}`,fallback:{action:`run-native-subagent`,reason:`no-engine-available`,access:n,instructions:`Mention the engine failure to the user, including any limit reset time. If your harness has a native subagent facility, spawn one subagent with fallback.task verbatim, prefixed with: "NEVER run git write operations (commit, checkout, stash, reset, push, etc.); leave changes uncommitted." If fallback.access is "read-only", append: "Investigate and report without modifying anything." Relay its output when it completes. If your harness has no native subagent facility, report the failure and stop; do not implement the task yourself.`,note:`Every coder engine failed to start. Spawn your own native subagent and forward the task verbatim; tell it to never run git write operations (commit, checkout, stash, reset, push, ...) and to honor the access.`,...r?{appendSystem:r}:{},task:i}}}async function or(e,t={}){if(V.env.CODER_WORKER)throw new d(`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 d(`invalid-option`,`outputSchema must be an object.`);if(!e.prompt.trim())throw new d(`invalid-option`,`Missing task text.`,{hint:[`Usage: coder run "<task text>"`,`Help: coder task run --help`]});e={...e,addDirs:er(e.cwd,e.addDirs)};let n=t.config??ye(e.cwd),r=Zn(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=t.models??sr(n,Wn({engine:e.engine,model:e.model,effort:e.effort,access:e.access},n)),o=a[0],s={name:e.name};for(;;)try{return await ir(n,o,i,s,t.waitForStartup!==!1)}catch(t){if(!(t instanceof Hn))throw t;let n=cr(a,o);if(!n){let n=ar(t.engine,t.detail,o.access,e.appendSystem,e.prompt);throw new d(`chain-exhausted`,n.error,{payload:n})}e.onFallback?.({model:E(o),detail:t.detail,next:E(n)}),o=n,s={name:void 0}}}function sr(e,t){let n=[t];for(let r of e.chain)try{let i=Wn({model:r,access:t.access},e);n.some(e=>re(e,i))||n.push(i)}catch{}return n}function cr(e,t){return e[Math.max(0,e.findIndex(e=>re(e,t)))+1]}function lr(e,t=!1){return!!(t||e?.fileChanges?.length||e?.commandExecutions?.length)}function ur(e,t){if(t.status!==`failed`)return!1;let n=t.result;if(!n||!Bn(n.error?.message??``))return!1;let r=Date.parse(t.turns.at(-2)?.at??t.task.resumedAt??t.task.createdAt);return!lr(n,h(e,t.taskId,2**53-1).some(e=>(e.kind===`tool`||e.kind===`reply`)&&(!e.at||Date.parse(e.at)>=r)))&&!t.turns.at(-1)?.lastReply}function dr(e,t,n){if(ur(e,t))return cr(n,{engine:t.task.engine,model:t.task.model??null})??null}function fr(e,t,n){return n&&(j.includes(n.status)||n.status===`failed`&&n.error)?null:D(B.join(y(e,t),`result.json`))}function pr(e,t,n=0){if(n===0)return[];let r=h(e,t,2**53-1);return n===`all`?r:m(r,n)}function mr(e,t,n={}){let r=n.task??v(e,t);if(!r)throw Error(`No task found for "${t}".`);return{taskId:t,status:r.status,result:fr(e,t,r),steps:pr(e,t,n.tail),turns:g(e,t),task:r}}async function hr(e,t,n={}){let r=v(e,t);if(!r)throw Error(`No task found for "${t}".`);let i=await gr(e,r,1e3,n);if(i.reason===`approval`){let e=i.approval;throw new d(`approval-pending`,`Approval needed for task ${t}: ${e.reason}`,{taskId:t,approval:e})}n.onSettle?.();let a=i.task;return{taskId:t,status:a.status,result:fr(e,t,a),steps:pr(e,t,n.tail),turns:g(e,t),task:a}}async function gr(e,t,n=1e3,{turn:r,worker:i,signal:a,seen:o=[]}={}){let s=t,c=f(e,t.id,i);try{let t=O();for(;;){a?.throwIfAborted(),s=v(e,s.id)??s;let i=r===void 0?void 0:g(e,s.id)[r];s=i?{...s,status:i.status===0?`completed`:`failed`}:_(e,s,t);let l=Fe(y(e,s.id)).find(e=>!o.includes(e.id));if(l)return{task:s,reason:`approval`,approval:{id:l.id,reason:l.reason,actions:l.actions}};if(T.includes(s.status)&&(r!==void 0||!b(e,s)))return{task:s,reason:`terminal`};await c.wait(n,a)}}finally{c.close()}}export{an as A,Qe as B,on as C,dn as D,mn as E,Vt as F,nt as I,Ze as L,X as M,Bt as N,Xt as O,Ht as P,Je as R,ln as S,cn as T,hr as _,nr as a,Rn as b,mr as c,Wn as d,Zn as f,gr as g,ur as h,tr as i,rn as j,Ut as k,er as l,dr as m,ar as n,sr as o,rr as p,or as r,fr as s,Vn as t,$n as u,En as v,un as w,Ln as x,Q as y,qe as z};