@wular/coder 0.4.6 → 0.4.7

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 (382) hide show
  1. package/dist/{add-KkLx1WbE.js → add-8Z5bNm74.js} +1 -1
  2. package/dist/{add-BIp1t_pT.js → add-B3zygDO5.js} +1 -1
  3. package/dist/{add-DrbKvzAF.js → add-DiwLZmjp.js} +1 -1
  4. package/dist/{add-CKENklTr.js → add-DpsjB8Mp.js} +1 -1
  5. package/dist/{add-json-GHTfZV_U.js → add-json-wOUPHwUD.js} +1 -1
  6. package/dist/{agent-CR8UFMa-.js → agent-B69nSuTY.js} +1 -1
  7. package/dist/{alias--pfI-nvH.js → alias-CZjD1F0F.js} +1 -1
  8. package/dist/{app-C7sw1ZkI.js → app-CE5j7IDN.js} +1 -1
  9. package/dist/{approvals-9-G-QxOy.js → approvals-Gv7x14u3.js} +1 -1
  10. package/dist/{approve-CAk8qPqG.js → approve-D5Dkw1Lo.js} +1 -1
  11. package/dist/{archive-fs5RjYHc.js → archive-Br2eM_A2.js} +1 -1
  12. package/dist/{archive-Ylxh0HIl.js → archive-RBPoB4cr.js} +1 -1
  13. package/dist/{archive-sweep-BrqWj4kr.js → archive-sweep-jE6TPk2F.js} +1 -1
  14. package/dist/{ask-Dmk0HGtI.js → ask-zjX8kQz0.js} +1 -1
  15. package/dist/{auth-CS0cH0gq.js → auth-DSE3SIuI.js} +1 -1
  16. package/dist/auth-DsxfkPsx.js +1 -0
  17. package/dist/{cli-IfrPgeYz.js → cli-DtTdpTy3.js} +1 -1
  18. package/dist/cli.d.ts +1 -1
  19. package/dist/cli.js +1 -1
  20. package/dist/{config-Duf8jCkd.js → config-BAkyRxp-.js} +1 -1
  21. package/dist/{create-Ik613gJw.js → create-BF6VHUst.js} +1 -1
  22. package/dist/credentials-6PHXj8k7.js +1 -0
  23. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{boot-bhemypxz.js → boot-8aj7efqk.js} +8 -8
  24. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{build-tier-0a96kmx3.js → build-tier-qrkpfsk1.js} +17 -17
  25. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{config-0tvz03a6.js → config-7h84p6q8.js} +3 -3
  26. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{generate-myw9hef7.js → generate-d8vb1d21.js} +3 -3
  27. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-kdhxpwyq.js → index-0qt2vapb.js} +3 -3
  28. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-b7j671dj.js → index-0wm2p3ks.js} +1 -1
  29. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-n629dy38.js → index-1y0cesgn.js} +4 -4
  30. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-gkndxkxf.js → index-26gwrm07.js} +2 -2
  31. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-jn9rbhrx.js → index-3r6qpe8a.js} +4 -4
  32. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-yrjkqtfj.js → index-42fef2rv.js} +2 -2
  33. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-11xpbfej.js → index-47gx7trn.js} +1 -1
  34. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-4da76t62.js → index-4qsce64w.js} +1 -1
  35. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-9hz3s0m8.js → index-6tb725m8.js} +1 -1
  36. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-0yjv5v47.js → index-912z4mfx.js} +3 -3
  37. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-8ct7rqy3.js → index-aarf1brn.js} +1 -1
  38. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-nf3df4jy.js → index-cqcwwxfp.js} +3 -3
  39. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-he6n2bvp.js → index-e176wk6x.js} +1 -1
  40. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-hdbwtdv2.js → index-fpghsgb4.js} +1 -1
  41. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-rgj5mx84.js → index-jexsy9a8.js} +1 -1
  42. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-29pq0kax.js → index-jjppzw0s.js} +2 -2
  43. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-dgr390q7.js → index-kpdph69z.js} +23 -23
  44. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-gcmj16xy.js → index-md5jchzy.js} +1 -1
  45. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-3e075kny.js → index-n814hcky.js} +1 -1
  46. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-j681c48a.js → index-qjrh7w2g.js} +1 -1
  47. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-qcrvt6er.js → index-s61bx2aj.js} +2 -2
  48. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-cn86z041.js → index-veycp46e.js} +1 -1
  49. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-3ycf5ckv.js → index-vqs3rebe.js} +3 -3
  50. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-d158y67j.js → index-xrsg0041.js} +3 -3
  51. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-xh1nbk46.js → index-xs3411qh.js} +7 -7
  52. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-cvr4z22m.js → index-y9bygr95.js} +1 -1
  53. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-x2m17v9c.js → index-yghskk8w.js} +9 -9
  54. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-tq3b39a5.js → index-yzcpr3yw.js} +4 -4
  55. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-71885zaq.js → index-zedjt25v.js} +4 -4
  56. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{pipeline-4t9q43ht.js → pipeline-yjdnwbhm.js} +11 -11
  57. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{proxy-config-60gprphe.js → proxy-config-9r9e0jvn.js} +5 -5
  58. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{proxy-gfhmktbk.js → proxy-pnevsbfd.js} +7 -7
  59. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{router-xnrva921.js → router-rzge0vz8.js} +4 -4
  60. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{routes-ht868pdc.js → routes-0x8wjvcj.js} +7 -7
  61. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{tsconfig-defaults-bcn34eqb.js → tsconfig-defaults-qe9wd6ne.js} +3 -3
  62. package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/cli/start.js +5 -5
  63. package/dist/dash/standalone/node_modules/@wular/pnext/package.json +1 -1
  64. package/dist/dash/standalone/server/build-index.json +1 -1
  65. package/dist/dash/standalone/server/manifest.json +860 -860
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.2feb1c162fab6033.js → index.b7c6e5f49704993d.js} +1 -1
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.bdbf17006af803d1.js → load.35be1b07171553e7.js} +2 -2
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/{page.0a054a6c9dda53b3.js → page.72b248cd95237fb6.js} +4 -4
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/{loading.02d57ab48022f8d8.js → loading.fce966caba9308e4.js} +2 -2
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/{notify.b7451fdf9c3bb62a.js → notify.fc4ba1b51ee26296.js} +1 -1
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/{page.f9ab6ed02876880e.js → page.6c8e958aeab2678e.js} +10 -10
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/{sign-out.3368aed882d8f1ac.js → sign-out.5d3bca9efecd6f70.js} +3 -3
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{agent-menu.e4b6d486442476b5.js → agent-menu.6d3339a02f02460d.js} +2 -2
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{agents-grid.0dbc57156286a18e.js → agents-grid.0813591f217e9dbb.js} +9 -9
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{connect-apps.3a5673bcd9aa57d9.js → connect-apps.8d218b96f9939819.js} +5 -5
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{loading.8df9f4459410cfaa.js → loading.02dd47fe59680cc8.js} +5 -5
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{page.8f85fbaff456c5fe.js → page.e0ad2df8b7c9a0af.js} +11 -11
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/{layout.d3aec63db0f5230d.js → layout.f2464375e393c96e.js} +13 -13
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/{loading.d53d174ffe56aab3.js → loading.b27b95d8ccf0581e.js} +1 -1
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/{page.7fd1bfcf08e25919.js → page.1ba2497fa9116713.js} +13 -13
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/{loading.849dc6e6050a7e21.js → loading.572d3404b984b163.js} +1 -1
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/{page.31687af871d75d39.js → page.9b30598fa84dd0df.js} +15 -15
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/{platform-actions.754eff65aec1ab59.js → platform-actions.bc640252ecf046c6.js} +6 -6
  84. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/{agent-settings-form.861ed9832cbe89c1.js → agent-settings-form.d3e6dc6bcfcfc928.js} +8 -8
  85. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/{loading.2ec7a3b893925df0.js → loading.a55efbdbdd995213.js} +1 -1
  86. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/{page.1ed5379637860fab.js → page.44eabcf6cf9fbfbd.js} +7 -7
  87. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/{loading.20a52282c5806719.js → loading.f5c0c1c727da9f57.js} +1 -1
  88. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/{page.4fd369ba79ed9943.js → page.9324e2d909d55c6f.js} +1 -1
  89. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/{loading.43b58c5eef3d4253.js → loading.5e1f922969ab7016.js} +6 -6
  90. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/{page.78bf188a8077c64e.js → page.30a31e2464417a08.js} +12 -12
  91. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/{versions-list.0c6811b66b2fcc49.js → versions-list.e2427d618decaf7a.js} +6 -6
  92. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/edit/{loading.a18042397ffeaf55.js → loading.21eb60e655c125c7.js} +5 -5
  93. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/edit/{page.1798dbd9cd334e8f.js → page.057807354396ea77.js} +10 -10
  94. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/{agent-pills.c5710a4f634f9d6a.js → agent-pills.6a0eea1ec99dffd7.js} +4 -4
  95. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/{hero.e5c5af2f9fab6a63.js → hero.9af8c50df6487ca5.js} +5 -5
  96. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/{instructions.403838f7cb218391.js → instructions.2f4229d42e7c99ef.js} +2 -2
  97. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/{connect-repositories.6c7088fd2fcd54f4.js → connect-repositories.329ac182c8242a67.js} +1 -1
  98. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/{editor.4b164e6eb19daa2f.js → editor.d28d4afe11d7ff71.js} +19 -19
  99. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/{import-picker.4bff9b5642aeab17.js → import-picker.5e76549e7934b718.js} +10 -10
  100. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/new/{loading.72e1b274c475e39a.js → loading.02e30b3a7f1ab9f1.js} +3 -3
  101. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/new/{page.44f60b1a32344f70.js → page.c3396459a9ba5c13.js} +8 -8
  102. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{layout.96376d18592adfa9.js → layout.53a8a3b0e4a7917f.js} +14 -14
  103. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{page.669f5926ae12d101.js → page.a4be8e0779589f4e.js} +2 -2
  104. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{credentials-list.3fbc413d972a0447.js → credentials-list.c25242f7f4ef6399.js} +13 -13
  105. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{credentials.6423846391b20446.js → credentials.a62d1642ca580836.js} +7 -7
  106. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{engines-list.5bad79f0d4e12e07.js → engines-list.6c02a7e6d3c965cc.js} +6 -6
  107. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{list.2cafbe93b7b2dc0f.js → list.db2e212e3c8b5d32.js} +9 -9
  108. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{loading.1a810cc50ea61706.js → loading.f4024074bf71b11b.js} +1 -1
  109. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{mcp-list.1fc0f6165dd85b8c.js → mcp-list.0ce34ed7d7e756a7.js} +9 -9
  110. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{models-list.520cb30b291794c3.js → models-list.052f3ccc66833937.js} +10 -10
  111. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{page.04b07f9c365be073.js → page.3458e42728e30f54.js} +20 -20
  112. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{runners-list.67786d7d51692d19.js → runners-list.b5296983ba8007aa.js} +12 -12
  113. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/{layout.a619ac4fe999d1b5.js → layout.85946d20d7e48767.js} +4 -4
  114. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/{settings-head.d726e31e4dd04d60.js → settings-head.d0f5ac9cbf170a77.js} +1 -1
  115. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/{tunnel-guide.22448081e9e042d6.js → tunnel-guide.f6685b045ccccdcd.js} +1 -1
  116. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/{activity.b23683e6be363068.js → activity.4aeb0734da711e10.js} +3 -3
  117. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/{loading.a8f2aa099bd76606.js → loading.d88d1139ea3ff52a.js} +4 -4
  118. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/{page.d1ded90712ca586f.js → page.e5b562dd47e19043.js} +7 -7
  119. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/{task-actions.f2be118dd5a02896.js → task-actions.ee523c68a38a7975.js} +9 -9
  120. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/{task-view.97433b52e6f7175c.js → task-view.1c54f267d127f4e3.js} +21 -21
  121. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/{composer-data.e2d442d6ecbaa6d3.js → composer-data.5f12d8ef1db38026.js} +2 -2
  122. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/{composer.78b7d3000d615c7c.js → composer.f232cc1bf2d7b08a.js} +15 -15
  123. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/{status.d78e769ff1411932.js → status.b90b76ffa62e957a.js} +1 -1
  124. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/{task.674ebeabafa0a7e1.js → task.465c2af602cce783.js} +1 -1
  125. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/{tasks-list.9698bdff71c3b3c7.js → tasks-list.2a0e1eb5c396be42.js} +26 -26
  126. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/{tasks-section.c77194f05c3f58fb.js → tasks-section.2cbc1550d723661d.js} +9 -9
  127. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/{page.157ac3a0938206b0.js → page.107706655a927e59.js} +5 -5
  128. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{custom-range.9343f6115e244cb4.js → custom-range.d85de32fb6ec4fe6.js} +3 -3
  129. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{day-chart.c7f6c8981a7acb15.js → day-chart.5e716070459d785c.js} +3 -3
  130. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/loading.8aabf89dabaf1c3f.js +15 -0
  131. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{metric.5481ab0e025e218e.js → metric.ca0466e33225f184.js} +1 -1
  132. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{page.4159d729e8aa0439.js → page.c2b88b495780b12a.js} +15 -15
  133. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{range-bar.8c9b18116c8eb5f0.js → range-bar.76e3de97583e6eab.js} +8 -8
  134. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{stats.7b8db8c56920b311.js → stats.4793e81a32ea5e8f.js} +1 -1
  135. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{top-agents.8af5d53eb64bae9c.js → top-agents.b228062d012dc17b.js} +6 -6
  136. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.77960a272f19bf24.js → layout.c762b39aafb84a1f.js} +3 -3
  137. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.33464bce52044759.js → page.3ddaa1a675a04c5a.js} +5 -5
  138. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{auth-panel.3e020d19aa5ab464.js → auth-panel.5712a8d190b003b4.js} +2 -2
  139. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.cf0eb4936a2c7222.js → drawer.b337ce209ff621e9.js} +3 -3
  140. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.9648c7782502babc.js → loading-card.bf58af8330a78704.js} +4 -4
  141. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.857951b5dc1ad827.js → page-head.a2336c95004aed4b.js} +5 -5
  142. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.4c04416dab6ffc52.js → stream.77a2ec038d97b2b8.js} +3 -3
  143. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.b14bb1f66ed75e75.js → task-toasts.10b46a8b8db1791f.js} +4 -4
  144. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.60d3a5adbd49989f.js → theme-choices.ea23f57dd753683f.js} +2 -2
  145. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{current-link.87758179b507850c.js → current-link.844899810531977f.js} +1 -1
  146. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{side-toggle.581456c353d76d67.js → side-toggle.55d3e6c43ca5e1f9.js} +2 -2
  147. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{badge.e52db98d78836f9a.js → badge.5abdef72e9189fdc.js} +1 -1
  148. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.e6876039e375b849.js → card.b0873d38765c9d20.js} +1 -1
  149. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.730d674a8f7eeeae.js → collapse.dab7f208cbbe6a33.js} +1 -1
  150. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.d478120a76502dd1.js → combo.ca0efacf2ce15578.js} +2 -2
  151. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.cd23ea20bdf120d2.js → confirm.1328a7ede6c27bb9.js} +1 -1
  152. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{field.37f93068217e1470.js → field.7b2a2075ee8c6e29.js} +1 -1
  153. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.3e8df59ca8abf397.js → filter.f19b6d5ebd6a3c2b.js} +5 -5
  154. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icon.93605083edf7efe3.js → icon.0874ca2f58f7db14.js} +1 -1
  155. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.3b3026ecd4dc31f0.js → menu.a4dd9fb9f566689a.js} +3 -3
  156. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{segmented.620f07f6b949d7f1.js → segmented.5ac52bb38fb64ae5.js} +1 -1
  157. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.14e820c8a26ab8b5.js → select.f036fdc3fce02b92.js} +3 -3
  158. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{sentinel.50afec82b0fd53a1.js → sentinel.d3d29747fe976f88.js} +1 -1
  159. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tabs.051c87be5bbb7f2b.js → tabs.d00fc01ad9c1b91e.js} +2 -2
  160. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.2d57d68076cef3e1.js → tail.9377d261fe9e91df.js} +2 -2
  161. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.32503820243ede06.js → toolbar.b2c59c5fc015d08d.js} +5 -5
  162. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.f37a313f4811ddb8.js → client.a8205c524e63d4a9.js} +1 -1
  163. package/dist/dash/standalone/static/assets/chunks/{agent-pills-65087e563e7f928c.js → agent-pills-c5d56f60f9e17aea.js} +1 -1
  164. package/dist/dash/standalone/static/assets/chunks/{agent-settings-form-51f5d16c5b35b0c4.js → agent-settings-form-738f9ac4b9fb67ef.js} +1 -1
  165. package/dist/dash/standalone/static/assets/chunks/{agents-grid-8d8fb47aa05c1022.js → agents-grid-37e2e7f7a37b7a35.js} +1 -1
  166. package/dist/dash/standalone/static/assets/chunks/{badge-b8e1e1429e8418e8.js → badge-9984d2fd0e7f995d.js} +1 -1
  167. package/dist/dash/standalone/static/assets/chunks/{card-abb16544e8e5a5e0.js → card-818c7a0d580e2e0d.js} +1 -1
  168. package/dist/dash/standalone/static/assets/chunks/{combo-0feaff3c2ab55606.js → combo-8aa7545cfda42090.js} +1 -1
  169. package/dist/dash/standalone/static/assets/chunks/{composer-08a1aad17120af8a.js → composer-a969037cf22215c7.js} +1 -1
  170. package/dist/dash/standalone/static/assets/chunks/composer-f433a2e64648633a.js +1 -0
  171. package/dist/dash/standalone/static/assets/chunks/{confirm-d804955ec454f00f.js → confirm-be929e2de15876a6.js} +1 -1
  172. package/dist/dash/standalone/static/assets/chunks/{connect-apps-c4b8fc9d3a25e545.js → connect-apps-97c10fa6e35ccae6.js} +1 -1
  173. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-2cf520006ed18949.js → connect-repositories-8864a63f83ffd411.js} +1 -1
  174. package/dist/dash/standalone/static/assets/chunks/{credentials-list-a1b81c1b630a8415.js → credentials-list-08cd5dfe29f42bf2.js} +2 -2
  175. package/dist/dash/standalone/static/assets/chunks/{custom-range-79011164d1e2529c.js → custom-range-63f577240e5d5d85.js} +1 -1
  176. package/dist/dash/standalone/static/assets/chunks/{editor-b86137d54feb4ba1.js → editor-9752c8ab26ebd328.js} +2 -2
  177. package/dist/dash/standalone/static/assets/chunks/{engines-list-0cf0dd6427e45add.js → engines-list-dab79c4e3e22eefe.js} +1 -1
  178. package/dist/dash/standalone/static/assets/chunks/{field-329f272ef3edae30.js → field-43fea54c1c287e30.js} +1 -1
  179. package/dist/dash/standalone/static/assets/chunks/{filter-673d0e6dbc95293c.js → filter-02bba5796258deb0.js} +1 -1
  180. package/dist/dash/standalone/static/assets/chunks/{heads-bdb3900291e3ba2c.js → heads-8f40675f508ebe33.js} +1 -1
  181. package/dist/dash/standalone/static/assets/chunks/{instructions-7f289881a4d96d85.js → instructions-0b968d5d0a58c716.js} +1 -1
  182. package/dist/dash/standalone/static/assets/chunks/instructions-f3ecfb5c50f270c2.js +1 -0
  183. package/dist/dash/standalone/static/assets/chunks/{list-074a086ab5e19d77.js → list-591905f0aaa57629.js} +1 -1
  184. package/dist/dash/standalone/static/assets/chunks/{mcp-list-c97f883efa3f7d03.js → mcp-list-bae4d2186f67849e.js} +1 -1
  185. package/dist/dash/standalone/static/assets/chunks/{models-list-3f869a70740e4244.js → models-list-c758db0c40f5173f.js} +1 -1
  186. package/dist/dash/standalone/static/assets/chunks/{platform-actions-b317343915219089.js → platform-actions-4454493d02a1c172.js} +1 -1
  187. package/dist/dash/standalone/static/assets/chunks/{runners-list-33a7339bd7cb3e18.js → runners-list-9d27c76eed33cb05.js} +1 -1
  188. package/dist/dash/standalone/static/assets/chunks/{segmented-c9d58f98a7d32b4d.js → segmented-bf5a4c06605249e0.js} +1 -1
  189. package/dist/dash/standalone/static/assets/chunks/{select-f4ea2f12a2298e4a.js → select-adccc9ac86ac833f.js} +1 -1
  190. package/dist/dash/standalone/static/assets/chunks/{sentinel-9e882d8ad784d4bd.js → sentinel-b4c91a38a5d79219.js} +1 -1
  191. package/dist/dash/standalone/static/assets/chunks/shared-init-17c1fd399ac53851.js +5 -0
  192. package/dist/dash/standalone/static/assets/chunks/shared-init-3a95c0e0cc27e0cb.js +2 -0
  193. package/dist/dash/standalone/static/assets/chunks/{tail-5a5f739bca637202.js → tail-74153aeac1f0baec.js} +1 -1
  194. package/dist/dash/standalone/static/assets/chunks/{task-actions-37ed047ca8c5b129.js → task-actions-189775b88ef7ada4.js} +1 -1
  195. package/dist/dash/standalone/static/assets/chunks/{task-view-efe402c64d6a3c9b.js → task-view-0b3d7ea9cc41888b.js} +4 -4
  196. package/dist/dash/standalone/static/assets/chunks/{tasks-list-eae2a32d61b437c5.js → tasks-list-1b0195e3fd68714f.js} +1 -1
  197. package/dist/dash/standalone/static/assets/chunks/{toolbar-7aee851cfcc688cc.js → toolbar-035d33d1e7ad11bf.js} +1 -1
  198. package/dist/dash/standalone/static/assets/chunks/{versions-list-836e397952b5d251.js → versions-list-875a9a0ebb3f7d08.js} +1 -1
  199. package/dist/dash/standalone/static/assets/pnext-client-105d2264e4064f32.js +1 -0
  200. package/dist/dash/standalone/static/assets/pnext-client-140064bc22718639.js +1 -0
  201. package/dist/dash/standalone/static/assets/pnext-client-2825c0ea7bfa1240.js +1 -0
  202. package/dist/dash/standalone/static/assets/pnext-client-39ac7ac446e20cfb.js +1 -0
  203. package/dist/dash/standalone/static/assets/pnext-client-43cbb846cb4c167f.js +1 -0
  204. package/dist/dash/standalone/static/assets/pnext-client-7d88eb36e6e3c301.js +1 -0
  205. package/dist/dash/standalone/static/assets/pnext-client-9172198a969bd1e1.js +1 -0
  206. package/dist/dash/standalone/static/assets/pnext-client-9c9c88e5c2fe31bc.js +1 -0
  207. package/dist/dash/standalone/static/assets/pnext-client-a629391487c4b8e3.js +1 -0
  208. package/dist/dash/standalone/static/assets/pnext-client-aace561f07b06542.js +1 -0
  209. package/dist/dash/standalone/static/assets/pnext-client-b7d6355b1323fff1.js +1 -0
  210. package/dist/dash/standalone/static/assets/pnext-client-c4be2f807668e35c.js +1 -0
  211. package/dist/dash/standalone/static/assets/{pnext-client-802be87d22e144c4.js → pnext-client-ce83b85e9562a049.js} +1 -1
  212. package/dist/dash/standalone/static/assets/pnext-client-dd2046446844a78b.js +1 -0
  213. package/dist/dash/standalone/static/assets/pnext-client-e62f31aae8ce2c3b.js +1 -0
  214. package/dist/dash/standalone/static/assets/{pnext-client-11f56cbcfd2a3fca.js → pnext-client-ffab25199333314f.js} +1 -1
  215. package/dist/{default-zMKQ15xH.js → default-B3ValFJp.js} +1 -1
  216. package/dist/{default-BfXXngYf.js → default-DgP-hBmn.js} +1 -1
  217. package/dist/{delete-BbsEN7tF.js → delete-6T7ujDtY.js} +1 -1
  218. package/dist/{delete-CZuI4sJi.js → delete-k7pxp5B6.js} +1 -1
  219. package/dist/{disable-B860lJDh.js → disable-BJXxuJ9s.js} +1 -1
  220. package/dist/{discover-tM_915iZ.js → discover-CRUU1hdS.js} +1 -1
  221. package/dist/{docs-BdmVTydv.js → docs-PmFB2aMA.js} +1 -1
  222. package/dist/{enable-DD4OsTnA.js → enable-DZ7rw7iL.js} +1 -1
  223. package/dist/flow/index.d.ts +1 -1
  224. package/dist/{flow-DwhBWoSx.js → flow-D8T71fyu.js} +1 -1
  225. package/dist/{index-JcLiq1ac.d.ts → index-Xe8n_t2Z.d.ts} +1 -1
  226. package/dist/{init-Bo3RS_va.js → init-BfXdsU46.js} +1 -1
  227. package/dist/integrations-DNz6PHFV.js +1 -0
  228. package/dist/{list-DYzczkQZ.js → list-CJhHYVb2.js} +1 -1
  229. package/dist/{list-Bu1S3hPM.js → list-CO8x2rgz.js} +1 -1
  230. package/dist/{list-Motuarjd.js → list-Cr4c8mT6.js} +1 -1
  231. package/dist/{list-CLVoliXi.js → list-DedQA2pn.js} +1 -1
  232. package/dist/{list-DhJOorrE.js → list-F-PN6ieH.js} +1 -1
  233. package/dist/{list-DaQ14K1K.js → list-NtMN55g0.js} +1 -1
  234. package/dist/{list-P1Zi9bhT.js → list-erdHI-w9.js} +1 -1
  235. package/dist/{list-DWeYdLMU.js → list-yoGxyIlx.js} +1 -1
  236. package/dist/{login-C-VTh_6i.js → login-CJjcqCg4.js} +1 -1
  237. package/dist/{login-KHrM3MI3.js → login-p2VknR9f.js} +1 -1
  238. package/dist/{logout-CqUKg0lc.js → logout-B7mHWeWr.js} +1 -1
  239. package/dist/{maintenance-CVfHIraw.js → maintenance-C02_cNLp.js} +1 -1
  240. package/dist/{mcp-DCydEehH.js → mcp--MIvjMWZ.js} +1 -1
  241. package/dist/{migrate-DPprwsbm.js → migrate-CSwkAInI.js} +1 -1
  242. package/dist/migrate-rwTojdkz.js +1 -0
  243. package/dist/{model-_e9f9Oth.js → model-Cti-OOdV.js} +1 -1
  244. package/dist/{push-HLTHyhsP.js → push-D3vxfhc_.js} +1 -1
  245. package/dist/refresh-BFuahSFK.js +1 -0
  246. package/dist/{remove-CC7UyWNI.js → remove-7y1b_gHT.js} +1 -1
  247. package/dist/{remove-B6PskfkD.js → remove-BRj1kPYm.js} +1 -1
  248. package/dist/{remove-CWd4Qs4F.js → remove-C57QDigT.js} +1 -1
  249. package/dist/{remove-CZmO4BSd.js → remove-UVD3W2OE.js} +1 -1
  250. package/dist/{rename-ODyRelrw.js → rename-CCv5pca3.js} +1 -1
  251. package/dist/{result-CRIAetqH.js → result-BWrYnt0u.js} +1 -1
  252. package/dist/{result-DtXZusqj.js → result-DtVw6XYk.js} +1 -1
  253. package/dist/{resume-CI-swBxa.js → resume-D7XcEIbu.js} +1 -1
  254. package/dist/{review-IRsckIiU.js → review-DZGyNO5h.js} +1 -1
  255. package/dist/{rotate-key-CmvHXXnp.js → rotate-key-pIfcaeCd.js} +1 -1
  256. package/dist/{run-Dd9HdNSL.js → run-B-2NnW4r.js} +1 -1
  257. package/dist/{run-IWXjB5OD.js → run-BlXCPJzq.js} +1 -1
  258. package/dist/{run-FYA9XIij.js → run-Co36tfya.js} +1 -1
  259. package/dist/runner-DRgQvMiZ.js +1 -0
  260. package/dist/sdk.d.ts +2 -2
  261. package/dist/sdk.js +1 -1
  262. package/dist/serve-CcqX_2qk.js +8 -0
  263. package/dist/{serve-t38OrDrk.js → serve-Ci0AFWtY.js} +2 -2
  264. package/dist/{serve-CML2mkKG.js → serve-DeX0lpXj.js} +1 -1
  265. package/dist/{serve-CY46ohfr.js → serve-SWjydoBC.js} +1 -1
  266. package/dist/{server-83YZ2Kkh.js → server-CWbtW4W_.js} +1 -1
  267. package/dist/{setup-host-DRuUX8zg.js → setup-host-ON6zJGqS.js} +1 -1
  268. package/dist/{show-aCUICSoc.js → show-U0XPh927.js} +1 -1
  269. package/dist/{show-DlKWR0Hy.js → show-jdaVKG0f.js} +1 -1
  270. package/dist/{status-C09SKASS.js → status-BO1jm6NW.js} +1 -1
  271. package/dist/{steer-BGKYpW4T.js → steer-DwSAYYqb.js} +1 -1
  272. package/dist/{stop-CiAJVnU2.js → stop-B-dQ2-Gm.js} +1 -1
  273. package/dist/{stop-svJYkhTt.js → stop-BS2MB4CQ.js} +1 -1
  274. package/dist/{task-DvPkqHCF.js → task-gKnlLOGe.js} +1 -1
  275. package/dist/{test-9FHRw5Jc.js → test-TvJAUf4S.js} +1 -1
  276. package/dist/{tools-DhlrB8xV.js → tools-BQQfMQB9.js} +1 -1
  277. package/dist/{types-CdIo1Zbm.d.ts → types-DMGBYB_K.d.ts} +2 -2
  278. package/dist/{unalias-D6UESHzK.js → unalias-DpkgCs_c.js} +1 -1
  279. package/dist/{update-DTYOhoQC.js → update-ChIiUO1Z.js} +1 -1
  280. package/dist/{upgrade-BOYs5Vyi.js → upgrade-Cq24oWFZ.js} +2 -2
  281. package/dist/{usage-BlT_poNA.js → usage-CazoINYM.js} +1 -1
  282. package/dist/{watch-BlGYjH88.js → watch-B3gAEK1N.js} +1 -1
  283. package/dist/{watch-Y82ubvGH.js → watch-DJATTJw_.js} +1 -1
  284. package/dist/{worker-4TKVAB01.js → worker-C3dzIzd3.js} +1 -1
  285. package/dist/{workflow-Mi1OCrOI.js → workflow-BOPHazbM.js} +1 -1
  286. package/docs/self-host.md +1 -1
  287. package/package.json +2 -2
  288. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  289. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  290. package/dist/auth-cZ0FrkBv.js +0 -1
  291. package/dist/credentials-Dxpb5jCT.js +0 -1
  292. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/loading.1716941ff725f152.js +0 -15
  293. package/dist/dash/standalone/static/assets/chunks/composer-261cde2206340a07.js +0 -1
  294. package/dist/dash/standalone/static/assets/chunks/instructions-c175184f89172c15.js +0 -1
  295. package/dist/dash/standalone/static/assets/chunks/shared-init-bee5eaed36ee3dc4.js +0 -5
  296. package/dist/dash/standalone/static/assets/chunks/shared-init-cf66e1c1a2f30ef1.js +0 -2
  297. package/dist/dash/standalone/static/assets/pnext-client-00c2425020b8564c.js +0 -1
  298. package/dist/dash/standalone/static/assets/pnext-client-091090fd50a6c9cd.js +0 -1
  299. package/dist/dash/standalone/static/assets/pnext-client-0b8b6a688cfb5246.js +0 -1
  300. package/dist/dash/standalone/static/assets/pnext-client-0cc2ff4668470e6f.js +0 -1
  301. package/dist/dash/standalone/static/assets/pnext-client-146cb2e293fd710e.js +0 -1
  302. package/dist/dash/standalone/static/assets/pnext-client-1cdaef1ffee188d4.js +0 -1
  303. package/dist/dash/standalone/static/assets/pnext-client-3298ffa52f79e244.js +0 -1
  304. package/dist/dash/standalone/static/assets/pnext-client-415baafb72caaf21.js +0 -1
  305. package/dist/dash/standalone/static/assets/pnext-client-50de47aa1f3aed6f.js +0 -1
  306. package/dist/dash/standalone/static/assets/pnext-client-9ec55ee4d6315657.js +0 -1
  307. package/dist/dash/standalone/static/assets/pnext-client-9fb279f4c6135368.js +0 -1
  308. package/dist/dash/standalone/static/assets/pnext-client-a543b7bfddcdae35.js +0 -1
  309. package/dist/dash/standalone/static/assets/pnext-client-a9f7e73b9a3252b9.js +0 -1
  310. package/dist/dash/standalone/static/assets/pnext-client-e9f4f42456943129.js +0 -1
  311. package/dist/integrations-CstFKLTr.js +0 -1
  312. package/dist/migrate-DAC6sFgg.js +0 -1
  313. package/dist/refresh-ZbMy3Y9T.js +0 -1
  314. package/dist/runner-CbDswgji.js +0 -1
  315. package/dist/serve-D_XiZzYd.js +0 -8
  316. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{defaults.f8b4eee28e030eda.js → defaults.36612942475445c3.js} +0 -0
  317. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.5e991e43e42bd943.js → errors.e10960fe4c66b9d8.js} +0 -0
  318. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.d6aae19495a81adb.js → log-view.58ba9a3d545808d7.js} +0 -0
  319. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/auth/{sign-in.7ee1680af722840f.js → sign-in.661b3a4139af5bd7.js} +0 -0
  320. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{types.0cf02e7714d7c1a2.js → types.9f59e6c761d6aac4.js} +0 -0
  321. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/{page.1df2bb5150dd9575.css.pnext-asset.js → page.78ecdcf250ebe4bd.css.pnext-asset.js} +0 -0
  322. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{page.9ea9df9d5f80f310.css.pnext-asset.js → page.c2085e3ab40a8b66.css.pnext-asset.js} +0 -0
  323. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/{page.3120ea9ec90cb9cc.css.pnext-asset.js → page.31a5f9731d946f4f.css.pnext-asset.js} +0 -0
  324. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/{page.143668a9c21806d6.css.pnext-asset.js → page.b036494aace45edf.css.pnext-asset.js} +0 -0
  325. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/{agent-settings-form.d6de90cb40c3bd46.css.pnext-asset.js → agent-settings-form.204e3ec0b23d58c7.css.pnext-asset.js} +0 -0
  326. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/@/app/dash/usage/{range-bar.4408a4e0ee81b7b6.css.pnext-asset.js → range-bar.034280ed1ab2616b.css.pnext-asset.js} +0 -0
  327. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/@/comps/ui/{segmented.ded4aa5c0cd2c608.css.pnext-asset.js → segmented.4db9cac358865634.css.pnext-asset.js} +0 -0
  328. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/{page.ae5cbdfc43af6658.css.pnext-asset.js → page.6bf93d41ec4a1fab.css.pnext-asset.js} +0 -0
  329. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/{agent-pills.dcf7e785044cc900.css.pnext-asset.js → agent-pills.1708253f0232e88e.css.pnext-asset.js} +0 -0
  330. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/{hero.a794a01218c5c9ce.css.pnext-asset.js → hero.8dd7556828e78b07.css.pnext-asset.js} +0 -0
  331. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/{instructions.2176859ec1028fc0.css.pnext-asset.js → instructions.532dc545ddb11e88.css.pnext-asset.js} +0 -0
  332. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/@/app/dash/agents/(list)/{page.f2e88eb443d45a74.css.pnext-asset.js → page.1e19c72828fbd611.css.pnext-asset.js} +0 -0
  333. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/{editor.6b13621790a6d5d6.css.pnext-asset.js → editor.52403b9719fb5157.css.pnext-asset.js} +0 -0
  334. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/{names.cf9e376a918a5341.js → names.afb112f2a5a6f0f5.js} +0 -0
  335. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{layout.946ec7c4ebb1d7c6.css.pnext-asset.js → layout.4b31e7e60256f6d1.css.pnext-asset.js} +0 -0
  336. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{credentials-list.3bd27b14c0d60e48.css.pnext-asset.js → credentials-list.0953506d95c86a2f.css.pnext-asset.js} +0 -0
  337. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{engines-list.39cd71b7dc568516.css.pnext-asset.js → engines-list.c04c712adfc0ca48.css.pnext-asset.js} +0 -0
  338. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{list.2a204889b73638d9.css.pnext-asset.js → list.4835150fd34d0c4f.css.pnext-asset.js} +0 -0
  339. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{mcp-list.d743e37cd6dc85d8.css.pnext-asset.js → mcp-list.a2b3bf3c7c5fa42e.css.pnext-asset.js} +0 -0
  340. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{runners-list.3dac92fb9f64e2be.css.pnext-asset.js → runners-list.0e2d8a76197cde60.css.pnext-asset.js} +0 -0
  341. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/{model-options.2ca6c87aedf3588c.js → model-options.bccfaced52fc0c00.js} +0 -0
  342. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/{page.5edeae58f2154a50.js → page.9d2087e0e33d57f8.js} +0 -0
  343. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/{task-view.c2288044c9032a89.css.pnext-asset.js → task-view.2110bc4a16798cde.css.pnext-asset.js} +0 -0
  344. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/{composer.41721fb98004e79e.css.pnext-asset.js → composer.80a979f079b29681.css.pnext-asset.js} +0 -0
  345. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/{status.9516cc22cbd5d84b.css.pnext-asset.js → status.d71a946ed749ca30.css.pnext-asset.js} +0 -0
  346. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/{tasks-list.55fa11c945f9c6db.css.pnext-asset.js → tasks-list.291e81e56d54513c.css.pnext-asset.js} +0 -0
  347. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/@/app/dash/usage/{range-bar.72f0c7c440fb34af.css.pnext-asset.js → range-bar.53967f3261c8387e.css.pnext-asset.js} +0 -0
  348. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/@/comps/ui/{segmented.81631cafb8e3b260.css.pnext-asset.js → segmented.2ca6fee7dd2830ad.css.pnext-asset.js} +0 -0
  349. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{day-chart.c7b7d04403f0fc79.css.pnext-asset.js → day-chart.c566c1a55d15bf58.css.pnext-asset.js} +0 -0
  350. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{range-bar.671afdd0798f4de9.css.pnext-asset.js → range-bar.5504dd2c591a3056.css.pnext-asset.js} +0 -0
  351. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{stats.3b02ee8317b9c4e3.css.pnext-asset.js → stats.cd1d20f46f1347bf.css.pnext-asset.js} +0 -0
  352. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{top-agents.441006da5b4eae17.css.pnext-asset.js → top-agents.47aecd65c0c8fa2e.css.pnext-asset.js} +0 -0
  353. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{usage.d6df7cb6980171ce.css.pnext-asset.js → usage.0f646568d57d13e8.css.pnext-asset.js} +0 -0
  354. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{globals.89a59affc5df947b.css.pnext-asset.js → globals.e9ce0eb6697f992d.css.pnext-asset.js} +0 -0
  355. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.f852a09edc8b6b44.css.pnext-asset.js → page.57e5198339e9ca28.css.pnext-asset.js} +0 -0
  356. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{page.7e7f8611a9bb7b22.js → page.2c6a0a292ea8ab67.js} +0 -0
  357. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{responsive.1fd73ea94977bfc0.css.pnext-asset.js → responsive.82549d958fae8f00.css.pnext-asset.js} +0 -0
  358. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{zone.66f36b17e74cf5f8.js → zone.dbc84f981415d8f7.js} +0 -0
  359. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/@/comps/ui/{toast.8d599c6821860a1c.css.pnext-asset.js → toast.a4c3e977997216cf.css.pnext-asset.js} +0 -0
  360. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{auth-panel.e5af611567239b13.css.pnext-asset.js → auth-panel.c6e05b4540b3d555.css.pnext-asset.js} +0 -0
  361. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.9090aa789dffa730.css.pnext-asset.js → drawer.e8201d78154045bc.css.pnext-asset.js} +0 -0
  362. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{heads.5407f7793f985b16.js → heads.fa2157b3b36647f3.js} +0 -0
  363. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.53db3a3d313c0473.css.pnext-asset.js → page-head.a6e3c4204ca45e94.css.pnext-asset.js} +0 -0
  364. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{to.248665fde7daaf07.js → to.0116bedfbe5f1133.js} +0 -0
  365. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{badge.d21391f2f8573db8.css.pnext-asset.js → badge.0cb1513f8b077560.css.pnext-asset.js} +0 -0
  366. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.4f9265213510ffd3.css.pnext-asset.js → card.146f70c7049b5b31.css.pnext-asset.js} +0 -0
  367. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.60c9038c70fb9c46.css.pnext-asset.js → collapse.fb687b120ea60247.css.pnext-asset.js} +0 -0
  368. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.fc6d4da835b75a30.css.pnext-asset.js → confirm.fb57a29a70e9df56.css.pnext-asset.js} +0 -0
  369. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{field.8db4420dfb447e42.css.pnext-asset.js → field.7e73edc204cd38df.css.pnext-asset.js} +0 -0
  370. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.9311d535531caaf3.css.pnext-asset.js → filter.e20fbd035f24ed01.css.pnext-asset.js} +0 -0
  371. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icon.476b846e39908951.css.pnext-asset.js → icon.424a21694f121010.css.pnext-asset.js} +0 -0
  372. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.e17bdd0b5504787f.js → icons.1777c0350d5d215e.js} +0 -0
  373. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.d412af459c187b41.css.pnext-asset.js → menu.6341c87b5bec4256.css.pnext-asset.js} +0 -0
  374. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{segmented.171b067d7cb36977.css.pnext-asset.js → segmented.0bd8652fdbc05eb0.css.pnext-asset.js} +0 -0
  375. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.5dbceaae2ba7ace4.css.pnext-asset.js → select.03a695573b914d6f.css.pnext-asset.js} +0 -0
  376. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{sentinel.332fb99b3a214f0e.css.pnext-asset.js → sentinel.bcff411a9f2355ec.css.pnext-asset.js} +0 -0
  377. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tabs.87bc5cdfc4d1b85e.css.pnext-asset.js → tabs.ca13e40ff54128d0.css.pnext-asset.js} +0 -0
  378. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.25fd24d6cd0564b7.css.pnext-asset.js → tail.0a5f3c0595e68610.css.pnext-asset.js} +0 -0
  379. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.5e35e79f4d575452.css.pnext-asset.js → toolbar.40284b41c03c5dcb.css.pnext-asset.js} +0 -0
  380. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{format.ba382c381ea40e77.js → format.6a7d1beaf4d09d9c.js} +0 -0
  381. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{paged.64ead375df845ff2.js → paged.7e5713a82abf0211.js} +0 -0
  382. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{range.f0a5ef1763ff3cb9.js → range.f73ba9cac0a60af1.js} +0 -0
@@ -1,8 +0,0 @@
1
- import{t as e}from"./rolldown-runtime-DT7IzrpZ.js";import{$ as t,G as n,H as r,K as i,Mt as a,Q as o,St as s,U as c,Vt as l,_t as u,ct as d,et as f,jt as p,kn as m,nn as h,ut as g,wn as _}from"./dispatch-YW1aqjEg.js";import{i as v,n as y,r as b,u as x}from"./load-DDZfByUe.js";import{c as S,d as C,l as w,n as ee}from"./integrations-B2CavXR1.js";import{c as te}from"./models-DGPrMV51.js";import{o as T}from"./local-B0GiaLV0.js";import{a as E,d as D,f as ne,l as O,n as re,o as ie,p as k,r as ae,s as oe,t as se,u as ce}from"./http-DG54kyx4.js";import{$ as le,$n as A,$t as ue,A as de,An as fe,At as j,B as pe,Bt as me,C as he,Cn as ge,Ct as _e,D as ve,Dn as ye,Dt as M,E as be,En as xe,Et as Se,F as Ce,Fn as we,Ft as Te,G as Ee,Gn as De,Gt as Oe,H as ke,Hn as Ae,Ht as je,I as Me,In as N,It as Ne,J as Pe,Jn as P,Jt as Fe,K as Ie,Kn as Le,Kt as Re,L as ze,Ln as Be,M as Ve,Mn as He,Mt as Ue,N as We,Nn as Ge,Nt as Ke,O as F,On as qe,Ot as Je,P as Ye,Pn as Xe,Pt as Ze,Q as Qe,Qn as I,Qt as $e,R as et,Rn as L,Rt as tt,S as R,Sn as nt,St as rt,T as it,Tn as at,Tt as ot,U as st,Un as ct,Ut as lt,V as ut,Vn as dt,Vt as ft,W as pt,Wn as mt,Wt as ht,X as gt,Xn as _t,Xt as vt,Yn as z,Yt as yt,Z as bt,Zn as xt,Zt as St,_ as Ct,_n as B,_t as wt,an as Tt,at as Et,b as V,bn as H,bt as Dt,c as Ot,cn as kt,ct as At,d as jt,dn as Mt,en as Nt,er as Pt,et as Ft,f as It,g as Lt,gn as Rt,gt as zt,hn as U,ht as Bt,i as Vt,in as Ht,j as Ut,jn as Wt,jt as Gt,k as Kt,kn as qt,kt as Jt,l as Yt,ln as Xt,lt as Zt,m as W,mn as Qt,mt as $t,nn as en,nt as tn,o as nn,on as rn,ot as an,p as G,pt as on,q as sn,qn as cn,qt as ln,r as un,rn as dn,sn as fn,t as pn,tn as mn,tt as hn,un as gn,ut as _n,v as vn,vn as yn,vt as bn,w as xn,wn as Sn,wt as Cn,x as K,xn as wn,xt as Tn,y as En,yn as Dn,yt as On,z as kn,zt as An}from"./store-Cxc2GYyj.js";import{n as jn,r as Mn}from"./env-LsVTi18f.js";import{l as Nn}from"./schema-DoNO0dPh.js";import{r as Pn,t as Fn}from"./migrate-DAC6sFgg.js";import{n as In,r as Ln}from"./usage-Bw7fQeFC.js";import q from"node:path";import J from"node:process";import*as Y from"zod/mini";import Rn from"node:fs";import{createHash as zn,randomBytes as Bn,randomUUID as Vn}from"node:crypto";import X from"node:fs/promises";import{isDeepStrictEqual as Hn}from"node:util";import Un from"node:http";import{sql as Wn}from"drizzle-orm";async function Gn(e){try{return await X.readdir(e,{withFileTypes:!0})}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function Kn(e){try{return await X.lstat(e),!0}catch(e){if(e.code===`ENOENT`)return!1;throw e}}async function qn(e,t){if(e===t||!await Kn(e))return 0;let n=await Gn(e),r=n.filter(e=>e.isDirectory()).length;if(!await Kn(t))return await m(e,t),r;for(let r of n)await m(q.join(e,r.name),q.join(t,r.name));return await X.rmdir(e),r}async function Jn(e){let t=q.dirname(e),n=q.basename(e);for(let e of await Gn(t)){let r=e.name.startsWith(n)?e.name.slice(n.length):``;if(!e.isFile()||!(r===`.tmp`||/^\.\d+(?:\.[a-f0-9-]{36})?\.tmp$/.test(r)))continue;let i=Number(e.name.slice(n.length+1).split(`.`)[0]);if(Number.isInteger(i)&&i>0)try{process.kill(i,0);continue}catch(e){if(e.code!==`ESRCH`)continue}await X.unlink(q.join(t,e.name)).catch(e=>{if(e.code!==`ENOENT`)throw e})}}async function Yn(e,t){if(await Jn(e),e===t||!await Kn(e))return 0;if(!await Kn(t))return await m(e,t),1;let n=JSON.parse(await X.readFile(e,`utf8`)),r=JSON.parse(await X.readFile(t,`utf8`)),i={...n,...r,...n.rows||r.rows?{rows:{...n.rows,...r.rows}}:{}},a=`${t}.${process.pid}.${Vn()}.tmp`;try{await X.writeFile(a,`${JSON.stringify(i)}\n`,{mode:384,flag:`wx`}),await X.rename(a,t),await X.unlink(e)}finally{await X.rm(a,{force:!0})}return 1}async function Xn(){let e=p(),t=a(`state`),n=p(`archive`),r=p(`flows-archived`),i=p(`usage.json`),o=p(`runner`,`usage.json`),s={from:a(`checkouts`),to:p(`checkouts`)},c={from:a(`update-check.json`),to:p(`update-check.json`)},l={cache:e,tasks:0,flows:0,files:0},u=(await Gn(t)).filter(e=>e.isDirectory()).map(e=>({archive:a(`state`,e.name,`archive`),flows:a(`state`,e.name,`flows-archived`),usage:a(`state`,e.name,`usage.json`),runnerUsage:a(`state`,e.name,`runner`,`usage.json`)}));await Jn(i),await Jn(o);for(let e of u)l.tasks+=await qn(e.archive,n),l.flows+=await qn(e.flows,r),l.files+=await Yn(e.usage,i),l.files+=await Yn(e.runnerUsage,o);return await qn(s.from,s.to),l.files+=await Yn(c.from,c.to),l}async function Zn(e){let t=(e.now??Date.now)(),n=await e.store.list(`runner`);return{online:1+n.filter(({value:e})=>e.lastSeen!==void 0&&t-e.lastSeen<3e5).length,total:1+n.length}}async function Qn(e){let t=(e.now??Date.now)(),n=e.health,{body:r,status:i}=n&&t-n.at<5e3?n:await $n(e);e.health=i===200?{at:n&&t-n.at<5e3?n.at:t,body:r,status:i}:void 0;let a=Math.max(0,t-(e.limits?.startedAt??t))/1e3;return E({...r,uptime:a},i,{"cache-control":`no-store`})}async function $n(e){let t=e.config.store===`postgres`?`down`:`none`,n={online:0,total:0},r=!0;try{if(e.config.store===`postgres`){if(!e.databaseHealth)throw Error(`Database health probe is unavailable`);await e.databaseHealth(),t=`ok`}n=e.healthRunners?await e.healthRunners():await Zn(e)}catch{r=!1,e.config.store===`postgres`&&(t=`down`)}return{body:{ok:r,version:_(),db:t,runners:n},status:r?200:503}}async function er(e){let t=(e.now??Date.now)();if(e.queue.metrics&&!e.local)return{...await e.queue.metrics(e.organizationId,t-864e5),runnersOnline:(await Zn(e)).online,requests:e.limits?.requests??0,rateLimitRejections:e.limits?.rejections??0};let n=await e.queue.list(e.organizationId),r=e.local?[...W(e.local.cwd,!1),...W(e.local.cwd,!0)]:[],i=new Map([...r,...n.map(e=>e.status===`queued`?e:r.find(t=>t.task.id===e.task.id)??e)].map(e=>[e.task.id,e])),a={queued:0,running:0,waiting:0,completed:0,failed:0,cancelled:0},o=0;for(let e of i.values())e.createdAt>=t-864e5&&a[e.status]++,e.status===`queued`&&o++;return{tasks:a,queueDepth:o,runnersOnline:(await Zn(e)).online,requests:e.limits?.requests??0,rateLimitRejections:e.limits?.rejections??0}}async function tr(e,t,n,r){if(!t.auth)return E({mode:tt(t),organization:{id:t.organizationId},server:nr(t)});let i=t.session;return E({mode:tt(t),user:i.user,organization:i.organizations.find(e=>e.id===i.organizationId)??null,organizations:i.organizations,manageMembersUrl:`${t.auth.issuer}/auth/onboarding`,server:nr(t)})}function nr(e){return{name:e.config.name??`Coder`,store:e.config.store,...e.config.publicUrl?{url:e.config.publicUrl}:{},subscriptions:{claude:!!e.config.subscriptions?.claude,codex:!!e.config.subscriptions?.codex}}}async function rr(e,t,n,r){let i=e.headers.get(`content-type`)??``,a=i.includes(`application/json`)?await e.json().catch(()=>void 0):await e.formData().then(e=>Object.fromEntries(e.entries()),()=>void 0);if(!a||typeof a!=`object`)return E({error:`Send the workspace as a form or JSON body.`},400);let o=typeof a.organization==`string`?a.organization:``,s=o?await t.auth.setOrganization(e.headers,o):void 0;if(!s)return E({error:`You are not a member of that workspace.`},403);let{cookies:c,...l}=s,u=i.includes(`application/json`)?E({organization:l}):k(`/dash`,303);for(let e of c)u.headers.append(`set-cookie`,e);return u}async function ir(e,t,n,r){let i=t.session.user.id;n.id;let a=(await e.json().catch(()=>({}))).engine??``;if(!lr.has(a)||!t.config.subscriptions?.[a])return E({error:`Sign in with ${a||`that engine`} is off on this server.`},403);let o=t.runners[t.config.runner];if(!o||o.kind===`github-actions`)return E({error:`Sign-in cannot run on the ${t.config.runner} runner.`},409);let s=`login-${Bn(12).toString(`base64url`)}`,c=Ae(s,t.organizationId,0),l={owner:i,engine:a,state:`starting`,tokenHash:c.hash,runner:o.kind,createdAt:ur(t),expiresAt:ur(t)+cr};await dr(t,s,l);let u;try{let e=await o.start({id:s},{CODER_SERVER:t.config.publicUrl??``,CODER_TASK_TOKEN:c.token,CODER_LOGIN:a}),n=await t.store.patchLogin(s,{handle:e},{tokenHash:l.tokenHash});if(!n)return await o.stop(e).catch(()=>{}),E({error:`This sign-in is gone. Start again.`},409);u=n}catch(e){return await t.store.delete(`login`,s),E({error:e instanceof Error?e.message:String(e)},502)}return E(fr(s,u),201)}async function ar(e,t,n,r){t.session.user.id;let i=n.id??``,a=i&&!i.includes(`/`)?await pr(t,i):void 0;return a?E(fr(i,a)):E({error:`This sign-in is gone. Start again.`},404)}async function or(e,t,n,r){t.session.user.id;let i=n.id??``,a=i&&!i.includes(`/`)?await pr(t,i):void 0;if(!a)return E({error:`This sign-in is gone. Start again.`},404);let o=await e.json().catch(()=>({})),s=typeof o.code==`string`?o.code.trim():``;return a.engine!==`claude`||a.state!==`open`||!s||!await t.store.patchLogin(i,{state:`verifying`,input:L(t.config,s)},{state:`open`,tokenHash:a.tokenHash})?E({error:`This sign-in is not waiting for a code.`},409):E({ok:!0})}async function sr(e,t,n,r){t.session.user.id;let i=n.id??``,a=i&&!i.includes(`/`)?await pr(t,i):void 0;return a?(await t.store.delete(`login`,i),a.handle&&await t.runners[a.runner]?.stop(a.handle).catch(()=>{}),E({ok:!0})):E({error:`This sign-in is gone. Start again.`},404)}const cr=6e5,lr=new Set([`claude`,`codex`]),ur=e=>(e.now??Date.now)();function dr(e,t,n){return e.store.put(`login`,t,n,{ttlMs:Math.max(1,n.expiresAt-ur(e))})}function fr(e,t){return{id:e,engine:t.engine,state:t.state,expiresAt:t.expiresAt,...t.url?{url:t.url}:{},...t.code?{code:t.code}:{},...t.error?{error:t.error}:{},...t.label?{label:t.label}:{}}}async function pr(e,t){let n=await e.store.get(`login`,t);return n&&n.owner===e.session?.user.id?n:void 0}async function mr(e,t,n,r){let i=n.id,a=t.callbackLogin,o=Date.now()+25e3;for(;!a.input&&Date.now()<o&&!e.signal.aborted;){await new Promise(e=>setTimeout(e,250));let e=await t.store.get(`login`,i);if(!e)return new Response(`Unauthorized`,{status:401});a=e}if(!a.input)return E({});let s=await t.store.patchLogin(i,{input:null},{input:a.input,tokenHash:a.tokenHash});return E(s?{code:N(t.config,a.input)}:{})}async function hr(e,t,n,r){n.id;let i=t.callbackLogin;return E({engine:i.engine})}async function gr(e,t,n,r){let i=n.id,a=t.callbackLogin,o=await e.json().catch(()=>({}));if(a.state===`done`||a.state===`failed`)return E({ok:!0});let s={state:[`starting`,`open`,`verifying`],tokenHash:a.tokenHash};if(typeof o.error==`string`)return await t.store.patchLogin(i,{state:`failed`,error:o.error.slice(0,500)},s),E({ok:!0});let c=o.result?.env;if(c){let e=a.engine===`claude`?`CLAUDE_CODE_OAUTH_TOKEN`:`CODEX_AUTH_JSON`;if(Object.keys(c).join()!==e||typeof c[e]!=`string`)return E({error:`Invalid sign-in result`},400);let n=`${a.engine}-subscription`,r=o.result?.account;return await t.store.completeLogin(i,a.tokenHash,n,{...Be(t.config,{env:c}),engine:a.engine,createdAt:(t.now??Date.now)(),...r?.email||r?.plan?{account:{...typeof r.email==`string`?{email:r.email}:{},...typeof r.plan==`string`?{plan:r.plan}:{}}}:{}})?E({ok:!0}):E({error:`This sign-in changed. Try again.`},409)}let l={...typeof o.url==`string`&&/^https:\/\//.test(o.url)?{url:o.url}:{},...typeof o.code==`string`?{code:o.code.slice(0,64)}:{}};return(a.state===`starting`?await t.store.patchLogin(i,{...l,state:`open`},{state:`starting`,tokenHash:a.tokenHash})??await t.store.patchLogin(i,l,{...s,state:[`open`,`verifying`]}):await t.store.patchLogin(i,l,s))?E({ok:!0}):E({error:`This sign-in changed. Try again.`},409)}async function _r(e,t,n,r){let i=n.id,a=t.operatorApp??!1;if(!/^[a-z0-9_-]+$/.test(r.pathname.split(`/`)[2]))return;let o=a?`*`:t.session?.user.id??`anonymous`,s=t.integrations[i];if(!s)return P(`Unknown integration "${i}"; run coder agent integrations list to see them`,404);let c=t.config.publicUrl;if(!c)return P(`PUBLIC_URL is not set on this server; set it to the address platforms should call and restart`,400);t.fetch,t.now?.();let l=z(r.searchParams);if(!l)return P(`Setup link is missing or malformed; start again from the agent's Platforms tab`,400);if(!l.definition.integrations[i])return P(`This agent declares no ${i} integration in its agent.json`,400);if(l.state.public&&!a)return P(`Only the server operator creates public apps`,403);let u=De(i,l.state),d=l.state.tx?await I(t,l.state.tx,`create`,o)===u?l.state.tx:void 0:await A(t,`create`,o,u);if(!d)return P(`This app creation link is invalid, expired, or already used`,403);let f={...l.state,tx:d};return s.app.createPage({publicUrl:c,state:f,definition:l.definition,encodedState:T(f)})}async function vr(e,t,n,r){let i=n.id,a=t.operatorApp??!1;if(!/^[a-z0-9_-]+$/.test(r.pathname.split(`/`)[2]))return;let o=a?`*`:t.session?.user.id??`anonymous`,s=t.integrations[i];if(!s)return P(`Unknown integration "${i}"; run coder agent integrations list to see them`,404);let c=t.config.publicUrl;if(!c)return P(`PUBLIC_URL is not set on this server; set it to the address platforms should call and restart`,400);let l=t.fetch??fetch,u=t.now?.()??Date.now(),d=ae(r.searchParams.get(`state`)),f=z(r.searchParams)??(d&&z(new URLSearchParams(Object.entries(d).filter(([,e])=>e!==void 0))))??void 0;if(!f)return P(`Setup state was lost between the platform and this server; start again`,400);if(!f.state.tx||!await xt(t,f.state.tx,`create`,o,De(i,f.state)))return P(`This app creation link is invalid, expired, or already used`,403);let p=await s.app.createCallback(e,{publicUrl:c,...f,fetch:l}).catch(e=>P(`Creating the ${i} app failed: ${e instanceof Error?e.message:e}`,400));if(p instanceof Response)return p;let m={id:`${i}:${p.platformAppId}`,integration:i,agent:f.state.agent,name:p.name,...f.state.repo?{agentsRepo:f.state.repo}:{},...f.state.repo?{branch:f.state.branch??`main`}:{},...a?{builtin:!0}:{},credentials:L(t.config,p.credentials),createdAt:u};if(await t.store.put(`app`,m.id,m),a)return P(`Created ${p.name}. Every workspace on this server can now connect it from its dashboard.`);let h=await A(t,`install`,o,m.id),g=`/dash/agents/${encodeURIComponent(m.agent)}/platforms`;return k(`${c}/install/${i}?app=${encodeURIComponent(m.id)}&state=${T({tx:h,back:g})}`)}async function yr(e,t,n,r){let i=n.id,a=t.operatorApp??!1;if(!/^[a-z0-9_-]+$/.test(r.pathname.split(`/`)[2]))return;let o=a?`*`:t.session?.user.id??`anonymous`,s=t.integrations[i];if(!s)return P(`Unknown integration "${i}"; run coder agent integrations list to see them`,404);let c=t.config.publicUrl;if(!c)return P(`PUBLIC_URL is not set on this server; set it to the address platforms should call and restart`,400);let l=t.fetch??fetch,u=t.now?.()??Date.now(),d=new URLSearchParams(await e.clone().text()),f=ae(r.searchParams.get(`state`)),p=z(r.searchParams)??(f&&z(new URLSearchParams(Object.entries(f).filter(([,e])=>e!==void 0))))??(d&&z(d));if(!p)return P(`Setup state was lost between the platform and this server; start again`,400);if(!p.state.tx||!await xt(t,p.state.tx,`create`,o,De(i,p.state)))return P(`This app creation link is invalid, expired, or already used`,403);let m=await s.app.createCallback(e,{publicUrl:c,...p,fetch:l}).catch(e=>P(`Creating the ${i} app failed: ${e instanceof Error?e.message:e}`,400));if(m instanceof Response)return m;let h={id:`${i}:${m.platformAppId}`,integration:i,agent:p.state.agent,name:m.name,...p.state.repo?{agentsRepo:p.state.repo}:{},...p.state.repo?{branch:p.state.branch??`main`}:{},...a?{builtin:!0}:{},credentials:L(t.config,m.credentials),createdAt:u};if(await t.store.put(`app`,h.id,h),a)return P(`Created ${m.name}. Every workspace on this server can now connect it from its dashboard.`);let g=await A(t,`install`,o,h.id),_=`/dash/agents/${encodeURIComponent(h.agent)}/platforms`;return k(`${c}/install/${i}?app=${encodeURIComponent(h.id)}&state=${T({tx:g,back:_})}`)}async function br(e,t,n,r){let i=n.id,a=t.operatorApp??!1;if(!/^[a-z0-9_-]+$/.test(r.pathname.split(`/`)[2]))return;let o=a?`*`:t.session?.user.id??`anonymous`,s=t.integrations[i];if(!s)return P(`Unknown integration "${i}"; run coder agent integrations list to see them`,404);let c=t.config.publicUrl;if(!c)return P(`PUBLIC_URL is not set on this server; set it to the address platforms should call and restart`,400);t.fetch,t.now?.();let l=ae(r.searchParams.get(`state`)),u=r.searchParams.get(`app`),d=l?.tx?await I(t,l.tx,`install`,o):void 0;if(!d||u&&u!==d)return P(`This installation link is invalid, expired, or already used`,403);let f=await t.store.get(`app`,u??d);if(!f)return P(`This app is not known to this server; create it first`,400);let p=N(t.config,f.credentials);return k(s.app.installUrl(f,p,{publicUrl:c,state:r.searchParams.get(`state`)??T({})}))}async function xr(e,t,n,r){let i=n.id,a=t.operatorApp??!1;if(!/^[a-z0-9_-]+$/.test(r.pathname.split(`/`)[2]))return;let o=a?`*`:t.session?.user.id??`anonymous`,s=t.integrations[i];if(!s)return P(`Unknown integration "${i}"; run coder agent integrations list to see them`,404);let c=t.config.publicUrl;if(!c)return P(`PUBLIC_URL is not set on this server; set it to the address platforms should call and restart`,400);let l=t.fetch??fetch,u=t.now?.()??Date.now(),d=ae(r.searchParams.get(`state`)),f=r.searchParams.get(`app`),p=d?.tx?await I(t,d.tx,`install`,o):void 0;if(!p||f&&f!==p||!await xt(t,d.tx,`install`,o,p))return P(`This installation link is invalid, expired, or already used`,403);let m=await t.store.get(`app`,f??p),h=d?.link?await t.store.get(`installation`,d.link):void 0,g=m??(h&&await cn(t,h,i));if(!g)return d&&!d.link?P(`Connected.`):P(`This install does not match any app on this server; create the app first`,400);let _=N(t.config,g.credentials),v=await s.app.installCallback(e,{app:g,credentials:_,publicUrl:c,fetch:l,connect:mt(t,g,c)}).catch(e=>P(e instanceof Error?e.message:String(e),400));if(v instanceof Response)return v;let y=`${g.id}:${v.platformInstallId}`,b=t.session;v.user&&b&&t.auth&&await t.auth.link(b.user,i,v.user.id,{organizations:b.organizations.map(e=>e.id),...v.user.token?{token:L(t.config,v.user.token)}:{}});let x=await t.store.get(`installation`,y),S={...x,id:y,app:g.id,integration:i,account:v.account??x?.account??h?.account??{login:`unknown`},...v.token?{token:L(t.config,v.token)}:{},...v.installer?{installer:v.installer}:{},createdAt:x?.createdAt??u};delete S.deletedAt;let C=h&&!h.deletedAt?h:void 0;C&&(S=Le(S,C.integration,C.id));try{await t.store.put(`installation`,y,S)}catch{return P(`This ${i} installation is already connected to another workspace; disconnect it there first`,409)}if(C&&await t.store.put(`installation`,C.id,Le(C,i,y)),s.renew){let e=await(await import(`./store-Cxc2GYyj.js`).then(e=>e.Y)).renewInstallation({...t,fetch:l},g,v.platformInstallId).then(()=>void 0,e=>e instanceof Error?e.message:String(e));if(e)return P(`Connected, but ${i} did not start sending events yet. ${e}. Coder tries again within the hour.`,502)}let w=ct(d?.back);return w?k(`${c.replace(/\/$/,``)}${w}`):v.response}const Z=(e,t=200)=>w(`<title>Coder</title><p>${S(e)}</p>`,t);function Sr(e,t,n){return n&&t.organizations.some(e=>e.id===n)?{...dt(e,n),session:t}:void 0}async function Cr(e,t){let n=await e.store.get(`installation`,t);return n&&!n.deletedAt?e.store.get(`app`,n.app):void 0}async function wr(e,t,n,r){let i=t.linkContext,a=i.session,o=e=>{let t=Pt(i,e);return t&&a.organizations.some(e=>e.id===t)?{...dt(i,t),session:a}:i},s=r.searchParams.get(`token`)??``,c=o(s);if(await I(c,s,`link`,a.user.id))return await gn(e,void 0,t.dashboardHosts)??new Response(`UI is not built`,{status:503});let l=await _t(c,s,`link-start`,a.user.id);if(!l)return new Response(`This link is invalid or has expired.`,{status:400});let u=await A(c,`link`,a.user.id,l,3e5);return k(`/connect?token=${encodeURIComponent(u)}`)}async function Tr(e,t,n,r){let i=t.linkContext,a=i.session,o=e=>{let t=Pt(i,e);return t&&a.organizations.some(e=>e.id===t)?{...dt(i,t),session:a}:i},s=await e.json().catch(()=>({})),c=typeof s.token==`string`?await _t(o(s.token),s.token,`link`,a.user.id):void 0;if(!c)return E({error:`This link is invalid or has expired.`},400);let l=JSON.parse(c);return await t.auth.link(a.user,l.platform,l.platformUserId,{organizations:a.organizations.map(e=>e.id)})===`taken`?E({error:`That platform account is connected to someone else.`},409):E({ok:!0,...l})}async function Er(e,t,n,r){let i=t.integrations[n.integration].auth.user,a=t.config.publicUrl,o=t.linkContext.session,s=r.searchParams.get(`installation`)??``,c=Sr(t,o,s?await t.installationOrganization?.(s):void 0);if(!c)return Z(`Only members of the workspace this agent works for can link here.`,403);let l=await Cr(c,s);if(!l)return Z(`This installation is no longer connected.`,404);let u=await A(c,`link-oauth`,o.user.id,s);return k(i.authorizeUrl(N(t.config,l.credentials),{publicUrl:a,state:u}))}async function Dr(e,t,n,r){let i=t.integrations[n.integration],a=i.auth.user,o=t.config.publicUrl,s=t.linkContext.session,c=r.searchParams.get(`state`)??``,l=Sr(t,s,Pt(t,c)),u=l&&await _t(l,c,`link-oauth`,s.user.id),d=l&&u?await Cr(l,u):void 0;if(!l||!d)return Z(`This link is invalid or has expired.`,400);let f=await a.exchange(e,N(t.config,d.credentials),{publicUrl:o,fetch:t.fetch??fetch}).catch(e=>e instanceof Error?e:Error(String(e)));return f instanceof Error?Z(f.message,400):await t.auth.link(s.user,i.id,f.id,{organizations:s.organizations.map(e=>e.id),...f.token?{token:L(t.config,f.token)}:{}})===`taken`?Z(`That ${i.id} account is connected to someone else.`,409):Z(`Linked ${f.login??f.id} on ${i.id} to your Coder account. Mention the agent again to start.`)}const Or=Y.object({installation:Y.string().check(Y.minLength(1)),integration:Y.string().check(Y.minLength(1)),token:Y.string().check(Y.minLength(1)),account:Y.optional(Y.string())});async function kr(e,t){let n;try{n=await e.json()}catch{return new Response(`Invalid JSON`,{status:400})}let r=Or.safeParse(n);if(!r.success)return new Response(`Invalid connection`,{status:400});let{installation:i,integration:a,token:o,account:s}=r.data,c=await t.store.get(`installation`,i);if(!c||c.deletedAt)return new Response(`Unknown installation`,{status:404});let l={kind:`oauth`,token:L(t.config,o),...s?{account:s}:{}};return await Vt(t.store,`installation`,i,{connections:{...c.connections,[a]:l}}),E({ok:!0})}async function Ar(e,t,n,r){let i=await t.store.get(`app`,n);if(!i)return E({error:`Unknown app`},404);let a=t.config.publicUrl;if(!a)return E({error:`PUBLIC_URL is not set on this server`},400);let o=await A(t,`install`,t.session?.user.id??`anonymous`,i.id),s=T({tx:o,...r?{back:r}:{}});return E({url:`${a.replace(/\/$/,``)}/install/${i.integration}?app=${encodeURIComponent(i.id)}&state=${s}`})}async function jr(e,t,n,r){let i=r.searchParams.get(`agent`),a=t.serverOrganizationId,[o,s]=await Promise.all([t.store.list(`app`),a!==void 0&&a!==t.organizationId&&t.scope?t.scope(a).store.list(`app`).then(e=>e.map(({id:e,value:t})=>({id:e,value:{...t,builtin:!0}}))):[]]),c=[...o,...s];return E(c.filter(({value:e})=>!i||e.agent===i).map(({id:e,value:t})=>{let{credentials:n,...r}=t;return{id:e,value:r}}))}async function Mr(e,t,n,r){let i=r.searchParams.get(`agent`),[a,o]=await Promise.all([t.store.list(`installation`),i?t.store.list(`app`):[]]),s=new Set(o.filter(({value:e})=>e.agent===i).map(({id:e})=>e));return E(a.filter(({value:e})=>!i||s.has(e.app)).map(({id:e,value:t})=>{let{token:n,connections:r,...i}=t;return{id:e,value:i}}))}function Nr(e){return E(Object.values(e.integrations).map(e=>({id:e.id,name:e.name,brand:e.brand,description:e.description,installLabel:e.installLabel??`Connect ${e.id}`,organizationApps:e.organizationApps===!0,events:Object.fromEntries(Object.entries(e.events).map(([e,{description:t,noisy:n,addressed:r}])=>[e,{description:t,...n?{noisy:n}:{},...r?{addressed:r}:{}}])),presets:e.tools.presets,repositories:!!e.repos})))}async function Pr(e){let t=new Map;for(let{value:n}of await e.store.list(`installation`)){let r=e.integrations[n.integration];if(n.deletedAt||!r?.repos)continue;let i=await e.store.get(`app`,n.app);if(i)try{let a=await r.auth.token(n.token?{...n,token:N(e.config,n.token)}:n,N(e.config,i.credentials));for(let e of await r.repos.list(n,a))t.has(e)||t.set(e,{repo:e,integration:r.id})}catch{}}return E([...t.values()].sort((e,t)=>e.repo.localeCompare(t.repo)))}async function Fr(e,t){let n=(await e.store.list(`installation`)).filter(({value:t})=>!t.deletedAt&&e.integrations[t.integration]?.repos),r=new Map((await un(e.store,n.map(({value:e})=>e.app))).map(({id:e,value:t})=>[e,t]));for(let{value:i}of n){let n=e.integrations[i.integration];if(i.deletedAt||!n?.repos)continue;let a=r.get(i.app);if(!(!a||a.integration!==n.id))try{let r=i.token?{...i,token:N(e.config,i.token)}:i,o=await n.auth.token(r,N(e.config,a.credentials));if((await n.repos.list(r,o)).includes(t))return{contents:n,token:o,app:a,installation:i}}catch{}}}async function Ir(e,t,n){let r=await Fr(e,t);if(!r)return E({error:`No installed app can read ${t}`},400);let i=await r.contents.repos.listDir(t,Ee,r.token,n).catch(()=>[]),a=await Promise.all(i.map(async i=>{let a=await r.contents.repos.readFile(t,`${Ee}/${i}/agent.json`,r.token,n).catch(()=>void 0);if(a===void 0)return;let o={};try{o=JSON.parse(a)}catch{}let s=await H(e.store,i),c=s?.source===`repo`&&s.repo===t,l=c?await wn(e.store,i):void 0;return{id:i,name:typeof o.name==`string`?o.name:i,...typeof o.description==`string`?{description:o.description}:{},...c?{version:s.currentVersion,...l?.source?{commit:l.source.commit}:{}}:{},...s&&!c?{taken:!0}:{}}}));return E({repo:t,agents:a.filter(Boolean)})}async function Lr(e,t,n,r){let i=r.searchParams.get(`repo`);return i?Ir(t,i,r.searchParams.get(`ref`)||`HEAD`):E({error:`repo is required`},400)}async function Rr(e,t,n,r){let i=await e.json().catch(()=>void 0),a=i?.agents;if(typeof i?.repo!=`string`||i.ref!==void 0&&typeof i.ref!=`string`||a!==void 0&&!(Array.isArray(a)&&a.every(e=>typeof e==`string`)))return E({error:`repo is required, ref must be a string and agents a list of ids`},400);try{let e=await Fr(t,i.repo);if(!e)return E({error:`No installed app can read ${i.repo}`},400);let n=i.ref??`HEAD`,r=a??await e.contents.repos.listDir(i.repo,`.coder/agents`,e.token,n);for(let e of r){let n=await H(t.store,e);if(n&&(n.source!==`repo`||n.repo!==i.repo))return E({error:`Agent id "${e}" is already taken`},409)}let o=await Ie(t.store,e.contents,i.repo,n,e.token,(t.now??Date.now)(),{slugs:r});return await Pe(t,o),E({imported:o.map(e=>e.agent)})}catch(e){return E({error:e instanceof Error?e.message:String(e)},400)}}async function zr(e,t,n,r){if(t.source!==`repo`||!t.repo)return;let i=(await(r??e.store.list(`app`))).find(({value:e})=>e.agent===t.id&&e.agentsRepo===t.repo)?.value;return((i&&e.integrations[i.integration])??Object.values(e.integrations).find(e=>e.repos))?.repos?.url(t.repo,t.path,i?.branch??n?.commit)}async function Br(e,t,n){let r=await yn(e.store,t);return await ge(e.store,n,t,r)?yn(e.store,t):r}async function Q(e,t){let n=(e.now??Date.now)(),r=e.local?await hn(e.store,e.local.cwd,e.integrations,t).catch(()=>void 0):void 0;return{now:n,local:r,loadCurrent:()=>r?Promise.resolve(r.find(({record:e})=>e.id===t)??{}):Br(e,t,n)}}async function Vr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i);if(!o&&t.store.listAgentSummaries&&(await Sn(t.store,a),ne(r)))return E(await Kr(t,r));let c=o??(t.store.listAgentSummaries?await t.store.listAgentSummaries():await Dn(t.store));if(!o&&!t.store.listAgentSummaries&&await Sn(t.store,a,c)&&(c=await Dn(t.store)),ne(r))return E(await Kr(t,r,c));let l;return E(await Promise.all(c.map(async({record:e,version:n})=>{e.source===`repo`&&e.repo&&(l??=t.store.list(`app`));let r=await zr(t,e,n,l);return{...e,definition:n?.definition,...r?{sourceUrl:r}:{}}})))}async function Hr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i),c=D(r,10,50),l=re(r),[u,d]=await Promise.all([o?s().then(e=>e.record):H(t.store,i),o?Promise.resolve(o.flatMap(({version:e})=>e?[{value:e}]:[])):t.store.listVersions?.(i,c+1,l)]);return u?E(await qr(t,u,c,l??u.currentVersion+1,d)):E({error:`No agent named "${i}"`},404)}async function Ur(e,t,n,r){let i=n.slug,a=n.version?Number(n.version):void 0;if(n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:o,local:s,loadCurrent:c}=await Q(t,i),l=s?s.find(({version:e})=>e?.version===a)?.version:await wn(t.store,i,a);return l?E(l):E({error:`No version ${a} for agent "${i}"`},404)}async function Wr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i),c=r.searchParams.get(`versions`)!==`0`,l=r.searchParams.get(`content`)!==`0`,[{record:u,version:d},f]=await Promise.all([!l&&!o&&t.store.listAgentSummaries&&!v()[i]?t.store.listAgentSummaries({slug:i}).then(e=>e[0]??{}):s(),c?o?o.flatMap(({version:e})=>e?[{value:e}]:[]):t.store.listVersions?t.store.listVersions(i):t.store.list(`agentversion`,{prefix:`${i}:`}):[]]);if(!u)return E({error:`No agent named "${i}"`},404);let p=f.map(({value:e})=>{let{systemPrompt:t,files:n,...r}=e;return r}),m=await zr(t,u,d);return E({...u,...d?{definition:d.definition,...l&&`systemPrompt`in d?{systemPrompt:d.systemPrompt,...d.files?{files:d.files}:{}}:{}}:{},...m?{sourceUrl:m}:{},...c?{versions:p}:{}})}const Gr={builtin:`builtin`,dashboard:`upload`,repository:`repo`};async function Kr(e,t,n){let r=D(t,24,100),i=re(t),a=t.searchParams.get(`q`)?.trim().toLowerCase(),o=Gr[t.searchParams.get(`type`)??``],s=t.searchParams.get(`platform`),c=t.searchParams.get(`connect`)===`1`,l=e.serverOrganizationId,u=e.store.list(`app`),[d,f,p,m]=await Promise.all([u,e.store.list(`installation`),c&&l!==void 0&&l!==e.organizationId&&e.scope?e.scope(l).store.list(`app`):[],n?n.filter(({record:e})=>(!i||e.id>i)&&(!o||e.source===o)&&(!a||[e.id,e.name,e.description,e.repo].some(e=>e?.toLowerCase().includes(a)))):e.store.listAgentSummaries({after:i,source:o,q:a,platform:s??void 0,limit:r+1})]),h=new Set(f.filter(({value:e})=>!e.deletedAt).map(({value:e})=>e.app)),g=(e,t)=>{let n=d.filter(({value:n})=>n.agent===e&&n.integration===t);return n.length?n.some(({value:e})=>h.has(e.id))?`installed`:`created`:`none`},_=[];for(let{record:e,version:t}of m){let n=Object.keys(t?.definition?.integrations??{}).sort();if(!(s&&!n.includes(s))&&(_.push({record:e,version:t,ids:n}),_.length>r))break}let v=ce(_,r,e=>e.record.id);return{...v,...c?{connectable:[...d,...p.map(e=>({...e,value:{...e.value,builtin:!0}}))].filter(({value:e})=>e.builtin&&!h.has(e.id)).map(({value:e})=>({id:e.id,integration:e.integration}))}:{},items:await Promise.all(v.items.map(async({record:t,version:n,ids:r})=>{let i=await zr(e,t,n,u);return{...t,definition:n?.definition,...i?{sourceUrl:i}:{},platforms:r.map(e=>({id:e,state:g(t.id,e)}))}}))}}async function qr(e,t,n,r,i){let a=r-n-2,o=(i??await e.store.list(`agentversion`,{prefix:`${t.id}:`,...a>0?{after:ye(t.id,a)}:{},limit:n+1})).map(({value:e})=>{let{systemPrompt:t,files:n,definition:r,...i}=e;return i}).filter(e=>e.version<r).reverse();return ce(o,n,e=>e.version)}function Jr(e){if(!e||Array.isArray(e)||typeof e!=`object`)return!1;let t=Object.entries(e);if(t.length>100)return!1;let n=0;for(let[e,r]of t){if(typeof r!=`string`||e.startsWith(`/`)||e.includes(`\\`)||e.includes(`\0`)||e.split(`/`).includes(`..`)||e===`agent.json`||e===`system.md`)return!1;n+=Buffer.byteLength(e)+Buffer.byteLength(r)}return n<=262144}async function Yr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i),c=await e.json().catch(()=>void 0);try{let e=x({[i]:c})[i];if(!e||typeof e!=`object`)throw Error(`settings must be an object`);let{record:n,version:r}=await s();if(!n||!r)throw Error(`No agent named "${i}".`);return xe({...n,settings:void 0},r,e,t.integrations),t.local?(await ve(t,t=>{t.agents={...t.agents,[i]:e}}),await hn(t.store,t.local.cwd,t.integrations),E(await H(t.store,i))):E(await at(t.store,i,e,(t.now??Date.now)()))}catch(e){return E({error:e instanceof Error?e.message:String(e)},400)}}async function Xr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i),{record:c}=await s();if(!c)return E({error:`No agent named "${i}"`},404);if(c.source===`builtin`)return E({error:`Built-in agents cannot be deleted.`},400);if(t.local&&!await Ft(t.local.cwd,t.integrations,i))return E({error:`Delete .coder/agents/${i} in the repo`},409);for(let{id:e}of await t.store.list(`agentversion`,{prefix:`${i}:`}))await t.store.delete(`agentversion`,e);return await t.store.delete(`agent`,i),E({ok:!0})}async function Zr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i),c=await e.json().catch(()=>void 0);if(!c||typeof c.systemPrompt!=`string`||c.files!==void 0&&!Jr(c.files)||c.name!==void 0&&typeof c.name!=`string`||c.description!==void 0&&typeof c.description!=`string`)return E({error:`definition and systemPrompt are required; files must contain strings`},400);try{b([i]);let[e]=y({definitions:{[i]:{json:c.definition,builtin:!1}},usage:void 0},t.integrations);if(!e)throw Error(`No agent named "${i}".`);let n=t.local?await H(t.store,i):void 0,r=t.local&&n?await wn(t.store,i):void 0,a=c.files;t.local&&(await tn(t.local.cwd,t.integrations,i,{definition:{...c.definition,...c.name===void 0?{}:{name:c.name},...c.description===void 0?{}:{description:c.description}},systemPrompt:c.systemPrompt,...a?{files:a}:{}}),await hn(t.store,t.local.cwd,t.integrations));let o=t.local?void 0:await nt(t.store,{id:i,name:c.name??e.name,description:c.description??e.definition.description,source:`upload`,definition:e.definition,systemPrompt:c.systemPrompt,files:a,importedFrom:`upload`},(t.now??Date.now)()),s=o?.version??await wn(t.store,i),l=o?.unchanged??Hn(r&&{...r,createdAt:0},{...s,createdAt:0});await Pe(t,[s]);let u=o?.record??await H(t.store,i);return E({...u,definition:s.definition,version:s.version,unchanged:l})}catch(e){return E({error:e instanceof Error?e.message:String(e)},400)}}async function Qr(e,t,n,r){let i=n.id,a=Number(r.searchParams.get(`after`)??-1),o=Number.isFinite(a)?a:-1;r.searchParams.has(`limit`)&&D(r,500,2e3);let s=await t.store.get(`task`,i);if(!s||t.local&&s.handle?.startsWith(`cli:`)&&s.task.flow==="default"){let n=s?.task.cwd??t.local?.cwd;if(!n||!G(n,i,!1))return E({error:`No task "${i}"`},404);{let r=Number(e.headers.get(`last-event-id`)??o);return oi(e,t,`cli:${n}:${i}`,Number.isFinite(r)?r:o,async e=>{let t=G(n,i);if(t)return{status:t,lines:It(n,i,e,500),pendingResult:$r(n,t,!t.result)}})}}let c=Number(e.headers.get(`last-event-id`)??o),l=t.statementTimeout??((e,t)=>t());return oi(e,t,i,Number.isFinite(c)?c:o,e=>l(ii,async()=>{let n=await t.store.get(`task`,i);if(!n)return;let r=n.task.runner===`github-actions`&&n.handle,a=r&&F.has(n.status)?(await(await Xe(t,n.task))?.status(n.handle).catch(()=>void 0))?.state===`running`:!1;return{status:n,lines:([`running`,`waiting`].includes(n.status)||r)&&n.handle?await yt(t,n,e,500).catch(()=>vt(t.store,i,e,500)):await vt(t.store,i,e,500),pendingLogs:a}}))}function $r(e,t,n=!1){if(!F.has(t.status)||t.error||t.status===`cancelled`)return!1;let r=l(e,t.task.id),i=Math.max(t.finishedAt??0,Date.parse(r?.resumedAt??r?.createdAt??``)||0);return n||(Rn.statSync(q.join(h(e,t.task.id),`result.json`),{throwIfNoEntry:!1})?.mtimeMs??0)<i}const ei=1e3,$=3e4;function ti(e,t,n,r){let i=[...new Set((r.searchParams.get(`tasks`)??``).split(`,`).filter(Boolean))].slice(0,100),a=Date.now(),o=t.taskWatcher??new ri,s=o.tag(t),[c,l]=(e.headers.get(`last-event-id`)??``).split(`-`),u=Number(c),d=u>0&&`-${l}`===s,f=d?Math.min(Math.max(u,a-29e4),a):a,p=u>0&&(!d||u<f)?`event: reset
2
- data: {}
3
-
4
- `:``,m=new TextEncoder,h=()=>{},g=new ReadableStream({start(n){n.enqueue(m.encode(`retry: ${ei}\nid: ${f}${s}\n\n${p}`)),h=o.watch(t,i,f,e=>n.enqueue(m.encode(e)),()=>n.close());let r=()=>{h();try{n.close()}catch{}};e.signal.aborted?r():e.signal.addEventListener(`abort`,r)},cancel(){h()}});return new Response(g,{headers:{"content-type":`text/event-stream; charset=utf-8`,"cache-control":`no-cache, no-transform`}})}function ni(e,t){let{task:n,approval:r,archivedAt:i,createdAt:a,startedAt:o,finishedAt:s}=e;return{id:n.id,agent:n.agent,status:e.status,approval:r??null,archivedAt:e.autoArchived&&!t?void 0:i,createdAt:a,startedAt:o,finishedAt:s,...t?{result:e.result??null,error:e.error??null,answer:e.answer??null}:{}}}var ri=class{options;watches=new Set;timer;reading=!1;closed=!1;last=Date.now();scans=new Map;left=new Map;archived=new Map;reads=0;generation=Vn().slice(0,8);constructor(e={}){this.options=e}watch(e,t,n,r,i){if(this.closed)return queueMicrotask(i),()=>{};let a=Date.now();this.watches.size||(this.last=a);let o={ctx:e,ids:new Set(t),sent:new Map,gone:new Set,from:n,fresh:!0,tag:this.tag(e),beat:a,marked:a,until:a+(this.options.lifeMs??29e4),send:r,close:i};return this.watches.add(o),this.timer||(this.timer=setInterval(()=>this.tick(),this.options.pollMs??1e3),this.timer.unref?.()),this.tick(),()=>this.drop(o)}tag(e){return`-${zn(`sha256`).update(e.organizationId).digest(`hex`).slice(0,8)}${e.queue instanceof nn?`.${this.generation}`:``}`}close(){this.closed=!0;for(let e of[...this.watches]){this.drop(e);try{e.close()}catch{}}}drop(e){this.watches.delete(e)&&(this.watches.size||(clearInterval(this.timer),this.timer=void 0))}tick(){let e=Date.now();for(let t of[...this.watches])if(e>=t.until){this.drop(t);try{t.close()}catch{}}else e-t.beat>=(this.options.heartbeatMs??2e4)&&(t.beat=e,this.send(t,`: ping
5
-
6
- `));this.reading||!this.watches.size||(this.reading=!0,this.read(e).finally(()=>this.reading=!1))}send(e,t){try{e.send(t)}catch{this.drop(e)}}async read(e){let t=[...this.watches],n=new Map;for(let e of t){let t=n.get(e.ctx.organizationId)??{ctx:e.ctx,ids:new Set};for(let n of e.ids)t.ids.add(n);n.set(e.ctx.organizationId,t)}let r=Math.min(this.last,...t.flatMap(e=>e.fresh?[e.from]:[]));this.reads++;let i=await this.changes(n,r-$,e).catch(()=>void 0);if(i){this.last=e;for(let n of t){if(!this.watches.has(n))continue;let t=[];try{t=this.news(n,i,e)}catch{}!t.length&&e-n.marked>=(this.options.heartbeatMs??2e4)&&t.push(`id: ${e}${n.tag}\n\n`),t.length&&(n.marked=e,this.send(n,t.join(``)))}}}async changes(e,t,n){let r=await[...e.values()][0].ctx.queue.changes([...e].map(([e,t])=>({organizationId:e,ids:[...t.ids]})),t),i=new Map;for(let{organizationId:e,status:t}of r.rows){let n=i.get(e)??new Map;i.set(e,n.set(t.task.id,t))}let a=new Map;for(let{organizationId:e,id:t,at:n}of r.deleted){let r=a.get(e)??new Map;a.set(e,r.set(t,n))}for(let[t,{ctx:r}]of e){if(!r.local)continue;let e=[...i.get(t)?.values()??[]],a=this.scans.get(r.local.cwd);if(!a||n-a.at>=4e3||e.some(e=>e.updatedAt>a.at)){let e=!a||n-a.archivedAt>=15e3;await vn(r,r.local.cwd);let t=e?W(r.local.cwd,!0):a.archived,i=W(r.local.cwd,!1),o=new Set(i.map(e=>e.task.id)),s=[...i,...t.filter(e=>!o.has(e.task.id))],c=new Set(s.map(e=>e.task.id)),u=this.left.get(r.local.cwd)??new Map;for(let e of a?.rows??[])c.has(e.task.id)||u.set(e.task.id,a.at);for(let[e,t]of u)(t<n-6e5||c.has(e))&&u.delete(e);let d=this.archived.get(r.local.cwd)??new Set;for(let e of d)c.has(e)?d.delete(e):l(r.local.cwd,e)||(u.set(e,a?.at??n),d.delete(e));this.left.set(r.local.cwd,u),this.scans.set(r.local.cwd,a={at:n,rows:s,archived:t,archivedAt:e?n:a.archivedAt})}i.set(t,new Map(Ce(r.local.cwd,a.rows,e).map(e=>[e.task.id,e])))}return{rows:i,deleted:a}}news(e,{rows:t,deleted:n},r){let{ctx:i}=e,a=t.get(i.organizationId)??new Map,o=[],s=(t,n)=>{let i=JSON.stringify(n);e.sent.get(t)!==i&&(e.sent.set(t,i),o.push(`id: ${r}${e.tag}\nevent: task\ndata: ${i}\n\n`))},c=e=>({id:e,deleted:!0}),l=t=>{let n=i.local&&G(i.local.cwd,t,e.ids.has(t));if(s(t,n?ni(n,e.ids.has(t)):c(t)),e.gone.add(t),n&&i.local){let e=this.archived.get(i.local.cwd)??new Set;this.archived.set(i.local.cwd,e.add(t))}};for(let[t,n]of a){let a=e.ids.has(t);e.gone.delete(t);let o=ni(a&&i.local&&n.local&&F.has(n.status)?G(i.local.cwd,t)??n:n,a);if(i.local&&n.local&&e.sent.get(t)!==JSON.stringify(o)&&r-(n.finishedAt??0)<$&&$r(i.local.cwd,n)){e.sent.has(t)||e.sent.set(t,``);continue}a||i.local&&!e.fresh||n.updatedAt>e.from-$?s(t,o):e.fresh&&e.sent.set(t,JSON.stringify(o))}for(let t of e.ids)a.has(t)||l(t);for(let[t,r]of n.get(i.organizationId)??[])r>e.from-$&&s(t,c(t));if(i.local){for(let t of e.sent.keys())!a.has(t)&&!e.ids.has(t)&&!e.gone.has(t)&&l(t);for(let[t,n]of this.left.get(i.local.cwd)??[])n>e.from-$&&!a.has(t)&&e.sent.get(t)!==JSON.stringify(c(t))&&l(t)}return e.fresh=!1,e.from=r,o}};const ii=1e4;var ai=class{options;feeds=new Map;closed=!1;reads=0;constructor(e={}){this.options=e}watch(e,t,n,r,i){if(this.closed)return queueMicrotask(i),()=>{};let a=this.feeds.get(e),o=a?.reading!==void 0&&Date.now()-a.reading>=(this.options.stallMs??1e4);if(!a||o){let t={key:e,read:n,watches:new Set,head:1/0};if(a){clearTimeout(a.timer);for(let e of a.watches)t.watches.add(Object.assign(e,{feed:t}));a.watches.clear()}this.feeds.set(e,a=t)}let s={cursor:t,feed:a,timers:[],send:r,close:i};s.timers=[setTimeout(()=>this.end(s),this.options.lifeMs??5e4),setInterval(()=>this.send(s,`: ping
7
-
8
- `),this.options.heartbeatMs??2e4)];for(let e of s.timers)e.unref?.();return a.watches.add(s),a.reading===void 0&&t<a.head&&(clearTimeout(a.timer),this.read(a)),()=>this.drop(s)}close(){this.closed=!0;for(let e of[...this.feeds.values()])for(let t of[...e.watches])this.end(t)}drop(e){let{feed:t}=e;for(let t of e.timers)clearTimeout(t);!t.watches.delete(e)||t.watches.size||(clearTimeout(t.timer),this.feeds.get(t.key)===t&&this.feeds.delete(t.key))}end(e,t=``){try{t&&e.send(t),e.close()}catch{}this.drop(e)}send(e,t){try{e.send(t)}catch{this.drop(e)}}async read(e){if(e.timer=void 0,this.feeds.get(e.key)!==e||!e.watches.size)return;let t=[...e.watches],n=Math.min(...t.map(e=>e.cursor));e.reading=Date.now(),this.reads++;let r=await e.read(n).catch(()=>null);if(e.reading=void 0,this.feeds.get(e.key)!==e)return;let i=t.filter(t=>e.watches.has(t)),a=i.length<e.watches.size?0:this.options.pollMs??1e3;if(r===void 0)for(let e of i)this.end(e);else if(r){let{status:t,lines:o,pendingLogs:s,pendingResult:c}=r,l=o.length===500,u=F.has(t.status)&&!l&&!s&&!c,d=o.map(e=>[e.seq,`id: ${e.seq}\nevent: log\ndata: ${JSON.stringify(e)}\n\n`]);e.head=Math.max(n,o.at(-1)?.seq??n),l&&(a=0);for(let e of i){let t=d.flatMap(([t,n])=>t>e.cursor?[n]:[]).join(``);e.cursor=Math.max(e.cursor,o.at(-1)?.seq??-1),u?this.end(e,`${t}event: end\ndata: {}\n\n`):t&&this.send(e,t)}}this.feeds.get(e.key)===e&&(e.timer=setTimeout(()=>void this.read(e),a),e.timer.unref?.())}};function oi(e,t,n,r,i){let a=t.logWatcher??new ai,o=new TextEncoder,s=()=>{},c=new ReadableStream({start(c){c.enqueue(o.encode(`retry: ${ei}\n\n`)),s=a.watch(`${t.organizationId}:${n}`,r,i,e=>c.enqueue(o.encode(e)),()=>c.close());let l=()=>{s();try{c.close()}catch{}};e.signal.aborted?l():e.signal.addEventListener(`abort`,l)},cancel(){s()}});return new Response(c,{headers:{"content-type":`text/event-stream; charset=utf-8`,"cache-control":`no-cache, no-transform`}})}var si=class{options;entries=new Map;pending=new Map;constructor(e={ttlMs:6e5,max:100}){this.options=e}get size(){return this.entries.size}get inFlight(){return this.pending.size}has(e){return this.entries.has(e)}keys(){return this.entries.keys()}async get(e,t){let n=this.options.now??Date.now,r=n(),i=this.entries.get(e);if(i&&r-i.at<this.options.ttlMs)return i.value;for(let[t,n]of this.entries)t!==e&&r-n.at>=this.options.ttlMs&&this.entries.delete(t);let a=this.pending.get(e);return a||(a=Promise.resolve().then(t).then(t=>{if(t===void 0)return i?.value;if(this.options.accept&&!this.options.accept(t))return i?.value??t;this.entries.set(e,{value:t,at:n()});let r=this.entries.keys().next().value;return this.entries.size>this.options.max&&r!==void 0&&this.entries.delete(r),t}).catch(()=>i?.value).finally(()=>this.pending.delete(e)),this.pending.set(e,a)),a}};const ci=/^[a-z0-9][a-z0-9-]*$/,li=new Set([`openrouter.ai`,`ai-gateway.vercel.sh`,`api.groq.com`,`api.together.xyz`]);function ui(e){return{builtin:{codex:i,claude:c},models:e.models??{}}}async function di(e,t){let{baseUrl:n,envKey:r,key:i}=await K(e);if(!n||!/^https?:\/\//.test(n)||!URL.canParse(n))return E({error:`An http or https base URL is required`},400);let a=!i&&r&&await fi(t,n,r)?await an(t,r):void 0,o=i||a,s=t.settings??={},c=s.probes??=new si({ttlMs:6e5,max:100,now:t.now,accept:e=>e.reachable}),l=`${new URL(n).host}|${r??``}|${C(String(o??``))}`;return E(await c.get(l,()=>te({baseUrl:n},{key:o,fetch:t.fetch})))}async function fi(e,t,n){let r=new URL(t).host;if(li.has(r))return!0;let i=(await be(e)).models??{};return Object.values(i).some(e=>`baseUrl`in e&&e.envKey===n&&new URL(e.baseUrl).host===r)}async function pi(e,t,n,r){return E(ui(await be(t)))}async function mi(e,n,r,i){let{name:a=``,...o}=await K(e);return!ci.test(a)||t(a)?E({error:`Invalid model name "${a}"`},400):R(n,e=>{if(e.models?.[a])throw new V(`"${a}" already exists`);e.models={...e.models,[a]:o}})}async function hi(e,t,n,r){let i=n.name;return R(t,e=>{if(!e.models?.[i])throw new V(`No model "${i}"`);g(e,i)})}async function gi(e,t,a,o){let s=a.name,{spec:l}=await K(e);return R(t,e=>{if(!ci.test(s))throw new V(`Invalid alias name "${s}"`);let t=e.models?.[s];if(t&&f(t))throw new V(`"${s}" is a custom model name`);let a=d(l,u(e));if(!a?.model||a.engine===`custom`)throw new V(`"${l}" does not name a codex or claude model`);let o=a.engine===`claude`?c:i,p=l.split(`:`).some(e=>n.has(e)||r.has(e));e.models={...e.models,[s]:{provider:a.engine,model:o[a.model]??a.model,...p&&a.effort?{effort:a.effort}:{}}}})}async function _i(e,t,n,r){let i=n.name;return R(t,e=>{let t=e.models??={},n=t[i];n&&(f(n)||o(n))?n.disabled=!0:t[i]={disabled:!0}})}async function vi(e,t,n,r){let i=n.name;return R(t,e=>{let t=e.models??={},n=t[i];n&&(f(n)||o(n))?delete n.disabled:delete t[i]})}const yi=/^[a-z0-9][a-z0-9_-]*$/i;async function bi(e,t,n,r){return E((await be(t)).mcp??{})}async function xi(e,t,n,r){let{name:i=``,...a}=await K(e);return yi.test(i)?R(t,e=>{e.mcp={...e.mcp,[i]:a}}):E({error:`Invalid server name "${i}"`},400)}async function Si(e,t,n,r){let i=n.name;return R(t,e=>{if(!e.mcp?.[i])throw new V(`No MCP server "${i}"`);delete e.mcp[i]})}const Ci={npm:[`npx`,`-y`],pypi:[`uvx`],oci:[`docker`,`run`,`-i`,`--rm`]},wi=(e=[])=>e.map(({name:e,description:t,isRequired:n,isSecret:r,value:i,default:a})=>({name:e,...t?{description:t}:{},...i??a?{placeholder:i??a}:{},required:n===!0,secret:r===!0}));function Ti(e=[],t,n){return e.flatMap((e,r)=>{let i=`${t}:${r}`,a=Object.entries(e.variables??{}),o=e.value??e.default,s=(e,t,r)=>{let[i]=wi([{...r,name:e}]);return n.push({...i,label:t}),`{${e}}`};if(a.length)for(let[e,t]of a)o=o?.replaceAll(`{${e}}`,s(`${i}:${e}`,e,t));else o===void 0&&(e.valueHint||e.isRequired)&&(o=s(i,e.valueHint??e.name??i,e));return[...e.type===`named`&&e.name?[e.name]:[],...o===void 0?[]:[o]]})}function Ei(e){let t=e.remotes?.find(e=>e.type===`streamable-http`||e.type===`sse`);if(t)return{type:t.type===`sse`?`sse`:`http`,url:t.url,env:[],headers:wi(t.headers)};let n=e.packages?.find(e=>Ci[e.registryType]&&(e.transport?.type??`stdio`)===`stdio`);if(!n)return;let[r,...i]=Ci[n.registryType],a=[],o=Ti(n.runtimeArguments,`runtime`,a),s=Ti(n.packageArguments,`package`,a);return{type:`stdio`,command:n.runtimeHint??r,args:[...!n.runtimeHint||n.runtimeHint===r?i:[],...o,n.identifier,...s],...a.length?{argumentInputs:a}:{},env:wi(n.environmentVariables),headers:[]}}async function Di(e,t,n){let r=n.searchParams.get(`q`)?.trim()??``,i=t.settings??={},a=await(i.registry??=new si({ttlMs:6e5,max:100,now:t.now})).get(r,()=>Oi(t,r));return a?E(a):E({error:`The MCP registry did not answer. Try again.`},502)}async function Oi(e,t){let n=new URLSearchParams({version:`latest`,limit:`30`});t&&n.set(`search`,t);try{let t=await(e.fetch??fetch)(`https://registry.modelcontextprotocol.io/v0.1/servers?${n}`,{headers:{accept:`application/json`},signal:AbortSignal.timeout(2e4)});if(!t.ok)return;let{servers:r=[]}=await t.json();return r.flatMap(({server:e})=>{let t=Ei(e);return t?[{name:e.name,title:e.title??e.name.split(`/`).pop()??e.name,description:e.description??``,...t}]:[]})}catch{return}}const ki=`/api/auth/callback`,Ai=`/.well-known/oauth-client.json`,ji=`/.well-known/oauth-cli-client.json`,Mi=`openid profile email offline_access organizations:read`;function Ni(e,t){return{client_id:`${e}${Ai}`,client_name:`Coder at ${new URL(e).host}`,redirect_uris:[`${e}${ki}`],post_logout_redirect_uris:[`${e}/?signed_out=1`],grant_types:[`authorization_code`,`refresh_token`],response_types:[`code`],token_endpoint_auth_method:`private_key_jwt`,token_endpoint_auth_signing_alg:`ES256`,jwks:t,scope:Mi}}function Pi(e){return{client_id:`${e}${ji}`,client_name:`Coder CLI for ${new URL(e).host}`,redirect_uris:[`http://127.0.0.1/callback`],grant_types:[`authorization_code`,`refresh_token`,`urn:ietf:params:oauth:grant-type:device_code`],response_types:[`code`],token_endpoint_auth_method:`none`,scope:Mi}}function Fi(e,t){return{resource:new URL(e).origin,authorization_servers:[t],bearer_methods_supported:[`header`],scopes_supported:Mi.split(` `)}}function Ii(e){let t=E(e);return t.headers.set(`cache-control`,`public, max-age=3600`),t}function Li(e,t,n,r){return t.config.publicUrl&&t.auth?Ii(Ni(t.config.publicUrl,t.auth.jwks)):void 0}function Ri(e,t,n,r){return t.config.publicUrl&&t.auth?Ii(Pi(t.config.publicUrl)):void 0}function zi(e,t,n,r){return t.config.publicUrl&&t.auth?Ii(Fi(t.config.publicUrl,t.auth.issuer)):void 0}const Bi=[B(`GET`,Ai,Li,Ue),B(`GET`,ji,Ri,Ue),B(`GET`,`/.well-known/oauth-protected-resource`,zi,Ue),B(`GET`,`/health`,(e,t)=>Qn(t)),B(`GET`,`/`,fn,Te),B(`GET`,`/login`,Mt,An),...Rt(`/login`,kt,An).filter(e=>e.method!==`GET`),B(`POST`,`/dash/token`,rn,Cn),...Rt(`/dash`,Tt,_e)],Vi=[B(`GET`,`/api/auth/capabilities`,(e,t)=>E({wular:t.auth?.issuer??null})),...Rt(`/api/auth`,(e,t)=>t.auth.handler(e),On),B(`GET`,`/me`,tr,zt),B(`POST`,`/me/organization`,rr,Ze)],Hi=[...U(`/tasks`,[B(`GET`,`/:id/messages`,Re,Se),B(`POST`,`/:id/ack`,lt,Se),B(`POST`,`/:id/heartbeat`,ht,Se),B(`POST`,`/:id/result`,Fe,Dt),B(`POST`,`/:id/credential`,ln,Dt),B(`GET`,`/:id`,Oe,ft)]),...U(`/logins`,[B(`GET`,`/:id/input`,mr,Gt),B(`GET`,`/:id`,hr,Gt),B(`POST`,`/:id`,gr,Gt)]),...U(`/runners`,[B(`POST`,`/register`,en)])],Ui=[...U(`/create`,[B(`GET`,`/:id`,_r,Tn),B(`POST`,`/:id`,_r,Tn),B(`GET`,`/:id/callback`,vr,Tn),B(`POST`,`/:id/callback`,yr,Tn)]),...U(`/install`,[B(`GET`,`/:id`,br,M),B(`POST`,`/:id`,br,M),B(`GET`,`/:id/callback`,xr,M),B(`POST`,`/:id/callback`,xr,M)])],Wi=U(`/connect`,[B(`GET`,``,wr,je),B(`POST`,``,Tr,je),B(`GET`,`/:integration`,Er,Ke),B(`GET`,`/:integration/callback`,Dr,Ke)]),Gi=[...U(`/hooks`,[B(`POST`,`/*`,(e,t,n)=>pe(e,t,n[`*`]),(e,t,n)=>t.integrations[n[`*`]]?t:O())]),...Ui,...Wi],Ki=[B(`GET`,`/metrics`,async(e,t)=>E(await er(t),200,{"cache-control":`no-store`}),bn),B(`GET`,`/usage`,In),B(`GET`,`/usage/totals`,Ln)],qi=U(``,[B(`GET`,`/folders`,(e,t)=>E(fe(t.local.cwd))),B(`POST`,`/folders/check`,async(e,t)=>{let n=await e.json().catch(()=>void 0);return E(qe(n?.path))}),B(`POST`,`/folders/clone`,async(e,t)=>{let n=await e.json().catch(()=>void 0);return E(await qt(n?.url))}),B(`POST`,`/folders/pick`,async(e,t)=>E(await Wt()))],Jt),Ji=U(``,[B(`GET`,`/engines/status`,async(e,t)=>E(await jt())),B(`POST`,`/engines/:engine/login`,on),B(`POST`,`/engines/:engine/logout`,$t)],ot),Yi=[B(`POST`,`/apps/:id/install`,(e,t,n,r)=>Ar(e,t,n.id,r.searchParams.get(`back`))),B(`GET`,`/apps`,jr),B(`GET`,`/installations`,Mr),B(`POST`,`/connections`,(e,t)=>kr(e,t)),B(`GET`,`/integrations`,(e,t)=>Nr(t)),B(`GET`,`/repositories`,(e,t)=>Pr(t))],Xi=[B(`GET`,`/agents/import`,Lr),B(`POST`,`/agents/import`,Rr),B(`GET`,`/agents`,Vr),B(`PATCH`,`/agents/:slug/settings`,Yr),B(`GET`,`/agents/:slug/versions`,Hr),B(`GET`,`/agents/:slug/versions/:version`,Ur),B(`GET`,`/agents/:slug`,Wr),B(`DELETE`,`/agents/:slug`,Xr,(e,t)=>Ne(t,`Only an owner or admin can delete an agent.`)),B(`PUT`,`/agents/:slug`,Zr)],Zi=[B(`GET`,`/credentials`,_n),B(`POST`,`/credentials`,Et,rt),B(`POST`,`/credentials/:label/default`,At),B(`DELETE`,`/credentials/:label`,Zt),B(`POST`,`/logins`,ir,j),B(`GET`,`/logins/:id`,ar,j),B(`POST`,`/logins/:id`,or,j),B(`DELETE`,`/logins/:id`,sr,j)],Qi=[B(`GET`,`/runners`,Nt),B(`POST`,`/runners`,$e),B(`POST`,`/runners/pair`,mn),B(`POST`,`/runners/:id/test`,St),B(`PATCH`,`/runners/:id`,dn),B(`DELETE`,`/runners/:id`,ue)],$i=[B(`GET`,`/tasks`,Ye),B(`POST`,`/tasks`,Kt),B(`GET`,`/tasks/:id`,Me),B(`DELETE`,`/tasks/:id`,ze),B(`GET`,`/tasks/:id/logs`,kn),B(`GET`,`/tasks/:id/stream`,Qr),B(`POST`,`/tasks/:id/steer`,et),B(`POST`,`/tasks/:id/ask`,Ve),B(`POST`,`/tasks/:id/approve`,de),B(`POST`,`/tasks/:id/cancel`,We),B(`POST`,`/tasks/:id/archive`,Ut),B(`GET`,`/events`,ti)],ea=[B(`GET`,`/config`,xn),B(`PATCH`,`/config`,he),B(`PUT`,`/config`,it)],ta=[B(`POST`,`/models/probe`,(e,t)=>di(e,t)),B(`GET`,`/models`,pi),B(`POST`,`/models`,mi),B(`DELETE`,`/models/:name`,hi),B(`POST`,`/models/:name/alias`,gi),B(`POST`,`/models/:name/disable`,_i),B(`POST`,`/models/:name/enable`,vi)],na=[B(`GET`,`/mcp`,bi),B(`POST`,`/mcp`,xi),B(`DELETE`,`/mcp/:name`,Si),B(`GET`,`/mcp-registry`,(e,t,n,r)=>Di(e,t,r))],ra=[B(`GET`,`/flows`,ut),B(`GET`,`/pulls`,ke),B(`POST`,`/flows/:name/run`,pt),B(`POST`,`/review`,st)],ia=U(`/admin`,[...Ki,...qi,...Ji,...Yi,...Xi,...Zi,...Qi,...$i,...ea,...ta,...na,...ra]).map(e=>({...e,guard:wt(e.guard)})),aa=[...Hi,...ia,...Vi,...Gi,...Bi];async function oa(e,t,n){if(!Je(e,t))return O();let r=new URL(e.url);return n.scope instanceof Response?n.scope:(t=n.scope??t,await Qt(aa,e,t,r)??Xt(e,t,r))}const sa=`x-coder-request-scope`;function ca(e,{sessions:t,cookies:n}){let r=e.auth;return r?{...e,auth:{...r,session(e,i){let a=JSON.stringify([...[`cookie`,`authorization`,`x-coder-organization`].map(t=>e.get(t)),!!i]),o=t.get(a);return o||(o=r.session(e,i,n),t.set(a,o)),o}}}:e}function la(e,t,n){let r=t.requestScopes??=new Map,i=e.headers.get(sa),a=n&&i?r.get(i):void 0;if(a)return{req:e,ctx:ca(t,a),end(){}};let o=new Headers(e.headers);if(o.delete(sa),!t.auth)return{req:i?new Request(e,{headers:o}):e,ctx:t,end(){}};let s=Vn(),c={sessions:new Map,cookies:[]};return r.set(s,c),o.set(sa,s),{req:new Request(e,{headers:o}),ctx:ca(t,c),cookies:c.cookies,end:()=>r.delete(s)}}async function ua(e,t,n={}){t.limits??=new Qe((t.now??Date.now)()),t.limits.requests++,t.settings??={},t.taskWatcher??=new ri,t.logWatcher??=new ai,t.dashboardHosts??=new Ht;let r=()=>da(e,t,n);return t.dbProfile?t.dbProfile.request(n.inProcess===!0,r):r()}async function da(e,t,n){let r=await ie(e,se(new URL(e.url).pathname));if(r instanceof Response)return r;let i=la(r,t,n.inProcess===!0),a=!1;try{let r=n.clientIp??`unknown`,o=await le(i.req,i.ctx,r),s=fa(o instanceof Response?o:await oa(i.req,i.ctx,o),i.cookies),c=new URL(e.url).pathname.split(`/`),l=c[1]===`tasks`,u=c[1]===`admin`&&c[2]===`tasks`;return e.method!==`GET`&&s.ok&&![`hooks`,`tasks`,`logins`].includes(c[1])&&Yt(t),e.method!==`GET`&&s.ok&&!(l&&c.length===4&&c[2]&&c[3]===`heartbeat`)&&!(u&&c.length===5&&c[3]&&[`steer`,`ask`,`approve`,`archive`].includes(c[4]))&&(l||u||c[1]===`admin`&&c[2]===`review`||c[1]===`admin`&&c[2]===`flows`&&c.length===5&&c[3]&&c[4]===`run`)&&bt(t,u&&c.length===3&&e.method===`POST`),a=!!s.body&&(s.headers.get(`content-type`)??``).includes(`text/html`),a?pa(s,i.end):s}finally{a||i.end()}}function fa(e,t=[]){if(!t.length)return e;let n=new Headers(e.headers);for(let e of t)n.append(`set-cookie`,e);return new Response(e.body,{status:e.status,statusText:e.statusText,headers:n})}function pa(e,t){let n=e.body.getReader(),r=new ReadableStream({async pull(e){try{let{done:r,value:i}=await n.read();r?(t(),e.close()):e.enqueue(i)}catch(n){t(),e.error(n)}},cancel(e){return t(),n.cancel(e)}});return new Response(r,e)}async function ma(e={}){let t=e.env??J.env,n=jn(t,e.host??`node`),r=e.runner??n.runner;if((e.host===`vercel`||t.VERCEL)&&(r===`local`||r===`local-docker`))throw new s(`invalid-option`,`The ${r} runner cannot run on Vercel.`,{hint:`Leave RUNNER unset to use vercel-sandbox.`});if(n.store===`memory`&&r!==`local`&&r!==`local-docker`)throw new s(`invalid-option`,`The ${r} runner needs a database.`,{hint:`Set DATABASE_URL, or use RUNNER=local for a memory server.`});if(!n.publicUrl)throw new s(`invalid-option`,`PUBLIC_URL is required to start a Coder server.`,{hint:`Set PUBLIC_URL to the address platforms and browsers use.`});let i=[];if(n.store===`memory`&&!e.local&&i.push(`test server, not for production: everything is in memory, nothing survives a restart, no sign-in; set DATABASE_URL for a real deployment`),!t.SERVER_ENCRYPTION_KEY&&!e.local&&i.push(`secrets are stored unencrypted; set SERVER_ENCRYPTION_KEY (openssl rand -base64 32)`),n.store===`postgres`&&!n.encryptionKey)throw new s(`invalid-option`,`SERVER_ENCRYPTION_KEY is required for a Postgres server.`,{hint:`Set SERVER_ENCRYPTION_KEY (openssl rand -base64 32); sign-in keys derive from it.`});let a=ee(n.integrations),o=n.store===`memory`&&!n.adminToken?Bn(18).toString(`base64url`):void 0;n.store===`postgres`&&n.adminToken&&i.push(`ADMIN_TOKEN is ignored with Postgres; owners and admins sign in with coder auth login`);let c={...n,...n.store===`postgres`?{adminToken:void 0}:{},...o?{adminToken:o}:{},...e.runner?{runner:e.runner}:{}},l=await pn(c,{local:!!e.local});if(l.connection)try{let e=await Pn(l.connection.db);if(!e.applied)throw new s(`server`,`The database is not set up yet.`,{hint:`Create the tables: coder server migrate`});e.pending&&i.push(`database is ${e.pending} migration${e.pending===1?``:`s`} behind; run coder server migrate`)}catch(e){throw await l.close(),e}try{c.store===`memory`&&await Sn(l.store(l.defaultOrganizationId),Date.now());let n=l.connection&&c.auth?await(await import(`./auth-CS0cH0gq.js`)).createAuth(l.connection.db,c):void 0,r=e.cwd??J.cwd(),u=l.store(l.defaultOrganizationId),d=Ge({kind:c.runner,workDir:c.workDir,config:c.runnerConfig,local:!(e.host===`vercel`||t.VERCEL),sandbox:{region:we(c.databaseUrl),snapshots:{get:e=>u.get(`snapshot`,e),put:(e,t)=>u.put(`snapshot`,e,t)}}});if(!d[c.runner])throw await l.close(),new s(`invalid-option`,`Runner ${c.runner} is not configured.`,{hint:`Set RUNNER_CONFIG to JSON containing url and secret.`});let f=new Ht,p=new Qe,m=new Map,h=new Map,g=new ri,_=new ai,v=t=>{let i=m.get(t);if(i)return i;let o=l.store(t),s={limits:p,...l.connection?{databaseHealth:async()=>{await l.connection.db.execute(Wn`select 1`)},statementTimeout:l.connection.statementTimeout,healthRunners:async()=>{let[e]=await l.connection.db.select({total:Wn`count(*)::int`,online:Wn`count(*) filter (where ${Nn.lastSeen} > clock_timestamp() - interval '5 minutes')::int`}).from(Nn);return e??{online:0,total:0}}}:{},config:c,settings:{},organizationId:t,integrations:a,runners:d,store:o,queue:l.queue,requestScopes:h,taskWatcher:g,logWatcher:_,dashboardHosts:f,dbProfile:l.connection?.profile,chatState:l.chatState,loadAgent:sn(a,{cwd:r,config:c,store:o}),...n?{auth:n}:{},scope:v,webhookTarget:(e,t)=>l.webhookTarget(e,t),appRecord:e=>l.appRecord(e),installationOrganization:e=>l.installationOrganization(e),installations:e=>l.installations(e),serverOrganizationId:l.defaultOrganizationId,taskOrganization:(e,t)=>l.taskOrganization(e,t),...e.local?{local:e.local}:{}};return m.set(t,s),s};globalThis.__coder={handle:e=>ua(e,v(l.defaultOrganizationId),{inProcess:!0})};let y=v(l.defaultOrganizationId),b;return e.local&&(await Lt(y),b=setImmediate(()=>{En(y).catch(()=>void 0)})),{config:c,context:v,defaultContext:y,warnings:i,...o?{mintedToken:o}:{},sweep:l.sweep,close:async()=>{g.close(),_.close(),b&&clearImmediate(b),await y.local?.usageSync?.catch(()=>void 0),await Ct(y),await l.close()}}}catch(e){throw await l.close(),e}}var ha=e({serve:()=>ya,serverHandler:()=>_a});function ga(e){try{let t=new URL(e);return Bt.has(t.hostname)?Number(t.port||(t.protocol===`https:`?443:80)):void 0}catch{return}}function _a(e=J.env,t=e.VERCEL?`vercel`:`node`){Mn();let n,r=()=>n??=ma({env:e,host:t}).catch(e=>{throw n=void 0,e});return Object.assign(async(t,n)=>{let i=await r(),a=n?e=>n(e):e=>void e.catch(()=>{}),o=e=>({...i.context(e),waitUntil:a,scope:o});return ua(t,o(i.defaultContext.organizationId),{clientIp:e.VERCEL?t.headers.get(`x-forwarded-for`)?.split(`,`,1)[0]?.trim():void 0})},{scheduled:async()=>{let e=await r();await Promise.all([e.sweep(),import(`./store-Cxc2GYyj.js`).then(e=>e.Y).then(t=>t.renewInstallations(e.defaultContext)),gt(e.defaultContext,!1,!0),Ot(e.defaultContext)])},close:async()=>{let e=n;n=void 0,await(await e)?.close()}})}async function va(e={}){Mn();let t=e.env??J.env;if(e.runner&&!He.includes(e.runner))throw new s(`invalid-option`,`Invalid --runner value: use ${He.join(`, `)}`);if(e.port!==void 0&&(!Number.isInteger(e.port)||e.port<1||e.port>65535))throw new s(`invalid-option`,`Invalid port: use 1 through 65535.`);let n=t.PORT&&/^\d+$/.test(t.PORT)?Number(t.PORT):void 0,r=ga(t.PUBLIC_URL),i=e.port??n??r??8787;if(!Number.isInteger(i)||i<1||i>65535)throw new s(`invalid-option`,`Invalid PORT: use 1 through 65535.`);let a=t.PUBLIC_URL?t:{...t,PUBLIC_URL:`http://localhost:${i}`},o=!!(t.DATABASE_URL||t.POSTGRES_URL);if(o&&e.memory)throw new s(`invalid-option`,`A memory server cannot use DATABASE_URL.`,{hint:`Unset DATABASE_URL, or drop --memory.`});let c=(e.host??t.HOST??(o?void 0:`127.0.0.1`))?.replace(/^\[(.*)\]$/,`$1`),l=!o&&!e.memory;if(l&&!Bt.has(c))throw new s(`invalid-option`,`A local server listens on loopback only.`,{hint:`Reach it through a tunnel or a proxy on this machine; set DATABASE_URL for a deployment, or use --memory for a test server.`});if(e.memory&&t.VERCEL)throw new s(`invalid-option`,`A memory server cannot run on Vercel.`,{hint:`Set DATABASE_URL for a real deployment.`});let u,d,f=l?new Promise((e,t)=>{d=t,u=()=>{Xn().then(e,t)}}):void 0,p=f?.then(()=>void 0).catch(()=>void 0),m=l?{cwd:e.cwd??J.cwd(),port:i,cacheMaintenance:p}:void 0,h=await ma({cwd:e.cwd,env:a,runner:e.runner,...m?{local:m}:{}}),g=h.defaultContext,_=()=>{h.sweep().catch(()=>{}),import(`./store-Cxc2GYyj.js`).then(e=>e.Y).then(e=>e.renewInstallations(g)).catch(()=>{})};_();let v=setInterval(_,36e5);v.unref();let y=setInterval(()=>{gt(g,!1,!0).catch(()=>{}),Ot(g).catch(()=>{}),t.PUBLIC_URL||import(`./store-Cxc2GYyj.js`).then(e=>e.Y).then(e=>e.renewInstallations(g,`sync`)).catch(()=>{})},6e4);y.unref();let b=Un.createServer(oe((e,t)=>ua(e,g,{clientIp:t}),{limit:se,admit:e=>o||me(e.socket.remoteAddress,e.url??`/`)})),x=h.config.publicUrl;r!==void 0&&r!==i&&h.warnings.push(`PUBLIC_URL points at port ${r} but the server listens on ${i}`),await new Promise((e,t)=>{b.once(`error`,t),b.listen(i,c,e)}).catch(async e=>{throw d?.(e),clearInterval(y),clearInterval(v),await h.close(),e});let S=u?setTimeout(u,0):void 0,C=!1,w=async()=>{C||(C=!0,clearInterval(y),clearInterval(v),g.taskWatcher?.close(),g.logWatcher?.close(),await new Promise((e,t)=>b.close(n=>n?t(n):e())),await p,S&&clearTimeout(S),await h.close())},ee=g.auth?`Wular Auth (${g.auth.issuer})`:void 0,te=`http://localhost:${i}`,T=tt(g),E=T===`local`?te:x,D=h.config.store===`memory`?h.mintedToken??t.ADMIN_TOKEN:void 0;return{address:te,publicUrl:x,warnings:h.warnings,close:w,runner:h.config.runner,store:h.config.store,mode:T,...f?{cacheMigration:f}:{},maxTasks:h.config.maxTasks??h.config.limits?.concurrentTasks??10,...ee?{signIn:ee}:{},...h.mintedToken?{mintedToken:h.mintedToken}:{},...h.config.store===`postgres`&&t.DATABASE_URL?{database:Fn(t.DATABASE_URL)}:{},...Bt.has(new URL(E).hostname)?{dashboard:`${E}/dash${D?`#token=${encodeURIComponent(D)}`:``}`}:{}}}async function ya(e={}){try{return await va(e)}catch(e){if(e instanceof s)throw e;let t=e instanceof Error&&e.cause instanceof Error?`: ${e.cause.message}`:``;throw new s(`server`,`${e instanceof Error?e.message:String(e)}${t}`)}}export{Mi as a,ki as i,ha as n,Ai as o,_a as r,ya as t};