@wular/coder 0.4.10 → 0.4.12

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 (358) hide show
  1. package/README.md +3 -1
  2. package/dist/actions-BT7_eKXm.js +10 -0
  3. package/dist/{adapter-BeezVK-B.js → adapter-BT8ECcRG.js} +1 -1
  4. package/dist/{adapter-ChaISKgI.js → adapter-CU9H4g6c.js} +1 -1
  5. package/dist/{adapter-MD6ahqPR.js → adapter-CVd5klMH.js} +1 -1
  6. package/dist/{agent-B8ItyuHN.js → agent-BA6xr8QY.js} +2 -2
  7. package/dist/apps-D-v5sQJk.js +367 -0
  8. package/dist/args-CbO_Ck9Z.js +11 -0
  9. package/dist/async-XNO3nqum.js +3 -0
  10. package/dist/auth-DuXnSNf9.js +1 -0
  11. package/dist/base64url-CsVsW4Id.js +1 -0
  12. package/dist/chat-CgQdDRhs.js +13 -0
  13. package/dist/cli.js +19 -1
  14. package/dist/{client-DzwzCsue.js → client-C4QCT6cG.js} +2 -2
  15. package/dist/cmd-DX5ByXo3.js +119 -0
  16. package/dist/connection-DNxi2btM.js +1 -0
  17. package/dist/context-65bOofts.js +7 -0
  18. package/dist/dash/standalone/node_modules/contextjsx/dist/index.mjs +1 -0
  19. package/dist/dash/standalone/node_modules/contextjsx/dist/jsx-runtime.mjs +1 -0
  20. package/dist/dash/standalone/node_modules/contextjsx/dist/src-BJ0QFeB8.mjs +2 -0
  21. package/dist/dash/standalone/node_modules/contextjsx/package.json +70 -0
  22. package/dist/dash/standalone/server/build-index.json +1 -1
  23. package/dist/dash/standalone/server/manifest.json +1187 -1187
  24. package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/context/turn.dac8eb211c500271.js +141 -0
  25. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.843431e3538fd9a4.js → index.0de14cb4e30bd70d.js} +1 -5
  26. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.7ae462ef36271be8.js → load.be791a5eaf328738.js} +1 -1
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/{page.806027fde54ab723.js → page.0fbfdba5254f7ae5.js} +1 -1
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.bd04d2d3eba00676.js → page.70913bd4075da914.js} +2 -2
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.857748e260c691e3.js → notify.61aab176baeefebd.js} +1 -1
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.25153459858542f9.js → page.815371ed0d5dd4fa.js} +3 -3
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.ff98573f362d76f3.js → sign-out.1d6af804f9ec043d.js} +1 -1
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.8efd14bc39281da9.js → agents-grid.f43bcc1148ce3650.js} +1 -1
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{connect-apps.d1e67db29b12dc0a.js → connect-apps.f3af8cc8540719d7.js} +2 -2
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.0f7d5e3e42462870.js → page.c6efd5432c1a4a75.js} +7 -7
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.05210ffa6038791f.js → layout.a795379254982121.js} +7 -7
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.19fe116c0f802cb1.js → page.a2cb6d1f1714259a.js} +8 -8
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.f87fd8eb66f73af0.js → page.996172c951739b35.js} +12 -16
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.b6c3d3184e167d0b.js → platform-actions.8e7ca54dd1821e98.js} +3 -3
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.28220621573033d7.js → agent-settings-form.aa9e157d141481d7.js} +4 -4
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.2f7467868f599ebc.js → page.44d886e60ae04303.js} +6 -6
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.ec94096015346f2c.js → loading.521c9e7b8d77f557.js} +1 -1
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.a92a36a8ce21088c.js → page.828cfb8112404792.js} +1 -1
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.8935a5fe5c08bcf1.js → page.45e18b6dc3019af4.js} +3 -3
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.5b97ab6d40e2e639.js → versions-list.c8d76988c734dda2.js} +1 -1
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.bedcc1aba372fbce.js → loading.b1367e864b4fb406.js} +1 -1
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.14760e9eedd6ff8e.js → page.dd11f2618e08becd.js} +6 -6
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.a6ee8bd882178e29.js → agent-toggle.1579dc8acbaacf92.js} +2 -2
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.8be1dd4ea3ed6e17.js → hero.ad5cc342db794e5d.js} +1 -1
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.59d89152fe845af2.js → connect-repositories.43b4b28f194ea842.js} +1 -1
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.77f68d431408745b.js → editor.776856fe1ed1a642.js} +6 -6
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.a7b01817a821819a.js → import-picker.eafa5b41a2ed571f.js} +3 -3
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.c4570fd80bdda68c.js → page.7d84ef2b178b34d2.js} +4 -4
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.19006c2d7dc8d114.js → layout.393cf7429eea189e.js} +3 -3
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{operator-apps.d350a52d27f69fa6.js → operator-apps.a244f3199e7cf09c.js} +4 -4
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.4a652f5080c2b863.js → page.980adfb7c5714752.js} +4 -4
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.d39f7a1719f50c6d.js → page.24a1987405ed7b17.js} +1 -1
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.ff7e1dadcd4df17f.js → connections-list.21ec9dc73ce68656.js} +3 -3
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.87a1f8ab71eb4bed.js → credentials-list.683476f62a9ecde7.js} +3 -3
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.a535c9c6dd8b4cdf.js → credentials.b43dd3d97c536c2a.js} +8 -8
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{engines-list.29fffd07c1c3b771.js → engines-list.9e116751bd34e2cc.js} +1 -1
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.0c87d55cf4ef382c.js → list.083f5c665df04b1b.js} +2 -2
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.6fea9faddb8300bb.js → models-list.537f63f8e5dd085d.js} +3 -3
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.295245052b93af90.js → page.dfed4ae6ffc74434.js} +12 -12
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.a4a38e54d834a1ec.js → runners-list.3afa989490bbe77c.js} +4 -4
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.50f487766f87383c.js → secrets-list.0d175ee815b22cd7.js} +3 -3
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.c42e0ab39cb2c0e0.js → layout.3e8289f888fa444c.js} +1 -1
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.6997506eaa1a4824.js → page.06feaa5fbb06f1e6.js} +1 -1
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.9458b49dc99bbaaa.js → create-link.ff95e4b6977d0474.js} +3 -3
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.77e402bb6e8e7f7e.js → page.f06fda0df59beeb5.js} +4 -4
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.fcda6f18c8207c99.js → activity.3c79cf14feff12bf.js} +1 -1
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.56520888d5270b88.js → loading.47cbb34ea8d2e33f.js} +1 -1
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.d0f039221a27b8ef.js → page.abed2a8424ef3da0.js} +4 -4
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-actions.f5f2016d2dc7f422.js → task-actions.587da79d68ab8d14.js} +3 -3
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.a292baa2410cdf64.js → task-view.dc294bb94b7437e1.js} +7 -7
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.2d4122eb33addbdd.js → composer.5072aacdce127689.js} +5 -5
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.a0c68180db5fb4c1.js → task.0a1b5878dccd3b37.js} +1 -1
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.021bdc2f3d90af2d.js → tasks-list.1162926f7498c732.js} +10 -10
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.13f64b0836ae406b.js → tasks-section.1d687c986db53a73.js} +5 -5
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.b78f0df100410db0.js → page.d5d8cb5033823c9c.js} +2 -2
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.93c2306069c03c68.js → page.fb21ebe90d49dac1.js} +2 -2
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.95a2468086aceb84.js → stream.e2915852cf82c86b.js} +1 -1
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.e1a484113e1df660.js → task-toasts.0ed8ccaae81b9d53.js} +2 -2
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.968bcab0f5e3665d.js → action.b9a5c37272250e82.js} +1 -1
  84. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.189224c16057d7a1.js → client.a3928fa2dcd27b75.js} +1 -1
  85. package/dist/dash/standalone/static/assets/chunks/{action-410bdc82c416bc01.js → action-71685b2d5ad9f359.js} +1 -1
  86. package/dist/dash/standalone/static/assets/chunks/{agent-pills-0c0b8d40b9bfc78f.js → agent-pills-15da36c2cb81991b.js} +1 -1
  87. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-6e6a87d6e673daa8.js +1 -0
  88. package/dist/dash/standalone/static/assets/chunks/{agent-toggle-5ede0c449e88cb9d.js → agent-toggle-ca98586e3b4ce9ae.js} +1 -1
  89. package/dist/dash/standalone/static/assets/chunks/{agents-grid-ffb18df48e951ecb.js → agents-grid-29c399e46b4e9e2b.js} +1 -1
  90. package/dist/dash/standalone/static/assets/chunks/{back-602db2cfdccf2e7f.js → back-fa9d6e37f9828093.js} +1 -1
  91. package/dist/dash/standalone/static/assets/chunks/{combo-df2685e277db02c0.js → combo-86f3e11d1f6f6cee.js} +1 -1
  92. package/dist/dash/standalone/static/assets/chunks/{composer-e1cefed81ea89b7e.js → composer-85e0ec7163ae18b7.js} +1 -1
  93. package/dist/dash/standalone/static/assets/chunks/composer-910bb87127972f62.js +1 -0
  94. package/dist/dash/standalone/static/assets/chunks/{confirm-d163e6865d66dfab.js → confirm-c29a1db0130638d2.js} +1 -1
  95. package/dist/dash/standalone/static/assets/chunks/{connect-apps-ce3c9d049ebad459.js → connect-apps-b73490e04ae6398d.js} +1 -1
  96. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-0aa9abc77b9c3d48.js → connect-repositories-0de82daaf654b1d3.js} +1 -1
  97. package/dist/dash/standalone/static/assets/chunks/{connections-list-6eddeb8583ded10f.js → connections-list-c50f58b4b28d10bb.js} +1 -1
  98. package/dist/dash/standalone/static/assets/chunks/{copy-0cc00656953531be.js → copy-445c11202f136275.js} +1 -1
  99. package/dist/dash/standalone/static/assets/chunks/create-link-6d64a2d5f9ce6de0.js +1 -0
  100. package/dist/dash/standalone/static/assets/chunks/{credentials-list-1b6a81e9b4934dc8.js → credentials-list-bee95799b2319b3b.js} +1 -1
  101. package/dist/dash/standalone/static/assets/chunks/{custom-range-cae5567874db83ca.js → custom-range-a0630599f907b30e.js} +1 -1
  102. package/dist/dash/standalone/static/assets/chunks/{editor-d55d247a1d7de5f0.js → editor-b9951819f21b2e43.js} +2 -2
  103. package/dist/dash/standalone/static/assets/chunks/{engines-list-288559344de4d4b9.js → engines-list-2720c3e8fa12b2f7.js} +1 -1
  104. package/dist/dash/standalone/static/assets/chunks/{field-693bb870ad0bdee8.js → field-b82a0f895266791c.js} +1 -1
  105. package/dist/dash/standalone/static/assets/chunks/{instructions-a3d7688e421f2a08.js → instructions-affaaeff366b1725.js} +1 -1
  106. package/dist/dash/standalone/static/assets/chunks/instructions-fd7402ac5aa8b50e.js +1 -0
  107. package/dist/dash/standalone/static/assets/chunks/{list-2a59237cb7cb0a7c.js → list-d918f79562d497eb.js} +1 -1
  108. package/dist/dash/standalone/static/assets/chunks/{models-list-5ed9ee02f9b66d98.js → models-list-12bc7aceaa52f5b0.js} +1 -1
  109. package/dist/dash/standalone/static/assets/chunks/{notice-7d84ffab32ff24ca.js → notice-57db7a1f05b7308c.js} +1 -1
  110. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-3cffe3507ea92af2.js → outcome-dialog-5cf575a5e6921a5d.js} +1 -1
  111. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-b219595be320108a.js +1 -0
  112. package/dist/dash/standalone/static/assets/chunks/platform-actions-1d27d2ba7eee9ff1.js +1 -0
  113. package/dist/dash/standalone/static/assets/chunks/{platform-actions-4dc31567d00c4cb2.js → platform-actions-dba96dcb0f6513db.js} +1 -1
  114. package/dist/dash/standalone/static/assets/chunks/{runners-list-984246a8f9450da1.js → runners-list-36f8c5ecfcf8e9ae.js} +1 -1
  115. package/dist/dash/standalone/static/assets/chunks/{secrets-list-88f8b30abbab52f0.js → secrets-list-d7dbafd24dd18481.js} +1 -1
  116. package/dist/dash/standalone/static/assets/chunks/{segmented-79c9c69b702e0b90.js → segmented-8f809ebe712e92a7.js} +1 -1
  117. package/dist/dash/standalone/static/assets/chunks/shared-init-cc13a835f3508618.js +2 -0
  118. package/dist/dash/standalone/static/assets/chunks/shared-init-f475017dd5811e33.js +5 -0
  119. package/dist/dash/standalone/static/assets/chunks/side-toggle-0aa237eba3dfe9c1.js +1 -0
  120. package/dist/dash/standalone/static/assets/chunks/{tail-99e29a541a072002.js → tail-b1c46587301ef397.js} +1 -1
  121. package/dist/dash/standalone/static/assets/chunks/task-681061023bdf0a49.js +5 -0
  122. package/dist/dash/standalone/static/assets/chunks/{task-actions-1cdca1e8d3eee490.js → task-actions-c9e46e81604e85c5.js} +1 -1
  123. package/dist/dash/standalone/static/assets/chunks/{task-view-fdcde0e31f63b737.js → task-view-134186a544917ceb.js} +1 -1
  124. package/dist/dash/standalone/static/assets/chunks/{tasks-list-3ad1c93deff4fb2e.js → tasks-list-352a3222d878de0f.js} +1 -1
  125. package/dist/dash/standalone/static/assets/chunks/{versions-list-60ac4d8f715bf5f7.js → versions-list-21cb854e6a7108a7.js} +1 -1
  126. package/dist/dash/standalone/static/assets/pnext-client-05df74b071ddb0b3.js +1 -0
  127. package/dist/dash/standalone/static/assets/pnext-client-2c19cca257f78ae6.js +1 -0
  128. package/dist/dash/standalone/static/assets/pnext-client-2db05dfa62642a65.js +1 -0
  129. package/dist/dash/standalone/static/assets/pnext-client-36b0d6085a073880.js +1 -0
  130. package/dist/dash/standalone/static/assets/{pnext-client-0b3b70f1aefb9947.js → pnext-client-576c06599e241231.js} +1 -1
  131. package/dist/dash/standalone/static/assets/pnext-client-6aa0f19a30d58d63.js +1 -0
  132. package/dist/dash/standalone/static/assets/pnext-client-6b30b71f452f2f07.js +1 -0
  133. package/dist/dash/standalone/static/assets/pnext-client-6ccb4d4fff812db3.js +1 -0
  134. package/dist/dash/standalone/static/assets/pnext-client-74eb465defba421e.js +1 -0
  135. package/dist/dash/standalone/static/assets/pnext-client-8c692d12b2fd90d6.js +1 -0
  136. package/dist/dash/standalone/static/assets/pnext-client-92e17d39063a9ced.js +1 -0
  137. package/dist/dash/standalone/static/assets/pnext-client-93246aea268c2682.js +1 -0
  138. package/dist/dash/standalone/static/assets/pnext-client-9954dcbc0c579e0d.js +1 -0
  139. package/dist/dash/standalone/static/assets/{pnext-client-8f96a4b8a00ff460.js → pnext-client-c0dfa1cdde9a9855.js} +1 -1
  140. package/dist/dash/standalone/static/assets/pnext-client-c28d38d4aafd4af6.js +1 -0
  141. package/dist/dash/standalone/static/assets/{pnext-client-ab36b406301fd2a4.js → pnext-client-c2c30dcb6dc31d60.js} +1 -1
  142. package/dist/dash/standalone/static/assets/pnext-client-dbf741073e11eac0.js +1 -0
  143. package/dist/dash/standalone/static/assets/pnext-client-e29194a27280333f.js +1 -0
  144. package/dist/dash/standalone/static/assets/{pnext-client-0d90849808b6eb05.js → pnext-client-f8a7e692b27caad9.js} +1 -1
  145. package/dist/dash/standalone/static/assets/pnext-client-fc5b8cfcba2a9f63.js +1 -0
  146. package/dist/discover-CPZdprlQ.js +1 -0
  147. package/dist/docs-x-l7gjFE.js +2 -0
  148. package/dist/drive-Y-ZlgiUW.js +1 -0
  149. package/dist/env-B9JG6gwo.js +1 -0
  150. package/dist/errors-XBA-Ls4n.js +10 -0
  151. package/dist/exec-iFssTO5V.js +3 -0
  152. package/dist/executor-Dt2FFT-y.js +11 -0
  153. package/dist/flow/builtin/review/index.d.ts +2 -0
  154. package/dist/flow/builtin/review/index.js +16 -0
  155. package/dist/flow/index.d.ts +1 -1
  156. package/dist/flow/index.js +1 -1
  157. package/dist/http-BZfjbiov.js +1 -0
  158. package/dist/{types-8zO5Tc9c.d.ts → index-BdkdNI1v.d.ts} +710 -137
  159. package/dist/{integrations-DPxWtNnS.js → integrations-DyInAa5g.js} +2 -2
  160. package/dist/lib/broker.js +2 -2
  161. package/dist/load-zhcrwSRF.js +2 -0
  162. package/dist/local-D55UkW93.js +5 -0
  163. package/dist/maintenance-BfxcatXH.js +1 -0
  164. package/dist/{match-BfjPZ7gJ.js → match-Bq4sDuCy.js} +1 -1
  165. package/dist/mcp-Bta09QCU.js +13 -0
  166. package/dist/mcp-CUITALl1.js +1 -0
  167. package/dist/models-C1O2DrXx.js +1 -0
  168. package/dist/output-D95NoAA9.js +16 -0
  169. package/dist/prompt-onpyIyXK.js +8 -0
  170. package/dist/prompts-B8pKhMcu.js +4 -0
  171. package/dist/refresh-D-0K9fo3.js +1 -0
  172. package/dist/{remote-f-uny3XZ.js → remote-CDm0YUU3.js} +1 -1
  173. package/dist/runner-CTFTuaz_.js +1 -0
  174. package/dist/runner.json +1 -1
  175. package/dist/runner.tgz +0 -0
  176. package/dist/{runners-vsoGeyuc.js → runners-CYTicTb7.js} +3 -3
  177. package/dist/schema.d.ts +1 -1
  178. package/dist/schema.js +8 -1
  179. package/dist/sdk.d.ts +12552 -4
  180. package/dist/sdk.js +1 -1
  181. package/dist/serve-Bzs_lEg-.js +1 -0
  182. package/dist/serve-CWtLyyTz.js +12 -0
  183. package/dist/serve-DE6A-rBk.js +4 -0
  184. package/dist/{slack-Kpj-G9FE.js → slack-Bo5l13Rs.js} +4 -4
  185. package/dist/task-BU1JEK9X.js +7 -0
  186. package/dist/task-CPzBITsp.js +1 -0
  187. package/dist/tools-BMaKWTa6.js +1 -0
  188. package/dist/tools-CM4UCsId.js +1 -0
  189. package/dist/turn-DMvPfhb5.js +3 -0
  190. package/dist/{views-LmbLfqpu.js → views-DEdKqLm_.js} +1 -1
  191. package/dist/{wire-DshFMRsS.js → wire-JMNPv8f6.js} +1 -1
  192. package/dist/worker-BuP_Lem1.js +9 -0
  193. package/dist/worker-C1tuzq5n.js +1 -0
  194. package/docs/agents/index.md +19 -21
  195. package/docs/cli/agent.md +137 -0
  196. package/docs/cli/auth.md +48 -0
  197. package/docs/cli/connection.md +89 -0
  198. package/docs/cli/credentials.md +58 -0
  199. package/docs/cli/flow.md +158 -0
  200. package/docs/cli/index.md +139 -0
  201. package/docs/cli/model.md +116 -0
  202. package/docs/cli/runner.md +92 -0
  203. package/docs/cli/server.md +89 -0
  204. package/docs/cli/task.md +271 -0
  205. package/docs/flows.md +0 -6
  206. package/docs/mcp.md +8 -8
  207. package/docs/review.md +4 -0
  208. package/package.json +3 -1
  209. package/plugins/agents/skills/coder/SKILL.md +16 -1
  210. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  211. package/plugins/claude/.mcp.json +5 -0
  212. package/plugins/claude/skills/dispatch/SKILL.md +16 -1
  213. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  214. package/plugins/cursor/skills/coder/SKILL.md +16 -1
  215. package/dist/actions-C3Mgpl9J.js +0 -2
  216. package/dist/add-B26QSwPY.js +0 -6
  217. package/dist/add-BbXuvqj1.js +0 -1
  218. package/dist/add-Bk8drM-8.js +0 -1
  219. package/dist/add-CD_L-WW8.js +0 -2
  220. package/dist/agent-DHpMqHVi.js +0 -1
  221. package/dist/alias-CScCzXhS.js +0 -2
  222. package/dist/app-wHQJHu6N.js +0 -1
  223. package/dist/approvals-BIGQBbCM.js +0 -2
  224. package/dist/approve-BnZ3v-3c.js +0 -1
  225. package/dist/approve-DFSy7Z72.js +0 -2
  226. package/dist/apps-6BgpUsFh.js +0 -372
  227. package/dist/archive-CU0nhUeJ.js +0 -4
  228. package/dist/archive-CY2lvp_c.js +0 -3
  229. package/dist/args-BekfmD9t.js +0 -1
  230. package/dist/ask-CLDgHB_Y.js +0 -4
  231. package/dist/auth-C3KrIUf1.js +0 -1
  232. package/dist/auth-CGeSfgNb.js +0 -1
  233. package/dist/chat-AbW-LOHo.js +0 -13
  234. package/dist/chat-bridge-WK-pKNfw.js +0 -2
  235. package/dist/cli-Fp28pM4Y.js +0 -9
  236. package/dist/config-DoVedq6T.js +0 -3
  237. package/dist/connection-5V8doFL7.js +0 -1
  238. package/dist/connection-Cb0TK201.js +0 -1
  239. package/dist/create-CrjRdQip.js +0 -1
  240. package/dist/credentials-DoL9w8D1.js +0 -1
  241. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/event-prompt.87f064ca0141e796.js +0 -30
  242. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-5a2601316e2ab283.js +0 -1
  243. package/dist/dash/standalone/static/assets/chunks/composer-08e49d49c0c3ee94.js +0 -1
  244. package/dist/dash/standalone/static/assets/chunks/create-link-bc365f8dfe88e6b3.js +0 -1
  245. package/dist/dash/standalone/static/assets/chunks/instructions-3f18e035338b0d0b.js +0 -1
  246. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-f6fb8c69efa66508.js +0 -1
  247. package/dist/dash/standalone/static/assets/chunks/platform-actions-ecd7200f7749c258.js +0 -1
  248. package/dist/dash/standalone/static/assets/chunks/shared-init-962398d15ee67c92.js +0 -5
  249. package/dist/dash/standalone/static/assets/chunks/shared-init-ae95a674d381c095.js +0 -2
  250. package/dist/dash/standalone/static/assets/chunks/side-toggle-7ada95cc7601eb49.js +0 -1
  251. package/dist/dash/standalone/static/assets/chunks/task-95daa40d39de664f.js +0 -1
  252. package/dist/dash/standalone/static/assets/pnext-client-12faa1754e3ef3be.js +0 -1
  253. package/dist/dash/standalone/static/assets/pnext-client-23384b239b81a761.js +0 -1
  254. package/dist/dash/standalone/static/assets/pnext-client-23e200dd9b7a79c0.js +0 -1
  255. package/dist/dash/standalone/static/assets/pnext-client-2562299eef46e62c.js +0 -1
  256. package/dist/dash/standalone/static/assets/pnext-client-3a4ada64991e6a40.js +0 -1
  257. package/dist/dash/standalone/static/assets/pnext-client-71e7ecdfcf86be84.js +0 -1
  258. package/dist/dash/standalone/static/assets/pnext-client-726c29bbb81054c0.js +0 -1
  259. package/dist/dash/standalone/static/assets/pnext-client-825e9f5b63950ef4.js +0 -1
  260. package/dist/dash/standalone/static/assets/pnext-client-894cff70289fb7a3.js +0 -1
  261. package/dist/dash/standalone/static/assets/pnext-client-9bc9b14c08020649.js +0 -1
  262. package/dist/dash/standalone/static/assets/pnext-client-b8c585cae8da7778.js +0 -1
  263. package/dist/dash/standalone/static/assets/pnext-client-bab4305b41abb15a.js +0 -1
  264. package/dist/dash/standalone/static/assets/pnext-client-bd80926822b3993d.js +0 -1
  265. package/dist/dash/standalone/static/assets/pnext-client-cd4c7b4318fa1846.js +0 -1
  266. package/dist/dash/standalone/static/assets/pnext-client-db55344d00b7888f.js +0 -1
  267. package/dist/dash/standalone/static/assets/pnext-client-eddcd5df2b28120f.js +0 -1
  268. package/dist/default-tTTSBdXq.js +0 -1
  269. package/dist/delete-DM2sA12f.js +0 -2
  270. package/dist/delete-DR37NTr1.js +0 -4
  271. package/dist/disable-Dz_zLPX5.js +0 -1
  272. package/dist/discover-CqabH4Fx.js +0 -3
  273. package/dist/dispatch-BJZqI7sj.js +0 -8
  274. package/dist/docs-BV9SC67g.js +0 -2
  275. package/dist/docs-b2mAKC8Z.js +0 -2
  276. package/dist/drive-CU2HOCfR.js +0 -1
  277. package/dist/enable-Cfeki-ne.js +0 -1
  278. package/dist/env-DSddo-fz.js +0 -1
  279. package/dist/exec-DcWxZar6.js +0 -3
  280. package/dist/executor-LkokKTTd.js +0 -11
  281. package/dist/flow/builtin/review.d.ts +0 -2
  282. package/dist/flow/builtin/review.js +0 -12
  283. package/dist/flow-BQcdyrVK.js +0 -1
  284. package/dist/history-D_A5odLI.js +0 -8
  285. package/dist/http-CXaW1e7x.js +0 -1
  286. package/dist/init-DU_S43NG.js +0 -1
  287. package/dist/integrations-Dwvxl7i2.js +0 -1
  288. package/dist/list-7yd9K7d8.js +0 -1
  289. package/dist/list-BJ0j5eP9.js +0 -4
  290. package/dist/list-Boaz5b5n.js +0 -2
  291. package/dist/list-CIS-GYO1.js +0 -1
  292. package/dist/list-CR0_Emod2.js +0 -4
  293. package/dist/list-CnHZriYt.js +0 -3
  294. package/dist/list-_EH6c041.js +0 -1
  295. package/dist/list-i2r3Nlyz.js +0 -1
  296. package/dist/load-C-GZnuok.js +0 -2
  297. package/dist/local-Fs-dx_dP.js +0 -5
  298. package/dist/login-CzD2EMD_.js +0 -1
  299. package/dist/login-DISw6--d.js +0 -1
  300. package/dist/logout-DMnc5yri.js +0 -1
  301. package/dist/maintenance-BVDuG9Hg.js +0 -1
  302. package/dist/mcp-B-hy3eM-.js +0 -11
  303. package/dist/mcp-CbN-QcpF.js +0 -1
  304. package/dist/mcp-server-DQqSgD3P.js +0 -1
  305. package/dist/model-Ckyoyji3.js +0 -1
  306. package/dist/models-VaiIYlOW.js +0 -1
  307. package/dist/output-BKeyLbvt.js +0 -5
  308. package/dist/prompt-DQyPCLUo.js +0 -8
  309. package/dist/prompts-CEf7z4i_.js +0 -77
  310. package/dist/push-BNomfHJ3.js +0 -1
  311. package/dist/reconnect-Bd_jna1M.js +0 -1
  312. package/dist/refresh-D-broYEx.js +0 -1
  313. package/dist/remove-CCYHc1FN.js +0 -1
  314. package/dist/remove-DMTz_c25.js +0 -1
  315. package/dist/remove-DdcQ-6by.js +0 -1
  316. package/dist/remove-VtavIuGm.js +0 -1
  317. package/dist/rename-CKMyelWN.js +0 -1
  318. package/dist/result-CH3_tVXO.js +0 -5
  319. package/dist/result-DvOqIwhh.js +0 -18
  320. package/dist/resume-6j3RUpqa.js +0 -3
  321. package/dist/review-B4ETH5ki.js +0 -7
  322. package/dist/review-DDYD3Yvq.d.ts +0 -566
  323. package/dist/rotate-key-Byk_wI73.js +0 -1
  324. package/dist/run-DKJW7qwy.js +0 -2
  325. package/dist/run-DkYzyUnp.js +0 -5
  326. package/dist/run-LCE1XiyU.js +0 -2
  327. package/dist/runner-CxtzTgVq.js +0 -1
  328. package/dist/runner-Dnu1Vx_i.js +0 -1
  329. package/dist/schema-Brm7WIKd.js +0 -8
  330. package/dist/sdk-CKTCrtGe.d.ts +0 -12655
  331. package/dist/serve-C1zag2nr.js +0 -1
  332. package/dist/serve-C6tsUF0D.js +0 -2
  333. package/dist/serve-CCxSxXgv.js +0 -1
  334. package/dist/serve-D8J-sEqm.js +0 -12
  335. package/dist/server-B4SRYM2L.js +0 -1
  336. package/dist/setup-host-EaP4GPKB.js +0 -6
  337. package/dist/show-CjUG_aIp.js +0 -1
  338. package/dist/show-xdsqD6de.js +0 -1
  339. package/dist/status-BxV_ITeF.js +0 -1
  340. package/dist/steer-DZ3nkHfC.js +0 -4
  341. package/dist/stop-DGTUYxd6.js +0 -3
  342. package/dist/stop-qDw_DjOB.js +0 -1
  343. package/dist/task-C506SkPR.js +0 -1
  344. package/dist/task-CQmx_2SI.js +0 -7
  345. package/dist/task-Ls_-kcSx.js +0 -1
  346. package/dist/test-DF_qVK6S.js +0 -1
  347. package/dist/tools-S3eRQOVm.js +0 -1
  348. package/dist/unalias-CklkAN1B.js +0 -1
  349. package/dist/update-CZaFjwOJ.js +0 -2
  350. package/dist/upgrade-CUhFmPhl.js +0 -2
  351. package/dist/usage-DTAlb2rC.js +0 -1
  352. package/dist/watch-CJruitc6.js +0 -5
  353. package/dist/watch-p0j69fVA.js +0 -9
  354. package/dist/worker-BHXjDzRp.js +0 -1
  355. package/dist/worker-nyRZuq4g.js +0 -2
  356. package/dist/workflow-CJJUiSfv.js +0 -1
  357. package/docs/agents/prompt.md +0 -220
  358. package/docs/cli.md +0 -155
@@ -0,0 +1 @@
1
+ import{qi as e}from"./core-DwsAMCnL.js";import{Zt as t}from"./output-D95NoAA9.js";import{t as n}from"./remote-CDm0YUU3.js";import{t as r}from"./serve-Bzs_lEg-.js";var i=e({addRunner:()=>o,addRunnerFields:()=>d,listRunners:()=>a,pairRunner:()=>s,removeRunner:()=>u,runners:()=>f,testRunner:()=>l,updateRunner:()=>c});const a=(e={})=>n(e).runners.list(),o=(e,t={})=>n(t).runners.add(e),s=(e,t={})=>n(t).runners.pair(e),c=(e,t,r={})=>n(r).runners.update(e,t),l=(e,t={})=>n(t).runners.test(e),u=(e,t={})=>n(t).runners.remove(e);async function d(e,r){let i=n(r),{catalog:a}=await i.runners.list(),o=a.find(t=>t.kind===e);if(!o)throw new t(`invalid-option`,`Unknown runner kind.`);if(!o.available)throw new t(`invalid-option`,o.reason??`Runner unavailable.`);let s={};for(let e of r.field??[]){let n=e.indexOf(`=`);if(n<1)throw new t(`invalid-option`,`Use --field key=value.`);let r=e.slice(0,n),i=e.slice(n+1),a=o.fields.find(e=>e.key===r);if(!a)throw new t(`invalid-option`,`Unknown runner field ${r}.`);if(a.secret){if(!/^env:[A-Z_][A-Z0-9_]*$/.test(i)||!process.env[i.slice(4)])throw new t(`invalid-option`,`Read ${r} from the environment with --field ${r}=env:VARIABLE.`);s[r]=process.env[i.slice(4)]}else s[r]=i}let c=r.scope??((await i.me()).user?`personal`:`workspace`);if(c!==`personal`&&c!==`workspace`)throw new t(`invalid-option`,`Scope must be personal or workspace.`);return o.connect===`pair`?i.runners.pair({name:r.name,scope:c}):i.runners.add({kind:o.kind,name:r.name??o.name,scope:c,config:s})}const f={list:a,add:o,pair:s,update:c,default:(e,t={})=>c(e,{default:!0},t),test:l,rename:(e,t,n={})=>c(e,{name:t},n),remove:u,serve:r};export{f as n,i as t};
package/dist/runner.json CHANGED
@@ -1 +1 @@
1
- {"hash":"2d75923552c73b42581465cee2821c042c5a08be45bdf49269f68900d324d2a7"}
1
+ {"hash":"ad5ff9d9ab44490cae8d66b86737343fa71c33a6f8847d9a0d5630ac6aa6dacc"}
package/dist/runner.tgz CHANGED
Binary file
@@ -1,4 +1,4 @@
1
- import{Rt as e,qi as t}from"./core-DwsAMCnL.js";import{N as n,Or as r,Sr as i,Tr as a,jn as o}from"./prompts-CEf7z4i_.js";import{m as s}from"./slack-Kpj-G9FE.js";import{t as c}from"./integrations-DPxWtNnS.js";import{n as l,t as u}from"./task-CQmx_2SI.js";import{_ as ee,g as d,h as te,l as f,v as p,y as m}from"./http-CXaW1e7x.js";import h from"node:path";import g from"node:process";import{existsSync as _,readFileSync as ne}from"node:fs";import{execFile as re}from"node:child_process";import{createCipheriv as v,createDecipheriv as y,createHash as b,createHmac as ie,randomBytes as x,randomUUID as S}from"node:crypto";import C,{isIP as w}from"node:net";import{readFile as ae}from"node:fs/promises";import{lookup as oe}from"node:dns/promises";import{request as se}from"node:https";const ce=i({env:a(r(),r().check(e(1)))}),T=`plain`;function E(e,t=`SERVER_ENCRYPTION_KEY`){if(!e)return;let n=Buffer.from(e,`base64`);if(n.length!==32)throw Error(`${t} must be a base64-encoded 32-byte key`);return n}function D(e){return E(e.encryptionKey)}function O(e){let t=E(e);return t?b(`sha256`).update(t).digest().readInt32BE(0):0}function k(e){return[[e.encryptionKey,`SERVER_ENCRYPTION_KEY`],[e.previousEncryptionKey,`SERVER_ENCRYPTION_KEY_PREVIOUS`]].filter(e=>!!e[0]).map(([e,t])=>({value:E(e,t),version:O(e)}))}function A(e){let t=ce.safeParse(e);if(!t.success||!Object.keys(t.data.env).length)throw Error(`Invalid engine credential`);return t.data}function le(e,t){let n=D(e);if(!n)return{iv:T,tag:``,ciphertext:Buffer.from(JSON.stringify(A(t))).toString(`base64`)};let r=x(12),i=v(`aes-256-gcm`,n,r),a=Buffer.concat([i.update(JSON.stringify(A(t)),`utf8`),i.final()]);return{iv:r.toString(`base64`),tag:i.getAuthTag().toString(`base64`),ciphertext:a.toString(`base64`)}}function ue(e,t){if(t.iv===T)return A(JSON.parse(Buffer.from(t.ciphertext,`base64`).toString(`utf8`)));for(let n of k(e))try{let e=y(`aes-256-gcm`,n.value,Buffer.from(t.iv,`base64`));return e.setAuthTag(Buffer.from(t.tag,`base64`)),A(JSON.parse(Buffer.concat([e.update(Buffer.from(t.ciphertext,`base64`)),e.final()]).toString(`utf8`)))}catch{}throw Error(`Stored credential was sealed with an unavailable encryption key`)}function de(e,t){let n=D(e);if(!n)return`${T}.${Buffer.from(JSON.stringify(t)).toString(`base64`)}`;let r=x(12),i=v(`aes-256-gcm`,n,r),a=Buffer.concat([i.update(JSON.stringify(t),`utf8`),i.final()]);return[r,i.getAuthTag(),a].map(e=>e.toString(`base64`)).join(`.`)}function j(e,t){if(t.startsWith(`${T}.`))return JSON.parse(Buffer.from(t.slice(6),`base64`).toString(`utf8`));let[n,r,i]=t.split(`.`).map(e=>Buffer.from(e,`base64`));for(let t of k(e))try{let e=y(`aes-256-gcm`,t.value,n);return e.setAuthTag(r),JSON.parse(Buffer.concat([e.update(i),e.final()]).toString(`utf8`))}catch{}throw Error(`Stored secret was sealed with an unavailable encryption key`)}function M(e,t){if(t.startsWith(`${T}.`))return 0;let[n,r,i]=t.split(`.`).map(e=>Buffer.from(e,`base64`));for(let t of k(e))try{let e=y(`aes-256-gcm`,t.value,n);return e.setAuthTag(r),e.update(i),e.final(),t.version}catch{}throw Error(`Stored secret was sealed with an unavailable encryption key`)}function fe(e,t,n={}){let r=`coder-${e.id.replace(/[^a-zA-Z0-9_.-]/g,`-`).slice(0,48)}-${Date.now()}`;t={...t,CODER_RUNNER_IMAGE:n.image??`ghcr.io/muzam1l/coder-runner:latest`,CODER_RUNNER_TARBALL_URL:G(t.CODER_SERVER)};let i=Object.keys(t).flatMap(e=>[`-e`,e]);return{args:[`run`,`-d`,`--name`,r,`--memory`,String(n.memory??`4g`),`--cpus`,String(n.cpus??2),`--pids-limit`,String(n.pidsLimit??512),`--network`,n.network??`bridge`,...i,n.image??`ghcr.io/muzam1l/coder-runner:latest`,`sh`,`-c`,q(``,`for binary in node bun git curl tar claude codex github-mcp-server; do command -v "$binary" >/dev/null 2>&1 || { printf "Docker image %s is missing required binary %s\\n" "$CODER_RUNNER_IMAGE" "$binary"; exit 127; }; done`),`coder-task`,e.id,K],env:t}}var pe=class{options;kind=`local-docker`;constructor(e={}){this.options=e}async start(e,t){let n=fe(e,{...t,CODER_INBOX_SOCKET:l},this.options),r=await d(`docker`,n.args,{PATH:g.env.PATH??``,...n.env});if(r.code!==0)throw Error(r.stderr.trim()||`docker run failed`);return r.stdout.trim()}async status(e){let t=await d(`docker`,[`inspect`,`--format`,`{{.State.Running}} {{.State.ExitCode}}`,e],{PATH:g.env.PATH??``});if(t.code!==0)return{state:`exited`};let[n,r]=t.stdout.trim().split(/\s+/);return n===`true`?{state:`running`}:{state:`exited`,code:Number(r)||0}}async stop(e){await d(`docker`,[`rm`,`-f`,e],{PATH:g.env.PATH??``})}async push(e,t){let n=await d(`docker`,[`exec`,`-e`,`CODER_INBOX_MESSAGES`,e,`node`,`-e`,u],{PATH:g.env.PATH??``,CODER_INBOX_MESSAGES:JSON.stringify(t)});if(n.code!==0)throw Error(`Docker inbox delivery failed`);return JSON.parse(n.stdout)}},me=t({GithubActionsRunner:()=>F,actionsWorkflow:()=>N});function N(){return`name: Coder agent
1
+ import{Rt as e,qi as t}from"./core-DwsAMCnL.js";import{dn as n,mn as r,sn as i,xt as a}from"./errors-XBA-Ls4n.js";import{mt as o}from"./output-D95NoAA9.js";import{m as s}from"./slack-Bo5l13Rs.js";import{t as c}from"./integrations-DyInAa5g.js";import{n as l,t as u}from"./task-BU1JEK9X.js";import{n as d,t as f}from"./base64url-CsVsW4Id.js";import{_ as ee,g as p,h as te,l as m}from"./http-BZfjbiov.js";import h from"node:path";import g from"node:process";import{existsSync as _,readFileSync as ne}from"node:fs";import{execFile as re}from"node:child_process";import{createCipheriv as v,createDecipheriv as y,createHash as b,createHmac as ie,randomBytes as x,randomUUID as S}from"node:crypto";import C,{isIP as w}from"node:net";import{readFile as ae}from"node:fs/promises";import{lookup as oe}from"node:dns/promises";import{request as se}from"node:https";const ce=i({env:n(r(),r().check(e(1)))}),T=`plain`;function E(e,t=`SERVER_ENCRYPTION_KEY`){if(!e)return;let n=Buffer.from(e,`base64`);if(n.length!==32)throw Error(`${t} must be a base64-encoded 32-byte key`);return n}function D(e){return E(e.encryptionKey)}function O(e){let t=E(e);return t?b(`sha256`).update(t).digest().readInt32BE(0):0}function k(e){return[[e.encryptionKey,`SERVER_ENCRYPTION_KEY`],[e.previousEncryptionKey,`SERVER_ENCRYPTION_KEY_PREVIOUS`]].filter(e=>!!e[0]).map(([e,t])=>({value:E(e,t),version:O(e)}))}function A(e){let t=ce.safeParse(e);if(!t.success||!Object.keys(t.data.env).length)throw Error(`Invalid engine credential`);return t.data}function le(e,t){let n=D(e);if(!n)return{iv:T,tag:``,ciphertext:Buffer.from(JSON.stringify(A(t))).toString(`base64`)};let r=x(12),i=v(`aes-256-gcm`,n,r),a=Buffer.concat([i.update(JSON.stringify(A(t)),`utf8`),i.final()]);return{iv:r.toString(`base64`),tag:i.getAuthTag().toString(`base64`),ciphertext:a.toString(`base64`)}}function ue(e,t){if(t.iv===T)return A(JSON.parse(Buffer.from(t.ciphertext,`base64`).toString(`utf8`)));for(let n of k(e))try{let e=y(`aes-256-gcm`,n.value,Buffer.from(t.iv,`base64`));return e.setAuthTag(Buffer.from(t.tag,`base64`)),A(JSON.parse(Buffer.concat([e.update(Buffer.from(t.ciphertext,`base64`)),e.final()]).toString(`utf8`)))}catch{}throw Error(`Stored credential was sealed with an unavailable encryption key`)}function de(e,t){let n=D(e);if(!n)return`${T}.${Buffer.from(JSON.stringify(t)).toString(`base64`)}`;let r=x(12),i=v(`aes-256-gcm`,n,r),a=Buffer.concat([i.update(JSON.stringify(t),`utf8`),i.final()]);return[r,i.getAuthTag(),a].map(e=>e.toString(`base64`)).join(`.`)}function j(e,t){if(t.startsWith(`${T}.`))return JSON.parse(Buffer.from(t.slice(6),`base64`).toString(`utf8`));let[n,r,i]=t.split(`.`).map(e=>Buffer.from(e,`base64`));for(let t of k(e))try{let e=y(`aes-256-gcm`,t.value,n);return e.setAuthTag(r),JSON.parse(Buffer.concat([e.update(i),e.final()]).toString(`utf8`))}catch{}throw Error(`Stored secret was sealed with an unavailable encryption key`)}function fe(e,t){if(t.startsWith(`${T}.`))return 0;let[n,r,i]=t.split(`.`).map(e=>Buffer.from(e,`base64`));for(let t of k(e))try{let e=y(`aes-256-gcm`,t.value,n);return e.setAuthTag(r),e.update(i),e.final(),t.version}catch{}throw Error(`Stored secret was sealed with an unavailable encryption key`)}function M(e,t,n={}){let r=`coder-${e.id.replace(/[^a-zA-Z0-9_.-]/g,`-`).slice(0,48)}-${Date.now()}`;t={...t,CODER_RUNNER_IMAGE:n.image??`ghcr.io/muzam1l/coder-runner:latest`,CODER_RUNNER_TARBALL_URL:G(t.CODER_SERVER)};let i=Object.keys(t).flatMap(e=>[`-e`,e]);return{args:[`run`,`-d`,`--name`,r,`--memory`,String(n.memory??`4g`),`--cpus`,String(n.cpus??2),`--pids-limit`,String(n.pidsLimit??512),`--network`,n.network??`bridge`,...i,n.image??`ghcr.io/muzam1l/coder-runner:latest`,`sh`,`-c`,q(``,`for binary in node bun git curl tar claude codex github-mcp-server; do command -v "$binary" >/dev/null 2>&1 || { printf "Docker image %s is missing required binary %s\\n" "$CODER_RUNNER_IMAGE" "$binary"; exit 127; }; done`),`coder-task`,e.id,K],env:t}}var pe=class{options;kind=`local-docker`;constructor(e={}){this.options=e}async start(e,t){let n=M(e,{...t,CODER_INBOX_SOCKET:l},this.options),r=await p(`docker`,n.args,{PATH:g.env.PATH??``,...n.env});if(r.code!==0)throw Error(r.stderr.trim()||`docker run failed`);return r.stdout.trim()}async status(e){let t=await p(`docker`,[`inspect`,`--format`,`{{.State.Running}} {{.State.ExitCode}}`,e],{PATH:g.env.PATH??``});if(t.code!==0)return{state:`exited`};let[n,r]=t.stdout.trim().split(/\s+/);return n===`true`?{state:`running`}:{state:`exited`,code:Number(r)||0}}async stop(e){await p(`docker`,[`rm`,`-f`,e],{PATH:g.env.PATH??``})}async push(e,t){let n=await p(`docker`,[`exec`,`-e`,`CODER_INBOX_MESSAGES`,e,`node`,`-e`,u],{PATH:g.env.PATH??``,CODER_INBOX_MESSAGES:JSON.stringify(t)});if(n.code!==0)throw Error(`Docker inbox delivery failed`);return JSON.parse(n.stdout)}},me=t({GithubActionsRunner:()=>F,actionsWorkflow:()=>N});function N(){return`name: Coder agent
2
2
  run-name: Coder agent \${{ inputs.task }}
3
3
  on:
4
4
  workflow_dispatch:
@@ -22,7 +22,7 @@ jobs:
22
22
  CODER_TASK_TOKEN: \${{ inputs.token }}
23
23
  CODER_INBOX_MODE: \${{ inputs.mode }}
24
24
  CODER_RUNNER_TARBALL_URL: \${{ inputs.tarball }}
25
- `}const P=e=>p(e);var F=class{options;kind=`github-actions`;fetcher;constructor(e={}){this.options=e,this.fetcher=e.fetch??fetch}async request(e,t={},n=1e4){if(!this.options.token)throw Error(`RUNNER_CONFIG.token is required for github-actions`);let r=AbortSignal.timeout(n);for(let n=0;;n++){let i=await this.fetcher(`https://api.github.com${e}`,{...t,signal:r,redirect:`manual`,headers:{accept:`application/vnd.github+json`,authorization:`Bearer ${this.options.token}`,"content-type":`application/json`,"user-agent":`coder`,"x-github-api-version":`2022-11-28`,...t.headers}});if((t.method??`GET`)!==`GET`||n===2||i.status!==429&&i.status<500)return i;let a=Number(i.headers.get(`retry-after`));await i.body?.cancel(),await new Promise((e,t)=>{let i=()=>{clearTimeout(s),r.removeEventListener(`abort`,o)},o=()=>{i(),t(r.reason)},s=setTimeout(()=>{i(),e()},Number.isFinite(a)&&a>0?a*1e3:100*2**n);r.addEventListener(`abort`,o,{once:!0}),r.aborted&&o()})}}async start(e,t){let n=this.options.repo??(e.event?.repo&&`${e.event.repo.owner}/${e.event.repo.name}`);if(!n)throw Error(`The github-actions runner requires a repository`);let r=Date.now()+(this.options.lookupTimeoutMs??25e3),i=encodeURIComponent(this.options.workflow??`coder-agent.yml`),a=e.event?.repo,o=this.options.ref??(a&&`${a.owner}/${a.name}`===n?a.defaultBranch:void 0);if(!o){let e=await this.request(`/repos/${n}`,{},Math.max(1,r-Date.now()));if(!e.ok)throw Error(`GitHub repository lookup failed: ${e.status}`);let t=await e.json();if(!t.default_branch)throw Error(`GitHub repository has no default branch`);o=t.default_branch}let s=await this.request(`/repos/${n}/actions/workflows/${i}/dispatches`,{method:`POST`,headers:{"x-github-api-version":`2026-03-10`},body:JSON.stringify({ref:o,inputs:{task:e.id,server:t.CODER_SERVER,token:t.CODER_TASK_TOKEN,mode:t.CODER_INBOX_MODE,tarball:G(t.CODER_SERVER)}})},Math.max(1,r-Date.now()));if(s.status!==200)throw Error(`GitHub workflow dispatch failed: ${s.status}`);let c=await s.json();if(!Number.isSafeInteger(c.workflow_run_id)||c.workflow_run_id<=0)throw Error(`GitHub workflow dispatch returned no run id`);return m({repo:n,run:c.workflow_run_id})}async status(e){let{repo:t,run:n}=P(e),r=await this.request(`/repos/${t}/actions/runs/${n}`);if(r.status===404)return{state:`exited`,code:1};if(!r.ok)throw Error(`GitHub workflow status failed: ${r.status}`);let i=await r.json();return i.status===`completed`?{state:`exited`,code:i.conclusion===`success`?0:1}:{state:`running`}}async stop(e){let{repo:t,run:n}=P(e),r=await this.request(`/repos/${t}/actions/runs/${n}/cancel`,{method:`POST`});if(r.status!==202&&r.status!==409)throw Error(`GitHub workflow cancellation failed: ${r.status}`)}};function he(e){if(!w(e))return!0;if(w(e)===6){let t=new URL(`https://[${e}]/`).hostname.slice(1,-1).split(`::`),n=t[0]?t[0].split(`:`):[],r=t[1]?t[1].split(`:`):[],i=[...n,...Array(8-n.length-r.length).fill(`0`),...r].map(e=>parseInt(e,16));if(i.every(e=>e===0)||i.slice(0,7).every(e=>e===0)&&i[7]===1||(i[0]&65024)==64512||(i[0]&65472)==65152||(i[0]&65280)==65280)return!0;let a;if(i.slice(0,5).every(e=>e===0)&&(i[5]===0||i[5]===65535))a=i.slice(6);else if(i.slice(0,4).every(e=>e===0)&&i[4]===65535&&i[5]===0)a=i.slice(6);else if((i[4]===0||i[4]===512)&&i[5]===24318)a=i.slice(6);else if(i[0]===100&&i[1]===65435&&i.slice(2,6).every(e=>e===0))a=i.slice(6);else if(i[0]===8194)a=i.slice(1,3);else if(i[0]===8193&&(i[1]===0||i[1]===3512)||i[0]===100&&i[1]===65435&&i[2]===1)return!0;if(!a)return!1;e=a.flatMap(e=>[e>>8,e&255]).join(`.`)}let t=e.split(`.`).map(Number);return t[0]===0||t[0]===10||t[0]===127||t[0]===169&&t[1]===254||t[0]===172&&t[1]>=16&&t[1]<=31||t[0]===192&&t[1]===168||t[0]===192&&t[1]===0&&(t[2]===0||t[2]===2)||t[0]===198&&t[1]>=18&&t[1]<=19||t[0]===198&&t[1]===51&&t[2]===100||t[0]===203&&t[1]===0&&t[2]===113||t[0]===100&&t[1]>=64&&t[1]<=127||t[0]>=224}var I=class{options;kind=`http`;base;fetcher;resolver;constructor(e){if(this.options=e,!e?.url)throw Error(`The http runner requires RUNNER_CONFIG.url`);if(this.base=new URL(`${e.url.replace(/\/+$/,``)}/`),this.base.protocol!==`https:`)throw Error(`The http runner requires an HTTPS URL`);if(this.base.username||this.base.password)throw Error(`The http runner URL cannot contain credentials`);if(!e.secret)throw Error(`RUNNER_CONFIG.secret is required for the http runner`);this.fetcher=e.fetch,this.resolver=e.lookup??oe}async safe(){let e=this.base.hostname.replace(/^\[|\]$/g,``),t=w(e)?[{address:e,family:w(e)}]:await this.resolver(e,{all:!0});if(!t.length)throw Error(`The http runner resolved no address`);if(t.some(e=>he(e.address)))throw Error(`The http runner refuses private and metadata addresses`);return t[0]}send(e,t,n){return this.fetcher?this.fetcher(e,t):new Promise((r,i)=>{let a=(this.options.request??se)(e,{method:t.method,headers:t.headers,signal:t.signal??void 0,agent:!1,lookup:(e,t,r)=>{t.all?r(null,[n]):r(null,n.address,n.family)}},e=>{let t=[];e.on(`data`,e=>t.push(Buffer.from(e))),e.on(`error`,i),e.on(`end`,()=>r(new Response(e.statusCode===204?null:Buffer.concat(t),{status:e.statusCode})))});a.on(`error`,i),a.end(t.body)})}async request(e,t=`GET`,n,r){let i=await this.safe(),a=n===void 0?``:JSON.stringify(n),o=String(Date.now()),s=x(16).toString(`base64url`),c=ie(`sha256`,this.options.secret).update(`${a}.${o}.${s}`).digest(`base64url`),l=await this.send(new URL(e.replace(/^\//,``),this.base),{method:t,redirect:`manual`,headers:{...this.options.headers,"content-type":`application/json`,"x-coder-timestamp":o,"x-coder-nonce":s,"x-coder-signature":c},...a?{body:a}:{},signal:r??AbortSignal.timeout(e===`/start`?3e4:1e4)},i);if(l.status>=300&&l.status<400)throw Error(`The http runner refuses redirects`);if(!l.ok)throw Error(`HTTP runner request failed: ${l.status}`);if(l.status===204)return;let u=await l.text();return u?JSON.parse(u):void 0}health(e){return this.request(`/health`,`GET`,void 0,e)}async start(e,t){let n=await this.request(`/start`,`POST`,{task:e.id,env:t});if(!n.handle)throw Error(`HTTP runner returned no handle`);return n.handle}status(e){return this.request(`/status/${encodeURIComponent(e)}`)}async stop(e){await this.request(`/stop/${encodeURIComponent(e)}`,`POST`,{})}push(e,t){return this.request(`/messages/${encodeURIComponent(e)}`,`POST`,{entries:t})}};const L=e=>p(e),R=18e5,ge={"eu-north-1":`arn1`,"ap-south-1":`bom1`,"eu-west-3":`cdg1`,"us-east-2":`cle1`,"af-south-1":`cpt1`,"eu-west-1":`dub1`,"eu-central-1":`fra1`,"sa-east-1":`gru1`,"ap-east-1":`hkg1`,"ap-northeast-1":`hnd1`,"us-east-1":`iad1`,"ap-northeast-2":`icn1`,"ap-northeast-3":`kix1`,"eu-west-2":`lhr1`,"us-west-2":`pdx1`,"us-west-1":`sfo1`,"ap-southeast-1":`sin1`,"ap-southeast-2":`syd1`,"ca-central-1":`yul1`};function _e(e){if(!e)return;let t=(()=>{try{return new URL(e).hostname}catch{return``}})();return Object.entries(ge).find(([e])=>t.includes(e))?.[1]}const z=[{name:`ANTHROPIC_API_KEY`,host:`api.anthropic.com`,header:`x-api-key`,prefix:``},{name:`OPENAI_API_KEY`,host:`api.openai.com`,header:`authorization`,prefix:`Bearer `}],ve=`brokered`,B={claude:{api:`api.anthropic.com`,account:[`claude.ai`,`platform.claude.com`]},codex:{api:`api.openai.com`,account:[`auth.openai.com`,`chatgpt.com`]}};function ye(e,t){let n=B[e],r=t.CLAUDE_CODE_OAUTH_TOKEN||t.CODEX_AUTH_JSON,i=[t.ANTHROPIC_BASE_URL,t.OPENAI_BASE_URL].filter(e=>e&&URL.canParse(e));return[...n?[n.api,...r?n.account:[]]:[],...i.map(e=>new URL(e).hostname)]}function be(e={},t,n=z){let r={};for(let t of n)e[t.name]&&((r[t.host]??={})[t.header]=`${t.prefix}${e[t.name]}`);let i=Object.entries(r).map(([e,t])=>[e,[{transform:[{headers:t}]}]]);if(!t)return i.length?{allow:{...Object.fromEntries(i),"*":[]}}:void 0;let a=[...new Set(t.filter(e=>C.isIP(e)))],o=t.filter(e=>!C.isIP(e)).map(e=>[e,[]]);return{allow:{...Object.fromEntries(o),...Object.fromEntries(i)},...a.length?{subnets:{allow:a.map(e=>`${e}/${C.isIPv6(e)?128:32}`)}}:{}}}function xe(e){return[...[e.CODER_SERVER,e.CODER_RUNNER_TARBALL_URL].filter(e=>e&&URL.canParse(e)).map(e=>new URL(e).hostname),...Object.values(c).flatMap(e=>e.tools.installHosts??[])]}async function Se(){try{return(await import(`@vercel/sandbox`)).Sandbox}catch{throw Error(`The vercel-sandbox runner requires @vercel/sandbox in the adapter app.`)}}function V(e){return e&&typeof e==`object`&&`response`in e&&e.response instanceof Response?e.response.status:void 0}function Ce(e){if(V(e)!==410||!e||typeof e!=`object`||!(`json`in e))return!1;let t=e.json;if(!t||typeof t!=`object`||!(`error`in t))return!1;let n=t.error;return!!n&&typeof n==`object`&&`code`in n&&n.code===`snapshot_not_found`}var H=class extends Error{snapshotId;constructor(e,t,n){super(e,n),this.snapshotId=t}},we=class{options;kind=`vercel-sandbox`;sandboxes=new Map;constructor(e={}){this.options=e}api(){return this.options.sandbox?Promise.resolve(this.options.sandbox):Se()}async sandbox(e){for(let[e,t]of this.sandboxes)t.expiresAt<=this.now()&&this.sandboxes.delete(e);return this.sandboxes.get(e)?.sandbox??(await this.api()).get({...this.auth(),name:e})}now(){return(this.options.now??Date.now)()}auth(){return{...this.options.token?{token:this.options.token,projectId:this.options.projectId??process.env.VERCEL_PROJECT_ID,teamId:this.options.team??process.env.VERCEL_TEAM_ID}:{}}}base(e){return{...e?{source:{type:`snapshot`,snapshotId:e}}:this.options.image?{image:this.options.image}:{},...this.options.region?{region:this.options.region}:{},...this.auth(),resources:{vcpus:this.options.vcpus??1},persistent:!1}}snapshotKey(e){let t=e.event?.repo;if(!t)return;let n=[W(),this.options.image??null,e.event.appId,e.event.installationId,t.owner,t.name];return`repo:${this.options.region??``}:${s(JSON.stringify(n))}`}async stopSandbox(e){try{await e.stop()}finally{this.sandboxes.delete(e.name)}}async withSandbox(e,t){let n;try{if(n=typeof e==`string`?await this.sandbox(e):e,n.status!==`running`&&n.status!==`pending`)throw new H(`Vercel Sandbox ${n.name} is ${n.status}`);return await t(n)}catch(t){let r=V(t);throw(r===404||r===410)&&typeof e==`string`&&this.sandboxes.delete(e),r===410||!n&&typeof e==`string`&&r===404?new H(t instanceof Error?t.message:`Vercel Sandbox expired`,void 0,{cause:t}):t}}withSnapshotLock(e,t){let n=this.options.snapshots;return n.withLock?n.withLock(e,t):t(n)}async finalizeSnapshot(e,t){let n=this.now(),r=S(),i=await this.withSnapshotLock(e,async i=>{let a=await i.get(e)??{};if(!a.build||a.lease&&a.lease.expiresAt>n||t?.build&&(a.build.sandbox!==t.build.sandbox||a.build.command!==t.build.command||a.build.startedAt!==t.build.startedAt))return a;let o={...a,lease:{owner:r,expiresAt:n+R}};return await i.put(e,o),o});if(i.lease?.owner!==r||!i.build)return i;let{build:a,lease:o,...s}=i,c={...s,build:a},l;try{c=await this.withSandbox(a.sandbox,async e=>{let t=await e.getCommand(a.command);if(t.exitCode===null&&n-a.startedAt<R)return c;if(t.exitCode===0){let r=/^coder-snapshot (\S+)$/m.exec(await t.stdout())?.[1];if(r&&r===i.sha)return await this.stopSandbox(e).catch(()=>{}),{...s,checkedAt:n};let a=await e.snapshot({expiration:2592e6});return this.sandboxes.delete(e.name),{...s,snapshotId:a.snapshotId,...r?{sha:r}:{},checkedAt:n}}return await this.stopSandbox(e).catch(()=>{}),{...s,failedAt:n}})}catch(e){if(l=e,e instanceof H){let{failedAt:e,...t}=s;c=t}}let u=await this.withSnapshotLock(e,async t=>{let n=await t.get(e)??{};return n.lease?.owner===r?(await t.put(e,c),c):n});if(l)throw l;return u}async snapshot(e,t,n,r){if(!this.options.snapshots)return;let i=await this.finalizeSnapshot(e);if(i.build)return i.snapshotId;let a=this.now(),o=S(),s=await this.withSnapshotLock(e,async t=>{let r=await t.get(e)??{},i=!r.snapshotId||n&&a-(r.checkedAt??0)>=9e5,s=r.failedAt!==void 0&&a-r.failedAt<36e5;if(r.build||r.lease&&r.lease.expiresAt>a||!i||s)return r;let c={...r,lease:{owner:o,expiresAt:a+R}};return await t.put(e,c),c});if(s.lease?.owner!==o)return s.snapshotId;let c,l;try{c=await t(s.snapshotId)}catch(e){e instanceof H&&(l=e)}let u=await this.withSnapshotLock(e,async t=>{let n=await t.get(e)??{};if(n.lease?.owner!==o)return n;let{lease:r,...i}=n,s={...i,...c?{build:{sandbox:c.sandbox,command:c.command,startedAt:a}}:{}};return await t.put(e,s),s});if(c)if(u.build?.sandbox===c.sandbox&&u.build.command===c.command){let t=(async()=>{await c.wait(),await this.finalizeSnapshot(e,u)})().catch(()=>{});r?.(t)}else await this.withSandbox(c.sandbox,e=>this.stopSandbox(e)).catch(()=>{});if(l)throw l;return u.snapshotId}async detached(e,t,n={}){let r=await(await this.api()).create({...this.base(e),timeout:this.options.timeoutMs??18e5,...n}).catch(t=>{throw e&&Ce(t)?new H(t.message,e,{cause:t}):t});if(!t.env?.CODER_PREPARE){for(let[e,t]of this.sandboxes)t.expiresAt<=this.now()&&this.sandboxes.delete(e);this.sandboxes.size>=1e3&&this.sandboxes.delete(this.sandboxes.keys().next().value),this.sandboxes.set(r.name,{sandbox:r,expiresAt:this.now()+Number(n.timeout??this.options.timeoutMs??R)})}try{let e=await this.withSandbox(r,e=>e.runCommand({...t,detached:!0}));return{sandbox:r.name,command:e.cmdId,wait:()=>e.wait({signal:AbortSignal.timeout(R)})}}catch(e){throw this.sandboxes.delete(r.name),await this.stopSandbox(r).catch(()=>{}),e}}async start(e,t,r,i={}){t={...t,[n]:`1`,CODER_RUNNER_TARBALL_URL:G(t.CODER_SERVER),CODER_RUNNER_HASH:W()};let a=be(r,i.hosts&&[...xe(t),...i.hosts],i.brokered),o=t=>({cmd:`sh`,args:[`-c`,q(ee().map(e=>`sudo sh -c '${e.replaceAll(`'`,`'\\''`)}'`).join(` && `),``,`setpriv --inh-caps=-all --ambient-caps=-all bun`),`coder-task`,e.id,K],env:t});for(let n=0;;n++){let r;try{r=this.snapshotKey(e);let n=r?await this.snapshot(r,e=>this.detached(e,o({...t,CODER_PREPARE:`1`})),!0,i.waitUntil):void 0,s=await this.detached(n,o({...t,CODER_INBOX_SOCKET:l}),{...a?{networkPolicy:a}:{},...i.timeoutMs?{timeout:i.timeoutMs}:{}});return m({sandbox:s.sandbox,command:s.command})}catch(e){if(!(e instanceof H))throw e;if(r&&e.snapshotId&&this.options.snapshots){let t=e.snapshotId;await this.withSnapshotLock(r,async e=>{let n=await e.get(r);if(n?.snapshotId!==t)return;let{snapshotId:i,sha:a,checkedAt:o,failedAt:s,...c}=n;await e.put(r,c)})}if(n===2)throw e}}}async status(e){let t=L(e);try{let e=await this.sandbox(t.sandbox);if(e.status===`pending`)return{state:`running`};if(e.status!==`running`)return this.sandboxes.delete(t.sandbox),{state:`exited`,code:1};let n=await e.getCommand(t.command);return n.exitCode===null?{state:`running`}:{state:`exited`,code:n.exitCode}}catch(e){throw[404,410].includes(V(e)??0)&&this.sandboxes.delete(t.sandbox),e}}async push(e,t){return this.withSandbox(L(e).sandbox,async e=>{let n=await e.runCommand({cmd:`node`,args:[`-e`,u],detached:!1,env:{CODER_INBOX_MESSAGES:JSON.stringify(t)}}),r=await n.stdout();if(n.exitCode!==0)throw Error(`Sandbox inbox delivery failed`);return JSON.parse(r)})}async stop(e){let t=L(e).sandbox;try{await(await this.sandbox(t)).stop()}finally{this.sandboxes.delete(t)}}};const U=`ghcr.io/muzam1l/coder-runner:latest`;function W(){let e=new URL(`./runner.json`,import.meta.url),{hash:t}=JSON.parse(ne(_(e)?e:h.join(o,`dist/runner.json`),`utf8`));if(typeof t!=`string`||!/^[a-f0-9]{64}$/.test(t))throw Error(`The runner package is missing; run bun run build.`);return t}function G(e){return`${e.replace(/\/+$/,``)}/runner/${W()}.tgz`}async function Te(e,t,n){if(n.file!==`${W()}.tgz`)return f();try{let e=new URL(`./runner.tgz`,import.meta.url),t=await ae(_(e)?e:h.join(o,`dist/runner.tgz`));return new Response(t,{headers:{"content-type":`application/gzip`,"cache-control":`public, max-age=31536000, immutable`}})}catch(e){if(e.code===`ENOENT`)return f();throw e}}const K=`
25
+ `}const P=e=>f(e);var F=class{options;kind=`github-actions`;fetcher;constructor(e={}){this.options=e,this.fetcher=e.fetch??fetch}async request(e,t={},n=1e4){if(!this.options.token)throw Error(`RUNNER_CONFIG.token is required for github-actions`);let r=AbortSignal.timeout(n);for(let n=0;;n++){let i=await this.fetcher(`https://api.github.com${e}`,{...t,signal:r,redirect:`manual`,headers:{accept:`application/vnd.github+json`,authorization:`Bearer ${this.options.token}`,"content-type":`application/json`,"user-agent":`coder`,"x-github-api-version":`2022-11-28`,...t.headers}});if((t.method??`GET`)!==`GET`||n===2||i.status!==429&&i.status<500)return i;let a=Number(i.headers.get(`retry-after`));await i.body?.cancel(),await new Promise((e,t)=>{let i=()=>{clearTimeout(s),r.removeEventListener(`abort`,o)},o=()=>{i(),t(r.reason)},s=setTimeout(()=>{i(),e()},Number.isFinite(a)&&a>0?a*1e3:100*2**n);r.addEventListener(`abort`,o,{once:!0}),r.aborted&&o()})}}async start(e,t){let n=this.options.repo??(e.event?.repo&&`${e.event.repo.owner}/${e.event.repo.name}`);if(!n)throw Error(`The github-actions runner requires a repository`);let r=Date.now()+(this.options.lookupTimeoutMs??25e3),i=encodeURIComponent(this.options.workflow??`coder-agent.yml`),a=e.event?.repo,o=this.options.ref??(a&&`${a.owner}/${a.name}`===n?a.defaultBranch:void 0);if(!o){let e=await this.request(`/repos/${n}`,{},Math.max(1,r-Date.now()));if(!e.ok)throw Error(`GitHub repository lookup failed: ${e.status}`);let t=await e.json();if(!t.default_branch)throw Error(`GitHub repository has no default branch`);o=t.default_branch}let s=await this.request(`/repos/${n}/actions/workflows/${i}/dispatches`,{method:`POST`,headers:{"x-github-api-version":`2026-03-10`},body:JSON.stringify({ref:o,inputs:{task:e.id,server:t.CODER_SERVER,token:t.CODER_TASK_TOKEN,mode:t.CODER_INBOX_MODE,tarball:G(t.CODER_SERVER)}})},Math.max(1,r-Date.now()));if(s.status!==200)throw Error(`GitHub workflow dispatch failed: ${s.status}`);let c=await s.json();if(!Number.isSafeInteger(c.workflow_run_id)||c.workflow_run_id<=0)throw Error(`GitHub workflow dispatch returned no run id`);return d({repo:n,run:c.workflow_run_id})}async status(e){let{repo:t,run:n}=P(e),r=await this.request(`/repos/${t}/actions/runs/${n}`);if(r.status===404)return{state:`exited`,code:1};if(!r.ok)throw Error(`GitHub workflow status failed: ${r.status}`);let i=await r.json();return i.status===`completed`?{state:`exited`,code:i.conclusion===`success`?0:1}:{state:`running`}}async stop(e){let{repo:t,run:n}=P(e),r=await this.request(`/repos/${t}/actions/runs/${n}/cancel`,{method:`POST`});if(r.status!==202&&r.status!==409)throw Error(`GitHub workflow cancellation failed: ${r.status}`)}};function he(e){if(!w(e))return!0;if(w(e)===6){let t=new URL(`https://[${e}]/`).hostname.slice(1,-1).split(`::`),n=t[0]?t[0].split(`:`):[],r=t[1]?t[1].split(`:`):[],i=[...n,...Array(8-n.length-r.length).fill(`0`),...r].map(e=>parseInt(e,16));if(i.every(e=>e===0)||i.slice(0,7).every(e=>e===0)&&i[7]===1||(i[0]&65024)==64512||(i[0]&65472)==65152||(i[0]&65280)==65280)return!0;let a;if(i.slice(0,5).every(e=>e===0)&&(i[5]===0||i[5]===65535))a=i.slice(6);else if(i.slice(0,4).every(e=>e===0)&&i[4]===65535&&i[5]===0)a=i.slice(6);else if((i[4]===0||i[4]===512)&&i[5]===24318)a=i.slice(6);else if(i[0]===100&&i[1]===65435&&i.slice(2,6).every(e=>e===0))a=i.slice(6);else if(i[0]===8194)a=i.slice(1,3);else if(i[0]===8193&&(i[1]===0||i[1]===3512)||i[0]===100&&i[1]===65435&&i[2]===1)return!0;if(!a)return!1;e=a.flatMap(e=>[e>>8,e&255]).join(`.`)}let t=e.split(`.`).map(Number);return t[0]===0||t[0]===10||t[0]===127||t[0]===169&&t[1]===254||t[0]===172&&t[1]>=16&&t[1]<=31||t[0]===192&&t[1]===168||t[0]===192&&t[1]===0&&(t[2]===0||t[2]===2)||t[0]===198&&t[1]>=18&&t[1]<=19||t[0]===198&&t[1]===51&&t[2]===100||t[0]===203&&t[1]===0&&t[2]===113||t[0]===100&&t[1]>=64&&t[1]<=127||t[0]>=224}var I=class{options;kind=`http`;base;fetcher;resolver;constructor(e){if(this.options=e,!e?.url)throw Error(`The http runner requires RUNNER_CONFIG.url`);if(this.base=new URL(`${e.url.replace(/\/+$/,``)}/`),this.base.protocol!==`https:`)throw Error(`The http runner requires an HTTPS URL`);if(this.base.username||this.base.password)throw Error(`The http runner URL cannot contain credentials`);if(!e.secret)throw Error(`RUNNER_CONFIG.secret is required for the http runner`);this.fetcher=e.fetch,this.resolver=e.lookup??oe}async safe(){let e=this.base.hostname.replace(/^\[|\]$/g,``),t=w(e)?[{address:e,family:w(e)}]:await this.resolver(e,{all:!0});if(!t.length)throw Error(`The http runner resolved no address`);if(t.some(e=>he(e.address)))throw Error(`The http runner refuses private and metadata addresses`);return t[0]}send(e,t,n){return this.fetcher?this.fetcher(e,t):new Promise((r,i)=>{let a=(this.options.request??se)(e,{method:t.method,headers:t.headers,signal:t.signal??void 0,agent:!1,lookup:(e,t,r)=>{t.all?r(null,[n]):r(null,n.address,n.family)}},e=>{let t=[];e.on(`data`,e=>t.push(Buffer.from(e))),e.on(`error`,i),e.on(`end`,()=>r(new Response(e.statusCode===204?null:Buffer.concat(t),{status:e.statusCode})))});a.on(`error`,i),a.end(t.body)})}async request(e,t=`GET`,n,r){let i=await this.safe(),a=n===void 0?``:JSON.stringify(n),o=String(Date.now()),s=x(16).toString(`base64url`),c=ie(`sha256`,this.options.secret).update(`${a}.${o}.${s}`).digest(`base64url`),l=await this.send(new URL(e.replace(/^\//,``),this.base),{method:t,redirect:`manual`,headers:{...this.options.headers,"content-type":`application/json`,"x-coder-timestamp":o,"x-coder-nonce":s,"x-coder-signature":c},...a?{body:a}:{},signal:r??AbortSignal.timeout(e===`/start`?3e4:1e4)},i);if(l.status>=300&&l.status<400)throw Error(`The http runner refuses redirects`);if(!l.ok)throw Error(`HTTP runner request failed: ${l.status}`);if(l.status===204)return;let u=await l.text();return u?JSON.parse(u):void 0}health(e){return this.request(`/health`,`GET`,void 0,e)}async start(e,t){let n=await this.request(`/start`,`POST`,{task:e.id,env:t});if(!n.handle)throw Error(`HTTP runner returned no handle`);return n.handle}status(e){return this.request(`/status/${encodeURIComponent(e)}`)}async stop(e){await this.request(`/stop/${encodeURIComponent(e)}`,`POST`,{})}push(e,t){return this.request(`/messages/${encodeURIComponent(e)}`,`POST`,{entries:t})}};const L=e=>f(e),R=18e5,ge={"eu-north-1":`arn1`,"ap-south-1":`bom1`,"eu-west-3":`cdg1`,"us-east-2":`cle1`,"af-south-1":`cpt1`,"eu-west-1":`dub1`,"eu-central-1":`fra1`,"sa-east-1":`gru1`,"ap-east-1":`hkg1`,"ap-northeast-1":`hnd1`,"us-east-1":`iad1`,"ap-northeast-2":`icn1`,"ap-northeast-3":`kix1`,"eu-west-2":`lhr1`,"us-west-2":`pdx1`,"us-west-1":`sfo1`,"ap-southeast-1":`sin1`,"ap-southeast-2":`syd1`,"ca-central-1":`yul1`};function _e(e){if(!e)return;let t=(()=>{try{return new URL(e).hostname}catch{return``}})();return Object.entries(ge).find(([e])=>t.includes(e))?.[1]}const z=[{name:`ANTHROPIC_API_KEY`,host:`api.anthropic.com`,header:`x-api-key`,prefix:``},{name:`OPENAI_API_KEY`,host:`api.openai.com`,header:`authorization`,prefix:`Bearer `}],ve=`brokered`,B={claude:{api:`api.anthropic.com`,account:[`claude.ai`,`platform.claude.com`]},codex:{api:`api.openai.com`,account:[`auth.openai.com`,`chatgpt.com`]}};function ye(e,t){let n=B[e],r=t.CLAUDE_CODE_OAUTH_TOKEN||t.CODEX_AUTH_JSON,i=[t.ANTHROPIC_BASE_URL,t.OPENAI_BASE_URL].filter(e=>e&&URL.canParse(e));return[...n?[n.api,...r?n.account:[]]:[],...i.map(e=>new URL(e).hostname)]}function be(e={},t,n=z){let r={};for(let t of n)e[t.name]&&((r[t.host]??={})[t.header]=`${t.prefix}${e[t.name]}`);let i=Object.entries(r).map(([e,t])=>[e,[{transform:[{headers:t}]}]]);if(!t)return i.length?{allow:{...Object.fromEntries(i),"*":[]}}:void 0;let a=[...new Set(t.filter(e=>C.isIP(e)))],o=t.filter(e=>!C.isIP(e)).map(e=>[e,[]]);return{allow:{...Object.fromEntries(o),...Object.fromEntries(i)},...a.length?{subnets:{allow:a.map(e=>`${e}/${C.isIPv6(e)?128:32}`)}}:{}}}function xe(e){return[...[e.CODER_SERVER,e.CODER_RUNNER_TARBALL_URL].filter(e=>e&&URL.canParse(e)).map(e=>new URL(e).hostname),...Object.values(c).flatMap(e=>e.tools.installHosts??[])]}async function Se(){try{return(await import(`@vercel/sandbox`)).Sandbox}catch{throw Error(`The vercel-sandbox runner requires @vercel/sandbox in the adapter app.`)}}function V(e){return e&&typeof e==`object`&&`response`in e&&e.response instanceof Response?e.response.status:void 0}function Ce(e){if(V(e)!==410||!e||typeof e!=`object`||!(`json`in e))return!1;let t=e.json;if(!t||typeof t!=`object`||!(`error`in t))return!1;let n=t.error;return!!n&&typeof n==`object`&&`code`in n&&n.code===`snapshot_not_found`}var H=class extends Error{snapshotId;constructor(e,t,n){super(e,n),this.snapshotId=t}},we=class{options;kind=`vercel-sandbox`;sandboxes=new Map;constructor(e={}){this.options=e}api(){return this.options.sandbox?Promise.resolve(this.options.sandbox):Se()}async sandbox(e){for(let[e,t]of this.sandboxes)t.expiresAt<=this.now()&&this.sandboxes.delete(e);return this.sandboxes.get(e)?.sandbox??(await this.api()).get({...this.auth(),name:e})}now(){return(this.options.now??Date.now)()}auth(){return{...this.options.token?{token:this.options.token,projectId:this.options.projectId??process.env.VERCEL_PROJECT_ID,teamId:this.options.team??process.env.VERCEL_TEAM_ID}:{}}}base(e){return{...e?{source:{type:`snapshot`,snapshotId:e}}:this.options.image?{image:this.options.image}:{},...this.options.region?{region:this.options.region}:{},...this.auth(),resources:{vcpus:this.options.vcpus??1},persistent:!1}}snapshotKey(e){let t=e.event?.repo;if(!t)return;let n=[W(),this.options.image??null,e.event.appId,e.event.installationId,t.owner,t.name];return`repo:${this.options.region??``}:${s(JSON.stringify(n))}`}async stopSandbox(e){try{await e.stop()}finally{this.sandboxes.delete(e.name)}}async withSandbox(e,t){let n;try{if(n=typeof e==`string`?await this.sandbox(e):e,n.status!==`running`&&n.status!==`pending`)throw new H(`Vercel Sandbox ${n.name} is ${n.status}`);return await t(n)}catch(t){let r=V(t);throw(r===404||r===410)&&typeof e==`string`&&this.sandboxes.delete(e),r===410||!n&&typeof e==`string`&&r===404?new H(t instanceof Error?t.message:`Vercel Sandbox expired`,void 0,{cause:t}):t}}withSnapshotLock(e,t){let n=this.options.snapshots;return n.withLock?n.withLock(e,t):t(n)}async finalizeSnapshot(e,t){let n=this.now(),r=S(),i=await this.withSnapshotLock(e,async i=>{let a=await i.get(e)??{};if(!a.build||a.lease&&a.lease.expiresAt>n||t?.build&&(a.build.sandbox!==t.build.sandbox||a.build.command!==t.build.command||a.build.startedAt!==t.build.startedAt))return a;let o={...a,lease:{owner:r,expiresAt:n+R}};return await i.put(e,o),o});if(i.lease?.owner!==r||!i.build)return i;let{build:a,lease:o,...s}=i,c={...s,build:a},l;try{c=await this.withSandbox(a.sandbox,async e=>{let t=await e.getCommand(a.command);if(t.exitCode===null&&n-a.startedAt<R)return c;if(t.exitCode===0){let r=/^coder-snapshot (\S+)$/m.exec(await t.stdout())?.[1];if(r&&r===i.sha)return await this.stopSandbox(e).catch(()=>{}),{...s,checkedAt:n};let a=await e.snapshot({expiration:2592e6});return this.sandboxes.delete(e.name),{...s,snapshotId:a.snapshotId,...r?{sha:r}:{},checkedAt:n}}return await this.stopSandbox(e).catch(()=>{}),{...s,failedAt:n}})}catch(e){if(l=e,e instanceof H){let{failedAt:e,...t}=s;c=t}}let u=await this.withSnapshotLock(e,async t=>{let n=await t.get(e)??{};return n.lease?.owner===r?(await t.put(e,c),c):n});if(l)throw l;return u}async snapshot(e,t,n,r){if(!this.options.snapshots)return;let i=await this.finalizeSnapshot(e);if(i.build)return i.snapshotId;let a=this.now(),o=S(),s=await this.withSnapshotLock(e,async t=>{let r=await t.get(e)??{},i=!r.snapshotId||n&&a-(r.checkedAt??0)>=9e5,s=r.failedAt!==void 0&&a-r.failedAt<36e5;if(r.build||r.lease&&r.lease.expiresAt>a||!i||s)return r;let c={...r,lease:{owner:o,expiresAt:a+R}};return await t.put(e,c),c});if(s.lease?.owner!==o)return s.snapshotId;let c,l;try{c=await t(s.snapshotId)}catch(e){e instanceof H&&(l=e)}let u=await this.withSnapshotLock(e,async t=>{let n=await t.get(e)??{};if(n.lease?.owner!==o)return n;let{lease:r,...i}=n,s={...i,...c?{build:{sandbox:c.sandbox,command:c.command,startedAt:a}}:{}};return await t.put(e,s),s});if(c)if(u.build?.sandbox===c.sandbox&&u.build.command===c.command){let t=(async()=>{await c.wait(),await this.finalizeSnapshot(e,u)})().catch(()=>{});r?.(t)}else await this.withSandbox(c.sandbox,e=>this.stopSandbox(e)).catch(()=>{});if(l)throw l;return u.snapshotId}async detached(e,t,n={}){let r=await(await this.api()).create({...this.base(e),timeout:this.options.timeoutMs??18e5,...n}).catch(t=>{throw e&&Ce(t)?new H(t.message,e,{cause:t}):t});if(!t.env?.CODER_PREPARE){for(let[e,t]of this.sandboxes)t.expiresAt<=this.now()&&this.sandboxes.delete(e);this.sandboxes.size>=1e3&&this.sandboxes.delete(this.sandboxes.keys().next().value),this.sandboxes.set(r.name,{sandbox:r,expiresAt:this.now()+Number(n.timeout??this.options.timeoutMs??R)})}try{let e=await this.withSandbox(r,e=>e.runCommand({...t,detached:!0}));return{sandbox:r.name,command:e.cmdId,wait:()=>e.wait({signal:AbortSignal.timeout(R)})}}catch(e){throw this.sandboxes.delete(r.name),await this.stopSandbox(r).catch(()=>{}),e}}async start(e,t,n,r={}){t={...t,[o]:`1`,CODER_RUNNER_TARBALL_URL:G(t.CODER_SERVER),CODER_RUNNER_HASH:W()};let i=be(n,r.hosts&&[...xe(t),...r.hosts],r.brokered),a=t=>({cmd:`sh`,args:[`-c`,q(ee().map(e=>`sudo sh -c '${e.replaceAll(`'`,`'\\''`)}'`).join(` && `),``,`setpriv --inh-caps=-all --ambient-caps=-all bun`),`coder-task`,e.id,K],env:t});for(let n=0;;n++){let o;try{o=this.snapshotKey(e);let n=o?await this.snapshot(o,e=>this.detached(e,a({...t,CODER_PREPARE:`1`})),!0,r.waitUntil):void 0,s=await this.detached(n,a({...t,CODER_INBOX_SOCKET:l}),{...i?{networkPolicy:i}:{},...r.timeoutMs?{timeout:r.timeoutMs}:{}});return d({sandbox:s.sandbox,command:s.command})}catch(e){if(!(e instanceof H))throw e;if(o&&e.snapshotId&&this.options.snapshots){let t=e.snapshotId;await this.withSnapshotLock(o,async e=>{let n=await e.get(o);if(n?.snapshotId!==t)return;let{snapshotId:r,sha:i,checkedAt:a,failedAt:s,...c}=n;await e.put(o,c)})}if(n===2)throw e}}}async status(e){let t=L(e);try{let e=await this.sandbox(t.sandbox);if(e.status===`pending`)return{state:`running`};if(e.status!==`running`)return this.sandboxes.delete(t.sandbox),{state:`exited`,code:1};let n=await e.getCommand(t.command);return n.exitCode===null?{state:`running`}:{state:`exited`,code:n.exitCode}}catch(e){throw[404,410].includes(V(e)??0)&&this.sandboxes.delete(t.sandbox),e}}async push(e,t){return this.withSandbox(L(e).sandbox,async e=>{let n=await e.runCommand({cmd:`node`,args:[`-e`,u],detached:!1,env:{CODER_INBOX_MESSAGES:JSON.stringify(t)}}),r=await n.stdout();if(n.exitCode!==0)throw Error(`Sandbox inbox delivery failed`);return JSON.parse(r)})}async stop(e){let t=L(e).sandbox;try{await(await this.sandbox(t)).stop()}finally{this.sandboxes.delete(t)}}};const U=`ghcr.io/muzam1l/coder-runner:latest`;function W(){let e=new URL(`./runner.json`,import.meta.url),{hash:t}=JSON.parse(ne(_(e)?e:h.join(a,`dist/runner.json`),`utf8`));if(typeof t!=`string`||!/^[a-f0-9]{64}$/.test(t))throw Error(`The runner package is missing; run bun run build.`);return t}function G(e){return`${e.replace(/\/+$/,``)}/runner/${W()}.tgz`}async function Te(e,t,n){if(n.file!==`${W()}.tgz`)return m();try{let e=new URL(`./runner.tgz`,import.meta.url),t=await ae(_(e)?e:h.join(a,`dist/runner.tgz`));return new Response(t,{headers:{"content-type":`application/gzip`,"cache-control":`public, max-age=31536000, immutable`}})}catch(e){if(e.code===`ENOENT`)return m();throw e}}const K=`
26
26
  const [file, id] = process.argv.slice(1);
27
27
  const lines = require('fs').readFileSync(file, 'utf8').split('\\n').map(line => line.trim()).filter(Boolean);
28
28
  const error = 'The machine failed: ' + lines.slice(-6).join(' ').slice(-800);
@@ -33,4 +33,4 @@ fetch(url, {
33
33
  headers: { authorization: 'Bearer ' + process.env.CODER_TASK_TOKEN, 'content-type': 'application/json' },
34
34
  body: JSON.stringify(login ? { error } : { status: 'failed', error, machine: true }),
35
35
  }).then(response => { if (!response.ok) process.exitCode = 1; }).catch(() => { process.exitCode = 1; });
36
- `;function q(e=``,t=``,n=`bun`){let r=[`rm -rf .coder-runner/package && tar -xzf .coder-runner/package.tgz -C .coder-runner`,`mkdir -p .coder-runner/bin`,`printf '#!/bin/sh\nexec ${n} "$(dirname "$0")/../package/bin/coder.mjs" "$@"\n' > .coder-runner/bin/coder`,`chmod +x .coder-runner/bin/coder`].join(` && `),i=`node -e 'const fs=require("fs"),crypto=require("crypto");process.exit(/^[a-f0-9]{64}$/.test(process.env.CODER_RUNNER_HASH||"")&&crypto.createHash("sha256").update(fs.readFileSync(".coder-runner/package.tgz")).digest("hex")===process.env.CODER_RUNNER_HASH?0:1)'`,a=[`mkdir -p .coder-runner`,'curl -fsSL --retry 2 --connect-timeout 10 --max-time 30 "${CODER_RUNNER_TARBALL_URL:?Runner package URL is required}" -o .coder-runner/package.tgz',`{ [ -z "$CODER_RUNNER_HASH" ] || ${i}; }`,r,...e?[e]:[],`printf "%s" "$CODER_RUNNER_HASH" > .coder-runner/hash`].join(` && `),o=`[ -n "$CODER_RUNNER_HASH" ] && [ -f .coder-runner/package.tgz ] && [ "$(cat .coder-runner/hash 2>/dev/null)" = "$CODER_RUNNER_HASH" ] && ${i}`;return[`out=$(mktemp)`,`{ (${[...t?[t]:[],`if ${o}; then ${r}; else ${a}; fi`,`PATH="$PWD/.coder-runner/bin:$PATH" CODER_NO_UPDATE_CHECK=1 ${n} .coder-runner/package/bin/coder.mjs agent run --task "$1"`].join(` && `)}) 2>&1; echo $? >"$out.status"; } | tee "$out"`,`status=$(cat "$out.status")`,`[ "$status" = 0 ] || { [ -n "$CODER_PREPARE" ] || { if command -v node >/dev/null 2>&1; then node -e "$2" "$out" "$1"; else bun -e "$2" "$out" "$1"; fi; }; }`,`rm -f "$out" "$out.status"`,`exit "$status"`].join(`; `)}const Ee=[`local`,`local-docker`,`vercel-sandbox`,`github-actions`,`http`];function J(e,t=``){return{get:n=>e.get(`snapshot`,`${t}${n}`),put:(n,r)=>e.put(`snapshot`,`${t}${n}`,r),withLock:(n,r)=>e.withAppLock(`snapshot:${t}${n}`,e=>r({get:n=>e.get(`snapshot`,`${t}${n}`),put:(n,r)=>e.put(`snapshot`,`${t}${n}`,r)}))}}function De(e){let t=e.kind;return e.local===!1&&(t===`local`||t===`local-docker`)?{}:{[t]:Y(t,e)}}function Y(e,t){let n=t.config??{};if(e===`local`)return new te(t.workDir);if(e===`local-docker`)return new pe(n);if(e===`vercel-sandbox`)return new we({...t.sandbox,...n});if(e===`github-actions`)return new F({...n,...t.fetch?{fetch:t.fetch}:{}});if(typeof n.url!=`string`||typeof n.secret!=`string`)throw Error(`HTTP runner requires a URL and secret`);return new I({url:n.url,secret:n.secret,...t.fetch?{fetch:t.fetch}:{}})}function X(e,t){return e.scope===`workspace`||!!(t&&e.owner===t)}function Z(e){return e.local?`local`:`default`}async function Oe(e,t={}){let n=t.runner??t.agent;if(n===Z(e))return{runner:e.config.runner};let r=(await e.store.list(`runner`,{visibleTo:t.requester,...n?{runner:n}:{defaults:!0}})).filter(({value:n})=>X(n,t.requester)&&(e.local||n.kind!==`local`&&n.kind!==`local-docker`)),i=n?r.find(({id:e,value:t})=>e===n||t.name===n):r.find(({value:e})=>e.scope===`personal`&&e.default)??r.find(({value:e})=>e.scope===`workspace`&&e.default);if(n&&!i)throw Error(`Unknown runner "${n}".`);return i?{runner:i.value.kind,runnerId:i.id}:{runner:e.config.runner}}function Q(e,t,n){let r={...t.config,...j(e.config,t.secret)};return Y(t.kind,{workDir:e.config.workDir,config:r,fetch:e.fetch,sandbox:{...n?{snapshots:J(e.store,`runner:${n}:`)}:{}}})}async function ke(e,t){if(!t.runnerId)return e.runners[t.runner];let n=await e.store.get(`runner`,t.runnerId);if(!n||n.kind!==t.runner||!e.local&&(n.kind===`local`||n.kind===`local-docker`)){e.settings?.runnerInstances?.delete(t.runnerId);return}j(e.config,n.secret);let r=(e.settings??={}).runnerInstances??=new Map,i=JSON.stringify([n.kind,n.config,n.secret]),a=r.get(t.runnerId);return a?.signature!==i&&(a={signature:i,runner:Q(e,n,t.runnerId)},r.set(t.runnerId,a)),a.runner}function Ae(e,t){if(Object.keys(t).some(t=>!e.fields.some(e=>e.key===t)))throw Error(`Unknown runner field`);for(let n of e.fields)if(!n.optional&&!t[n.key]?.trim())throw Error(`${n.label} is required`);if(e.kind===`http`){if(t.secret.length<32)throw Error(`Secret must contain at least 32 characters`);new I({url:t.url,secret:t.secret})}if(e.kind===`github-actions`&&!/^[\w.-]+\/[\w.-]+$/.test(t.repo))throw Error(`Repository must be owner/repo`);if(e.kind===`local-docker`&&t.cpus&&!(Number(t.cpus)>0&&Number.isFinite(Number(t.cpus))))throw Error(`CPUs must be positive`)}var $=class extends Error{};async function je(e,t){let n=Date.now(),r=new AbortController,i,a=new Promise((t,n)=>{i=setTimeout(()=>{r.abort(),n(new $(`Runner check timed out`))},e.runnerTimeoutMs??5e3)});try{return{ok:!0,detail:await Promise.race([a,(async()=>{let n=t?.kind??e.config.runner,i=t?{...t.config,...j(e.config,t.secret)}:e.config.runnerConfig??{};if(n===`local`){if(!e.local)throw new $(`Local runners require a local server`);return`This machine is available`}if(n===`http`){let n=t?Q(e,t):e.runners.http;if(!(n instanceof I)||!(await n.health(r.signal)).ok)throw new $(`Runner health check failed`);return`Runner is reachable`}if(n===`local-docker`){if(!e.local)throw new $(`Docker runners require a local server`);return await new Promise((t,n)=>{(e.runnerExec??re)(`docker`,[`info`],{timeout:5e3,signal:r.signal},e=>e?n(new $(`Docker is unavailable`)):t())}),`Docker is available`}let a=async t=>{let n=await(e.fetch??fetch)(t,{signal:r.signal,redirect:`manual`,headers:{authorization:`Bearer ${i.token}`,accept:`application/json`,"user-agent":`coder`}});if(!n.ok)throw new $(`Runner check failed with HTTP ${n.status}`);return n};if(n===`github-actions`){let e=String(i.repo).split(`/`).map(encodeURIComponent).join(`/`);return await a(`https://api.github.com/repos/${e}`),await a(`https://api.github.com/repos/${e}/actions/workflows/${encodeURIComponent(String(i.workflow))}`),`Repository and workflow are accessible`}let o=await(await a(`https://api.vercel.com/v2/teams?limit=100`)).json();if(!Array.isArray(o.teams))throw new $(`Invalid team response`);if(i.team&&!o.teams.some(e=>e.id===i.team||e.slug===i.team))throw new $(`Team is not accessible`);return`Teams are accessible`})()]),ms:Date.now()-n}}catch(e){return{ok:!1,detail:e instanceof $?e.message:`Runner check failed`,ms:Date.now()-n}}finally{clearTimeout(i)}}export{de as C,le as S,M as T,I as _,Te as a,ue as b,ke as c,X as d,z as f,_e as g,ye as h,De as i,je as l,B as m,Ee as n,J as o,ve as p,Oe as r,Z as s,U as t,Ae as u,N as v,O as w,j as x,me as y};
36
+ `;function q(e=``,t=``,n=`bun`){let r=[`rm -rf .coder-runner/package && tar -xzf .coder-runner/package.tgz -C .coder-runner`,`mkdir -p .coder-runner/bin`,`printf '#!/bin/sh\nexec ${n} "$(dirname "$0")/../package/bin/coder.mjs" "$@"\n' > .coder-runner/bin/coder`,`chmod +x .coder-runner/bin/coder`].join(` && `),i=`node -e 'const fs=require("fs"),crypto=require("crypto");process.exit(/^[a-f0-9]{64}$/.test(process.env.CODER_RUNNER_HASH||"")&&crypto.createHash("sha256").update(fs.readFileSync(".coder-runner/package.tgz")).digest("hex")===process.env.CODER_RUNNER_HASH?0:1)'`,a=[`mkdir -p .coder-runner`,'curl -fsSL --retry 2 --connect-timeout 10 --max-time 30 "${CODER_RUNNER_TARBALL_URL:?Runner package URL is required}" -o .coder-runner/package.tgz',`{ [ -z "$CODER_RUNNER_HASH" ] || ${i}; }`,r,...e?[e]:[],`printf "%s" "$CODER_RUNNER_HASH" > .coder-runner/hash`].join(` && `),o=`[ -n "$CODER_RUNNER_HASH" ] && [ -f .coder-runner/package.tgz ] && [ "$(cat .coder-runner/hash 2>/dev/null)" = "$CODER_RUNNER_HASH" ] && ${i}`;return[`out=$(mktemp)`,`{ (${[...t?[t]:[],`if ${o}; then ${r}; else ${a}; fi`,`PATH="$PWD/.coder-runner/bin:$PATH" CODER_NO_UPDATE_CHECK=1 ${n} .coder-runner/package/bin/coder.mjs agent run --task "$1"`].join(` && `)}) 2>&1; echo $? >"$out.status"; } | tee "$out"`,`status=$(cat "$out.status")`,`[ "$status" = 0 ] || { [ -n "$CODER_PREPARE" ] || { if command -v node >/dev/null 2>&1; then node -e "$2" "$out" "$1"; else bun -e "$2" "$out" "$1"; fi; }; }`,`rm -f "$out" "$out.status"`,`exit "$status"`].join(`; `)}const Ee=[`local`,`local-docker`,`vercel-sandbox`,`github-actions`,`http`];function J(e,t=``){return{get:n=>e.get(`snapshot`,`${t}${n}`),put:(n,r)=>e.put(`snapshot`,`${t}${n}`,r),withLock:(n,r)=>e.withAppLock(`snapshot:${t}${n}`,e=>r({get:n=>e.get(`snapshot`,`${t}${n}`),put:(n,r)=>e.put(`snapshot`,`${t}${n}`,r)}))}}function De(e){let t=e.kind;return e.local===!1&&(t===`local`||t===`local-docker`)?{}:{[t]:Y(t,e)}}function Y(e,t){let n=t.config??{};if(e===`local`)return new te(t.workDir);if(e===`local-docker`)return new pe(n);if(e===`vercel-sandbox`)return new we({...t.sandbox,...n});if(e===`github-actions`)return new F({...n,...t.fetch?{fetch:t.fetch}:{}});if(typeof n.url!=`string`||typeof n.secret!=`string`)throw Error(`HTTP runner requires a URL and secret`);return new I({url:n.url,secret:n.secret,...t.fetch?{fetch:t.fetch}:{}})}function X(e,t){return e.scope===`workspace`||!!(t&&e.owner===t)}function Z(e){return e.local?`local`:`default`}async function Oe(e,t={}){let n=t.runner??t.agent;if(n===Z(e))return{runner:e.config.runner};let r=(await e.store.list(`runner`,{visibleTo:t.requester,...n?{runner:n}:{defaults:!0}})).filter(({value:n})=>X(n,t.requester)&&(e.local||n.kind!==`local`&&n.kind!==`local-docker`)),i=n?r.find(({id:e,value:t})=>e===n||t.name===n):r.find(({value:e})=>e.scope===`personal`&&e.default)??r.find(({value:e})=>e.scope===`workspace`&&e.default);if(n&&!i)throw Error(`Unknown runner "${n}".`);return i?{runner:i.value.kind,runnerId:i.id}:{runner:e.config.runner}}function Q(e,t,n){let r={...t.config,...j(e.config,t.secret)};return Y(t.kind,{workDir:e.config.workDir,config:r,fetch:e.fetch,sandbox:{...n?{snapshots:J(e.store,`runner:${n}:`)}:{}}})}async function ke(e,t){if(!t.runnerId)return e.runners[t.runner];let n=await e.store.get(`runner`,t.runnerId);if(!n||n.kind!==t.runner||!e.local&&(n.kind===`local`||n.kind===`local-docker`)){e.settings?.runnerInstances?.delete(t.runnerId);return}j(e.config,n.secret);let r=(e.settings??={}).runnerInstances??=new Map,i=JSON.stringify([n.kind,n.config,n.secret]),a=r.get(t.runnerId);return a?.signature!==i&&(a={signature:i,runner:Q(e,n,t.runnerId)},r.set(t.runnerId,a)),a.runner}function Ae(e,t){if(Object.keys(t).some(t=>!e.fields.some(e=>e.key===t)))throw Error(`Unknown runner field`);for(let n of e.fields)if(!n.optional&&!t[n.key]?.trim())throw Error(`${n.label} is required`);if(e.kind===`http`){if(t.secret.length<32)throw Error(`Secret must contain at least 32 characters`);new I({url:t.url,secret:t.secret})}if(e.kind===`github-actions`&&!/^[\w.-]+\/[\w.-]+$/.test(t.repo))throw Error(`Repository must be owner/repo`);if(e.kind===`local-docker`&&t.cpus&&!(Number(t.cpus)>0&&Number.isFinite(Number(t.cpus))))throw Error(`CPUs must be positive`)}var $=class extends Error{};async function je(e,t){let n=Date.now(),r=new AbortController,i,a=new Promise((t,n)=>{i=setTimeout(()=>{r.abort(),n(new $(`Runner check timed out`))},e.runnerTimeoutMs??5e3)});try{return{ok:!0,detail:await Promise.race([a,(async()=>{let n=t?.kind??e.config.runner,i=t?{...t.config,...j(e.config,t.secret)}:e.config.runnerConfig??{};if(n===`local`){if(!e.local)throw new $(`Local runners require a local server`);return`This machine is available`}if(n===`http`){let n=t?Q(e,t):e.runners.http;if(!(n instanceof I)||!(await n.health(r.signal)).ok)throw new $(`Runner health check failed`);return`Runner is reachable`}if(n===`local-docker`){if(!e.local)throw new $(`Docker runners require a local server`);return await new Promise((t,n)=>{(e.runnerExec??re)(`docker`,[`info`],{timeout:5e3,signal:r.signal},e=>e?n(new $(`Docker is unavailable`)):t())}),`Docker is available`}let a=async t=>{let n=await(e.fetch??fetch)(t,{signal:r.signal,redirect:`manual`,headers:{authorization:`Bearer ${i.token}`,accept:`application/json`,"user-agent":`coder`}});if(!n.ok)throw new $(`Runner check failed with HTTP ${n.status}`);return n};if(n===`github-actions`){let e=String(i.repo).split(`/`).map(encodeURIComponent).join(`/`);return await a(`https://api.github.com/repos/${e}`),await a(`https://api.github.com/repos/${e}/actions/workflows/${encodeURIComponent(String(i.workflow))}`),`Repository and workflow are accessible`}let o=await(await a(`https://api.vercel.com/v2/teams?limit=100`)).json();if(!Array.isArray(o.teams))throw new $(`Invalid team response`);if(i.team&&!o.teams.some(e=>e.id===i.team||e.slug===i.team))throw new $(`Team is not accessible`);return`Teams are accessible`})()]),ms:Date.now()-n}}catch(e){return{ok:!1,detail:e instanceof $?e.message:`Runner check failed`,ms:Date.now()-n}}finally{clearTimeout(i)}}export{de as C,le as S,fe as T,I as _,Te as a,ue as b,ke as c,X as d,z as f,_e as g,ye as h,De as i,je as l,B as m,Ee as n,J as o,ve as p,Oe as r,Z as s,U as t,Ae as u,N as v,O as w,j as x,me as y};
package/dist/schema.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { A as secret, C as chatState, D as integrationAppInstallation, E as integrationApp, F as taskLog, I as taskTombstone, L as usage, M as task, N as taskHistory, O as platformLink, P as taskInbox, S as chatItem, T as engineCredential, b as agent, j as tables, k as runner, w as coder, x as agentVersion } from "./sdk-CKTCrtGe.js";
1
+ import { _ as taskTombstone, a as coder, c as integrationAppInstallation, d as secret, f as tables, g as taskLog, h as taskInbox, i as chatState, l as platformLink, m as taskHistory, n as agentVersion, o as engineCredential, p as task, r as chatItem, s as integrationApp, t as agent, u as runner, v as usage } from "./sdk.js";
2
2
  export { agent, agentVersion, chatItem, chatState, coder, engineCredential, integrationApp, integrationAppInstallation, platformLink, runner, secret, tables, task, taskHistory, taskInbox, taskLog, taskTombstone, usage };
package/dist/schema.js CHANGED
@@ -1 +1,8 @@
1
- import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n as u,o as d,p as f,r as p,s as m,t as h,u as g,v as _}from"./schema-Brm7WIKd.js";export{h as agent,u as agentVersion,p as chatItem,s as chatState,t as coder,d as engineCredential,m as integrationApp,n as integrationAppInstallation,c as platformLink,g as runner,r as secret,i as tables,f as task,l as taskHistory,o as taskInbox,a as taskLog,e as taskTombstone,_ as usage};
1
+ const e=Symbol.for(`drizzle:entityKind`);function t(t,n){if(!t||typeof t!=`object`)return!1;if(t instanceof n)return!0;if(!Object.prototype.hasOwnProperty.call(n,e))throw Error(`Class "${n.name??`<unknown>`}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let r=Object.getPrototypeOf(t).constructor;if(r)for(;r;){if(e in r&&r[e]===n[e])return!0;r=Object.getPrototypeOf(r)}return!1}var n=class{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static[e]=`Column`;name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!==`byDefault`}},r=class{static[e]=`ColumnBuilder`;config;constructor(e,t,n){this.config={name:e,keyAsName:e===``,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:t,columnType:n,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){this.config.name===``&&(this.config.name=e)}};const i=Symbol.for(`drizzle:Name`);var a=class{static[e]=`PgForeignKeyBuilder`;reference;_onUpdate=`no action`;_onDelete=`no action`;constructor(e,t){this.reference=()=>{let{name:t,columns:n,foreignColumns:r}=e();return{name:t,columns:n,foreignTable:r[0].table,foreignColumns:r}},t&&(this._onUpdate=t.onUpdate,this._onDelete=t.onDelete)}onUpdate(e){return this._onUpdate=e===void 0?`no action`:e,this}onDelete(e){return this._onDelete=e===void 0?`no action`:e,this}build(e){return new o(e,this)}},o=class{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static[e]=`PgForeignKey`;reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:n}=this.reference(),r=t.map(e=>e.name),a=n.map(e=>e.name),o=[this.table[i],...r,n[0].table[i],...a];return e??`${o.join(`_`)}_fk`}};function s(e,...t){return e(...t)}function c(e){return new d(e)}function l(e,t){return`${e[i]}_${t.join(`_`)}_unique`}var u=class{constructor(e,t){this.name=t,this.columns=e}static[e]=`PgUniqueConstraintBuilder`;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new f(e,this.columns,this.nullsNotDistinctConfig,this.name)}},d=class{static[e]=`PgUniqueOnConstraintBuilder`;name;constructor(e){this.name=e}on(...e){return new u(e,this.name)}},f=class{constructor(e,t,n,r){this.table=e,this.columns=t,this.name=r??l(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=n}static[e]=`PgUniqueConstraint`;columns;name;nullsNotDistinct=!1;getName(){return this.name}};function p(e,t,n){for(let r=t;r<e.length;r++){let i=e[r];if(i===`\\`){r++;continue}if(i===`"`)return[e.slice(t,r).replace(/\\/g,``),r+1];if(!n&&(i===`,`||i===`}`))return[e.slice(t,r).replace(/\\/g,``),r]}return[e.slice(t).replace(/\\/g,``),e.length]}function m(e,t=0){let n=[],r=t,i=!1;for(;r<e.length;){let a=e[r];if(a===`,`){(i||r===t)&&n.push(``),i=!0,r++;continue}if(i=!1,a===`\\`){r+=2;continue}if(a===`"`){let[t,i]=p(e,r+1,!0);n.push(t),r=i;continue}if(a===`}`)return[n,r+1];if(a===`{`){let[t,i]=m(e,r+1);n.push(t),r=i;continue}let[o,s]=p(e,r,!1);n.push(o),r=s}return[n,r]}function h(e){let[t]=m(e,1);return t}function g(e){return`{${e.map(e=>Array.isArray(e)?g(e):typeof e==`string`?`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`:`${e}`).join(`,`)}}`}var _=class extends r{foreignKeyConfigs=[];static[e]=`PgColumnBuilder`;array(e){return new te(this.config.name,this,e)}references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e,t){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=t?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:`always`,mode:`stored`},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:n,actions:r})=>s((n,r)=>{let i=new a(()=>{let t=n();return{columns:[e],foreignColumns:[t]}});return r.onUpdate&&i.onUpdate(r.onUpdate),r.onDelete&&i.onDelete(r.onDelete),i.build(t)},n,r))}buildExtraConfigColumn(e){return new y(e,this.config)}},v=class extends n{constructor(e,t){t.uniqueName||=l(e,[t.name]),super(e,t),this.table=e}static[e]=`PgColumn`},y=class extends v{static[e]=`ExtraConfigColumn`;getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??`asc`,nulls:this.config.nulls??`last`,opClass:this.config.opClass};defaultConfig={order:`asc`,nulls:`last`,opClass:void 0};asc(){return this.indexConfig.order=`asc`,this}desc(){return this.indexConfig.order=`desc`,this}nullsFirst(){return this.indexConfig.nulls=`first`,this}nullsLast(){return this.indexConfig.nulls=`last`,this}op(e){return this.indexConfig.opClass=e,this}},ee=class{static[e]=`IndexedColumn`;constructor(e,t,n,r){this.name=e,this.keyAsName=t,this.type=n,this.indexConfig=r}name;keyAsName;type;indexConfig},te=class extends _{static[e]=`PgArrayBuilder`;constructor(e,t,n){super(e,`array`,`PgArray`),this.config.baseBuilder=t,this.config.size=n}build(e){let t=this.config.baseBuilder.build(e);return new ne(e,this.config,t)}},ne=class n extends v{constructor(e,t,n,r){super(e,t),this.baseColumn=n,this.range=r,this.size=t.size}size;static[e]=`PgArray`;getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==`number`?this.size:``}]`}mapFromDriverValue(e){return typeof e==`string`&&(e=h(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(e,r=!1){let i=e.map(e=>e===null?null:t(this.baseColumn,n)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return r?i:g(i)}},re=class extends _{static[e]=`PgEnumObjectColumnBuilder`;constructor(e,t){super(e,`string`,`PgEnumObjectColumn`),this.config.enum=t}build(e){return new ie(e,this.config)}},ie=class extends v{static[e]=`PgEnumObjectColumn`;enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t),this.enum=t.enum}getSQLType(){return this.enum.enumName}};const ae=Symbol.for(`drizzle:isPgEnum`);function oe(e){return!!e&&typeof e==`function`&&ae in e&&e[ae]===!0}var se=class extends _{static[e]=`PgEnumColumnBuilder`;constructor(e,t){super(e,`string`,`PgEnumColumn`),this.config.enum=t}build(e){return new ce(e,this.config)}},ce=class extends v{static[e]=`PgEnumColumn`;enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t),this.enum=t.enum}getSQLType(){return this.enum.enumName}};function le(e,t,n){let r=Object.assign(e=>new se(e??``,r),{enumName:e,enumValues:t,schema:n,[ae]:!0});return r}function ue(e,t,n){let r=Object.assign(e=>new re(e??``,r),{enumName:e,enumValues:Object.values(t),schema:n,[ae]:!0});return r}var b=class{static[e]=`Subquery`;constructor(e,t,n,r=!1,i=[]){this._={brand:`Subquery`,sql:e,selectedFields:t,alias:n,isWith:r,usedTables:i}}},de=class extends b{static[e]=`WithSubquery`};const x={startActiveSpan(e,t){return t()}},S=Symbol.for(`drizzle:ViewBaseConfig`),C=Symbol.for(`drizzle:Schema`),fe=Symbol.for(`drizzle:Columns`),pe=Symbol.for(`drizzle:ExtraConfigColumns`),me=Symbol.for(`drizzle:OriginalName`),he=Symbol.for(`drizzle:BaseName`),ge=Symbol.for(`drizzle:IsAlias`),_e=Symbol.for(`drizzle:ExtraConfigBuilder`),ve=Symbol.for(`drizzle:IsDrizzleTable`);var w=class{static[e]=`Table`;static Symbol={Name:i,Schema:C,OriginalName:me,Columns:fe,ExtraConfigColumns:pe,BaseName:he,IsAlias:ge,ExtraConfigBuilder:_e};[i];[me];[C];[fe];[pe];[he];[ge]=!1;[ve]=!0;[_e]=void 0;constructor(e,t,n){this[i]=this[me]=e,this[C]=t,this[he]=n}};function T(e){return e[i]}function ye(e){return`${e[C]??`public`}.${e[i]}`}function be(e){return e!=null&&typeof e.getSQL==`function`}function xe(e){let t={sql:``,params:[]};for(let n of e)t.sql+=n.sql,t.params.push(...n.params),n.typings?.length&&(t.typings||=[],t.typings.push(...n.typings));return t}var E=class{static[e]=`StringChunk`;value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new D([this])}},D=class r{constructor(e){this.queryChunks=e;for(let n of e)if(t(n,w)){let e=n[w.Symbol.Schema];this.usedTables.push(e===void 0?n[w.Symbol.Name]:e+`.`+n[w.Symbol.Name])}}static[e]=`SQL`;decoder=we;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return x.startActiveSpan(`drizzle.buildSQL`,t=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(e,i){let a=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:o,escapeName:s,escapeParam:c,prepareTyping:l,inlineParams:u,paramStartIndex:d}=a;return xe(e.map(e=>{if(t(e,E))return{sql:e.value.join(``),params:[]};if(t(e,Se))return{sql:s(e.value),params:[]};if(e===void 0)return{sql:``,params:[]};if(Array.isArray(e)){let t=[new E(`(`)];for(let[n,r]of e.entries())t.push(r),n<e.length-1&&t.push(new E(`, `));return t.push(new E(`)`)),this.buildQueryFromSourceParams(t,a)}if(t(e,r))return this.buildQueryFromSourceParams(e.queryChunks,{...a,inlineParams:u||e.shouldInlineParams});if(t(e,w)){let t=e[w.Symbol.Schema],n=e[w.Symbol.Name];return{sql:t===void 0||e[ge]?s(n):s(t)+`.`+s(n),params:[]}}if(t(e,n)){let t=o.getColumnCasing(e);if(i.invokeSource===`indexes`)return{sql:s(t),params:[]};let n=e.table[w.Symbol.Schema];return{sql:e.table[ge]||n===void 0?s(e.table[w.Symbol.Name])+`.`+s(t):s(n)+`.`+s(e.table[w.Symbol.Name])+`.`+s(t),params:[]}}if(t(e,j)){let t=e[S].schema,n=e[S].name;return{sql:t===void 0||e[S].isAlias?s(n):s(t)+`.`+s(n),params:[]}}if(t(e,O)){if(t(e.value,A))return{sql:c(d.value++,e),params:[e],typings:[`none`]};let n=e.value===null?null:e.encoder.mapToDriverValue(e.value);if(t(n,r))return this.buildQueryFromSourceParams([n],a);if(u)return{sql:this.mapInlineParam(n,a),params:[]};let i=[`none`];return l&&(i=[l(e.encoder)]),{sql:c(d.value++,n),params:[n],typings:i}}return t(e,A)?{sql:c(d.value++,e),params:[e],typings:[`none`]}:t(e,r.Aliased)&&e.fieldAlias!==void 0?{sql:s(e.fieldAlias),params:[]}:t(e,b)?e._.isWith?{sql:s(e._.alias),params:[]}:this.buildQueryFromSourceParams([new E(`(`),e._.sql,new E(`) `),new Se(e._.alias)],a):oe(e)?e.schema?{sql:s(e.schema)+`.`+s(e.enumName),params:[]}:{sql:s(e.enumName),params:[]}:be(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],a):this.buildQueryFromSourceParams([new E(`(`),e.getSQL(),new E(`)`)],a):u?{sql:this.mapInlineParam(e,a),params:[]}:{sql:c(d.value++,e),params:[e],typings:[`none`]}}))}mapInlineParam(e,{escapeString:t}){if(e===null)return`null`;if(typeof e==`number`||typeof e==`boolean`)return e.toString();if(typeof e==`string`)return t(e);if(typeof e==`object`){let n=e.toString();return t(n===`[object Object]`?JSON.stringify(e):n)}throw Error(`Unexpected param value: `+e)}getSQL(){return this}as(e){return e===void 0?this:new r.Aliased(this,e)}mapWith(e){return this.decoder=typeof e==`function`?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}},Se=class{constructor(e){this.value=e}static[e]=`Name`;brand;getSQL(){return new D([this])}};function Ce(e){return typeof e==`object`&&!!e&&`mapToDriverValue`in e&&typeof e.mapToDriverValue==`function`}const we={mapFromDriverValue:e=>e},Te={mapToDriverValue:e=>e};({...we,...Te});var O=class{constructor(e,t=Te){this.value=e,this.encoder=t}static[e]=`Param`;brand;getSQL(){return new D([this])}};function k(e,...t){let n=[];(t.length>0||e.length>0&&e[0]!==``)&&n.push(new E(e[0]));for(let[r,i]of t.entries())n.push(i,new E(e[r+1]));return new D(n)}(e=>{function t(){return new D([])}e.empty=t;function n(e){return new D(e)}e.fromList=n;function r(e){return new D([new E(e)])}e.raw=r;function i(e,t){let n=[];for(let[r,i]of e.entries())r>0&&t!==void 0&&n.push(t),n.push(i);return new D(n)}e.join=i;function a(e){return new Se(e)}e.identifier=a;function o(e){return new A(e)}e.placeholder=o;function s(e,t){return new O(e,t)}e.param=s})(k||={}),(t=>{class n{constructor(e,t){this.sql=e,this.fieldAlias=t}static[e]=`SQL.Aliased`;isSelectionField=!1;getSQL(){return this.sql}clone(){return new n(this.sql,this.fieldAlias)}}t.Aliased=n})(D||={});var A=class{constructor(e){this.name=e}static[e]=`Placeholder`;getSQL(){return new D([this])}};function Ee(e,n){return e.map(e=>{if(t(e,A)){if(!(e.name in n))throw Error(`No value for placeholder "${e.name}" was provided`);return n[e.name]}if(t(e,O)&&t(e.value,A)){if(!(e.value.name in n))throw Error(`No value for placeholder "${e.value.name}" was provided`);return e.encoder.mapToDriverValue(n[e.value.name])}return e})}const De=Symbol.for(`drizzle:IsDrizzleView`);var j=class{static[e]=`View`;[S];[De]=!0;constructor({name:e,schema:t,selectedFields:n,query:r}){this[S]={name:e,originalName:e,schema:t,selectedFields:n,query:r,isExisting:!r,isAlias:!1}}getSQL(){return new D([this])}};n.prototype.getSQL=function(){return new D([this])},w.prototype.getSQL=function(){return new D([this])},b.prototype.getSQL=function(){return new D([this])};var Oe=class{constructor(e){this.table=e}static[e]=`ColumnAliasProxyHandler`;get(e,t){return t===`table`?this.table:e[t]}},ke=class{constructor(e,t){this.alias=e,this.replaceOriginalName=t}static[e]=`TableAliasProxyHandler`;get(e,r){if(r===w.Symbol.IsAlias)return!0;if(r===w.Symbol.Name||this.replaceOriginalName&&r===w.Symbol.OriginalName)return this.alias;if(r===S)return{...e[S],name:this.alias,isAlias:!0};if(r===w.Symbol.Columns){let t=e[w.Symbol.Columns];if(!t)return t;let n={};return Object.keys(t).map(r=>{n[r]=new Proxy(t[r],new Oe(new Proxy(e,this)))}),n}let i=e[r];return t(i,n)?new Proxy(i,new Oe(new Proxy(e,this))):i}};function Ae(e,t){return new Proxy(e,new ke(t,!1))}function M(e,t){return new Proxy(e,new Oe(new Proxy(e.table,new ke(t,!1))))}function je(e,t){return new D.Aliased(Me(e.sql,t),e.fieldAlias)}function Me(e,r){return k.join(e.queryChunks.map(e=>t(e,n)?M(e,r):t(e,D)?Me(e,r):t(e,D.Aliased)?je(e,r):e))}var Ne=class extends Error{static[e]=`DrizzleError`;constructor({message:e,cause:t}){super(e),this.name=`DrizzleError`,this.cause=t}},N=class e extends Error{constructor(t,n,r){super(`Failed query: ${t}
2
+ params: ${n}`),this.query=t,this.params=n,this.cause=r,Error.captureStackTrace(this,e),r&&(this.cause=r)}},Pe=class extends Ne{static[e]=`TransactionRollbackError`;constructor(){super({message:`Rollback`})}},Fe=class{static[e]=`ConsoleLogWriter`;write(e){console.log(e)}},Ie=class{static[e]=`DefaultLogger`;writer;constructor(e){this.writer=e?.writer??new Fe}logQuery(e,t){let n=t.map(e=>{try{return JSON.stringify(e)}catch{return String(e)}}),r=n.length?` -- params: [${n.join(`, `)}]`:``;this.writer.write(`Query: ${e}${r}`)}},Le=class{static[e]=`NoopLogger`;logQuery(){}},P=class{static[e]=`QueryPromise`;[Symbol.toStringTag]=`QueryPromise`;catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}};function Re(e,r,i){let a={},o=e.reduce((e,{path:o,field:s},c)=>{let l;l=t(s,n)?s:t(s,D)?s.decoder:t(s,b)?s._.sql.decoder:s.sql.decoder;let u=e;for(let[e,d]of o.entries())if(e<o.length-1)d in u||(u[d]={}),u=u[d];else{let e=r[c],f=u[d]=e===null?null:l.mapFromDriverValue(e);if(i&&t(s,n)&&o.length===2){let e=o[0];e in a?typeof a[e]==`string`&&a[e]!==T(s.table)&&(a[e]=!1):a[e]=f===null&&T(s.table)}}return e},{});if(i&&Object.keys(a).length>0)for(let[e,t]of Object.entries(a))typeof t==`string`&&!i[t]&&(o[e]=null);return o}function F(e,r){return Object.entries(e).reduce((e,[i,a])=>{if(typeof i!=`string`)return e;let o=r?[...r,i]:[i];return t(a,n)||t(a,D)||t(a,D.Aliased)||t(a,b)?e.push({path:o,field:a}):t(a,w)?e.push(...F(a[w.Symbol.Columns],o)):e.push(...F(a,o)),e},[])}function ze(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let[e,t]of n.entries())if(t!==r[e])return!1;return!0}function Be(e,r){let i=Object.entries(r).filter(([,e])=>e!==void 0).map(([r,i])=>t(i,D)||t(i,n)?[r,i]:[r,new O(i,e[w.Symbol.Columns][r])]);if(i.length===0)throw Error(`No values to set`);return Object.fromEntries(i)}function Ve(e,t){for(let n of t)for(let t of Object.getOwnPropertyNames(n.prototype))t!==`constructor`&&Object.defineProperty(e.prototype,t,Object.getOwnPropertyDescriptor(n.prototype,t)||Object.create(null))}function He(e){return e[w.Symbol.Columns]}function I(e){return t(e,b)?e._.alias:t(e,j)?e[S].name:t(e,D)?void 0:e[w.Symbol.IsAlias]?e[w.Symbol.Name]:e[w.Symbol.BaseName]}function L(e,t){return{name:typeof e==`string`&&e.length>0?e:``,config:typeof e==`object`?e:t}}function Ue(e){if(typeof e!=`object`||!e||e.constructor.name!==`Object`)return!1;if(`logger`in e){let t=typeof e.logger;return t===`boolean`||t===`object`&&typeof e.logger.logQuery==`function`||t===`undefined`}if(`schema`in e){let t=typeof e.schema;return t===`object`||t===`undefined`}if(`casing`in e){let t=typeof e.casing;return t===`string`||t===`undefined`}if(`mode`in e)return e.mode==="default"&&e.mode===`planetscale`&&e.mode===void 0;if(`connection`in e){let t=typeof e.connection;return t===`string`||t===`object`||t===`undefined`}if(`client`in e){let t=typeof e.client;return t===`object`||t===`function`||t===`undefined`}return Object.keys(e).length===0}typeof TextDecoder>`u`||new TextDecoder;var We=class extends _{static[e]=`PgIntColumnBaseBuilder`;generatedAlwaysAsIdentity(e){if(e){let{name:t,...n}=e;this.config.generatedIdentity={type:`always`,sequenceName:t,sequenceOptions:n}}else this.config.generatedIdentity={type:`always`};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(e){if(e){let{name:t,...n}=e;this.config.generatedIdentity={type:`byDefault`,sequenceName:t,sequenceOptions:n}}else this.config.generatedIdentity={type:`byDefault`};return this.config.hasDefault=!0,this.config.notNull=!0,this}},Ge=class extends We{static[e]=`PgBigInt53Builder`;constructor(e){super(e,`number`,`PgBigInt53`)}build(e){return new Ke(e,this.config)}},Ke=class extends v{static[e]=`PgBigInt53`;getSQLType(){return`bigint`}mapFromDriverValue(e){return typeof e==`number`?e:Number(e)}},qe=class extends We{static[e]=`PgBigInt64Builder`;constructor(e){super(e,`bigint`,`PgBigInt64`)}build(e){return new Je(e,this.config)}},Je=class extends v{static[e]=`PgBigInt64`;getSQLType(){return`bigint`}mapFromDriverValue(e){return BigInt(e)}};function R(e,t){let{name:n,config:r}=L(e,t);return r.mode===`number`?new Ge(n):new qe(n)}var Ye=class extends _{static[e]=`PgBigSerial53Builder`;constructor(e){super(e,`number`,`PgBigSerial53`),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new Xe(e,this.config)}},Xe=class extends v{static[e]=`PgBigSerial53`;getSQLType(){return`bigserial`}mapFromDriverValue(e){return typeof e==`number`?e:Number(e)}},Ze=class extends _{static[e]=`PgBigSerial64Builder`;constructor(e){super(e,`bigint`,`PgBigSerial64`),this.config.hasDefault=!0}build(e){return new Qe(e,this.config)}},Qe=class extends v{static[e]=`PgBigSerial64`;getSQLType(){return`bigserial`}mapFromDriverValue(e){return BigInt(e)}};function $e(e,t){let{name:n,config:r}=L(e,t);return r.mode===`number`?new Ye(n):new Ze(n)}var et=class extends _{static[e]=`PgBooleanBuilder`;constructor(e){super(e,`boolean`,`PgBoolean`)}build(e){return new tt(e,this.config)}},tt=class extends v{static[e]=`PgBoolean`;getSQLType(){return`boolean`}};function nt(e){return new et(e??``)}var rt=class extends _{static[e]=`PgCharBuilder`;constructor(e,t){super(e,`string`,`PgChar`),this.config.length=t.length,this.config.enumValues=t.enum}build(e){return new it(e,this.config)}},it=class extends v{static[e]=`PgChar`;length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?`char`:`char(${this.length})`}};function at(e,t={}){let{name:n,config:r}=L(e,t);return new rt(n,r)}var ot=class extends _{static[e]=`PgCidrBuilder`;constructor(e){super(e,`string`,`PgCidr`)}build(e){return new st(e,this.config)}},st=class extends v{static[e]=`PgCidr`;getSQLType(){return`cidr`}};function ct(e){return new ot(e??``)}var lt=class extends _{static[e]=`PgCustomColumnBuilder`;constructor(e,t,n){super(e,`custom`,`PgCustomColumn`),this.config.fieldConfig=t,this.config.customTypeParams=n}build(e){return new ut(e,this.config)}},ut=class extends v{static[e]=`PgCustomColumn`;sqlName;mapTo;mapFrom;constructor(e,t){super(e,t),this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return typeof this.mapFrom==`function`?this.mapFrom(e):e}mapToDriverValue(e){return typeof this.mapTo==`function`?this.mapTo(e):e}};function dt(e){return(t,n)=>{let{name:r,config:i}=L(t,n);return new lt(r,i,e)}}var ft=class extends _{static[e]=`PgDateColumnBaseBuilder`;defaultNow(){return this.default(k`now()`)}},pt=class extends ft{static[e]=`PgDateBuilder`;constructor(e){super(e,`date`,`PgDate`)}build(e){return new mt(e,this.config)}},mt=class extends v{static[e]=`PgDate`;getSQLType(){return`date`}mapFromDriverValue(e){return typeof e==`string`?new Date(e):e}mapToDriverValue(e){return e.toISOString()}},ht=class extends ft{static[e]=`PgDateStringBuilder`;constructor(e){super(e,`string`,`PgDateString`)}build(e){return new gt(e,this.config)}},gt=class extends v{static[e]=`PgDateString`;getSQLType(){return`date`}mapFromDriverValue(e){return typeof e==`string`?e:e.toISOString().slice(0,-14)}};function _t(e,t){let{name:n,config:r}=L(e,t);return r?.mode===`date`?new pt(n):new ht(n)}var vt=class extends _{static[e]=`PgDoublePrecisionBuilder`;constructor(e){super(e,`number`,`PgDoublePrecision`)}build(e){return new yt(e,this.config)}},yt=class extends v{static[e]=`PgDoublePrecision`;getSQLType(){return`double precision`}mapFromDriverValue(e){return typeof e==`string`?Number.parseFloat(e):e}};function bt(e){return new vt(e??``)}var xt=class extends _{static[e]=`PgInetBuilder`;constructor(e){super(e,`string`,`PgInet`)}build(e){return new St(e,this.config)}},St=class extends v{static[e]=`PgInet`;getSQLType(){return`inet`}};function Ct(e){return new xt(e??``)}var wt=class extends We{static[e]=`PgIntegerBuilder`;constructor(e){super(e,`number`,`PgInteger`)}build(e){return new Tt(e,this.config)}},Tt=class extends v{static[e]=`PgInteger`;getSQLType(){return`integer`}mapFromDriverValue(e){return typeof e==`string`?Number.parseInt(e):e}};function z(e){return new wt(e??``)}var Et=class extends _{static[e]=`PgIntervalBuilder`;constructor(e,t){super(e,`string`,`PgInterval`),this.config.intervalConfig=t}build(e){return new Dt(e,this.config)}},Dt=class extends v{static[e]=`PgInterval`;fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){return`interval${this.fields?` ${this.fields}`:``}${this.precision?`(${this.precision})`:``}`}};function Ot(e,t={}){let{name:n,config:r}=L(e,t);return new Et(n,r)}var kt=class extends _{static[e]=`PgJsonBuilder`;constructor(e){super(e,`json`,`PgJson`)}build(e){return new At(e,this.config)}},At=class extends v{static[e]=`PgJson`;constructor(e,t){super(e,t)}getSQLType(){return`json`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e}};function jt(e){return new kt(e??``)}var Mt=class extends _{static[e]=`PgJsonbBuilder`;constructor(e){super(e,`json`,`PgJsonb`)}build(e){return new Nt(e,this.config)}},Nt=class extends v{static[e]=`PgJsonb`;constructor(e,t){super(e,t)}getSQLType(){return`jsonb`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e}};function B(e){return new Mt(e??``)}var Pt=class extends _{static[e]=`PgLineBuilder`;constructor(e){super(e,`array`,`PgLine`)}build(e){return new Ft(e,this.config)}},Ft=class extends v{static[e]=`PgLine`;getSQLType(){return`line`}mapFromDriverValue(e){let[t,n,r]=e.slice(1,-1).split(`,`);return[Number.parseFloat(t),Number.parseFloat(n),Number.parseFloat(r)]}mapToDriverValue(e){return`{${e[0]},${e[1]},${e[2]}}`}},It=class extends _{static[e]=`PgLineABCBuilder`;constructor(e){super(e,`json`,`PgLineABC`)}build(e){return new Lt(e,this.config)}},Lt=class extends v{static[e]=`PgLineABC`;getSQLType(){return`line`}mapFromDriverValue(e){let[t,n,r]=e.slice(1,-1).split(`,`);return{a:Number.parseFloat(t),b:Number.parseFloat(n),c:Number.parseFloat(r)}}mapToDriverValue(e){return`{${e.a},${e.b},${e.c}}`}};function Rt(e,t){let{name:n,config:r}=L(e,t);return!r?.mode||r.mode===`tuple`?new Pt(n):new It(n)}var zt=class extends _{static[e]=`PgMacaddrBuilder`;constructor(e){super(e,`string`,`PgMacaddr`)}build(e){return new Bt(e,this.config)}},Bt=class extends v{static[e]=`PgMacaddr`;getSQLType(){return`macaddr`}};function Vt(e){return new zt(e??``)}var Ht=class extends _{static[e]=`PgMacaddr8Builder`;constructor(e){super(e,`string`,`PgMacaddr8`)}build(e){return new Ut(e,this.config)}},Ut=class extends v{static[e]=`PgMacaddr8`;getSQLType(){return`macaddr8`}};function Wt(e){return new Ht(e??``)}var Gt=class extends _{static[e]=`PgNumericBuilder`;constructor(e,t,n){super(e,`string`,`PgNumeric`),this.config.precision=t,this.config.scale=n}build(e){return new Kt(e,this.config)}},Kt=class extends v{static[e]=`PgNumeric`;precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue(e){return typeof e==`string`?e:String(e)}getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?`numeric`:`numeric(${this.precision})`}},qt=class extends _{static[e]=`PgNumericNumberBuilder`;constructor(e,t,n){super(e,`number`,`PgNumericNumber`),this.config.precision=t,this.config.scale=n}build(e){return new Jt(e,this.config)}},Jt=class extends v{static[e]=`PgNumericNumber`;precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue(e){return typeof e==`number`?e:Number(e)}mapToDriverValue=String;getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?`numeric`:`numeric(${this.precision})`}},Yt=class extends _{static[e]=`PgNumericBigIntBuilder`;constructor(e,t,n){super(e,`bigint`,`PgNumericBigInt`),this.config.precision=t,this.config.scale=n}build(e){return new Xt(e,this.config)}},Xt=class extends v{static[e]=`PgNumericBigInt`;precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?`numeric`:`numeric(${this.precision})`}};function Zt(e,t){let{name:n,config:r}=L(e,t),i=r?.mode;return i===`number`?new qt(n,r?.precision,r?.scale):i===`bigint`?new Yt(n,r?.precision,r?.scale):new Gt(n,r?.precision,r?.scale)}var Qt=class extends _{static[e]=`PgPointTupleBuilder`;constructor(e){super(e,`array`,`PgPointTuple`)}build(e){return new $t(e,this.config)}},$t=class extends v{static[e]=`PgPointTuple`;getSQLType(){return`point`}mapFromDriverValue(e){if(typeof e==`string`){let[t,n]=e.slice(1,-1).split(`,`);return[Number.parseFloat(t),Number.parseFloat(n)]}return[e.x,e.y]}mapToDriverValue(e){return`(${e[0]},${e[1]})`}},en=class extends _{static[e]=`PgPointObjectBuilder`;constructor(e){super(e,`json`,`PgPointObject`)}build(e){return new tn(e,this.config)}},tn=class extends v{static[e]=`PgPointObject`;getSQLType(){return`point`}mapFromDriverValue(e){if(typeof e==`string`){let[t,n]=e.slice(1,-1).split(`,`);return{x:Number.parseFloat(t),y:Number.parseFloat(n)}}return e}mapToDriverValue(e){return`(${e.x},${e.y})`}};function nn(e,t){let{name:n,config:r}=L(e,t);return!r?.mode||r.mode===`tuple`?new Qt(n):new en(n)}function rn(e){let t=[];for(let n=0;n<e.length;n+=2)t.push(Number.parseInt(e.slice(n,n+2),16));return new Uint8Array(t)}function an(e,t){let n=new DataView(new ArrayBuffer(8));for(let r=0;r<8;r++)n.setUint8(r,e[t+r]);return n.getFloat64(0,!0)}function on(e){let t=rn(e),n=0,r=t[n];n+=1;let i=new DataView(t.buffer),a=i.getUint32(n,r===1);if(n+=4,a&536870912&&(i.getUint32(n,r===1),n+=4),(a&65535)==1){let e=an(t,n);n+=8;let r=an(t,n);return n+=8,[e,r]}throw Error(`Unsupported geometry type`)}var sn=class extends _{static[e]=`PgGeometryBuilder`;constructor(e){super(e,`array`,`PgGeometry`)}build(e){return new cn(e,this.config)}},cn=class extends v{static[e]=`PgGeometry`;getSQLType(){return`geometry(point)`}mapFromDriverValue(e){return on(e)}mapToDriverValue(e){return`point(${e[0]} ${e[1]})`}},ln=class extends _{static[e]=`PgGeometryObjectBuilder`;constructor(e){super(e,`json`,`PgGeometryObject`)}build(e){return new un(e,this.config)}},un=class extends v{static[e]=`PgGeometryObject`;getSQLType(){return`geometry(point)`}mapFromDriverValue(e){let t=on(e);return{x:t[0],y:t[1]}}mapToDriverValue(e){return`point(${e.x} ${e.y})`}};function dn(e,t){let{name:n,config:r}=L(e,t);return!r?.mode||r.mode===`tuple`?new sn(n):new ln(n)}var fn=class extends _{static[e]=`PgRealBuilder`;constructor(e,t){super(e,`number`,`PgReal`),this.config.length=t}build(e){return new pn(e,this.config)}},pn=class extends v{static[e]=`PgReal`;constructor(e,t){super(e,t)}getSQLType(){return`real`}mapFromDriverValue=e=>typeof e==`string`?Number.parseFloat(e):e};function mn(e){return new fn(e??``)}var hn=class extends _{static[e]=`PgSerialBuilder`;constructor(e){super(e,`number`,`PgSerial`),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new gn(e,this.config)}},gn=class extends v{static[e]=`PgSerial`;getSQLType(){return`serial`}};function _n(e){return new hn(e??``)}var vn=class extends We{static[e]=`PgSmallIntBuilder`;constructor(e){super(e,`number`,`PgSmallInt`)}build(e){return new yn(e,this.config)}},yn=class extends v{static[e]=`PgSmallInt`;getSQLType(){return`smallint`}mapFromDriverValue=e=>typeof e==`string`?Number(e):e};function bn(e){return new vn(e??``)}var xn=class extends _{static[e]=`PgSmallSerialBuilder`;constructor(e){super(e,`number`,`PgSmallSerial`),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new Sn(e,this.config)}},Sn=class extends v{static[e]=`PgSmallSerial`;getSQLType(){return`smallserial`}};function Cn(e){return new xn(e??``)}var wn=class extends _{static[e]=`PgTextBuilder`;constructor(e,t){super(e,`string`,`PgText`),this.config.enumValues=t.enum}build(e){return new Tn(e,this.config)}},Tn=class extends v{static[e]=`PgText`;enumValues=this.config.enumValues;getSQLType(){return`text`}};function V(e,t={}){let{name:n,config:r}=L(e,t);return new wn(n,r)}var En=class extends ft{constructor(e,t,n){super(e,`string`,`PgTime`),this.withTimezone=t,this.precision=n,this.config.withTimezone=t,this.config.precision=n}static[e]=`PgTimeBuilder`;build(e){return new Dn(e,this.config)}},Dn=class extends v{static[e]=`PgTime`;withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){return`time${this.precision===void 0?``:`(${this.precision})`}${this.withTimezone?` with time zone`:``}`}};function On(e,t={}){let{name:n,config:r}=L(e,t);return new En(n,r.withTimezone??!1,r.precision)}var kn=class extends ft{static[e]=`PgTimestampBuilder`;constructor(e,t,n){super(e,`date`,`PgTimestamp`),this.config.withTimezone=t,this.config.precision=n}build(e){return new An(e,this.config)}},An=class extends v{static[e]=`PgTimestamp`;withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){return`timestamp${this.precision===void 0?``:` (${this.precision})`}${this.withTimezone?` with time zone`:``}`}mapFromDriverValue(e){return typeof e==`string`?new Date(this.withTimezone?e:e+`+0000`):e}mapToDriverValue=e=>e.toISOString()},jn=class extends ft{static[e]=`PgTimestampStringBuilder`;constructor(e,t,n){super(e,`string`,`PgTimestampString`),this.config.withTimezone=t,this.config.precision=n}build(e){return new Mn(e,this.config)}},Mn=class extends v{static[e]=`PgTimestampString`;withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){return`timestamp${this.precision===void 0?``:`(${this.precision})`}${this.withTimezone?` with time zone`:``}`}mapFromDriverValue(e){if(typeof e==`string`)return e;let t=e.toISOString().slice(0,-1).replace(`T`,` `);if(this.withTimezone){let n=e.getTimezoneOffset();return`${t}${n<=0?`+`:`-`}${Math.floor(Math.abs(n)/60).toString().padStart(2,`0`)}`}return t}};function Nn(e,t={}){let{name:n,config:r}=L(e,t);return r?.mode===`string`?new jn(n,r.withTimezone??!1,r.precision):new kn(n,r?.withTimezone??!1,r?.precision)}var Pn=class extends _{static[e]=`PgUUIDBuilder`;constructor(e){super(e,`string`,`PgUUID`)}defaultRandom(){return this.default(k`gen_random_uuid()`)}build(e){return new Fn(e,this.config)}},Fn=class extends v{static[e]=`PgUUID`;getSQLType(){return`uuid`}};function In(e){return new Pn(e??``)}var Ln=class extends _{static[e]=`PgVarcharBuilder`;constructor(e,t){super(e,`string`,`PgVarchar`),this.config.length=t.length,this.config.enumValues=t.enum}build(e){return new Rn(e,this.config)}},Rn=class extends v{static[e]=`PgVarchar`;length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?`varchar`:`varchar(${this.length})`}};function zn(e,t={}){let{name:n,config:r}=L(e,t);return new Ln(n,r)}var Bn=class extends _{static[e]=`PgBinaryVectorBuilder`;constructor(e,t){super(e,`string`,`PgBinaryVector`),this.config.dimensions=t.dimensions}build(e){return new Vn(e,this.config)}},Vn=class extends v{static[e]=`PgBinaryVector`;dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}};function Hn(e,t){let{name:n,config:r}=L(e,t);return new Bn(n,r)}var Un=class extends _{static[e]=`PgHalfVectorBuilder`;constructor(e,t){super(e,`array`,`PgHalfVector`),this.config.dimensions=t.dimensions}build(e){return new Wn(e,this.config)}},Wn=class extends v{static[e]=`PgHalfVector`;dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(`,`).map(e=>Number.parseFloat(e))}};function Gn(e,t){let{name:n,config:r}=L(e,t);return new Un(n,r)}var Kn=class extends _{static[e]=`PgSparseVectorBuilder`;constructor(e,t){super(e,`string`,`PgSparseVector`),this.config.dimensions=t.dimensions}build(e){return new qn(e,this.config)}},qn=class extends v{static[e]=`PgSparseVector`;dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}};function Jn(e,t){let{name:n,config:r}=L(e,t);return new Kn(n,r)}var Yn=class extends _{static[e]=`PgVectorBuilder`;constructor(e,t){super(e,`array`,`PgVector`),this.config.dimensions=t.dimensions}build(e){return new Xn(e,this.config)}},Xn=class extends v{static[e]=`PgVector`;dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(`,`).map(e=>Number.parseFloat(e))}};function Zn(e,t){let{name:n,config:r}=L(e,t);return new Yn(n,r)}function Qn(){return{bigint:R,bigserial:$e,boolean:nt,char:at,cidr:ct,customType:dt,date:_t,doublePrecision:bt,inet:Ct,integer:z,interval:Ot,json:jt,jsonb:B,line:Rt,macaddr:Vt,macaddr8:Wt,numeric:Zt,point:nn,geometry:dn,real:mn,serial:_n,smallint:bn,smallserial:Cn,text:V,time:On,timestamp:Nn,uuid:In,varchar:zn,bit:Hn,halfvec:Gn,sparsevec:Jn,vector:Zn}}const $n=Symbol.for(`drizzle:PgInlineForeignKeys`),er=Symbol.for(`drizzle:EnableRLS`);var H=class extends w{static[e]=`PgTable`;static Symbol=Object.assign({},w.Symbol,{InlineForeignKeys:$n,EnableRLS:er});[$n]=[];[er]=!1;[w.Symbol.ExtraConfigBuilder]=void 0;[w.Symbol.ExtraConfigColumns]={}};function tr(e,t,n,r,i=e){let a=new H(e,r,i),o=typeof t==`function`?t(Qn()):t,s=Object.fromEntries(Object.entries(o).map(([e,t])=>{let n=t;n.setName(e);let r=n.build(a);return a[$n].push(...n.buildForeignKeys(r,a)),[e,r]})),c=Object.fromEntries(Object.entries(o).map(([e,t])=>{let n=t;return n.setName(e),[e,n.buildExtraConfigColumn(a)]})),l=Object.assign(a,s);return l[w.Symbol.Columns]=s,l[w.Symbol.ExtraConfigColumns]=c,n&&(l[H.Symbol.ExtraConfigBuilder]=n),Object.assign(l,{enableRLS:()=>(l[H.Symbol.EnableRLS]=!0,l)})}const nr=(e,t,n)=>tr(e,t,n,void 0);var rr=class{static[e]=`PgPrimaryKeyBuilder`;columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new ir(e,this.columns,this.name)}},ir=class{constructor(e,t,n){this.table=e,this.columns=t,this.name=n}static[e]=`PgPrimaryKey`;columns;name;getName(){return this.name??`${this.table[H.Symbol.Name]}_${this.columns.map(e=>e.name).join(`_`)}_pk`}};function U(e,r){return Ce(r)&&!be(e)&&!t(e,O)&&!t(e,A)&&!t(e,n)&&!t(e,w)&&!t(e,j)?new O(e,r):e}const ar=(e,t)=>k`${e} = ${U(t,e)}`,or=(e,t)=>k`${e} <> ${U(t,e)}`;function sr(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new D(t):new D([new E(`(`),k.join(t,new E(` and `)),new E(`)`)])}function cr(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new D(t):new D([new E(`(`),k.join(t,new E(` or `)),new E(`)`)])}function lr(e){return k`not ${e}`}const ur=(e,t)=>k`${e} > ${U(t,e)}`,dr=(e,t)=>k`${e} >= ${U(t,e)}`,fr=(e,t)=>k`${e} < ${U(t,e)}`,pr=(e,t)=>k`${e} <= ${U(t,e)}`;function mr(e,t){return Array.isArray(t)?t.length===0?k`false`:k`${e} in ${t.map(t=>U(t,e))}`:k`${e} in ${U(t,e)}`}function hr(e,t){return Array.isArray(t)?t.length===0?k`true`:k`${e} not in ${t.map(t=>U(t,e))}`:k`${e} not in ${U(t,e)}`}function gr(e){return k`${e} is null`}function _r(e){return k`${e} is not null`}function vr(e){return k`exists ${e}`}function yr(e){return k`not exists ${e}`}function br(e,t,n){return k`${e} between ${U(t,e)} and ${U(n,e)}`}function xr(e,t,n){return k`${e} not between ${U(t,e)} and ${U(n,e)}`}function Sr(e,t){return k`${e} like ${t}`}function Cr(e,t){return k`${e} not like ${t}`}function wr(e,t){return k`${e} ilike ${t}`}function Tr(e,t){return k`${e} not ilike ${t}`}function Er(e){return k`${e} asc`}function Dr(e){return k`${e} desc`}var Or=class{constructor(e,t,n){this.sourceTable=e,this.referencedTable=t,this.relationName=n,this.referencedTableName=t[w.Symbol.Name]}static[e]=`Relation`;referencedTableName;fieldName},kr=class{constructor(e,t){this.table=e,this.config=t}static[e]=`Relations`},Ar=class t extends Or{constructor(e,t,n,r){super(e,t,n?.relationName),this.config=n,this.isNullable=r}static[e]=`One`;withFieldName(e){let n=new t(this.sourceTable,this.referencedTable,this.config,this.isNullable);return n.fieldName=e,n}},jr=class t extends Or{constructor(e,t,n){super(e,t,n?.relationName),this.config=n}static[e]=`Many`;withFieldName(e){let n=new t(this.sourceTable,this.referencedTable,this.config);return n.fieldName=e,n}};function Mr(){return{and:sr,between:br,eq:ar,exists:vr,gt:ur,gte:dr,ilike:wr,inArray:mr,isNull:gr,isNotNull:_r,like:Sr,lt:fr,lte:pr,ne:or,not:lr,notBetween:xr,notExists:yr,notLike:Cr,notIlike:Tr,notInArray:hr,or:cr,sql:k}}function Nr(){return{sql:k,asc:Er,desc:Dr}}function Pr(e,n){Object.keys(e).length===1&&`default`in e&&!t(e.default,w)&&(e=e.default);let r={},i={},a={};for(let[o,s]of Object.entries(e))if(t(s,w)){let e=ye(s),n=i[e];r[e]=o,a[o]={tsName:o,dbName:s[w.Symbol.Name],schema:s[w.Symbol.Schema],columns:s[w.Symbol.Columns],relations:n?.relations??{},primaryKey:n?.primaryKey??[]};for(let e of Object.values(s[w.Symbol.Columns]))e.primary&&a[o].primaryKey.push(e);let c=s[w.Symbol.ExtraConfigBuilder]?.(s[w.Symbol.ExtraConfigColumns]);if(c)for(let e of Object.values(c))t(e,rr)&&a[o].primaryKey.push(...e.columns)}else if(t(s,kr)){let e=ye(s.table),t=r[e],o=s.config(n(s.table)),c;for(let[n,r]of Object.entries(o))if(t){let e=a[t];e.relations[n]=r}else e in i||(i[e]={relations:{},primaryKey:c}),i[e].relations[n]=r}return{tables:a,tableNamesMap:r}}function Fr(e){return function(t,n){return new Ar(e,t,n,n?.fields.reduce((e,t)=>e&&t.notNull,!0)??!1)}}function Ir(e){return function(t,n){return new jr(e,t,n)}}function Lr(e,n,r){if(t(r,Ar)&&r.config)return{fields:r.config.fields,references:r.config.references};let i=n[ye(r.referencedTable)];if(!i)throw Error(`Table "${r.referencedTable[w.Symbol.Name]}" not found in schema`);let a=e[i];if(!a)throw Error(`Table "${i}" not found in schema`);let o=r.sourceTable,s=n[ye(o)];if(!s)throw Error(`Table "${o[w.Symbol.Name]}" not found in schema`);let c=[];for(let e of Object.values(a.relations))(r.relationName&&r!==e&&e.relationName===r.relationName||!r.relationName&&e.referencedTable===r.sourceTable)&&c.push(e);if(c.length>1)throw r.relationName?Error(`There are multiple relations with name "${r.relationName}" in table "${i}"`):Error(`There are multiple relations between "${i}" and "${r.sourceTable[w.Symbol.Name]}". Please specify relation name`);if(c[0]&&t(c[0],Ar)&&c[0].config)return{fields:c[0].config.references,references:c[0].config.fields};throw Error(`There is not enough information to infer relation "${s}.${r.fieldName}"`)}function Rr(e){return{one:Fr(e),many:Ir(e)}}function zr(e,r,i,a,o=e=>e){let s={};for(let[c,l]of a.entries())if(l.isJson){let n=r.relations[l.tsKey],a=i[c],u=typeof a==`string`?JSON.parse(a):a;s[l.tsKey]=t(n,Ar)?u&&zr(e,e[l.relationTableTsKey],u,l.selection,o):u.map(t=>zr(e,e[l.relationTableTsKey],t,l.selection,o))}else{let e=o(i[c]),r=l.field,a;a=t(r,n)?r:t(r,D)?r.decoder:r.sql.decoder,s[l.tsKey]=e===null?null:a.mapFromDriverValue(e)}return s}function Br(e,t){return new Proxy(e,new ke(t,!1))}var W=class r{static[e]=`SelectionProxyHandler`;config;constructor(e){this.config={...e}}get(e,i){if(i===`_`)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(i===S)return{...e[S],selectedFields:new Proxy(e[S].selectedFields,this)};if(typeof i==`symbol`)return e[i];let a=(t(e,b)?e._.selectedFields:t(e,j)?e[S].selectedFields:e)[i];if(t(a,D.Aliased)){if(this.config.sqlAliasedBehavior===`sql`&&!a.isSelectionField)return a.sql;let e=a.clone();return e.isSelectionField=!0,e}if(t(a,D)){if(this.config.sqlBehavior===`sql`)return a;throw Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return t(a,n)?this.config.alias?new Proxy(a,new Oe(new Proxy(a.table,new ke(this.config.alias,this.config.replaceOriginalName??!1)))):a:typeof a!=`object`||!a?a:new Proxy(a,new r(this.config))}},Vr=class{constructor(e,t){this.unique=e,this.name=t}static[e]=`PgIndexBuilderOn`;on(...e){return new Hr(e.map(e=>{if(t(e,D))return e;e=e;let n=new ee(e.name,!!e.keyAsName,e.columnType,e.indexConfig);return e.indexConfig=JSON.parse(JSON.stringify(e.defaultConfig)),n}),this.unique,!1,this.name)}onOnly(...e){return new Hr(e.map(e=>{if(t(e,D))return e;e=e;let n=new ee(e.name,!!e.keyAsName,e.columnType,e.indexConfig);return e.indexConfig=e.defaultConfig,n}),this.unique,!0,this.name)}using(e,...n){return new Hr(n.map(e=>{if(t(e,D))return e;e=e;let n=new ee(e.name,!!e.keyAsName,e.columnType,e.indexConfig);return e.indexConfig=JSON.parse(JSON.stringify(e.defaultConfig)),n}),this.unique,!0,this.name,e)}},Hr=class{static[e]=`PgIndexBuilder`;config;constructor(e,t,n,r,i=`btree`){this.config={name:r,columns:e,unique:t,only:n,method:i}}concurrently(){return this.config.concurrently=!0,this}with(e){return this.config.with=e,this}where(e){return this.config.where=e,this}build(e){return new Ur(this.config,e)}},Ur=class{static[e]=`PgIndex`;config;constructor(e,t){this.config={...e,table:t}}};function G(e){return new Vr(!1,e)}function K(e){return new Vr(!0,e)}const Wr=Symbol.for(`drizzle:PgViewConfig`);function Gr(e){return(e.replace(/['\u2019]/g,``).match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join(`_`)}function Kr(e){return(e.replace(/['\u2019]/g,``).match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,t,n)=>e+(n===0?t.toLowerCase():`${t[0].toUpperCase()}${t.slice(1)}`),``)}function qr(e){return e}var Jr=class{static[e]=`CasingCache`;cache={};cachedTables={};convert;constructor(e){this.convert=e===`snake_case`?Gr:e===`camelCase`?Kr:qr}getColumnCasing(e){if(!e.keyAsName)return e.name;let t=`${e.table[w.Symbol.Schema]??`public`}.${e.table[w.Symbol.OriginalName]}.${e.name}`;return this.cache[t]||this.cacheTable(e.table),this.cache[t]}cacheTable(e){let t=`${e[w.Symbol.Schema]??`public`}.${e[w.Symbol.OriginalName]}`;if(!this.cachedTables[t]){for(let n of Object.values(e[w.Symbol.Columns])){let e=`${t}.${n.name}`;this.cache[e]=this.convert(n.name)}this.cachedTables[t]=!0}}clearCache(){this.cache={},this.cachedTables={}}},Yr=class extends j{static[e]=`PgViewBase`},Xr=class{static[e]=`PgDialect`;casing;constructor(e){this.casing=new Jr(e?.casing)}async migrate(e,t,n){let r=typeof n==`string`?`__drizzle_migrations`:n.migrationsTable??`__drizzle_migrations`,i=typeof n==`string`?`drizzle`:n.migrationsSchema??`drizzle`,a=k`
3
+ CREATE TABLE IF NOT EXISTS ${k.identifier(i)}.${k.identifier(r)} (
4
+ id SERIAL PRIMARY KEY,
5
+ hash text NOT NULL,
6
+ created_at bigint
7
+ )
8
+ `;await t.execute(k`CREATE SCHEMA IF NOT EXISTS ${k.identifier(i)}`),await t.execute(a);let o=(await t.all(k`select id, hash, created_at from ${k.identifier(i)}.${k.identifier(r)} order by created_at desc limit 1`))[0];await t.transaction(async t=>{for await(let n of e)if(!o||Number(o.created_at)<n.folderMillis){for(let e of n.sql)await t.execute(k.raw(e));await t.execute(k`insert into ${k.identifier(i)}.${k.identifier(r)} ("hash", "created_at") values(${n.hash}, ${n.folderMillis})`)}})}escapeName(e){return`"${e.replace(/"/g,`""`)}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,`''`)}'`}buildWithCTE(e){if(!e?.length)return;let t=[k`with `];for(let[n,r]of e.entries())t.push(k`${k.identifier(r._.alias)} as (${r._.sql})`),n<e.length-1&&t.push(k`, `);return t.push(k` `),k.join(t)}buildDeleteQuery({table:e,where:t,returning:n,withList:r}){let i=this.buildWithCTE(r),a=n?k` returning ${this.buildSelection(n,{isSingleTable:!0})}`:void 0,o=t?k` where ${t}`:void 0;return k`${i}delete from ${e}${o}${a}`}buildUpdateSet(e,n){let r=e[w.Symbol.Columns],i=Object.keys(r).filter(e=>n[e]!==void 0||r[e]?.onUpdateFn!==void 0),a=i.length;return k.join(i.flatMap((e,i)=>{let o=r[e],s=o.onUpdateFn?.(),c=n[e]??(t(s,D)?s:k.param(s,o)),l=k`${k.identifier(this.casing.getColumnCasing(o))} = ${c}`;return i<a-1?[l,k.raw(`, `)]:[l]}))}buildUpdateQuery({table:e,set:t,where:n,returning:r,withList:i,from:a,joins:o}){let s=this.buildWithCTE(i),c=e[H.Symbol.Name],l=e[H.Symbol.Schema],u=e[H.Symbol.OriginalName],d=c===u?void 0:c,f=k`${l?k`${k.identifier(l)}.`:void 0}${k.identifier(u)}${d&&k` ${k.identifier(d)}`}`,p=this.buildUpdateSet(e,t),m=a&&k.join([k.raw(` from `),this.buildFromTable(a)]),h=this.buildJoins(o),g=r?k` returning ${this.buildSelection(r,{isSingleTable:!a})}`:void 0,_=n?k` where ${n}`:void 0;return k`${s}update ${f} set ${p}${m}${h}${_}${g}`}buildSelection(e,{isSingleTable:r=!1}={}){let i=e.length,a=e.flatMap(({field:e},a)=>{let o=[];if(t(e,D.Aliased)&&e.isSelectionField)o.push(k.identifier(e.fieldAlias));else if(t(e,D.Aliased)||t(e,D)){let n=t(e,D.Aliased)?e.sql:e;r?o.push(new D(n.queryChunks.map(e=>t(e,v)?k.identifier(this.casing.getColumnCasing(e)):e))):o.push(n),t(e,D.Aliased)&&o.push(k` as ${k.identifier(e.fieldAlias)}`)}else if(t(e,n))r?o.push(k.identifier(this.casing.getColumnCasing(e))):o.push(e);else if(t(e,b)){let r=Object.entries(e._.selectedFields);if(r.length===1){let i=r[0][1],a=t(i,D)?i.decoder:t(i,n)?{mapFromDriverValue:e=>i.mapFromDriverValue(e)}:i.sql.decoder;a&&(e._.sql.decoder=a)}o.push(e)}return a<i-1&&o.push(k`, `),o});return k.join(a)}buildJoins(e){if(!e||e.length===0)return;let n=[];for(let[r,i]of e.entries()){r===0&&n.push(k` `);let a=i.table,o=i.lateral?k` lateral`:void 0,s=i.on?k` on ${i.on}`:void 0;if(t(a,H)){let e=a[H.Symbol.Name],t=a[H.Symbol.Schema],r=a[H.Symbol.OriginalName],c=e===r?void 0:i.alias;n.push(k`${k.raw(i.joinType)} join${o} ${t?k`${k.identifier(t)}.`:void 0}${k.identifier(r)}${c&&k` ${k.identifier(c)}`}${s}`)}else if(t(a,j)){let e=a[S].name,t=a[S].schema,r=a[S].originalName,c=e===r?void 0:i.alias;n.push(k`${k.raw(i.joinType)} join${o} ${t?k`${k.identifier(t)}.`:void 0}${k.identifier(r)}${c&&k` ${k.identifier(c)}`}${s}`)}else n.push(k`${k.raw(i.joinType)} join${o} ${a}${s}`);r<e.length-1&&n.push(k` `)}return k.join(n)}buildFromTable(e){if(t(e,w)&&e[w.Symbol.IsAlias]){let t=k`${k.identifier(e[w.Symbol.OriginalName])}`;return e[w.Symbol.Schema]&&(t=k`${k.identifier(e[w.Symbol.Schema])}.${t}`),k`${t} ${k.identifier(e[w.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:r,fieldsFlat:i,where:a,having:o,table:s,joins:c,orderBy:l,groupBy:u,limit:d,offset:f,lockingClause:p,distinct:m,setOperators:h}){let g=i??F(r);for(let e of g)if(t(e.field,n)&&T(e.field.table)!==(t(s,b)?s._.alias:t(s,Yr)?s[S].name:t(s,D)?void 0:T(s))&&!(e=>c?.some(({alias:t})=>t===(e[w.Symbol.IsAlias]?T(e):e[w.Symbol.BaseName])))(e.field.table)){let t=T(e.field.table);throw Error(`Your "${e.path.join(`->`)}" field references a column "${t}"."${e.field.name}", but the table "${t}" is not part of the query! Did you forget to join it?`)}let _=!c||c.length===0,v=this.buildWithCTE(e),y;m&&(y=m===!0?k` distinct`:k` distinct on (${k.join(m.on,k`, `)})`);let ee=this.buildSelection(g,{isSingleTable:_}),te=this.buildFromTable(s),ne=this.buildJoins(c),re=a?k` where ${a}`:void 0,ie=o?k` having ${o}`:void 0,ae;l&&l.length>0&&(ae=k` order by ${k.join(l,k`, `)}`);let oe;u&&u.length>0&&(oe=k` group by ${k.join(u,k`, `)}`);let se=typeof d==`object`||typeof d==`number`&&d>=0?k` limit ${d}`:void 0,ce=f?k` offset ${f}`:void 0,le=k.empty();if(p){let e=k` for ${k.raw(p.strength)}`;p.config.of&&e.append(k` of ${k.join(Array.isArray(p.config.of)?p.config.of:[p.config.of],k`, `)}`),p.config.noWait?e.append(k` nowait`):p.config.skipLocked&&e.append(k` skip locked`),le.append(e)}let ue=k`${v}select${y} ${ee} from ${te}${ne}${re}${oe}${ie}${ae}${se}${ce}${le}`;return h.length>0?this.buildSetOperations(ue,h):ue}buildSetOperations(e,t){let[n,...r]=t;if(!n)throw Error(`Cannot pass undefined values to any set operator`);return r.length===0?this.buildSetOperationQuery({leftSelect:e,setOperator:n}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),r)}buildSetOperationQuery({leftSelect:e,setOperator:{type:n,isAll:r,rightSelect:i,limit:a,orderBy:o,offset:s}}){let c=k`(${e.getSQL()}) `,l=k`(${i.getSQL()})`,u;if(o&&o.length>0){let e=[];for(let n of o)if(t(n,v))e.push(k.identifier(n.name));else if(t(n,D)){for(let e=0;e<n.queryChunks.length;e++){let r=n.queryChunks[e];t(r,v)&&(n.queryChunks[e]=k.identifier(r.name))}e.push(k`${n}`)}else e.push(k`${n}`);u=k` order by ${k.join(e,k`, `)} `}let d=typeof a==`object`||typeof a==`number`&&a>=0?k` limit ${a}`:void 0,f=k.raw(`${n} ${r?`all `:``}`),p=s?k` offset ${s}`:void 0;return k`${c}${f}${l}${u}${d}${p}`}buildInsertQuery({table:e,values:n,onConflict:r,returning:i,withList:a,select:o,overridingSystemValue_:s}){let c=[],l=e[w.Symbol.Columns],u=Object.entries(l).filter(([e,t])=>!t.shouldDisableInsert()),d=u.map(([,e])=>k.identifier(this.casing.getColumnCasing(e)));if(o){let e=n;t(e,D)?c.push(e):c.push(e.getSQL())}else{let e=n;c.push(k.raw(`values `));for(let[n,r]of e.entries()){let i=[];for(let[e,n]of u){let a=r[e];if(a===void 0||t(a,O)&&a.value===void 0)if(n.defaultFn!==void 0){let e=n.defaultFn(),r=t(e,D)?e:k.param(e,n);i.push(r)}else if(!n.default&&n.onUpdateFn!==void 0){let e=n.onUpdateFn(),r=t(e,D)?e:k.param(e,n);i.push(r)}else i.push(k`default`);else i.push(a)}c.push(i),n<e.length-1&&c.push(k`, `)}}let f=this.buildWithCTE(a),p=k.join(c),m=i?k` returning ${this.buildSelection(i,{isSingleTable:!0})}`:void 0,h=r?k` on conflict ${r}`:void 0,g=s===!0?k`overriding system value `:void 0;return k`${f}insert into ${e} ${d} ${g}${p}${h}${m}`}buildRefreshMaterializedViewQuery({view:e,concurrently:t,withNoData:n}){let r=t?k` concurrently`:void 0,i=n?k` with no data`:void 0;return k`refresh materialized view${r} ${e}${i}`}prepareTyping(e){return t(e,Nt)||t(e,At)?`json`:t(e,Kt)?`decimal`:t(e,Dn)?`time`:t(e,An)||t(e,Mn)?`timestamp`:t(e,mt)||t(e,gt)?`date`:t(e,Fn)?`uuid`:`none`}sqlToQuery(e,t){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:t})}buildRelationalQueryWithoutPK({fullSchema:e,schema:r,tableNamesMap:i,table:a,tableConfig:o,queryConfig:s,tableAlias:c,nestedQueryRelation:l,joinOn:u}){let d=[],f,p,m=[],h,g=[];if(s===!0)d=Object.entries(o.columns).map(([e,t])=>({dbKey:t.name,tsKey:e,field:M(t,c),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let a=Object.fromEntries(Object.entries(o.columns).map(([e,t])=>[e,M(t,c)]));if(s.where){let e=typeof s.where==`function`?s.where(a,Mr()):s.where;h=e&&Me(e,c)}let l=[],u=[];if(s.columns){let e=!1;for(let[t,n]of Object.entries(s.columns))n!==void 0&&t in o.columns&&(!e&&n===!0&&(e=!0),u.push(t));u.length>0&&(u=e?u.filter(e=>s.columns?.[e]===!0):Object.keys(o.columns).filter(e=>!u.includes(e)))}else u=Object.keys(o.columns);for(let e of u){let t=o.columns[e];l.push({tsKey:e,value:t})}let _=[];s.with&&(_=Object.entries(s.with).filter(e=>!!e[1]).map(([e,t])=>({tsKey:e,queryConfig:t,relation:o.relations[e]})));let v;if(s.extras){v=typeof s.extras==`function`?s.extras(a,{sql:k}):s.extras;for(let[e,t]of Object.entries(v))l.push({tsKey:e,value:je(t,c)})}for(let{tsKey:e,value:r}of l)d.push({dbKey:t(r,D.Aliased)?r.fieldAlias:o.columns[e].name,tsKey:e,field:t(r,n)?M(r,c):r,relationTableTsKey:void 0,isJson:!1,selection:[]});let y=typeof s.orderBy==`function`?s.orderBy(a,Nr()):s.orderBy??[];Array.isArray(y)||(y=[y]),m=y.map(e=>t(e,n)?M(e,c):Me(e,c)),f=s.limit,p=s.offset;for(let{tsKey:n,queryConfig:a,relation:o}of _){let s=Lr(r,i,o),l=i[ye(o.referencedTable)],u=`${c}_${n}`,f=sr(...s.fields.map((e,t)=>ar(M(s.references[t],u),M(e,c)))),p=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:r,tableNamesMap:i,table:e[l],tableConfig:r[l],queryConfig:t(o,Ar)?a===!0?{limit:1}:{...a,limit:1}:a,tableAlias:u,joinOn:f,nestedQueryRelation:o}),m=k`${k.identifier(u)}.${k.identifier(`data`)}`.as(n);g.push({on:k`true`,table:new b(p.sql,{},u),alias:u,joinType:`left`,lateral:!0}),d.push({dbKey:n,tsKey:n,field:m,relationTableTsKey:l,isJson:!0,selection:p.selection})}}if(d.length===0)throw new Ne({message:`No fields selected for table "${o.tsName}" ("${c}")`});let _;if(h=sr(u,h),l){let e=k`json_build_array(${k.join(d.map(({field:e,tsKey:n,isJson:r})=>r?k`${k.identifier(`${c}_${n}`)}.${k.identifier(`data`)}`:t(e,D.Aliased)?e.sql:e),k`, `)})`;t(l,jr)&&(e=k`coalesce(json_agg(${e}${m.length>0?k` order by ${k.join(m,k`, `)}`:void 0}), '[]'::json)`);let r=[{dbKey:`data`,tsKey:`data`,field:e.as(`data`),isJson:!0,relationTableTsKey:o.tsName,selection:d}];f!==void 0||p!==void 0||m.length>0?(_=this.buildSelectQuery({table:Ae(a,c),fields:{},fieldsFlat:[{path:[],field:k.raw(`*`)}],where:h,limit:f,offset:p,orderBy:m,setOperators:[]}),h=void 0,f=void 0,p=void 0,m=[]):_=Ae(a,c),_=this.buildSelectQuery({table:t(_,H)?_:new b(_,{},c),fields:{},fieldsFlat:r.map(({field:e})=>({path:[],field:t(e,n)?M(e,c):e})),joins:g,where:h,limit:f,offset:p,orderBy:m,setOperators:[]})}else _=this.buildSelectQuery({table:Ae(a,c),fields:{},fieldsFlat:d.map(({field:e})=>({path:[],field:t(e,n)?M(e,c):e})),joins:g,where:h,limit:f,offset:p,orderBy:m,setOperators:[]});return{tableTsKey:o.tsName,sql:_,selection:d}}},Zr=class{static[e]=`TypedQueryBuilder`;getSelectedFields(){return this._.selectedFields}},q=class{static[e]=`PgSelectBuilder`;fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){let n=!!this.fields,r=e,i;return i=this.fields?this.fields:t(r,b)?Object.fromEntries(Object.keys(r._.selectedFields).map(e=>[e,r[e]])):t(r,Yr)?r[S].selectedFields:t(r,D)?{}:He(r),new $r({table:r,fields:i,isPartialSelect:n,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}},Qr=class extends Zr{static[e]=`PgSelectQueryBuilder`;_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:n,session:r,dialect:i,withList:a,distinct:o}){super(),this.config={withList:a,table:e,fields:{...t},distinct:o,setOperators:[]},this.isPartialSelect=n,this.session=r,this.dialect=i,this._={selectedFields:t,config:this.config},this.tableName=I(e),this.joinsNotNullableMap=typeof this.tableName==`string`?{[this.tableName]:!0}:{};for(let t of Y(e))this.usedTables.add(t)}getUsedTables(){return[...this.usedTables]}createJoin(e,n){return(r,i)=>{let a=this.tableName,o=I(r);for(let e of Y(r))this.usedTables.add(e);if(typeof o==`string`&&this.config.joins?.some(e=>e.alias===o))throw Error(`Alias "${o}" is already used in this query`);if(!this.isPartialSelect&&(Object.keys(this.joinsNotNullableMap).length===1&&typeof a==`string`&&(this.config.fields={[a]:this.config.fields}),typeof o==`string`&&!t(r,D))){let e=t(r,b)?r._.selectedFields:t(r,j)?r[S].selectedFields:r[w.Symbol.Columns];this.config.fields[o]=e}if(typeof i==`function`&&(i=i(new Proxy(this.config.fields,new W({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:i,table:r,joinType:e,alias:o,lateral:n}),typeof o==`string`)switch(e){case`left`:this.joinsNotNullableMap[o]=!1;break;case`right`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[o]=!0;break;case`cross`:case`inner`:this.joinsNotNullableMap[o]=!0;break;case`full`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[o]=!1}return this}}leftJoin=this.createJoin(`left`,!1);leftJoinLateral=this.createJoin(`left`,!0);rightJoin=this.createJoin(`right`,!1);innerJoin=this.createJoin(`inner`,!1);innerJoinLateral=this.createJoin(`inner`,!0);fullJoin=this.createJoin(`full`,!1);crossJoin=this.createJoin(`cross`,!1);crossJoinLateral=this.createJoin(`cross`,!0);createSetOperator(e,t){return n=>{let r=typeof n==`function`?n(ei()):n;if(!ze(this.getSelectedFields(),r.getSelectedFields()))throw Error(`Set operator error (union / intersect / except): selected fields are not the same or are in a different order`);return this.config.setOperators.push({type:e,isAll:t,rightSelect:r}),this}}union=this.createSetOperator(`union`,!1);unionAll=this.createSetOperator(`union`,!0);intersect=this.createSetOperator(`intersect`,!1);intersectAll=this.createSetOperator(`intersect`,!0);except=this.createSetOperator(`except`,!1);exceptAll=this.createSetOperator(`except`,!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return typeof e==`function`&&(e=e(new Proxy(this.config.fields,new W({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.where=e,this}having(e){return typeof e==`function`&&(e=e(new Proxy(this.config.fields,new W({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.having=e,this}groupBy(...e){if(typeof e[0]==`function`){let t=e[0](new Proxy(this.config.fields,new W({sqlAliasedBehavior:`alias`,sqlBehavior:`sql`})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if(typeof e[0]==`function`){let t=e[0](new Proxy(this.config.fields,new W({sqlAliasedBehavior:`alias`,sqlBehavior:`sql`}))),n=Array.isArray(t)?t:[t];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else{let t=e;this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t}return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,t={}){return this.config.lockingClause={strength:e,config:t},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...Y(this.config.table)),this.config.joins)for(let e of this.config.joins)t.push(...Y(e.table));return new Proxy(new b(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new W({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`}))}getSelectedFields(){return new Proxy(this.config.fields,new W({alias:this.tableName,sqlAliasedBehavior:`alias`,sqlBehavior:`error`}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=e===void 0?{config:{},enable:!0,autoInvalidate:!0}:e===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}},$r=class extends Qr{static[e]=`PgSelect`;_prepare(e){let{session:t,config:n,dialect:r,joinsNotNullableMap:i,authToken:a,cacheConfig:o,usedTables:s}=this;if(!t)throw Error(`Cannot execute a query on a query builder. Please use a database instance instead.`);let{fields:c}=n;return x.startActiveSpan(`drizzle.prepareQuery`,()=>{let n=F(c),l=t.prepareQuery(r.sqlToQuery(this.getSQL()),n,e,!0,void 0,{type:`select`,tables:[...s]},o);return l.joinsNotNullableMap=i,l.setToken(a)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>x.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken))};Ve($r,[P]);function J(e,t){return(n,r,...i)=>{let a=[r,...i].map(n=>({type:e,isAll:t,rightSelect:n}));for(let e of a)if(!ze(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error(`Set operator error (union / intersect / except): selected fields are not the same or are in a different order`);return n.addSetOperators(a)}}const ei=()=>({union:ti,unionAll:ni,intersect:ri,intersectAll:ii,except:ai,exceptAll:oi}),ti=J(`union`,!1),ni=J(`union`,!0),ri=J(`intersect`,!1),ii=J(`intersect`,!0),ai=J(`except`,!1),oi=J(`except`,!0);var si=class{static[e]=`PgQueryBuilder`;dialect;dialectConfig;constructor(e){this.dialect=t(e,Xr)?e:void 0,this.dialectConfig=t(e,Xr)?void 0:e}$with=(e,t)=>{let n=this;return{as:r=>(typeof r==`function`&&(r=r(n)),new Proxy(new de(r.getSQL(),t??(`getSelectedFields`in r?r.getSelectedFields()??{}:{}),e,!0),new W({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`})))}};with(...e){let t=this;function n(n){return new q({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function r(e){return new q({fields:e??void 0,session:void 0,dialect:t.getDialect(),distinct:!0})}function i(e,n){return new q({fields:n??void 0,session:void 0,dialect:t.getDialect(),distinct:{on:e}})}return{select:n,selectDistinct:r,selectDistinctOn:i}}select(e){return new q({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new q({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,t){return new q({fields:t??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||=new Xr(this.dialectConfig),this.dialect}},ci=class{constructor(e,t){this.name=e,this.schema=t}static[e]=`PgDefaultViewBuilderCore`;config={};with(e){return this.config.with=e,this}},li=class extends ci{static[e]=`PgViewBuilder`;as(e){typeof e==`function`&&(e=e(new si));let t=new W({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}),n=new Proxy(e.getSelectedFields(),t);return new Proxy(new mi({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:n,query:e.getSQL().inlineParams()}}),t)}},ui=class extends ci{static[e]=`PgManualViewBuilder`;columns;constructor(e,t,n){super(e,n),this.columns=He(nr(e,t))}existing(){return new Proxy(new mi({pgConfig:void 0,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:void 0}}),new W({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}as(e){return new Proxy(new mi({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:e.inlineParams()}}),new W({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}},di=class{constructor(e,t){this.name=e,this.schema=t}static[e]=`PgMaterializedViewBuilderCore`;config={};using(e){return this.config.using=e,this}with(e){return this.config.with=e,this}tablespace(e){return this.config.tablespace=e,this}withNoData(){return this.config.withNoData=!0,this}},fi=class extends di{static[e]=`PgMaterializedViewBuilder`;as(e){typeof e==`function`&&(e=e(new si));let t=new W({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}),n=new Proxy(e.getSelectedFields(),t);return new Proxy(new gi({pgConfig:{with:this.config.with,using:this.config.using,tablespace:this.config.tablespace,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:n,query:e.getSQL().inlineParams()}}),t)}},pi=class extends di{static[e]=`PgManualMaterializedViewBuilder`;columns;constructor(e,t,n){super(e,n),this.columns=He(nr(e,t))}existing(){return new Proxy(new gi({pgConfig:{tablespace:this.config.tablespace,using:this.config.using,with:this.config.with,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:void 0}}),new W({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}as(e){return new Proxy(new gi({pgConfig:{tablespace:this.config.tablespace,using:this.config.using,with:this.config.with,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:e.inlineParams()}}),new W({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}},mi=class extends Yr{static[e]=`PgView`;[Wr];constructor({pgConfig:e,config:t}){super(t),e&&(this[Wr]={with:e.with})}};const hi=Symbol.for(`drizzle:PgMaterializedViewConfig`);var gi=class extends Yr{static[e]=`PgMaterializedView`;[hi];constructor({pgConfig:e,config:t}){super(t),this[hi]={with:e?.with,using:e?.using,tablespace:e?.tablespace,withNoData:e?.withNoData}}};function _i(e,t,n){return t?new ui(e,t,n):new li(e,n)}function vi(e,t,n){return t?new pi(e,t,n):new fi(e,n)}function Y(e){return t(e,H)?[e[C]?`${e[C]}.${e[w.Symbol.BaseName]}`:e[w.Symbol.BaseName]]:t(e,b)?e._.usedTables??[]:t(e,D)?e.usedTables??[]:[]}var yi=class extends P{constructor(e,t,n,r){super(),this.session=t,this.dialect=n,this.config={table:e,withList:r}}static[e]=`PgDelete`;config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[w.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=F(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return x.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`delete`,tables:Y(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>x.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new W({alias:T(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},bi=class{constructor(e,t,n,r,i){this.table=e,this.session=t,this.dialect=n,this.withList=r,this.overridingSystemValue_=i}static[e]=`PgInsertBuilder`;authToken;setToken(e){return this.authToken=e,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(e){if(e=Array.isArray(e)?e:[e],e.length===0)throw Error(`values() must be called with at least one value`);let n=e.map(e=>{let n={},r=this.table[w.Symbol.Columns];for(let i of Object.keys(e)){let a=e[i];n[i]=t(a,D)?a:new O(a,r[i])}return n});return new xi(this.table,n,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let n=typeof e==`function`?e(new si):e;if(!t(n,D)&&!ze(this.table[fe],n._.selectedFields))throw Error(`Insert select error: selected fields are not the same or are in a different order compared to the table definition`);return new xi(this.table,n,this.session,this.dialect,this.withList,!0)}},xi=class extends P{constructor(e,t,n,r,i,a,o){super(),this.session=n,this.dialect=r,this.config={table:e,values:t,withList:i,select:a,overridingSystemValue_:o}}static[e]=`PgInsert`;config;cacheConfig;returning(e=this.config.table[w.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=F(e),this}onConflictDoNothing(e={}){if(e.target===void 0)this.config.onConflict=k`do nothing`;else{let t=``;t=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(`,`):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target));let n=e.where?k` where ${e.where}`:void 0;this.config.onConflict=k`(${k.raw(t)})${n} do nothing`}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error(`You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.`);let t=e.where?k` where ${e.where}`:void 0,n=e.targetWhere?k` where ${e.targetWhere}`:void 0,r=e.setWhere?k` where ${e.setWhere}`:void 0,i=this.dialect.buildUpdateSet(this.config.table,Be(this.config.table,e.set)),a=``;return a=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(`,`):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target)),this.config.onConflict=k`(${k.raw(a)})${n} do update set ${i}${t}${r}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return x.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`insert`,tables:Y(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>x.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new W({alias:T(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},Si=class extends P{constructor(e,t,n){super(),this.session=t,this.dialect=n,this.config={view:e}}static[e]=`PgRefreshMaterializedView`;config;concurrently(){if(this.config.withNoData!==void 0)throw Error(`Cannot use concurrently and withNoData together`);return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw Error(`Cannot use concurrently and withNoData together`);return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return x.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,e,!0))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>x.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken))},Ci=class{constructor(e,t,n,r){this.table=e,this.session=t,this.dialect=n,this.withList=r}static[e]=`PgUpdateBuilder`;authToken;setToken(e){return this.authToken=e,this}set(e){return new wi(this.table,Be(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}},wi=class extends P{constructor(e,t,n,r,i){super(),this.session=n,this.dialect=r,this.config={set:t,table:e,withList:i,joins:[]},this.tableName=I(e),this.joinsNotNullableMap=typeof this.tableName==`string`?{[this.tableName]:!0}:{}}static[e]=`PgUpdate`;config;tableName;joinsNotNullableMap;cacheConfig;from(e){let t=e,n=I(t);return typeof n==`string`&&(this.joinsNotNullableMap[n]=!0),this.config.from=t,this}getTableLikeFields(e){return t(e,H)?e[w.Symbol.Columns]:t(e,b)?e._.selectedFields:e[S].selectedFields}createJoin(e){return(n,r)=>{let i=I(n);if(typeof i==`string`&&this.config.joins.some(e=>e.alias===i))throw Error(`Alias "${i}" is already used in this query`);if(typeof r==`function`){let e=this.config.from&&!t(this.config.from,D)?this.getTableLikeFields(this.config.from):void 0;r=r(new Proxy(this.config.table[w.Symbol.Columns],new W({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})),e&&new Proxy(e,new W({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))}if(this.config.joins.push({on:r,table:n,joinType:e,alias:i}),typeof i==`string`)switch(e){case`left`:this.joinsNotNullableMap[i]=!1;break;case`right`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[i]=!0;break;case`inner`:this.joinsNotNullableMap[i]=!0;break;case`full`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[i]=!1}return this}}leftJoin=this.createJoin(`left`);rightJoin=this.createJoin(`right`);innerJoin=this.createJoin(`inner`);fullJoin=this.createJoin(`full`);where(e){return this.config.where=e,this}returning(e){if(!e&&(e=Object.assign({},this.config.table[w.Symbol.Columns]),this.config.from)){let n=I(this.config.from);if(typeof n==`string`&&this.config.from&&!t(this.config.from,D)){let t=this.getTableLikeFields(this.config.from);e[n]=t}for(let n of this.config.joins){let r=I(n.table);if(typeof r==`string`&&!t(n.table,D)){let t=this.getTableLikeFields(n.table);e[r]=t}}}return this.config.returningFields=e,this.config.returning=F(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){let t=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`insert`,tables:Y(this.config.table)},this.cacheConfig);return t.joinsNotNullableMap=this.joinsNotNullableMap,t}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>this._prepare().execute(e,this.authToken);getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new W({alias:T(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},Ti=class t extends D{constructor(e){super(t.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.mapWith(Number),this.session=e.session,this.sql=t.buildCount(e.source,e.filters)}sql;token;static[e]=`PgCountBuilder`;[Symbol.toStringTag]=`PgCountBuilder`;session;static buildEmbeddedCount(e,t){return k`(select count(*) from ${e}${k.raw(` where `).if(t)}${t})`}static buildCount(e,t){return k`select count(*) as count from ${e}${k.raw(` where `).if(t)}${t};`}setToken(e){return this.token=e,this}then(e,t){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}},Ei=class{constructor(e,t,n,r,i,a,o){this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=r,this.tableConfig=i,this.dialect=a,this.session=o}static[e]=`PgRelationalQueryBuilder`;findMany(e){return new Di(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},`many`)}findFirst(e){return new Di(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},`first`)}},Di=class extends P{constructor(e,t,n,r,i,a,o,s,c){super(),this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=r,this.tableConfig=i,this.dialect=a,this.session=o,this.config=s,this.mode=c}static[e]=`PgRelationalQuery`;_prepare(e){return x.startActiveSpan(`drizzle.prepareQuery`,()=>{let{query:t,builtQuery:n}=this._toSQL();return this.session.prepareQuery(n,void 0,e,!0,(e,n)=>{let r=e.map(e=>zr(this.schema,this.tableConfig,e,t.selection,n));return this.mode===`first`?r[0]:r})})}prepare(e){return this._prepare(e)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let e=this._getQuery();return{query:e,builtQuery:this.dialect.sqlToQuery(e.sql)}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return x.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(void 0,this.authToken))}},Oi=class extends P{constructor(e,t,n,r){super(),this.execute=e,this.sql=t,this.query=n,this.mapBatchResult=r}static[e]=`PgRaw`;getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}},ki=class{constructor(e,t,n){if(this.dialect=e,this.session=t,this._=n?{schema:n.schema,fullSchema:n.fullSchema,tableNamesMap:n.tableNamesMap,session:t}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:t},this.query={},this._.schema)for(let[r,i]of Object.entries(this._.schema))this.query[r]=new Ei(n.fullSchema,this._.schema,this._.tableNamesMap,n.fullSchema[r],i,e,t);this.$cache={invalidate:async e=>{}}}static[e]=`PgDatabase`;query;$with=(e,t)=>{let n=this;return{as:r=>(typeof r==`function`&&(r=r(new si(n.dialect))),new Proxy(new de(r.getSQL(),t??(`getSelectedFields`in r?r.getSelectedFields()??{}:{}),e,!0),new W({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`})))}};$count(e,t){return new Ti({source:e,filters:t,session:this.session})}$cache;with(...e){let t=this;function n(n){return new q({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e})}function r(n){return new q({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function i(n,r){return new q({fields:r??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:{on:n}})}function a(n){return new Ci(n,t.session,t.dialect,e)}function o(n){return new bi(n,t.session,t.dialect,e)}function s(n){return new yi(n,t.session,t.dialect,e)}return{select:n,selectDistinct:r,selectDistinctOn:i,update:a,insert:o,delete:s}}select(e){return new q({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new q({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,t){return new q({fields:t??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new Ci(e,this.session,this.dialect)}insert(e){return new bi(e,this.session,this.dialect)}delete(e){return new yi(e,this.session,this.dialect)}refreshMaterializedView(e){return new Si(e,this.session,this.dialect)}authToken;execute(e){let t=typeof e==`string`?k.raw(e):e.getSQL(),n=this.dialect.sqlToQuery(t),r=this.session.prepareQuery(n,void 0,void 0,!1);return new Oi(()=>r.execute(void 0,this.authToken),t,n,e=>r.mapResult(e,!0))}transaction(e,t){return this.session.transaction(e,t)}},Ai=class{constructor(e,t,n){this.seqName=e,this.seqOptions=t,this.schema=n}static[e]=`PgSequence`};function ji(e,t,n){return new Ai(e,t,n)}var Mi=class{constructor(e){this.schemaName=e}static[e]=`PgSchema`;table=(e,t,n)=>tr(e,t,n,this.schemaName);view=(e,t)=>_i(e,t,this.schemaName);materializedView=(e,t)=>vi(e,t,this.schemaName);enum(e,t){return Array.isArray(t)?le(e,[...t],this.schemaName):ue(e,t,this.schemaName)}sequence=(e,t)=>ji(e,t,this.schemaName);getSQL(){return new D([k.identifier(this.schemaName)])}shouldOmitSQLParens(){return!0}};function Ni(e){if(e===`public`)throw Error(`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use pgTable() instead of creating a schema`);return new Mi(e)}var Pi=class{static[e]=`Cache`},Fi=class extends Pi{strategy(){return`all`}static[e]=`NoopCache`;async get(e){}async put(e,t,n,r){}async onMutate(e){}};async function Ii(e,t){let n=`${e}-${JSON.stringify(t)}`,r=new TextEncoder().encode(n),i=await crypto.subtle.digest(`SHA-256`,r);return[...new Uint8Array(i)].map(e=>e.toString(16).padStart(2,`0`)).join(``)}var Li=class{constructor(e,t,n,r){this.query=e,this.cache=t,this.queryMetadata=n,this.cacheConfig=r,t&&t.strategy()===`all`&&r===void 0&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,t){return e}setToken(e){return this.authToken=e,this}static[e]=`PgPreparedQuery`;joinsNotNullableMap;async queryWithCache(e,n,r){if(this.cache===void 0||t(this.cache,Fi)||this.queryMetadata===void 0)try{return await r()}catch(t){throw new N(e,n,t)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await r()}catch(t){throw new N(e,n,t)}if((this.queryMetadata.type===`insert`||this.queryMetadata.type===`update`||this.queryMetadata.type===`delete`)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([r(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(t){throw new N(e,n,t)}if(!this.cacheConfig)try{return await r()}catch(t){throw new N(e,n,t)}if(this.queryMetadata.type===`select`){let t=await this.cache.get(this.cacheConfig.tag??await Ii(e,n),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(t===void 0){let t;try{t=await r()}catch(t){throw new N(e,n,t)}return await this.cache.put(this.cacheConfig.tag??await Ii(e,n),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),t}return t}try{return await r()}catch(t){throw new N(e,n,t)}}},Ri=class{constructor(e){this.dialect=e}static[e]=`PgSession`;execute(e,t){return x.startActiveSpan(`drizzle.operation`,()=>x.startActiveSpan(`drizzle.prepareQuery`,()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(t).execute(void 0,t))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,t){let n=await this.execute(e,t);return Number(n[0].count)}},zi=class extends ki{constructor(e,t,n,r=0){super(e,t,n),this.schema=n,this.nestedIndex=r}static[e]=`PgTransaction`;rollback(){throw new Pe}getTransactionConfigSQL(e){let t=[];return e.isolationLevel&&t.push(`isolation level ${e.isolationLevel}`),e.accessMode&&t.push(e.accessMode),typeof e.deferrable==`boolean`&&t.push(e.deferrable?`deferrable`:`not deferrable`),k.raw(t.join(` `))}setTransaction(e){return this.session.execute(k`set transaction ${this.getTransactionConfigSQL(e)}`)}};const Bi=Ni(`coder`),X=Bi.table,Z=()=>Nn({withTimezone:!0}),Q={createdAt:Z().notNull().defaultNow(),updatedAt:Z().notNull().defaultNow()},$={id:$e({mode:`number`}).primaryKey(),organizationId:V().notNull()},Vi=X(`platform_link`,{id:$e({mode:`number`}).primaryKey(),platform:V().notNull(),platformUserId:V().notNull(),userId:V().notNull(),name:V().notNull(),email:V().notNull(),organizations:B().$type(),token:V(),createdAt:Z().notNull().defaultNow()},e=>[K(`platform_link_platform_platformUserId_unique`).on(e.platform,e.platformUserId),G().on(e.userId)]),Hi=X(`agent`,{...$,slug:V().notNull(),name:V().notNull(),description:V(),problems:B().$type(),source:V().$type().notNull(),repo:V(),path:V(),currentVersion:z().notNull(),settings:B().$type(),...Q},e=>[K(`agent_organizationId_slug_unique`).on(e.organizationId,e.slug)]),Ui=X(`agent_version`,{id:$e({mode:`number`}).primaryKey(),agentId:R({mode:`number`}).notNull().references(()=>Hi.id,{onDelete:`cascade`}),version:z().notNull(),definition:B().$type().notNull(),systemPrompt:V().notNull(),files:B().$type(),commit:V(),importedFrom:V().notNull(),createdAt:Z().notNull().defaultNow()},e=>[K(`agent_version_agentId_version_unique`).on(e.agentId,e.version)]),Wi=X(`secret`,{...$,kind:V().$type().notNull(),iv:V().notNull(),tag:V().notNull(),ciphertext:V().notNull(),keyVersion:z().notNull(),...Q},e=>[G().on(e.organizationId,e.kind)]),Gi=X(`integration_app`,{...$,key:V().notNull(),integration:V().notNull(),platformAppId:V().notNull(),agent:V().notNull(),name:V().notNull(),agentsRepo:V(),branch:V(),credentialsSecretId:R({mode:`number`}).notNull().references(()=>Wi.id),...Q},e=>[K(`integration_app_organizationId_key_unique`).on(e.organizationId,e.key),K(`integration_app_integration_platformAppId_unique`).on(e.integration,e.platformAppId)]),Ki=X(`integration_app_installation`,{...$,key:V().notNull(),appId:R({mode:`number`}).references(()=>Gi.id,{onDelete:`set null`}),platformInstallId:V().notNull(),account:B().$type().notNull(),tokenSecretId:R({mode:`number`}).references(()=>Wi.id),installer:V(),self:V(),covers:B().$type(),repos:B().$type(),settings:B().$type(),...Q,deletedAt:Z(),uninstalled:nt()},e=>[c().on(e.key),G().on(e.organizationId,e.appId)]),qi=X(`engine_credential`,{...$,secretId:R({mode:`number`}).notNull().references(()=>Wi.id).unique(),owner:V(),label:V().notNull(),account:B().$type(),...Q},e=>[K(`engine_credential_workspace_label_unique`).on(e.organizationId,e.label).where(k`${e.owner} is null`),K(`engine_credential_owner_label_unique`).on(e.organizationId,e.owner,e.label).where(k`${e.owner} is not null`)]),Ji=X(`runner`,{...$,publicId:V().notNull(),owner:V(),name:V().notNull(),kind:V().$type().notNull(),scope:V().$type().notNull(),config:B().$type().notNull(),createdBy:V(),isDefault:nt().notNull().default(!1),lastSeen:Nn({withTimezone:!0}),secretId:R({mode:`number`}).notNull().references(()=>Wi.id),...Q},e=>[K(`runner_organizationId_publicId_unique`).on(e.organizationId,e.publicId)]),Yi=X(`task`,{...$,publicId:V().notNull(),source:V().$type().notNull(),status:V().$type().notNull(),agent:V().notNull(),flow:V().notNull(),reviewKey:V(),runner:V().notNull(),permissions:V().$type(),appId:R({mode:`number`}).references(()=>Gi.id,{onDelete:`set null`}),installationId:R({mode:`number`}).references(()=>Ki.id),event:B().$type(),prompt:V(),args:B().$type(),mcp:B().$type(),author:V(),definition:B().$type().notNull(),credential:V(),requester:V(),runnerId:V(),usage:B().$type(),tools:B().$type().notNull(),context:B().$type(),files:B().$type(),result:B().$type(),error:V(),tokens:B(),handle:V(),tokenHash:V(),lastSeenAt:Z(),logCursor:z(),logSeq:z(),logBytes:z(),archivedAt:Z(),approval:B(),answer:B(),attempts:z().notNull().default(0),inboxSeq:z().notNull().default(k`'-1'`),inboxAck:z().notNull().default(k`'-1'`),generation:z().notNull().default(0),lockedAt:Z(),startedAt:Z(),finishedAt:Z(),cancelRequestedAt:Z(),...Q},e=>[K(`task_organizationId_publicId_unique`).on(e.organizationId,e.publicId),G().on(e.publicId),G().on(e.organizationId,e.createdAt.desc(),e.publicId.desc()),G().on(e.organizationId,e.updatedAt),G().on(e.organizationId).where(k`${e.status} = 'queued'`),G().on(e.status,e.createdAt),G().on(e.organizationId,e.reviewKey).where(k`${e.status} in ('running', 'waiting')`)]),Xi=X(`task_inbox`,{...$,taskId:R({mode:`number`}).notNull().references(()=>Yi.id,{onDelete:`cascade`}),seq:z().notNull(),generation:z().notNull().default(0),kind:V().$type().notNull(),value:B(),at:Z().notNull()},e=>[K(`task_inbox_taskId_seq_unique`).on(e.taskId,e.seq),G().on(e.taskId,e.generation,e.seq)]),Zi=X(`task_log`,{...$,taskId:R({mode:`number`}).notNull().references(()=>Yi.id,{onDelete:`cascade`}),seq:z().notNull(),at:Z().notNull(),level:V().$type().notNull(),line:V().notNull()},e=>[K(`task_log_taskId_seq_unique`).on(e.taskId,e.seq)]),Qi=X(`task_history`,{...$,taskId:R({mode:`number`}).notNull().references(()=>Yi.id,{onDelete:`cascade`}),engine:V().$type().notNull(),conversation:V().notNull(),data:V().notNull(),state:V(),savedAt:Z().notNull()},e=>[K(`task_history_taskId_conversation_unique`).on(e.taskId,e.conversation)]),$i=X(`task_tombstone`,{organizationId:V().notNull(),publicId:V().notNull(),deletedAt:Z().notNull()},e=>[G().on(e.organizationId,e.deletedAt)]),ea=X(`usage`,{...$,taskId:R({mode:`number`}).notNull().references(()=>Yi.id,{onDelete:`cascade`}).unique(),installationId:R({mode:`number`}).references(()=>Ki.id),agent:V().notNull(),target:V().notNull(),engine:V(),model:V(),credential:V().notNull(),runnerMs:z().notNull(),tokens:B(),at:Z().notNull(),...Q},e=>[G().on(e.organizationId,e.at)]),ta=X(`chat_state`,{key:V().primaryKey(),value:B().notNull(),expiresAt:Z()},e=>[G().on(e.expiresAt).where(k`${e.expiresAt} is not null`),G(`chat_state_key_prefix_index`).on(e.key.op(`text_pattern_ops`))]),na=X(`chat_item`,{key:V().notNull(),seq:R({mode:`number`}).generatedAlwaysAsIdentity(),value:B().notNull(),expiresAt:Z()},e=>[K(`chat_item_key_seq_pk`).on(e.key,e.seq),G().on(e.expiresAt).where(k`${e.expiresAt} is not null`)]),ra={platformLink:Vi,agent:Hi,agentVersion:Ui,secret:Wi,integrationApp:Gi,integrationAppInstallation:Ki,engineCredential:qi,runner:Ji,task:Yi,taskInbox:Xi,taskLog:Zi,taskHistory:Qi,taskTombstone:$i,usage:ea,chatState:ta,chatItem:na};export{Le as A,pr as C,Ue as D,He as E,k as M,x as N,Re as O,e as P,fr as S,cr as T,wr as _,ki as a,Hi as agent,Ui as agentVersion,gr as b,Br as c,na as chatItem,ta as chatState,Bi as coder,Er as d,qi as engineCredential,Dr as f,dr as g,ur as h,Fi as i,Gi as integrationApp,Ki as integrationAppInstallation,Ee as j,Ie as k,Rr as l,ar as m,Ri as n,Xr as o,sr as p,Vi as platformLink,zi as r,Ji as runner,Jr as s,Wi as secret,Li as t,ra as tables,Yi as task,Qi as taskHistory,Xi as taskInbox,Zi as taskLog,$i as taskTombstone,Pr as u,ea as usage,mr as v,or as w,Sr as x,_r as y};