@wular/coder 0.5.0 → 0.5.2
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.
- package/dist/{actions-CkMAM1Km.js → actions-C35tq9KH.js} +2 -2
- package/dist/{agent-Bi5nbUhA.js → agent-BZR4Eqdc.js} +1 -1
- package/dist/{app-server-BTpa5GBV.js → app-server-dnlLhhZb.js} +1 -1
- package/dist/{approvals-CRwkc9vB.js → approvals-C8XV7CK2.js} +1 -1
- package/dist/apps-CCqOsEZH.js +18 -0
- package/dist/async-BP5q3Une.js +3 -0
- package/dist/{auth-oCvlHitk.js → auth-CJOm9_Vh.js} +1 -1
- package/dist/builtin/coder/system.md +6 -3
- package/dist/{chat-4AiZEqKh.js → chat-BD2Fu3jU.js} +1 -1
- package/dist/cli.js +3 -3
- package/dist/{cmd-Cu3OquA_.js → cmd-BH1bmZGs.js} +34 -34
- package/dist/{config-D_RuO6gX.js → config-_32PHl9g.js} +1 -1
- package/dist/{connection-BXjn7gCC.js → connection-DNzNYpha.js} +1 -1
- package/dist/{connections-Cswv7r8Z.js → connections-B90TemYf.js} +1 -1
- package/dist/{context-CFrDYenS.js → context-DVGPu7f_.js} +1 -1
- package/dist/dash/standalone/server/build-index.json +1 -1
- package/dist/dash/standalone/server/manifest.json +1406 -1406
- package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.54c45900f2153d34.js → index.a036e2c6ae93ec75.js} +3 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.252f972b42c690e2.js → load.3e1c235ecb89201a.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.11efd0e175db9053.js → page.ff03c26886d248d2.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.59ae138dc182d7c3.js → notify.5b9c5a4ab975b01e.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.e9386951cedea737.js → page.6e80433ca86c927d.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.713d3ec10951fde5.js → sign-out.e419e0eae59a1394.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.f989d6f2d9ece6e4.js → agents-grid.53dc6597be8d6049.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.0f88720e52db99a2.js → page.82a238c790c19a6c.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.8d2f0997462fc958.js → layout.4a5c6f90ebaccf6f.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.bc93891522c8120d.js → page.ed696703c6fb5796.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.cf5cf9afe38ab0e4.js → page.12dbb62edaa16b4f.js} +11 -11
- 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.1e7bb5f00112eeac.js} +3 -3
- 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.45adc3fb28e7d33b.js} +1 -1
- 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.1693e7dc34f5b94a.js} +16 -17
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.4d06f759984a63b3.js → page.fbbcdf8fde222f1e.js} +8 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.ea2925eab1d2e594.js → loading.099f0e549e964a5c.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.fb069bf82b727d27.js → page.577e64210260faf2.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.0a472a0e269b8c01.js → page.2d10853615403293.js} +3 -3
- 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.e6088baf4de7f41e.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.007326a04f05d46c.js → loading.f0dfaf4552b8cde1.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.a26aa7bc6ab655f0.js → page.9f09979ad3435fe3.js} +6 -6
- 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.adaebe98ec9d32e8.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{page.3f60cf67517d0d31.js → page.e2dc60bbcac65b1f.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.ffbf9a8b8b2fbde7.js → agent-toggle.d795b7112534872c.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.0ae015a4fbe6321e.js → hero.b74c6eb40c45b498.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.9abe365f0098d358.js → connect-repositories.e27bcba279f82d7b.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.6548f8f757578f90.js → editor.288736c2a52c7df4.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.577b1d84c7ab84e1.js → import-picker.58bad50dd8e60d63.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.2b326d00ccef5544.js → page.83a490948f585e69.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.45a09107b19f0a7e.js → layout.61ad05aceb425910.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{operator-apps.f8d679f2d06b0ebc.js → operator-apps.6f71999915848a2c.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.5aa3ddc669366703.js → page.4758811b7fc86d84.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.5a5188f0fc75dcd2.js → page.7de674df6cd0e824.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{advanced-list.73cdadb2968a39d2.js → advanced-list.851275e04f8e7305.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connection-add.353ec01fbb814f78.js → connection-add.45a224c5e612b15f.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.cf4061ae909272c3.js → connections-list.6cacd41c18de261d.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.fc4cff0289267551.js → credentials-list.79a1355d894b8642.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.db01de2581ac65f3.js → credentials.30db114aef2c6ff6.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.e7d6a422f6a869ea.js → list.fa3b9eff6657bc57.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.acb92b39cab1d11c.js → models-list.2a8f6a5679fc5c4d.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.95fe939e36e5be55.js → page.7681780b48e2aa3e.js} +13 -13
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.5764eac3307d67cc.js → runners-list.e9834546550a3c2c.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.d316bb157f747f6c.js → secrets-list.ff9f3b3d88f2b8df.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.4eb70f2de8674f93.js → layout.3f8a61434ceaa186.js} +1 -1
- 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
- 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
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.70cad0e981c33fa5.js → page.e439da4bae9d6d6c.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.18bd2b92cd23b73f.js → create-link.371225925a83e900.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-toast.95f7be49430248eb.js → outcome-toast.c7d02e38464dec0b.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.e39ee9236664d043.js → page.885e5ae7913d8f5b.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.441e82ab00344fb2.js → activity.f8d48c80747830ee.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.24e121ea6eb578ba.js → page.70ce5ef3bcf56310.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-actions.4a4052a38db4bad3.js → task-actions.783070d7dbd198e4.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.0cd3ec2655f44cc7.js → task-view.db256c7f111b8f23.js} +22 -57
- 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
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.ee326fbf5e526fb1.js → composer.6a331de70f3baff4.js} +24 -82
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{pending-approvals.7607998094780fdd.js → pending-approvals.7ff2eadf13a3ee90.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.e486cbd16ea3e963.js → tasks-list.57c90c66384141a0.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.01510523d1556d59.js → tasks-section.22e4f86847e1a3e2.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.ede64f82388f9480.js → page.c6b9db3ca88aaa1f.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.0499098badd3f5f8.js → page.743fe359f09f5648.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.e3800e736f832124.js → stream.c7ffa724145ce870.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.3b7eeee29fc327de.js → task-toasts.b0ba5a1b4976ae27.js} +47 -20
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.f22057e7dfac40fe.js → action.44115286faf6c0f8.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.c8d7efefb6194d7d.js → client.b9225923da59febe.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{advanced-list-850a950afe4f6996.js → advanced-list-4a393f37c461986f.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agent-pills-9f6fa120182db948.js → agent-pills-f07bea43753a9342.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/agent-settings-form-6c1b6776328cd046.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{agent-toggle-521136f20a71400d.js → agent-toggle-dabbca2fe4006852.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agents-grid-bcd13cd7a46224a6.js → agents-grid-a9440caa1768bfd8.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{back-2d67134b122334f4.js → back-8ca96656264a0d1c.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{chain-hint-53675e299a865420.js → chain-hint-c7994aad798ef430.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{combo-cb2c62fe580a8903.js → combo-7b125f3927083749.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/composer-3efd63e2e0192937.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/composer-a6cf207b9c69b43f.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{composer-data-890f71bade4f0616.js → composer-data-b05f3d93fdc472d7.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{confirm-d6b2c5b1deccd1e8.js → confirm-6e26ab941d655b9f.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{connect-repositories-226bf70aa81c29d8.js → connect-repositories-90f1aedea6de7a99.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{connections-list-a33d6637e2d52fcf.js → connections-list-90935e956e8f4626.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{copy-294c6052b3b69424.js → copy-38fa78628f39ec10.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/create-link-a3c963721aa06a72.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{credentials-list-90fc1c6d202e1461.js → credentials-list-ae950b9891d30c29.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{custom-range-efa1b6a71ba84597.js → custom-range-e9185a23187b3fe6.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{editor-53a3e1a893644fff.js → editor-e0cc472111713852.js} +3 -3
- package/dist/dash/standalone/static/assets/chunks/{field-4d374d5ed3f43d7e.js → field-444bab2e16b91c26.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/instructions-7d9131eb37c4619e.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{instructions-d3dc01b2f90820db.js → instructions-9f173d4229d9b77e.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{list-16247e39898cd20e.js → list-84356c9286747b10.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/model-options-5e07b3318d69d218.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{models-list-6d93523660503dfb.js → models-list-eca9705ab89a2ce5.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-dialog-3006ae63624b3940.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-755fc581cbc2836e.js → outcome-dialog-c4d61a288688f53a.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-toast-ba59a3c06c25f0fd.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/platform-actions-0c61a03082f9d169.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{platform-actions-08e9b3816dcd62b1.js → platform-actions-267a43c805e3c3a6.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{platform-step-5881a8be1e761e00.js → platform-step-adfc87c1fa86e7e1.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/platform-step-fd1616528b2f6f12.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{runners-list-dd759d408c643a29.js → runners-list-c858c5546c6fd513.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{runtime-9b28886f3cbe0ed3-1.js → runtime-3fcac605fffcc273-1.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{secrets-list-be1f634a1b077baa.js → secrets-list-06cd41b5a2627452.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{segmented-f646bfa8aa0aa449.js → segmented-15503e745dd97f56.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{shared-init-b42d2c06c25d1e2b.js → shared-init-02666a6f76606589.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-3fcac605fffcc273-2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-7a7f1e623f0f5861.js +9 -0
- package/dist/dash/standalone/static/assets/chunks/{shared-init-953965859f7bf6b9.js → shared-init-a69029db2d72fb52.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/side-toggle-800f7bacd6de5aa8.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{tail-d13c4cc0cf11ffd1.js → tail-3024b828bce41f94.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{task-423e6a3f2527f534.js → task-1e6f9ba22fb5e29f.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{task-actions-5917357eac6504ca.js → task-actions-c8fe1201a56901d9.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/task-view-531e243f8222f802.js +3 -0
- package/dist/dash/standalone/static/assets/chunks/{tasks-list-2c5ce592e00fda45.js → tasks-list-5373f9a2772a386a.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{versions-list-177ae397ad64dcea.js → versions-list-6642a24e9cef352b.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{wular-pnext-9b28886f3cbe0ed3-0.js → wular-pnext-3fcac605fffcc273-0.js} +1 -1
- package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-00243b34eb094b95.css → dash-param-org-agents-param-slug-dd4ac319a0d62432.css} +1 -1
- 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
- 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
- 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
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-9cc128ba8af6ef62.css +1 -0
- package/dist/dash/standalone/static/assets/{dash-param-org-tasks-8a44e171984d32a1.css → dash-param-org-tasks-be3cb3d64573f3d9.css} +1 -1
- package/dist/dash/standalone/static/assets/{dash-param-org-tasks-param-id-b9d3a7a1bd1dd666.css → dash-param-org-tasks-param-id-c20a0537bc82620d.css} +1 -1
- package/dist/dash/standalone/static/assets/pnext-client-02b9bb5ae78a37d6.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-063d14b5b5c893a3.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-1710a65c5b8280af.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-2936b44e963219bc.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-2f14cc4bf71bf456.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-2f81535a69d0c8a3.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-368d90341055d7ff.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-58e0efbceb6c595f.js +1 -0
- package/dist/dash/standalone/static/assets/{pnext-client-7ecbd7a0cbe4e231.js → pnext-client-5fc693a6184e48a4.js} +1 -1
- package/dist/dash/standalone/static/assets/pnext-client-6ee756a74310a9fe.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-713f7a6bc55d23fb.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-7c91f8543cd360fa.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-827b030f2c8e738e.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-8b165b7e5c14a1f3.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-95a81597ac1bdea0.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-a4c2fb8a94ccce04.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-a7faaaf8c4cc8145.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-bab8ffb68e7dd229.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-d9fab2611c2e7246.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-f3804c9ffb299fe0.js +1 -0
- package/dist/{definition-4on4SG5J.js → definition-D0OpQfGX.js} +1 -1
- package/dist/{discover-DvzAbQvU.js → discover-BfYHHJN_.js} +1 -1
- package/dist/{dispatch-BaW2X6Sc.js → dispatch-BkoIU4GU.js} +2 -2
- package/dist/{docs-CbgaMPvq.js → docs-CxklYa3P.js} +1 -1
- package/dist/{drive-Tk6JvQK5.js → drive-MggMiKA0.js} +1 -1
- package/dist/env-BwFCHakK.js +1 -0
- package/dist/{exec-CAaYFJD1.js → exec-CNygM6yF.js} +2 -2
- package/dist/{executor-Chc0zawh.js → executor-Ds4wDCzV.js} +6 -6
- package/dist/flow/builtin/review/index.d.ts +2 -2
- package/dist/flow/builtin/review/index.js +10 -15
- package/dist/flow/index.d.ts +2 -2
- package/dist/flow/index.js +1 -1
- package/dist/{hook-COWDSO4a.js → hook-CVJU-ZD0.js} +1 -1
- package/dist/{index-ezhbF5wC.d.ts → index-CTAQrCRU.d.ts} +71 -66
- package/dist/integrations-DSZSa8Rc.js +9 -0
- package/dist/lib/broker.js +1 -1
- package/dist/{load-PqaDHiHX.js → load-BtIDghgd.js} +2 -2
- package/dist/{local-BzZuOwgI.js → local-CqOUpEtl.js} +1 -1
- package/dist/{local-BMGcCk8N.js → local-DFrTuJFN.js} +1 -1
- package/dist/{login-BDKTNynK.js → login-93jO9qjx.js} +1 -1
- package/dist/maintenance-BuDKnfc7.js +1 -0
- package/dist/{mcp-BNz_l5TV2.js → mcp-CTVOR7r6.js} +1 -1
- package/dist/{mcp-BGam3G_B.js → mcp-EwT2mCaa.js} +1 -1
- package/dist/{mcp-BGx48pyR.js → mcp-cEIva8Pd.js} +6 -4
- package/dist/{models-D1NXi6ni.js → models-mKyePWrV.js} +1 -1
- package/dist/{permission-BkYxjiFR.js → permission-F6F25GJU.js} +1 -1
- package/dist/post-DLenID75.js +11 -0
- package/dist/{refresh-yfEi5SQs.js → refresh-CWEpTAkD.js} +1 -1
- package/dist/{remote-rArUa01V.js → remote-BDMuKaON.js} +1 -1
- package/dist/remote-Cl-j8r3W.js +1 -0
- package/dist/{runner-DG9jrX5H.js → runner-DK0jnzPr.js} +1 -1
- package/dist/runner.json +1 -1
- package/dist/runner.tgz +0 -0
- package/dist/schema.js +1 -1
- package/dist/sdk.d.ts +49 -45
- package/dist/sdk.js +1 -1
- package/dist/serve-Cqlkgdfd.js +8 -0
- package/dist/{serve-B-5rDiZm.js → serve-DHe6dZM6.js} +1 -1
- package/dist/{session-Dtje9y-r.js → session-BMbMzzPu.js} +1 -1
- package/dist/{sessions-DIz9fyRN.js → sessions-BGUfSe8L.js} +1 -1
- package/dist/{shared--aE4olIO.js → shared-D-KqAi7b.js} +1 -1
- package/dist/{sign-in-wWkyaq5X.js → sign-in-Dv-rdYD4.js} +2 -2
- package/dist/{state-Br-Fuaxg.js → state-CxAUec80.js} +1 -1
- package/dist/store-BpDipcKB.js +349 -0
- package/dist/{task-CFt85vTy.js → task-BRHXn5y1.js} +1 -1
- package/dist/task-CzXNLREX.js +7 -0
- package/dist/{tool-search-BkdgVolu.js → tool-search-C9Ty3hhL.js} +1 -1
- package/dist/{tools-oQvFAnh5.js → tools-BCm26CeV.js} +1 -1
- package/dist/{tools-DNgEptor.js → tools-C69W1B6S.js} +1 -1
- package/dist/{tools-search-D1zArRyJ.js → tools-search-BDaeCoWe.js} +1 -1
- package/dist/{turn-Cc-v-eSy.js → turn-eI4iRPsq.js} +1 -1
- package/dist/{update-check-UyRob3yy.js → update-check-Bap3dwaj.js} +1 -1
- package/dist/{views-3TxH367C.js → views-Bxm_5J6T.js} +1 -1
- package/dist/worker-DGhRPDDt.js +7 -0
- package/dist/{worker-BMuKKiIa.js → worker-DHNBRRl-.js} +1 -1
- package/docs/agents/coder.md +1 -1
- package/docs/cli/index.md +5 -3
- package/docs/connections.md +1 -1
- package/docs/flows.md +1 -1
- package/docs/review.md +36 -8
- package/docs/self-host.md +2 -1
- package/package.json +1 -1
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/dist/apps-B6mUToTa.js +0 -18
- package/dist/async-CNhQ4wyZ.js +0 -3
- package/dist/dash/standalone/static/assets/chunks/agent-settings-form-a8ee12513a02b1c5.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/composer-4a46a458495ce3ba.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/composer-92553de43276510b.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/create-link-b2480a7601967e94.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/instructions-734d21dfb8f6393e.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/model-options-d29e934a3de20ab4.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-dialog-77e13c848000a3dc.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-toast-9d5e9713c23882f5.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/platform-actions-832904f5694ef902.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/platform-step-29469fd4eaddc42a.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-926144b364908b3c.js +0 -9
- package/dist/dash/standalone/static/assets/chunks/shared-init-9b28886f3cbe0ed3-2.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/side-toggle-8c21d39a1e284887.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/task-view-c6ee43d2ddb6db90.js +0 -3
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-25ae07e0b3f5b252.css +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-095026242a079175.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-1dfeb8c3ef155f87.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-2358423351524403.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-28a6557216627768.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-31a4ee73945fee19.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-3dfdc76bb8712b82.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-4355ac87961d78c1.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-43c7a0046572e0c9.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-53dc7db68d67e0b1.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-5835cb35488bdf7f.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-638b390bc23ab1ae.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-67f832c6c51a66cd.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-6fc99f0abe77c2ea.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-7d99965f28ac7604.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-8250bd3b86d038a3.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-bfd06805a43c6dee.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-ce2943f17e9d9ac3.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-ed31510d4615a5a5.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-f0496bf51e161ddd.js +0 -1
- package/dist/env-_AxrvBXP.js +0 -1
- package/dist/integrations-BVmsk64f.js +0 -9
- package/dist/maintenance-d43Ml540.js +0 -1
- package/dist/remote-BbXx6S9P.js +0 -1
- package/dist/serve-CvnrGAj7.js +0 -12
- package/dist/store-CzQLgCzt.js +0 -352
- package/dist/task-N0qhnKpK.js +0 -7
- package/dist/worker-CIHY9L42.js +0 -7
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{types.5bf5a41cedb54154.js → types.9d22123d6296f5af.js} +0 -0
- /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 +1 @@
|
|
|
1
|
-
import{Ea as e}from"./args-CJsHYWbt.js";import{K as t,_ as n,ht as r,p as i}from"./drizzle-orm-CYU7WOQS.js";import{agentVersion as a,integrationApp as o,integrationAppInstallation as s,s as c,secret as l}from"./schema.js";import{
|
|
1
|
+
import{Ea as e}from"./args-CJsHYWbt.js";import{K as t,_ as n,ht as r,p as i}from"./drizzle-orm-CYU7WOQS.js";import{agentVersion as a,integrationApp as o,integrationAppInstallation as s,s as c,secret as l}from"./schema.js";import{vt as u}from"./apps-CCqOsEZH.js";import{t as d}from"./client-nBo9Mhsr.js";var f=e({UNSCOPED_ORGANIZATION:()=>``,addSecret:()=>j,agentValue:()=>C,app:()=>h,date:()=>v,defined:()=>b,dropSecrets:()=>N,escapeLike:()=>y,fromJson:()=>D,install:()=>g,ms:()=>_,opaque:()=>k,rows:()=>R,sealedParts:()=>A,setSecret:()=>M,splitKey:()=>m,stateKey:()=>L,statePrefix:()=>I,taskRecord:()=>O,usageRecord:()=>F,versionColumns:()=>T,versionSummary:()=>E,versionValue:()=>w,withSecret:()=>P});const p=``;function m(e){let t=e.lastIndexOf(`:`),n=e.slice(t+1);return t>0&&/^\d+$/.test(n)?[e.slice(0,t),Number(n)]:void 0}const h=o,g=s,_=e=>e.getTime(),v=e=>new Date(e),y=e=>e.replace(/[\\%_]/g,`\\$&`),b=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>e!=null)),x=e=>e?_(e):void 0,S=(e,t)=>{let n=/^repo:([^@]+)@(.+)$/.exec(e);return n&&t?{repo:n[1],ref:n[2],commit:t}:void 0},C=e=>b({id:e.slug,name:e.name,description:e.description,problems:e.problems,source:e.source,repo:e.repo,path:e.path,currentVersion:e.currentVersion,settings:e.engineSettings,createdAt:_(e.createdAt),updatedAt:_(e.updatedAt)}),w=(e,t)=>b({agent:t,version:e.version,definition:e.definition,systemPrompt:e.systemPrompt,files:e.files,commit:e.commit,source:S(e.importedFrom,e.commit),importedFrom:e.importedFrom,createdAt:_(e.createdAt)}),T={id:a.id,agentId:a.agentId,version:a.version,definition:a.definition,commit:a.commit,importedFrom:a.importedFrom,createdAt:a.createdAt},E=(e,t)=>{let{systemPrompt:n,files:r,...i}=w({...e,systemPrompt:``,files:null},t);return i};function D(e,n){let r=new c(d);return Object.fromEntries(Object.entries(t(e)).map(([e,t])=>{let i=n[r.getColumnCasing(t)];return[e,i==null?null:t.mapFromDriverValue(i)]}))}function O(e){return b({task:b({id:e.publicId,source:e.source,agent:e.agent,flow:e.flow,runner:e.runnerKind,access:e.access,event:e.event,name:e.name,cwd:e.cwd,prompt:e.prompt,args:e.args,mcp:e.mcp,appendSystem:e.appendSystem,addDirs:e.addDirs,connections:e.connections,author:e.author,definition:e.definition,models:e.models,requestedBy:e.requestedBy,audience:e.audience,space:e.space,parent:e.parent,runnerId:e.runnerId,usage:e.engineSettings,tools:e.tools,context:e.context,files:e.files,failureReply:e.failureReply,notice:e.notice,taskUrl:e.taskUrl,settingsUrl:e.settingsUrl}),status:e.status,attempts:e.attempts,generation:e.generation,inboxSeq:e.inboxSeq,inboxAck:e.inboxAck<0?void 0:{generation:e.generation,seq:e.inboxAck},result:e.result,error:e.error,fallbacks:e.fallbacks,tokens:e.tokens,handle:e.handle,tokenHash:e.tokenHash,lastSeenAt:x(e.lastSeenAt),logCursor:e.logCursor??void 0,logSeq:e.logSeq??void 0,logBytes:e.logBytes??void 0,logsComplete:e.logsComplete,typingEnded:e.typingEnded,archivedAt:x(e.archivedAt),approval:e.approval,answer:Array.isArray(e.answer)?e.answer:void 0,createdAt:_(e.createdAt),startedAt:x(e.startedAt),finishedAt:x(e.finishedAt),cancelRequestedAt:x(e.cancelRequestedAt),updatedAt:_(e.updatedAt)})}function k(e){return e.iv===`plain`?`plain.${e.ciphertext}`:`${e.iv}.${e.tag}.${e.ciphertext}`}function A(e){if(e.startsWith(`plain.`))return{iv:`plain`,tag:``,ciphertext:e.slice(6)};let[t,n,r]=e.split(`.`);if(!t||!n||!r)throw Error(`Invalid encrypted secret`);return{iv:t,tag:n,ciphertext:r}}async function j(e,t){let[n]=await e.insert(l).values({value:t}).returning({id:l.id});return n.id}async function M(e,t,n){await e.update(l).set({value:n}).where(i(l.id,t))}async function N(e,t){let i=t.filter(e=>typeof e==`number`);i.length&&await e.delete(l).where(r`${n(l.id,i)} and not exists (select 1 from ${o} where ${o.credentialsSecretId} = ${l.id})`)}const P=(e,t)=>r`${e} || jsonb_strip_nulls(jsonb_build_object('secret', ${t}))`;function F(e,t){if(!(e.runnerMs===null||!e.finishedAt))return b({installationId:t,taskId:e.publicId,agent:e.agent,target:u({event:e.event??void 0,source:e.source}),engine:e.engine,model:e.model,credential:e.credential??`unknown`,runnerElapsedMs:e.runnerMs,tokens:e.usageTokens,at:_(e.finishedAt)})}const I=(e,t)=>`o:${JSON.stringify([e,t])}:`,L=(e,t,n)=>I(e,t)+n;async function R(e,t){let n=await e.execute(t);return Array.isArray(n)?n:n.rows}export{E as C,T as S,P as T,m as _,v as a,O as b,y as c,_ as d,k as f,f as g,M as h,h as i,D as l,A as m,j as n,b as o,R as p,C as r,N as s,p as t,g as u,L as v,w,F as x,I as y};
|
|
@@ -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-
|
|
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-Cl-j8r3W.js";import{l as i,o as a}from"./session-BMbMzzPu.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=
|
|
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(`
|