@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
|
@@ -230,13 +230,20 @@ function appNamesByGuid(appSection) {
|
|
|
230
230
|
return map;
|
|
231
231
|
}
|
|
232
232
|
var CANONICAL_SOURCES = /* @__PURE__ */ new Set(["code", "minted", "adopted"]);
|
|
233
|
+
var SYNC_SOURCES = /* @__PURE__ */ new Set(["deploy", "promote", "pull", "init"]);
|
|
234
|
+
function withSyncedOf(base, lock) {
|
|
235
|
+
return lock.synced !== void 0 && Object.keys(lock.synced).length > 0 ? { ...base, synced: lock.synced } : base;
|
|
236
|
+
}
|
|
233
237
|
var DESTINATION_KEY = /^[^/\s]+\/(?:workspace\/[1-9]\d*|tenant\/[^/\s]+)$/;
|
|
234
238
|
var EPHEMERAL_DESTINATION_KEY = /^[^/\s]+\/ephemeral\/[^/\s]+$/;
|
|
235
239
|
function emptyLock() {
|
|
236
240
|
return { version: LOCK_VERSION, objects: {} };
|
|
237
241
|
}
|
|
238
242
|
function withObjects(lock, objects) {
|
|
239
|
-
return
|
|
243
|
+
return withSyncedOf(
|
|
244
|
+
lock.landed !== void 0 && Object.keys(lock.landed).length > 0 ? { version: lock.version, objects, landed: lock.landed } : { version: lock.version, objects },
|
|
245
|
+
lock
|
|
246
|
+
);
|
|
240
247
|
}
|
|
241
248
|
function findDuplicateRawKey(text) {
|
|
242
249
|
const stack = [];
|
|
@@ -297,7 +304,7 @@ function parseLockReport(text, path = "xano.lock", opts = {}) {
|
|
|
297
304
|
if (/^(?:<{7}|>{7})(?: |$)|^={7}$/m.test(text)) {
|
|
298
305
|
fail(
|
|
299
306
|
path,
|
|
300
|
-
`it holds unresolved merge-conflict markers (\`<<<<<<<\`, \`=======\`, \`>>>>>>>\`). Resolve it as the union of both sides: keep every entry under \`objects\` (and \`landed\`) from each, delete the markers, and fix the commas. Where both sides renamed one object, two keys then share a guid \u2014 keep the one your code exports and remove the other with \`xanosdk lock prune --identity-only --yes <key>\`.`
|
|
307
|
+
`it holds unresolved merge-conflict markers (\`<<<<<<<\`, \`=======\`, \`>>>>>>>\`). Resolve it as the union of both sides: keep every entry under \`objects\` (and \`landed\`) from each, delete the markers, and fix the commas. Under \`synced\`, keep either side's baseline for a branch, or delete it: a missing baseline only means \`workspace diff\` cannot say which side changed until the next deploy or pull. Where both sides renamed one object, two keys then share a guid \u2014 keep the one your code exports and remove the other with \`xanosdk lock prune --identity-only --yes <key>\`.`
|
|
301
308
|
);
|
|
302
309
|
}
|
|
303
310
|
const dup = findDuplicateRawKey(text);
|
|
@@ -328,8 +335,14 @@ function parseLockReport(text, path = "xano.lock", opts = {}) {
|
|
|
328
335
|
}
|
|
329
336
|
const objects = validateLockObjects(obj.objects, path, opts);
|
|
330
337
|
const landed = obj.landed === void 0 ? void 0 : validateLanded(obj.landed, path, droppedLandings);
|
|
338
|
+
const synced = obj.synced === void 0 ? void 0 : validateSynced(obj.synced);
|
|
331
339
|
return {
|
|
332
|
-
lock: {
|
|
340
|
+
lock: {
|
|
341
|
+
version: LOCK_VERSION,
|
|
342
|
+
objects,
|
|
343
|
+
...landed !== void 0 && Object.keys(landed).length > 0 ? { landed } : {},
|
|
344
|
+
...synced !== void 0 && Object.keys(synced).length > 0 ? { synced } : {}
|
|
345
|
+
},
|
|
333
346
|
droppedLandings
|
|
334
347
|
};
|
|
335
348
|
}
|
|
@@ -369,6 +382,47 @@ function validateLanded(raw, path, dropped) {
|
|
|
369
382
|
}
|
|
370
383
|
return out;
|
|
371
384
|
}
|
|
385
|
+
function sortedDigests(digests) {
|
|
386
|
+
return Object.fromEntries(Object.entries(digests).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0));
|
|
387
|
+
}
|
|
388
|
+
var WORKSPACE_DESTINATION_KEY = /^[^/\s]+\/workspace\/[1-9]\d*$/;
|
|
389
|
+
function validateSynced(raw) {
|
|
390
|
+
const out = {};
|
|
391
|
+
if (!isPlainRecord(raw)) return out;
|
|
392
|
+
for (const [dest, branches] of Object.entries(raw)) {
|
|
393
|
+
if (!WORKSPACE_DESTINATION_KEY.test(dest) || !isPlainRecord(branches)) continue;
|
|
394
|
+
const record = {};
|
|
395
|
+
for (const [branch, entry] of Object.entries(branches)) {
|
|
396
|
+
const baseline = readBaseline(entry);
|
|
397
|
+
if (branch.trim() !== "" && baseline !== void 0) record[branch] = baseline;
|
|
398
|
+
}
|
|
399
|
+
if (Object.keys(record).length > 0) out[dest] = record;
|
|
400
|
+
}
|
|
401
|
+
return out;
|
|
402
|
+
}
|
|
403
|
+
function isPlainRecord(v) {
|
|
404
|
+
return v !== null && typeof v === "object" && !Array.isArray(v);
|
|
405
|
+
}
|
|
406
|
+
function readDigests(raw) {
|
|
407
|
+
if (!isPlainRecord(raw)) return void 0;
|
|
408
|
+
const out = {};
|
|
409
|
+
for (const [label, digest] of Object.entries(raw)) {
|
|
410
|
+
if (typeof digest !== "string" || digest === "") return void 0;
|
|
411
|
+
out[label] = digest;
|
|
412
|
+
}
|
|
413
|
+
return out;
|
|
414
|
+
}
|
|
415
|
+
function readBaseline(raw) {
|
|
416
|
+
if (!isPlainRecord(raw)) return void 0;
|
|
417
|
+
const { at, by, complete, scheme } = raw;
|
|
418
|
+
const objects = readDigests(raw.objects);
|
|
419
|
+
const others = raw.others === void 0 ? {} : readDigests(raw.others);
|
|
420
|
+
if (typeof at !== "string" || Number.isNaN(Date.parse(at))) return void 0;
|
|
421
|
+
if (typeof by !== "string" || !SYNC_SOURCES.has(by) || typeof complete !== "boolean") return void 0;
|
|
422
|
+
if (typeof scheme !== "number" || !Number.isInteger(scheme) || scheme < 1) return void 0;
|
|
423
|
+
if (objects === void 0 || others === void 0) return void 0;
|
|
424
|
+
return { at, by, scheme, complete, objects, ...Object.keys(others).length > 0 ? { others } : {} };
|
|
425
|
+
}
|
|
372
426
|
function validateLockModel(lock, label, observed) {
|
|
373
427
|
if (observed !== void 0) {
|
|
374
428
|
assertEmittedCanonicalsUnique(observed, label);
|
|
@@ -593,8 +647,31 @@ function serializeLock(lock) {
|
|
|
593
647
|
}
|
|
594
648
|
landed[dest] = record;
|
|
595
649
|
}
|
|
650
|
+
const synced = {};
|
|
651
|
+
for (const dest of Object.keys(lock.synced ?? {}).sort()) {
|
|
652
|
+
const src = lock.synced[dest];
|
|
653
|
+
const record = {};
|
|
654
|
+
for (const branch of Object.keys(src).sort()) {
|
|
655
|
+
const b = src[branch];
|
|
656
|
+
const others = b.others === void 0 ? {} : sortedDigests(b.others);
|
|
657
|
+
record[branch] = {
|
|
658
|
+
at: b.at,
|
|
659
|
+
by: b.by,
|
|
660
|
+
scheme: b.scheme,
|
|
661
|
+
complete: b.complete,
|
|
662
|
+
objects: sortedDigests(b.objects),
|
|
663
|
+
...Object.keys(others).length > 0 ? { others } : {}
|
|
664
|
+
};
|
|
665
|
+
}
|
|
666
|
+
if (Object.keys(record).length > 0) synced[dest] = record;
|
|
667
|
+
}
|
|
596
668
|
return JSON.stringify(
|
|
597
|
-
|
|
669
|
+
{
|
|
670
|
+
version: lock.version,
|
|
671
|
+
objects,
|
|
672
|
+
...Object.keys(landed).length > 0 ? { landed } : {},
|
|
673
|
+
...Object.keys(synced).length > 0 ? { synced } : {}
|
|
674
|
+
},
|
|
598
675
|
null,
|
|
599
676
|
2
|
|
600
677
|
) + "\n";
|
|
@@ -967,6 +1044,7 @@ export {
|
|
|
967
1044
|
lockNameForObject,
|
|
968
1045
|
identityNamesByGuid,
|
|
969
1046
|
appNamesByGuid,
|
|
1047
|
+
withSyncedOf,
|
|
970
1048
|
DESTINATION_KEY,
|
|
971
1049
|
emptyLock,
|
|
972
1050
|
withObjects,
|
|
@@ -984,4 +1062,4 @@ export {
|
|
|
984
1062
|
withoutGuidSources,
|
|
985
1063
|
mergeObserved
|
|
986
1064
|
};
|
|
987
|
-
//# sourceMappingURL=chunk-
|
|
1065
|
+
//# sourceMappingURL=chunk-5KJBWIDZ.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-7KPKDHHI.js";
|
|
7
7
|
import {
|
|
8
8
|
buildBundle
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-7FIMUFBP.js";
|
|
10
10
|
import {
|
|
11
11
|
checkAddonAttachments,
|
|
12
12
|
checkAddonOutput,
|
|
@@ -71,7 +71,7 @@ import {
|
|
|
71
71
|
postEnvelopeMisreads,
|
|
72
72
|
unnestedEnvelopeReads,
|
|
73
73
|
walkNodes
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-T4LJ5UR2.js";
|
|
75
75
|
import {
|
|
76
76
|
WORKSPACE_HISTORY_TYPES,
|
|
77
77
|
assertNameAsStored,
|
|
@@ -101,7 +101,7 @@ import {
|
|
|
101
101
|
DiagnosticBag,
|
|
102
102
|
allowableWarnings,
|
|
103
103
|
setDiagnosticSink
|
|
104
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-YHB34BN6.js";
|
|
105
105
|
import {
|
|
106
106
|
CANONICAL_PAYLOAD_KEYS,
|
|
107
107
|
LOCK_PAYLOAD_KEYS,
|
|
@@ -112,7 +112,7 @@ import {
|
|
|
112
112
|
mintCanonical,
|
|
113
113
|
recordObserved,
|
|
114
114
|
sdkKindName
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-5KJBWIDZ.js";
|
|
116
116
|
import {
|
|
117
117
|
HOSTED_ICON_KINDS,
|
|
118
118
|
pendingHostedFile
|
|
@@ -1894,4 +1894,4 @@ export {
|
|
|
1894
1894
|
Xano,
|
|
1895
1895
|
workspace
|
|
1896
1896
|
};
|
|
1897
|
-
//# sourceMappingURL=chunk-
|
|
1897
|
+
//# sourceMappingURL=chunk-5QMJOE2K.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
XANO_DIR
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DIWF7L33.js";
|
|
4
4
|
import {
|
|
5
5
|
projectRootFrom
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HU7F56VF.js";
|
|
7
7
|
import {
|
|
8
8
|
relForwardSlash
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-CH23ONYG.js";
|
|
10
10
|
|
|
11
11
|
// src/emit/backend-dir.ts
|
|
12
12
|
import { existsSync, readdirSync } from "fs";
|
|
@@ -67,4 +67,4 @@ export {
|
|
|
67
67
|
backendDirIn,
|
|
68
68
|
resolveBackendDir
|
|
69
69
|
};
|
|
70
|
-
//# sourceMappingURL=chunk-
|
|
70
|
+
//# sourceMappingURL=chunk-5SCPRXFB.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
classifyFailure
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-L472YIGG.js";
|
|
4
4
|
import {
|
|
5
5
|
describeWrite
|
|
6
6
|
} from "./chunk-4KHEMC32.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
warn,
|
|
15
15
|
writeJson,
|
|
16
16
|
writeTargetPayload
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-CH23ONYG.js";
|
|
18
18
|
|
|
19
19
|
// src/emit/operation-result.ts
|
|
20
20
|
var SERVER_PROCESSING_BOUND_MS = 6e5;
|
|
@@ -253,4 +253,4 @@ export {
|
|
|
253
253
|
OperationError,
|
|
254
254
|
runOperation
|
|
255
255
|
};
|
|
256
|
-
//# sourceMappingURL=chunk-
|
|
256
|
+
//# sourceMappingURL=chunk-5ZG7V2VW.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
displayLockKey,
|
|
11
11
|
lockNameForObject,
|
|
12
12
|
sdkKindName
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-5KJBWIDZ.js";
|
|
14
14
|
import {
|
|
15
15
|
rawDeriveGuid
|
|
16
16
|
} from "./chunk-LL6ED5IB.js";
|
|
@@ -410,4 +410,4 @@ export {
|
|
|
410
410
|
buildBundle,
|
|
411
411
|
knowledgeBodiesAllEmpty
|
|
412
412
|
};
|
|
413
|
-
//# sourceMappingURL=chunk-
|
|
413
|
+
//# sourceMappingURL=chunk-7FIMUFBP.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
UsageError,
|
|
7
7
|
style,
|
|
8
8
|
terminalText
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-CH23ONYG.js";
|
|
10
10
|
|
|
11
11
|
// src/emit/prompt.ts
|
|
12
12
|
import { createInterface } from "readline";
|
|
@@ -174,4 +174,4 @@ export {
|
|
|
174
174
|
STDIN_IDLE_MS,
|
|
175
175
|
readStdin
|
|
176
176
|
};
|
|
177
|
-
//# sourceMappingURL=chunk-
|
|
177
|
+
//# sourceMappingURL=chunk-7M6JP3FS.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sdkKindName
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5KJBWIDZ.js";
|
|
4
4
|
|
|
5
5
|
// src/validate/capabilities.ts
|
|
6
6
|
var CAPABILITIES = {
|
|
@@ -145,4 +145,4 @@ export {
|
|
|
145
145
|
STATEMENT_CAPABILITIES,
|
|
146
146
|
bundleCapabilities
|
|
147
147
|
};
|
|
148
|
-
//# sourceMappingURL=chunk-
|
|
148
|
+
//# sourceMappingURL=chunk-7REDHC4N.js.map
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
normalize
|
|
3
|
+
} from "./chunk-D3KEPRRN.js";
|
|
4
|
+
import {
|
|
5
|
+
sha1Bytes
|
|
6
|
+
} from "./chunk-OHX6MIUZ.js";
|
|
7
|
+
|
|
8
|
+
// src/bundle/hash.ts
|
|
9
|
+
var isRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
10
|
+
function withoutIgnoredInputs(value) {
|
|
11
|
+
if (Array.isArray(value)) return value.map(withoutIgnoredInputs);
|
|
12
|
+
if (!isRecord(value)) return value;
|
|
13
|
+
const out = /* @__PURE__ */ Object.create(null);
|
|
14
|
+
for (const [key, member] of Object.entries(value)) {
|
|
15
|
+
if (key === "input" && Array.isArray(member)) {
|
|
16
|
+
out[key] = member.filter((entry) => !(isRecord(entry) && entry.ignore === true)).map(withoutIgnoredInputs);
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
out[key] = withoutIgnoredInputs(member);
|
|
20
|
+
}
|
|
21
|
+
return out;
|
|
22
|
+
}
|
|
23
|
+
function canonicalJson(value) {
|
|
24
|
+
if (Array.isArray(value)) return `[${value.map(canonicalJson).join(",")}]`;
|
|
25
|
+
if (isRecord(value)) {
|
|
26
|
+
const parts = Object.keys(value).sort().map((key) => `${JSON.stringify(key)}:${canonicalJson(value[key])}`);
|
|
27
|
+
return `{${parts.join(",")}}`;
|
|
28
|
+
}
|
|
29
|
+
return value === void 0 ? "null" : JSON.stringify(value);
|
|
30
|
+
}
|
|
31
|
+
var HEX = "0123456789abcdef";
|
|
32
|
+
function structuralHash(raw) {
|
|
33
|
+
const reduced = withoutIgnoredInputs(normalize(raw));
|
|
34
|
+
const bytes = sha1Bytes(canonicalJson(reduced));
|
|
35
|
+
let hex = "";
|
|
36
|
+
for (const byte of bytes) hex += HEX[byte >> 4] + HEX[byte & 15];
|
|
37
|
+
return hex;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export {
|
|
41
|
+
canonicalJson,
|
|
42
|
+
structuralHash
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=chunk-7VR4IO5B.js.map
|
|
@@ -1,26 +1,30 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createOperation,
|
|
3
3
|
runOperation
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-5ZG7V2VW.js";
|
|
5
5
|
import {
|
|
6
6
|
fetchWorkspaceBundle
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-DXZTL7NA.js";
|
|
8
8
|
import {
|
|
9
9
|
assertReleaseIdentitiesFree,
|
|
10
10
|
pinnedCanonicalGuids,
|
|
11
11
|
setLiveRollback
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-I6XRUU6U.js";
|
|
13
|
+
import {
|
|
14
|
+
objectDigests,
|
|
15
|
+
syncDigests
|
|
16
|
+
} from "./chunk-JI3BLXWQ.js";
|
|
17
|
+
import {
|
|
18
|
+
asWorkspaceArchive,
|
|
19
|
+
resolveProjectEntry
|
|
20
|
+
} from "./chunk-NV37YGOV.js";
|
|
13
21
|
import {
|
|
14
22
|
liveBranchMismatch,
|
|
15
23
|
liveMismatch
|
|
16
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-N3YFCFCO.js";
|
|
17
25
|
import {
|
|
18
26
|
confirm
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import {
|
|
21
|
-
landingLockPath,
|
|
22
|
-
recordForeignLanding
|
|
23
|
-
} from "./chunk-ES5A66IH.js";
|
|
27
|
+
} from "./chunk-7M6JP3FS.js";
|
|
24
28
|
import {
|
|
25
29
|
CONSTRAINT_FIX,
|
|
26
30
|
CONSTRAINT_PHRASE,
|
|
@@ -39,24 +43,27 @@ import {
|
|
|
39
43
|
releaseTableEffects,
|
|
40
44
|
renameHint,
|
|
41
45
|
tableEffectsPayload
|
|
42
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-BSVQEKHO.js";
|
|
43
47
|
import {
|
|
44
48
|
tableRowCounter
|
|
45
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-H2K4GFUS.js";
|
|
46
50
|
import {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
} from "./chunk-
|
|
51
|
+
landingLockPath,
|
|
52
|
+
recordForeignLanding
|
|
53
|
+
} from "./chunk-2YER2J47.js";
|
|
54
|
+
import {
|
|
55
|
+
recordSync
|
|
56
|
+
} from "./chunk-VAGSKUWC.js";
|
|
57
|
+
import {
|
|
58
|
+
SettledWriteFailure,
|
|
59
|
+
classifyFailure
|
|
60
|
+
} from "./chunk-L472YIGG.js";
|
|
50
61
|
import {
|
|
51
62
|
exportWorkspaceBundle
|
|
52
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-2SD4LA22.js";
|
|
53
64
|
import {
|
|
54
65
|
decodeWorkspaceArchive
|
|
55
66
|
} from "./chunk-3DRXWLJ5.js";
|
|
56
|
-
import {
|
|
57
|
-
SettledWriteFailure,
|
|
58
|
-
classifyFailure
|
|
59
|
-
} from "./chunk-5D6DGF3W.js";
|
|
60
67
|
import {
|
|
61
68
|
BranchTakenError,
|
|
62
69
|
assertBranchAbsent,
|
|
@@ -67,16 +74,16 @@ import {
|
|
|
67
74
|
listBranchListing,
|
|
68
75
|
liveBranchLabel,
|
|
69
76
|
setLiveBranch
|
|
70
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-M2C54ZBC.js";
|
|
71
78
|
import {
|
|
72
79
|
envValuesOf
|
|
73
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-IYXL5NYU.js";
|
|
74
81
|
import {
|
|
75
82
|
assertOneName
|
|
76
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-VIJ5D3RC.js";
|
|
77
84
|
import {
|
|
78
85
|
resolveSource
|
|
79
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-TWVUYS63.js";
|
|
80
87
|
import {
|
|
81
88
|
ReleaseHttpError,
|
|
82
89
|
UNPROMOTABLE_RELEASE_PARTS,
|
|
@@ -85,27 +92,27 @@ import {
|
|
|
85
92
|
promotableReleaseName,
|
|
86
93
|
unpromotableReleasePart,
|
|
87
94
|
untenantDeployableReleasePart
|
|
88
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-26LHXLD3.js";
|
|
89
96
|
import {
|
|
90
97
|
getAccessToken
|
|
91
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-YH2JVJAO.js";
|
|
99
|
+
import {
|
|
100
|
+
readLockFile
|
|
101
|
+
} from "./chunk-CJDPSCMX.js";
|
|
92
102
|
import {
|
|
93
103
|
pipedYes,
|
|
94
104
|
retryCommand,
|
|
95
105
|
withheldNote
|
|
96
|
-
} from "./chunk-
|
|
106
|
+
} from "./chunk-UYFUIHH3.js";
|
|
97
107
|
import {
|
|
98
108
|
contextFlags
|
|
99
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-3FRGNBOC.js";
|
|
100
110
|
import {
|
|
101
111
|
shellWord
|
|
102
112
|
} from "./chunk-FWD7AL6N.js";
|
|
103
|
-
import {
|
|
104
|
-
readLockFile
|
|
105
|
-
} from "./chunk-SQPIECXD.js";
|
|
106
113
|
import {
|
|
107
114
|
withoutReadAftermath
|
|
108
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-L6HZ67P6.js";
|
|
109
116
|
import {
|
|
110
117
|
CliError,
|
|
111
118
|
LocalFileNotFoundError,
|
|
@@ -123,19 +130,19 @@ import {
|
|
|
123
130
|
success,
|
|
124
131
|
warn,
|
|
125
132
|
withoutUrls
|
|
126
|
-
} from "./chunk-
|
|
133
|
+
} from "./chunk-CH23ONYG.js";
|
|
127
134
|
import {
|
|
128
135
|
envNamesRead
|
|
129
|
-
} from "./chunk-
|
|
136
|
+
} from "./chunk-T4LJ5UR2.js";
|
|
130
137
|
import {
|
|
131
138
|
safeNames
|
|
132
139
|
} from "./chunk-GSGDWJB5.js";
|
|
133
140
|
import {
|
|
134
141
|
setDiagnosticSink
|
|
135
|
-
} from "./chunk-
|
|
142
|
+
} from "./chunk-YHB34BN6.js";
|
|
136
143
|
import {
|
|
137
144
|
sdkKindName2 as sdkKindName
|
|
138
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-5KJBWIDZ.js";
|
|
139
146
|
import {
|
|
140
147
|
shellQuote
|
|
141
148
|
} from "./chunk-5ZSO4T2G.js";
|
|
@@ -292,7 +299,7 @@ async function verifyLanding(auth, opts) {
|
|
|
292
299
|
} catch (err) {
|
|
293
300
|
return unverified(shortReason(err));
|
|
294
301
|
}
|
|
295
|
-
const { compareToLive, declaredLabels } = await import("./live-diff-
|
|
302
|
+
const { compareToLive, declaredLabels } = await import("./live-diff-5E2BQWQ7.js");
|
|
296
303
|
let result;
|
|
297
304
|
try {
|
|
298
305
|
result = compareToLive(declared, landedBundle, void 0, { sample: "all" });
|
|
@@ -311,7 +318,8 @@ async function verifyLanding(auth, opts) {
|
|
|
311
318
|
undeclared,
|
|
312
319
|
suffixed: suffixedSiblings(declaredLabels(declared), undeclared),
|
|
313
320
|
compared: result.compared,
|
|
314
|
-
canonicals
|
|
321
|
+
canonicals,
|
|
322
|
+
landed: landedBundle
|
|
315
323
|
};
|
|
316
324
|
}
|
|
317
325
|
function shortReason(err) {
|
|
@@ -464,7 +472,7 @@ async function runPromoteCommand(args) {
|
|
|
464
472
|
discloseWriteTarget(destination);
|
|
465
473
|
const lockPath = landingLockPath(args, args.entryPath === void 0 ? {} : { entryFile: args.entryPath });
|
|
466
474
|
if (lockPath === void 0 && args.noLock !== true) {
|
|
467
|
-
const { nestedBackendEntries } = await import("./tracked-backend-
|
|
475
|
+
const { nestedBackendEntries } = await import("./tracked-backend-AJCGTO5Y.js");
|
|
468
476
|
const nested = nestedBackendEntries(process.cwd());
|
|
469
477
|
if (nested.length > 0) {
|
|
470
478
|
warn(
|
|
@@ -488,7 +496,7 @@ async function runPromoteCommand(args) {
|
|
|
488
496
|
// sending every caller on an instance with an unreadable export to resolve
|
|
489
497
|
// a write that already answered.
|
|
490
498
|
checks: ["verify"],
|
|
491
|
-
extras: { declined: false, landingRecord: null, tableEffects: null, canonicalMoves: [] }
|
|
499
|
+
extras: { declined: false, landingRecord: null, syncBaseline: null, tableEffects: null, canonicalMoves: [] }
|
|
492
500
|
});
|
|
493
501
|
const flags = contextFlags(args);
|
|
494
502
|
const yesFlags = `${pipedYes(args)}${flags}`;
|
|
@@ -775,6 +783,22 @@ Check what is serving with \`xanosdk workspace branch list${flags}\`, then promo
|
|
|
775
783
|
);
|
|
776
784
|
}
|
|
777
785
|
}
|
|
786
|
+
if (verification.outcome === "passed" && verification.landed !== void 0) {
|
|
787
|
+
const released = await ctx.loadArchive().catch(() => void 0);
|
|
788
|
+
op.set(
|
|
789
|
+
"syncBaseline",
|
|
790
|
+
recordSync({
|
|
791
|
+
lockPath,
|
|
792
|
+
target: { instance: auth.instance, workspaceId: auth.workspaceId, branch },
|
|
793
|
+
digests: syncDigests({
|
|
794
|
+
held: [verification.landed],
|
|
795
|
+
...released === void 0 ? {} : { heldLabels: new Set(Object.keys(objectDigests(released))) }
|
|
796
|
+
}),
|
|
797
|
+
by: "promote",
|
|
798
|
+
complete: true
|
|
799
|
+
})
|
|
800
|
+
);
|
|
801
|
+
}
|
|
778
802
|
let live = false;
|
|
779
803
|
let rollback;
|
|
780
804
|
if (setLiveRequested) {
|
|
@@ -911,7 +935,7 @@ Nothing was switched. Serve it deliberately with \`xanosdk workspace branch set-
|
|
|
911
935
|
}
|
|
912
936
|
}
|
|
913
937
|
async function unansweredBranchRead(err, args, what) {
|
|
914
|
-
const { LookupFailedError, isServerError, isTransportFailure, unansweredCause } = await import("./source-resolve-
|
|
938
|
+
const { LookupFailedError, isServerError, isTransportFailure, unansweredCause } = await import("./source-resolve-BBHYTOXI.js");
|
|
915
939
|
const transport = isTransportFailure(err);
|
|
916
940
|
if (!transport && !isServerError(err)) return err;
|
|
917
941
|
const first = what !== void 0 ? `could not read ${what}` : ((err instanceof Error ? err.message : String(err)).trim().split("\n")[0] ?? "").replace(/[.:]$/, "");
|
|
@@ -937,4 +961,4 @@ export {
|
|
|
937
961
|
reportNotRun,
|
|
938
962
|
runPromoteCommand
|
|
939
963
|
};
|
|
940
|
-
//# sourceMappingURL=chunk-
|
|
964
|
+
//# sourceMappingURL=chunk-7XXWKTCE.js.map
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
LOOPBACK_HOSTS
|
|
3
|
+
} from "./chunk-LCOCRJ4K.js";
|
|
1
4
|
import {
|
|
2
5
|
readEnvVar
|
|
3
6
|
} from "./chunk-X2NL4KUO.js";
|
|
@@ -6,111 +9,6 @@ import {
|
|
|
6
9
|
import { existsSync, readdirSync } from "fs";
|
|
7
10
|
import { homedir } from "os";
|
|
8
11
|
import { isAbsolute, join, resolve } from "path";
|
|
9
|
-
|
|
10
|
-
// src/deploy/local-engine-handshake.ts
|
|
11
|
-
var LOOPBACK_HOSTS = ["127.0.0.1", "::1", "localhost"];
|
|
12
|
-
var ALLOWED_PROTOCOLS = ["http:", "https:"];
|
|
13
|
-
function isLoopbackUrl(url) {
|
|
14
|
-
let parsed;
|
|
15
|
-
try {
|
|
16
|
-
parsed = new URL(url);
|
|
17
|
-
} catch {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
if (!ALLOWED_PROTOCOLS.includes(parsed.protocol)) return false;
|
|
21
|
-
const host = parsed.hostname.replace(/^\[|\]$/g, "");
|
|
22
|
-
if (!LOOPBACK_HOSTS.includes(host)) return false;
|
|
23
|
-
return /^[0-9]+$/.test(parsed.port);
|
|
24
|
-
}
|
|
25
|
-
function assertLoopbackUrl(url, what) {
|
|
26
|
-
if (isLoopbackUrl(url)) return;
|
|
27
|
-
throw new Error(
|
|
28
|
-
`${what} reports a url this SDK will not send a token to: ${url}
|
|
29
|
-
A Xano Engine has to serve loopback over http on a port of its own \u2014 ${LOOPBACK_HOSTS.join(", ")} \u2014 and anything else is reachable from off this machine. Stop that engine and start a fresh one without binding it to all interfaces.`
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
function requireString(raw, key, source) {
|
|
33
|
-
const value = raw[key];
|
|
34
|
-
if (typeof value !== "string" || value === "") {
|
|
35
|
-
throw new Error(
|
|
36
|
-
`${source} is missing \`${key}\`, or gave it as something other than text.
|
|
37
|
-
That is not an engine this SDK knows how to drive \u2014 the engine on this machine is older or newer than the one it was built against. Move to a current one with \`xanosdk local update\`.`
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
return value;
|
|
41
|
-
}
|
|
42
|
-
function requireNumber(raw, key, source) {
|
|
43
|
-
const value = raw[key];
|
|
44
|
-
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
45
|
-
throw new Error(
|
|
46
|
-
`${source} is missing \`${key}\`, or gave it as something other than a number.
|
|
47
|
-
That is not an engine this SDK knows how to drive \u2014 the engine on this machine is older or newer than the one it was built against. Move to a current one with \`xanosdk local update\`.`
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
return value;
|
|
51
|
-
}
|
|
52
|
-
function readEngine(value, source) {
|
|
53
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
54
|
-
throw new Error(
|
|
55
|
-
`${source} did not print an engine description.
|
|
56
|
-
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local cache clear\`, then \`xanosdk deploy --local\`.`
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
const raw = value;
|
|
60
|
-
return {
|
|
61
|
-
name: requireString(raw, "name", source),
|
|
62
|
-
url: requireString(raw, "url", source),
|
|
63
|
-
workspaceId: requireNumber(raw, "workspace_id", source),
|
|
64
|
-
token: requireString(raw, "access_token", source),
|
|
65
|
-
pid: requireNumber(raw, "pid", source),
|
|
66
|
-
signInUrl: requireString(raw, "sign_in_url", source),
|
|
67
|
-
loginLinkEndpoint: requireString(raw, "login_link_endpoint", source),
|
|
68
|
-
logPath: requireString(raw, "log", source)
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
var HANDSHAKE_SOURCE = "The engine's start handshake";
|
|
72
|
-
var LISTING_SOURCE = "The engine's list of running engines";
|
|
73
|
-
function parseEngineHandshake(stdout) {
|
|
74
|
-
let value;
|
|
75
|
-
try {
|
|
76
|
-
value = JSON.parse(stdout.trim());
|
|
77
|
-
} catch {
|
|
78
|
-
throw new Error(
|
|
79
|
-
`${HANDSHAKE_SOURCE} did not print an engine description.
|
|
80
|
-
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local cache clear\`, then \`xanosdk deploy --local\`.`
|
|
81
|
-
);
|
|
82
|
-
}
|
|
83
|
-
const engine = readEngine(value, HANDSHAKE_SOURCE);
|
|
84
|
-
assertLoopbackUrl(engine.url, "The engine that just started");
|
|
85
|
-
return engine;
|
|
86
|
-
}
|
|
87
|
-
function parseEngineListing(stdout) {
|
|
88
|
-
const text = stdout.trim();
|
|
89
|
-
if (text === "") return [];
|
|
90
|
-
let value;
|
|
91
|
-
try {
|
|
92
|
-
value = JSON.parse(text);
|
|
93
|
-
} catch {
|
|
94
|
-
throw new Error(
|
|
95
|
-
`${LISTING_SOURCE} was not readable.
|
|
96
|
-
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local cache clear\`, then \`xanosdk deploy --local\`.`
|
|
97
|
-
);
|
|
98
|
-
}
|
|
99
|
-
if (!Array.isArray(value)) {
|
|
100
|
-
throw new Error(
|
|
101
|
-
`${LISTING_SOURCE} was not a list.
|
|
102
|
-
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local cache clear\`, then \`xanosdk deploy --local\`.`
|
|
103
|
-
);
|
|
104
|
-
}
|
|
105
|
-
return value.filter((entry) => !isForeignEngine(entry)).map((entry) => readEngine(entry, LISTING_SOURCE));
|
|
106
|
-
}
|
|
107
|
-
function isForeignEngine(entry) {
|
|
108
|
-
if (entry === null || typeof entry !== "object" || Array.isArray(entry)) return false;
|
|
109
|
-
const raw = entry;
|
|
110
|
-
return raw.workspace_id === void 0 && raw.access_token === void 0;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// src/deploy/local-engine-config.ts
|
|
114
12
|
var SUPPORTED_PLATFORMS = [
|
|
115
13
|
"darwin-arm64",
|
|
116
14
|
"linux-x64",
|
|
@@ -212,11 +110,6 @@ function resolveEngineSource(flagValue, env = process.env, pinned) {
|
|
|
212
110
|
}
|
|
213
111
|
|
|
214
112
|
export {
|
|
215
|
-
LOOPBACK_HOSTS,
|
|
216
|
-
isLoopbackUrl,
|
|
217
|
-
assertLoopbackUrl,
|
|
218
|
-
parseEngineHandshake,
|
|
219
|
-
parseEngineListing,
|
|
220
113
|
SUPPORTED_PLATFORMS,
|
|
221
114
|
resolveEnginePlatform,
|
|
222
115
|
LOCAL_ENGINE_HOME_ENV,
|
|
@@ -234,4 +127,4 @@ export {
|
|
|
234
127
|
engineOverrideFromEnv,
|
|
235
128
|
resolveEngineSource
|
|
236
129
|
};
|
|
237
|
-
//# sourceMappingURL=chunk-
|
|
130
|
+
//# sourceMappingURL=chunk-A4R5CAY4.js.map
|