@wular/coder 0.5.0 → 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 (266) hide show
  1. package/dist/{actions-CkMAM1Km.js → actions-DO8MvHwc.js} +2 -2
  2. package/dist/{agent-Bi5nbUhA.js → agent-Cgala63h.js} +1 -1
  3. package/dist/{app-server-BTpa5GBV.js → app-server-dnlLhhZb.js} +1 -1
  4. package/dist/{approvals-CRwkc9vB.js → approvals-C8XV7CK2.js} +1 -1
  5. package/dist/apps-BORri-28.js +18 -0
  6. package/dist/async-BS9tyhva.js +3 -0
  7. package/dist/{auth-oCvlHitk.js → auth-C16ylySv.js} +1 -1
  8. package/dist/builtin/coder/system.md +6 -3
  9. package/dist/{chat-4AiZEqKh.js → chat-czruXAt3.js} +1 -1
  10. package/dist/cli.js +3 -3
  11. package/dist/{cmd-Cu3OquA_.js → cmd-C1gHyVG7.js} +34 -34
  12. package/dist/{config-D_RuO6gX.js → config-_32PHl9g.js} +1 -1
  13. package/dist/{connection-BXjn7gCC.js → connection-CgA5_NJ7.js} +1 -1
  14. package/dist/{connections-Cswv7r8Z.js → connections-B90TemYf.js} +1 -1
  15. package/dist/{context-CFrDYenS.js → context-C1XBbfEL.js} +1 -1
  16. package/dist/dash/standalone/server/build-index.json +1 -1
  17. package/dist/dash/standalone/server/manifest.json +1391 -1391
  18. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.54c45900f2153d34.js → index.91e126d7a389d4bd.js} +0 -3
  19. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.252f972b42c690e2.js → load.858c062c7891a2c1.js} +2 -2
  20. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.11efd0e175db9053.js → page.9375ab741dc9791e.js} +3 -3
  21. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.59ae138dc182d7c3.js → notify.c36570a56d279ce2.js} +1 -1
  22. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.e9386951cedea737.js → page.13fdd9cc55ad3a52.js} +3 -3
  23. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.713d3ec10951fde5.js → sign-out.38a7f39cddc670f7.js} +1 -1
  24. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.f989d6f2d9ece6e4.js → agents-grid.2385ffa8fdad08d6.js} +1 -1
  25. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.0f88720e52db99a2.js → page.5ca6921e50484f8c.js} +6 -6
  26. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.8d2f0997462fc958.js → layout.afc4a8a5a8360975.js} +7 -7
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.bc93891522c8120d.js → page.ba65063a1aa99a62.js} +7 -7
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.cf5cf9afe38ab0e4.js → page.03c5e72b0fe50ba9.js} +11 -11
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.c44c7df7841719f2.js → platform-actions.7c8c75bd0c05df4a.js} +3 -3
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-step.6e90cbfe308f28a0.js → platform-step.d6a980d1181dc940.js} +1 -1
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.61de585104c2be10.js → agent-settings-form.b5299f5130a4e8af.js} +16 -17
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.4d06f759984a63b3.js → page.fad77cea17947d47.js} +8 -9
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.ea2925eab1d2e594.js → loading.4120e6979eaed441.js} +1 -1
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.fb069bf82b727d27.js → page.474b3524d5ea53b7.js} +1 -1
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.0a472a0e269b8c01.js → page.7868a07efcaa26f4.js} +3 -3
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.7ef7dfd5d8f5de43.js → versions-list.ba93a53773cab8a8.js} +1 -1
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.007326a04f05d46c.js → loading.6e53829bd1f3021d.js} +1 -1
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.a26aa7bc6ab655f0.js → page.5798ede8ba8ace97.js} +6 -6
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{app-cards.361918fe58349aa1.js → app-cards.55778a4b3177846d.js} +2 -2
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{page.3f60cf67517d0d31.js → page.ce391cad0d78795f.js} +3 -3
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.ffbf9a8b8b2fbde7.js → agent-toggle.0cec822c6099f058.js} +2 -2
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.0ae015a4fbe6321e.js → hero.7151c467e7ecf6a5.js} +1 -1
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.9abe365f0098d358.js → connect-repositories.4e121d31ed0cfe02.js} +1 -1
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.6548f8f757578f90.js → editor.f314d92af0bb33b0.js} +8 -8
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.577b1d84c7ab84e1.js → import-picker.11028d5329ad537b.js} +3 -3
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.2b326d00ccef5544.js → page.1476d31e4554e88b.js} +4 -4
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.45a09107b19f0a7e.js → layout.150d950d191db477.js} +3 -3
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{operator-apps.f8d679f2d06b0ebc.js → operator-apps.3e72de86b86a7338.js} +6 -6
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.5aa3ddc669366703.js → page.6a4be3b1a473ff8c.js} +5 -5
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.5a5188f0fc75dcd2.js → page.262ed73437c17872.js} +1 -1
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{advanced-list.73cdadb2968a39d2.js → advanced-list.7180570379e2625c.js} +1 -1
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connection-add.353ec01fbb814f78.js → connection-add.632b1847c16ecd42.js} +4 -4
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.cf4061ae909272c3.js → connections-list.4378ae707b2092ed.js} +5 -5
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.fc4cff0289267551.js → credentials-list.e47897acb6867df8.js} +4 -4
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.db01de2581ac65f3.js → credentials.6bd06f96afbe7329.js} +8 -8
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.e7d6a422f6a869ea.js → list.38e70272eeb98cd0.js} +3 -3
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.acb92b39cab1d11c.js → models-list.a08cd37d0f7ff86c.js} +6 -6
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.95fe939e36e5be55.js → page.f096b5a9ac419326.js} +13 -13
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.5764eac3307d67cc.js → runners-list.0df1f9329df1b67d.js} +6 -6
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.d316bb157f747f6c.js → secrets-list.6d2f56fa7d6fcab0.js} +4 -4
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.4eb70f2de8674f93.js → layout.0fd865c865e5bab4.js} +1 -1
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{model-options.dc630cb6e2cbf83a.js → model-options.0d6077fe68db3af9.js} +2 -5
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{model-pick.a143e77f5ed5f9d3.js → model-pick.695538b2edf9dd15.js} +1 -1
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.70cad0e981c33fa5.js → page.c57b81c2197cce0f.js} +1 -1
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.18bd2b92cd23b73f.js → create-link.60aadbe43ea1e39c.js} +3 -3
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-toast.95f7be49430248eb.js → outcome-toast.e2b9ef0344b1a1a2.js} +1 -1
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.e39ee9236664d043.js → page.c456ad99c8a9f875.js} +4 -4
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.441e82ab00344fb2.js → activity.2ec05d78d609b7b2.js} +1 -1
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.24e121ea6eb578ba.js → page.578be2f6c89fcba0.js} +6 -6
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-actions.4a4052a38db4bad3.js → task-actions.d131453dd2a423c3.js} +4 -4
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.0cd3ec2655f44cc7.js → task-view.3d72a4ecd2b3826e.js} +7 -53
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer-data.73225456d60d63e3.js → composer-data.c16854be11a561e4.js} +1 -1
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.ee326fbf5e526fb1.js → composer.97be3e67214889c1.js} +24 -82
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{pending-approvals.7607998094780fdd.js → pending-approvals.9175908da02960e1.js} +1 -1
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.e486cbd16ea3e963.js → tasks-list.028798c79227a366.js} +8 -8
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.01510523d1556d59.js → tasks-section.9a9d13057b326f25.js} +4 -4
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.ede64f82388f9480.js → page.045c6db0c56975b2.js} +3 -3
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.0499098badd3f5f8.js → page.938d29ff7edb678d.js} +2 -2
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.e3800e736f832124.js → stream.2cdb8eabd8f6df70.js} +1 -1
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.3b7eeee29fc327de.js → task-toasts.8733901ca0e4c246.js} +1 -1
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.f22057e7dfac40fe.js → action.56cea462eb725c39.js} +1 -1
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.c8d7efefb6194d7d.js → client.685154f230716834.js} +1 -1
  83. package/dist/dash/standalone/static/assets/chunks/{advanced-list-850a950afe4f6996.js → advanced-list-b75a9c2bd11026de.js} +1 -1
  84. package/dist/dash/standalone/static/assets/chunks/{agent-pills-9f6fa120182db948.js → agent-pills-54564413a57d7fa7.js} +1 -1
  85. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-55d294dad2ce5a0d.js +1 -0
  86. package/dist/dash/standalone/static/assets/chunks/{agent-toggle-521136f20a71400d.js → agent-toggle-b5dcc4ea6292fb3d.js} +1 -1
  87. package/dist/dash/standalone/static/assets/chunks/{agents-grid-bcd13cd7a46224a6.js → agents-grid-69461c53abbba433.js} +1 -1
  88. package/dist/dash/standalone/static/assets/chunks/{back-2d67134b122334f4.js → back-ba5e4340a9f8bbd2.js} +1 -1
  89. package/dist/dash/standalone/static/assets/chunks/{chain-hint-53675e299a865420.js → chain-hint-491eb09a20a15702.js} +1 -1
  90. package/dist/dash/standalone/static/assets/chunks/{combo-cb2c62fe580a8903.js → combo-6df61e8a1cc31037.js} +1 -1
  91. package/dist/dash/standalone/static/assets/chunks/composer-198b844da57b82a3.js +1 -0
  92. package/dist/dash/standalone/static/assets/chunks/composer-b26a3332a1243461.js +1 -0
  93. package/dist/dash/standalone/static/assets/chunks/{composer-data-890f71bade4f0616.js → composer-data-b05f3d93fdc472d7.js} +1 -1
  94. package/dist/dash/standalone/static/assets/chunks/{confirm-d6b2c5b1deccd1e8.js → confirm-14d018653fbe50fc.js} +1 -1
  95. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-226bf70aa81c29d8.js → connect-repositories-5118edc019fc7890.js} +1 -1
  96. package/dist/dash/standalone/static/assets/chunks/{connections-list-a33d6637e2d52fcf.js → connections-list-5412dad7e0def52f.js} +1 -1
  97. package/dist/dash/standalone/static/assets/chunks/{copy-294c6052b3b69424.js → copy-04781f9af4e10f06.js} +1 -1
  98. package/dist/dash/standalone/static/assets/chunks/create-link-0651addf1461f901.js +1 -0
  99. package/dist/dash/standalone/static/assets/chunks/{credentials-list-90fc1c6d202e1461.js → credentials-list-e64c973aee5602d3.js} +1 -1
  100. package/dist/dash/standalone/static/assets/chunks/{custom-range-efa1b6a71ba84597.js → custom-range-b6919bab9846ebf7.js} +1 -1
  101. package/dist/dash/standalone/static/assets/chunks/{editor-53a3e1a893644fff.js → editor-68e9ccd1764fc512.js} +3 -3
  102. package/dist/dash/standalone/static/assets/chunks/{field-4d374d5ed3f43d7e.js → field-adcb6e6a5f9b7131.js} +1 -1
  103. package/dist/dash/standalone/static/assets/chunks/instructions-0022dd3bdd57c13f.js +1 -0
  104. package/dist/dash/standalone/static/assets/chunks/{instructions-d3dc01b2f90820db.js → instructions-7b274685ceb26457.js} +1 -1
  105. package/dist/dash/standalone/static/assets/chunks/{list-16247e39898cd20e.js → list-662f042656857c82.js} +1 -1
  106. package/dist/dash/standalone/static/assets/chunks/model-options-5e07b3318d69d218.js +1 -0
  107. package/dist/dash/standalone/static/assets/chunks/{models-list-6d93523660503dfb.js → models-list-ae1e2eff30d21824.js} +1 -1
  108. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-546fe090efc129c2.js +1 -0
  109. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-755fc581cbc2836e.js → outcome-dialog-fd86ded4c44c2de7.js} +1 -1
  110. package/dist/dash/standalone/static/assets/chunks/outcome-toast-c00becdb638cd9a8.js +1 -0
  111. package/dist/dash/standalone/static/assets/chunks/platform-actions-2be223e68e648134.js +1 -0
  112. package/dist/dash/standalone/static/assets/chunks/{platform-actions-08e9b3816dcd62b1.js → platform-actions-f3979ab69a6ceb53.js} +1 -1
  113. package/dist/dash/standalone/static/assets/chunks/{platform-step-5881a8be1e761e00.js → platform-step-5454b6c0a19caefd.js} +1 -1
  114. package/dist/dash/standalone/static/assets/chunks/platform-step-9a52703f4c4f6a31.js +1 -0
  115. package/dist/dash/standalone/static/assets/chunks/{runners-list-dd759d408c643a29.js → runners-list-20d42f19fb4bec8a.js} +1 -1
  116. package/dist/dash/standalone/static/assets/chunks/{runtime-9b28886f3cbe0ed3-1.js → runtime-3fcac605fffcc273-1.js} +1 -1
  117. package/dist/dash/standalone/static/assets/chunks/{secrets-list-be1f634a1b077baa.js → secrets-list-89f89ee70edb3856.js} +1 -1
  118. package/dist/dash/standalone/static/assets/chunks/{segmented-f646bfa8aa0aa449.js → segmented-66a8c77c6294fec3.js} +1 -1
  119. package/dist/dash/standalone/static/assets/chunks/shared-init-3fcac605fffcc273-2.js +1 -0
  120. package/dist/dash/standalone/static/assets/chunks/{shared-init-953965859f7bf6b9.js → shared-init-96225b8c7758de9d.js} +1 -1
  121. package/dist/dash/standalone/static/assets/chunks/shared-init-96cde32cd50254c0.js +1 -0
  122. package/dist/dash/standalone/static/assets/chunks/shared-init-abd7653140f37a0c.js +9 -0
  123. package/dist/dash/standalone/static/assets/chunks/side-toggle-8a410cc6d6bd9b1d.js +1 -0
  124. package/dist/dash/standalone/static/assets/chunks/{tail-d13c4cc0cf11ffd1.js → tail-40f16e09eade7eee.js} +1 -1
  125. package/dist/dash/standalone/static/assets/chunks/{task-423e6a3f2527f534.js → task-396d849e58e50d59.js} +1 -1
  126. package/dist/dash/standalone/static/assets/chunks/{task-actions-5917357eac6504ca.js → task-actions-0b3054dc0f8d17c0.js} +1 -1
  127. package/dist/dash/standalone/static/assets/chunks/task-view-9e026dc5da58af5b.js +3 -0
  128. package/dist/dash/standalone/static/assets/chunks/{tasks-list-2c5ce592e00fda45.js → tasks-list-04c6568d7f7237b7.js} +1 -1
  129. package/dist/dash/standalone/static/assets/chunks/{versions-list-177ae397ad64dcea.js → versions-list-ceb756236e69b761.js} +1 -1
  130. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-9b28886f3cbe0ed3-0.js → wular-pnext-3fcac605fffcc273-0.js} +1 -1
  131. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-00243b34eb094b95.css → dash-param-org-agents-param-slug-dd4ac319a0d62432.css} +1 -1
  132. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-settings-9f8faa8f7d714699.css → dash-param-org-agents-param-slug-platforms-9d2e1439f3f7e81b.css} +1 -1
  133. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-usage-0e037c66e3977f33.css → dash-param-org-agents-param-slug-settings-f21d4fcd3948139b.css} +1 -1
  134. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-tasks-129adcdc293ceac8.css → dash-param-org-agents-param-slug-tasks-c8d6aa06f6e75f4c.css} +1 -1
  135. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-9cc128ba8af6ef62.css +1 -0
  136. package/dist/dash/standalone/static/assets/{dash-param-org-tasks-8a44e171984d32a1.css → dash-param-org-tasks-be3cb3d64573f3d9.css} +1 -1
  137. package/dist/dash/standalone/static/assets/{dash-param-org-tasks-param-id-b9d3a7a1bd1dd666.css → dash-param-org-tasks-param-id-c20a0537bc82620d.css} +1 -1
  138. package/dist/dash/standalone/static/assets/pnext-client-07b41bfab64b61c0.js +1 -0
  139. package/dist/dash/standalone/static/assets/pnext-client-0d388d56250f9f46.js +1 -0
  140. package/dist/dash/standalone/static/assets/pnext-client-1443e45181b60bb0.js +1 -0
  141. package/dist/dash/standalone/static/assets/pnext-client-27207e4f43f9a21b.js +1 -0
  142. package/dist/dash/standalone/static/assets/{pnext-client-7ecbd7a0cbe4e231.js → pnext-client-435db60553fa3a67.js} +1 -1
  143. package/dist/dash/standalone/static/assets/pnext-client-523dd4071aa294ba.js +1 -0
  144. package/dist/dash/standalone/static/assets/pnext-client-5f6bda3919f68382.js +1 -0
  145. package/dist/dash/standalone/static/assets/pnext-client-684fd8ad16563ed3.js +1 -0
  146. package/dist/dash/standalone/static/assets/pnext-client-6b952cdda9a1eb2b.js +1 -0
  147. package/dist/dash/standalone/static/assets/pnext-client-6fe9e98f7dd8dcbf.js +1 -0
  148. package/dist/dash/standalone/static/assets/pnext-client-730c2c507a159f9e.js +1 -0
  149. package/dist/dash/standalone/static/assets/pnext-client-7c46573e45b67166.js +1 -0
  150. package/dist/dash/standalone/static/assets/pnext-client-83a865c3d75705bd.js +1 -0
  151. package/dist/dash/standalone/static/assets/pnext-client-907d1db4fb398a1d.js +1 -0
  152. package/dist/dash/standalone/static/assets/pnext-client-9baf701f3e641d09.js +1 -0
  153. package/dist/dash/standalone/static/assets/pnext-client-a57705e4e1047a9e.js +1 -0
  154. package/dist/dash/standalone/static/assets/{pnext-client-ed31510d4615a5a5.js → pnext-client-b1af82c6f0db0033.js} +1 -1
  155. package/dist/dash/standalone/static/assets/pnext-client-cede3bd7b2735942.js +1 -0
  156. package/dist/dash/standalone/static/assets/pnext-client-d9a3996f22b6816b.js +1 -0
  157. package/dist/dash/standalone/static/assets/pnext-client-f95364a0073ca4ce.js +1 -0
  158. package/dist/{definition-4on4SG5J.js → definition-D0OpQfGX.js} +1 -1
  159. package/dist/{discover-DvzAbQvU.js → discover-BfYHHJN_.js} +1 -1
  160. package/dist/{dispatch-BaW2X6Sc.js → dispatch-BkoIU4GU.js} +2 -2
  161. package/dist/{docs-CbgaMPvq.js → docs-CxklYa3P.js} +1 -1
  162. package/dist/{drive-Tk6JvQK5.js → drive-B7SBFfcb.js} +1 -1
  163. package/dist/env-BwFCHakK.js +1 -0
  164. package/dist/{exec-CAaYFJD1.js → exec-D9jF2F-H.js} +2 -2
  165. package/dist/{executor-Chc0zawh.js → executor-DBW7R7Tf.js} +6 -6
  166. package/dist/flow/builtin/review/index.d.ts +2 -2
  167. package/dist/flow/builtin/review/index.js +10 -15
  168. package/dist/flow/index.d.ts +2 -2
  169. package/dist/flow/index.js +1 -1
  170. package/dist/{hook-COWDSO4a.js → hook-DN__zYOG.js} +1 -1
  171. package/dist/{index-ezhbF5wC.d.ts → index-CTAQrCRU.d.ts} +71 -66
  172. package/dist/integrations-DSZSa8Rc.js +9 -0
  173. package/dist/lib/broker.js +1 -1
  174. package/dist/{load-PqaDHiHX.js → load-BtIDghgd.js} +2 -2
  175. package/dist/{local-BzZuOwgI.js → local-BzMvgiwL.js} +1 -1
  176. package/dist/{local-BMGcCk8N.js → local-GIxwz_Or.js} +1 -1
  177. package/dist/{login-BDKTNynK.js → login-LlZrIlxb.js} +1 -1
  178. package/dist/maintenance-DyiyHI8S.js +1 -0
  179. package/dist/{mcp-BGam3G_B.js → mcp-Caq72REF.js} +1 -1
  180. package/dist/{mcp-BNz_l5TV2.js → mcp-CrtKQoVi.js} +1 -1
  181. package/dist/{mcp-BGx48pyR.js → mcp-cEIva8Pd.js} +6 -4
  182. package/dist/{models-D1NXi6ni.js → models-BVxs3I8o.js} +1 -1
  183. package/dist/{permission-BkYxjiFR.js → permission-RSZM3DUk.js} +1 -1
  184. package/dist/post-DLenID75.js +11 -0
  185. package/dist/{refresh-yfEi5SQs.js → refresh-CWEpTAkD.js} +1 -1
  186. package/dist/{remote-rArUa01V.js → remote-BDMuKaON.js} +1 -1
  187. package/dist/{remote-BbXx6S9P.js → remote-CY-qYX2C.js} +1 -1
  188. package/dist/{runner-DG9jrX5H.js → runner-CKMOh5Q3.js} +1 -1
  189. package/dist/runner.json +1 -1
  190. package/dist/runner.tgz +0 -0
  191. package/dist/schema.js +1 -1
  192. package/dist/sdk.d.ts +15 -45
  193. package/dist/sdk.js +1 -1
  194. package/dist/serve-D23JqDip.js +12 -0
  195. package/dist/{serve-B-5rDiZm.js → serve-YlU04KO7.js} +1 -1
  196. package/dist/{session-Dtje9y-r.js → session-D7eeJIaH.js} +1 -1
  197. package/dist/{sessions-DIz9fyRN.js → sessions-BGUfSe8L.js} +1 -1
  198. package/dist/{shared--aE4olIO.js → shared-BzNReirj.js} +1 -1
  199. package/dist/{sign-in-wWkyaq5X.js → sign-in-Dr6sU7vz.js} +2 -2
  200. package/dist/{state-Br-Fuaxg.js → state-CxAUec80.js} +1 -1
  201. package/dist/store-BrnWdtRw.js +349 -0
  202. package/dist/{task-CFt85vTy.js → task-CyqtCXo3.js} +1 -1
  203. package/dist/task-DN4assR8.js +7 -0
  204. package/dist/{tool-search-BkdgVolu.js → tool-search-C9Ty3hhL.js} +1 -1
  205. package/dist/{tools-DNgEptor.js → tools-Ck-ZWtmB.js} +1 -1
  206. package/dist/{tools-oQvFAnh5.js → tools-DVtBtED6.js} +1 -1
  207. package/dist/{tools-search-D1zArRyJ.js → tools-search-BNDea9vZ.js} +1 -1
  208. package/dist/{turn-Cc-v-eSy.js → turn-eI4iRPsq.js} +1 -1
  209. package/dist/{update-check-UyRob3yy.js → update-check-Bap3dwaj.js} +1 -1
  210. package/dist/{views-3TxH367C.js → views-Bxm_5J6T.js} +1 -1
  211. package/dist/{worker-BMuKKiIa.js → worker-DJANNSCT.js} +1 -1
  212. package/dist/worker-DeuC38Vp.js +7 -0
  213. package/docs/agents/coder.md +1 -1
  214. package/docs/cli/index.md +5 -3
  215. package/docs/connections.md +1 -1
  216. package/docs/flows.md +1 -1
  217. package/docs/review.md +36 -8
  218. package/docs/self-host.md +2 -1
  219. package/package.json +1 -1
  220. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  221. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  222. package/dist/apps-B6mUToTa.js +0 -18
  223. package/dist/async-CNhQ4wyZ.js +0 -3
  224. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-a8ee12513a02b1c5.js +0 -1
  225. package/dist/dash/standalone/static/assets/chunks/composer-4a46a458495ce3ba.js +0 -1
  226. package/dist/dash/standalone/static/assets/chunks/composer-92553de43276510b.js +0 -1
  227. package/dist/dash/standalone/static/assets/chunks/create-link-b2480a7601967e94.js +0 -1
  228. package/dist/dash/standalone/static/assets/chunks/instructions-734d21dfb8f6393e.js +0 -1
  229. package/dist/dash/standalone/static/assets/chunks/model-options-d29e934a3de20ab4.js +0 -1
  230. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-77e13c848000a3dc.js +0 -1
  231. package/dist/dash/standalone/static/assets/chunks/outcome-toast-9d5e9713c23882f5.js +0 -1
  232. package/dist/dash/standalone/static/assets/chunks/platform-actions-832904f5694ef902.js +0 -1
  233. package/dist/dash/standalone/static/assets/chunks/platform-step-29469fd4eaddc42a.js +0 -1
  234. package/dist/dash/standalone/static/assets/chunks/shared-init-926144b364908b3c.js +0 -9
  235. package/dist/dash/standalone/static/assets/chunks/shared-init-9b28886f3cbe0ed3-2.js +0 -1
  236. package/dist/dash/standalone/static/assets/chunks/shared-init-b42d2c06c25d1e2b.js +0 -1
  237. package/dist/dash/standalone/static/assets/chunks/side-toggle-8c21d39a1e284887.js +0 -1
  238. package/dist/dash/standalone/static/assets/chunks/task-view-c6ee43d2ddb6db90.js +0 -3
  239. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-25ae07e0b3f5b252.css +0 -1
  240. package/dist/dash/standalone/static/assets/pnext-client-095026242a079175.js +0 -1
  241. package/dist/dash/standalone/static/assets/pnext-client-1dfeb8c3ef155f87.js +0 -1
  242. package/dist/dash/standalone/static/assets/pnext-client-2358423351524403.js +0 -1
  243. package/dist/dash/standalone/static/assets/pnext-client-28a6557216627768.js +0 -1
  244. package/dist/dash/standalone/static/assets/pnext-client-31a4ee73945fee19.js +0 -1
  245. package/dist/dash/standalone/static/assets/pnext-client-3dfdc76bb8712b82.js +0 -1
  246. package/dist/dash/standalone/static/assets/pnext-client-4355ac87961d78c1.js +0 -1
  247. package/dist/dash/standalone/static/assets/pnext-client-43c7a0046572e0c9.js +0 -1
  248. package/dist/dash/standalone/static/assets/pnext-client-53dc7db68d67e0b1.js +0 -1
  249. package/dist/dash/standalone/static/assets/pnext-client-5835cb35488bdf7f.js +0 -1
  250. package/dist/dash/standalone/static/assets/pnext-client-638b390bc23ab1ae.js +0 -1
  251. package/dist/dash/standalone/static/assets/pnext-client-67f832c6c51a66cd.js +0 -1
  252. package/dist/dash/standalone/static/assets/pnext-client-6fc99f0abe77c2ea.js +0 -1
  253. package/dist/dash/standalone/static/assets/pnext-client-7d99965f28ac7604.js +0 -1
  254. package/dist/dash/standalone/static/assets/pnext-client-8250bd3b86d038a3.js +0 -1
  255. package/dist/dash/standalone/static/assets/pnext-client-bfd06805a43c6dee.js +0 -1
  256. package/dist/dash/standalone/static/assets/pnext-client-ce2943f17e9d9ac3.js +0 -1
  257. package/dist/dash/standalone/static/assets/pnext-client-f0496bf51e161ddd.js +0 -1
  258. package/dist/env-_AxrvBXP.js +0 -1
  259. package/dist/integrations-BVmsk64f.js +0 -9
  260. package/dist/maintenance-d43Ml540.js +0 -1
  261. package/dist/serve-CvnrGAj7.js +0 -12
  262. package/dist/store-CzQLgCzt.js +0 -352
  263. package/dist/task-N0qhnKpK.js +0 -7
  264. package/dist/worker-CIHY9L42.js +0 -7
  265. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{types.5bf5a41cedb54154.js → types.9d22123d6296f5af.js} +0 -0
  266. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.aae9fa481b9015d1.css.pnext-asset.js → task-view.440367ae07204ee7.css.pnext-asset.js} +0 -0
@@ -1,3 +1,3 @@
1
- import{Ea as e}from"./args-CJsHYWbt.js";import{t}from"./errors-DK_trCff.js";import{i as n}from"./prompt-CpwbsEWM.js";import{o as r}from"./remote-BbXx6S9P.js";import{a as i,c as a}from"./session-Dtje9y-r.js";import{_t as o,a as s,c,f as l,h as u,i as d,l as f,m as p,p as m,r as h,s as g,t as _,u as v,vt as y}from"./build-CmtlB7pX.js";import b from"node:process";import x from"node:http";var S=e({hasBrowser:()=>P,logoutSession:()=>I,refreshSignIn:()=>j,revokeSignIn:()=>M,selectLoginOrganization:()=>N,sessions:()=>L,signIn:()=>F});const C=`openid profile email offline_access organizations:read`,w=e=>`<!doctype html><meta charset="utf-8"><meta name="viewport" content="width=device-width"><title>Coder · ${e}</title>
1
+ import{Ea as e}from"./args-CJsHYWbt.js";import{t}from"./errors-DK_trCff.js";import{i as n}from"./prompt-CpwbsEWM.js";import{o as r}from"./remote-CY-qYX2C.js";import{l as i,o as a}from"./session-D7eeJIaH.js";import{_t as o,a as s,c,f as l,h as u,i as d,l as f,m as p,p as m,r as h,s as g,t as _,u as v,vt as y}from"./build-CmtlB7pX.js";import b from"node:process";import x from"node:http";var S=e({hasBrowser:()=>P,logoutSession:()=>I,refreshSignIn:()=>j,revokeSignIn:()=>M,selectLoginOrganization:()=>N,sessions:()=>L,signIn:()=>F});const C=`openid profile email offline_access organizations:read`,w=e=>`<!doctype html><meta charset="utf-8"><meta name="viewport" content="width=device-width"><title>Coder · ${e}</title>
2
2
  <style>:root{color-scheme:light dark}body{margin:0;min-height:100vh;display:grid;place-items:center;font:15px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;background:light-dark(#fafafa,#111);color:light-dark(#111,#eee)}main{text-align:center;padding:32px}h1{margin:0 0 8px;font-size:20px}p{margin:0;opacity:.7}</style>
3
- <main><h1>${e}</h1><p>You can close this tab and return to the terminal.</p></main>`,T=e=>`${e}/.well-known/oauth-cli-client.json`;async function E(e,n){let r=new URL(e).origin,i=await fetch(`${r}/.well-known/oauth-protected-resource`).catch(n=>{throw new t(`login-failed`,`No Coder server answers at ${e}: ${n.message}`)}),a=await i.json().catch(()=>({})),o=Array.isArray(a.authorization_servers)?a.authorization_servers[0]:void 0;if(!i.ok||a.resource!==r||typeof o!=`string`)throw new t(`login-failed`,`${e} does not offer sign-in.`,{hint:`Sign-in needs a Postgres-backed server; see coder docs self-host`});if(n!==void 0&&o!==n)throw new t(`login-failed`,`The server's sign-in issuer has changed. Sign in again before using this session.`);return{config:await c(new URL(o),T(e),void 0,_(),new URL(o).protocol===`http:`?{execute:[h]}:void 0).catch(e=>{throw new t(`login-failed`,`Wular Auth at ${o} did not answer: ${e.message}`)}),resource:r}}function D(e,n,r){let i=n.claims(),a=n.refresh_token??r?.refreshToken;if(!a)throw new t(`login-failed`,`Wular Auth returned no refresh token.`);return{token:n.access_token,refreshToken:a,expiresAt:Date.now()+(n.expires_in??600)*1e3,issuer:e.serverMetadata().issuer,user:i?{name:typeof i.name==`string`?i.name:``,email:typeof i.email==`string`?i.email:``}:r?.user??{name:``,email:``}}}const O=e=>new t(`login-failed`,e instanceof y||e instanceof o?e.error===`access_denied`?`Sign-in was denied in the browser.`:e.error_description??e.error:e instanceof Error?e.message:String(e));async function k(e,n){let{config:r,resource:i}=await E(e),a=l(),o=m(),c=x.createServer();await new Promise(e=>c.listen(0,`127.0.0.1`,e));let{port:u}=c.address(),f=`http://127.0.0.1:${u}/callback`;try{let e=new Promise((e,n)=>{let r=setTimeout(()=>n(new t(`login-failed`,`Sign-in timed out.`)),3e5);c.on(`request`,(t,n)=>{let i=new URL(t.url??`/`,f);if(i.pathname!==`/callback`||i.searchParams.get(`state`)!==o){n.writeHead(404).end();return}n.writeHead(200,{"content-type":`text/html; charset=utf-8`}).end(w(i.searchParams.has(`error`)?`Sign-in failed`:`Signed in`)),clearTimeout(r),e(i)})});return n(s(r,{redirect_uri:f,scope:C,resource:i,code_challenge:await g(a),code_challenge_method:`S256`,state:o}).href),D(r,await d(r,await e,{pkceCodeVerifier:a,expectedState:o},{resource:i}).catch(e=>{throw O(e)}))}finally{c.close(),c.closeAllConnections()}}async function A(e,t){let{config:n,resource:r}=await E(e);try{let e=await f(n,{scope:C,resource:r});return t(e.user_code,e.verification_uri_complete??e.verification_uri),D(n,await v(n,e,{resource:r}))}catch(e){throw O(e)}}async function j(e,n){let{config:r,resource:i}=await E(e,n.issuer);try{return D(r,await p(r,n.refreshToken,{resource:i}),n)}catch(e){if(e instanceof y&&(e.error===`invalid_grant`||e.error===`invalid_client`))return;throw new t(`server`,`Wular Auth did not refresh the session: ${e instanceof Error?e.message:String(e)}`)}}async function M(e,t){let{config:n}=await E(e,t.issuer);n.serverMetadata().revocation_endpoint&&await u(n,t.refreshToken,{token_type_hint:`refresh_token`})}async function N(e,n,r){if(!e.length)throw new t(`login-failed`,`This account belongs to no workspace.`);if(n){let r=e.find(e=>e.slug===n);if(!r)throw new t(`login-failed`,`You are not a member of workspace "${n}".`);return r}if(e.length<=1)return e[0];if(!r)throw new t(`login-failed`,`Choose a workspace for this server.`,{hint:`Pass --workspace <slug>.`});let i=await r(e);return e.find(e=>e.slug===i)}const P=()=>!b.env.SSH_CONNECTION&&(b.platform!==`linux`||!!(b.env.DISPLAY||b.env.WAYLAND_DISPLAY));async function F(e,r={}){let i=r.device?await A(e,r.onCode??(()=>{})):await k(e,r.open??n),a=await fetch(`${e}/me`,{headers:{authorization:`Bearer ${i.token}`}}).catch(n=>{throw new t(`login-failed`,`No Coder server answers at ${e}: ${n.message}`)}),o=await a.json().catch(()=>({}));if(!a.ok)throw new t(`login-failed`,`Signed in, but the server refused the token.`);let s=await N(o.organizations??[],r.organization,r.chooseOrganization);return{...i,...s?{organization:s}:{},at:Date.now()}}async function I(e){let n=i(),r=n[e];if(!r)throw new t(`login-failed`,`Not signed in to ${e}.`);return await M(e,r).catch(()=>void 0),delete n[e],a(n),{ok:!0,server:e}}const L={async login(e={}){let t=r(e),n=await F(t,e);return e.save!==!1&&a({...i(),[t]:n}),{...n,server:t}},logout:(e={})=>I(r(e)),status:()=>Object.fromEntries(Object.entries(i()).map(([e,t])=>[e,{user:t.user,organization:t.organization,at:t.at}]))};export{S as n,L as t};
3
+ <main><h1>${e}</h1><p>You can close this tab and return to the terminal.</p></main>`,T=e=>`${e}/.well-known/oauth-cli-client.json`;async function E(e,n){let r=new URL(e).origin,i=await fetch(`${r}/.well-known/oauth-protected-resource`).catch(n=>{throw new t(`login-failed`,`No Coder server answers at ${e}: ${n.message}`)}),a=await i.json().catch(()=>({})),o=Array.isArray(a.authorization_servers)?a.authorization_servers[0]:void 0;if(!i.ok||a.resource!==r||typeof o!=`string`)throw new t(`login-failed`,`${e} does not offer sign-in.`,{hint:`Sign-in needs a Postgres-backed server; see coder docs self-host`});if(n!==void 0&&o!==n)throw new t(`login-failed`,`The server's sign-in issuer has changed. Sign in again before using this session.`);return{config:await c(new URL(o),T(e),void 0,_(),new URL(o).protocol===`http:`?{execute:[h]}:void 0).catch(e=>{throw new t(`login-failed`,`Wular Auth at ${o} did not answer: ${e.message}`)}),resource:r}}function D(e,n,r){let i=n.claims(),a=n.refresh_token??r?.refreshToken;if(!a)throw new t(`login-failed`,`Wular Auth returned no refresh token.`);return{token:n.access_token,refreshToken:a,expiresAt:Date.now()+(n.expires_in??600)*1e3,issuer:e.serverMetadata().issuer,user:i?{name:typeof i.name==`string`?i.name:``,email:typeof i.email==`string`?i.email:``}:r?.user??{name:``,email:``}}}const O=e=>new t(`login-failed`,e instanceof y||e instanceof o?e.error===`access_denied`?`Sign-in was denied in the browser.`:e.error_description??e.error:e instanceof Error?e.message:String(e));async function k(e,n){let{config:r,resource:i}=await E(e),a=l(),o=m(),c=x.createServer();await new Promise(e=>c.listen(0,`127.0.0.1`,e));let{port:u}=c.address(),f=`http://127.0.0.1:${u}/callback`;try{let e=new Promise((e,n)=>{let r=setTimeout(()=>n(new t(`login-failed`,`Sign-in timed out.`)),3e5);c.on(`request`,(t,n)=>{let i=new URL(t.url??`/`,f);if(i.pathname!==`/callback`||i.searchParams.get(`state`)!==o){n.writeHead(404).end();return}n.writeHead(200,{"content-type":`text/html; charset=utf-8`}).end(w(i.searchParams.has(`error`)?`Sign-in failed`:`Signed in`)),clearTimeout(r),e(i)})});return n(s(r,{redirect_uri:f,scope:C,resource:i,code_challenge:await g(a),code_challenge_method:`S256`,state:o}).href),D(r,await d(r,await e,{pkceCodeVerifier:a,expectedState:o},{resource:i}).catch(e=>{throw O(e)}))}finally{c.close(),c.closeAllConnections()}}async function A(e,t){let{config:n,resource:r}=await E(e);try{let e=await f(n,{scope:C,resource:r});return t(e.user_code,e.verification_uri_complete??e.verification_uri),D(n,await v(n,e,{resource:r}))}catch(e){throw O(e)}}async function j(e,n){let{config:r,resource:i}=await E(e,n.issuer);try{return D(r,await p(r,n.refreshToken,{resource:i}),n)}catch(e){if(e instanceof y&&(e.error===`invalid_grant`||e.error===`invalid_client`))return;throw new t(`server`,`Wular Auth did not refresh the session: ${e instanceof Error?e.message:String(e)}`)}}async function M(e,t){let{config:n}=await E(e,t.issuer);n.serverMetadata().revocation_endpoint&&await u(n,t.refreshToken,{token_type_hint:`refresh_token`})}async function N(e,n,r){if(!e.length)throw new t(`login-failed`,`This account belongs to no workspace.`);if(n){let r=e.find(e=>e.slug===n);if(!r)throw new t(`login-failed`,`You are not a member of workspace "${n}".`);return r}if(e.length<=1)return e[0];if(!r)throw new t(`login-failed`,`Choose a workspace for this server.`,{hint:`Pass --workspace <slug>.`});let i=await r(e);return e.find(e=>e.slug===i)}const P=()=>!b.env.SSH_CONNECTION&&(b.platform!==`linux`||!!(b.env.DISPLAY||b.env.WAYLAND_DISPLAY));async function F(e,r={}){let i=r.device?await A(e,r.onCode??(()=>{})):await k(e,r.open??n),a=await fetch(`${e}/me`,{headers:{authorization:`Bearer ${i.token}`}}).catch(n=>{throw new t(`login-failed`,`No Coder server answers at ${e}: ${n.message}`)}),o=await a.json().catch(()=>({}));if(!a.ok)throw new t(`login-failed`,`Signed in, but the server refused the token.`);let s=await N(o.organizations??[],r.organization,r.chooseOrganization);return{...i,...s?{organization:s}:{},at:Date.now()}}async function I(e){let n=a(),r=n[e];if(!r)throw new t(`login-failed`,`Not signed in to ${e}.`);return await M(e,r).catch(()=>void 0),delete n[e],i(n),{ok:!0,server:e}}const L={async login(e={}){let t=r(e),n=await F(t,e);return e.save!==!1&&i({...a(),[t]:n}),{...n,server:t}},logout:(e={})=>I(r(e)),status:()=>Object.fromEntries(Object.entries(a()).map(([e,t])=>[e,{user:t.user,organization:t.organization,at:t.at}]))};export{S as n,L as t};
@@ -1,5 +1,5 @@
1
1
  import e from"node:path";import t from"node:fs";import{execFileSync as n}from"node:child_process";import r from"node:os";import{randomUUID as i}from"node:crypto";function a(t,n){if(!n)return``;if(!e.isAbsolute(n))return n;let r=e.relative(t,n);return r&&!r.startsWith(`..`)?r:n}function o(e){try{return JSON.parse(t.readFileSync(e,`utf8`))}catch{return null}}function s(n,r){t.mkdirSync(e.dirname(n),{recursive:!0});let a=`${n}.${process.pid}.${i()}.tmp`;try{t.writeFileSync(a,r,{encoding:`utf8`,flag:`wx`}),t.renameSync(a,n)}finally{t.rmSync(a,{force:!0})}}function c(e,t){s(e,`${JSON.stringify(t,null,2)}\n`)}function l(n,r){if(t.mkdirSync(e.dirname(r),{recursive:!0}),t.existsSync(r))throw Object.assign(Error(`Directory already exists: ${r}`),{code:`EEXIST`});try{t.renameSync(n,r);return}catch(e){if(e.code!==`EXDEV`)throw e}let a=`${r}.${process.pid}.${i()}.tmp`;try{t.cpSync(n,a,{recursive:!0,preserveTimestamps:!0,verbatimSymlinks:!0,errorOnExist:!0,force:!1}),t.renameSync(a,r),t.rmSync(n,{recursive:!0})}finally{t.rmSync(a,{recursive:!0,force:!0})}}async function u(n,r){if(await t.promises.mkdir(e.dirname(r),{recursive:!0}),await t.promises.lstat(r).catch(e=>{if(e.code!==`ENOENT`)throw e}))throw Object.assign(Error(`Directory already exists: ${r}`),{code:`EEXIST`});try{await t.promises.rename(n,r);return}catch(e){if(e.code!==`EXDEV`)throw e}let a=`${r}.${process.pid}.${i()}.tmp`;try{await t.promises.cp(n,a,{recursive:!0,preserveTimestamps:!0,verbatimSymlinks:!0,errorOnExist:!0,force:!1}),await t.promises.rename(a,r),await t.promises.rm(n,{recursive:!0})}finally{await t.promises.rm(a,{recursive:!0,force:!0})}}function d(e,n=0){let r=n,i=``;return()=>{let n;try{n=t.statSync(e).size}catch{return[]}if(n<r&&(r=0,i=``),n===r)return[];let a;try{a=t.openSync(e,`r`)}catch{return[]}try{let e=Buffer.alloc(n-r),o=t.readSync(a,e,0,e.length,r);r+=o;let s=(i+e.toString(`utf8`,0,o)).split(`
2
- `);return i=s.pop()??``,s.filter(Boolean)}finally{t.closeSync(a)}}}function f(e,n){let r=!1,i=!1,a=new Set,o=()=>{r=!0;for(let e of[...a])e()},s=e?setImmediate(()=>{o(),n?.(null)}):void 0,c;try{e&&(c=t.watch(e,{persistent:!1},(e,t)=>{o(),n?.(t)})),c?.on(`error`,o)}catch{}return{notify:o,wait(e,t){return i||r||t?.aborted||e<=0?(r=!1,Promise.resolve()):new Promise(n=>{let i=()=>{clearTimeout(o),t?.removeEventListener(`abort`,i),a.delete(i),r=!1,n()},o=setTimeout(i,e);a.add(i),t?.addEventListener(`abort`,i,{once:!0})})},async until(e,t,n,r=3e4){let a=Date.now()+t;try{for(;;){let t=await e();if(t!==void 0||i||Date.now()>=a||n?.aborted)return t;await this.wait(Math.min(r,a-Date.now()),n)}}finally{this.close()}},close(){i=!0,clearImmediate(s),c?.close();for(let e of[...a])e()}}}async function p(n,r,a=3e4,o=1/0){t.mkdirSync(e.dirname(n),{recursive:!0});let s=t.mkdtempSync(`${n}-`),c=`${process.pid}-${i()}`;t.mkdirSync(e.join(s,c));let l=f(e.dirname(n)),u=Date.now()+o,d=!1,p;try{for(;!d;)try{if(t.existsSync(n))throw Object.assign(Error(`Lock is held`),{code:`EEXIST`});t.renameSync(s,n),d=!0}catch(r){if(![`EEXIST`,`ENOTEMPTY`,`ENOTDIR`].includes(r.code??``))throw r;try{let r=t.statSync(n).isFile(),i=r?[``]:t.readdirSync(n);for(let o of i){let i=r?n:e.join(n,o),s=Number(r?t.readFileSync(n,`utf8`):o.split(`-`)[0]),c=(!r||!s)&&Date.now()-t.statSync(i).mtimeMs>a;if(s)try{process.kill(s,0)}catch(e){c||=e.code===`ESRCH`}c&&(r?t.unlinkSync(i):t.rmdirSync(i))}!r&&(i.length||a===1/0||Date.now()-t.statSync(n).mtimeMs>a)&&t.rmdirSync(n)}catch{}if(Date.now()>=u)throw Error(`File lock wait timed out`);await l.wait(Math.min(200,a,u-Date.now()))}return p=setInterval(()=>{try{t.utimesSync(e.join(n,c),new Date,new Date)}catch{}},1e3),p.unref(),await r()}finally{if(l.close(),clearInterval(p),d){try{t.rmdirSync(e.join(n,c))}catch{}try{t.rmdirSync(n)}catch{}}else t.rmSync(s,{recursive:!0,force:!0})}}const ee={version:1,chain:[`codex/sol`,`claude/opus`],reviewModel:`codex/astra/medium`,models:{},network:{allowedHosts:[]}};function te(e,t){if(!t||typeof t!=`object`||Array.isArray(t))return t;let n=e&&typeof e==`object`&&!Array.isArray(e)?Object.fromEntries(Object.entries(e)):{};for(let[e,r]of Object.entries(t))r===null?delete n[e]:Object.defineProperty(n,e,{value:te(Object.hasOwn(n,e)?n[e]:void 0,r),writable:!0,enumerable:!0,configurable:!0});return n}const ne=`Background processes will not re-invoke you.`,re="Wait on each task with `coder task result <task-id> --wait` in its own background shell, one per task, never several tasks in one call, so each approval and answer reaches you.",ie=`Stopped by user.`,m=[`completed`,`failed`,`cancelled`],h=[`queued`,`running`],ae=`History lost, starting fresh`;function g(e){return/^[A-Z][A-Z0-9_]*$/.test(e)&&!/^(CODER_|CODEX_|LD_|DYLD_|GIT_|APP_TOKEN(?:_|$))/.test(e)&&![`PATH`,`HOME`,`SHELL`,`USER`,`PWD`,`TMPDIR`,`NODE_OPTIONS`,`NODE_PATH`,`BASH_ENV`,`ENV`,`OPENAI_API_KEY`,`ANTHROPIC_API_KEY`,`CLAUDE_CODE_OAUTH_TOKEN`,`CODEX_AUTH_JSON`,`CODEX_HOME`,`CLAUDE_CONFIG_DIR`,`OPENAI_BASE_URL`,`ANTHROPIC_BASE_URL`].includes(e)}function _(e=process.env){let t=JSON.parse(e.CODER_CONNECTION_ENV_VALUES??`{}`);return Object.fromEntries(Object.entries(t).filter(e=>g(e[0])&&typeof e[1]==`string`))}function v(){return Object.entries(process.env).filter(([e,t])=>/^CODER_CONNECTION_[A-F0-9]{24}$/.test(e)&&t).flatMap(([,e])=>[e,...e.startsWith(`Bearer `)?[e.slice(7)]:[]])}function y(e,t=[]){let n=Object.entries(_()).filter(([,e])=>e.length>=8).map(([e,t])=>[t,`[${e}]`]),r=[...t,...v()].filter(Boolean).map(e=>[e,`[REDACTED]`]),i=[...n,...r].sort(([e],[t])=>t.length-e.length);return JSON.stringify(e,(e,t)=>typeof t==`string`?i.reduce((e,[t,n])=>e.replaceAll(t,n),t):t)}const oe=/^[a-z0-9][a-z0-9_-]*$/i;function b(e){return oe.test(e)}function x(e,t){if(!b(e))throw Error(`Invalid ${t} "${e}".`)}function S(...t){return e.join(e.resolve(process.env.CODER_HOME||e.join(r.homedir(),`.coder`)),...t)}function C(...t){let n=r.homedir(),i=r.platform(),a=process.env.CODER_CACHE_HOME||(i===`darwin`?e.join(n,`Library`,`Caches`,`wular-coder`):i===`win32`?e.join(process.env.LOCALAPPDATA||e.join(n,`AppData`,`Local`),`wular-coder`,`cache`):e.join(process.env.XDG_CACHE_HOME||e.join(n,`.cache`),`wular-coder`));return e.join(e.resolve(a),...t)}function se(){return S(`state`,`global`,`flows`)}function ce(){return C(`flows-archived`)}function w(){return C(`usage.json`)}function le(e=w()){return`${e}.${process.pid}.${i()}.tmp`}function ue(){return C(`runner`,`usage.json`)}function de(e){try{return n(`git`,[`rev-parse`,`--show-toplevel`],{cwd:e,encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`]}).trim()}catch{return e}}const T=`global`;function E(e){return S(`state`,T)}function D(t){return e.join(E(t),`jobs`)}function fe(){return S(`state`,T,`server-tasks`)}const O=18e5,k=(e,t=Date.now())=>t-e>O;function A(e){return C(`archive`)}function j(n){return x(n,`task id`),e.join(t.realpathSync(r.tmpdir()),`coder`,n)}function M(n,r){x(r,`task id`);let i=e.join(D(n),r);if(t.existsSync(e.join(i,`job.json`)))return i;let a=e.join(A(n),r);return t.existsSync(e.join(a,`job.json`))?a:i}function N(t,n,r={}){let i=h.includes(n.status);if(!i){let r=M(t,n.id),i=e.join(A(t),n.id);r!==i&&l(r,i)}let a=n.archived?r.auto||!n.autoArchived?n:I(t,n.id,{autoArchived:void 0}):I(t,n.id,{archived:!0,archivedAt:new Date().toISOString(),...r.auto?{autoArchived:!0}:{}},{touch:!r.auto});return!i&&n.engine!==`claude`&&n.threadId&&import(`./sessions-DIz9fyRN.js`).then(e=>e.i).then(({archiveCodexSession:e})=>e(t,n.threadId)),a}function P(e){return!!e.archived&&(e.resumedAt??``)>(e.archivedAt??``)}function F(t,n){let r=M(t,n.id),i=e.join(D(t),n.id);return r!==i&&l(r,i),I(t,n.id,{archived:void 0,archivedAt:void 0,autoArchived:void 0})}function pe(){let e=Math.random().toString(36).slice(2,8);return`task-${Date.now().toString(36)}-${e}`}function I(n,r,i,a={}){let o=M(n,r);t.mkdirSync(o,{recursive:!0});let c=e.join(o,`job.json`),l=L(n,r)??{id:r,createdAt:new Date().toISOString(),status:`queued`},u={...l,...i,updatedAt:a.touch===!1?l.updatedAt:new Date().toISOString()};return s(c,`${y(u)}\n`),u}function L(n,r){if(!b(r))return null;let i=e.join(M(n,r),`job.json`);if(!t.existsSync(i))return null;try{return JSON.parse(t.readFileSync(i,`utf8`))}catch{return null}}function me(e,n){let r=M(e,n);return t.existsSync(r)?(t.rmSync(r,{recursive:!0,force:!0}),t.rmSync(j(n),{recursive:!0,force:!0}),!0):!1}function R(e){if(!e)return!1;try{return process.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function z(e){try{let t=n(`ps`,[`-o`,`lstart=`,`-p`,String(e)],{encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`],env:{...process.env,TZ:Intl.DateTimeFormat().resolvedOptions().timeZone}}).trim(),r=t?Date.parse(t):NaN;return Number.isFinite(r)?r:null}catch{return null}}function B(e,t,n=z){if(!R(e))return!1;let r=n(e),i=Date.parse(t.resumedAt??t.createdAt??``);return r===null||!Number.isFinite(i)||r<=i+6e4}const V=6e4;function H(e,t,n=z){let r=t.status===`running`||t.status===`queued`,i=t.status===`completed`&&J(e,t.id);if(!r&&!i)return t;let a;if(i&&(t.steerClosed||!t.pid&&!t.resumeOwner))a=!0;else if(t.resumeOwner){let e=Date.parse(t.resumedAt??t.updatedAt??t.createdAt);a=!R(t.resumeOwner)||Number.isFinite(e)&&Date.now()-e>V}else if(t.pid)a=!B(t.pid,t,n);else{let e=Date.parse(t.updatedAt??t.createdAt??``);a=Number.isFinite(e)&&Date.now()-e>V}if(a){let r=L(e,t.id);return r&&(r.status!==t.status||r.updatedAt!==t.updatedAt)?H(e,r,n):I(e,t.id,{status:`failed`,steerClosed:!0,resumeOwner:void 0,error:`worker exited without finishing`,completedAt:new Date().toISOString()})}return i?{...t,status:`running`}:t}function he(e){try{return t.readdirSync(e)}catch{return[]}}function U(n,r=new Set){return he(n).flatMap(i=>{if(r.has(i))return[];try{let a=JSON.parse(t.readFileSync(e.join(n,i,`job.json`),`utf8`));return r.add(i),[a]}catch{return[]}})}async function*ge(n){let r=[{dir:D(n),archived:!1},{dir:A(n),archived:!0}];for(let{dir:n,archived:i}of r){let r=await t.promises.readdir(n,{withFileTypes:!0}).catch(()=>[]);for(let t of r)t.isDirectory()&&b(t.name)&&(yield{id:t.name,dir:e.join(n,t.name),archived:i})}}const W=(e,t)=>String(t.updatedAt??``).localeCompare(String(e.updatedAt??``));function G(){let e=new Map,t=Date.now()+3e4;return n=>(Date.now()>=t&&(e.clear(),t=Date.now()+3e4),e.has(n)||e.set(n,z(n)),e.get(n))}function _e(e){let t=G(),n=[];for(let r of U(D(e))){let i=H(e,r,t);i.archived&&!P(i)?N(e,i,{auto:!0}):n.push(i.archived?F(e,i):i)}return n.sort(W)}function ve(e,t,n=!1){if(t.status===`queued`)return!0;let r=t.generation??0;if(n&&!r)return!1;let i=L(e,t.task.id);return i?r?t.startedAt===void 0||(Date.parse(i.resumedAt??``)||0)<t.startedAt:!1:!0}function ye(t){let n=o(e.join(E(t),`runner`,`task.json`))??{},r=e=>e===void 0?void 0:new Date(e).toISOString();return Object.values(n).map(({value:e})=>e).filter(e=>ve(t,e)).map(e=>{let t=e.status===`waiting`?`running`:e.status,n=e.archivedAt??(m.includes(t)&&k(e.finishedAt??e.updatedAt)?e.finishedAt??e.updatedAt:void 0);return{id:e.task.id,status:t,...e.task.name?{name:e.task.name}:{},...e.task.prompt?{prompt:e.task.prompt}:{},...e.task.cwd?{cwd:e.task.cwd}:{},...e.task.agent?{agentId:e.task.agent}:{},source:e.task.source??`dashboard`,...e.error?{error:e.error}:{},createdAt:r(e.createdAt),updatedAt:r(e.updatedAt),...e.finishedAt?{completedAt:r(e.finishedAt)}:{},...n===void 0?{}:{archived:!0,archivedAt:r(n)}}})}function be(e,t){let n=G(),r=t?.migrate??!0,i=new Set,a=[];for(let t of U(A(e),i))P(t)?r&&F(e,H(e,t,n)):a.push(H(e,t,n));for(let t of U(D(e),i))if(t.archived&&!P(t)){let i=H(e,t,n);a.push(r?N(e,i,{auto:!0}):i)}return a.sort(W)}function xe(e,t){if(!t){let t=be(e);return[..._e(e),...t].sort(W)[0]??null}let n=t=>{let n=H(e,t);return P(n)?F(e,n):n},r=L(e,t);if(r)return n(r);if(!b(t))return null;let i=[...new Set([D(e),A(e)].flatMap(e=>he(e).filter(e=>e.startsWith(t))))].flatMap(t=>{let n=L(e,t);return n?[n]:[]});if(i.length>1)throw Error(`Task reference "${t}" is ambiguous. Use a longer id.`);return i[0]?n(i[0]):null}function Se(n,r){let i=M(n,r);try{t.mkdirSync(i,{recursive:!0}),t.writeFileSync(e.join(i,`heartbeat`),``,`utf8`)}catch{}}function Ce(n,r){let i=M(n,r.id),a=Date.parse(r.updatedAt??``)||0;for(let n of[`log.jsonl`,`heartbeat`])try{a=Math.max(a,t.statSync(e.join(i,n)).mtimeMs)}catch{}return a?new Date(a).toISOString():void 0}const K=`steer-queue.jsonl`,q=`steer-pending`;function we(t,n,r){return x(n,`task id`),p(e.join(E(t),`steer`,`${n}.lock`),r)}const Te=`steer-claimed.jsonl`,Ee=e=>t.existsSync(e)?t.readFileSync(e,`utf8`).split(/\r?\n/).filter(Boolean).flatMap(e=>{try{let t=JSON.parse(e).key;return typeof t==`string`?[t]:[]}catch{return[]}}):[];function De(t,n,r){let i=M(t,n);return[K,Te].some(t=>Ee(e.join(i,t)).includes(r))}function Oe(n,r,i,a){if(a&&De(n,r,a))return!1;let o=M(n,r);return t.mkdirSync(o,{recursive:!0}),t.appendFileSync(e.join(o,K),`${JSON.stringify({at:new Date().toISOString(),text:i,...a?{key:a}:{}})}\n`,`utf8`),t.writeFileSync(e.join(o,q),``),!0}function ke(e,t){return t.status===`completed`&&t.steerClosed===!1&&!!t.pid&&B(t.pid,t)&&J(e,t.id)}function Ae(n,r){return t.existsSync(e.join(M(n,r),K))}function J(n,r){return Ae(n,r)||t.existsSync(e.join(M(n,r),q))}function je(n,r){t.rmSync(e.join(M(n,r),q),{force:!0})}function Me(n,r){let i=M(n,r),a=e.join(i,K);if(!t.existsSync(a))return[];t.writeFileSync(e.join(i,q),``);let o=e.join(i,`steer-claim-${process.pid}-${Date.now()}.tmp`);try{t.renameSync(a,o)}catch{return[]}try{let n=t.readFileSync(o,`utf8`).split(/\r?\n/).filter(Boolean).flatMap(e=>{try{return[JSON.parse(e)]}catch{return[]}}),r=n.filter(e=>typeof e.key==`string`);return r.length&&t.appendFileSync(e.join(i,Te),r.map(e=>`${JSON.stringify({key:e.key})}\n`).join(``),`utf8`),n.map(e=>String(e.text??``)).filter(Boolean)}finally{try{t.unlinkSync(o)}catch{}}}function Ne(e,t,n){Pe(M(e,t),n)}function Pe(n,r){t.mkdirSync(n,{recursive:!0}),t.appendFileSync(e.join(n,`log.jsonl`),`${y({at:new Date().toISOString(),...r})}\n`,`utf8`)}const Fe=`Steer accepted live:
2
+ `);return i=s.pop()??``,s.filter(Boolean)}finally{t.closeSync(a)}}}function f(e,n){let r=!1,i=!1,a=new Set,o=()=>{r=!0;for(let e of[...a])e()},s=e?setImmediate(()=>{o(),n?.(null)}):void 0,c;try{e&&(c=t.watch(e,{persistent:!1},(e,t)=>{o(),n?.(t)})),c?.on(`error`,o)}catch{}return{notify:o,wait(e,t){return i||r||t?.aborted||e<=0?(r=!1,Promise.resolve()):new Promise(n=>{let i=()=>{clearTimeout(o),t?.removeEventListener(`abort`,i),a.delete(i),r=!1,n()},o=setTimeout(i,e);a.add(i),t?.addEventListener(`abort`,i,{once:!0})})},async until(e,t,n,r=3e4){let a=Date.now()+t;try{for(;;){let t=await e();if(t!==void 0||i||Date.now()>=a||n?.aborted)return t;await this.wait(Math.min(r,a-Date.now()),n)}}finally{this.close()}},close(){i=!0,clearImmediate(s),c?.close();for(let e of[...a])e()}}}async function p(n,r,a=3e4,o=1/0){t.mkdirSync(e.dirname(n),{recursive:!0});let s=t.mkdtempSync(`${n}-`),c=`${process.pid}-${i()}`;t.mkdirSync(e.join(s,c));let l=f(e.dirname(n)),u=Date.now()+o,d=!1,p;try{for(;!d;)try{if(t.existsSync(n))throw Object.assign(Error(`Lock is held`),{code:`EEXIST`});t.renameSync(s,n),d=!0}catch(r){if(![`EEXIST`,`ENOTEMPTY`,`ENOTDIR`].includes(r.code??``))throw r;try{let r=t.statSync(n).isFile(),i=r?[``]:t.readdirSync(n);for(let o of i){let i=r?n:e.join(n,o),s=Number(r?t.readFileSync(n,`utf8`):o.split(`-`)[0]),c=(!r||!s)&&Date.now()-t.statSync(i).mtimeMs>a;if(s)try{process.kill(s,0)}catch(e){c||=e.code===`ESRCH`}c&&(r?t.unlinkSync(i):t.rmdirSync(i))}!r&&(i.length||a===1/0||Date.now()-t.statSync(n).mtimeMs>a)&&t.rmdirSync(n)}catch{}if(Date.now()>=u)throw Error(`File lock wait timed out`);await l.wait(Math.min(200,a,u-Date.now()))}return p=setInterval(()=>{try{t.utimesSync(e.join(n,c),new Date,new Date)}catch{}},1e3),p.unref(),await r()}finally{if(l.close(),clearInterval(p),d){try{t.rmdirSync(e.join(n,c))}catch{}try{t.rmdirSync(n)}catch{}}else t.rmSync(s,{recursive:!0,force:!0})}}const ee={version:1,chain:[`codex/sol`,`claude/opus`],reviewModel:`codex/astra/medium`,models:{},network:{allowedHosts:[]}};function te(e,t){if(!t||typeof t!=`object`||Array.isArray(t))return t;let n=e&&typeof e==`object`&&!Array.isArray(e)?Object.fromEntries(Object.entries(e)):{};for(let[e,r]of Object.entries(t))r===null?delete n[e]:Object.defineProperty(n,e,{value:te(Object.hasOwn(n,e)?n[e]:void 0,r),writable:!0,enumerable:!0,configurable:!0});return n}const ne=`Background processes will not re-invoke you.`,re="Wait on each task with `coder task result <task-id> --wait` in its own background shell, one per task, never several tasks in one call, so each approval and answer reaches you.",ie=`Stopped by user.`,m=[`completed`,`failed`,`cancelled`],h=[`queued`,`running`],ae=`History lost, starting fresh`;function g(e){return/^[A-Z][A-Z0-9_]*$/.test(e)&&!/^(CODER_|CODEX_|LD_|DYLD_|GIT_|APP_TOKEN(?:_|$))/.test(e)&&![`PATH`,`HOME`,`SHELL`,`USER`,`PWD`,`TMPDIR`,`NODE_OPTIONS`,`NODE_PATH`,`BASH_ENV`,`ENV`,`OPENAI_API_KEY`,`ANTHROPIC_API_KEY`,`CLAUDE_CODE_OAUTH_TOKEN`,`CODEX_AUTH_JSON`,`CODEX_HOME`,`CLAUDE_CONFIG_DIR`,`OPENAI_BASE_URL`,`ANTHROPIC_BASE_URL`].includes(e)}function _(e=process.env){let t=JSON.parse(e.CODER_CONNECTION_ENV_VALUES??`{}`);return Object.fromEntries(Object.entries(t).filter(e=>g(e[0])&&typeof e[1]==`string`))}function v(){return Object.entries(process.env).filter(([e,t])=>/^CODER_CONNECTION_[A-F0-9]{24}$/.test(e)&&t).flatMap(([,e])=>[e,...e.startsWith(`Bearer `)?[e.slice(7)]:[]])}function y(e,t=[]){let n=Object.entries(_()).filter(([,e])=>e.length>=8).map(([e,t])=>[t,`[${e}]`]),r=[...t,...v()].filter(Boolean).map(e=>[e,`[REDACTED]`]),i=[...n,...r].sort(([e],[t])=>t.length-e.length);return JSON.stringify(e,(e,t)=>typeof t==`string`?i.reduce((e,[t,n])=>e.replaceAll(t,n),t):t)}const oe=/^[a-z0-9][a-z0-9_-]*$/i;function b(e){return oe.test(e)}function x(e,t){if(!b(e))throw Error(`Invalid ${t} "${e}".`)}function S(...t){return e.join(e.resolve(process.env.CODER_HOME||e.join(r.homedir(),`.coder`)),...t)}function C(...t){let n=r.homedir(),i=r.platform(),a=process.env.CODER_CACHE_HOME||(i===`darwin`?e.join(n,`Library`,`Caches`,`wular-coder`):i===`win32`?e.join(process.env.LOCALAPPDATA||e.join(n,`AppData`,`Local`),`wular-coder`,`cache`):e.join(process.env.XDG_CACHE_HOME||e.join(n,`.cache`),`wular-coder`));return e.join(e.resolve(a),...t)}function se(){return S(`state`,`global`,`flows`)}function ce(){return C(`flows-archived`)}function w(){return C(`usage.json`)}function le(e=w()){return`${e}.${process.pid}.${i()}.tmp`}function ue(){return C(`runner`,`usage.json`)}function de(e){try{return n(`git`,[`rev-parse`,`--show-toplevel`],{cwd:e,encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`]}).trim()}catch{return e}}const T=`global`;function E(e){return S(`state`,T)}function D(t){return e.join(E(t),`jobs`)}function fe(){return S(`state`,T,`server-tasks`)}const O=18e5,k=(e,t=Date.now())=>t-e>O;function A(e){return C(`archive`)}function j(n){return x(n,`task id`),e.join(t.realpathSync(r.tmpdir()),`coder`,n)}function M(n,r){x(r,`task id`);let i=e.join(D(n),r);if(t.existsSync(e.join(i,`job.json`)))return i;let a=e.join(A(n),r);return t.existsSync(e.join(a,`job.json`))?a:i}function N(t,n,r={}){let i=h.includes(n.status);if(!i){let r=M(t,n.id),i=e.join(A(t),n.id);r!==i&&l(r,i)}let a=n.archived?r.auto||!n.autoArchived?n:I(t,n.id,{autoArchived:void 0}):I(t,n.id,{archived:!0,archivedAt:new Date().toISOString(),...r.auto?{autoArchived:!0}:{}},{touch:!r.auto});return!i&&n.engine!==`claude`&&n.threadId&&import(`./sessions-BGUfSe8L.js`).then(e=>e.i).then(({archiveCodexSession:e})=>e(t,n.threadId)),a}function P(e){return!!e.archived&&(e.resumedAt??``)>(e.archivedAt??``)}function F(t,n){let r=M(t,n.id),i=e.join(D(t),n.id);return r!==i&&l(r,i),I(t,n.id,{archived:void 0,archivedAt:void 0,autoArchived:void 0})}function pe(){let e=Math.random().toString(36).slice(2,8);return`task-${Date.now().toString(36)}-${e}`}function I(n,r,i,a={}){let o=M(n,r);t.mkdirSync(o,{recursive:!0});let c=e.join(o,`job.json`),l=L(n,r)??{id:r,createdAt:new Date().toISOString(),status:`queued`},u={...l,...i,updatedAt:a.touch===!1?l.updatedAt:new Date().toISOString()};return s(c,`${y(u)}\n`),u}function L(n,r){if(!b(r))return null;let i=e.join(M(n,r),`job.json`);if(!t.existsSync(i))return null;try{return JSON.parse(t.readFileSync(i,`utf8`))}catch{return null}}function me(e,n){let r=M(e,n);return t.existsSync(r)?(t.rmSync(r,{recursive:!0,force:!0}),t.rmSync(j(n),{recursive:!0,force:!0}),!0):!1}function R(e){if(!e)return!1;try{return process.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function z(e){try{let t=n(`ps`,[`-o`,`lstart=`,`-p`,String(e)],{encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`],env:{...process.env,TZ:Intl.DateTimeFormat().resolvedOptions().timeZone}}).trim(),r=t?Date.parse(t):NaN;return Number.isFinite(r)?r:null}catch{return null}}function B(e,t,n=z){if(!R(e))return!1;let r=n(e),i=Date.parse(t.resumedAt??t.createdAt??``);return r===null||!Number.isFinite(i)||r<=i+6e4}const V=6e4;function H(e,t,n=z){let r=t.status===`running`||t.status===`queued`,i=t.status===`completed`&&J(e,t.id);if(!r&&!i)return t;let a;if(i&&(t.steerClosed||!t.pid&&!t.resumeOwner))a=!0;else if(t.resumeOwner){let e=Date.parse(t.resumedAt??t.updatedAt??t.createdAt);a=!R(t.resumeOwner)||Number.isFinite(e)&&Date.now()-e>V}else if(t.pid)a=!B(t.pid,t,n);else{let e=Date.parse(t.updatedAt??t.createdAt??``);a=Number.isFinite(e)&&Date.now()-e>V}if(a){let r=L(e,t.id);return r&&(r.status!==t.status||r.updatedAt!==t.updatedAt)?H(e,r,n):I(e,t.id,{status:`failed`,steerClosed:!0,resumeOwner:void 0,error:`worker exited without finishing`,completedAt:new Date().toISOString()})}return i?{...t,status:`running`}:t}function he(e){try{return t.readdirSync(e)}catch{return[]}}function U(n,r=new Set){return he(n).flatMap(i=>{if(r.has(i))return[];try{let a=JSON.parse(t.readFileSync(e.join(n,i,`job.json`),`utf8`));return r.add(i),[a]}catch{return[]}})}async function*ge(n){let r=[{dir:D(n),archived:!1},{dir:A(n),archived:!0}];for(let{dir:n,archived:i}of r){let r=await t.promises.readdir(n,{withFileTypes:!0}).catch(()=>[]);for(let t of r)t.isDirectory()&&b(t.name)&&(yield{id:t.name,dir:e.join(n,t.name),archived:i})}}const W=(e,t)=>String(t.updatedAt??``).localeCompare(String(e.updatedAt??``));function G(){let e=new Map,t=Date.now()+3e4;return n=>(Date.now()>=t&&(e.clear(),t=Date.now()+3e4),e.has(n)||e.set(n,z(n)),e.get(n))}function _e(e){let t=G(),n=[];for(let r of U(D(e))){let i=H(e,r,t);i.archived&&!P(i)?N(e,i,{auto:!0}):n.push(i.archived?F(e,i):i)}return n.sort(W)}function ve(e,t,n=!1){if(t.status===`queued`)return!0;let r=t.generation??0;if(n&&!r)return!1;let i=L(e,t.task.id);return i?r?t.startedAt===void 0||(Date.parse(i.resumedAt??``)||0)<t.startedAt:!1:!0}function ye(t){let n=o(e.join(E(t),`runner`,`task.json`))??{},r=e=>e===void 0?void 0:new Date(e).toISOString();return Object.values(n).map(({value:e})=>e).filter(e=>ve(t,e)).map(e=>{let t=e.status===`waiting`?`running`:e.status,n=e.archivedAt??(m.includes(t)&&k(e.finishedAt??e.updatedAt)?e.finishedAt??e.updatedAt:void 0);return{id:e.task.id,status:t,...e.task.name?{name:e.task.name}:{},...e.task.prompt?{prompt:e.task.prompt}:{},...e.task.cwd?{cwd:e.task.cwd}:{},...e.task.agent?{agentId:e.task.agent}:{},source:e.task.source??`dashboard`,...e.error?{error:e.error}:{},createdAt:r(e.createdAt),updatedAt:r(e.updatedAt),...e.finishedAt?{completedAt:r(e.finishedAt)}:{},...n===void 0?{}:{archived:!0,archivedAt:r(n)}}})}function be(e,t){let n=G(),r=t?.migrate??!0,i=new Set,a=[];for(let t of U(A(e),i))P(t)?r&&F(e,H(e,t,n)):a.push(H(e,t,n));for(let t of U(D(e),i))if(t.archived&&!P(t)){let i=H(e,t,n);a.push(r?N(e,i,{auto:!0}):i)}return a.sort(W)}function xe(e,t){if(!t){let t=be(e);return[..._e(e),...t].sort(W)[0]??null}let n=t=>{let n=H(e,t);return P(n)?F(e,n):n},r=L(e,t);if(r)return n(r);if(!b(t))return null;let i=[...new Set([D(e),A(e)].flatMap(e=>he(e).filter(e=>e.startsWith(t))))].flatMap(t=>{let n=L(e,t);return n?[n]:[]});if(i.length>1)throw Error(`Task reference "${t}" is ambiguous. Use a longer id.`);return i[0]?n(i[0]):null}function Se(n,r){let i=M(n,r);try{t.mkdirSync(i,{recursive:!0}),t.writeFileSync(e.join(i,`heartbeat`),``,`utf8`)}catch{}}function Ce(n,r){let i=M(n,r.id),a=Date.parse(r.updatedAt??``)||0;for(let n of[`log.jsonl`,`heartbeat`])try{a=Math.max(a,t.statSync(e.join(i,n)).mtimeMs)}catch{}return a?new Date(a).toISOString():void 0}const K=`steer-queue.jsonl`,q=`steer-pending`;function we(t,n,r){return x(n,`task id`),p(e.join(E(t),`steer`,`${n}.lock`),r)}const Te=`steer-claimed.jsonl`,Ee=e=>t.existsSync(e)?t.readFileSync(e,`utf8`).split(/\r?\n/).filter(Boolean).flatMap(e=>{try{let t=JSON.parse(e).key;return typeof t==`string`?[t]:[]}catch{return[]}}):[];function De(t,n,r){let i=M(t,n);return[K,Te].some(t=>Ee(e.join(i,t)).includes(r))}function Oe(n,r,i,a){if(a&&De(n,r,a))return!1;let o=M(n,r);return t.mkdirSync(o,{recursive:!0}),t.appendFileSync(e.join(o,K),`${JSON.stringify({at:new Date().toISOString(),text:i,...a?{key:a}:{}})}\n`,`utf8`),t.writeFileSync(e.join(o,q),``),!0}function ke(e,t){return t.status===`completed`&&t.steerClosed===!1&&!!t.pid&&B(t.pid,t)&&J(e,t.id)}function Ae(n,r){return t.existsSync(e.join(M(n,r),K))}function J(n,r){return Ae(n,r)||t.existsSync(e.join(M(n,r),q))}function je(n,r){t.rmSync(e.join(M(n,r),q),{force:!0})}function Me(n,r){let i=M(n,r),a=e.join(i,K);if(!t.existsSync(a))return[];t.writeFileSync(e.join(i,q),``);let o=e.join(i,`steer-claim-${process.pid}-${Date.now()}.tmp`);try{t.renameSync(a,o)}catch{return[]}try{let n=t.readFileSync(o,`utf8`).split(/\r?\n/).filter(Boolean).flatMap(e=>{try{return[JSON.parse(e)]}catch{return[]}}),r=n.filter(e=>typeof e.key==`string`);return r.length&&t.appendFileSync(e.join(i,Te),r.map(e=>`${JSON.stringify({key:e.key})}\n`).join(``),`utf8`),n.map(e=>String(e.text??``)).filter(Boolean)}finally{try{t.unlinkSync(o)}catch{}}}function Ne(e,t,n){Pe(M(e,t),n)}function Pe(n,r){t.mkdirSync(n,{recursive:!0}),t.appendFileSync(e.join(n,`log.jsonl`),`${y({at:new Date().toISOString(),...r})}\n`,`utf8`)}const Fe=`Steer accepted live:
3
3
  `;function Ie(e,t,n){let r=f(M(e,t));return n?.on(`message`,r.notify),n?.on(`exit`,r.notify),n?.on(`error`,r.notify),{wait:r.wait,close(){n?.off(`message`,r.notify),n?.off(`exit`,r.notify),n?.off(`error`,r.notify),r.close()}}}function Le(n,r){let i=e.join(M(n,r),`results.jsonl`);return t.existsSync(i)?t.readFileSync(i,`utf8`).split(`
4
4
  `).flatMap(e=>{try{return[JSON.parse(e)]}catch{return[]}}):[]}function Re(e,t){if(t<=0)return[];let n=0;for(let r=e.length-1;r>=0;--r)if(e[r]?.kind!==`usage`&&(n+=1)===t)return e.slice(r);return e}function ze(n,r,i=40){if(i<=0)return[];let a=e.join(M(n,r),`log.jsonl`),o;try{o=t.openSync(a,`r`)}catch(e){if(e.code===`ENOENT`)return[];throw e}try{let e=t.fstatSync(o).size,n=Math.min(e,65536);for(;;){let r=e-n,a=Buffer.alloc(n),s=t.readSync(o,a,0,n,r),c=a.toString(`utf8`,0,s),l=(r?c.slice(c.indexOf(`
5
5
  `)+1):c).split(/\r?\n/).filter(Boolean);if(r===0||c.includes(`