@cursor/bdk 0.2.8 → 0.2.10

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 (581) hide show
  1. package/dist/artifacts.js +3 -5
  2. package/dist/bin/agent-serve.d.ts +1 -0
  3. package/dist/bin/agent-serve.d.ts.map +1 -1
  4. package/dist/bin/agent-serve.js +820 -807
  5. package/dist/channels/bitbucket/api.js +305 -321
  6. package/dist/channels/bitbucket/binding.js +97 -61
  7. package/dist/channels/bitbucket/bitbucket-channel.d.ts +15 -1
  8. package/dist/channels/bitbucket/bitbucket-channel.d.ts.map +1 -1
  9. package/dist/channels/bitbucket/bitbucket-channel.js +95 -42
  10. package/dist/channels/bitbucket/bitbucket-webhook.d.ts +11 -0
  11. package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +1 -1
  12. package/dist/channels/bitbucket/bitbucket-webhook.js +214 -204
  13. package/dist/channels/bitbucket/checks.js +9 -21
  14. package/dist/channels/bitbucket/cursor-account.js +1 -1
  15. package/dist/channels/bitbucket/defaults.js +14 -4
  16. package/dist/channels/bitbucket/events.js +1 -2
  17. package/dist/channels/bitbucket/index.d.ts +6 -2
  18. package/dist/channels/bitbucket/index.d.ts.map +1 -1
  19. package/dist/channels/bitbucket/index.js +6 -2
  20. package/dist/channels/bitbucket/replay.js +80 -56
  21. package/dist/channels/bitbucket/state.js +16 -7
  22. package/dist/channels/bitbucket/types.d.ts +11 -2
  23. package/dist/channels/bitbucket/types.d.ts.map +1 -1
  24. package/dist/channels/checks.js +18 -28
  25. package/dist/channels/deployments/deployments-channel.js +26 -34
  26. package/dist/channels/github/api.js +216 -210
  27. package/dist/channels/github/auth.d.ts +5 -1
  28. package/dist/channels/github/auth.d.ts.map +1 -1
  29. package/dist/channels/github/auth.js +157 -174
  30. package/dist/channels/github/binding.js +48 -39
  31. package/dist/channels/github/checks.js +9 -14
  32. package/dist/channels/github/cursor-account.js +6 -11
  33. package/dist/channels/github/defaults.js +105 -130
  34. package/dist/channels/github/forward.js +13 -17
  35. package/dist/channels/github/github-channel.d.ts +43 -2
  36. package/dist/channels/github/github-channel.d.ts.map +1 -1
  37. package/dist/channels/github/github-channel.js +1228 -958
  38. package/dist/channels/github/progress.js +145 -146
  39. package/dist/channels/github/replay.js +30 -39
  40. package/dist/channels/github/state.js +40 -16
  41. package/dist/channels/github/types.d.ts +30 -6
  42. package/dist/channels/github/types.d.ts.map +1 -1
  43. package/dist/channels/gitlab/api.js +100 -114
  44. package/dist/channels/gitlab/binding.js +52 -33
  45. package/dist/channels/gitlab/checks.js +28 -29
  46. package/dist/channels/gitlab/cursor-account.js +1 -1
  47. package/dist/channels/gitlab/defaults.js +9 -3
  48. package/dist/channels/gitlab/gitlab-channel.d.ts +16 -1
  49. package/dist/channels/gitlab/gitlab-channel.d.ts.map +1 -1
  50. package/dist/channels/gitlab/gitlab-channel.js +95 -42
  51. package/dist/channels/gitlab/gitlab-webhook.d.ts +10 -1
  52. package/dist/channels/gitlab/gitlab-webhook.d.ts.map +1 -1
  53. package/dist/channels/gitlab/gitlab-webhook.js +282 -249
  54. package/dist/channels/gitlab/index.d.ts +6 -2
  55. package/dist/channels/gitlab/index.d.ts.map +1 -1
  56. package/dist/channels/gitlab/index.js +6 -2
  57. package/dist/channels/gitlab/replay.js +50 -27
  58. package/dist/channels/gitlab/state.js +14 -6
  59. package/dist/channels/gitlab/types.d.ts +13 -2
  60. package/dist/channels/gitlab/types.d.ts.map +1 -1
  61. package/dist/channels/origin/api.js +100 -116
  62. package/dist/channels/origin/binding.js +15 -16
  63. package/dist/channels/origin/checks.js +30 -28
  64. package/dist/channels/origin/defaults.js +50 -65
  65. package/dist/channels/origin/origin-channel.js +266 -272
  66. package/dist/channels/origin/origin-webhook.js +70 -88
  67. package/dist/channels/origin/reactions.js +9 -21
  68. package/dist/channels/origin/state.js +13 -5
  69. package/dist/channels/slack/agentic-delivery.js +426 -478
  70. package/dist/channels/slack/agentic-posted.js +9 -10
  71. package/dist/channels/slack/agentic-signals.js +2 -3
  72. package/dist/channels/slack/api.js +417 -427
  73. package/dist/channels/slack/approvals.js +1 -1
  74. package/dist/channels/slack/assistant.js +37 -47
  75. package/dist/channels/slack/attachments.js +188 -206
  76. package/dist/channels/slack/auth.js +8 -6
  77. package/dist/channels/slack/bot-mentions.js +31 -45
  78. package/dist/channels/slack/channel-watch.js +42 -48
  79. package/dist/channels/slack/cli-project.js +112 -137
  80. package/dist/channels/slack/code-fences.js +3 -5
  81. package/dist/channels/slack/constants.js +2 -2
  82. package/dist/channels/slack/credentials.js +23 -38
  83. package/dist/channels/slack/defaults.js +292 -331
  84. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  85. package/dist/channels/slack/dispatch.js +533 -460
  86. package/dist/channels/slack/doctor.js +200 -214
  87. package/dist/channels/slack/eval-directive.js +79 -96
  88. package/dist/channels/slack/event-id-dedupe.js +1 -1
  89. package/dist/channels/slack/external-policy.js +26 -39
  90. package/dist/channels/slack/footer.js +28 -41
  91. package/dist/channels/slack/inbound.d.ts +1 -0
  92. package/dist/channels/slack/inbound.d.ts.map +1 -1
  93. package/dist/channels/slack/inbound.js +50 -31
  94. package/dist/channels/slack/init.d.ts +1 -5
  95. package/dist/channels/slack/init.d.ts.map +1 -1
  96. package/dist/channels/slack/init.js +42 -59
  97. package/dist/channels/slack/interactive.d.ts +9 -3
  98. package/dist/channels/slack/interactive.d.ts.map +1 -1
  99. package/dist/channels/slack/interactive.js +160 -162
  100. package/dist/channels/slack/links.js +1 -2
  101. package/dist/channels/slack/live-delivery.js +172 -190
  102. package/dist/channels/slack/manifest.d.ts.map +1 -1
  103. package/dist/channels/slack/manifest.js +44 -23
  104. package/dist/channels/slack/message-body.js +2 -2
  105. package/dist/channels/slack/nudge-carrier.js +30 -42
  106. package/dist/channels/slack/nudge-store.js +164 -191
  107. package/dist/channels/slack/paint-start.js +66 -81
  108. package/dist/channels/slack/placeholder.js +123 -152
  109. package/dist/channels/slack/pr-ref.js +1 -1
  110. package/dist/channels/slack/progress-delivery.js +65 -78
  111. package/dist/channels/slack/reasoning-card.js +36 -49
  112. package/dist/channels/slack/recording-sink.js +12 -24
  113. package/dist/channels/slack/reply-options.js +7 -12
  114. package/dist/channels/slack/self-identity.js +27 -35
  115. package/dist/channels/slack/sender-name.d.ts +12 -3
  116. package/dist/channels/slack/sender-name.d.ts.map +1 -1
  117. package/dist/channels/slack/sender-name.js +57 -61
  118. package/dist/channels/slack/setup.js +2 -4
  119. package/dist/channels/slack/slack-channel.d.ts +6 -4
  120. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  121. package/dist/channels/slack/slack-channel.js +441 -308
  122. package/dist/channels/slack/socket-mode.js +38 -52
  123. package/dist/channels/slack/thread-context.js +143 -160
  124. package/dist/channels/slack/tool-approval-events.js +149 -166
  125. package/dist/channels/slack/tool-cards.js +6 -11
  126. package/dist/channels/slack/tool-chip.js +1 -2
  127. package/dist/channels/slack/types.d.ts +15 -17
  128. package/dist/channels/slack/types.d.ts.map +1 -1
  129. package/dist/channels/slack/upload.js +84 -97
  130. package/dist/channels/slack/user-info.js +27 -41
  131. package/dist/channels.js +9 -20
  132. package/dist/dashboard-session-url.js +3 -4
  133. package/dist/docs/404.html +2 -2
  134. package/dist/docs/assets/{app.oyjtOr3W.js → app.DXI7bwox.js} +4 -4
  135. package/dist/docs/assets/{building-with-agents.md.BPjPFxFg.js → building-with-agents.md.Df87rAe1.js} +1 -1
  136. package/dist/docs/assets/chunks/@localSearchIndexroot.CtLtpWcx.js +1 -0
  137. package/dist/docs/assets/chunks/{VPLocalSearchBox.D0P6J_UJ.js → VPLocalSearchBox.BrbO5mEe.js} +1 -1
  138. package/dist/docs/assets/chunks/{arc.B0LY1J1h.js → arc.BOG1yms8.js} +1 -1
  139. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.dPduLUxY.js → architectureDiagram-Q4EWVU46.C0hsMZnZ.js} +1 -1
  140. package/dist/docs/assets/chunks/{baseUniq.B_Ohm21h.js → baseUniq.H044KjKs.js} +1 -1
  141. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.B4zcanaJ.js → blockDiagram-DXYQGD6D.BsRW6GoB.js} +1 -1
  142. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.D9Iw21nx.js → c4Diagram-AHTNJAMY.B9HV5PFR.js} +1 -1
  143. package/dist/docs/assets/chunks/channel.CBwrU9rP.js +1 -0
  144. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.DDVwRShI.js → chunk-4BX2VUAB.CPoT_ajl.js} +1 -1
  145. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DsYcdn1i.js → chunk-4TB4RGXK.DZBwWuCL.js} +1 -1
  146. package/dist/docs/assets/chunks/{chunk-55IACEB6.BzzQvcYp.js → chunk-55IACEB6.CZ3yTiyq.js} +1 -1
  147. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BMiXZ7FX.js → chunk-EDXVE4YY.6DfvHSd8.js} +1 -1
  148. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.D_mBcLoc.js → chunk-FMBD7UC4.CpBj8HfK.js} +1 -1
  149. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CMVjWVMx.js → chunk-OYMX7WX6.BdKo8YqS.js} +1 -1
  150. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BG-FrPv9.js → chunk-QZHKN3VN.BnXNyxJx.js} +1 -1
  151. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CkFE1ap3.js → chunk-YZCP3GAM.Cg1OcF8G.js} +1 -1
  152. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CbC_mrvB.js +1 -0
  153. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CbC_mrvB.js +1 -0
  154. package/dist/docs/assets/chunks/clone.BTvFyY1a.js +1 -0
  155. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BVNnCTvY.js → cose-bilkent-S5V4N54A.1SP8al9c.js} +1 -1
  156. package/dist/docs/assets/chunks/{dagre-KV5264BT.CDN5PR9l.js → dagre-KV5264BT.DS1L6hJt.js} +1 -1
  157. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DQRUlT-i.js → diagram-5BDNPKRD.ChsausbG.js} +1 -1
  158. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.CoeblYQT.js → diagram-G4DWMVQ6.3XsptNWj.js} +1 -1
  159. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.DW3ymjl0.js → diagram-MMDJMWI5.DPA9Dk_P.js} +1 -1
  160. package/dist/docs/assets/chunks/{diagram-TYMM5635.BP0uN4Jw.js → diagram-TYMM5635.BVswXWrB.js} +1 -1
  161. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.DVFUWEn4.js → erDiagram-SMLLAGMA.BSak5OSP.js} +1 -1
  162. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.HU-eHspv.js → flowDiagram-DWJPFMVM.CQgN4TTz.js} +1 -1
  163. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.DHNhXijY.js → ganttDiagram-T4ZO3ILL.GrT0kA4a.js} +1 -1
  164. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.DkISXcO3.js → gitGraphDiagram-UUTBAWPF.CdS7Ucll.js} +1 -1
  165. package/dist/docs/assets/chunks/{graph.CCV0fuRR.js → graph.BVqKRmRo.js} +1 -1
  166. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.bgILzOoc.js → infoDiagram-42DDH7IO.C3C9FRto.js} +1 -1
  167. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.CuryXC0F.js → ishikawaDiagram-UXIWVN3A.2FuAh_Zj.js} +1 -1
  168. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.BL1Pr-wu.js → journeyDiagram-VCZTEJTY.CaHMfK4b.js} +1 -1
  169. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.BbGjvk4l.js → kanban-definition-6JOO6SKY.CjhIUwcA.js} +1 -1
  170. package/dist/docs/assets/chunks/{layout.C4PfdldS.js → layout.CGU3gfSf.js} +1 -1
  171. package/dist/docs/assets/chunks/{linear.C3xD1T6X.js → linear.DaihpW_n.js} +1 -1
  172. package/dist/docs/assets/chunks/{min.CzgRAQ9c.js → min.BS-j8kHQ.js} +1 -1
  173. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.CA9rSWum.js → mindmap-definition-QFDTVHPH.BVJ1Bbnk.js} +1 -1
  174. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.B8MprgJu.js → pieDiagram-DEJITSTG.Cz1WIv9r.js} +1 -1
  175. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DndDwbKT.js → quadrantDiagram-34T5L4WZ.DKLFxcjy.js} +1 -1
  176. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.Zhfgwlnn.js → requirementDiagram-MS252O5E.BHegiK7x.js} +1 -1
  177. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.B6RRm6N5.js → sankeyDiagram-XADWPNL6.DYkY6yPc.js} +1 -1
  178. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Bfmz-1PN.js → sequenceDiagram-FGHM5R23.DYQ1QUrI.js} +1 -1
  179. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.gbrdNqgj.js → stateDiagram-FHFEXIEX.Iru8BsFo.js} +1 -1
  180. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BYXl4LW6.js +1 -0
  181. package/dist/docs/assets/chunks/{theme.gpWjytMh.js → theme.DaplWQhQ.js} +2 -2
  182. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.Bl1l7M1f.js → timeline-definition-GMOUNBTQ.BwFA8hiX.js} +1 -1
  183. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.Dfle4U0d.js → vennDiagram-DHZGUBPP.CZ60W1C_.js} +1 -1
  184. package/dist/docs/assets/chunks/wardley-RL74JXVD.iXazD3Z7.js +162 -0
  185. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.CM_4lmvZ.js → wardleyDiagram-NUSXRM2D.B69D2r8-.js} +1 -1
  186. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CHT5X28R.js → xychartDiagram-5P7HB3ND.CLPZEIU9.js} +1 -1
  187. package/dist/docs/assets/{deployment.md.BdqTiGdc.js → deployment.md.BYuEcDBv.js} +2 -2
  188. package/dist/docs/assets/{guides_bitbucket.md.BB6fqD-M.js → guides_bitbucket.md.CKUayYtD.js} +3 -3
  189. package/dist/docs/assets/{guides_bitbucket.md.BB6fqD-M.lean.js → guides_bitbucket.md.CKUayYtD.lean.js} +1 -1
  190. package/dist/docs/assets/{guides_github.md.Cr1Xlf-m.js → guides_github.md.TuNiZAOQ.js} +4 -4
  191. package/dist/docs/assets/{guides_github.md.Cr1Xlf-m.lean.js → guides_github.md.TuNiZAOQ.lean.js} +1 -1
  192. package/dist/docs/assets/{guides_gitlab.md.CMpmFi4M.js → guides_gitlab.md.CtNI4fSH.js} +4 -4
  193. package/dist/docs/assets/{guides_gitlab.md.CMpmFi4M.lean.js → guides_gitlab.md.CtNI4fSH.lean.js} +1 -1
  194. package/dist/docs/assets/guides_migrate.md.sCAvvlC6.js +7 -0
  195. package/dist/docs/assets/guides_migrate.md.sCAvvlC6.lean.js +1 -0
  196. package/dist/docs/assets/{reference_cli.md.GwugN3n-.js → reference_cli.md.dYCAL2lB.js} +4 -3
  197. package/dist/docs/assets/reference_cli.md.dYCAL2lB.lean.js +1 -0
  198. package/dist/docs/assets/{reference_skills.md.ClkMoQsV.js → reference_skills.md.C0guGcH0.js} +3 -3
  199. package/dist/docs/assets/troubleshooting.md.x-GBa7wN.js +1 -0
  200. package/dist/docs/assets/{troubleshooting.md.Bscj6ODe.lean.js → troubleshooting.md.x-GBa7wN.lean.js} +1 -1
  201. package/dist/docs/building-with-agents.html +37 -37
  202. package/dist/docs/building-with-agents.md +2 -0
  203. package/dist/docs/deployment.html +38 -38
  204. package/dist/docs/deployment.md +7 -0
  205. package/dist/docs/evals.html +36 -36
  206. package/dist/docs/guides/agent-to-agent.html +35 -35
  207. package/dist/docs/guides/bitbucket.html +38 -38
  208. package/dist/docs/guides/bitbucket.md +9 -1
  209. package/dist/docs/guides/cloud-agents.html +35 -35
  210. package/dist/docs/guides/convert-automation.html +35 -35
  211. package/dist/docs/guides/github.html +39 -39
  212. package/dist/docs/guides/github.md +20 -4
  213. package/dist/docs/guides/gitlab.html +38 -38
  214. package/dist/docs/guides/gitlab.md +9 -1
  215. package/dist/docs/guides/grokbot-agents.html +35 -35
  216. package/dist/docs/guides/hooks.html +35 -35
  217. package/dist/docs/guides/improve.html +35 -35
  218. package/dist/docs/guides/jev.html +35 -35
  219. package/dist/docs/guides/mcp-oauth.html +35 -35
  220. package/dist/docs/guides/migrate.html +66 -0
  221. package/dist/docs/guides/migrate.md +122 -0
  222. package/dist/docs/guides/opentelemetry.html +35 -35
  223. package/dist/docs/guides/slack.html +35 -35
  224. package/dist/docs/guides/webhooks.html +35 -35
  225. package/dist/docs/hashmap.json +1 -1
  226. package/dist/docs/hillclimbing.html +35 -35
  227. package/dist/docs/index.html +35 -35
  228. package/dist/docs/llms-full.txt +214 -6
  229. package/dist/docs/llms.txt +1 -0
  230. package/dist/docs/quickstart.html +35 -35
  231. package/dist/docs/reference/agent-config.html +35 -35
  232. package/dist/docs/reference/artifacts.html +35 -35
  233. package/dist/docs/reference/channels.html +35 -35
  234. package/dist/docs/reference/cli.html +39 -38
  235. package/dist/docs/reference/cli.md +39 -0
  236. package/dist/docs/reference/connections.html +35 -35
  237. package/dist/docs/reference/evals.html +35 -35
  238. package/dist/docs/reference/extensions.html +35 -35
  239. package/dist/docs/reference/hooks.html +35 -35
  240. package/dist/docs/reference/http-api.html +35 -35
  241. package/dist/docs/reference/instructions.html +35 -35
  242. package/dist/docs/reference/playground.html +35 -35
  243. package/dist/docs/reference/project-layout.html +35 -35
  244. package/dist/docs/reference/prompt.html +35 -35
  245. package/dist/docs/reference/schedules.html +35 -35
  246. package/dist/docs/reference/sessions.html +35 -35
  247. package/dist/docs/reference/skills.html +38 -38
  248. package/dist/docs/reference/subagents.html +35 -35
  249. package/dist/docs/reference/tools.html +35 -35
  250. package/dist/docs/templates/agentic-owners.html +35 -35
  251. package/dist/docs/templates/grokbot-agents.html +35 -35
  252. package/dist/docs/templates/security-reviewer.html +35 -35
  253. package/dist/docs/templates/thermo-quality-review.html +35 -35
  254. package/dist/docs/templates/thermo-review.html +35 -35
  255. package/dist/docs/templates/triage.html +35 -35
  256. package/dist/docs/troubleshooting.html +36 -36
  257. package/dist/docs/troubleshooting.md +1 -0
  258. package/dist/evals/assertions.js +20 -34
  259. package/dist/evals/expect.js +3 -6
  260. package/dist/evals/judge.js +5 -8
  261. package/dist/evals/loaders.js +45 -62
  262. package/dist/evals/matchers.js +2 -3
  263. package/dist/evals/reporters.js +43 -67
  264. package/dist/evals/results.js +1 -1
  265. package/dist/evals/run-facts.js +5 -6
  266. package/dist/evals.js +27 -15
  267. package/dist/extensions/cursor-cloud-agents/extension.js +4 -1
  268. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +0 -1
  269. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  270. package/dist/extensions/cursor-cloud-agents/lib/backend.js +101 -130
  271. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +22 -38
  272. package/dist/extensions/cursor-cloud-agents/lib/repos.js +8 -10
  273. package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -3
  274. package/dist/extensions/cursor-cloud-agents/lib/watch.js +52 -66
  275. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +29 -40
  276. package/dist/extensions/cursor-cloud-agents/tools/cancel.js +6 -17
  277. package/dist/extensions/cursor-cloud-agents/tools/dump.js +25 -36
  278. package/dist/extensions/cursor-cloud-agents/tools/get.js +3 -14
  279. package/dist/extensions/cursor-cloud-agents/tools/launch.js +13 -21
  280. package/dist/extensions/cursor-cloud-agents/tools/list.d.ts.map +1 -1
  281. package/dist/extensions/cursor-cloud-agents/tools/list.js +9 -20
  282. package/dist/extensions/cursor-cloud-agents/tools/reply.js +5 -16
  283. package/dist/extensions/cursor-grokbot-agents/extension.js +4 -1
  284. package/dist/extensions/cursor-grokbot-agents/lib/agents.js +3 -3
  285. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +53 -73
  286. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +10 -23
  287. package/dist/extensions/cursor-grokbot-agents/lib/conversation.js +112 -132
  288. package/dist/extensions/cursor-grokbot-agents/lib/lock.js +1 -2
  289. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +5 -16
  290. package/dist/extensions/cursor-grokbot-agents/tools/check.js +4 -15
  291. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +2 -13
  292. package/dist/extensions/cursor-grokbot-agents/tools/list.js +11 -23
  293. package/dist/extensions/jev/extension.js +3 -3
  294. package/dist/extensions/jev/lib/evaluate.js +43 -60
  295. package/dist/extensions/jev/tools/evaluate.js +6 -17
  296. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  297. package/dist/extensions.js +3 -5
  298. package/dist/files-backends/cursor-hosted.js +504 -523
  299. package/dist/files-backends/local-fs.js +72 -134
  300. package/dist/files.js +3 -3
  301. package/dist/filesystem.js +562 -861
  302. package/dist/index.js +16 -35
  303. package/dist/internal/advertise-tools.js +74 -86
  304. package/dist/internal/artifacts-store.js +298 -361
  305. package/dist/internal/as-of.js +2 -4
  306. package/dist/internal/authored-alias-hooks.js +6 -4
  307. package/dist/internal/authored-loaders.js +37 -52
  308. package/dist/internal/bounded-int.js +1 -2
  309. package/dist/internal/bounded.js +13 -24
  310. package/dist/internal/brand.js +1 -1
  311. package/dist/internal/browser-origin-guard.js +4 -4
  312. package/dist/internal/builtin-tools/artifacts.js +15 -27
  313. package/dist/internal/builtin-tools/index.js +2 -3
  314. package/dist/internal/builtin-tools/reminders.js +33 -52
  315. package/dist/internal/channel-architecture.d.ts +21 -0
  316. package/dist/internal/channel-architecture.d.ts.map +1 -0
  317. package/dist/internal/channel-architecture.js +41 -0
  318. package/dist/internal/channel-dispatch.js +3 -4
  319. package/dist/internal/channel-route-dispatch.js +40 -51
  320. package/dist/internal/channel-state.js +1 -1
  321. package/dist/internal/chat-client.js +319 -340
  322. package/dist/internal/cli-ax.js +1262 -1294
  323. package/dist/internal/cli-bitbucket.js +244 -272
  324. package/dist/internal/cli-convert-automation.js +137 -151
  325. package/dist/internal/cli-cursor.js +126 -147
  326. package/dist/internal/cli-deploy.d.ts.map +1 -1
  327. package/dist/internal/cli-deploy.js +1457 -1507
  328. package/dist/internal/cli-docs.js +130 -147
  329. package/dist/internal/cli-github.js +437 -476
  330. package/dist/internal/cli-gitlab.js +259 -288
  331. package/dist/internal/cli-images.js +266 -334
  332. package/dist/internal/cli-manifest.js +25 -37
  333. package/dist/internal/cli-mcp-oauth.js +228 -247
  334. package/dist/internal/cli-mcp.js +358 -383
  335. package/dist/internal/cli-migrate.d.ts +18 -0
  336. package/dist/internal/cli-migrate.d.ts.map +1 -0
  337. package/dist/internal/cli-migrate.js +136 -0
  338. package/dist/internal/cli-skills.js +35 -47
  339. package/dist/internal/cli-slack-manual.d.ts +0 -1
  340. package/dist/internal/cli-slack-manual.d.ts.map +1 -1
  341. package/dist/internal/cli-slack-manual.js +175 -204
  342. package/dist/internal/cli-slack.d.ts +1 -1
  343. package/dist/internal/cli-slack.d.ts.map +1 -1
  344. package/dist/internal/cli-slack.js +416 -456
  345. package/dist/internal/cloud-merge.js +7 -3
  346. package/dist/internal/cloud-turn-cost.js +8 -1
  347. package/dist/internal/connection-env.js +5 -6
  348. package/dist/internal/continuation-channel.js +10 -7
  349. package/dist/internal/continuation-identity.js +85 -67
  350. package/dist/internal/conversation-mirror.js +112 -131
  351. package/dist/internal/convert-automation/convert-workflow.js +21 -31
  352. package/dist/internal/cron.js +3 -3
  353. package/dist/internal/cursor/account-mcp.js +147 -146
  354. package/dist/internal/cursor/backend-client.js +290 -320
  355. package/dist/internal/cursor/bound-secret-file.js +3 -3
  356. package/dist/internal/cursor/credentials.d.ts +1 -0
  357. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  358. package/dist/internal/cursor/credentials.js +130 -142
  359. package/dist/internal/cursor/cursor-api-transport.js +4 -8
  360. package/dist/internal/cursor/github-credentials.js +91 -108
  361. package/dist/internal/cursor/hosted-bound-secrets.js +3 -4
  362. package/dist/internal/cursor/hosted-deployment-secrets.js +1 -1
  363. package/dist/internal/cursor/hosted-store-secrets.js +5 -9
  364. package/dist/internal/cursor/session-token.js +36 -48
  365. package/dist/internal/cursor/store-api-client.js +77 -92
  366. package/dist/internal/cursor-account-mcp-auth.js +132 -149
  367. package/dist/internal/cursor-agent-template.js +1 -1
  368. package/dist/internal/cursor-deployment-relay.js +33 -54
  369. package/dist/internal/cursor-event-relay.js +65 -59
  370. package/dist/internal/cursor-relay-core.js +258 -286
  371. package/dist/internal/deferred-channel-session.js +3 -12
  372. package/dist/internal/deploy-client.js +410 -475
  373. package/dist/internal/deploy-manifest.d.ts +17 -0
  374. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  375. package/dist/internal/deploy-manifest.js +71 -21
  376. package/dist/internal/deploy-source.js +31 -43
  377. package/dist/internal/discovery/agent-config.js +45 -59
  378. package/dist/internal/discovery/agent.js +276 -280
  379. package/dist/internal/discovery/channels.js +67 -80
  380. package/dist/internal/discovery/connections.js +286 -296
  381. package/dist/internal/discovery/context.js +2 -13
  382. package/dist/internal/discovery/cursor-plugin.js +223 -259
  383. package/dist/internal/discovery/extension-overlay.js +104 -131
  384. package/dist/internal/discovery/extensions.js +276 -281
  385. package/dist/internal/discovery/fs.js +56 -79
  386. package/dist/internal/discovery/hooks.js +39 -50
  387. package/dist/internal/discovery/info.js +17 -19
  388. package/dist/internal/discovery/instructions.js +58 -71
  389. package/dist/internal/discovery/modules.js +45 -58
  390. package/dist/internal/discovery/project.d.ts.map +1 -1
  391. package/dist/internal/discovery/project.js +192 -215
  392. package/dist/internal/discovery/reminders.js +41 -52
  393. package/dist/internal/discovery/runtime.js +1 -1
  394. package/dist/internal/discovery/schedules.js +71 -82
  395. package/dist/internal/discovery/seed-files.js +21 -32
  396. package/dist/internal/discovery/services.js +74 -96
  397. package/dist/internal/discovery/skills.js +77 -94
  398. package/dist/internal/discovery/subagent.js +79 -95
  399. package/dist/internal/discovery/tools.js +12 -23
  400. package/dist/internal/distribution.js +2 -2
  401. package/dist/internal/docs-site.js +30 -45
  402. package/dist/internal/duration.js +1 -1
  403. package/dist/internal/env-file.js +48 -64
  404. package/dist/internal/eval-judge-model.js +17 -28
  405. package/dist/internal/eval-run-store.js +265 -254
  406. package/dist/internal/eval-runner.d.ts +8 -0
  407. package/dist/internal/eval-runner.d.ts.map +1 -1
  408. package/dist/internal/eval-runner.js +406 -408
  409. package/dist/internal/eval-transport.d.ts +24 -0
  410. package/dist/internal/eval-transport.d.ts.map +1 -0
  411. package/dist/internal/eval-transport.js +22 -0
  412. package/dist/internal/evals-client.js +242 -246
  413. package/dist/internal/event-log.js +72 -120
  414. package/dist/internal/event-mapper.js +30 -31
  415. package/dist/internal/factory-resource-channel.js +16 -30
  416. package/dist/internal/filesystem/errors.js +6 -6
  417. package/dist/internal/filesystem/format.js +10 -13
  418. package/dist/internal/filesystem/merge.js +52 -94
  419. package/dist/internal/filesystem/nearest.js +15 -27
  420. package/dist/internal/filesystem/scratch.js +65 -85
  421. package/dist/internal/filesystem/tools.js +221 -241
  422. package/dist/internal/filesystem/walk.js +76 -143
  423. package/dist/internal/framework-file-storage.js +118 -139
  424. package/dist/internal/framework-storage-selection.js +21 -13
  425. package/dist/internal/frontmatter.js +4 -6
  426. package/dist/internal/github-fanout.js +50 -64
  427. package/dist/internal/guest-network.js +96 -109
  428. package/dist/internal/handleAgentServeTrigger.js +121 -126
  429. package/dist/internal/host-files.js +73 -88
  430. package/dist/internal/host-kv.js +21 -36
  431. package/dist/internal/host-otel.js +22 -19
  432. package/dist/internal/host-platforms.js +49 -63
  433. package/dist/internal/hosted-catch-protocol.d.ts +1 -0
  434. package/dist/internal/hosted-catch-protocol.d.ts.map +1 -1
  435. package/dist/internal/hosted-catch-protocol.js +1 -0
  436. package/dist/internal/hosted-catch.d.ts +5 -3
  437. package/dist/internal/hosted-catch.d.ts.map +1 -1
  438. package/dist/internal/hosted-catch.js +84 -93
  439. package/dist/internal/hosted-delivery-protocol.js +32 -8
  440. package/dist/internal/hosted-delivery.d.ts +13 -1
  441. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  442. package/dist/internal/hosted-delivery.js +614 -584
  443. package/dist/internal/hosted-eval-cases.d.ts +21 -0
  444. package/dist/internal/hosted-eval-cases.d.ts.map +1 -0
  445. package/dist/internal/hosted-eval-cases.js +162 -0
  446. package/dist/internal/hosted-execution-diag.js +38 -30
  447. package/dist/internal/hosted-execution-flush.js +75 -66
  448. package/dist/internal/hosted-execution-latency.js +16 -8
  449. package/dist/internal/hosted-managed-automation.js +2 -2
  450. package/dist/internal/hosting.js +2 -3
  451. package/dist/internal/http-channel-define.js +4 -1
  452. package/dist/internal/http-channel.js +101 -112
  453. package/dist/internal/http-control-plane-session.d.ts +18 -1
  454. package/dist/internal/http-control-plane-session.d.ts.map +1 -1
  455. package/dist/internal/http-control-plane-session.js +66 -32
  456. package/dist/internal/incoming-headers-to-fetch.js +1 -2
  457. package/dist/internal/init-interview.js +73 -93
  458. package/dist/internal/init-project.js +182 -214
  459. package/dist/internal/init-scaffold.js +10 -21
  460. package/dist/internal/inline-stdio-mcp.js +80 -86
  461. package/dist/internal/install-cursor-skills.d.ts.map +1 -1
  462. package/dist/internal/install-cursor-skills.js +238 -274
  463. package/dist/internal/legacy-command-guard.js +18 -31
  464. package/dist/internal/listen-port.js +34 -45
  465. package/dist/internal/local-control-plane.js +293 -307
  466. package/dist/internal/local-env.js +1 -1
  467. package/dist/internal/local-ingress.js +15 -9
  468. package/dist/internal/log-ring.js +1 -2
  469. package/dist/internal/logs-client.js +207 -227
  470. package/dist/internal/map-pool.js +24 -38
  471. package/dist/internal/mcp-endpoint.js +204 -180
  472. package/dist/internal/mcp-host.js +165 -168
  473. package/dist/internal/mcp-oauth-on-demand.js +170 -207
  474. package/dist/internal/mcp-oauth-persist.js +15 -29
  475. package/dist/internal/mcp-oauth.js +209 -266
  476. package/dist/internal/named-webhook-secret.d.ts +39 -0
  477. package/dist/internal/named-webhook-secret.d.ts.map +1 -0
  478. package/dist/internal/named-webhook-secret.js +47 -0
  479. package/dist/internal/open-browser.js +2 -3
  480. package/dist/internal/otel/collector.js +104 -68
  481. package/dist/internal/otel/config.js +24 -37
  482. package/dist/internal/otel/http.js +5 -7
  483. package/dist/internal/otel/mcp.js +3 -12
  484. package/dist/internal/otel/runtime.js +69 -83
  485. package/dist/internal/package-inline-stdio.js +57 -65
  486. package/dist/internal/peer-connections.js +9 -5
  487. package/dist/internal/platform-schedule-sync.js +39 -54
  488. package/dist/internal/platform-timers.js +176 -210
  489. package/dist/internal/playground/static.js +1 -2
  490. package/dist/internal/playground/toolchain.js +37 -53
  491. package/dist/internal/playground-proxy.js +230 -270
  492. package/dist/internal/process-memory-telemetry.js +33 -51
  493. package/dist/internal/prompt-context.js +3 -6
  494. package/dist/internal/reminder-control-plane-protocol.js +46 -13
  495. package/dist/internal/reminder-runner.js +770 -785
  496. package/dist/internal/reminder-schedule.js +1 -1
  497. package/dist/internal/reminder-store.js +57 -78
  498. package/dist/internal/request-error-status.js +1 -3
  499. package/dist/internal/request-headers.js +2 -2
  500. package/dist/internal/resolve-prod-target.js +119 -135
  501. package/dist/internal/resolved-connections.js +16 -6
  502. package/dist/internal/run-client.js +221 -229
  503. package/dist/internal/runtime-dispatch-runner.js +18 -43
  504. package/dist/internal/schedule-runner.js +49 -58
  505. package/dist/internal/scm/pr-url.js +7 -6
  506. package/dist/internal/sdk-runner.js +388 -363
  507. package/dist/internal/serve-restart.js +26 -39
  508. package/dist/internal/server.d.ts.map +1 -1
  509. package/dist/internal/server.js +1283 -1244
  510. package/dist/internal/session-cost.js +7 -9
  511. package/dist/internal/session-engine.d.ts +3 -1
  512. package/dist/internal/session-engine.d.ts.map +1 -1
  513. package/dist/internal/session-engine.js +2801 -2777
  514. package/dist/internal/session-links.js +12 -16
  515. package/dist/internal/session-run-log.js +134 -82
  516. package/dist/internal/session-store.js +133 -164
  517. package/dist/internal/sessions-client.js +97 -118
  518. package/dist/internal/skill-catalog.js +18 -23
  519. package/dist/internal/skills-sync.js +16 -30
  520. package/dist/internal/slack-provision-client.js +90 -116
  521. package/dist/internal/start-log-store.js +48 -67
  522. package/dist/internal/steering.js +1 -2
  523. package/dist/internal/storage-coordinator.js +160 -196
  524. package/dist/internal/store-mirror.js +16 -30
  525. package/dist/internal/stream-progress.js +6 -8
  526. package/dist/internal/terminal-style.js +3 -4
  527. package/dist/internal/testing/scm-continuation-fixtures.js +6 -2
  528. package/dist/internal/testing/slack-continuation-fixtures.d.ts +26 -0
  529. package/dist/internal/testing/slack-continuation-fixtures.d.ts.map +1 -0
  530. package/dist/internal/testing/slack-continuation-fixtures.js +136 -0
  531. package/dist/internal/tool-catalog.js +11 -5
  532. package/dist/internal/tool-result.js +1 -1
  533. package/dist/internal/trajectory.js +19 -22
  534. package/dist/internal/turn-cost.js +52 -62
  535. package/dist/internal/turn-governor.js +5 -8
  536. package/dist/internal/turn-lease-store.js +85 -105
  537. package/dist/internal/turn-outbox.js +28 -43
  538. package/dist/internal/update-check.js +231 -259
  539. package/dist/internal/v2-hosting.js +1 -2
  540. package/dist/internal/workspace-sync.js +25 -41
  541. package/dist/internal/workspace.js +111 -139
  542. package/dist/kv/memory-kv.js +27 -51
  543. package/dist/memory.js +106 -148
  544. package/dist/otel.js +5 -8
  545. package/dist/playground/assets/index-DXm_VXAQ.css +1 -0
  546. package/dist/playground/assets/{index-MijLHTbB.js → index-JekUQERK.js} +45 -45
  547. package/dist/playground/index.html +2 -2
  548. package/dist/prompt.js +2 -4
  549. package/dist/storage-backends/cursor-hosted-v2.js +53 -83
  550. package/dist/storage-backends/cursor-hosted.js +105 -145
  551. package/dist/storage-backends/file-kv.js +100 -128
  552. package/dist/storage-protocol.js +3 -5
  553. package/dist/storage.js +17 -26
  554. package/dist/types.d.ts +68 -0
  555. package/dist/types.d.ts.map +1 -1
  556. package/dist/types.js +20 -18
  557. package/docs/building-with-agents.md +2 -0
  558. package/docs/deployment.md +7 -0
  559. package/docs/guides/bitbucket.md +9 -1
  560. package/docs/guides/github.md +20 -4
  561. package/docs/guides/gitlab.md +9 -1
  562. package/docs/guides/migrate.md +127 -0
  563. package/docs/reference/cli.md +39 -0
  564. package/docs/troubleshooting.md +1 -0
  565. package/package.json +1 -1
  566. package/skills/debug/SKILL.md +1 -0
  567. package/skills/github/SKILL.md +23 -0
  568. package/skills/migrate-v2/SKILL.md +264 -0
  569. package/dist/docs/assets/chunks/@localSearchIndexroot.C25zYVuc.js +0 -1
  570. package/dist/docs/assets/chunks/channel.CRUyWDV-.js +0 -1
  571. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CG_UObcQ.js +0 -1
  572. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CG_UObcQ.js +0 -1
  573. package/dist/docs/assets/chunks/clone.NYSZ9qZN.js +0 -1
  574. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DOOmulfQ.js +0 -1
  575. package/dist/docs/assets/chunks/wardley-RL74JXVD.BJrCW6xc.js +0 -162
  576. package/dist/docs/assets/reference_cli.md.GwugN3n-.lean.js +0 -1
  577. package/dist/docs/assets/troubleshooting.md.Bscj6ODe.js +0 -1
  578. package/dist/playground/assets/index-DPKLl4C_.css +0 -1
  579. /package/dist/docs/assets/{building-with-agents.md.BPjPFxFg.lean.js → building-with-agents.md.Df87rAe1.lean.js} +0 -0
  580. /package/dist/docs/assets/{deployment.md.BdqTiGdc.lean.js → deployment.md.BYuEcDBv.lean.js} +0 -0
  581. /package/dist/docs/assets/{reference_skills.md.ClkMoQsV.lean.js → reference_skills.md.C0guGcH0.lean.js} +0 -0
@@ -1,28 +1,17 @@
1
1
  /**
2
2
  * Filesystem primitives discovery walks with: module-file detection, directory listing, and project-root markers.
3
3
  */
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
4
  import { readdir, readFile, stat } from "node:fs/promises";
14
5
  import { extname, join } from "node:path";
15
6
  const MODULE_EXTENSIONS = new Set([".ts", ".mts", ".js", ".mjs"]);
16
- export function findModuleFile(dir, stem) {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- for (const extension of [".ts", ".mts", ".js", ".mjs"]) {
19
- const candidate = join(dir, `${stem}${extension}`);
20
- if (yield isFile(candidate)) {
21
- return candidate;
22
- }
7
+ export async function findModuleFile(dir, stem) {
8
+ for (const extension of [".ts", ".mts", ".js", ".mjs"]) {
9
+ const candidate = join(dir, `${stem}${extension}`);
10
+ if (await isFile(candidate)) {
11
+ return candidate;
23
12
  }
24
- return undefined;
25
- });
13
+ }
14
+ return undefined;
26
15
  }
27
16
  export function isModuleFile(fileName) {
28
17
  if (fileName.endsWith(".d.ts") || fileName.startsWith(".")) {
@@ -40,76 +29,64 @@ export function isModuleFile(fileName) {
40
29
  export function moduleStem(fileName) {
41
30
  return fileName.slice(0, -extname(fileName).length);
42
31
  }
43
- export function sortedEntries(dir) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- const entries = yield readdir(dir, { withFileTypes: true });
46
- return entries.sort((a, b) => a.name.localeCompare(b.name));
47
- });
32
+ export async function sortedEntries(dir) {
33
+ const entries = await readdir(dir, { withFileTypes: true });
34
+ return entries.sort((a, b) => a.name.localeCompare(b.name));
48
35
  }
49
- export function walkFiles(dir) {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- const files = [];
52
- for (const entry of yield sortedEntries(dir)) {
53
- if (entry.name.startsWith(".")) {
54
- continue;
55
- }
56
- const entryPath = join(dir, entry.name);
57
- if (entry.isDirectory()) {
58
- files.push(...(yield walkFiles(entryPath)));
59
- }
60
- else if (entry.isFile()) {
61
- files.push(entryPath);
62
- }
36
+ export async function walkFiles(dir) {
37
+ const files = [];
38
+ for (const entry of await sortedEntries(dir)) {
39
+ if (entry.name.startsWith(".")) {
40
+ continue;
63
41
  }
64
- return files;
65
- });
66
- }
67
- export function isDirectory(path) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- try {
70
- return (yield stat(path)).isDirectory();
42
+ const entryPath = join(dir, entry.name);
43
+ if (entry.isDirectory()) {
44
+ files.push(...(await walkFiles(entryPath)));
71
45
  }
72
- catch (_a) {
73
- return false;
46
+ else if (entry.isFile()) {
47
+ files.push(entryPath);
74
48
  }
75
- });
49
+ }
50
+ return files;
76
51
  }
77
- export function isFile(path) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- try {
80
- return (yield stat(path)).isFile();
81
- }
82
- catch (_a) {
83
- return false;
84
- }
85
- });
52
+ export async function isDirectory(path) {
53
+ try {
54
+ return (await stat(path)).isDirectory();
55
+ }
56
+ catch {
57
+ return false;
58
+ }
59
+ }
60
+ export async function isFile(path) {
61
+ try {
62
+ return (await stat(path)).isFile();
63
+ }
64
+ catch {
65
+ return false;
66
+ }
86
67
  }
87
68
  export function toPosix(path) {
88
69
  return path.split("\\").join("/");
89
70
  }
90
- export function hasFlatLayoutMarkers(rootDir) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- if (yield isFile(join(rootDir, "instructions.md"))) {
93
- return true;
94
- }
95
- return (yield findModuleFile(rootDir, "agent")) !== undefined;
96
- });
71
+ export async function hasFlatLayoutMarkers(rootDir) {
72
+ if (await isFile(join(rootDir, "instructions.md"))) {
73
+ return true;
74
+ }
75
+ return (await findModuleFile(rootDir, "agent")) !== undefined;
97
76
  }
98
- export function readPackageName(rootDir) {
99
- return __awaiter(this, void 0, void 0, function* () {
100
- const packageJsonPath = join(rootDir, "package.json");
101
- if (!(yield isFile(packageJsonPath))) {
102
- return undefined;
103
- }
104
- try {
105
- const parsed = JSON.parse(yield readFile(packageJsonPath, "utf8"));
106
- if (typeof parsed.name === "string" && parsed.name !== "") {
107
- return parsed.name;
108
- }
109
- }
110
- catch (_a) {
111
- // Malformed package.json falls back to the directory name.
112
- }
77
+ export async function readPackageName(rootDir) {
78
+ const packageJsonPath = join(rootDir, "package.json");
79
+ if (!(await isFile(packageJsonPath))) {
113
80
  return undefined;
114
- });
81
+ }
82
+ try {
83
+ const parsed = JSON.parse(await readFile(packageJsonPath, "utf8"));
84
+ if (typeof parsed.name === "string" && parsed.name !== "") {
85
+ return parsed.name;
86
+ }
87
+ }
88
+ catch {
89
+ // Malformed package.json falls back to the directory name.
90
+ }
91
+ return undefined;
115
92
  }
@@ -1,61 +1,50 @@
1
1
  /**
2
2
  * `agent/hooks/*.ts`: observe-only event subscribers.
3
3
  */
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
4
  import { basename, extname, relative } from "node:path";
14
5
  import { getDefinitionKind } from "../brand.js";
15
6
  import { displayPath } from "./context.js";
16
7
  import { isDirectory, isModuleFile, toPosix, walkFiles } from "./fs.js";
17
8
  import { importDefault } from "./modules.js";
18
- export function loadHooks(ctx, hooksDir, onDisable) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- if (!(yield isDirectory(hooksDir))) {
21
- return [];
9
+ export async function loadHooks(ctx, hooksDir, onDisable) {
10
+ if (!(await isDirectory(hooksDir))) {
11
+ return [];
12
+ }
13
+ const hooks = [];
14
+ for (const filePath of await walkFiles(hooksDir)) {
15
+ if (!isModuleFile(basename(filePath))) {
16
+ continue;
22
17
  }
23
- const hooks = [];
24
- for (const filePath of yield walkFiles(hooksDir)) {
25
- if (!isModuleFile(basename(filePath))) {
26
- continue;
27
- }
28
- const rel = toPosix(relative(hooksDir, filePath));
29
- const name = rel.slice(0, -extname(rel).length);
30
- if (name.includes("__")) {
31
- ctx.diagnostics.push({
32
- severity: "error",
33
- path: displayPath(ctx, filePath),
34
- message: `Hook name "${name}" may not contain "__"; it is reserved for extension contributions (\`<ns>__<name>\`).`,
35
- });
36
- continue;
37
- }
38
- const definition = yield importDefault(ctx, filePath, onDisable === undefined ? "hook" : ["hook", "disabled"]);
39
- if (definition === undefined) {
40
- continue;
41
- }
42
- if (getDefinitionKind(definition) === "disabled") {
43
- onDisable === null || onDisable === void 0 ? void 0 : onDisable(name, filePath);
44
- continue;
45
- }
46
- const hook = definition;
47
- if (typeof hook.events !== "object" ||
48
- hook.events === null ||
49
- Object.keys(hook.events).length === 0) {
50
- ctx.diagnostics.push({
51
- severity: "warning",
52
- path: displayPath(ctx, filePath),
53
- message: "Hook declares no event handlers.",
54
- });
55
- continue;
56
- }
57
- hooks.push({ name, definition: hook });
18
+ const rel = toPosix(relative(hooksDir, filePath));
19
+ const name = rel.slice(0, -extname(rel).length);
20
+ if (name.includes("__")) {
21
+ ctx.diagnostics.push({
22
+ severity: "error",
23
+ path: displayPath(ctx, filePath),
24
+ message: `Hook name "${name}" may not contain "__"; it is reserved for extension contributions (\`<ns>__<name>\`).`,
25
+ });
26
+ continue;
58
27
  }
59
- return hooks;
60
- });
28
+ const definition = await importDefault(ctx, filePath, onDisable === undefined ? "hook" : ["hook", "disabled"]);
29
+ if (definition === undefined) {
30
+ continue;
31
+ }
32
+ if (getDefinitionKind(definition) === "disabled") {
33
+ onDisable?.(name, filePath);
34
+ continue;
35
+ }
36
+ const hook = definition;
37
+ if (typeof hook.events !== "object" ||
38
+ hook.events === null ||
39
+ Object.keys(hook.events).length === 0) {
40
+ ctx.diagnostics.push({
41
+ severity: "warning",
42
+ path: displayPath(ctx, filePath),
43
+ message: "Hook declares no event handlers.",
44
+ });
45
+ continue;
46
+ }
47
+ hooks.push({ name, definition: hook });
48
+ }
49
+ return hooks;
61
50
  }
@@ -7,7 +7,6 @@ import { toolInputJsonSchema } from "../json-schema.js";
7
7
  import { MCP_ENDPOINT_PATH, mcpEndpointToolNames } from "../mcp-endpoint.js";
8
8
  import { connectionTransportLabel } from "./connections.js";
9
9
  export function projectInfo(project) {
10
- var _a, _b, _c, _d;
11
10
  const agent = project.agent;
12
11
  const httpRoutes = [
13
12
  { method: "POST", path: "/v1/session", url: "/v1/session" },
@@ -67,8 +66,8 @@ export function projectInfo(project) {
67
66
  name: skill.name,
68
67
  description: skill.description,
69
68
  })),
70
- extensions: (_a = agent.extensions) !== null && _a !== void 0 ? _a : [],
71
- connections: agent.connections.map(connection => { var _a; return ({
69
+ extensions: agent.extensions ?? [],
70
+ connections: agent.connections.map(connection => ({
72
71
  name: connection.name,
73
72
  transport: connectionTransportLabel(connection.transport),
74
73
  advertiseTools: connection.advertiseTools,
@@ -76,8 +75,8 @@ export function projectInfo(project) {
76
75
  effects: connection.effects,
77
76
  tools: connection.tools,
78
77
  disallowedTools: connection.disallowedTools,
79
- cursorAccountServers: "cursorAccount" in connection.transport ? ((_a = connection.transport.servers) !== null && _a !== void 0 ? _a : "*") : undefined,
80
- }); }),
78
+ cursorAccountServers: "cursorAccount" in connection.transport ? (connection.transport.servers ?? "*") : undefined,
79
+ })),
81
80
  subagents: agent.subagents.map(subagent => ({
82
81
  name: subagent.name,
83
82
  description: subagent.description,
@@ -86,10 +85,9 @@ export function projectInfo(project) {
86
85
  channels: [
87
86
  { id: "http", routes: httpRoutes },
88
87
  ...project.channels.map(channel => {
89
- var _a;
90
88
  const info = {
91
89
  id: channel.id,
92
- routes: ((_a = channel.definition.routes) !== null && _a !== void 0 ? _a : []).map(r => {
90
+ routes: (channel.definition.routes ?? []).map(r => {
93
91
  const routeInfo = {
94
92
  method: r.method,
95
93
  path: r.path,
@@ -108,31 +106,31 @@ export function projectInfo(project) {
108
106
  }),
109
107
  };
110
108
  const meta = channel.definition.meta;
111
- if ((meta === null || meta === void 0 ? void 0 : meta.kind) !== undefined) {
109
+ if (meta?.kind !== undefined) {
112
110
  info.kind = meta.kind;
113
111
  }
114
- if ((meta === null || meta === void 0 ? void 0 : meta.githubWebhookEvents) !== undefined) {
112
+ if (meta?.githubWebhookEvents !== undefined) {
115
113
  info.githubWebhookEvents = meta.githubWebhookEvents;
116
114
  }
117
- if ((meta === null || meta === void 0 ? void 0 : meta.originWebhookEvents) !== undefined) {
115
+ if (meta?.originWebhookEvents !== undefined) {
118
116
  info.originWebhookEvents = meta.originWebhookEvents;
119
117
  }
120
- if ((meta === null || meta === void 0 ? void 0 : meta.gitlabWebhookEvents) !== undefined) {
118
+ if (meta?.gitlabWebhookEvents !== undefined) {
121
119
  info.gitlabWebhookEvents = meta.gitlabWebhookEvents;
122
120
  }
123
- if ((meta === null || meta === void 0 ? void 0 : meta.bitbucketWebhookEvents) !== undefined) {
121
+ if (meta?.bitbucketWebhookEvents !== undefined) {
124
122
  info.bitbucketWebhookEvents = meta.bitbucketWebhookEvents;
125
123
  }
126
- if ((meta === null || meta === void 0 ? void 0 : meta.deploymentEventTypes) !== undefined) {
124
+ if (meta?.deploymentEventTypes !== undefined) {
127
125
  info.deploymentEventTypes = meta.deploymentEventTypes;
128
126
  }
129
- if ((meta === null || meta === void 0 ? void 0 : meta.factoryEventTypes) !== undefined) {
127
+ if (meta?.factoryEventTypes !== undefined) {
130
128
  info.factoryEventTypes = meta.factoryEventTypes;
131
129
  }
132
- if ((meta === null || meta === void 0 ? void 0 : meta.slackEventTypes) !== undefined) {
130
+ if (meta?.slackEventTypes !== undefined) {
133
131
  info.slackEventTypes = meta.slackEventTypes;
134
132
  }
135
- if ((meta === null || meta === void 0 ? void 0 : meta.slackChannelPosts) !== undefined) {
133
+ if (meta?.slackChannelPosts !== undefined) {
136
134
  info.slackChannelPosts = meta.slackChannelPosts;
137
135
  }
138
136
  return info;
@@ -143,9 +141,9 @@ export function projectInfo(project) {
143
141
  cron: schedule.cron,
144
142
  kind: schedule.kind,
145
143
  })),
146
- reminders: ((_b = project.reminders) !== null && _b !== void 0 ? _b : []).length === 0
144
+ reminders: (project.reminders ?? []).length === 0
147
145
  ? undefined
148
- : ((_c = project.reminders) !== null && _c !== void 0 ? _c : []).map(reminder => ({
146
+ : (project.reminders ?? []).map(reminder => ({
149
147
  name: reminder.name,
150
148
  })),
151
149
  hooks: project.hooks.map(hook => hook.name),
@@ -153,7 +151,7 @@ export function projectInfo(project) {
153
151
  artifacts: project.artifacts === undefined
154
152
  ? undefined
155
153
  : {
156
- kinds: Object.keys((_d = project.artifacts.kinds) !== null && _d !== void 0 ? _d : {}),
154
+ kinds: Object.keys(project.artifacts.kinds ?? {}),
157
155
  agentTool: project.artifacts.agentTool === true,
158
156
  max: resolveArtifactsMax(project.artifacts),
159
157
  },
@@ -1,95 +1,82 @@
1
1
  /**
2
2
  * `agent/instructions.md` (or `.ts`, or a directory): the always-on system prompt.
3
3
  */
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
4
  import { readFile } from "node:fs/promises";
14
5
  import { join } from "node:path";
15
6
  import { getDefinitionKind } from "../brand.js";
16
7
  import { displayPath, errorMessage, isBlank } from "./context.js";
17
8
  import { findModuleFile, isDirectory, isFile, isModuleFile, sortedEntries } from "./fs.js";
18
- export function loadInstructions(ctx, agentDir, config, isRoot) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- const parts = [];
21
- const markdownPath = join(agentDir, "instructions.md");
22
- if (yield isFile(markdownPath)) {
23
- parts.push((yield readFile(markdownPath, "utf8")).trim());
9
+ export async function loadInstructions(ctx, agentDir, config, isRoot) {
10
+ const parts = [];
11
+ const markdownPath = join(agentDir, "instructions.md");
12
+ if (await isFile(markdownPath)) {
13
+ parts.push((await readFile(markdownPath, "utf8")).trim());
14
+ }
15
+ const modulePath = await findModuleFile(agentDir, "instructions");
16
+ if (modulePath !== undefined) {
17
+ const loaded = await loadInstructionsModule(ctx, modulePath);
18
+ if (loaded !== undefined) {
19
+ parts.push(loaded);
24
20
  }
25
- const modulePath = yield findModuleFile(agentDir, "instructions");
26
- if (modulePath !== undefined) {
27
- const loaded = yield loadInstructionsModule(ctx, modulePath);
28
- if (loaded !== undefined) {
29
- parts.push(loaded);
21
+ }
22
+ const instructionsDir = join(agentDir, "instructions");
23
+ if (await isDirectory(instructionsDir)) {
24
+ for (const entry of await sortedEntries(instructionsDir)) {
25
+ if (!entry.isFile()) {
26
+ continue;
30
27
  }
31
- }
32
- const instructionsDir = join(agentDir, "instructions");
33
- if (yield isDirectory(instructionsDir)) {
34
- for (const entry of yield sortedEntries(instructionsDir)) {
35
- if (!entry.isFile()) {
36
- continue;
37
- }
38
- const entryPath = join(instructionsDir, entry.name);
39
- if (entry.name.endsWith(".md")) {
40
- parts.push((yield readFile(entryPath, "utf8")).trim());
41
- }
42
- else if (isModuleFile(entry.name)) {
43
- const loaded = yield loadInstructionsModule(ctx, entryPath);
44
- if (loaded !== undefined) {
45
- parts.push(loaded);
46
- }
47
- }
28
+ const entryPath = join(instructionsDir, entry.name);
29
+ if (entry.name.endsWith(".md")) {
30
+ parts.push((await readFile(entryPath, "utf8")).trim());
48
31
  }
49
- }
50
- if ((config === null || config === void 0 ? void 0 : config.instructions) !== undefined && !isBlank(config.instructions)) {
51
- parts.push(config.instructions.trim());
52
- }
53
- const combined = parts.filter(part => part !== "").join("\n\n");
54
- if (combined === "") {
55
- if (isRoot) {
56
- ctx.diagnostics.push({
57
- severity: "error",
58
- path: displayPath(ctx, markdownPath),
59
- message: "instructions.md is required on the root agent (the always-on system prompt).",
60
- });
32
+ else if (isModuleFile(entry.name)) {
33
+ const loaded = await loadInstructionsModule(ctx, entryPath);
34
+ if (loaded !== undefined) {
35
+ parts.push(loaded);
36
+ }
61
37
  }
62
- return undefined;
63
38
  }
64
- return combined;
65
- });
66
- }
67
- function loadInstructionsModule(ctx, modulePath) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- let mod;
70
- try {
71
- mod = yield ctx.importModule(modulePath);
72
- }
73
- catch (error) {
39
+ }
40
+ if (config?.instructions !== undefined && !isBlank(config.instructions)) {
41
+ parts.push(config.instructions.trim());
42
+ }
43
+ const combined = parts.filter(part => part !== "").join("\n\n");
44
+ if (combined === "") {
45
+ if (isRoot) {
74
46
  ctx.diagnostics.push({
75
47
  severity: "error",
76
- path: displayPath(ctx, modulePath),
77
- message: `Failed to load module: ${errorMessage(error)}`,
48
+ path: displayPath(ctx, markdownPath),
49
+ message: "instructions.md is required on the root agent (the always-on system prompt).",
78
50
  });
79
- return undefined;
80
- }
81
- const value = mod.default;
82
- if (typeof value === "string") {
83
- return value.trim();
84
- }
85
- if (getDefinitionKind(value) === "instructions") {
86
- return value.markdown.trim();
87
51
  }
52
+ return undefined;
53
+ }
54
+ return combined;
55
+ }
56
+ async function loadInstructionsModule(ctx, modulePath) {
57
+ let mod;
58
+ try {
59
+ mod = await ctx.importModule(modulePath);
60
+ }
61
+ catch (error) {
88
62
  ctx.diagnostics.push({
89
63
  severity: "error",
90
64
  path: displayPath(ctx, modulePath),
91
- message: "Instructions modules must default-export a string or defineInstructions({ markdown }).",
65
+ message: `Failed to load module: ${errorMessage(error)}`,
92
66
  });
93
67
  return undefined;
68
+ }
69
+ const value = mod.default;
70
+ if (typeof value === "string") {
71
+ return value.trim();
72
+ }
73
+ if (getDefinitionKind(value) === "instructions") {
74
+ return value.markdown.trim();
75
+ }
76
+ ctx.diagnostics.push({
77
+ severity: "error",
78
+ path: displayPath(ctx, modulePath),
79
+ message: "Instructions modules must default-export a string or defineInstructions({ markdown }).",
94
80
  });
81
+ return undefined;
95
82
  }
@@ -1,83 +1,70 @@
1
1
  /**
2
2
  * Walk a slot's module files, import one, and check that its default export carries an expected definition brand.
3
3
  */
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
4
  import { join } from "node:path";
14
5
  import { getDefinitionKind } from "../brand.js";
15
6
  import { displayPath, errorMessage } from "./context.js";
16
7
  import { isDirectory, isModuleFile, moduleStem, sortedEntries } from "./fs.js";
17
8
  import { validateName } from "./names.js";
18
9
  /** The module files of a slot directory whose filenames are valid names. */
19
- export function moduleEntries(ctx, dir, kind) {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- if (!(yield isDirectory(dir))) {
22
- return [];
10
+ export async function moduleEntries(ctx, dir, kind) {
11
+ if (!(await isDirectory(dir))) {
12
+ return [];
13
+ }
14
+ const entries = [];
15
+ for (const entry of await sortedEntries(dir)) {
16
+ const path = join(dir, entry.name);
17
+ if (entry.isDirectory()) {
18
+ ctx.diagnostics.push({
19
+ severity: "warning",
20
+ path: displayPath(ctx, path),
21
+ message: `Nested ${kind} directories are not supported; ignoring.`,
22
+ });
23
+ continue;
23
24
  }
24
- const entries = [];
25
- for (const entry of yield sortedEntries(dir)) {
26
- const path = join(dir, entry.name);
27
- if (entry.isDirectory()) {
28
- ctx.diagnostics.push({
29
- severity: "warning",
30
- path: displayPath(ctx, path),
31
- message: `Nested ${kind} directories are not supported; ignoring.`,
32
- });
33
- continue;
34
- }
35
- if (!entry.isFile() || !isModuleFile(entry.name)) {
36
- continue;
37
- }
38
- const name = moduleStem(entry.name);
39
- if (validateName(ctx, kind, name, path)) {
40
- entries.push({ name, path });
41
- }
25
+ if (!entry.isFile() || !isModuleFile(entry.name)) {
26
+ continue;
42
27
  }
43
- return entries;
44
- });
28
+ const name = moduleStem(entry.name);
29
+ if (validateName(ctx, kind, name, path)) {
30
+ entries.push({ name, path });
31
+ }
32
+ }
33
+ return entries;
45
34
  }
46
35
  /**
47
36
  * The module's default export when it carries one of the expected brands;
48
37
  * a diagnostic and `undefined` otherwise.
49
38
  */
50
- export function importDefault(ctx, modulePath, expected) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- let mod;
53
- try {
54
- mod = yield ctx.importModule(modulePath);
55
- }
56
- catch (error) {
57
- ctx.diagnostics.push({
58
- severity: "error",
59
- path: displayPath(ctx, modulePath),
60
- message: `Failed to load module: ${errorMessage(error)}`,
61
- });
62
- return undefined;
63
- }
64
- const kinds = typeof expected === "string" ? [expected] : expected;
65
- const kind = getDefinitionKind(mod.default);
66
- if (kind !== undefined && kinds.includes(kind)) {
67
- return mod.default;
68
- }
69
- const helpers = kinds.map(helperCall).join(" or ");
70
- const expectedKinds = kinds.join(" or ");
71
- const article = /^[aeiou]/.test(expectedKinds) ? "an" : "a";
39
+ export async function importDefault(ctx, modulePath, expected) {
40
+ let mod;
41
+ try {
42
+ mod = await ctx.importModule(modulePath);
43
+ }
44
+ catch (error) {
72
45
  ctx.diagnostics.push({
73
46
  severity: "error",
74
47
  path: displayPath(ctx, modulePath),
75
- message: kind === undefined
76
- ? `Module must default-export ${helpers}.`
77
- : `Expected ${article} ${expectedKinds} definition but found "${kind}" (wrong authored slot?).`,
48
+ message: `Failed to load module: ${errorMessage(error)}`,
78
49
  });
79
50
  return undefined;
51
+ }
52
+ const kinds = typeof expected === "string" ? [expected] : expected;
53
+ const kind = getDefinitionKind(mod.default);
54
+ if (kind !== undefined && kinds.includes(kind)) {
55
+ return mod.default;
56
+ }
57
+ const helpers = kinds.map(helperCall).join(" or ");
58
+ const expectedKinds = kinds.join(" or ");
59
+ const article = /^[aeiou]/.test(expectedKinds) ? "an" : "a";
60
+ ctx.diagnostics.push({
61
+ severity: "error",
62
+ path: displayPath(ctx, modulePath),
63
+ message: kind === undefined
64
+ ? `Module must default-export ${helpers}.`
65
+ : `Expected ${article} ${expectedKinds} definition but found "${kind}" (wrong authored slot?).`,
80
66
  });
67
+ return undefined;
81
68
  }
82
69
  /** How a definition of `kind` is authored: `defineTool({ ... })`, `disableTool()`. */
83
70
  export function helperCall(kind) {
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/internal/discovery/project.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAuB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AASpF,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AAetB;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASrE;AAYD,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA2BlF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC,CA6BzD;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAAuB,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CACtB,GACL,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC,CAgBzD;AAcD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,YAAY,CAAC,CA+FvB;AA0BD,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAElE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAOnE"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/internal/discovery/project.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAuB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAapF,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AAetB;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASrE;AAYD,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA2BlF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC,CA6BzD;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAAuB,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CACtB,GACL,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC,CAgBzD;AAcD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,YAAY,CAAC,CA6GvB;AA0BD,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAElE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAOnE"}