@xano/sdk 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -5
- package/README.md +56 -20
- package/dist/.build-fingerprint +1 -1
- package/dist/{agent-file-refresh-KVLR7M5Y.js → agent-file-refresh-DGGSRPJ4.js} +15 -14
- package/dist/agent-skill-command-37DFYS7Q.js +414 -0
- package/dist/{answer-shape-XGR2DGWY.js → answer-shape-RBFDCNZ7.js} +5 -5
- package/dist/{backend-dir-IE4RMUFH.js → backend-dir-KDD43X7K.js} +16 -15
- package/dist/{backend-slot-6HBWG5FN.js → backend-slot-TBOVZXDE.js} +4 -4
- package/dist/bin.js +63 -61
- package/dist/{branch-T2APKPVG.js → branch-7PIKNUD7.js} +12 -11
- package/dist/{branch-commands-HXXTCSOO.js → branch-commands-EGY7ZEZE.js} +32 -32
- package/dist/bundle.js +9 -39
- package/dist/{capture-HBXFXZEW.js → capture-GW5KNKMB.js} +3 -3
- package/dist/{chunk-3BJYQGAZ.js → chunk-26LHXLD3.js} +2 -2
- package/dist/{chunk-N6BWB35H.js → chunk-2ACWDSAQ.js} +3 -3
- package/dist/{chunk-XIABDKFQ.js → chunk-2SD4LA22.js} +2 -2
- package/dist/{chunk-K6PRKPFX.js → chunk-2XWVZRL6.js} +7 -7
- package/dist/{chunk-ES5A66IH.js → chunk-2YER2J47.js} +13 -13
- package/dist/{chunk-G57RYMKB.js → chunk-3FRGNBOC.js} +2 -2
- package/dist/{chunk-BMCZQZMI.js → chunk-46PATL23.js} +13 -9
- package/dist/{chunk-MYLPOVX6.js → chunk-47XT6WQL.js} +8 -8
- package/dist/{chunk-AWQ7BQTQ.js → chunk-4GPIOIAC.js} +6 -1
- package/dist/{chunk-7GX445AE.js → chunk-4XHAT7C5.js} +2 -2
- package/dist/{chunk-QOLOQ35F.js → chunk-567KK6XF.js} +8 -8
- package/dist/{chunk-57HMNJGB.js → chunk-5GIOCDUM.js} +893 -922
- package/dist/{chunk-OKNE3TWU.js → chunk-5KJBWIDZ.js} +83 -5
- package/dist/{chunk-SRX6B544.js → chunk-5QMJOE2K.js} +5 -5
- package/dist/{chunk-AGD7F7YI.js → chunk-5SCPRXFB.js} +4 -4
- package/dist/{chunk-SNGFEESM.js → chunk-5ZG7V2VW.js} +3 -3
- package/dist/{chunk-XJU6UAFV.js → chunk-7FIMUFBP.js} +2 -2
- package/dist/{chunk-AESE434J.js → chunk-7M6JP3FS.js} +2 -2
- package/dist/{chunk-K6CB5TKM.js → chunk-7REDHC4N.js} +2 -2
- package/dist/chunk-7VR4IO5B.js +44 -0
- package/dist/{chunk-57B56I4B.js → chunk-7XXWKTCE.js} +65 -41
- package/dist/{chunk-PL7AIAWS.js → chunk-A4R5CAY4.js} +4 -111
- package/dist/{chunk-QZTJ2556.js → chunk-AKERAUNH.js} +4 -4
- package/dist/{chunk-JZWUAEMO.js → chunk-ARWMVNDJ.js} +6 -3
- package/dist/{chunk-WYS6XVZ3.js → chunk-AVS4WPPY.js} +2 -2
- package/dist/{chunk-KUU7T4ZE.js → chunk-B2URJBC4.js} +18 -18
- package/dist/chunk-B3P25SDP.js +78 -0
- package/dist/chunk-BRANWM4U.js +853 -0
- package/dist/{chunk-BBPAXOU6.js → chunk-BSVQEKHO.js} +6 -6
- package/dist/{chunk-3WHWOKU4.js → chunk-BZ6WTG3E.js} +4 -4
- package/dist/{chunk-XNZURZ7T.js → chunk-CH23ONYG.js} +77 -6
- package/dist/{chunk-SQPIECXD.js → chunk-CJDPSCMX.js} +45 -5
- package/dist/{chunk-M7GJ6YUF.js → chunk-CNZASQPL.js} +16 -2
- package/dist/{chunk-44CWK6YC.js → chunk-CPN6WSBH.js} +4 -4
- package/dist/{chunk-L3BDO2BI.js → chunk-CT3J5JRZ.js} +7 -7
- package/dist/{chunk-3HOGFGKG.js → chunk-D3KEPRRN.js} +2 -2
- package/dist/{chunk-OGUMHW2X.js → chunk-D5OZRJ3T.js} +7 -7
- package/dist/{chunk-S5KQIFKJ.js → chunk-DG3APBUJ.js} +208 -112
- package/dist/chunk-DIWF7L33.js +995 -0
- package/dist/{chunk-WRBKLYSJ.js → chunk-DNBP4GJN.js} +4 -3
- package/dist/{chunk-LZDA6SVD.js → chunk-DXZTL7NA.js} +141 -91
- package/dist/{chunk-XMDDBEEM.js → chunk-E763QI3G.js} +2 -2
- package/dist/{chunk-3VX7VAQT.js → chunk-EF4MHLEW.js} +26 -9
- package/dist/{chunk-AGSCOISO.js → chunk-ELPQTDW6.js} +108 -100
- package/dist/{chunk-Q22BMRPF.js → chunk-EPFDY5JU.js} +2 -2
- package/dist/{chunk-7DBM6XHR.js → chunk-EU32BC5B.js} +8 -8
- package/dist/{chunk-Y76ERHLK.js → chunk-FDTET7FZ.js} +6 -6
- package/dist/{chunk-Z3SNX45M.js → chunk-FENA7K7C.js} +3 -3
- package/dist/{chunk-WOGJB2F6.js → chunk-FNLTFOUD.js} +4 -9
- package/dist/{chunk-FV55SRQU.js → chunk-FQ53GTII.js} +9 -9
- package/dist/{chunk-DEVGLLNZ.js → chunk-GHMLRFRX.js} +8 -8
- package/dist/{chunk-GMVW6ZZK.js → chunk-H2K4GFUS.js} +4 -4
- package/dist/{chunk-NUU76247.js → chunk-HTQWAQRW.js} +3 -3
- package/dist/{chunk-ROY4YAEQ.js → chunk-HU7F56VF.js} +22 -2
- package/dist/{chunk-RXCT3OCU.js → chunk-HZ6ADG3O.js} +47 -8
- package/dist/{chunk-Z2BRSQ6M.js → chunk-I6XRUU6U.js} +91 -64
- package/dist/chunk-IPNN2KRW.js +257 -0
- package/dist/{chunk-SF2B7MZK.js → chunk-IYXL5NYU.js} +259 -31
- package/dist/chunk-JI3BLXWQ.js +107 -0
- package/dist/{chunk-4DJTQ6W4.js → chunk-JIKGT7DO.js} +2 -1
- package/dist/{chunk-OVV2HXJ6.js → chunk-JOOKM7AH.js} +2 -2
- package/dist/{chunk-65SW2BA5.js → chunk-JOWY6HFL.js} +3 -3
- package/dist/{chunk-I5VEROXW.js → chunk-JX6N73H3.js} +2 -2
- package/dist/{chunk-5D6DGF3W.js → chunk-L472YIGG.js} +8 -8
- package/dist/{chunk-HLQH3AXB.js → chunk-L6HZ67P6.js} +2 -2
- package/dist/{chunk-TM5LRSBB.js → chunk-LBJA7IEM.js} +370 -45
- package/dist/chunk-LCOCRJ4K.js +116 -0
- package/dist/{chunk-DGWHAVRG.js → chunk-LJM5CIY4.js} +16 -1
- package/dist/{chunk-5RLAF6RL.js → chunk-M2C54ZBC.js} +4 -4
- package/dist/{chunk-U6DR6464.js → chunk-M3NEK3LT.js} +4 -4
- package/dist/{chunk-5XVBT6CQ.js → chunk-MBL7CXJ7.js} +2 -2
- package/dist/{chunk-5YBNXNKU.js → chunk-MFWF2NZJ.js} +12 -5
- package/dist/{chunk-TEBS7FE6.js → chunk-MYZRMSPM.js} +2 -2
- package/dist/{chunk-YSLMMR2U.js → chunk-N3YFCFCO.js} +14 -14
- package/dist/{chunk-OJPZEUPH.js → chunk-NDJAKSE7.js} +11 -8
- package/dist/{chunk-PIPIA7K7.js → chunk-NV37YGOV.js} +7 -7
- package/dist/{chunk-ZHGWR45B.js → chunk-O56DQKPL.js} +9 -9
- package/dist/{chunk-4QBGE3EO.js → chunk-ORGNLQN6.js} +6 -6
- package/dist/{chunk-NNB7VUCH.js → chunk-PEIBGH2V.js} +55 -31
- package/dist/{chunk-UJ6ZZJDD.js → chunk-PEX4QZVI.js} +2 -2
- package/dist/{chunk-LLS2WO2K.js → chunk-PV25BDCH.js} +5 -5
- package/dist/{chunk-F3557PVM.js → chunk-PY722CHR.js} +2 -2
- package/dist/{chunk-4GDEEY2U.js → chunk-QGIZLFAS.js} +4 -4
- package/dist/{chunk-YI76TURL.js → chunk-QRQ54LUI.js} +16 -14
- package/dist/{chunk-JQOX6HW4.js → chunk-RBU2YX22.js} +3 -3
- package/dist/{chunk-4NEBBKOP.js → chunk-RRMH7WMY.js} +7 -7
- package/dist/{chunk-HOOOOJJP.js → chunk-S46ODQRA.js} +2 -2
- package/dist/{chunk-37FBPMNE.js → chunk-S56YBYMN.js} +5 -2
- package/dist/{chunk-4QFBEKXI.js → chunk-SDGV76HF.js} +2 -2
- package/dist/{chunk-CV54PASI.js → chunk-SGK3PTTM.js} +312 -132
- package/dist/{chunk-S5TEJIGP.js → chunk-SKEG3V2V.js} +2 -2
- package/dist/{chunk-VZ22VUAS.js → chunk-SLGJIWCY.js} +3 -3
- package/dist/{chunk-JSEVKRVJ.js → chunk-T4LJ5UR2.js} +29 -7
- package/dist/{chunk-JXKO6JT7.js → chunk-TWVUYS63.js} +24 -24
- package/dist/{chunk-UIEFE6FU.js → chunk-U5M7T6CI.js} +7 -7
- package/dist/{chunk-Z4VN347O.js → chunk-UYFUIHH3.js} +2 -2
- package/dist/{chunk-Y6NO3DLQ.js → chunk-V7MBRUK6.js} +3 -3
- package/dist/chunk-VAGSKUWC.js +67 -0
- package/dist/{chunk-A4NNCI4O.js → chunk-VIJ5D3RC.js} +3 -3
- package/dist/{chunk-3IYVHVM6.js → chunk-VJFMUJWZ.js} +4 -4
- package/dist/{chunk-V4IBHDIY.js → chunk-VNDR2T35.js} +7 -7
- package/dist/chunk-WAVNUTMT.js +9 -0
- package/dist/{chunk-KQLACS4Q.js → chunk-WNCW2RNB.js} +4 -4
- package/dist/chunk-WUEPP5HD.js +111 -0
- package/dist/{chunk-IV446ZLJ.js → chunk-Y453TW6J.js} +2 -2
- package/dist/{local-engine-command-73NHWD6V.js → chunk-YCUDOF6Q.js} +22 -76
- package/dist/{chunk-CJ76PSJT.js → chunk-YH2JVJAO.js} +12 -12
- package/dist/{chunk-GPI3OWRE.js → chunk-YHB34BN6.js} +2 -1
- package/dist/{chunk-AMBEITWL.js → chunk-ZGLNHA7T.js} +7 -7
- package/dist/{chunk-NGAODDLX.js → chunk-ZJOAWRED.js} +8 -8
- package/dist/{chunk-TUEFTRC2.js → chunk-ZXRDD3Q2.js} +50 -27
- package/dist/cli.d.ts +40 -11
- package/dist/cli.js +60 -56
- package/dist/{codegen-command-L2OO6OTE.js → codegen-command-T7TC7PQO.js} +79 -72
- package/dist/codegen.d.ts +2 -2
- package/dist/codegen.js +2 -2
- package/dist/{commands-2E4JB3DB.js → commands-JDENTDJS.js} +3 -3
- package/dist/{completion-LPJIH5VQ.js → completion-YFD5OVJW.js} +9 -5
- package/dist/{config-QDCRKEWD.js → config-YJFUTRJW.js} +8 -8
- package/dist/{deploy-command-HJZNYCUY.js → deploy-command-OEVEE6UG.js} +65 -63
- package/dist/deploy-source-HYVZEYXV.js +83 -0
- package/dist/{dev-env-sync-GZ4QQJGV.js → dev-env-sync-EFDCJ6KU.js} +63 -61
- package/dist/{diagnostics-LSMGB4TY.js → diagnostics-OMN5Y2AH.js} +2 -2
- package/dist/{display-name-hint-AHCNH6TF.js → display-name-hint-SW3GB3V7.js} +14 -13
- package/dist/{emit-DqG6qddr.d.ts → emit-Dov_92kn.d.ts} +66 -20
- package/dist/env-example-refresh-WNSOH534.js +134 -0
- package/dist/{env-pull-command-Z4RLVEGJ.js → env-pull-command-UYEXMQ3P.js} +53 -52
- package/dist/{env-target-ZHQUS5BO.js → env-target-JBSLBKNX.js} +15 -14
- package/dist/{env-var-command-FKQ4VVQ6.js → env-var-command-BJNRAXNV.js} +51 -49
- package/dist/{ephemeral-L4KUOGEU.js → ephemeral-CEOGMIEA.js} +11 -10
- package/dist/{ephemeral-command-GRPFI3TD.js → ephemeral-command-IPSGBCS5.js} +70 -69
- package/dist/{ephemeral-state-VLYU2BXR.js → ephemeral-state-MTBASPRS.js} +13 -12
- package/dist/{generate-command-XNODJFDQ.js → generate-command-XQXODBS6.js} +96 -86
- package/dist/{gitignore-VWRSZX5F.js → gitignore-RUVCIZO4.js} +21 -20
- package/dist/{guards-OPSGB6LG.js → guards-KYEOCVHN.js} +6 -6
- package/dist/{impersonate-command-AEKIZHHK.js → impersonate-command-MA27O7S5.js} +46 -44
- package/dist/{import-PHSSFFLA.js → import-XKRFHABE.js} +5 -5
- package/dist/index.d.ts +14 -20
- package/dist/index.js +13 -13
- package/dist/init-command-6RDTCMAB.js +143 -0
- package/dist/{init-modules-SGSX7XEY.js → init-modules-DHTBOCQT.js} +10 -9
- package/dist/{init-web-6HX3YLQP.js → init-web-ELBXSXDL.js} +3 -3
- package/dist/internal.d.ts +5 -5
- package/dist/internal.js +47 -20
- package/dist/{io-TAF4WXYQ.js → io-PGTCBSIQ.js} +6 -4
- package/dist/{keep-data-merge-GUGF7MVZ.js → keep-data-merge-TDJOIAVT.js} +33 -34
- package/dist/{lambda-config-reconcile-65U6I4KU.js → lambda-config-reconcile-47X5C2E4.js} +6 -5
- package/dist/{landed-QA6PRTV2.js → landed-F7PCHGCK.js} +3 -3
- package/dist/{landing-record-FCAWLCZU.js → landing-record-TPPYFQAS.js} +26 -25
- package/dist/{live-diff-IM4W3ELT.js → live-diff-5E2BQWQ7.js} +9 -8
- package/dist/local-engine-choice-S6VHPJRU.js +81 -0
- package/dist/local-engine-command-4EZCGZ6M.js +85 -0
- package/dist/{local-engine-config-W3KB7RWM.js → local-engine-config-2EBL3QKA.js} +3 -2
- package/dist/{local-engine-deploy-Y4OAWL7K.js → local-engine-deploy-FOPNWU7X.js} +18 -16
- package/dist/local-engine-lookup-GM3E3NPP.js +43 -0
- package/dist/local-engine-mcp-bridge-QKZHUGW3.js +423 -0
- package/dist/local-engine-mcp-command-BFQVLXZC.js +181 -0
- package/dist/{local-engine-process-6YPJHKYM.js → local-engine-process-XUQPQENQ.js} +12 -9
- package/dist/{local-engine-state-OCW5YDD7.js → local-engine-state-JQPKGB65.js} +4 -3
- package/dist/{local-engine-update-check-X7TZGRFL.js → local-engine-update-check-S7UF6ZF5.js} +7 -6
- package/dist/{lock-WXXC3QHL.js → lock-HDCHD2ON.js} +4 -2
- package/dist/{lock-commands-PKDBNRSD.js → lock-commands-HJ6Y5QVS.js} +66 -64
- package/dist/{login-command-V4U4FA5G.js → login-command-JO55NZAS.js} +34 -33
- package/dist/{logout-command-TV3P545Z.js → logout-command-MPRIRSJA.js} +18 -17
- package/dist/{loop-VKHGQ6MP.js → loop-SUB6C2LK.js} +8 -9
- package/dist/{marketplace-command-LEFOAEAV.js → marketplace-command-BM6G257N.js} +90 -54
- package/dist/{marketplace-resolve-ME7O7JBJ.js → marketplace-resolve-AWH3RG57.js} +7 -6
- package/dist/{meta-client-TEEECA5W.js → meta-client-AOSWODQQ.js} +16 -15
- package/dist/{module-manifest-7YLGIRCY.js → module-manifest-GXI46PEF.js} +7 -4
- package/dist/node.d.ts +5 -5
- package/dist/node.js +68 -67
- package/dist/operation-outcome-4UKPXTNC.js +53 -0
- package/dist/{output-target-5FWX3NGZ.js → output-target-RAZ4KN5J.js} +22 -21
- package/dist/{package-manager-PRAHUSCN.js → package-manager-K762W7XT.js} +2 -2
- package/dist/{plan-disclosure-QGL5UYQR.js → plan-disclosure-JR52DWXN.js} +21 -21
- package/dist/{plugin-contributions-GNFTWDEB.js → plugin-contributions-E6XHLQWK.js} +6 -6
- package/dist/{plugin-prompt-VEQGMZ4T.js → plugin-prompt-IODX5EU6.js} +5 -5
- package/dist/{plugin-questions-BGRL23GO.js → plugin-questions-AAAJ7POP.js} +4 -4
- package/dist/plugin.d.ts +254 -10
- package/dist/{preflight-command-VKJKXRRI.js → preflight-command-7GKJBWOQ.js} +71 -70
- package/dist/{profile-command-P7A3BH26.js → profile-command-CM6J7E2M.js} +35 -34
- package/dist/{profile-pointer-HG7IXE4I.js → profile-pointer-KTYXL6FU.js} +5 -4
- package/dist/{project-dependency-Z4CKOCJI.js → project-dependency-OQ5575QQ.js} +11 -8
- package/dist/{project-sdk-JWZWGXXR.js → project-sdk-2ESHHZVL.js} +4 -4
- package/dist/promote-command-BDRPG6UU.js +147 -0
- package/dist/{prompt-SURZOUUW.js → prompt-MQPGU4ZI.js} +4 -4
- package/dist/{publish-command-HGAB3H4A.js → publish-command-IEMYZ7LF.js} +69 -67
- package/dist/pull-command-S5E2ABZ4.js +169 -0
- package/dist/{pull-superseded-TOT5S4QU.js → pull-superseded-E34BZVLH.js} +4 -4
- package/dist/{raw-where-EoWl5fqY.d.ts → raw-where-ZMLND6AG.d.ts} +20 -3
- package/dist/release-command-7F5TBKO2.js +151 -0
- package/dist/{release-ns-command-WOQE2BDQ.js → release-ns-command-EK2ZQ4CC.js} +101 -100
- package/dist/{retry-command-JRGMZZAC.js → retry-command-GL5HCMVB.js} +10 -9
- package/dist/{routes-manifest-URFMAWJE.js → routes-manifest-YR4ZIMLM.js} +15 -7
- package/dist/routes-manifest-file-LCIKPDAG.js +41 -0
- package/dist/scaffold.js +4 -4
- package/dist/secrets-IV4N5HYI.js +20 -0
- package/dist/{secrets-file-YWZWVJ52.js → secrets-file-LXREYU3M.js} +21 -20
- package/dist/{secrets-fill-command-HIHK3VH2.js → secrets-fill-command-QHZS3KWM.js} +64 -62
- package/dist/{seed-24DTEY5S.js → seed-FRKMDN2Z.js} +9 -9
- package/dist/{source-resolve-OWD3MIEO.js → source-resolve-BBHYTOXI.js} +26 -24
- package/dist/{static-host-UIR2OLPQ.js → static-host-7LC7OZR4.js} +5 -5
- package/dist/{status-command-JKTHH5QE.js → status-command-TY253MJT.js} +54 -52
- package/dist/{store-zxw2go0f.d.ts → store-Boba9OOh.d.ts} +2 -2
- package/dist/{store-5YAQS6KU.js → store-VJ3OS6VO.js} +8 -7
- package/dist/sync-baseline-DOV5AGIO.js +36 -0
- package/dist/{sync-contributions-RBB6JVOL.js → sync-contributions-63542VE4.js} +20 -12
- package/dist/sync-record-RGHK7EAL.js +43 -0
- package/dist/{table-MQFVYA4K.js → table-OAYGFGEN.js} +8 -8
- package/dist/{tables-command-5Q4BSUNO.js → tables-command-PZIVDAH3.js} +45 -43
- package/dist/{tenant-Q3LPVSSM.js → tenant-Y3II4VY3.js} +12 -11
- package/dist/{tenant-command-BFVU2PEX.js → tenant-command-G6XON7CF.js} +113 -107
- package/dist/{test-command-F4VUU4QR.js → test-command-3FZOX7O3.js} +44 -42
- package/dist/{tests-5ZSDFVIJ.js → tests-KF6N6BZ7.js} +6 -6
- package/dist/{token-TERSTNU4.js → token-DJJUW5HY.js} +14 -13
- package/dist/toolchain-hooks-7PWCFLSU.js +46 -0
- package/dist/{toolchain-modules-FD5ANV2U.js → toolchain-modules-OTNSKK52.js} +8 -5
- package/dist/toolchain-peers-KQ7TQ2AR.js +28 -0
- package/dist/tracked-backend-AJCGTO5Y.js +82 -0
- package/dist/{update-check-O4C2LCZH.js → update-check-4E5L6GAW.js} +61 -59
- package/dist/{upgrade-command-NVFWLMTA.js → upgrade-command-BXMSQN4C.js} +68 -64
- package/dist/{whoami-command-YKNTISIV.js → whoami-command-NLCCIEUM.js} +17 -16
- package/dist/{workspace-GGVGE2S5.js → workspace-PNMJOXE4.js} +5 -5
- package/dist/{workspace-binding-OS4ZOX4S.js → workspace-binding-J5GWDFRI.js} +16 -15
- package/dist/{workspace-command-GTUNVN7K.js → workspace-command-MHIIY352.js} +125 -93
- package/dist/{workspace-env-467C5KHM.js → workspace-env-LLRWCHSA.js} +17 -16
- package/dist/{workspace-export-3XTVGQVM.js → workspace-export-BIKAYHWJ.js} +5 -5
- package/dist/{writable-7SSWUQJ3.js → writable-UOTO4WWC.js} +4 -4
- package/dist/{xano-6RS5XQZE.js → xano-LCI7VWPS.js} +8 -8
- package/dist/{xanosdk-import-E3WSIYUE.js → xanosdk-import-S7A3CVBN.js} +8 -8
- package/dist/{xanosdk-project-KH5TZ2KI.js → xanosdk-project-J4VCFRHP.js} +18 -17
- package/guides/README.md +2 -2
- package/guides/cli.md +73 -4
- package/guides/codegen.md +23 -5
- package/guides/codes.md +8 -2
- package/guides/coverage.md +5 -0
- package/guides/deploying.md +80 -0
- package/guides/marketplace.md +21 -0
- package/guides/module-contract.md +80 -4
- package/guides/scaffold.md +61 -10
- package/guides/typed-frontend.md +37 -0
- package/llms/client.md +11 -1
- package/llms/filters.md +4 -0
- package/llms/kinds-core.md +1 -1
- package/llms/statements-data.md +3 -2
- package/llms/toolchain.md +12 -0
- package/llms-full.txt +34 -7
- package/llms.txt +3 -3
- package/manifest.json +63 -5
- package/package.json +5 -2
- package/skills/xano-backend/SKILL.md +119 -0
- package/dist/chunk-F6IKWAIU.js +0 -664
- package/dist/chunk-M6ZFSTIZ.js +0 -630
- package/dist/chunk-MEIJDRHU.js +0 -243
- package/dist/deploy-source-5COWTBOC.js +0 -81
- package/dist/env-example-refresh-DWQIOQYR.js +0 -127
- package/dist/init-command-TI3HCKXZ.js +0 -126
- package/dist/local-engine-choice-FPJAZSSD.js +0 -79
- package/dist/operation-outcome-GNDD35WL.js +0 -51
- package/dist/promote-command-KHTIK44I.js +0 -141
- package/dist/pull-command-EUEWBRXZ.js +0 -162
- package/dist/release-command-WOVQAMUY.js +0 -147
- package/dist/toolchain-hooks-QVUZ6HZ4.js +0 -96
- package/dist/tracked-backend-B4HTME4S.js +0 -80
|
@@ -201,8 +201,9 @@ function removeArgs(manager, pkg) {
|
|
|
201
201
|
return [manager === "npm" ? "uninstall" : "remove", pkg];
|
|
202
202
|
}
|
|
203
203
|
function addArgs(manager, spec, dev = false) {
|
|
204
|
-
|
|
205
|
-
return ["
|
|
204
|
+
const specs = typeof spec === "string" ? [spec] : [...spec];
|
|
205
|
+
if (manager === "npm") return ["install", ...specs, ...dev ? ["--save-dev"] : []];
|
|
206
|
+
return ["add", ...specs, ...dev ? [manager === "pnpm" ? "--save-dev" : "--dev"] : []];
|
|
206
207
|
}
|
|
207
208
|
|
|
208
209
|
export {
|
|
@@ -221,4 +222,4 @@ export {
|
|
|
221
222
|
removeArgs,
|
|
222
223
|
addArgs
|
|
223
224
|
};
|
|
224
|
-
//# sourceMappingURL=chunk-
|
|
225
|
+
//# sourceMappingURL=chunk-DNBP4GJN.js.map
|
|
@@ -1,23 +1,41 @@
|
|
|
1
1
|
import {
|
|
2
|
+
backendShellFiles,
|
|
3
|
+
deployNextCommand,
|
|
4
|
+
ephemeralNextStep,
|
|
2
5
|
loginNextStep,
|
|
3
6
|
planProfilePin,
|
|
4
7
|
projectCli,
|
|
5
8
|
projectShellFiles,
|
|
9
|
+
refuseFrontendOnlyFlags,
|
|
6
10
|
reportWorkflowPlacement,
|
|
11
|
+
resolveFrameworkValue,
|
|
7
12
|
resolveFrontendPreset,
|
|
13
|
+
resolveInitFrontend,
|
|
8
14
|
resolveThemeChoice,
|
|
15
|
+
runFiles,
|
|
9
16
|
sanitizeAppName,
|
|
17
|
+
settleClashes,
|
|
10
18
|
templateVarsFor
|
|
11
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-SGK3PTTM.js";
|
|
20
|
+
import {
|
|
21
|
+
renderManifestFile,
|
|
22
|
+
reportModuleFailures
|
|
23
|
+
} from "./chunk-B3P25SDP.js";
|
|
12
24
|
import {
|
|
13
25
|
ROUTES_MANIFEST_BASENAME,
|
|
14
26
|
RouteManifestError,
|
|
15
|
-
planRouteManifest
|
|
16
|
-
|
|
17
|
-
|
|
27
|
+
planRouteManifest
|
|
28
|
+
} from "./chunk-LBJA7IEM.js";
|
|
29
|
+
import {
|
|
30
|
+
syncDigests
|
|
31
|
+
} from "./chunk-JI3BLXWQ.js";
|
|
32
|
+
import {
|
|
33
|
+
archiveSeedContent,
|
|
34
|
+
fetchSourceArchive
|
|
35
|
+
} from "./chunk-NV37YGOV.js";
|
|
18
36
|
import {
|
|
19
37
|
confirm
|
|
20
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-7M6JP3FS.js";
|
|
21
39
|
import {
|
|
22
40
|
CODEGEN_MODULE,
|
|
23
41
|
DecodeContext,
|
|
@@ -53,25 +71,25 @@ import {
|
|
|
53
71
|
spread,
|
|
54
72
|
untypedKey,
|
|
55
73
|
withDeclineContext
|
|
56
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-FNLTFOUD.js";
|
|
57
75
|
import {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
} from "./chunk-
|
|
76
|
+
recordSync,
|
|
77
|
+
syncBranchLabel
|
|
78
|
+
} from "./chunk-VAGSKUWC.js";
|
|
61
79
|
import {
|
|
62
80
|
assertBranchReadSupported,
|
|
63
81
|
exportWorkspaceBundle
|
|
64
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-2SD4LA22.js";
|
|
65
83
|
import {
|
|
66
84
|
decodeWorkspaceArchive
|
|
67
85
|
} from "./chunk-3DRXWLJ5.js";
|
|
68
86
|
import {
|
|
69
87
|
listBranches,
|
|
70
88
|
requireBranch
|
|
71
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-M2C54ZBC.js";
|
|
72
90
|
import {
|
|
73
91
|
detectInstallMode
|
|
74
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-GHMLRFRX.js";
|
|
75
93
|
import {
|
|
76
94
|
UNSUPPORTED_SECTIONS,
|
|
77
95
|
decodedCounts,
|
|
@@ -82,48 +100,54 @@ import {
|
|
|
82
100
|
sectionOmission,
|
|
83
101
|
subtractDefaults,
|
|
84
102
|
workspaceKeyOmission
|
|
85
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-IYXL5NYU.js";
|
|
86
104
|
import {
|
|
87
105
|
ensureWorkspaceEnvGitignored,
|
|
88
106
|
requireSecretPathGitignored
|
|
89
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-BZ6WTG3E.js";
|
|
90
108
|
import {
|
|
91
109
|
loadDefault,
|
|
92
110
|
readVersion,
|
|
93
111
|
resolveKnowledge
|
|
94
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-DG3APBUJ.js";
|
|
95
113
|
import {
|
|
96
114
|
WORKSPACE_ENV_BASENAME,
|
|
97
115
|
WORKSPACE_ENV_EXAMPLE_BASENAME,
|
|
98
116
|
renderWorkspaceEnvExample,
|
|
99
117
|
renderWorkspaceEnvFile,
|
|
100
118
|
valueProblem
|
|
101
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-PV25BDCH.js";
|
|
102
120
|
import {
|
|
103
121
|
memoCredential,
|
|
104
122
|
refuseProfileForLocal
|
|
105
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-B2URJBC4.js";
|
|
106
124
|
import {
|
|
107
125
|
getAccessToken
|
|
108
|
-
} from "./chunk-
|
|
126
|
+
} from "./chunk-YH2JVJAO.js";
|
|
109
127
|
import {
|
|
110
128
|
getEngineRecord
|
|
111
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-EPFDY5JU.js";
|
|
130
|
+
import {
|
|
131
|
+
readLockFile,
|
|
132
|
+
writeLockFile
|
|
133
|
+
} from "./chunk-CJDPSCMX.js";
|
|
112
134
|
import {
|
|
113
135
|
requireBackendSlot
|
|
114
|
-
} from "./chunk-
|
|
136
|
+
} from "./chunk-PY722CHR.js";
|
|
115
137
|
import {
|
|
116
138
|
SECRETS_FILE_VERSION,
|
|
117
139
|
workspaceSecretsPathIn,
|
|
118
140
|
writeSecretsFile
|
|
119
|
-
} from "./chunk-
|
|
141
|
+
} from "./chunk-ZGLNHA7T.js";
|
|
120
142
|
import {
|
|
121
143
|
yesRerun
|
|
122
|
-
} from "./chunk-
|
|
144
|
+
} from "./chunk-UYFUIHH3.js";
|
|
123
145
|
import {
|
|
124
146
|
contextFlags
|
|
125
|
-
} from "./chunk-
|
|
147
|
+
} from "./chunk-3FRGNBOC.js";
|
|
126
148
|
import {
|
|
149
|
+
CODEGEN_MARKER,
|
|
150
|
+
MERGED_IN_EXISTING,
|
|
127
151
|
PRESERVED_ON_REFRESH,
|
|
128
152
|
SHELL_FILES_IN_BACKEND,
|
|
129
153
|
XANO_DIR,
|
|
@@ -137,37 +161,38 @@ import {
|
|
|
137
161
|
plannedAgentsMd,
|
|
138
162
|
readDecodeRecord,
|
|
139
163
|
scaffoldProject
|
|
140
|
-
} from "./chunk-
|
|
164
|
+
} from "./chunk-DIWF7L33.js";
|
|
141
165
|
import {
|
|
142
166
|
shellWord
|
|
143
167
|
} from "./chunk-FWD7AL6N.js";
|
|
144
168
|
import {
|
|
145
169
|
seedRowsByTableGuid
|
|
146
|
-
} from "./chunk-
|
|
170
|
+
} from "./chunk-FDTET7FZ.js";
|
|
147
171
|
import {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
} from "./chunk-
|
|
172
|
+
detectPackageManager,
|
|
173
|
+
installCommandFor
|
|
174
|
+
} from "./chunk-DNBP4GJN.js";
|
|
151
175
|
import {
|
|
152
176
|
readInstalledManifest
|
|
153
|
-
} from "./chunk-
|
|
177
|
+
} from "./chunk-CNZASQPL.js";
|
|
154
178
|
import {
|
|
155
179
|
atomicWrite
|
|
156
180
|
} from "./chunk-LLNZGEFK.js";
|
|
157
181
|
import {
|
|
158
182
|
TEST_EXPECT_TYPES,
|
|
159
183
|
respond
|
|
160
|
-
} from "./chunk-
|
|
184
|
+
} from "./chunk-SKEG3V2V.js";
|
|
161
185
|
import {
|
|
162
186
|
codegen_entry_exports,
|
|
163
187
|
raw
|
|
164
|
-
} from "./chunk-
|
|
188
|
+
} from "./chunk-E763QI3G.js";
|
|
165
189
|
import {
|
|
190
|
+
BACKEND_TSCONFIG_PATH,
|
|
166
191
|
codegenLanding,
|
|
167
192
|
describeOrigin,
|
|
168
193
|
renderCodegenMarker,
|
|
169
194
|
renderCodegenReadme
|
|
170
|
-
} from "./chunk-
|
|
195
|
+
} from "./chunk-5GIOCDUM.js";
|
|
171
196
|
import {
|
|
172
197
|
SUPERSEDED_STATEMENTS,
|
|
173
198
|
supersededBy
|
|
@@ -188,7 +213,7 @@ import {
|
|
|
188
213
|
terminalText,
|
|
189
214
|
warn,
|
|
190
215
|
writeJson
|
|
191
|
-
} from "./chunk-
|
|
216
|
+
} from "./chunk-CH23ONYG.js";
|
|
192
217
|
import {
|
|
193
218
|
TOOL_ANNOTATION_WIRE,
|
|
194
219
|
agentTrigger,
|
|
@@ -202,11 +227,11 @@ import {
|
|
|
202
227
|
s,
|
|
203
228
|
tableTrigger,
|
|
204
229
|
workspaceTrigger
|
|
205
|
-
} from "./chunk-
|
|
230
|
+
} from "./chunk-FQ53GTII.js";
|
|
206
231
|
import {
|
|
207
232
|
parsePathParams,
|
|
208
233
|
unboundPathParams
|
|
209
|
-
} from "./chunk-
|
|
234
|
+
} from "./chunk-VJFMUJWZ.js";
|
|
210
235
|
import {
|
|
211
236
|
DEFAULT_DOCUMENTATION,
|
|
212
237
|
DEFAULT_PREFERENCES,
|
|
@@ -214,10 +239,10 @@ import {
|
|
|
214
239
|
} from "./chunk-6JAEMMZ7.js";
|
|
215
240
|
import {
|
|
216
241
|
MCP_OAUTH_ENV_REF
|
|
217
|
-
} from "./chunk-
|
|
242
|
+
} from "./chunk-5QMJOE2K.js";
|
|
218
243
|
import {
|
|
219
244
|
PAYLOAD_ARRAY_KEYS
|
|
220
|
-
} from "./chunk-
|
|
245
|
+
} from "./chunk-7FIMUFBP.js";
|
|
221
246
|
import {
|
|
222
247
|
CORS_UNMATCHABLE,
|
|
223
248
|
DECODE_ONLY_STATEMENTS,
|
|
@@ -241,7 +266,7 @@ import {
|
|
|
241
266
|
searchConstrainsRows,
|
|
242
267
|
specLabel,
|
|
243
268
|
unmatchableOrigins
|
|
244
|
-
} from "./chunk-
|
|
269
|
+
} from "./chunk-T4LJ5UR2.js";
|
|
245
270
|
import {
|
|
246
271
|
WORKSPACE_HISTORY_TYPES
|
|
247
272
|
} from "./chunk-ETAZIGNT.js";
|
|
@@ -256,7 +281,7 @@ import {
|
|
|
256
281
|
isRuntimeConditionOp,
|
|
257
282
|
isSearchOp,
|
|
258
283
|
unusableColumns
|
|
259
|
-
} from "./chunk-
|
|
284
|
+
} from "./chunk-SLGJIWCY.js";
|
|
260
285
|
import {
|
|
261
286
|
AUTHOR_KIND_NAME
|
|
262
287
|
} from "./chunk-VTMTIBKP.js";
|
|
@@ -271,7 +296,7 @@ import {
|
|
|
271
296
|
DiagnosticBag,
|
|
272
297
|
allowableWarnings,
|
|
273
298
|
setDiagnosticSink
|
|
274
|
-
} from "./chunk-
|
|
299
|
+
} from "./chunk-YHB34BN6.js";
|
|
275
300
|
import {
|
|
276
301
|
CANONICAL_PAYLOAD_KEYS,
|
|
277
302
|
adoptFromBundle,
|
|
@@ -281,7 +306,7 @@ import {
|
|
|
281
306
|
mergeObserved,
|
|
282
307
|
sdkKindName,
|
|
283
308
|
withObjects
|
|
284
|
-
} from "./chunk-
|
|
309
|
+
} from "./chunk-5KJBWIDZ.js";
|
|
285
310
|
import {
|
|
286
311
|
shellQuote
|
|
287
312
|
} from "./chunk-5ZSO4T2G.js";
|
|
@@ -305,14 +330,14 @@ import {
|
|
|
305
330
|
normalize,
|
|
306
331
|
retiredInputSuccessor,
|
|
307
332
|
retiredInputs
|
|
308
|
-
} from "./chunk-
|
|
333
|
+
} from "./chunk-D3KEPRRN.js";
|
|
309
334
|
import {
|
|
310
335
|
STATEMENT_SURFACES,
|
|
311
336
|
sPathOf
|
|
312
337
|
} from "./chunk-Q7DGTQ5G.js";
|
|
313
338
|
import {
|
|
314
339
|
impliedInputs
|
|
315
|
-
} from "./chunk-
|
|
340
|
+
} from "./chunk-4XHAT7C5.js";
|
|
316
341
|
import {
|
|
317
342
|
LAMBDA_STATEMENTS,
|
|
318
343
|
collectLambdaBodyProblems,
|
|
@@ -325,7 +350,7 @@ import {
|
|
|
325
350
|
} from "./chunk-4BW2SG2N.js";
|
|
326
351
|
import {
|
|
327
352
|
INPUT_CONTEXT
|
|
328
|
-
} from "./chunk-
|
|
353
|
+
} from "./chunk-JIKGT7DO.js";
|
|
329
354
|
import {
|
|
330
355
|
isVarName
|
|
331
356
|
} from "./chunk-4MIV244X.js";
|
|
@@ -2360,14 +2385,7 @@ var dbIncrement = (a) => {
|
|
|
2360
2385
|
};
|
|
2361
2386
|
var dbTransaction = (a) => {
|
|
2362
2387
|
const body = a.decodeStack(getPath2(a.stored.context, "run"));
|
|
2363
|
-
|
|
2364
|
-
const runtime = { body: body.statements };
|
|
2365
|
-
const as = a.stored.as;
|
|
2366
|
-
if (typeof as === "string" && as !== "") {
|
|
2367
|
-
entries.push(["as", lit(as)]);
|
|
2368
|
-
runtime.as = as;
|
|
2369
|
-
}
|
|
2370
|
-
return prove(a.ctx, a.stored, "db.transaction", [runtime], [obj(entries)]);
|
|
2388
|
+
return prove(a.ctx, a.stored, "db.transaction", [{ body: body.statements }], [obj([["body", arr(body.exprs)]])]);
|
|
2371
2389
|
};
|
|
2372
2390
|
function decodeWhere(a, stored, site) {
|
|
2373
2391
|
const condition = decodeCondition(a.ctx, stored, { sqlWhere: true });
|
|
@@ -3706,9 +3724,10 @@ function documentationEntry(a, scope, defaulted) {
|
|
|
3706
3724
|
}
|
|
3707
3725
|
if (token !== "") {
|
|
3708
3726
|
const gated = block.require_token === true;
|
|
3727
|
+
const sidecar = `\`${a.ctx.secretsFile}\``;
|
|
3709
3728
|
a.ctx.problem(
|
|
3710
3729
|
"expected-omission",
|
|
3711
|
-
gated ? `${documentationScopeLabel(scope)} gates its documentation with a token, which is a SECRET and is not carried into the generated tree.
|
|
3730
|
+
gated ? `${documentationScopeLabel(scope)} gates its documentation with a token, which is a SECRET and is not carried into the generated tree. The source declares the gate. A decode writes the value to ${sidecar} (gitignored), and every command that builds a bundle reads it back, so a deploy restores the gate with no further step. A decode run with \`--no-secrets\` does not write it: supply it at deploy time with \`--doc-token\` or \`--secrets-file\`. Until the value is supplied, \`deploy\` refuses rather than clearing the live token.` : `${documentationScopeLabel(scope)} stores a documentation token with \`require_token: false\` \u2014 the documentation is not gated. The token is a SECRET and is not carried into the generated tree. A decode writes it to ${sidecar} (gitignored) so a deploy carries it across; a decode run with \`--no-secrets\` does not. A deploy does not need it.`
|
|
3712
3731
|
);
|
|
3713
3732
|
}
|
|
3714
3733
|
return cells.length === 0 ? null : ["documentation", obj(cells)];
|
|
@@ -5945,7 +5964,6 @@ var KNOWN_PAYLOAD_KEYS = /* @__PURE__ */ new Set([
|
|
|
5945
5964
|
function decodeBundle(bundle, opts = {}) {
|
|
5946
5965
|
const ctx = new DecodeContext();
|
|
5947
5966
|
if (opts.secretsFile !== void 0) ctx.secretsFile = opts.secretsFile;
|
|
5948
|
-
if (opts.writesSecrets !== void 0) ctx.writesSecrets = opts.writesSecrets;
|
|
5949
5967
|
let raw2 = bundle.payload ?? {};
|
|
5950
5968
|
if (opts.workspaceName !== void 0) {
|
|
5951
5969
|
ctx.fallbackWorkspaceName = opts.workspaceName;
|
|
@@ -6276,13 +6294,16 @@ async function fetchBundle(args, source) {
|
|
|
6276
6294
|
const credential = memoCredential(() => (credentialRead = true, getAccessToken(args)));
|
|
6277
6295
|
if (source.kind === "workspace") {
|
|
6278
6296
|
const auth = await credential();
|
|
6297
|
+
const bundle2 = await fetchWorkspaceBundle(auth, args.branch);
|
|
6298
|
+
const branch = await syncBranchLabel(auth, args.branch);
|
|
6279
6299
|
return {
|
|
6280
|
-
bundle:
|
|
6300
|
+
bundle: bundle2,
|
|
6281
6301
|
origin: { source: "workspace", origin: String(auth.workspaceId), ...args.branch === void 0 ? {} : { branch: args.branch.trim() } },
|
|
6282
|
-
credentialRead
|
|
6302
|
+
credentialRead,
|
|
6303
|
+
...branch === void 0 ? {} : { syncTarget: { instance: auth.instance, workspaceId: auth.workspaceId, branch } }
|
|
6283
6304
|
};
|
|
6284
6305
|
}
|
|
6285
|
-
const { projectDirFrom } = await import("./xanosdk-project-
|
|
6306
|
+
const { projectDirFrom } = await import("./xanosdk-project-J4VCFRHP.js");
|
|
6286
6307
|
const cwd = projectDirFrom(process.cwd()) ?? process.cwd();
|
|
6287
6308
|
const raw2 = "name" in source && source.name !== void 0 ? `${source.kind}:${source.name}` : source.kind;
|
|
6288
6309
|
step(`Reading ${raw2}`);
|
|
@@ -6361,7 +6382,7 @@ function refuseDuplicateSourceGuids(project) {
|
|
|
6361
6382
|
Nothing was written. These records come from the archive, not from anything you authored, so renaming an object or pinning a new guid here would repoint references rather than fix it \u2014 the repeat has to be resolved in the workspace this was exported from.`
|
|
6362
6383
|
);
|
|
6363
6384
|
}
|
|
6364
|
-
function placeGeneratedFiles(project, backendDir = XANO_DIR, displayDir = backendDir || XANO_DIR, routes) {
|
|
6385
|
+
function placeGeneratedFiles(project, backendDir = XANO_DIR, displayDir = backendDir || XANO_DIR, routes, modules) {
|
|
6365
6386
|
const out = [
|
|
6366
6387
|
// Generated from the names the source declares, and therefore placed HERE
|
|
6367
6388
|
// rather than at either call site: `init --from` and `pull` must not be able
|
|
@@ -6379,19 +6400,23 @@ function placeGeneratedFiles(project, backendDir = XANO_DIR, displayDir = backen
|
|
|
6379
6400
|
const path = file.path === GENERATED_README ? `${backendDir}/${GENERATED_README}` : `${backendDir}/${file.path}`;
|
|
6380
6401
|
out.push({ path, content: file.contents });
|
|
6381
6402
|
}
|
|
6382
|
-
const manifest = routeManifestFor(project.source, routes?.entry ?? `${displayDir}/index.ts`, routes?.deferred);
|
|
6403
|
+
const manifest = routeManifestFor(project.source, routes?.entry ?? `${displayDir}/index.ts`, routes?.deferred, modules);
|
|
6383
6404
|
if (manifest !== void 0) out.push({ path: `${backendDir}/${ROUTES_MANIFEST_BASENAME}`, content: manifest });
|
|
6384
6405
|
return out;
|
|
6385
6406
|
}
|
|
6386
|
-
function routeManifestFor(payload, entry, deferred) {
|
|
6407
|
+
function routeManifestFor(payload, entry, deferred, modules) {
|
|
6387
6408
|
try {
|
|
6388
|
-
|
|
6409
|
+
const file = renderManifestFile(planRouteManifest(payload), modules, entry === void 0 ? {} : { entry });
|
|
6410
|
+
if (file === void 0) return void 0;
|
|
6411
|
+
reportModuleFailures(file.failed, ROUTES_MANIFEST_BASENAME);
|
|
6412
|
+
return file.source;
|
|
6389
6413
|
} catch (err) {
|
|
6390
6414
|
if (!(err instanceof RouteManifestError)) throw err;
|
|
6391
|
-
const
|
|
6415
|
+
const kept = modules?.previous;
|
|
6416
|
+
const line = kept === void 0 ? `${ROUTES_MANIFEST_BASENAME} was not written: ${err.message}` : `${ROUTES_MANIFEST_BASENAME} was not refreshed and was kept as it was: ${err.message}`;
|
|
6392
6417
|
if (deferred === void 0) warn(line, "routes.not-written");
|
|
6393
6418
|
else deferred.push(line);
|
|
6394
|
-
return
|
|
6419
|
+
return kept;
|
|
6395
6420
|
}
|
|
6396
6421
|
}
|
|
6397
6422
|
function envExampleNames(env) {
|
|
@@ -6646,29 +6671,47 @@ async function runInitFromCommand(args, source) {
|
|
|
6646
6671
|
const pathArg = args.positionals[0] ?? ".";
|
|
6647
6672
|
assertBranchMatchesSource(args, source);
|
|
6648
6673
|
const target = resolve(pathArg);
|
|
6649
|
-
|
|
6650
|
-
|
|
6651
|
-
|
|
6652
|
-
|
|
6674
|
+
const isRefresh = isNonEmptyDir(target) && existsSync(join(target, CODEGEN_MARKER));
|
|
6675
|
+
const existing = isNonEmptyDir(target) && !isRefresh;
|
|
6676
|
+
const refreshedBackend = isRefresh && !existsSync(join(target, "frontend")) && existsSync(join(target, BACKEND_TSCONFIG_PATH)) ? existsSync(join(target, XANO_DIR, ".gitattributes")) ? "existing" : "new" : void 0;
|
|
6677
|
+
if (refreshedBackend !== void 0) {
|
|
6678
|
+
if (args.framework !== void 0 && resolveFrameworkValue(args.framework) !== null) {
|
|
6679
|
+
throw new UsageError(
|
|
6680
|
+
`\`--framework ${args.framework}\` writes a new frontend, and ${target} is a project with no frontend: re-running init refreshes its backend only. Drop --framework, or run init in an empty directory for a full app.`,
|
|
6681
|
+
{ helpFor: { command: "init" } }
|
|
6682
|
+
);
|
|
6683
|
+
}
|
|
6684
|
+
refuseFrontendOnlyFlags(args, `${target} has no frontend, so re-running init refreshes its backend only`);
|
|
6685
|
+
}
|
|
6686
|
+
let overrideScripts = [];
|
|
6687
|
+
if (existing) {
|
|
6688
|
+
await resolveInitFrontend(args, target, "existing");
|
|
6689
|
+
const settled = await settleClashes(
|
|
6690
|
+
target,
|
|
6691
|
+
backendShellFiles(templateVarsFor(sanitizeAppName(args.name ?? basename(target)), target), { kind: "existing", dir: target }),
|
|
6692
|
+
args
|
|
6653
6693
|
);
|
|
6694
|
+
if (settled === "cancelled") return;
|
|
6695
|
+
overrideScripts = settled;
|
|
6654
6696
|
}
|
|
6655
|
-
const { bundle, origin, credentialRead, seed } = source.kind === "file" ? {
|
|
6697
|
+
const { bundle, origin, credentialRead, seed, syncTarget } = source.kind === "file" ? {
|
|
6656
6698
|
bundle: readBundleFile(source.path),
|
|
6657
6699
|
origin: { source: "file", origin: source.path },
|
|
6658
6700
|
credentialRead: void 0,
|
|
6659
|
-
seed: void 0
|
|
6701
|
+
seed: void 0,
|
|
6702
|
+
syncTarget: void 0
|
|
6660
6703
|
} : await fetchBundle(args, source);
|
|
6661
6704
|
const mode = reportMode(args.report);
|
|
6662
6705
|
const out = resolve(pathArg);
|
|
6663
6706
|
const appName = sanitizeAppName(args.name ?? basename(out));
|
|
6664
6707
|
const vars = templateVarsFor(appName, out);
|
|
6665
|
-
const preset = await resolveFrontendPreset(args.framework);
|
|
6708
|
+
const preset = existing || refreshedBackend !== void 0 ? null : await resolveFrontendPreset(args.framework);
|
|
6709
|
+
if (preset === null && !existing && refreshedBackend === void 0) refuseFrontendOnlyFlags(args, "`--framework none` writes none");
|
|
6666
6710
|
const choice = await resolveThemeChoice(args);
|
|
6667
6711
|
const installMode = detectInstallMode();
|
|
6668
6712
|
const ws = bundle.payload?.workspace;
|
|
6669
6713
|
const unnamed = typeof ws?.name !== "string" || ws.name.trim() === "";
|
|
6670
6714
|
const project = decodeBundle(bundle, {
|
|
6671
|
-
writesSecrets: args.noSecrets !== true,
|
|
6672
6715
|
...unnamed ? { workspaceName: appName } : {}
|
|
6673
6716
|
});
|
|
6674
6717
|
refuseDuplicateSourceGuids(project);
|
|
@@ -6678,16 +6721,9 @@ async function runInitFromCommand(args, source) {
|
|
|
6678
6721
|
entry: shellWord(isAbsolute(cwdEntry) || cwdEntry.startsWith(".") ? cwdEntry : `./${cwdEntry}`),
|
|
6679
6722
|
deferred: routesDeferred
|
|
6680
6723
|
});
|
|
6724
|
+
const readme2 = renderCodegenReadme(vars, origin, Object.keys(project.env), preset);
|
|
6681
6725
|
const files = [
|
|
6682
|
-
...projectShellFiles(
|
|
6683
|
-
vars,
|
|
6684
|
-
preset,
|
|
6685
|
-
{
|
|
6686
|
-
readme: renderCodegenReadme(vars, origin, Object.keys(project.env), preset),
|
|
6687
|
-
landing: codegenLanding(vars, origin)
|
|
6688
|
-
},
|
|
6689
|
-
choice
|
|
6690
|
-
),
|
|
6726
|
+
...existing || refreshedBackend === "existing" ? backendShellFiles(vars, { kind: "existing", dir: out }) : preset === null ? backendShellFiles(vars, { kind: "new", readme: readme2 }) : projectShellFiles(vars, preset, { readme: readme2, landing: codegenLanding(vars, origin) }, choice),
|
|
6691
6727
|
...generated,
|
|
6692
6728
|
{
|
|
6693
6729
|
path: `${XANO_DIR}/${CODEGEN_MARKER_BASENAME}`,
|
|
@@ -6713,11 +6749,12 @@ async function runInitFromCommand(args, source) {
|
|
|
6713
6749
|
});
|
|
6714
6750
|
const replace = await planXanoReplace(
|
|
6715
6751
|
out,
|
|
6716
|
-
files
|
|
6752
|
+
// An existing project's merged files are not overwrites: only the backend's own are listed.
|
|
6753
|
+
existing ? files.filter((f) => !MERGED_IN_EXISTING.has(f.path)) : files,
|
|
6717
6754
|
bundle.payload,
|
|
6718
6755
|
args,
|
|
6719
6756
|
describeOrigin(origin),
|
|
6720
|
-
agentsMd
|
|
6757
|
+
existing ? void 0 : agentsMd
|
|
6721
6758
|
);
|
|
6722
6759
|
if (replace === "cancelled") {
|
|
6723
6760
|
info("Cancelled. Nothing was written.");
|
|
@@ -6737,13 +6774,16 @@ async function runInitFromCommand(args, source) {
|
|
|
6737
6774
|
sdkVersion: readVersion(),
|
|
6738
6775
|
frontend: preset,
|
|
6739
6776
|
theme: choice,
|
|
6740
|
-
...replace.removals === void 0 ? {} : { xanoRemovals: replace.removals }
|
|
6777
|
+
...replace.removals === void 0 ? {} : { xanoRemovals: replace.removals },
|
|
6778
|
+
// An existing project's clashes were settled before the read, and its
|
|
6779
|
+
// manifest is merged into with the project winning.
|
|
6780
|
+
...existing ? { overwrite: "full", mergePackageJson: "project", overrideScripts } : {}
|
|
6741
6781
|
});
|
|
6742
6782
|
reportXanoReplace(replace);
|
|
6743
6783
|
for (const line of routesDeferred) warn(line, "routes.not-written");
|
|
6744
6784
|
if (seed !== void 0) reportSeedRows(seed.rows, seed.label, seed.provenance, XANO_DIR, contextFlags(args));
|
|
6745
6785
|
if (replace.lock !== void 0) {
|
|
6746
|
-
const { reconciledLock } = await import("./pull-command-
|
|
6786
|
+
const { reconciledLock } = await import("./pull-command-S5E2ABZ4.js");
|
|
6747
6787
|
writeLockFile(
|
|
6748
6788
|
replace.lock.path,
|
|
6749
6789
|
reconciledLock(replace.lock.model, replace.lock.reconciliation, bundle.payload)
|
|
@@ -6794,6 +6834,9 @@ async function runInitFromCommand(args, source) {
|
|
|
6794
6834
|
}
|
|
6795
6835
|
}
|
|
6796
6836
|
if (lock !== null && !hadLock) success(`Wrote ${displayPath(lock)}`);
|
|
6837
|
+
if (lock !== null && syncTarget !== void 0 && verified !== false) {
|
|
6838
|
+
recordSync({ lockPath: lock, target: syncTarget, digests: syncDigests({ held: [bundle] }), by: "init", complete: true });
|
|
6839
|
+
}
|
|
6797
6840
|
if (verified === false) {
|
|
6798
6841
|
rewriteReadmeWithReport(project, out);
|
|
6799
6842
|
const cliVersion = readVersion();
|
|
@@ -6803,10 +6846,17 @@ async function runInitFromCommand(args, source) {
|
|
|
6803
6846
|
summarize(args, project, verified, out, origin, scaffold.install, mode, {
|
|
6804
6847
|
dir: out,
|
|
6805
6848
|
name: appName,
|
|
6806
|
-
|
|
6807
|
-
|
|
6808
|
-
|
|
6849
|
+
mode: existing || isRefresh ? "existing" : "new",
|
|
6850
|
+
framework: preset?.id ?? "none",
|
|
6851
|
+
theme: preset === null ? null : choice.theme.id,
|
|
6852
|
+
dark: preset === null ? null : choice.dark,
|
|
6809
6853
|
install: scaffold.install,
|
|
6854
|
+
files: runFiles(scaffold.written, lock === null ? [] : [relative(out, lock).split(sep).join("/")]),
|
|
6855
|
+
next: deployNextCommand(
|
|
6856
|
+
out === process.cwd() ? null : pathArg,
|
|
6857
|
+
scaffold.install === "installed" || existsSync(join(out, "node_modules", "@xano", "sdk")) ? null : installCommandFor(out),
|
|
6858
|
+
detectPackageManager(out)
|
|
6859
|
+
),
|
|
6810
6860
|
pinnedProfile,
|
|
6811
6861
|
lock,
|
|
6812
6862
|
// What `pull --json` reports for the same refresh: the files kept because
|
|
@@ -6844,7 +6894,7 @@ async function planXanoReplace(out, files, payload, args, label, agentsMd) {
|
|
|
6844
6894
|
if (shell.length > 0 && !await confirmShellOverwrite(out, shell, args, label)) return "cancelled";
|
|
6845
6895
|
return { removals: void 0, removedEdited: [], rewrittenEdited: [], kept: [] };
|
|
6846
6896
|
}
|
|
6847
|
-
const { backendDirCleanliness, noneOfTheIdentities, pulledIdentities, reconcileLock } = await import("./pull-command-
|
|
6897
|
+
const { backendDirCleanliness, noneOfTheIdentities, pulledIdentities, reconcileLock } = await import("./pull-command-S5E2ABZ4.js");
|
|
6848
6898
|
const prefix = `${XANO_DIR}/`;
|
|
6849
6899
|
const incoming = new Map(
|
|
6850
6900
|
files.filter((f) => f.path.startsWith(prefix)).map((f) => [f.path.slice(prefix.length), f.content])
|
|
@@ -6892,7 +6942,7 @@ async function planXanoReplace(out, files, payload, args, label, agentsMd) {
|
|
|
6892
6942
|
list(lock.reconciliation.dropped.map((key) => displayLockKey(key)), "")
|
|
6893
6943
|
);
|
|
6894
6944
|
}
|
|
6895
|
-
const { keptDuplicates, replacedRegistrations, reportSuperseded } = await import("./pull-superseded-
|
|
6945
|
+
const { keptDuplicates, replacedRegistrations, reportSuperseded } = await import("./pull-superseded-E34BZVLH.js");
|
|
6896
6946
|
const shown = relative(process.cwd(), xanoDir).split(sep).join("/") || XANO_DIR;
|
|
6897
6947
|
reportSuperseded(
|
|
6898
6948
|
keptDuplicates(xanoDir, incoming, kept, shown),
|
|
@@ -7114,7 +7164,7 @@ function summarize(args, project, verified, out, origin, install, mode, scaffold
|
|
|
7114
7164
|
`) + // An unverified tree: the check the warning above asks for is a step.
|
|
7115
7165
|
(verified === null ? ` npm run xano:check # confirm the tree compiles and the lock agrees
|
|
7116
7166
|
` : ``) + ` npm run xano:deploy # run it on the Xano Engine, on this machine
|
|
7117
|
-
` + loginNextStep(pin, out) +
|
|
7167
|
+
` + loginNextStep(pin, out) + ephemeralNextStep(scaffolded.framework !== "none");
|
|
7118
7168
|
detail(`Next steps:
|
|
7119
7169
|
` + steps.replace(/^ {2}/gm, " "));
|
|
7120
7170
|
for (const line of [
|
|
@@ -7197,4 +7247,4 @@ export {
|
|
|
7197
7247
|
seedRowsListed,
|
|
7198
7248
|
seedRowsLanding
|
|
7199
7249
|
};
|
|
7200
|
-
//# sourceMappingURL=chunk-
|
|
7250
|
+
//# sourceMappingURL=chunk-DXZTL7NA.js.map
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-A2AOUBJS.js";
|
|
10
10
|
import {
|
|
11
11
|
RAW_FIELD
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-JIKGT7DO.js";
|
|
13
13
|
import {
|
|
14
14
|
describeEntry
|
|
15
15
|
} from "./chunk-4MIV244X.js";
|
|
@@ -139,4 +139,4 @@ export {
|
|
|
139
139
|
rawField,
|
|
140
140
|
codegen_entry_exports
|
|
141
141
|
};
|
|
142
|
-
//# sourceMappingURL=chunk-
|
|
142
|
+
//# sourceMappingURL=chunk-E763QI3G.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "./chunk-FWD7AL6N.js";
|
|
9
9
|
import {
|
|
10
10
|
isLocalSpecifier
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-47XT6WQL.js";
|
|
12
12
|
import {
|
|
13
13
|
trackLocalWrite
|
|
14
14
|
} from "./chunk-4KHEMC32.js";
|
|
@@ -18,38 +18,39 @@ import {
|
|
|
18
18
|
npmLockListsMember,
|
|
19
19
|
removeArgs,
|
|
20
20
|
yarnPlugAndPlayRoot
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-DNBP4GJN.js";
|
|
22
22
|
import {
|
|
23
23
|
localPackageName,
|
|
24
24
|
localPathOf,
|
|
25
25
|
packageNameOf,
|
|
26
26
|
readInstalledManifestState
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-CNZASQPL.js";
|
|
28
28
|
import {
|
|
29
29
|
UsageError
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-CH23ONYG.js";
|
|
31
31
|
|
|
32
32
|
// src/emit/project-dependency.ts
|
|
33
33
|
import { existsSync, readFileSync } from "fs";
|
|
34
34
|
import { isAbsolute, join, relative, resolve, sep } from "path";
|
|
35
35
|
|
|
36
36
|
// src/emit/npm-install.ts
|
|
37
|
-
async function installWithPeerRetry(
|
|
37
|
+
async function installWithPeerRetry(spec, cwd, opts = {}) {
|
|
38
|
+
const specs = typeof spec === "string" ? [spec] : spec;
|
|
38
39
|
const scope = opts.scope ?? [];
|
|
39
40
|
if (opts.manager !== void 0 && opts.manager !== "npm") {
|
|
40
|
-
const only = await runNpmQuiet([...addArgs(opts.manager,
|
|
41
|
+
const only = await runNpmQuiet([...addArgs(opts.manager, specs), ...scope], cwd, { manager: opts.manager, ...opts.timeoutMs !== void 0 ? { timeoutMs: opts.timeoutMs } : {} });
|
|
41
42
|
return { ...only, peerConflict: null, retried: false };
|
|
42
43
|
}
|
|
43
44
|
const budget = opts.timeoutMs ?? NPM_RUN_TIMEOUT_MS;
|
|
44
45
|
const deadline = Date.now() + budget;
|
|
45
|
-
const first = await runNpmQuiet(["install",
|
|
46
|
+
const first = await runNpmQuiet(["install", ...specs, ...scope], cwd, { timeoutMs: budget });
|
|
46
47
|
if (first.status === 0 || !isPeerConflict(first.output)) {
|
|
47
48
|
return { ...first, peerConflict: null, retried: false };
|
|
48
49
|
}
|
|
49
50
|
const remaining = deadline - Date.now();
|
|
50
51
|
if (remaining <= 0) return { ...first, peerConflict: first.output, retried: false };
|
|
51
52
|
opts.onRetry?.();
|
|
52
|
-
const second = await runNpmQuiet(["install",
|
|
53
|
+
const second = await runNpmQuiet(["install", ...specs, ...scope, "--legacy-peer-deps"], cwd, {
|
|
53
54
|
timeoutMs: remaining
|
|
54
55
|
});
|
|
55
56
|
return { ...second, peerConflict: first.output, retried: true };
|
|
@@ -114,6 +115,21 @@ async function addDependency(dir, specifier, opts = {}) {
|
|
|
114
115
|
return { ...result, site, installSpec, ...recorded === void 0 ? {} : { recorded }, ...landed === void 0 ? {} : { landed } };
|
|
115
116
|
});
|
|
116
117
|
}
|
|
118
|
+
async function addDependencies(dir, specifiers, opts = {}) {
|
|
119
|
+
const names = specifiers.map(packageNameOf);
|
|
120
|
+
const check = interruptedCheck(names.join(", "), installSite(dir), opts.rerun);
|
|
121
|
+
return trackLocalWrite({ what: `the install of ${names.join(", ")}`, check }, async () => {
|
|
122
|
+
const { site, link } = await prepareInstallSite(dir);
|
|
123
|
+
if (link !== null && link.status !== 0) return { ...link, peerConflict: null, retried: false, site, unrecorded: names };
|
|
124
|
+
const result = await installWithPeerRetry(specifiers, site.cwd, {
|
|
125
|
+
...opts.onRetry === void 0 ? {} : { onRetry: opts.onRetry },
|
|
126
|
+
scope: site.scope,
|
|
127
|
+
...site.manager !== "npm" ? { manager: site.manager } : {}
|
|
128
|
+
});
|
|
129
|
+
const after = dependenciesOf(dir);
|
|
130
|
+
return { ...result, site, unrecorded: result.status === 0 ? names.filter((n) => !after.has(n)) : names };
|
|
131
|
+
});
|
|
132
|
+
}
|
|
117
133
|
async function removeDependency(dir, pkg, rerun) {
|
|
118
134
|
return trackLocalWrite({ what: `the removal of ${pkg}`, check: interruptedCheck(pkg, installSite(dir), rerun) }, async () => {
|
|
119
135
|
const { site, link } = await prepareInstallSite(dir);
|
|
@@ -149,7 +165,8 @@ export {
|
|
|
149
165
|
dependenciesOf,
|
|
150
166
|
prepareInstallSite,
|
|
151
167
|
addDependency,
|
|
168
|
+
addDependencies,
|
|
152
169
|
removeDependency,
|
|
153
170
|
recordedDependency
|
|
154
171
|
};
|
|
155
|
-
//# sourceMappingURL=chunk-
|
|
172
|
+
//# sourceMappingURL=chunk-EF4MHLEW.js.map
|