@cursor/bdk 0.2.22 → 0.2.24

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 (306) hide show
  1. package/dist/artifacts.d.ts +1 -1
  2. package/dist/artifacts.js +1 -1
  3. package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
  4. package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
  5. package/dist/channels/deployments/deployments-channel.js +1 -1
  6. package/dist/channels/github/github-channel.js +1 -1
  7. package/dist/channels/gitlab/gitlab-channel.js +1 -1
  8. package/dist/channels/issues/issues-channel.js +1 -1
  9. package/dist/channels/origin/origin-channel.js +1 -1
  10. package/dist/channels/runs/runs-channel.js +1 -1
  11. package/dist/channels/slack/manifest.d.ts.map +1 -1
  12. package/dist/channels/slack/manifest.js +10 -5
  13. package/dist/channels/slack/tool-approval-events.js +5 -5
  14. package/dist/channels/slack/types.d.ts +7 -0
  15. package/dist/channels/slack/types.d.ts.map +1 -1
  16. package/dist/channels.d.ts +8 -1
  17. package/dist/channels.d.ts.map +1 -1
  18. package/dist/channels.js +33 -6
  19. package/dist/docs/404.html +3 -3
  20. package/dist/docs/assets/{app.BD1yvHJK.js → app.DTIg0uKK.js} +4 -4
  21. package/dist/docs/assets/chunks/@localSearchIndexroot.3ebvCWKy.js +1 -0
  22. package/dist/docs/assets/chunks/{VPLocalSearchBox.D25E8cn2.js → VPLocalSearchBox.BpJoSaxi.js} +2 -2
  23. package/dist/docs/assets/chunks/{arc.1hKM2X5X.js → arc.ylgNvRNq.js} +1 -1
  24. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.B1jE4xrG.js → architectureDiagram-Q4EWVU46.BMrNJqYk.js} +1 -1
  25. package/dist/docs/assets/chunks/{baseUniq.BwPi_maB.js → baseUniq.BBWUEqf9.js} +1 -1
  26. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.Cpy78QaZ.js → blockDiagram-DXYQGD6D.DFMu-Vza.js} +1 -1
  27. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.DkCQNehT.js → c4Diagram-AHTNJAMY.8nkAAxWv.js} +1 -1
  28. package/dist/docs/assets/chunks/channel.BOebySCN.js +1 -0
  29. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.BuR2bNxe.js → chunk-4BX2VUAB.sO-z2Bag.js} +1 -1
  30. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.C24IlKyd.js → chunk-4TB4RGXK.BMROzTMq.js} +1 -1
  31. package/dist/docs/assets/chunks/{chunk-55IACEB6.CRD5fIjA.js → chunk-55IACEB6.X81urwg7.js} +1 -1
  32. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.gKhxQpy2.js → chunk-EDXVE4YY.eaZVFLZM.js} +1 -1
  33. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DPlyJIaG.js → chunk-FMBD7UC4.CmZhzstR.js} +1 -1
  34. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.DfDSVvIq.js → chunk-OYMX7WX6.CTezt9Lc.js} +1 -1
  35. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.CsA80Wio.js → chunk-QZHKN3VN.s-T8zukB.js} +1 -1
  36. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.BtXaaMC_.js → chunk-YZCP3GAM.DN4Nhy-D.js} +1 -1
  37. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.C55IaN-T.js +1 -0
  38. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C55IaN-T.js +1 -0
  39. package/dist/docs/assets/chunks/clone.D06pA7ML.js +1 -0
  40. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.Bw9v-Pfp.js → cose-bilkent-S5V4N54A.Cqyp4BUH.js} +1 -1
  41. package/dist/docs/assets/chunks/{dagre-KV5264BT.Wc53s510.js → dagre-KV5264BT.BIECOiqR.js} +1 -1
  42. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DxJJrlh5.js → diagram-5BDNPKRD.1tLyWoTg.js} +1 -1
  43. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.Ldxa4MKP.js → diagram-G4DWMVQ6.BVY_6VMO.js} +1 -1
  44. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.D30RWuU-.js → diagram-MMDJMWI5.BSZ7xiBB.js} +1 -1
  45. package/dist/docs/assets/chunks/{diagram-TYMM5635.BuJ0aD65.js → diagram-TYMM5635.Bho6GmLh.js} +1 -1
  46. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.2N-5dVK2.js → erDiagram-SMLLAGMA.A0yVIANn.js} +1 -1
  47. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.B_te6Lre.js → flowDiagram-DWJPFMVM.ZMgbllH6.js} +1 -1
  48. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.CuNbn0Wd.js → ganttDiagram-T4ZO3ILL.BCCPBhXo.js} +1 -1
  49. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.C1uOicx6.js → gitGraphDiagram-UUTBAWPF.BOkL0BbA.js} +1 -1
  50. package/dist/docs/assets/chunks/{graph.lSlSs4kh.js → graph.DMyZPu86.js} +1 -1
  51. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.Cw_LmsnD.js → infoDiagram-42DDH7IO.CjG1IiEw.js} +1 -1
  52. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DikoN3ai.js → ishikawaDiagram-UXIWVN3A.UCe-kq9g.js} +1 -1
  53. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.buwzIgeY.js → journeyDiagram-VCZTEJTY.3WyOK_eY.js} +1 -1
  54. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.yacNqa4l.js → kanban-definition-6JOO6SKY.WoRG2qY1.js} +1 -1
  55. package/dist/docs/assets/chunks/{layout.CPlTUhtI.js → layout.DV07xDd5.js} +1 -1
  56. package/dist/docs/assets/chunks/{linear.BpHFbx_2.js → linear.CTO8mN6o.js} +1 -1
  57. package/dist/docs/assets/chunks/{min.B_dSxH85.js → min.SvTtcKuZ.js} +1 -1
  58. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BO5-vmxy.js → mindmap-definition-QFDTVHPH.DMGgQ-HB.js} +1 -1
  59. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.Bwj1Zq54.js → pieDiagram-DEJITSTG.B7851apI.js} +1 -1
  60. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.D5dcUqJC.js → quadrantDiagram-34T5L4WZ.CEqyypIX.js} +1 -1
  61. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.CCP5yuT4.js → requirementDiagram-MS252O5E.C3Mwsw-H.js} +1 -1
  62. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.BWAu-_Jq.js → sankeyDiagram-XADWPNL6.DyYK0XxY.js} +1 -1
  63. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.w545hYyz.js → sequenceDiagram-FGHM5R23.SiQPH-XM.js} +1 -1
  64. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.CxcpDNk2.js → stateDiagram-FHFEXIEX.CTJMsP4p.js} +1 -1
  65. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DddRVjeq.js +1 -0
  66. package/dist/docs/assets/chunks/{theme.DSJaK7i1.js → theme.DJo4my9R.js} +2 -2
  67. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.2WxkfxRf.js → timeline-definition-GMOUNBTQ.CxSNRlQ6.js} +1 -1
  68. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BGZwcK-Z.js → vennDiagram-DHZGUBPP.BdoJskyD.js} +1 -1
  69. package/dist/docs/assets/chunks/wardley-RL74JXVD.CVCRSuQK.js +162 -0
  70. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.oryRmynQ.js → wardleyDiagram-NUSXRM2D.IjIbFn_F.js} +1 -1
  71. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.Bq7gMvIU.js → xychartDiagram-5P7HB3ND.CPUxDZLH.js} +1 -1
  72. package/dist/docs/assets/{deployment.md.CtSJ6sF9.js → deployment.md.3MMWuPeV.js} +5 -5
  73. package/dist/docs/assets/{deployment.md.CtSJ6sF9.lean.js → deployment.md.3MMWuPeV.lean.js} +1 -1
  74. package/dist/docs/assets/{guides_cloud-agents.md.CBK7W0-O.js → guides_cloud-agents.md.BzbzcOyj.js} +2 -2
  75. package/dist/docs/assets/{guides_cloud-agents.md.CBK7W0-O.lean.js → guides_cloud-agents.md.BzbzcOyj.lean.js} +1 -1
  76. package/dist/docs/assets/guides_migrate.md.CQlGaBKX.js +7 -0
  77. package/dist/docs/assets/{guides_migrate.md.DZBL7dqT.lean.js → guides_migrate.md.CQlGaBKX.lean.js} +1 -1
  78. package/dist/docs/assets/{guides_opentelemetry.md.ByW1Fs7b.js → guides_opentelemetry.md.Ck1o2frw.js} +11 -3
  79. package/dist/docs/assets/{guides_opentelemetry.md.ByW1Fs7b.lean.js → guides_opentelemetry.md.Ck1o2frw.lean.js} +1 -1
  80. package/dist/docs/assets/{reference_agent-config.md.DYA6ge6t.js → reference_agent-config.md.IplwL25I.js} +1 -2
  81. package/dist/docs/assets/{reference_agent-config.md.DYA6ge6t.lean.js → reference_agent-config.md.IplwL25I.lean.js} +1 -1
  82. package/dist/docs/assets/{reference_cli.md.Bkrsce22.js → reference_cli.md.DB7Llw3T.js} +3 -3
  83. package/dist/docs/assets/{reference_cli.md.Bkrsce22.lean.js → reference_cli.md.DB7Llw3T.lean.js} +1 -1
  84. package/dist/docs/assets/{reference_extensions.md.OUacPetl.js → reference_extensions.md.DKxTuCIw.js} +11 -8
  85. package/dist/docs/assets/{reference_extensions.md.OUacPetl.lean.js → reference_extensions.md.DKxTuCIw.lean.js} +1 -1
  86. package/dist/docs/assets/{reference_instructions.md.DrcHZXig.js → reference_instructions.md.BYMVxAkw.js} +4 -4
  87. package/dist/docs/assets/{reference_instructions.md.DrcHZXig.lean.js → reference_instructions.md.BYMVxAkw.lean.js} +1 -1
  88. package/dist/docs/assets/{style.Dwls12uf.css → style.nMsabY-V.css} +1 -1
  89. package/dist/docs/assets/templates_agentic-owners.md.CTEnR0jp.js +13 -0
  90. package/dist/docs/assets/{templates_agentic-owners.md.CvmABtia.lean.js → templates_agentic-owners.md.CTEnR0jp.lean.js} +1 -1
  91. package/dist/docs/building-with-agents.html +37 -37
  92. package/dist/docs/deployment.html +42 -42
  93. package/dist/docs/deployment.md +9 -4
  94. package/dist/docs/evals.html +37 -37
  95. package/dist/docs/guides/agent-to-agent.html +37 -37
  96. package/dist/docs/guides/bitbucket.html +37 -37
  97. package/dist/docs/guides/cloud-agents.html +38 -38
  98. package/dist/docs/guides/cloud-agents.md +1 -0
  99. package/dist/docs/guides/convert-automation.html +37 -37
  100. package/dist/docs/guides/export-grokbot.html +37 -37
  101. package/dist/docs/guides/github.html +37 -37
  102. package/dist/docs/guides/gitlab.html +37 -37
  103. package/dist/docs/guides/grokbot-agents.html +37 -37
  104. package/dist/docs/guides/hooks.html +37 -37
  105. package/dist/docs/guides/improve.html +37 -37
  106. package/dist/docs/guides/jev.html +37 -37
  107. package/dist/docs/guides/mcp-oauth.html +37 -37
  108. package/dist/docs/guides/migrate.html +39 -39
  109. package/dist/docs/guides/migrate.md +46 -4
  110. package/dist/docs/guides/opentelemetry.html +47 -39
  111. package/dist/docs/guides/opentelemetry.md +48 -2
  112. package/dist/docs/guides/slack.html +37 -37
  113. package/dist/docs/guides/webhooks.html +37 -37
  114. package/dist/docs/hashmap.json +1 -1
  115. package/dist/docs/hillclimbing.html +37 -37
  116. package/dist/docs/index.html +37 -37
  117. package/dist/docs/llms-full.txt +195 -49
  118. package/dist/docs/quickstart.html +37 -37
  119. package/dist/docs/reference/agent-config.html +38 -39
  120. package/dist/docs/reference/agent-config.md +0 -1
  121. package/dist/docs/reference/artifacts.html +37 -37
  122. package/dist/docs/reference/channels.html +37 -37
  123. package/dist/docs/reference/cli.html +40 -40
  124. package/dist/docs/reference/cli.md +16 -5
  125. package/dist/docs/reference/connections.html +37 -37
  126. package/dist/docs/reference/evals.html +37 -37
  127. package/dist/docs/reference/extensions.html +47 -44
  128. package/dist/docs/reference/extensions.md +15 -9
  129. package/dist/docs/reference/hooks.html +37 -37
  130. package/dist/docs/reference/http-api.html +37 -37
  131. package/dist/docs/reference/instructions.html +40 -40
  132. package/dist/docs/reference/instructions.md +5 -1
  133. package/dist/docs/reference/memory.html +37 -37
  134. package/dist/docs/reference/playground.html +36 -36
  135. package/dist/docs/reference/project-layout.html +37 -37
  136. package/dist/docs/reference/prompt.html +37 -37
  137. package/dist/docs/reference/schedules.html +37 -37
  138. package/dist/docs/reference/sessions.html +36 -36
  139. package/dist/docs/reference/skills.html +37 -37
  140. package/dist/docs/reference/subagents.html +37 -37
  141. package/dist/docs/reference/tools.html +37 -37
  142. package/dist/docs/templates/agentic-owners.html +42 -43
  143. package/dist/docs/templates/agentic-owners.md +55 -23
  144. package/dist/docs/templates/grokbot-agents.html +37 -37
  145. package/dist/docs/templates/security-reviewer.html +37 -37
  146. package/dist/docs/templates/thermo-quality-review.html +37 -37
  147. package/dist/docs/templates/thermo-review.html +37 -37
  148. package/dist/docs/templates/triage.html +37 -37
  149. package/dist/docs/troubleshooting.html +36 -36
  150. package/dist/extensions/cursor-cloud-agents/extension.d.ts +2 -0
  151. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  152. package/dist/extensions/cursor-cloud-agents/extension.js +2 -1
  153. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +1 -0
  154. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  155. package/dist/extensions/cursor-cloud-agents/lib/backend.js +2 -1
  156. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
  157. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +1 -1
  158. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -1
  159. package/dist/extensions/cursor-cloud-agents/lib/inputs.js +1 -1
  160. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +1 -1
  161. package/dist/extensions/cursor-cloud-agents/tools/launch.js +1 -1
  162. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  163. package/dist/extensions/cursor-cloud-agents/tools/reply.js +1 -1
  164. package/dist/extensions/cursor-grokbot-agents/extension.js +1 -1
  165. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +1 -1
  166. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +1 -1
  167. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +1 -1
  168. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -1
  169. package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +1 -1
  170. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +1 -1
  171. package/dist/extensions/cursor-grokbot-agents/tools/check.js +1 -1
  172. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +1 -1
  173. package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
  174. package/dist/extensions/improve/extension.js +1 -1
  175. package/dist/extensions/jev/extension.js +1 -1
  176. package/dist/extensions/jev/tools/evaluate.js +1 -1
  177. package/dist/extensions/slack-communication/extension.js +1 -1
  178. package/dist/extensions/slack-communication/tools/delete-message.js +1 -1
  179. package/dist/extensions/slack-communication/tools/edit-message.js +1 -1
  180. package/dist/extensions/slack-communication/tools/post-card.js +1 -1
  181. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  182. package/dist/extensions/slack-communication/tools/post-update.js +1 -1
  183. package/dist/extensions/slack-communication/tools/react.js +1 -1
  184. package/dist/extensions/slack-communication/tools/set-status.js +1 -1
  185. package/dist/extensions.d.ts +1 -1
  186. package/dist/extensions.js +1 -1
  187. package/dist/internal/builtin-tools/artifacts.js +1 -1
  188. package/dist/internal/builtin-tools/reminders.js +1 -1
  189. package/dist/internal/cli-deploy.d.ts +3 -3
  190. package/dist/internal/cli-deploy.d.ts.map +1 -1
  191. package/dist/internal/cli-deploy.js +63 -21
  192. package/dist/internal/cli-migrate.d.ts.map +1 -1
  193. package/dist/internal/cli-migrate.js +227 -12
  194. package/dist/internal/cli-slack.d.ts.map +1 -1
  195. package/dist/internal/cli-slack.js +56 -3
  196. package/dist/internal/convert-automation/convert-workflow.js +1 -1
  197. package/dist/internal/convert-grokbot/answers.js +1 -1
  198. package/dist/internal/convert-grokbot/recipe.d.ts +1 -1
  199. package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -1
  200. package/dist/internal/convert-grokbot/recipe.js +1 -1
  201. package/dist/internal/cursor/backend-client.d.ts +1 -1
  202. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  203. package/dist/internal/cursor/backend-client.js +1 -1
  204. package/dist/internal/cursor/credentials.d.ts +1 -1
  205. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  206. package/dist/internal/cursor/credentials.js +1 -1
  207. package/dist/internal/deploy-client.d.ts +7 -0
  208. package/dist/internal/deploy-client.d.ts.map +1 -1
  209. package/dist/internal/deploy-client.js +16 -2
  210. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  211. package/dist/internal/deploy-manifest.js +2 -1
  212. package/dist/internal/discovery/cursor-plugin.js +1 -1
  213. package/dist/internal/factory-resource-channel.d.ts +1 -1
  214. package/dist/internal/factory-resource-channel.d.ts.map +1 -1
  215. package/dist/internal/filesystem/sdk-schemas.d.ts +1 -1
  216. package/dist/internal/filesystem/sdk-schemas.d.ts.map +1 -1
  217. package/dist/internal/filesystem/sdk-schemas.js +1 -1
  218. package/dist/internal/filesystem/tools.js +1 -1
  219. package/dist/internal/host-otel.d.ts +2 -1
  220. package/dist/internal/host-otel.d.ts.map +1 -1
  221. package/dist/internal/host-otel.js +20 -6
  222. package/dist/internal/hosted-delivery-protocol.d.ts +4 -0
  223. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  224. package/dist/internal/hosted-delivery.d.ts +7 -0
  225. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  226. package/dist/internal/hosted-delivery.js +19 -17
  227. package/dist/internal/hosting.d.ts +6 -0
  228. package/dist/internal/hosting.d.ts.map +1 -1
  229. package/dist/internal/hosting.js +9 -0
  230. package/dist/internal/init-scaffold.js +1 -1
  231. package/dist/internal/interview/agent-questions.d.ts +1 -1
  232. package/dist/internal/interview/agent-questions.d.ts.map +1 -1
  233. package/dist/internal/interview/agent-questions.js +1 -1
  234. package/dist/internal/interview/question.d.ts +1 -1
  235. package/dist/internal/interview/question.d.ts.map +1 -1
  236. package/dist/internal/interview/question.js +1 -1
  237. package/dist/internal/json-schema.d.ts +1 -1
  238. package/dist/internal/json-schema.d.ts.map +1 -1
  239. package/dist/internal/json-schema.js +1 -1
  240. package/dist/internal/mcp-endpoint.js +1 -1
  241. package/dist/internal/otel/collector.d.ts.map +1 -1
  242. package/dist/internal/otel/collector.js +47 -18
  243. package/dist/internal/otel/config.d.ts +4 -0
  244. package/dist/internal/otel/config.d.ts.map +1 -1
  245. package/dist/internal/otel/config.js +20 -9
  246. package/dist/internal/otel/http.d.ts +1 -1
  247. package/dist/internal/otel/http.d.ts.map +1 -1
  248. package/dist/internal/otel/http.js +1 -1
  249. package/dist/internal/otel/runtime.d.ts +17 -14
  250. package/dist/internal/otel/runtime.d.ts.map +1 -1
  251. package/dist/internal/otel/runtime.js +181 -238
  252. package/dist/internal/package-inline-stdio.d.ts.map +1 -1
  253. package/dist/internal/package-inline-stdio.js +1 -0
  254. package/dist/internal/process-memory-telemetry.d.ts +1 -1
  255. package/dist/internal/process-memory-telemetry.d.ts.map +1 -1
  256. package/dist/internal/process-memory-telemetry.js +1 -1
  257. package/dist/internal/sdk-runner.d.ts.map +1 -1
  258. package/dist/internal/sdk-runner.js +22 -2
  259. package/dist/internal/server.d.ts.map +1 -1
  260. package/dist/internal/server.js +25 -13
  261. package/dist/internal/session-engine.d.ts +9 -1
  262. package/dist/internal/session-engine.d.ts.map +1 -1
  263. package/dist/internal/session-engine.js +31 -2
  264. package/dist/internal/slack-provision-client.d.ts +1 -0
  265. package/dist/internal/slack-provision-client.d.ts.map +1 -1
  266. package/dist/internal/slack-provision-client.js +1 -1
  267. package/dist/internal/store-api-protocol.d.ts +1 -1
  268. package/dist/internal/store-api-protocol.d.ts.map +1 -1
  269. package/dist/internal/store-api-protocol.js +1 -1
  270. package/dist/internal/update-check.d.ts +1 -1
  271. package/dist/internal/update-check.d.ts.map +1 -1
  272. package/dist/internal/update-check.js +1 -1
  273. package/dist/otel.d.ts +1 -2
  274. package/dist/otel.d.ts.map +1 -1
  275. package/dist/otel.js +0 -1
  276. package/dist/playground/assets/index-DKKdkF29.js +62 -0
  277. package/dist/playground/assets/index-DpKinTMs.css +1 -0
  278. package/dist/playground/index.html +2 -2
  279. package/dist/tools.d.ts +2 -2
  280. package/dist/tools.d.ts.map +1 -1
  281. package/dist/tools.js +1 -1
  282. package/dist/types.d.ts +1 -1
  283. package/dist/types.d.ts.map +1 -1
  284. package/docs/deployment.md +9 -4
  285. package/docs/guides/cloud-agents.md +1 -0
  286. package/docs/guides/migrate.md +46 -4
  287. package/docs/guides/opentelemetry.md +48 -2
  288. package/docs/reference/agent-config.md +0 -1
  289. package/docs/reference/cli.md +16 -5
  290. package/docs/reference/extensions.md +15 -9
  291. package/docs/reference/instructions.md +5 -1
  292. package/docs/templates/agentic-owners.md +55 -23
  293. package/package.json +17 -19
  294. package/skills/migrate-v2/SKILL.md +140 -11
  295. package/skills/otel/SKILL.md +17 -4
  296. package/dist/docs/assets/chunks/@localSearchIndexroot.DLNj_nNf.js +0 -1
  297. package/dist/docs/assets/chunks/channel.DRdmGkBC.js +0 -1
  298. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CAGM3Q8f.js +0 -1
  299. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CAGM3Q8f.js +0 -1
  300. package/dist/docs/assets/chunks/clone.DjA1k4gh.js +0 -1
  301. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CjwS--3R.js +0 -1
  302. package/dist/docs/assets/chunks/wardley-RL74JXVD.BtotXz_c.js +0 -162
  303. package/dist/docs/assets/guides_migrate.md.DZBL7dqT.js +0 -7
  304. package/dist/docs/assets/templates_agentic-owners.md.CvmABtia.js +0 -14
  305. package/dist/playground/assets/index-CzV_Cybi.css +0 -1
  306. package/dist/playground/assets/index-XXYKgdQn.js +0 -71
@@ -29,7 +29,7 @@
29
29
  * extension keeps the agent where it is and lets it talk to *other* Grok
30
30
  * Bot agents.
31
31
  */
32
- import { z } from "zod";
32
+ import { z } from "zod/v3";
33
33
  import { defineExtension } from "../../extensions.js";
34
34
  /** The backend's session name limit. */
35
35
  export const AGENT_NAME_MAX_LENGTH = 255;
@@ -7,7 +7,7 @@
7
7
  * after a cursor, with the turn's status alongside.
8
8
  */
9
9
  import { randomUUID } from "node:crypto";
10
- import { z } from "zod";
10
+ import { z } from "zod/v3";
11
11
  import { cursorExternalApiUrl, resolveApiKeySync, SIGN_IN_HINT, } from "../../../internal/cursor/credentials.js";
12
12
  import extension from "../extension.js";
13
13
  const REQUEST_TIMEOUT_MS = 60_000;
@@ -6,7 +6,7 @@
6
6
  * since that caller last read, and a lookup by name for `check` and
7
7
  * `interrupt`, which never create an agent the caller has not spoken to.
8
8
  */
9
- import { z } from "zod";
9
+ import { z } from "zod/v3";
10
10
  import { KeyedLock } from "./lock.js";
11
11
  const PREFIX = "grokbot-agents";
12
12
  const contactsSchema = z.array(z.object({
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  export declare const agentName: z.ZodOptional<z.ZodString>;
3
3
  export declare const waitSeconds: z.ZodDefault<z.ZodNumber>;
4
4
  //# sourceMappingURL=inputs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-grokbot-agents/lib/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAM9C,CAAC;AAEJ,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAQ/C,CAAC"}
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-grokbot-agents/lib/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAM9C,CAAC;AAEJ,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAQ/C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { AGENT_NAME_MAX_LENGTH } from "../extension.js";
3
3
  import { DEFAULT_WAIT_SECONDS, MAX_WAIT_SECONDS } from "./conversation.js";
4
4
  export const agentName = z
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { defineTool } from "../../../tools.js";
3
3
  import extension from "../extension.js";
4
4
  import { ask as askAgent } from "../lib/conversation.js";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { defineTool } from "../../../tools.js";
3
3
  import { check as checkAgent } from "../lib/conversation.js";
4
4
  import { agentName, waitSeconds } from "../lib/inputs.js";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { defineTool } from "../../../tools.js";
3
3
  import { interrupt as interruptAgent } from "../lib/conversation.js";
4
4
  import { agentName } from "../lib/inputs.js";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { defineTool } from "../../../tools.js";
3
3
  import extension from "../extension.js";
4
4
  import { listContacts } from "../lib/contacts.js";
@@ -24,7 +24,7 @@
24
24
  * repository checked out needs no second mount: the skill has it work in
25
25
  * that checkout.
26
26
  */
27
- import { z } from "zod";
27
+ import { z } from "zod/v3";
28
28
  import { defineExtension } from "../../extensions.js";
29
29
  const line = z.string().trim().min(1);
30
30
  const improve = defineExtension({
@@ -20,7 +20,7 @@
20
20
  * Hosted deploys allowlist `api.typesafe.ai` for the mounting agent and
21
21
  * expect a `TYPESAFE_API_KEY` secret.
22
22
  */
23
- import { z } from "zod";
23
+ import { z } from "zod/v3";
24
24
  import { defineExtension } from "../../extensions.js";
25
25
  import { DEFAULT_EVALUATION_MODEL, DEFAULT_TYPESAFE_HOST, TYPESAFE_API_KEY_ENV, } from "./lib/evaluate.js";
26
26
  const config = z
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { defineTool } from "../../../tools.js";
3
3
  import extension from "../extension.js";
4
4
  import { evaluate } from "../lib/evaluate.js";
@@ -18,7 +18,7 @@
18
18
  * through the channel Slack client. The tools do not call Slack.
19
19
  * `post-update` returns a ts for edit and delete.
20
20
  */
21
- import { z } from "zod";
21
+ import { z } from "zod/v3";
22
22
  import { defineExtension } from "../../extensions.js";
23
23
  const slackCommunication = defineExtension({
24
24
  root: import.meta.dirname,
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { has } from "../../../channels/slack/agentic-posted.js";
3
3
  import { MAX_REASON_CHARS } from "../../../channels/slack/agentic-signals.js";
4
4
  import { defineTool } from "../../../tools.js";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { has } from "../../../channels/slack/agentic-posted.js";
3
3
  import { MAX_UPDATE_CHARS } from "../../../channels/slack/agentic-signals.js";
4
4
  import { defineTool } from "../../../tools.js";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { defineTool } from "../../../tools.js";
3
3
  const postCard = defineTool({
4
4
  description: [
@@ -1,6 +1,6 @@
1
1
  import { realpathSync, statSync } from "node:fs";
2
2
  import { basename, extname, isAbsolute, sep } from "node:path";
3
- import { z } from "zod";
3
+ import { z } from "zod/v3";
4
4
  import { defineTool } from "../../../tools.js";
5
5
  const ALLOWED = new Set([
6
6
  ".png",
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { reserve } from "../../../channels/slack/agentic-posted.js";
3
3
  import { MAX_UPDATE_CHARS } from "../../../channels/slack/agentic-signals.js";
4
4
  import { defineTool } from "../../../tools.js";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { emojiName } from "../../../channels/slack/agentic-signals.js";
3
3
  import { defineTool } from "../../../tools.js";
4
4
  const react = defineTool({
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { SLACK_STATUS_MAX_LEN } from "../../../channels/slack/constants.js";
3
3
  import { defineTool } from "../../../tools.js";
4
4
  const setStatus = defineTool({
@@ -11,7 +11,7 @@
11
11
  * ```ts
12
12
  * // extension.ts
13
13
  * import { defineExtension } from "@cursor/bdk/extensions";
14
- * import { z } from "zod";
14
+ * import { z } from "zod/v3";
15
15
  *
16
16
  * export default defineExtension({
17
17
  * root: import.meta.dirname,
@@ -11,7 +11,7 @@
11
11
  * ```ts
12
12
  * // extension.ts
13
13
  * import { defineExtension } from "@cursor/bdk/extensions";
14
- * import { z } from "zod";
14
+ * import { z } from "zod/v3";
15
15
  *
16
16
  * export default defineExtension({
17
17
  * root: import.meta.dirname,
@@ -4,7 +4,7 @@
4
4
  * `AgentConfig.builtinTools`: its input schema and description are
5
5
  * generated from the declared kinds registry.
6
6
  */
7
- import { z } from "zod";
7
+ import { z } from "zod/v3";
8
8
  import { defineTool } from "../../tools.js";
9
9
  export const TAG_ARTIFACT_TOOL_NAME = "tag_artifact";
10
10
  function kindVariant(name, schema) {
@@ -4,7 +4,7 @@
4
4
  * framework's reminder fire prompt tells the model to call
5
5
  * `reminders_cancel` by name, so these tool names must not change.
6
6
  */
7
- import { z } from "zod";
7
+ import { z } from "zod/v3";
8
8
  import { defineTool } from "../../tools.js";
9
9
  import { parseDuration } from "../duration.js";
10
10
  /** Floor for model-armed recurring wakes: each fire spends a model turn. */
@@ -23,7 +23,7 @@ export interface DeployCliOptions {
23
23
  dir?: string;
24
24
  slug?: string;
25
25
  /**
26
- * deploy `--all`: when `--dir` is a multi-agent parent, deploy every
26
+ * deploy `--all`: when `--dir` is a multi-agent parent, select every
27
27
  * child agent (skips the interactive picker).
28
28
  */
29
29
  all?: boolean;
@@ -57,8 +57,8 @@ export interface DeployCliOptions {
57
57
  allowDomains?: string[];
58
58
  /**
59
59
  * deploy `--multi-tenant`: add a release to an existing Cursor-managed
60
- * (multi-tenant) product. Hidden Anysphere-only flag. Cannot create a
61
- * new multi-tenant application.
60
+ * (multi-tenant) product. Hidden flag. Cannot create a new multi-tenant
61
+ * application.
62
62
  */
63
63
  multiTenant?: boolean;
64
64
  /** Test seams. */
@@ -1 +1 @@
1
- {"version":3,"file":"cli-deploy.d.ts","sourceRoot":"","sources":["../../src/internal/cli-deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-deploy.d.ts","sourceRoot":"","sources":["../../src/internal/cli-deploy.ts"],"names":[],"mappings":"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"}
@@ -9,14 +9,14 @@
9
9
  * v2 agentsdk management API through `deploy-client.ts`, poll status, and
10
10
  * render.
11
11
  */
12
- import { basename, resolve } from "node:path";
12
+ import { basename, relative, resolve } from "node:path";
13
13
  import { catchAuthDeclaration, isPublicEndpointPolicy } from "../channels.js";
14
14
  import { isCursorAccountTransport, } from "../types.js";
15
15
  import { CursorBackendClient } from "./cursor/backend-client.js";
16
16
  import { cursorExternalApiUrl, resolveApiKey, SIGN_IN_HINT } from "./cursor/credentials.js";
17
17
  import { authorizeCursorAccountConnectors } from "./cursor-account-mcp-auth.js";
18
18
  import { readDeployTemplate } from "./cursor-agent-template.js";
19
- import { AgentServeDeployClient, DeployApiError, deploymentServiceAccountId, TERMINAL_AGENTKIT_DEPLOY_STATUSES, TERMINAL_DEPLOY_STATUSES, validateDeploymentSlug, } from "./deploy-client.js";
19
+ import { AgentServeDeployClient, SEVERAL_AGENTS_DEPLOY_ALONE, DeployApiError, deploymentServiceAccountId, TERMINAL_AGENTKIT_DEPLOY_STATUSES, TERMINAL_DEPLOY_STATUSES, validateDeploymentSlug, } from "./deploy-client.js";
20
20
  import { channelCatchSecretNames, channelCredentialSecretNames } from "./deploy-manifest.js";
21
21
  import { inferDeployGitSource } from "./deploy-source.js";
22
22
  import { describeError } from "./describe-error.js";
@@ -30,8 +30,10 @@ import { slugFromDirectoryName } from "./slug.js";
30
30
  import { stderrPalette } from "./terminal-style.js";
31
31
  const DEFAULT_POLL_INTERVAL_MS = 3_000;
32
32
  const DEFAULT_DEPLOY_TIMEOUT_MS = 10 * 60 * 1000;
33
- /** `--multi-tenant` HTTP deploy is Anysphere-only (team id 1). */
34
- const MULTI_TENANT_HTTP_DEPLOY_TEAM_ID = 1;
33
+ const MULTI_COMPONENT_ALLOWED_TEAM_ID = 1;
34
+ function canPublishAgentsAsOne(teamId) {
35
+ return teamId === MULTI_COMPONENT_ALLOWED_TEAM_ID;
36
+ }
35
37
  /**
36
38
  * Credentials → deploy client → team id. Shared by deploy commands and
37
39
  * `--prod` AX routing. Returns an exit code (error already rendered) on
@@ -126,7 +128,7 @@ export async function cmdDeploy(options) {
126
128
  if (typeof ctx === "number") {
127
129
  return ctx;
128
130
  }
129
- if (options.multiTenant === true && ctx.teamId !== MULTI_TENANT_HTTP_DEPLOY_TEAM_ID) {
131
+ if (options.multiTenant === true && ctx.teamId !== MULTI_COMPONENT_ALLOWED_TEAM_ID) {
130
132
  ctx.err("--multi-tenant is not available for this team.\n");
131
133
  return 1;
132
134
  }
@@ -137,16 +139,21 @@ export async function cmdDeploy(options) {
137
139
  if (targets.length === 1) {
138
140
  return deployOne(ctx, options, targets[0]);
139
141
  }
140
- // Multi-agent parent: when every child declares `architecture: "v2"`,
141
- // the v2 control plane models sibling agents as release components of
142
- // ONE application, so deploy them together (one app, one component per
143
- // child) instead of minting a separate application per child. Mixed and
144
- // v1 parents keep the per-child sequential deploys.
145
142
  const manifests = [];
146
143
  for (const target of targets) {
147
144
  manifests.push(await readDeployManifest(target.dir));
148
145
  }
149
146
  if (manifests.every((manifest) => manifest.architecture === "v2")) {
147
+ // One team can publish several agents as one deployment. Other teams deploy each agent alone.
148
+ if (!canPublishAgentsAsOne(ctx.teamId)) {
149
+ ctx.err(severalAgentsDeployAloneText(options, targets));
150
+ return 1;
151
+ }
152
+ if (!ctx.json) {
153
+ ctx.err(options.all === true
154
+ ? deployingAllAgentsLine(options, targets)
155
+ : deployingAsOneApplicationLine(options, targets));
156
+ }
150
157
  return deployAgentsdkApplication(ctx, options, targets, {
151
158
  // `persistent` is per child agent, like `agentPath`: each release
152
159
  // component carries its own.
@@ -157,6 +164,9 @@ export async function cmdDeploy(options) {
157
164
  hasDeploymentsChannels: manifests.some((manifest) => manifest.hasDeploymentsChannels),
158
165
  });
159
166
  }
167
+ if (!ctx.json && options.all === true) {
168
+ ctx.err(deployingAllAgentsLine(options, targets));
169
+ }
160
170
  if (!ctx.json && manifests.some((manifest) => manifest.architecture === "v2")) {
161
171
  ctx.err(`warning: agents under this parent mix architectures; deploying each separately (v2 children become standalone single-component applications).\n`);
162
172
  }
@@ -301,9 +311,6 @@ async function resolveDeployTargets(options, ctx) {
301
311
  }
302
312
  // Multiple children.
303
313
  if (options.all === true) {
304
- if (!ctx.json) {
305
- ctx.err(`Deploying all ${children.length} agents under ${basename(dir)}: ${children.map((c) => c.slug).join(", ")}.\n`);
306
- }
307
314
  return [...children];
308
315
  }
309
316
  if (options.slug !== undefined) {
@@ -317,14 +324,9 @@ async function resolveDeployTargets(options, ctx) {
317
324
  }
318
325
  return [match];
319
326
  }
320
- // An all-v2 parent deploys as ONE application (siblings are components
321
- // of a single app on the v2 control plane), so "deploy the parent" is
322
- // unambiguous and needs no picker or --all. A child that is v1 — or
323
- // fails to load — keeps the interactive picker below.
327
+ // An all-v2 parent needs no picker or --all. A v1 child, or a child that
328
+ // fails to load, keeps the interactive picker below.
324
329
  if (await allChildrenAreV2(children)) {
325
- if (!ctx.json) {
326
- ctx.err(`Deploying all ${children.length} v2 agents under ${basename(dir)} as one application (pass --slug <name> to deploy a single agent standalone).\n`);
327
- }
328
330
  return [...children];
329
331
  }
330
332
  const chooser = options.chooseTargets ??
@@ -348,6 +350,46 @@ async function resolveDeployTargets(options, ctx) {
348
350
  }
349
351
  return chosen;
350
352
  }
353
+ function deployingAllAgentsLine(options, targets) {
354
+ return `Deploying all ${targets.length} agents under ${basename(resolve(options.dir ?? "."))}: ${targets.map((target) => target.slug).join(", ")}.\n`;
355
+ }
356
+ function deployingAsOneApplicationLine(options, targets) {
357
+ return `Deploying all ${targets.length} v2 agents under ${basename(resolve(options.dir ?? "."))} as one application (pass --slug <name> to deploy a single agent standalone).\n`;
358
+ }
359
+ function severalAgentsDeployAloneText(options, targets) {
360
+ const flags = copiedDeployFlags(options);
361
+ const commands = targets.map((target) => ` ${CLI} deploy --dir ${quoteShell(relativeDeployDir(target.dir))}${flags}`);
362
+ return `${SEVERAL_AGENTS_DEPLOY_ALONE}\n${commands.join("\n")}\n`;
363
+ }
364
+ function copiedDeployFlags(options) {
365
+ const parts = [];
366
+ if (options.team !== undefined) {
367
+ parts.push(`--team ${quoteShell(options.team)}`);
368
+ }
369
+ if (options.repo !== undefined) {
370
+ parts.push(`--repo ${quoteShell(options.repo)}`);
371
+ }
372
+ if (options.ref !== undefined) {
373
+ parts.push(`--ref ${quoteShell(options.ref)}`);
374
+ }
375
+ for (const repo of options.cursorEventsRepos ?? []) {
376
+ parts.push(`--cursor-events-repo ${quoteShell(repo)}`);
377
+ }
378
+ for (const domain of options.allowDomains ?? []) {
379
+ parts.push(`--allow-domain ${quoteShell(domain)}`);
380
+ }
381
+ return parts.length === 0 ? "" : ` ${parts.join(" ")}`;
382
+ }
383
+ function relativeDeployDir(dir) {
384
+ const rel = relative(process.cwd(), dir);
385
+ return rel === "" ? "." : rel;
386
+ }
387
+ function quoteShell(value) {
388
+ if (/^[A-Za-z0-9_./:-]+$/.test(value)) {
389
+ return value;
390
+ }
391
+ return `'${value.replaceAll("'", "'\\''")}'`;
392
+ }
351
393
  function formatAgentList(agents) {
352
394
  return agents.map((agent, i) => ` ${i + 1}) ${agent.slug}\n`).join("");
353
395
  }
@@ -1995,7 +2037,7 @@ export function renderApiError(error, err, context) {
1995
2037
  if (context?.multiTenant === true) {
1996
2038
  err("This slug is a single-tenant application. Redeploy it without --multi-tenant.\n");
1997
2039
  }
1998
- else if (context?.teamId === MULTI_TENANT_HTTP_DEPLOY_TEAM_ID) {
2040
+ else if (context?.teamId === MULTI_COMPONENT_ALLOWED_TEAM_ID) {
1999
2041
  err("This slug is a Cursor-managed (multi-tenant) product. Redeploy it with --multi-tenant.\n");
2000
2042
  }
2001
2043
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli-migrate.d.ts","sourceRoot":"","sources":["../../src/internal/cli-migrate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAYD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyE5E"}
1
+ {"version":3,"file":"cli-migrate.d.ts","sourceRoot":"","sources":["../../src/internal/cli-migrate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAaD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsF5E"}