@xano/sdk 1.0.0

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 (336) hide show
  1. package/CHANGELOG.md +788 -0
  2. package/LICENSE +21 -0
  3. package/README.md +541 -0
  4. package/dist/.build-fingerprint +1 -0
  5. package/dist/agent-file-refresh-ZEMK33AX.js +38 -0
  6. package/dist/answer-shape-K67TAAPY.js +33 -0
  7. package/dist/backend-dir-2U53CIAL.js +39 -0
  8. package/dist/backend-slot-7QXW2QYC.js +28 -0
  9. package/dist/bin.d.ts +1 -0
  10. package/dist/bin.js +255 -0
  11. package/dist/branch-NCRNWQBQ.js +61 -0
  12. package/dist/branch-commands-ACIRCEQJ.js +79 -0
  13. package/dist/bundle.d.ts +223 -0
  14. package/dist/bundle.js +153 -0
  15. package/dist/capture-WAXPD7DR.js +41 -0
  16. package/dist/chunk-27GWNP2I.js +23 -0
  17. package/dist/chunk-2CMJZDCL.js +177 -0
  18. package/dist/chunk-2EZ3ZJZZ.js +302 -0
  19. package/dist/chunk-2GNFDZA2.js +390 -0
  20. package/dist/chunk-2MNLRIOX.js +11 -0
  21. package/dist/chunk-2TFRR6JV.js +104 -0
  22. package/dist/chunk-2ZUEE4EK.js +408 -0
  23. package/dist/chunk-36JUQZVQ.js +22 -0
  24. package/dist/chunk-3DRXWLJ5.js +83 -0
  25. package/dist/chunk-3JDU4VRL.js +137 -0
  26. package/dist/chunk-3KZCLN4Z.js +241 -0
  27. package/dist/chunk-3LDULPRE.js +168 -0
  28. package/dist/chunk-3M4LFYNQ.js +111 -0
  29. package/dist/chunk-3XI5CTUE.js +22 -0
  30. package/dist/chunk-3YW23UFH.js +50 -0
  31. package/dist/chunk-45UIT5T2.js +862 -0
  32. package/dist/chunk-4BW2SG2N.js +46 -0
  33. package/dist/chunk-4KHEMC32.js +79 -0
  34. package/dist/chunk-4POWHT2K.js +321 -0
  35. package/dist/chunk-4Q2GN7NW.js +192 -0
  36. package/dist/chunk-5A2PLKZB.js +70 -0
  37. package/dist/chunk-5FBYXK5P.js +159 -0
  38. package/dist/chunk-5HVXPTU4.js +323 -0
  39. package/dist/chunk-5QU2P5CA.js +304 -0
  40. package/dist/chunk-5V5XU32D.js +191 -0
  41. package/dist/chunk-5ZSO4T2G.js +10 -0
  42. package/dist/chunk-622HUCZT.js +10 -0
  43. package/dist/chunk-65HWOMGV.js +177 -0
  44. package/dist/chunk-6ELFRN3P.js +365 -0
  45. package/dist/chunk-6HO3NCSJ.js +1055 -0
  46. package/dist/chunk-6IUMKYWI.js +457 -0
  47. package/dist/chunk-6KEB3C3U.js +65 -0
  48. package/dist/chunk-6MR5TI5V.js +987 -0
  49. package/dist/chunk-6NNTNXN7.js +157 -0
  50. package/dist/chunk-6PBR37LN.js +97 -0
  51. package/dist/chunk-6QXLMMT3.js +155 -0
  52. package/dist/chunk-6ZGJCBZS.js +224 -0
  53. package/dist/chunk-73IVBKMA.js +250 -0
  54. package/dist/chunk-7G3CTU7I.js +286 -0
  55. package/dist/chunk-A3UDOZB6.js +222 -0
  56. package/dist/chunk-A6E77GDW.js +85 -0
  57. package/dist/chunk-AHJWCYQO.js +660 -0
  58. package/dist/chunk-AKNCFVKZ.js +36 -0
  59. package/dist/chunk-AM4FKL4J.js +237 -0
  60. package/dist/chunk-AN6BL47T.js +26 -0
  61. package/dist/chunk-AOSYVMUS.js +147 -0
  62. package/dist/chunk-APWXY5SL.js +182 -0
  63. package/dist/chunk-AWEIIR2U.js +218 -0
  64. package/dist/chunk-AWQ7BQTQ.js +73 -0
  65. package/dist/chunk-BAUZOWGX.js +393 -0
  66. package/dist/chunk-BHACRS6R.js +940 -0
  67. package/dist/chunk-BWPNT55T.js +680 -0
  68. package/dist/chunk-C6RIMRU4.js +187 -0
  69. package/dist/chunk-CGVQZXYG.js +263 -0
  70. package/dist/chunk-CIMQZRRE.js +162 -0
  71. package/dist/chunk-CJHQKJU4.js +113 -0
  72. package/dist/chunk-CTMO46PK.js +1897 -0
  73. package/dist/chunk-D53J55C5.js +106 -0
  74. package/dist/chunk-D7VGG3WS.js +90 -0
  75. package/dist/chunk-DAD3ONIS.js +245 -0
  76. package/dist/chunk-DGWHAVRG.js +162 -0
  77. package/dist/chunk-DX4QR4B2.js +483 -0
  78. package/dist/chunk-EHP3WPEG.js +21 -0
  79. package/dist/chunk-ELP2HMXC.js +432 -0
  80. package/dist/chunk-ERVIASGL.js +21 -0
  81. package/dist/chunk-ET4Y4XCB.js +865 -0
  82. package/dist/chunk-ETO6LGLD.js +4750 -0
  83. package/dist/chunk-EUUUMY7J.js +24 -0
  84. package/dist/chunk-FQJ2TTHP.js +218 -0
  85. package/dist/chunk-FQOF7E2E.js +133 -0
  86. package/dist/chunk-FWD7AL6N.js +21 -0
  87. package/dist/chunk-FXFV3KU6.js +138 -0
  88. package/dist/chunk-FXRQOWTE.js +171 -0
  89. package/dist/chunk-G554NZNI.js +210 -0
  90. package/dist/chunk-GSGDWJB5.js +13 -0
  91. package/dist/chunk-H2V3N23D.js +66 -0
  92. package/dist/chunk-H5C7MBCR.js +159 -0
  93. package/dist/chunk-HHN734BU.js +371 -0
  94. package/dist/chunk-HRVBLCVJ.js +243 -0
  95. package/dist/chunk-HVRUQXGD.js +1264 -0
  96. package/dist/chunk-I4F5TCJH.js +130 -0
  97. package/dist/chunk-IDOTCMDV.js +57 -0
  98. package/dist/chunk-IGOLHKWF.js +427 -0
  99. package/dist/chunk-JGE7CAWB.js +148 -0
  100. package/dist/chunk-JTUKLCXS.js +92 -0
  101. package/dist/chunk-JZGVVJSI.js +66 -0
  102. package/dist/chunk-K4WX6UUU.js +923 -0
  103. package/dist/chunk-K5BBGTYZ.js +217 -0
  104. package/dist/chunk-K6RXBGUB.js +427 -0
  105. package/dist/chunk-KTSDSD36.js +165 -0
  106. package/dist/chunk-L5JYN3NM.js +1038 -0
  107. package/dist/chunk-LIEOKXKD.js +354 -0
  108. package/dist/chunk-LLNZGEFK.js +51 -0
  109. package/dist/chunk-LPECSJ2J.js +55 -0
  110. package/dist/chunk-LQCMKAJ7.js +413 -0
  111. package/dist/chunk-LRN4ZJCQ.js +1145 -0
  112. package/dist/chunk-MJ4ZVHKN.js +17 -0
  113. package/dist/chunk-MXHSQOC4.js +3061 -0
  114. package/dist/chunk-N5GKCWE5.js +367 -0
  115. package/dist/chunk-NA3PXMEF.js +10 -0
  116. package/dist/chunk-NAQDMEHV.js +76 -0
  117. package/dist/chunk-NWKXM5RD.js +109 -0
  118. package/dist/chunk-NZOWWHU5.js +196 -0
  119. package/dist/chunk-OHX6MIUZ.js +184 -0
  120. package/dist/chunk-OOXWYAA4.js +15 -0
  121. package/dist/chunk-OPHB5ORL.js +1990 -0
  122. package/dist/chunk-OXA6PSZT.js +1725 -0
  123. package/dist/chunk-P2HAGF6H.js +73 -0
  124. package/dist/chunk-PTHVMXZI.js +3036 -0
  125. package/dist/chunk-PZ5AY32C.js +10 -0
  126. package/dist/chunk-Q325JKYB.js +189 -0
  127. package/dist/chunk-Q7DGTQ5G.js +255 -0
  128. package/dist/chunk-QCNYHBL7.js +601 -0
  129. package/dist/chunk-QO6BVGS5.js +145 -0
  130. package/dist/chunk-QXTKSOFI.js +76 -0
  131. package/dist/chunk-ROY4YAEQ.js +66 -0
  132. package/dist/chunk-RTJRZFFY.js +447 -0
  133. package/dist/chunk-SAVJUS2X.js +128 -0
  134. package/dist/chunk-SFLHVCKX.js +173 -0
  135. package/dist/chunk-STSFNCY4.js +127 -0
  136. package/dist/chunk-SWBF2LTK.js +170 -0
  137. package/dist/chunk-T5KELPAR.js +109 -0
  138. package/dist/chunk-TFFGOFVZ.js +1481 -0
  139. package/dist/chunk-TLHIFK4M.js +256 -0
  140. package/dist/chunk-TLQE7ZN3.js +156 -0
  141. package/dist/chunk-TPHWJ7UG.js +1981 -0
  142. package/dist/chunk-TRJCALW3.js +291 -0
  143. package/dist/chunk-TTEIYD5P.js +133 -0
  144. package/dist/chunk-U64O2MXY.js +407 -0
  145. package/dist/chunk-UCQ2VUTG.js +630 -0
  146. package/dist/chunk-UTI5G6OJ.js +44 -0
  147. package/dist/chunk-UVHDMMIP.js +188 -0
  148. package/dist/chunk-UZ6QQWJT.js +120 -0
  149. package/dist/chunk-VAX3UZOY.js +686 -0
  150. package/dist/chunk-W3HBUKFO.js +57 -0
  151. package/dist/chunk-WKQLGKCL.js +2823 -0
  152. package/dist/chunk-WQFNASK4.js +560 -0
  153. package/dist/chunk-WRBKLYSJ.js +224 -0
  154. package/dist/chunk-WTPZRR4I.js +17 -0
  155. package/dist/chunk-WZDJ2LLX.js +2385 -0
  156. package/dist/chunk-X2NL4KUO.js +14 -0
  157. package/dist/chunk-X4DVXBFY.js +38 -0
  158. package/dist/chunk-X677DMZM.js +7050 -0
  159. package/dist/chunk-XBKMWY7F.js +612 -0
  160. package/dist/chunk-XNCP4KYO.js +78 -0
  161. package/dist/chunk-XVBGLISP.js +35 -0
  162. package/dist/chunk-XW6KISBB.js +1192 -0
  163. package/dist/chunk-YGZHHAAB.js +8156 -0
  164. package/dist/chunk-YHEFQUQB.js +186 -0
  165. package/dist/chunk-YLDALTWZ.js +653 -0
  166. package/dist/chunk-YU4HSQW7.js +229 -0
  167. package/dist/chunk-ZDPP6RKB.js +27 -0
  168. package/dist/chunk-ZFDZKNGG.js +194 -0
  169. package/dist/chunk-ZIY7RNUT.js +49 -0
  170. package/dist/chunk-ZYJP6BOO.js +30 -0
  171. package/dist/cli.d.ts +1111 -0
  172. package/dist/cli.js +165 -0
  173. package/dist/codegen-command-VR2GWR6C.js +173 -0
  174. package/dist/codegen.d.ts +115 -0
  175. package/dist/codegen.js +19 -0
  176. package/dist/commands-GJMJ4XYZ.js +76 -0
  177. package/dist/completion-ZQLO6PB6.js +738 -0
  178. package/dist/config-MBYGCAFK.js +136 -0
  179. package/dist/deploy-command-JVZPWHMK.js +180 -0
  180. package/dist/deploy-source-3W45CXMP.js +81 -0
  181. package/dist/dev-env-sync-HN44K4D5.js +188 -0
  182. package/dist/diagnostics-UEAAHWVF.js +30 -0
  183. package/dist/display-name-hint-ABBPVQIR.js +46 -0
  184. package/dist/emit-CyhBDxli.d.ts +7007 -0
  185. package/dist/env-example-refresh-ET5HMMDW.js +126 -0
  186. package/dist/env-pull-command-TNMNB3CV.js +323 -0
  187. package/dist/env-target-O4HRKTGZ.js +40 -0
  188. package/dist/env-var-command-ZIRDCAZA.js +427 -0
  189. package/dist/ephemeral-P7F3PMAD.js +54 -0
  190. package/dist/ephemeral-command-CLJJKOFT.js +592 -0
  191. package/dist/ephemeral-state-PYCBSOGX.js +61 -0
  192. package/dist/file-lock-PT74GWYW.js +10 -0
  193. package/dist/generate-command-AYEOLA26.js +510 -0
  194. package/dist/gitignore-3SJ3WNRG.js +51 -0
  195. package/dist/guards-4EBNCZDC.js +162 -0
  196. package/dist/hosted-file-PSHJB3HX.js +28 -0
  197. package/dist/impersonate-command-5JAS3WSV.js +152 -0
  198. package/dist/import-EQSFU6JC.js +19 -0
  199. package/dist/index.d.ts +5470 -0
  200. package/dist/index.js +371 -0
  201. package/dist/init-command-X2FR4UAK.js +125 -0
  202. package/dist/init-modules-RY7UHAOL.js +50 -0
  203. package/dist/init-web-M4YZSZK6.js +42 -0
  204. package/dist/internal.d.ts +179 -0
  205. package/dist/internal.js +2634 -0
  206. package/dist/io-RC56QSN5.js +26 -0
  207. package/dist/keep-data-merge-7MPLVAVI.js +1119 -0
  208. package/dist/lambda-config-reconcile-OUZ4OYAB.js +116 -0
  209. package/dist/landed-753YLJ5H.js +40 -0
  210. package/dist/landing-record-SU52SKXU.js +61 -0
  211. package/dist/live-diff-YONW2VI3.js +65 -0
  212. package/dist/local-engine-choice-CH5X3W7E.js +79 -0
  213. package/dist/local-engine-command-Z3OL7VOD.js +766 -0
  214. package/dist/local-engine-config-5U3SC434.js +39 -0
  215. package/dist/local-engine-deploy-PCQ4SNPB.js +39 -0
  216. package/dist/local-engine-process-EHTE5LLU.js +63 -0
  217. package/dist/local-engine-state-A4FTRFAF.js +32 -0
  218. package/dist/local-engine-update-check-6L645VBL.js +162 -0
  219. package/dist/lock-MRRHW5GS.js +87 -0
  220. package/dist/lock-commands-2QG25HL7.js +963 -0
  221. package/dist/login-command-QPYRWOXZ.js +538 -0
  222. package/dist/logout-command-WOIQLDP6.js +56 -0
  223. package/dist/loop-ALIZLOSX.js +191 -0
  224. package/dist/marketplace-command-K5YL42NO.js +977 -0
  225. package/dist/marketplace-resolve-LY32JES5.js +40 -0
  226. package/dist/meta-client-YXGPW53C.js +244 -0
  227. package/dist/module-manifest-JFGHU2TC.js +38 -0
  228. package/dist/near-key.d.ts +13 -0
  229. package/dist/near-key.js +8 -0
  230. package/dist/node.d.ts +95 -0
  231. package/dist/node.js +969 -0
  232. package/dist/operation-outcome-TZSESNC7.js +51 -0
  233. package/dist/output-target-AL3I44GG.js +47 -0
  234. package/dist/package-manager-PRAHUSCN.js +34 -0
  235. package/dist/plan-disclosure-6G4MLZKD.js +114 -0
  236. package/dist/plugin-contributions-WRNY5ABG.js +28 -0
  237. package/dist/plugin-prompt-4VA3B4FF.js +20 -0
  238. package/dist/plugin-questions-JTSYA74Q.js +24 -0
  239. package/dist/plugin.d.ts +396 -0
  240. package/dist/plugin.js +1 -0
  241. package/dist/preflight-command-2T5Z36MI.js +321 -0
  242. package/dist/profile-command-AH3PIM4X.js +800 -0
  243. package/dist/profile-pointer-GRWJU3YD.js +31 -0
  244. package/dist/profile-select-74TRDEPD.js +23 -0
  245. package/dist/project-dependency-KSH63ODT.js +35 -0
  246. package/dist/project-sdk-REPPOIBD.js +24 -0
  247. package/dist/promote-command-PCWT5N6S.js +140 -0
  248. package/dist/prompt-II3F3LND.js +27 -0
  249. package/dist/publish-command-TTDUUJI5.js +414 -0
  250. package/dist/pull-command-VBO7C4S3.js +161 -0
  251. package/dist/pull-superseded-GJWLG7XO.js +20 -0
  252. package/dist/release-command-N4ZPKMHR.js +146 -0
  253. package/dist/release-ns-command-3KFDMZ6G.js +1745 -0
  254. package/dist/response-HlXahv4K.d.ts +925 -0
  255. package/dist/retry-command-AS5EVREX.js +34 -0
  256. package/dist/routes-manifest-SNWUVBT6.js +43 -0
  257. package/dist/runtime-XETHVF33.js +14 -0
  258. package/dist/scaffold.d.ts +1911 -0
  259. package/dist/scaffold.js +107 -0
  260. package/dist/secrets-file-LVZD6IIM.js +56 -0
  261. package/dist/secrets-fill-command-TTCPSVXN.js +218 -0
  262. package/dist/seed-VU7C3QYS.js +46 -0
  263. package/dist/sent-writes-N7X4OVXT.js +22 -0
  264. package/dist/source-resolve-S2XA3XZF.js +83 -0
  265. package/dist/static-host-B2Y6AG3W.js +352 -0
  266. package/dist/status-command-RUDXTF7I.js +554 -0
  267. package/dist/store-6VNCD4D7.js +20 -0
  268. package/dist/store-ARM6VMO5.js +98 -0
  269. package/dist/store-DuYfzKlW.d.ts +3144 -0
  270. package/dist/suggest-6FOOYKHG.js +12 -0
  271. package/dist/sveltekit.d.ts +154 -0
  272. package/dist/sveltekit.js +109 -0
  273. package/dist/sync-contributions-UCEROO26.js +415 -0
  274. package/dist/table-ENAVMITR.js +42 -0
  275. package/dist/tables-command-GUPXXSB5.js +156 -0
  276. package/dist/tenant-IIHPOHGP.js +42 -0
  277. package/dist/tenant-command-D5HGI2X4.js +965 -0
  278. package/dist/test-command-TIKZMDPZ.js +476 -0
  279. package/dist/tests-BGGIOK3L.js +26 -0
  280. package/dist/token-NICJUTMT.js +72 -0
  281. package/dist/toolchain-hooks-GHKLUJOH.js +96 -0
  282. package/dist/toolchain-modules-5EAZUONB.js +24 -0
  283. package/dist/tracked-backend-EIBUMDZA.js +80 -0
  284. package/dist/update-check-2W2NLDTC.js +136 -0
  285. package/dist/upgrade-command-QHNFWM7O.js +531 -0
  286. package/dist/verify-rollout-DRCK5TDD.js +61 -0
  287. package/dist/whoami-command-STGINTXH.js +51 -0
  288. package/dist/workspace-2CLHU2LK.js +93 -0
  289. package/dist/workspace-binding-56PIIPCP.js +54 -0
  290. package/dist/workspace-command-JEXQETJD.js +535 -0
  291. package/dist/workspace-env-F2RFMSC5.js +70 -0
  292. package/dist/workspace-export-OJSH2HIW.js +21 -0
  293. package/dist/writable-VA7OISSK.js +25 -0
  294. package/dist/xano-ICFUSPFR.js +42 -0
  295. package/dist/xanosdk-import-GN42TO2B.js +56 -0
  296. package/dist/xanosdk-project-S6DXJONQ.js +41 -0
  297. package/dist/xdo-CxDr2Q1C.d.ts +1371 -0
  298. package/guides/README.md +33 -0
  299. package/guides/authoring.md +921 -0
  300. package/guides/cli.md +401 -0
  301. package/guides/codegen.md +177 -0
  302. package/guides/codes.md +404 -0
  303. package/guides/coverage.md +74 -0
  304. package/guides/deploying.md +1525 -0
  305. package/guides/environment.md +400 -0
  306. package/guides/marketplace.md +415 -0
  307. package/guides/module-contract.md +558 -0
  308. package/guides/object-kinds.md +433 -0
  309. package/guides/project-structure.md +43 -0
  310. package/guides/scaffold.md +351 -0
  311. package/guides/typed-frontend.md +242 -0
  312. package/llms/client.md +63 -0
  313. package/llms/errors.md +56 -0
  314. package/llms/fields.md +176 -0
  315. package/llms/filters.md +183 -0
  316. package/llms/kinds-agent-mcp.md +30 -0
  317. package/llms/kinds-core.md +100 -0
  318. package/llms/kinds-knowledge.md +20 -0
  319. package/llms/kinds-realtime.md +76 -0
  320. package/llms/lambda.md +94 -0
  321. package/llms/legacy.md +44 -0
  322. package/llms/lock.md +40 -0
  323. package/llms/object-kinds.md +34 -0
  324. package/llms/statements-calls.md +62 -0
  325. package/llms/statements-catalog.md +320 -0
  326. package/llms/statements-data.md +66 -0
  327. package/llms/statements-runtime.md +68 -0
  328. package/llms/tests.md +59 -0
  329. package/llms/toolchain.md +16 -0
  330. package/llms/triggers.md +36 -0
  331. package/llms/values.md +29 -0
  332. package/llms-full.txt +2085 -0
  333. package/llms.txt +493 -0
  334. package/manifest.json +11224 -0
  335. package/package.json +162 -0
  336. package/types/lambda-globals.d.ts +129 -0
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export {
8
+ __export
9
+ };
10
+ //# sourceMappingURL=chunk-PZ5AY32C.js.map
@@ -0,0 +1,189 @@
1
+ import {
2
+ AGENTS_MD_PATH,
3
+ CODEGEN_MARKER,
4
+ managedBlockVersion,
5
+ renderAgentsMd,
6
+ upsertManagedBlock
7
+ } from "./chunk-AHJWCYQO.js";
8
+ import {
9
+ detectPackageManager
10
+ } from "./chunk-WRBKLYSJ.js";
11
+ import {
12
+ allFrontendPresets
13
+ } from "./chunk-OPHB5ORL.js";
14
+ import {
15
+ allIconLibraries
16
+ } from "./chunk-UCQ2VUTG.js";
17
+ import {
18
+ projectFileCli,
19
+ projectSdkDir,
20
+ warn
21
+ } from "./chunk-PTHVMXZI.js";
22
+ import {
23
+ DEFAULT_DARK_MODE
24
+ } from "./chunk-TFFGOFVZ.js";
25
+
26
+ // src/emit/agent-file-refresh.ts
27
+ import { existsSync as existsSync2, readFileSync as readFileSync2, writeFileSync } from "fs";
28
+ import { basename, join as join2 } from "path";
29
+
30
+ // src/emit/project-detect.ts
31
+ import { existsSync, readFileSync } from "fs";
32
+ import { join } from "path";
33
+ function readJson(path) {
34
+ try {
35
+ const parsed = JSON.parse(readFileSync(path, "utf8"));
36
+ return typeof parsed === "object" && parsed !== null ? parsed : void 0;
37
+ } catch {
38
+ return void 0;
39
+ }
40
+ }
41
+ function readText(path) {
42
+ try {
43
+ return readFileSync(path, "utf8");
44
+ } catch {
45
+ return void 0;
46
+ }
47
+ }
48
+ function installedPackages(projectDir) {
49
+ const pkg = readJson(join(projectDir, "package.json"));
50
+ const names = /* @__PURE__ */ new Set();
51
+ for (const block of ["dependencies", "devDependencies"]) {
52
+ const deps = pkg?.[block];
53
+ if (typeof deps === "object" && deps !== null) {
54
+ for (const name of Object.keys(deps)) names.add(name);
55
+ }
56
+ }
57
+ return names;
58
+ }
59
+ function detectFrontendPreset(projectDir) {
60
+ const installed = installedPackages(projectDir);
61
+ if (installed.size === 0) return void 0;
62
+ let best;
63
+ let bestScore = 0;
64
+ let tied = false;
65
+ for (const preset of allFrontendPresets()) {
66
+ const declared = Object.keys(preset.dependencies);
67
+ if (declared.length === 0) continue;
68
+ const score = declared.filter((name) => installed.has(name)).length / declared.length;
69
+ if (score > bestScore) {
70
+ best = preset;
71
+ bestScore = score;
72
+ tied = false;
73
+ } else if (score === bestScore && score > 0) {
74
+ tied = true;
75
+ }
76
+ }
77
+ return bestScore > 0 && !tied ? best : void 0;
78
+ }
79
+ function detectIconLibrary(projectDir) {
80
+ const installed = installedPackages(projectDir);
81
+ for (const library of allIconLibraries()) {
82
+ for (const binding of [library.react, library.svelte]) {
83
+ if (Object.keys(binding.dependency).some((name) => installed.has(name))) return library.id;
84
+ }
85
+ }
86
+ return void 0;
87
+ }
88
+ function detectThemeLabel(projectDir) {
89
+ const css = readText(join(projectDir, "frontend", "src", "index.css"));
90
+ const match = css?.match(/\/\*\s*Theme:\s*(.+?)\.\s*Rebrand here/);
91
+ const label = match?.[1]?.trim();
92
+ return label !== void 0 && label.length > 0 ? label : void 0;
93
+ }
94
+ function detectDarkMode(projectDir) {
95
+ if (existsSync(join(projectDir, "frontend", "src", "lib", "theme.ts"))) return "toggle";
96
+ const entries = [
97
+ join(projectDir, "frontend", "index.html"),
98
+ join(projectDir, "frontend", "src", "app.html")
99
+ ];
100
+ for (const entry of entries) {
101
+ const html = readText(entry);
102
+ if (html === void 0) continue;
103
+ return html.includes("prefers-color-scheme") ? "system" : "off";
104
+ }
105
+ return void 0;
106
+ }
107
+ function detectFrontendGuidance(projectDir) {
108
+ const preset = detectFrontendPreset(projectDir);
109
+ if (preset === void 0) return void 0;
110
+ const label = detectThemeLabel(projectDir);
111
+ return {
112
+ label: preset.label,
113
+ section: preset.agentGuidanceSection(detectIconLibrary(projectDir)),
114
+ ...label === void 0 ? {} : { theme: { theme: { label }, dark: detectDarkMode(projectDir) ?? DEFAULT_DARK_MODE } }
115
+ };
116
+ }
117
+
118
+ // src/emit/agent-file-refresh.ts
119
+ var AGENT_ENV_VARS = [
120
+ "CLAUDECODE",
121
+ "CLAUDE_CODE",
122
+ "CURSOR_TRACE_ID",
123
+ "CURSOR_AGENT",
124
+ "CODEX_SANDBOX",
125
+ "AIDER_MODEL",
126
+ "GITHUB_COPILOT_AGENT"
127
+ ];
128
+ function codingAgentDetected(env = process.env) {
129
+ return AGENT_ENV_VARS.some((name) => (env[name] ?? "") !== "");
130
+ }
131
+ var CI_ENV_VARS = [
132
+ "CI",
133
+ "GITHUB_ACTIONS",
134
+ "GITLAB_CI",
135
+ "BUILDKITE",
136
+ "TEAMCITY_VERSION"
137
+ ];
138
+ function isCI(env = process.env) {
139
+ return CI_ENV_VARS.some((name) => (env[name] ?? "") !== "");
140
+ }
141
+ function guidanceModeFor(projectDir) {
142
+ return existsSync2(join2(projectDir, CODEGEN_MARKER)) ? "generated" : "authored";
143
+ }
144
+ function appNameFor(projectDir) {
145
+ try {
146
+ const pkg = JSON.parse(readFileSync2(join2(projectDir, "package.json"), "utf8"));
147
+ if (typeof pkg.name === "string" && pkg.name.length > 0) return pkg.name;
148
+ } catch {
149
+ }
150
+ return basename(projectDir);
151
+ }
152
+ function refreshAgentFiles(opts) {
153
+ const env = opts.env ?? process.env;
154
+ if (opts.explicit !== true && (isCI(env) || !codingAgentDetected(env))) return [];
155
+ const path = AGENTS_MD_PATH;
156
+ const absolute = join2(opts.projectDir, path);
157
+ if (!existsSync2(absolute)) return [];
158
+ try {
159
+ const existing = readFileSync2(absolute, "utf8");
160
+ if (managedBlockVersion(existing) === null) return [];
161
+ const manager = detectPackageManager(opts.projectDir);
162
+ const rendered = renderAgentsMd(
163
+ opts.appName ?? appNameFor(opts.projectDir),
164
+ opts.mode ?? guidanceModeFor(opts.projectDir),
165
+ {
166
+ version: opts.sdkVersion,
167
+ frontend: opts.frontend ?? detectFrontendGuidance(opts.projectDir),
168
+ cli: projectFileCli(opts.projectDir, manager),
169
+ sdkDir: projectSdkDir(opts.projectDir, manager)
170
+ }
171
+ );
172
+ const updated = upsertManagedBlock(existing, rendered);
173
+ if (updated === existing) return [];
174
+ if (opts.write !== false) writeFileSync(absolute, updated);
175
+ return [path];
176
+ } catch (err) {
177
+ warn(`could not refresh ${path}: ${err instanceof Error ? err.message : String(err)}`, "agents.refresh-failed");
178
+ return [];
179
+ }
180
+ }
181
+
182
+ export {
183
+ detectFrontendPreset,
184
+ codingAgentDetected,
185
+ CI_ENV_VARS,
186
+ isCI,
187
+ refreshAgentFiles
188
+ };
189
+ //# sourceMappingURL=chunk-Q325JKYB.js.map
@@ -0,0 +1,255 @@
1
+ // src/statements/surfaces.ts
2
+ var STATEMENT_SURFACES = [
3
+ ["action.call", "mvp:action"],
4
+ ["action.package.call", "mvp:action_package"],
5
+ ["addon.call", "mvp:workspace_run_addon"],
6
+ ["ai.agent.run", "mvp:call_agent"],
7
+ ["ai.external.mcp.server_details", "mvp:mcp_server_details"],
8
+ ["ai.external.mcp.tool.list", "mvp:mcp_list_tools"],
9
+ ["ai.external.mcp.tool.run", "mvp:mcp_call_tool"],
10
+ ["api.call", "mvp:workspace_run_endpoint"],
11
+ ["api.realtime_event", "mvp:realtime_event"],
12
+ ["api.request", "mvp:api_request"],
13
+ ["api.stream", "mvp:streaming_api_response"],
14
+ ["array.difference", "mvp:array_difference"],
15
+ ["array.every", "mvp:array_every"],
16
+ ["array.filter_count", "mvp:array_filter_count"],
17
+ ["array.filter", "mvp:array_filter"],
18
+ ["array.find_index", "mvp:array_find_index"],
19
+ ["array.find", "mvp:array_find"],
20
+ ["array.group_by", "mvp:array_group_by"],
21
+ ["array.has", "mvp:array_has"],
22
+ ["array.intersection", "mvp:array_intersection"],
23
+ ["array.map", "mvp:array_map"],
24
+ ["array.merge", "mvp:array_merge"],
25
+ ["array.partition", "mvp:array_partition"],
26
+ ["array.pop", "mvp:array_pop"],
27
+ ["array.push", "mvp:array_push"],
28
+ ["array.shift", "mvp:array_shift"],
29
+ ["array.union", "mvp:array_union"],
30
+ ["array.unshift", "mvp:array_unshift"],
31
+ ["await", "mvp:async_function_await"],
32
+ ["break", "mvp:foreach_break"],
33
+ ["cloud.algolia.request", "mvp:algolia_request"],
34
+ ["cloud.aws.opensearch.document", "mvp:amazon_opensearch_document"],
35
+ ["cloud.aws.opensearch.query", "mvp:amazon_opensearch_query"],
36
+ ["cloud.aws.opensearch.request", "mvp:amazon_opensearch_request"],
37
+ ["cloud.aws.s3.delete_file", "mvp:amazon_s3_delete_file"],
38
+ ["cloud.aws.s3.get_file_info", "mvp:amazon_s3_get_file_metadata"],
39
+ ["cloud.aws.s3.list_directory", "mvp:amazon_s3_list_directory"],
40
+ ["cloud.aws.s3.read_file", "mvp:amazon_s3_create_var_from_file_resource"],
41
+ ["cloud.aws.s3.sign_url", "mvp:amazon_s3_signed_url"],
42
+ ["cloud.aws.s3.upload_file", "mvp:amazon_s3_upload_file"],
43
+ ["cloud.azure.storage.delete_file", "mvp:azure_blob_storage_delete_file"],
44
+ ["cloud.azure.storage.get_file_info", "mvp:azure_blob_storage_get_file_metadata"],
45
+ ["cloud.azure.storage.list_directory", "mvp:azure_blob_storage_list_directory"],
46
+ ["cloud.azure.storage.read_file", "mvp:azure_blob_storage_create_var_from_file_resource"],
47
+ ["cloud.azure.storage.sign_url", "mvp:azure_blob_storage_signed_url"],
48
+ ["cloud.azure.storage.upload_file", "mvp:azure_blob_storage_upload_file"],
49
+ ["cloud.elasticsearch.document", "mvp:elasticsearch_document"],
50
+ ["cloud.elasticsearch.query", "mvp:elasticsearch_query"],
51
+ ["cloud.elasticsearch.request", "mvp:elasticsearch_request"],
52
+ ["cloud.google.storage.delete_file", "mvp:google_cloud_storage_delete_file"],
53
+ ["cloud.google.storage.get_file_info", "mvp:google_cloud_storage_get_file_metadata"],
54
+ ["cloud.google.storage.list_directory", "mvp:google_cloud_storage_list_directory"],
55
+ ["cloud.google.storage.read_file", "mvp:google_cloud_storage_create_var_from_file_resource"],
56
+ ["cloud.google.storage.sign_url", "mvp:google_cloud_storage_signed_url"],
57
+ ["cloud.google.storage.upload_file", "mvp:google_cloud_storage_upload_file"],
58
+ ["cloud.job.await", "mvp:cloud_job_await"],
59
+ ["cloud.job.status", "mvp:cloud_job_status"],
60
+ ["cloud.job", "mvp:cloud_job"],
61
+ ["comment", "mvp:comment"],
62
+ ["conditional", "mvp:conditional"],
63
+ ["continue", "mvp:foreach_continue"],
64
+ ["datadog.log_bulk", "mvp:datadog_log_bulk"],
65
+ ["datadog.log", "mvp:datadog_log"],
66
+ ["datadog.metric_bulk", "mvp:datadog_metric_bulk"],
67
+ ["datadog.metric", "mvp:datadog_metric"],
68
+ ["db.add_or_edit", "mvp:dbo_addoreditby"],
69
+ ["db.add", "mvp:dbo_add"],
70
+ ["db.bulk.add", "mvp:dbo_bulkadd"],
71
+ ["db.bulk.delete", "mvp:dbo_bulkdelete"],
72
+ ["db.bulk.patch", "mvp:dbo_bulkpatch"],
73
+ ["db.bulk.update", "mvp:dbo_bulkupdate"],
74
+ ["db.del", "mvp:dbo_delby"],
75
+ ["db.direct_query", "mvp:dbo_direct_query"],
76
+ ["db.edit", "mvp:dbo_editby"],
77
+ ["db.external.mssql.direct_query", "mvp:dbo_external_mssql_query"],
78
+ ["db.external.mysql.direct_query", "mvp:dbo_external_mysql_query"],
79
+ ["db.external.oracle.direct_query", "mvp:dbo_external_oracle_query"],
80
+ ["db.external.postgres.direct_query", "mvp:dbo_external_postgres_query"],
81
+ ["db.external.snowflake.direct_query", "mvp:dbo_external_snowflake_query"],
82
+ ["db.get", "mvp:dbo_getby"],
83
+ ["db.has", "mvp:dbo_hasby"],
84
+ ["db.increment", "mvp:dbo_increment"],
85
+ ["db.patch", "mvp:dbo_patch"],
86
+ ["db.query", "mvp:dbo_view"],
87
+ ["db.schema", "mvp:dbo_get_schema"],
88
+ ["db.set_datasource", "mvp:set_data_source"],
89
+ ["db.transaction", "mvp:db_transaction"],
90
+ ["db.truncate", "mvp:dbo_truncate"],
91
+ ["debug.log", "mvp:debug_log"],
92
+ ["debug.stop", "mvp:die"],
93
+ ["for", "mvp:for"],
94
+ ["foreach.remove", "mvp:foreach_remove"],
95
+ ["foreach", "mvp:foreach"],
96
+ ["function.call", "mvp:workspace_run_function"],
97
+ ["function.run", "mvp:function"],
98
+ ["group", "mvp:group"],
99
+ ["lambda", "mvp:lambda"],
100
+ ["math.add", "mvp:math_add"],
101
+ ["math.bitwise.and", "mvp:bitwise_and"],
102
+ ["math.bitwise.or", "mvp:bitwise_or"],
103
+ ["math.bitwise.xor", "mvp:bitwise_xor"],
104
+ ["math.div", "mvp:math_div"],
105
+ ["math.mod", "mvp:math_mod"],
106
+ ["math.mul", "mvp:math_mul"],
107
+ ["math.sub", "mvp:math_sub"],
108
+ ["mcp.elicit", "mvp:mcp_elicit"],
109
+ ["mcp.oauth.complete", "mvp:mcp_oauth_complete"],
110
+ ["mcp.oauth.request", "mvp:mcp_oauth_request"],
111
+ ["mcp.oauth.revoke", "mvp:mcp_oauth_revoke"],
112
+ ["mcp.progress", "mvp:mcp_progress"],
113
+ ["middleware.call", "mvp:workspace_run_middleware"],
114
+ ["microservice.request", "mvp:microservice_request"],
115
+ ["object.entries", "mvp:object_entries"],
116
+ ["object.keys", "mvp:object_keys"],
117
+ ["object.values", "mvp:object_values"],
118
+ // `mvp:placeholder` has no surface on purpose. The engine writes one in place
119
+ // of a statement it could not resolve and then refuses the same bytes on
120
+ // import, so authoring one can only produce an un-deployable workspace. It is
121
+ // listed in {@link DECODE_ONLY_STATEMENTS}, carried through `raw()`, and
122
+ // blocked at `export()` — the same treatment retired versions get, and for the
123
+ // same reason: keeping it out of this catalog keeps it out of the manifest an
124
+ // agent authors from.
125
+ ["precondition", "mvp:precondition"],
126
+ ["realtime.get_session", "mvp:get_session"],
127
+ ["realtime.publish", "mvp:realtime_publish"],
128
+ ["redis.count", "mvp:redis_countlist"],
129
+ ["redis.decr", "mvp:redis_decr"],
130
+ ["redis.del", "mvp:redis_del"],
131
+ ["redis.get", "mvp:redis_get"],
132
+ ["redis.has", "mvp:redis_has"],
133
+ ["redis.incr", "mvp:redis_incr"],
134
+ ["redis.keys", "mvp:redis_keys"],
135
+ ["redis.pop", "mvp:redis_poplist"],
136
+ ["redis.push", "mvp:redis_pushlist"],
137
+ ["redis.range", "mvp:redis_rangelist"],
138
+ ["redis.ratelimit", "mvp:redis_ratelimit"],
139
+ ["redis.remove", "mvp:redis_remove_list"],
140
+ ["redis.set", "mvp:redis_set"],
141
+ ["redis.shift", "mvp:redis_shiftlist"],
142
+ ["redis.unshift", "mvp:redis_unshiftlist"],
143
+ ["return", "mvp:return"],
144
+ ["security.check_password", "mvp:check_pass"],
145
+ ["security.create_auth_token", "mvp:create_auth"],
146
+ ["security.create_curve_key", "mvp:crypto_create_ec_key"],
147
+ ["security.create_password", "mvp:generate_pass"],
148
+ ["security.create_rsa_key", "mvp:crypto_create_rsa_key"],
149
+ ["security.create_secret_key", "mvp:crypto_create_octet_key"],
150
+ ["security.create_uuid", "mvp:uuid4"],
151
+ ["security.decrypt", "mvp:crypto_decrypt"],
152
+ ["security.encrypt", "mvp:crypto_encrypt"],
153
+ // Only the LATEST of each versioned crypto family is authorable. The earlier
154
+ // spellings still run and still appear in pulled workspaces, but each version
155
+ // was a breaking change to the one before it, so offering them would invite
156
+ // authoring against a retired contract. They are listed in
157
+ // {@link SUPERSEDED_STATEMENTS} and carried through `raw()` instead — which
158
+ // also keeps them out of the agent-grounding manifest, since that is built
159
+ // from this catalog.
160
+ ["security.jwe_decode", "mvp:crypto_jwe_decode2"],
161
+ ["security.jwe_encode", "mvp:crypto_jwe_encode3"],
162
+ ["security.jws_decode", "mvp:crypto_jws_decode2"],
163
+ ["security.jws_encode", "mvp:crypto_jws_encode2"],
164
+ ["security.random_bytes", "mvp:random_bytes"],
165
+ ["security.random_number", "mvp:rand"],
166
+ ["stack|expect.to_be_defined", "mvp:test_expect_to_be_defined"],
167
+ ["stack|expect.to_be_empty", "mvp:test_expect_to_be_empty"],
168
+ ["stack|expect.to_be_false", "mvp:test_expect_to_be_false"],
169
+ ["stack|expect.to_be_greater_than", "mvp:test_expect_to_be_greater_than"],
170
+ ["stack|expect.to_be_in_the_future", "mvp:test_expect_to_be_in_the_future"],
171
+ ["stack|expect.to_be_in_the_past", "mvp:test_expect_to_be_in_the_past"],
172
+ ["stack|expect.to_be_less_than", "mvp:test_expect_to_be_less_than"],
173
+ ["stack|expect.to_be_null", "mvp:test_expect_to_be_null"],
174
+ ["stack|expect.to_be_true", "mvp:test_expect_to_be_true"],
175
+ ["stack|expect.to_be_within", "mvp:test_expect_to_be_within"],
176
+ ["stack|expect.to_contain", "mvp:test_expect_to_contain"],
177
+ ["stack|expect.to_end_with", "mvp:test_expect_to_end_with"],
178
+ ["stack|expect.to_equal", "mvp:test_expect_to_equal"],
179
+ ["stack|expect.to_match", "mvp:test_expect_to_match"],
180
+ ["stack|expect.to_not_be_defined", "mvp:test_expect_to_not_be_defined"],
181
+ ["stack|expect.to_not_be_null", "mvp:test_expect_to_not_be_null"],
182
+ ["stack|expect.to_not_equal", "mvp:test_expect_to_not_equal"],
183
+ ["stack|expect.to_start_with", "mvp:test_expect_to_start_with"],
184
+ ["stack|expect.to_throw", "mvp:test_expect_to_throw"],
185
+ ["storage.create_attachment", "mvp:create_attachment"],
186
+ ["storage.create_audio", "mvp:create_audio"],
187
+ ["storage.create_file_resource", "mvp:create_file_resource"],
188
+ ["storage.create_image", "mvp:create_image"],
189
+ ["storage.create_video", "mvp:create_video"],
190
+ ["storage.delete_file", "mvp:delete_file"],
191
+ ["storage.read_file_resource", "mvp:create_var_from_file_resource"],
192
+ ["storage.sign_private_url", "mvp:vault_sign_url"],
193
+ ["stream.from_csv", "mvp:csv_stream"],
194
+ ["stream.from_jsonl", "mvp:jsonl_stream"],
195
+ ["stream.from_request", "mvp:streaming_api_request"],
196
+ ["switch", "mvp:switch"],
197
+ ["task.call", "mvp:workspace_run_task"],
198
+ ["text.append", "mvp:text_append"],
199
+ ["text.contains", "mvp:text_contains"],
200
+ ["text.ends_with", "mvp:text_ends_with"],
201
+ ["text.icontains", "mvp:text_icontains"],
202
+ ["text.iends_with", "mvp:text_iends_with"],
203
+ ["text.istarts_with", "mvp:text_istarts_with"],
204
+ ["text.ltrim", "mvp:text_ltrim"],
205
+ ["text.prepend", "mvp:text_prepend"],
206
+ ["text.rtrim", "mvp:text_rtrim"],
207
+ ["text.starts_with", "mvp:text_starts_with"],
208
+ ["text.trim", "mvp:text_trim"],
209
+ ["throw", "mvp:throw_error"],
210
+ ["tool.call", "mvp:workspace_run_tool"],
211
+ ["trigger.call", "mvp:workspace_run_trigger"],
212
+ ["try_catch", "mvp:try_catch"],
213
+ ["util.geo_distance", "mvp:calculate_geo_distance"],
214
+ ["util.get_all_input", "mvp:get_all_input"],
215
+ ["util.get_env", "mvp:get_env"],
216
+ ["util.get_input", "mvp:get_input"],
217
+ ["util.get_raw_input", "mvp:get_input"],
218
+ ["util.get_vars", "mvp:get_vars"],
219
+ ["util.ip_lookup", "mvp:ipaddress_lookup"],
220
+ ["util.post_process", "mvp:post_process"],
221
+ ["util.send_email", "mvp:send_email"],
222
+ ["util.set_header", "mvp:setheader"],
223
+ ["util.sleep", "mvp:sleep"],
224
+ ["util.template_engine", "mvp:template_string"],
225
+ ["var.update", "mvp:update_var"],
226
+ ["var", "mvp:set_var"],
227
+ ["webflow.request", "mvp:connect_webflow_api_request"],
228
+ ["while", "mvp:while"],
229
+ ["workflow_test.call", "mvp:workspace_run_workflow_test"],
230
+ ["zip.add_to_archive", "mvp:zip_add_file_resource"],
231
+ ["zip.create_archive", "mvp:zip_create_file_resource"],
232
+ ["zip.delete_from_archive", "mvp:zip_delete_file_resource"],
233
+ ["zip.extract", "mvp:zip_extract_file_resource"],
234
+ ["zip.view_contents", "mvp:zip_view_contents"]
235
+ ];
236
+ var TOTAL_STATEMENTS = STATEMENT_SURFACES.length;
237
+ var IMPLEMENTED_STATEMENTS = STATEMENT_SURFACES.map(([key]) => key);
238
+ var SPATH_OVERRIDES = {
239
+ break: "foreach_break",
240
+ continue: "foreach_continue",
241
+ "foreach.remove": "foreach_remove",
242
+ "var.update": "update_var",
243
+ var: "set_var"
244
+ };
245
+ function sPathOf(surfaceKey) {
246
+ return SPATH_OVERRIDES[surfaceKey] ?? surfaceKey.replace(/^stack\|/, "");
247
+ }
248
+
249
+ export {
250
+ STATEMENT_SURFACES,
251
+ TOTAL_STATEMENTS,
252
+ IMPLEMENTED_STATEMENTS,
253
+ sPathOf
254
+ };
255
+ //# sourceMappingURL=chunk-Q7DGTQ5G.js.map