@xano/sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +788 -0
- package/LICENSE +21 -0
- package/README.md +541 -0
- package/dist/.build-fingerprint +1 -0
- package/dist/agent-file-refresh-ZEMK33AX.js +38 -0
- package/dist/answer-shape-K67TAAPY.js +33 -0
- package/dist/backend-dir-2U53CIAL.js +39 -0
- package/dist/backend-slot-7QXW2QYC.js +28 -0
- package/dist/bin.d.ts +1 -0
- package/dist/bin.js +255 -0
- package/dist/branch-NCRNWQBQ.js +61 -0
- package/dist/branch-commands-ACIRCEQJ.js +79 -0
- package/dist/bundle.d.ts +223 -0
- package/dist/bundle.js +153 -0
- package/dist/capture-WAXPD7DR.js +41 -0
- package/dist/chunk-27GWNP2I.js +23 -0
- package/dist/chunk-2CMJZDCL.js +177 -0
- package/dist/chunk-2EZ3ZJZZ.js +302 -0
- package/dist/chunk-2GNFDZA2.js +390 -0
- package/dist/chunk-2MNLRIOX.js +11 -0
- package/dist/chunk-2TFRR6JV.js +104 -0
- package/dist/chunk-2ZUEE4EK.js +408 -0
- package/dist/chunk-36JUQZVQ.js +22 -0
- package/dist/chunk-3DRXWLJ5.js +83 -0
- package/dist/chunk-3JDU4VRL.js +137 -0
- package/dist/chunk-3KZCLN4Z.js +241 -0
- package/dist/chunk-3LDULPRE.js +168 -0
- package/dist/chunk-3M4LFYNQ.js +111 -0
- package/dist/chunk-3XI5CTUE.js +22 -0
- package/dist/chunk-3YW23UFH.js +50 -0
- package/dist/chunk-45UIT5T2.js +862 -0
- package/dist/chunk-4BW2SG2N.js +46 -0
- package/dist/chunk-4KHEMC32.js +79 -0
- package/dist/chunk-4POWHT2K.js +321 -0
- package/dist/chunk-4Q2GN7NW.js +192 -0
- package/dist/chunk-5A2PLKZB.js +70 -0
- package/dist/chunk-5FBYXK5P.js +159 -0
- package/dist/chunk-5HVXPTU4.js +323 -0
- package/dist/chunk-5QU2P5CA.js +304 -0
- package/dist/chunk-5V5XU32D.js +191 -0
- package/dist/chunk-5ZSO4T2G.js +10 -0
- package/dist/chunk-622HUCZT.js +10 -0
- package/dist/chunk-65HWOMGV.js +177 -0
- package/dist/chunk-6ELFRN3P.js +365 -0
- package/dist/chunk-6HO3NCSJ.js +1055 -0
- package/dist/chunk-6IUMKYWI.js +457 -0
- package/dist/chunk-6KEB3C3U.js +65 -0
- package/dist/chunk-6MR5TI5V.js +987 -0
- package/dist/chunk-6NNTNXN7.js +157 -0
- package/dist/chunk-6PBR37LN.js +97 -0
- package/dist/chunk-6QXLMMT3.js +155 -0
- package/dist/chunk-6ZGJCBZS.js +224 -0
- package/dist/chunk-73IVBKMA.js +250 -0
- package/dist/chunk-7G3CTU7I.js +286 -0
- package/dist/chunk-A3UDOZB6.js +222 -0
- package/dist/chunk-A6E77GDW.js +85 -0
- package/dist/chunk-AHJWCYQO.js +660 -0
- package/dist/chunk-AKNCFVKZ.js +36 -0
- package/dist/chunk-AM4FKL4J.js +237 -0
- package/dist/chunk-AN6BL47T.js +26 -0
- package/dist/chunk-AOSYVMUS.js +147 -0
- package/dist/chunk-APWXY5SL.js +182 -0
- package/dist/chunk-AWEIIR2U.js +218 -0
- package/dist/chunk-AWQ7BQTQ.js +73 -0
- package/dist/chunk-BAUZOWGX.js +393 -0
- package/dist/chunk-BHACRS6R.js +940 -0
- package/dist/chunk-BWPNT55T.js +680 -0
- package/dist/chunk-C6RIMRU4.js +187 -0
- package/dist/chunk-CGVQZXYG.js +263 -0
- package/dist/chunk-CIMQZRRE.js +162 -0
- package/dist/chunk-CJHQKJU4.js +113 -0
- package/dist/chunk-CTMO46PK.js +1897 -0
- package/dist/chunk-D53J55C5.js +106 -0
- package/dist/chunk-D7VGG3WS.js +90 -0
- package/dist/chunk-DAD3ONIS.js +245 -0
- package/dist/chunk-DGWHAVRG.js +162 -0
- package/dist/chunk-DX4QR4B2.js +483 -0
- package/dist/chunk-EHP3WPEG.js +21 -0
- package/dist/chunk-ELP2HMXC.js +432 -0
- package/dist/chunk-ERVIASGL.js +21 -0
- package/dist/chunk-ET4Y4XCB.js +865 -0
- package/dist/chunk-ETO6LGLD.js +4750 -0
- package/dist/chunk-EUUUMY7J.js +24 -0
- package/dist/chunk-FQJ2TTHP.js +218 -0
- package/dist/chunk-FQOF7E2E.js +133 -0
- package/dist/chunk-FWD7AL6N.js +21 -0
- package/dist/chunk-FXFV3KU6.js +138 -0
- package/dist/chunk-FXRQOWTE.js +171 -0
- package/dist/chunk-G554NZNI.js +210 -0
- package/dist/chunk-GSGDWJB5.js +13 -0
- package/dist/chunk-H2V3N23D.js +66 -0
- package/dist/chunk-H5C7MBCR.js +159 -0
- package/dist/chunk-HHN734BU.js +371 -0
- package/dist/chunk-HRVBLCVJ.js +243 -0
- package/dist/chunk-HVRUQXGD.js +1264 -0
- package/dist/chunk-I4F5TCJH.js +130 -0
- package/dist/chunk-IDOTCMDV.js +57 -0
- package/dist/chunk-IGOLHKWF.js +427 -0
- package/dist/chunk-JGE7CAWB.js +148 -0
- package/dist/chunk-JTUKLCXS.js +92 -0
- package/dist/chunk-JZGVVJSI.js +66 -0
- package/dist/chunk-K4WX6UUU.js +923 -0
- package/dist/chunk-K5BBGTYZ.js +217 -0
- package/dist/chunk-K6RXBGUB.js +427 -0
- package/dist/chunk-KTSDSD36.js +165 -0
- package/dist/chunk-L5JYN3NM.js +1038 -0
- package/dist/chunk-LIEOKXKD.js +354 -0
- package/dist/chunk-LLNZGEFK.js +51 -0
- package/dist/chunk-LPECSJ2J.js +55 -0
- package/dist/chunk-LQCMKAJ7.js +413 -0
- package/dist/chunk-LRN4ZJCQ.js +1145 -0
- package/dist/chunk-MJ4ZVHKN.js +17 -0
- package/dist/chunk-MXHSQOC4.js +3061 -0
- package/dist/chunk-N5GKCWE5.js +367 -0
- package/dist/chunk-NA3PXMEF.js +10 -0
- package/dist/chunk-NAQDMEHV.js +76 -0
- package/dist/chunk-NWKXM5RD.js +109 -0
- package/dist/chunk-NZOWWHU5.js +196 -0
- package/dist/chunk-OHX6MIUZ.js +184 -0
- package/dist/chunk-OOXWYAA4.js +15 -0
- package/dist/chunk-OPHB5ORL.js +1990 -0
- package/dist/chunk-OXA6PSZT.js +1725 -0
- package/dist/chunk-P2HAGF6H.js +73 -0
- package/dist/chunk-PTHVMXZI.js +3036 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-Q325JKYB.js +189 -0
- package/dist/chunk-Q7DGTQ5G.js +255 -0
- package/dist/chunk-QCNYHBL7.js +601 -0
- package/dist/chunk-QO6BVGS5.js +145 -0
- package/dist/chunk-QXTKSOFI.js +76 -0
- package/dist/chunk-ROY4YAEQ.js +66 -0
- package/dist/chunk-RTJRZFFY.js +447 -0
- package/dist/chunk-SAVJUS2X.js +128 -0
- package/dist/chunk-SFLHVCKX.js +173 -0
- package/dist/chunk-STSFNCY4.js +127 -0
- package/dist/chunk-SWBF2LTK.js +170 -0
- package/dist/chunk-T5KELPAR.js +109 -0
- package/dist/chunk-TFFGOFVZ.js +1481 -0
- package/dist/chunk-TLHIFK4M.js +256 -0
- package/dist/chunk-TLQE7ZN3.js +156 -0
- package/dist/chunk-TPHWJ7UG.js +1981 -0
- package/dist/chunk-TRJCALW3.js +291 -0
- package/dist/chunk-TTEIYD5P.js +133 -0
- package/dist/chunk-U64O2MXY.js +407 -0
- package/dist/chunk-UCQ2VUTG.js +630 -0
- package/dist/chunk-UTI5G6OJ.js +44 -0
- package/dist/chunk-UVHDMMIP.js +188 -0
- package/dist/chunk-UZ6QQWJT.js +120 -0
- package/dist/chunk-VAX3UZOY.js +686 -0
- package/dist/chunk-W3HBUKFO.js +57 -0
- package/dist/chunk-WKQLGKCL.js +2823 -0
- package/dist/chunk-WQFNASK4.js +560 -0
- package/dist/chunk-WRBKLYSJ.js +224 -0
- package/dist/chunk-WTPZRR4I.js +17 -0
- package/dist/chunk-WZDJ2LLX.js +2385 -0
- package/dist/chunk-X2NL4KUO.js +14 -0
- package/dist/chunk-X4DVXBFY.js +38 -0
- package/dist/chunk-X677DMZM.js +7050 -0
- package/dist/chunk-XBKMWY7F.js +612 -0
- package/dist/chunk-XNCP4KYO.js +78 -0
- package/dist/chunk-XVBGLISP.js +35 -0
- package/dist/chunk-XW6KISBB.js +1192 -0
- package/dist/chunk-YGZHHAAB.js +8156 -0
- package/dist/chunk-YHEFQUQB.js +186 -0
- package/dist/chunk-YLDALTWZ.js +653 -0
- package/dist/chunk-YU4HSQW7.js +229 -0
- package/dist/chunk-ZDPP6RKB.js +27 -0
- package/dist/chunk-ZFDZKNGG.js +194 -0
- package/dist/chunk-ZIY7RNUT.js +49 -0
- package/dist/chunk-ZYJP6BOO.js +30 -0
- package/dist/cli.d.ts +1111 -0
- package/dist/cli.js +165 -0
- package/dist/codegen-command-VR2GWR6C.js +173 -0
- package/dist/codegen.d.ts +115 -0
- package/dist/codegen.js +19 -0
- package/dist/commands-GJMJ4XYZ.js +76 -0
- package/dist/completion-ZQLO6PB6.js +738 -0
- package/dist/config-MBYGCAFK.js +136 -0
- package/dist/deploy-command-JVZPWHMK.js +180 -0
- package/dist/deploy-source-3W45CXMP.js +81 -0
- package/dist/dev-env-sync-HN44K4D5.js +188 -0
- package/dist/diagnostics-UEAAHWVF.js +30 -0
- package/dist/display-name-hint-ABBPVQIR.js +46 -0
- package/dist/emit-CyhBDxli.d.ts +7007 -0
- package/dist/env-example-refresh-ET5HMMDW.js +126 -0
- package/dist/env-pull-command-TNMNB3CV.js +323 -0
- package/dist/env-target-O4HRKTGZ.js +40 -0
- package/dist/env-var-command-ZIRDCAZA.js +427 -0
- package/dist/ephemeral-P7F3PMAD.js +54 -0
- package/dist/ephemeral-command-CLJJKOFT.js +592 -0
- package/dist/ephemeral-state-PYCBSOGX.js +61 -0
- package/dist/file-lock-PT74GWYW.js +10 -0
- package/dist/generate-command-AYEOLA26.js +510 -0
- package/dist/gitignore-3SJ3WNRG.js +51 -0
- package/dist/guards-4EBNCZDC.js +162 -0
- package/dist/hosted-file-PSHJB3HX.js +28 -0
- package/dist/impersonate-command-5JAS3WSV.js +152 -0
- package/dist/import-EQSFU6JC.js +19 -0
- package/dist/index.d.ts +5470 -0
- package/dist/index.js +371 -0
- package/dist/init-command-X2FR4UAK.js +125 -0
- package/dist/init-modules-RY7UHAOL.js +50 -0
- package/dist/init-web-M4YZSZK6.js +42 -0
- package/dist/internal.d.ts +179 -0
- package/dist/internal.js +2634 -0
- package/dist/io-RC56QSN5.js +26 -0
- package/dist/keep-data-merge-7MPLVAVI.js +1119 -0
- package/dist/lambda-config-reconcile-OUZ4OYAB.js +116 -0
- package/dist/landed-753YLJ5H.js +40 -0
- package/dist/landing-record-SU52SKXU.js +61 -0
- package/dist/live-diff-YONW2VI3.js +65 -0
- package/dist/local-engine-choice-CH5X3W7E.js +79 -0
- package/dist/local-engine-command-Z3OL7VOD.js +766 -0
- package/dist/local-engine-config-5U3SC434.js +39 -0
- package/dist/local-engine-deploy-PCQ4SNPB.js +39 -0
- package/dist/local-engine-process-EHTE5LLU.js +63 -0
- package/dist/local-engine-state-A4FTRFAF.js +32 -0
- package/dist/local-engine-update-check-6L645VBL.js +162 -0
- package/dist/lock-MRRHW5GS.js +87 -0
- package/dist/lock-commands-2QG25HL7.js +963 -0
- package/dist/login-command-QPYRWOXZ.js +538 -0
- package/dist/logout-command-WOIQLDP6.js +56 -0
- package/dist/loop-ALIZLOSX.js +191 -0
- package/dist/marketplace-command-K5YL42NO.js +977 -0
- package/dist/marketplace-resolve-LY32JES5.js +40 -0
- package/dist/meta-client-YXGPW53C.js +244 -0
- package/dist/module-manifest-JFGHU2TC.js +38 -0
- package/dist/near-key.d.ts +13 -0
- package/dist/near-key.js +8 -0
- package/dist/node.d.ts +95 -0
- package/dist/node.js +969 -0
- package/dist/operation-outcome-TZSESNC7.js +51 -0
- package/dist/output-target-AL3I44GG.js +47 -0
- package/dist/package-manager-PRAHUSCN.js +34 -0
- package/dist/plan-disclosure-6G4MLZKD.js +114 -0
- package/dist/plugin-contributions-WRNY5ABG.js +28 -0
- package/dist/plugin-prompt-4VA3B4FF.js +20 -0
- package/dist/plugin-questions-JTSYA74Q.js +24 -0
- package/dist/plugin.d.ts +396 -0
- package/dist/plugin.js +1 -0
- package/dist/preflight-command-2T5Z36MI.js +321 -0
- package/dist/profile-command-AH3PIM4X.js +800 -0
- package/dist/profile-pointer-GRWJU3YD.js +31 -0
- package/dist/profile-select-74TRDEPD.js +23 -0
- package/dist/project-dependency-KSH63ODT.js +35 -0
- package/dist/project-sdk-REPPOIBD.js +24 -0
- package/dist/promote-command-PCWT5N6S.js +140 -0
- package/dist/prompt-II3F3LND.js +27 -0
- package/dist/publish-command-TTDUUJI5.js +414 -0
- package/dist/pull-command-VBO7C4S3.js +161 -0
- package/dist/pull-superseded-GJWLG7XO.js +20 -0
- package/dist/release-command-N4ZPKMHR.js +146 -0
- package/dist/release-ns-command-3KFDMZ6G.js +1745 -0
- package/dist/response-HlXahv4K.d.ts +925 -0
- package/dist/retry-command-AS5EVREX.js +34 -0
- package/dist/routes-manifest-SNWUVBT6.js +43 -0
- package/dist/runtime-XETHVF33.js +14 -0
- package/dist/scaffold.d.ts +1911 -0
- package/dist/scaffold.js +107 -0
- package/dist/secrets-file-LVZD6IIM.js +56 -0
- package/dist/secrets-fill-command-TTCPSVXN.js +218 -0
- package/dist/seed-VU7C3QYS.js +46 -0
- package/dist/sent-writes-N7X4OVXT.js +22 -0
- package/dist/source-resolve-S2XA3XZF.js +83 -0
- package/dist/static-host-B2Y6AG3W.js +352 -0
- package/dist/status-command-RUDXTF7I.js +554 -0
- package/dist/store-6VNCD4D7.js +20 -0
- package/dist/store-ARM6VMO5.js +98 -0
- package/dist/store-DuYfzKlW.d.ts +3144 -0
- package/dist/suggest-6FOOYKHG.js +12 -0
- package/dist/sveltekit.d.ts +154 -0
- package/dist/sveltekit.js +109 -0
- package/dist/sync-contributions-UCEROO26.js +415 -0
- package/dist/table-ENAVMITR.js +42 -0
- package/dist/tables-command-GUPXXSB5.js +156 -0
- package/dist/tenant-IIHPOHGP.js +42 -0
- package/dist/tenant-command-D5HGI2X4.js +965 -0
- package/dist/test-command-TIKZMDPZ.js +476 -0
- package/dist/tests-BGGIOK3L.js +26 -0
- package/dist/token-NICJUTMT.js +72 -0
- package/dist/toolchain-hooks-GHKLUJOH.js +96 -0
- package/dist/toolchain-modules-5EAZUONB.js +24 -0
- package/dist/tracked-backend-EIBUMDZA.js +80 -0
- package/dist/update-check-2W2NLDTC.js +136 -0
- package/dist/upgrade-command-QHNFWM7O.js +531 -0
- package/dist/verify-rollout-DRCK5TDD.js +61 -0
- package/dist/whoami-command-STGINTXH.js +51 -0
- package/dist/workspace-2CLHU2LK.js +93 -0
- package/dist/workspace-binding-56PIIPCP.js +54 -0
- package/dist/workspace-command-JEXQETJD.js +535 -0
- package/dist/workspace-env-F2RFMSC5.js +70 -0
- package/dist/workspace-export-OJSH2HIW.js +21 -0
- package/dist/writable-VA7OISSK.js +25 -0
- package/dist/xano-ICFUSPFR.js +42 -0
- package/dist/xanosdk-import-GN42TO2B.js +56 -0
- package/dist/xanosdk-project-S6DXJONQ.js +41 -0
- package/dist/xdo-CxDr2Q1C.d.ts +1371 -0
- package/guides/README.md +33 -0
- package/guides/authoring.md +921 -0
- package/guides/cli.md +401 -0
- package/guides/codegen.md +177 -0
- package/guides/codes.md +404 -0
- package/guides/coverage.md +74 -0
- package/guides/deploying.md +1525 -0
- package/guides/environment.md +400 -0
- package/guides/marketplace.md +415 -0
- package/guides/module-contract.md +558 -0
- package/guides/object-kinds.md +433 -0
- package/guides/project-structure.md +43 -0
- package/guides/scaffold.md +351 -0
- package/guides/typed-frontend.md +242 -0
- package/llms/client.md +63 -0
- package/llms/errors.md +56 -0
- package/llms/fields.md +176 -0
- package/llms/filters.md +183 -0
- package/llms/kinds-agent-mcp.md +30 -0
- package/llms/kinds-core.md +100 -0
- package/llms/kinds-knowledge.md +20 -0
- package/llms/kinds-realtime.md +76 -0
- package/llms/lambda.md +94 -0
- package/llms/legacy.md +44 -0
- package/llms/lock.md +40 -0
- package/llms/object-kinds.md +34 -0
- package/llms/statements-calls.md +62 -0
- package/llms/statements-catalog.md +320 -0
- package/llms/statements-data.md +66 -0
- package/llms/statements-runtime.md +68 -0
- package/llms/tests.md +59 -0
- package/llms/toolchain.md +16 -0
- package/llms/triggers.md +36 -0
- package/llms/values.md +29 -0
- package/llms-full.txt +2085 -0
- package/llms.txt +493 -0
- package/manifest.json +11224 -0
- package/package.json +162 -0
- package/types/lambda-globals.d.ts +129 -0
|
@@ -0,0 +1,3144 @@
|
|
|
1
|
+
import { V as Value, i as FilterXdo } from './xdo-CxDr2Q1C.js';
|
|
2
|
+
import { t as MockMap, S as Statement } from './response-HlXahv4K.js';
|
|
3
|
+
import { y as Condition, L as LockFile } from './emit-CyhBDxli.js';
|
|
4
|
+
|
|
5
|
+
/** A surface that takes a JavaScript body: the lambda statement, or a filter. */
|
|
6
|
+
type LambdaSurface = "s.lambda" | "fl.lambda" | "map" | "filter" | "some" | "every" | "find" | "findIndex" | "reduce";
|
|
7
|
+
/**
|
|
8
|
+
* Surface → the identifiers a body may reference. Live-probed rather than read
|
|
9
|
+
* off any documentation, and asserted against the recorded probe output in the
|
|
10
|
+
* tests, so the guard, the types, and the docs cannot disagree with the engine
|
|
11
|
+
* or with each other.
|
|
12
|
+
*
|
|
13
|
+
* `console` and `crypto` are globals inside the body rather than destructured
|
|
14
|
+
* bindings, so they are legal to reference but are not part of the parameter
|
|
15
|
+
* type. Every other entry is `$`-prefixed, which is what makes the scan below
|
|
16
|
+
* able to see a violation at all.
|
|
17
|
+
*/
|
|
18
|
+
declare const LAMBDA_BINDINGS: Readonly<Record<LambdaSurface, readonly string[]>>;
|
|
19
|
+
/** Globals a body may use that are not `$`-bindings (so the scan never sees them). */
|
|
20
|
+
declare const LAMBDA_GLOBALS: readonly string[];
|
|
21
|
+
/**
|
|
22
|
+
* The libraries the engine preloads as GLOBALS in a lambda body — the only
|
|
23
|
+
* dependency route that works on every instance.
|
|
24
|
+
*
|
|
25
|
+
* A body is prepared for execution in one of two ways depending on the
|
|
26
|
+
* instance's executor generation, and the two disagree about `import()`:
|
|
27
|
+
*
|
|
28
|
+
* - one transpiles the body and lets the runtime resolve a specifier when the
|
|
29
|
+
* `import()` actually runs, so `node:*`, `npm:*`, a bare package and a URL
|
|
30
|
+
* all resolve;
|
|
31
|
+
* - the other BUNDLES the body before running it, which resolves every
|
|
32
|
+
* LITERAL specifier ahead of time against the container's filesystem —
|
|
33
|
+
* where none of them exist. `await import("node:crypto")` comes back as the
|
|
34
|
+
* text `Could not resolve "node:crypto"`, with HTTP 200. A literal
|
|
35
|
+
* `require("axios")` fails there for the same reason.
|
|
36
|
+
*
|
|
37
|
+
* These names need no specifier, so they are unaffected by which generation
|
|
38
|
+
* runs the body. Live-probed from `Object.keys(globalThis)` inside a body; the
|
|
39
|
+
* evidence is `s.lambda.globalThis` in `vendor/lambda-bindings.json`, and
|
|
40
|
+
* `test/values/lambda.test.ts` fails if this list drifts from it.
|
|
41
|
+
*
|
|
42
|
+
* Not exhaustive by design: it lists what an author is likely to reach for. A
|
|
43
|
+
* body can always read `Object.keys(globalThis)` for its own instance.
|
|
44
|
+
*/
|
|
45
|
+
declare const LAMBDA_MODULE_GLOBALS: readonly string[];
|
|
46
|
+
/**
|
|
47
|
+
* Every filter that takes a JavaScript body → which positional slot the body
|
|
48
|
+
* occupies, and which binding set it runs against.
|
|
49
|
+
*
|
|
50
|
+
* The slot is fixed rather than looked up because it is what the guard has to
|
|
51
|
+
* key on: `filter()` sees positions, not argument names. `reduce`'s body is the
|
|
52
|
+
* SECOND argument (the accumulator's initial value comes first, and that slot
|
|
53
|
+
* being invisible is the other half of the same failure); every other lambda
|
|
54
|
+
* filter's is the
|
|
55
|
+
* first.
|
|
56
|
+
*
|
|
57
|
+
* `fl.transform` is deliberately absent. It takes Xano Expression Engine source,
|
|
58
|
+
* not a JavaScript body, and binds the operand as `$0` rather than `$this` — so
|
|
59
|
+
* validating it against THIS contract would reject correct code. It has its own
|
|
60
|
+
* guard, on its own probed contract, in `./expression-arg.ts`; a
|
|
61
|
+
* `return` there is not merely refused but sometimes silently mis-evaluated.
|
|
62
|
+
* `test/values/filters.test.ts` enumerates the `code`-taking filters from
|
|
63
|
+
* `FILTER_SPECS` and fails if one is missing here.
|
|
64
|
+
*/
|
|
65
|
+
declare const LAMBDA_CODE_FILTERS: Readonly<Record<string, {
|
|
66
|
+
readonly slot: number;
|
|
67
|
+
readonly surface: LambdaSurface;
|
|
68
|
+
}>>;
|
|
69
|
+
/**
|
|
70
|
+
* The statements that take a JavaScript body → the field carrying it and the
|
|
71
|
+
* bindings it runs against. One today; a table so a second cannot be added
|
|
72
|
+
* without deciding its surface.
|
|
73
|
+
*/
|
|
74
|
+
declare const LAMBDA_STATEMENTS: Readonly<Record<string, {
|
|
75
|
+
readonly field: string;
|
|
76
|
+
readonly surface: LambdaSurface;
|
|
77
|
+
}>>;
|
|
78
|
+
/**
|
|
79
|
+
* Ambient request state, in scope at every surface.
|
|
80
|
+
*
|
|
81
|
+
* Typed `any` deliberately: `$var` holds the enclosing function's stack
|
|
82
|
+
* variables and `$input` its declared inputs, and threading those inferred
|
|
83
|
+
* shapes in here is a substantial type-level piece of work in its own right. The
|
|
84
|
+
* value this parameter carries today is the NAMES — that a binding exists, is
|
|
85
|
+
* spelled this way, and exists at this surface.
|
|
86
|
+
*/
|
|
87
|
+
interface AmbientBindings {
|
|
88
|
+
/** Workspace environment variables and request settings. */
|
|
89
|
+
$env: any;
|
|
90
|
+
/** The enclosing function's inputs, by name. */
|
|
91
|
+
$input: any;
|
|
92
|
+
/** The enclosing function's stack variables, by name — `$var.total`. A stack
|
|
93
|
+
* variable is NOT also injected as a bare `$total`. */
|
|
94
|
+
$var: any;
|
|
95
|
+
/** The authenticated caller, when the request carries a token. */
|
|
96
|
+
$auth: any;
|
|
97
|
+
}
|
|
98
|
+
/** Ambient state plus the per-element bindings of an iterating filter. */
|
|
99
|
+
interface IteratingBindings extends AmbientBindings {
|
|
100
|
+
/** The current element. */
|
|
101
|
+
$this: any;
|
|
102
|
+
/** The current element's position, from 0. */
|
|
103
|
+
$index: number;
|
|
104
|
+
/** The whole array the filter is applied to. */
|
|
105
|
+
$parent: any;
|
|
106
|
+
}
|
|
107
|
+
/** The bindings in scope in a body at `S` — the type of a {@link lam.fn} parameter. */
|
|
108
|
+
type LambdaBindings<S extends LambdaSurface = "reduce"> = S extends "reduce" ? IteratingBindings & {
|
|
109
|
+
/** The accumulator. Commonly mis-typed as `$acc`. */
|
|
110
|
+
$result: any;
|
|
111
|
+
} : S extends "s.lambda" ? AmbientBindings : S extends "fl.lambda" ? AmbientBindings & {
|
|
112
|
+
/** The piped value the filter is applied to. */
|
|
113
|
+
$this: any;
|
|
114
|
+
} : IteratingBindings;
|
|
115
|
+
/**
|
|
116
|
+
* A lambda body written INLINE at the call site, where the surface is already
|
|
117
|
+
* known — `fl.map(({ $this }) => $this * 2)`.
|
|
118
|
+
*
|
|
119
|
+
* This is the form to reach for. `lam.fn` exists for a body that is shared,
|
|
120
|
+
* captured, or otherwise built away from where it runs; everywhere else the
|
|
121
|
+
* call site knows which surface it is, so naming the surface a second time is
|
|
122
|
+
* something for the SDK to do rather than the author. TypeScript types the
|
|
123
|
+
* parameter contextually from the position, so `$this` autocompletes inside
|
|
124
|
+
* `fl.map` and `$result` does not compile there.
|
|
125
|
+
*/
|
|
126
|
+
type LambdaBody<S extends LambdaSurface = LambdaSurface> = (bindings: LambdaBindings<S>, captured: Record<string, CaptureValue>) => unknown;
|
|
127
|
+
/** A JSON value a capture entry can carry into the body. */
|
|
128
|
+
type CaptureValue = string | number | boolean | null | {
|
|
129
|
+
[k: string]: CaptureValue;
|
|
130
|
+
} | CaptureValue[];
|
|
131
|
+
/**
|
|
132
|
+
* The CHECKING form of {@link CaptureValue}, used wherever a capture is
|
|
133
|
+
* constrained rather than described.
|
|
134
|
+
*
|
|
135
|
+
* `CaptureValue` names the shape for a reader, but it cannot be a constraint on
|
|
136
|
+
* its own: its object arm is an index signature, and TypeScript hands an
|
|
137
|
+
* implicit index signature to type ALIASES only — never to an `interface`, which
|
|
138
|
+
* stays open to declaration merging. So `capture: { band }` compiled when `band`
|
|
139
|
+
* was a `type` and failed when the identical shape was an `interface`, with the
|
|
140
|
+
* error naming `CaptureValue` rather than the one keyword that differed, and the
|
|
141
|
+
* body's second parameter then degrading to the constraint.
|
|
142
|
+
*
|
|
143
|
+
* A homomorphic mapped type is the way through: `keyof` an interface is the same
|
|
144
|
+
* as `keyof` the alias, so this accepts both and still rejects what genuinely
|
|
145
|
+
* cannot cross the boundary as text — functions, `undefined`, `symbol`, `bigint`
|
|
146
|
+
* — matching the runtime check in {@link capturePrelude}.
|
|
147
|
+
*/
|
|
148
|
+
type Capturable<T> = T extends string | number | boolean | null ? T : T extends (...args: never[]) => unknown ? never : T extends readonly (infer U)[] ? readonly Capturable<U>[] : T extends object ? {
|
|
149
|
+
[K in keyof T]: Capturable<T[K]>;
|
|
150
|
+
} : never;
|
|
151
|
+
/** A capture bag: every value {@link Capturable}, whatever it was declared as. */
|
|
152
|
+
type CaptureRecord<T> = {
|
|
153
|
+
[K in keyof T]: Capturable<T[K]>;
|
|
154
|
+
};
|
|
155
|
+
/** Options shared by every `lam.*` form. */
|
|
156
|
+
interface LambdaOptions<C = Record<string, never>> {
|
|
157
|
+
/**
|
|
158
|
+
* Which surface the body will run at, which is what decides the legal
|
|
159
|
+
* bindings.
|
|
160
|
+
*
|
|
161
|
+
* Omit it and the check is DEFERRED to the call site, which knows the answer:
|
|
162
|
+
* dropping the body into `fl.map(...)` or `s.lambda({...})` validates it there,
|
|
163
|
+
* against that surface. Naming it here is for a body built away from its call
|
|
164
|
+
* site — a shared constant, or one that should fail at its own definition
|
|
165
|
+
* rather than at its use.
|
|
166
|
+
*
|
|
167
|
+
* Better still, write the body inline (`fl.map(({ $this }) => …)`), where the
|
|
168
|
+
* surface is implied and TypeScript types the bindings from the position.
|
|
169
|
+
*/
|
|
170
|
+
surface?: LambdaSurface;
|
|
171
|
+
/**
|
|
172
|
+
* Values from the enclosing TypeScript scope to carry into the body, emitted
|
|
173
|
+
* as a `const` prelude.
|
|
174
|
+
*
|
|
175
|
+
* Nothing crosses the boundary implicitly: the body is extracted as TEXT and
|
|
176
|
+
* runs in a different process, so a closed-over `const rate` is simply
|
|
177
|
+
* undefined at runtime. Rather than guess at free variables (which needs a
|
|
178
|
+
* JavaScript parser this package deliberately does not have), capture is
|
|
179
|
+
* explicit and the second parameter of the body destructures it.
|
|
180
|
+
*/
|
|
181
|
+
capture?: C;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Reject a body that cannot work at `surface`, before it can reach a live
|
|
185
|
+
* request. Three failures are unwritable after this:
|
|
186
|
+
*
|
|
187
|
+
* 1. an `$identifier` outside the surface's binding set — provably undefined at
|
|
188
|
+
* runtime, because a stack variable is only ever reachable as `$var.name`;
|
|
189
|
+
* 2. a top-level `import`/`export`, which is a syntax error in a function body
|
|
190
|
+
* (a dependency comes from {@link LAMBDA_MODULE_GLOBALS}, which needs no
|
|
191
|
+
* specifier — see there for why a literal `import()` one is not portable);
|
|
192
|
+
* 3. an empty body, which stores a statement the engine refuses at import.
|
|
193
|
+
*
|
|
194
|
+
* Exported so the statement and filter factories can run the same check on a
|
|
195
|
+
* plain `c.text(...)` body — an author who never adopts `lam.*` gets the same
|
|
196
|
+
* answer at the same moment.
|
|
197
|
+
*/
|
|
198
|
+
declare function assertLambdaBody(body: string, surface: LambdaSurface, source?: string): void;
|
|
199
|
+
/**
|
|
200
|
+
* Author a lambda body as a typed TypeScript function.
|
|
201
|
+
*
|
|
202
|
+
* The first parameter destructures the bindings for the surface, so the editor
|
|
203
|
+
* supplies them and a wrong name is a compile error rather than a wrong value at
|
|
204
|
+
* runtime. The body is extracted at author time and emitted as the same
|
|
205
|
+
* `const:text` a hand-written `c.text(...)` produced.
|
|
206
|
+
*
|
|
207
|
+
* ```ts
|
|
208
|
+
* lam.fn(({ $result, $this }) => $result + $this) // reduce
|
|
209
|
+
* lam.fn(({ $var }) => $var.subtotal * 1.2, { surface: "s.lambda" })
|
|
210
|
+
* lam.fn(({ $this }, { capturedRate }) => $this * capturedRate, { surface: "map", capture: { capturedRate: rate } })
|
|
211
|
+
* ```
|
|
212
|
+
*
|
|
213
|
+
* Nothing from the enclosing scope crosses implicitly — a closed-over value is
|
|
214
|
+
* undefined at runtime — so anything the body needs from outside goes in
|
|
215
|
+
* `capture` and arrives as the second parameter. Give the capture a key nothing
|
|
216
|
+
* at module scope shares (it need not keep the name of what it carries); a
|
|
217
|
+
* collision is refused at build time, because the loader renames one of the two
|
|
218
|
+
* and the prelude is written under the original name.
|
|
219
|
+
*/
|
|
220
|
+
declare function fn<S extends LambdaSurface = "reduce", C extends CaptureRecord<C> = Record<string, never>>(body: (bindings: LambdaBindings<S>, captured: C) => unknown, opts?: LambdaOptions<C> & {
|
|
221
|
+
surface?: S;
|
|
222
|
+
}): Value;
|
|
223
|
+
/**
|
|
224
|
+
* The escape hatch: a lambda body as text, validated exactly like {@link fn}.
|
|
225
|
+
*
|
|
226
|
+
* For a body that genuinely cannot be an authored function — one assembled at
|
|
227
|
+
* build time, or lifted verbatim out of a pulled workspace. It is guarded, not
|
|
228
|
+
* extracted, so the guard cannot be sidestepped by choosing this form.
|
|
229
|
+
*/
|
|
230
|
+
declare function raw(code: string, opts?: LambdaOptions<Record<string, CaptureValue>>): Value;
|
|
231
|
+
/**
|
|
232
|
+
* Lambda authoring. `lam.fn` for an inline typed body, `lam.raw` for text, and
|
|
233
|
+
* `lam.file` (from `@xano/sdk/node`) for a body big enough to want its own
|
|
234
|
+
* type-checked module. All three produce the same `const:text` {@link Value} and
|
|
235
|
+
* pass the same validation.
|
|
236
|
+
*
|
|
237
|
+
* `file` is deliberately absent from the TYPE here so `lam.file` off this entry
|
|
238
|
+
* is a compile error that names the Node entry; the runtime stub only catches
|
|
239
|
+
* the calls types didn't.
|
|
240
|
+
*/
|
|
241
|
+
declare const lam: {
|
|
242
|
+
fn: typeof fn;
|
|
243
|
+
raw: typeof raw;
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
/** A bare JS literal a filter argument accepts in place of a {@link Value}. */
|
|
247
|
+
type Scalar = string | number | boolean;
|
|
248
|
+
/**
|
|
249
|
+
* Marker for a filter declared `<T>` — it returns the ELEMENT of the array it
|
|
250
|
+
* is given (`first`, `last`, `array_pop`). Never a value; only a fold signal.
|
|
251
|
+
*/
|
|
252
|
+
interface ElementResult {
|
|
253
|
+
readonly __result: "element";
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Marker for a filter declared `<T>[]` — it returns an array of the same
|
|
257
|
+
* element type it was given (`reverse`, `unique`, `array_slice`).
|
|
258
|
+
*/
|
|
259
|
+
interface SameArrayResult {
|
|
260
|
+
readonly __result: "sameArray";
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Marker for a GROUP-BY — an object keyed by the argument path whose every
|
|
264
|
+
* value is an ARRAY of the elements it was given (`index_by`). A single
|
|
265
|
+
* matching item still arrives wrapped in a one-element array, so a lookup reads
|
|
266
|
+
* `idx[key][0]`.
|
|
267
|
+
*/
|
|
268
|
+
interface GroupedArrayResult {
|
|
269
|
+
readonly __result: "groupedArray";
|
|
270
|
+
}
|
|
271
|
+
/** Every filter name applicable to a value pipeline (authoritative membership). */
|
|
272
|
+
declare const FILTER_NAMES: readonly string[];
|
|
273
|
+
/**
|
|
274
|
+
* Each filter's RESULT type, at the type level.
|
|
275
|
+
*
|
|
276
|
+
* Generated from the same `result` the specs above carry, so the two cannot
|
|
277
|
+
* drift. Three entries are markers rather than concrete types, mirroring the
|
|
278
|
+
* generic results the catalog declares:
|
|
279
|
+
*
|
|
280
|
+
* - {@link ElementResult} (`<T>`) — the ELEMENT of the array it is given
|
|
281
|
+
* (`first`, `last`, `array_pop`, …)
|
|
282
|
+
* - {@link SameArrayResult} (`<T>[]`) — an array of the same element type
|
|
283
|
+
* (`reverse`, `unique`, `array_slice`, …)
|
|
284
|
+
* - {@link GroupedArrayResult} (`{ [key: string]: <T>[] }`) — a group-by
|
|
285
|
+
* keyed by the argument path (`index_by`)
|
|
286
|
+
*
|
|
287
|
+
* A filter whose result is `any` — or one upstream declares nothing for — is
|
|
288
|
+
* absent from this map and folds to `unknown`. That is deliberate: `get`,
|
|
289
|
+
* `set`, `transform`, and `json_decode` genuinely produce a shape no
|
|
290
|
+
* declaration could name, and a confident wrong type is worse than an honest
|
|
291
|
+
* `unknown`.
|
|
292
|
+
*
|
|
293
|
+
* Verified against a live engine rather than trusted (`_probe-filter-results`):
|
|
294
|
+
* one filter per declared category was executed and its actual JSON type
|
|
295
|
+
* compared with the declaration.
|
|
296
|
+
*/
|
|
297
|
+
interface FilterResults {
|
|
298
|
+
"abs": number;
|
|
299
|
+
"acos": number;
|
|
300
|
+
"acosh": number;
|
|
301
|
+
"add": number;
|
|
302
|
+
"addslashes": string;
|
|
303
|
+
"append": SameArrayResult;
|
|
304
|
+
"array_diff": SameArrayResult;
|
|
305
|
+
"array_diff_assoc": SameArrayResult;
|
|
306
|
+
"array_filter": SameArrayResult;
|
|
307
|
+
"array_find": ElementResult;
|
|
308
|
+
"array_has": boolean;
|
|
309
|
+
"array_intersect": SameArrayResult;
|
|
310
|
+
"array_intersect_assoc": SameArrayResult;
|
|
311
|
+
"array_keys": string[];
|
|
312
|
+
"array_lower": SameArrayResult;
|
|
313
|
+
"array_merge": SameArrayResult;
|
|
314
|
+
"array_merge_recursive": SameArrayResult;
|
|
315
|
+
"array_pop": ElementResult;
|
|
316
|
+
"array_push": SameArrayResult;
|
|
317
|
+
"array_push_conditional": SameArrayResult;
|
|
318
|
+
"array_remove": SameArrayResult;
|
|
319
|
+
"array_replace": SameArrayResult;
|
|
320
|
+
"array_set": Record<string, unknown>;
|
|
321
|
+
"array_shift": ElementResult;
|
|
322
|
+
"array_shuffle": SameArrayResult;
|
|
323
|
+
"array_slice": SameArrayResult;
|
|
324
|
+
"array_unshift": SameArrayResult;
|
|
325
|
+
"array_upmerge": SameArrayResult;
|
|
326
|
+
"asin": number;
|
|
327
|
+
"asinh": number;
|
|
328
|
+
"atan": number;
|
|
329
|
+
"atanh": number;
|
|
330
|
+
"avg": number;
|
|
331
|
+
"base64_decode": string;
|
|
332
|
+
"base64_decode_urlsafe": string;
|
|
333
|
+
"base64_encode": string;
|
|
334
|
+
"base64_encode_urlsafe": string;
|
|
335
|
+
"base_convert": string;
|
|
336
|
+
"bin2hex": string;
|
|
337
|
+
"bindec": string;
|
|
338
|
+
"bitwise_and": number;
|
|
339
|
+
"bitwise_not": boolean;
|
|
340
|
+
"bitwise_or": number;
|
|
341
|
+
"bitwise_xor": number;
|
|
342
|
+
"capitalize": string;
|
|
343
|
+
"ceil": number;
|
|
344
|
+
"clamp_max": number;
|
|
345
|
+
"clamp_min": number;
|
|
346
|
+
"concat": string;
|
|
347
|
+
"contains": boolean;
|
|
348
|
+
"convert_encoding": string;
|
|
349
|
+
"cos": number;
|
|
350
|
+
"count": number;
|
|
351
|
+
"crypto_jwe_encode": string;
|
|
352
|
+
"crypto_jws_encode": string;
|
|
353
|
+
"csv_create": string;
|
|
354
|
+
"csv_encode": string;
|
|
355
|
+
"decbin": string;
|
|
356
|
+
"dechex": string;
|
|
357
|
+
"decoct": string;
|
|
358
|
+
"decrypt": string;
|
|
359
|
+
"deg2rad": number;
|
|
360
|
+
"detect_encoding": string;
|
|
361
|
+
"div": number;
|
|
362
|
+
"empty": boolean;
|
|
363
|
+
"encrypt": string;
|
|
364
|
+
"ends_with": boolean;
|
|
365
|
+
"epochms_add_ms": number;
|
|
366
|
+
"epochms_add_secs": number;
|
|
367
|
+
"epochms_date": string;
|
|
368
|
+
"epochms_from_format": string;
|
|
369
|
+
"epochms_transform": string;
|
|
370
|
+
"eq": boolean;
|
|
371
|
+
"escape": string;
|
|
372
|
+
"even": boolean;
|
|
373
|
+
"exp": number;
|
|
374
|
+
"filter_empty": SameArrayResult;
|
|
375
|
+
"filter_empty_array": SameArrayResult;
|
|
376
|
+
"filter_empty_object": SameArrayResult;
|
|
377
|
+
"filter_empty_text": SameArrayResult;
|
|
378
|
+
"filter_false": SameArrayResult;
|
|
379
|
+
"filter_null": SameArrayResult;
|
|
380
|
+
"filter_zero": SameArrayResult;
|
|
381
|
+
"first": ElementResult;
|
|
382
|
+
"flatten": SameArrayResult;
|
|
383
|
+
"floor": number;
|
|
384
|
+
"from_utf8": string;
|
|
385
|
+
"fsort": SameArrayResult;
|
|
386
|
+
"gt": boolean;
|
|
387
|
+
"gte": boolean;
|
|
388
|
+
"has": boolean;
|
|
389
|
+
"hex2bin": string;
|
|
390
|
+
"hexdec": string;
|
|
391
|
+
"hmac_md5": string;
|
|
392
|
+
"hmac_sha1": string;
|
|
393
|
+
"hmac_sha256": string;
|
|
394
|
+
"hmac_sha384": string;
|
|
395
|
+
"hmac_sha512": string;
|
|
396
|
+
"icontains": boolean;
|
|
397
|
+
"iends_with": boolean;
|
|
398
|
+
"in": boolean;
|
|
399
|
+
"index_by": GroupedArrayResult;
|
|
400
|
+
"is_array": boolean;
|
|
401
|
+
"is_bool": boolean;
|
|
402
|
+
"is_decimal": boolean;
|
|
403
|
+
"is_int": boolean;
|
|
404
|
+
"is_object": boolean;
|
|
405
|
+
"is_text": boolean;
|
|
406
|
+
"is_uuid": boolean;
|
|
407
|
+
"istarts_with": boolean;
|
|
408
|
+
"join": string;
|
|
409
|
+
"json_encode": string;
|
|
410
|
+
"last": ElementResult;
|
|
411
|
+
"list_encodings": string[];
|
|
412
|
+
"ln": number;
|
|
413
|
+
"log": number;
|
|
414
|
+
"log10": number;
|
|
415
|
+
"lower": string;
|
|
416
|
+
"lt": boolean;
|
|
417
|
+
"lte": boolean;
|
|
418
|
+
"ltrim": string;
|
|
419
|
+
"max": number;
|
|
420
|
+
"md5": string;
|
|
421
|
+
"min": number;
|
|
422
|
+
"mod": number;
|
|
423
|
+
"ms_to_secs": number;
|
|
424
|
+
"mul": number;
|
|
425
|
+
"ne": boolean;
|
|
426
|
+
"not": boolean;
|
|
427
|
+
"num_max": number;
|
|
428
|
+
"num_min": number;
|
|
429
|
+
"number_format": string;
|
|
430
|
+
"octdec": string;
|
|
431
|
+
"odd": boolean;
|
|
432
|
+
"pick": ElementResult;
|
|
433
|
+
"pow": number;
|
|
434
|
+
"prepend": SameArrayResult;
|
|
435
|
+
"product": number;
|
|
436
|
+
"rad2deg": number;
|
|
437
|
+
"range": number[];
|
|
438
|
+
"regex_match": string[];
|
|
439
|
+
"regex_match_all": string[];
|
|
440
|
+
"regex_quote": string;
|
|
441
|
+
"regex_replace": string;
|
|
442
|
+
"regex_test": boolean;
|
|
443
|
+
"reverse": SameArrayResult;
|
|
444
|
+
"round": number;
|
|
445
|
+
"rsort": SameArrayResult;
|
|
446
|
+
"rtrim": string;
|
|
447
|
+
"safe_array": SameArrayResult;
|
|
448
|
+
"secs_to_ms": number;
|
|
449
|
+
"secureid_decode": number;
|
|
450
|
+
"secureid_encode": string;
|
|
451
|
+
"sha1": string;
|
|
452
|
+
"sha256": string;
|
|
453
|
+
"sha384": string;
|
|
454
|
+
"sha512": string;
|
|
455
|
+
"sin": number;
|
|
456
|
+
"splice": SameArrayResult;
|
|
457
|
+
"split": string[];
|
|
458
|
+
"sprintf": string;
|
|
459
|
+
"sql_alias": string;
|
|
460
|
+
"sql_esc": string;
|
|
461
|
+
"sqrt": number;
|
|
462
|
+
"starts_with": boolean;
|
|
463
|
+
"string_replace": string;
|
|
464
|
+
"strip_accents": string;
|
|
465
|
+
"strip_tags": string;
|
|
466
|
+
"stripos": number;
|
|
467
|
+
"strlen": number;
|
|
468
|
+
"strpos": number;
|
|
469
|
+
"sub": number;
|
|
470
|
+
"substr": string;
|
|
471
|
+
"sum": number;
|
|
472
|
+
"tan": number;
|
|
473
|
+
"text_escape": string;
|
|
474
|
+
"text_unescape": string;
|
|
475
|
+
"to_bool": boolean;
|
|
476
|
+
"to_decimal": number;
|
|
477
|
+
"to_epoch_day": number;
|
|
478
|
+
"to_epoch_hour": number;
|
|
479
|
+
"to_epoch_minute": number;
|
|
480
|
+
"to_epoch_ms": number;
|
|
481
|
+
"to_epoch_sec": number;
|
|
482
|
+
"to_epochms": number;
|
|
483
|
+
"to_geo_linestring": string;
|
|
484
|
+
"to_geo_multilinestring": string;
|
|
485
|
+
"to_geo_multipoint": string;
|
|
486
|
+
"to_geo_multipolygon": string;
|
|
487
|
+
"to_geo_point": string;
|
|
488
|
+
"to_geo_polygon": string;
|
|
489
|
+
"to_int": number;
|
|
490
|
+
"to_text": string;
|
|
491
|
+
"to_utf8": string;
|
|
492
|
+
"trim": string;
|
|
493
|
+
"uid": number;
|
|
494
|
+
"unique": SameArrayResult;
|
|
495
|
+
"unpick": ElementResult;
|
|
496
|
+
"upper": string;
|
|
497
|
+
"url_addarg": string;
|
|
498
|
+
"url_decode": string;
|
|
499
|
+
"url_decode_rfc3986": string;
|
|
500
|
+
"url_delarg": string;
|
|
501
|
+
"url_encode": string;
|
|
502
|
+
"url_encode_rfc3986": string;
|
|
503
|
+
"url_getarg": string;
|
|
504
|
+
"url_hasarg": string;
|
|
505
|
+
"uuid4": string;
|
|
506
|
+
"yaml_decode": Record<string, unknown>;
|
|
507
|
+
"yaml_encode": string;
|
|
508
|
+
}
|
|
509
|
+
/** Typed, discoverable constructors for the value `filters[]` pipeline. */
|
|
510
|
+
declare const fl: {
|
|
511
|
+
readonly abs: () => FilterXdo<"abs">;
|
|
512
|
+
readonly acos: () => FilterXdo<"acos">;
|
|
513
|
+
readonly acosh: () => FilterXdo<"acosh">;
|
|
514
|
+
readonly add: (((value: Scalar | Value) => FilterXdo<"add">) & ((args: {
|
|
515
|
+
value: Scalar | Value;
|
|
516
|
+
}) => FilterXdo<"add">));
|
|
517
|
+
readonly addslashes: () => FilterXdo<"addslashes">;
|
|
518
|
+
readonly append: (((value: Scalar | Value, path: Scalar | Value) => FilterXdo<"append">) & ((args: {
|
|
519
|
+
value: Scalar | Value;
|
|
520
|
+
path: Scalar | Value;
|
|
521
|
+
}) => FilterXdo<"append">));
|
|
522
|
+
readonly array_diff: (((value: Scalar | Value) => FilterXdo<"array_diff">) & ((args: {
|
|
523
|
+
value: Scalar | Value;
|
|
524
|
+
}) => FilterXdo<"array_diff">));
|
|
525
|
+
readonly array_diff_assoc: (((value: Scalar | Value) => FilterXdo<"array_diff_assoc">) & ((args: {
|
|
526
|
+
value: Scalar | Value;
|
|
527
|
+
}) => FilterXdo<"array_diff_assoc">));
|
|
528
|
+
readonly array_entries: () => FilterXdo<"array_entries">;
|
|
529
|
+
readonly array_fill: (((start: Scalar | Value, count: Scalar | Value) => FilterXdo<"array_fill">) & ((args: {
|
|
530
|
+
start: Scalar | Value;
|
|
531
|
+
count: Scalar | Value;
|
|
532
|
+
}) => FilterXdo<"array_fill">));
|
|
533
|
+
readonly array_fill_keys: (((keys: Scalar | Value) => FilterXdo<"array_fill_keys">) & ((args: {
|
|
534
|
+
keys: Scalar | Value;
|
|
535
|
+
}) => FilterXdo<"array_fill_keys">));
|
|
536
|
+
readonly array_filter: (((match: Scalar | Value, path?: Scalar | Value) => FilterXdo<"array_filter">) & ((args: {
|
|
537
|
+
match: Scalar | Value;
|
|
538
|
+
path?: Scalar | Value;
|
|
539
|
+
}) => FilterXdo<"array_filter">));
|
|
540
|
+
readonly array_find: (((match: Scalar | Value) => FilterXdo<"array_find">) & ((args: {
|
|
541
|
+
match: Scalar | Value;
|
|
542
|
+
}) => FilterXdo<"array_find">));
|
|
543
|
+
readonly array_has: (((match: Scalar | Value) => FilterXdo<"array_has">) & ((args: {
|
|
544
|
+
match: Scalar | Value;
|
|
545
|
+
}) => FilterXdo<"array_has">));
|
|
546
|
+
readonly array_intersect: (((value: Scalar | Value) => FilterXdo<"array_intersect">) & ((args: {
|
|
547
|
+
value: Scalar | Value;
|
|
548
|
+
}) => FilterXdo<"array_intersect">));
|
|
549
|
+
readonly array_intersect_assoc: (((value: Scalar | Value) => FilterXdo<"array_intersect_assoc">) & ((args: {
|
|
550
|
+
value: Scalar | Value;
|
|
551
|
+
}) => FilterXdo<"array_intersect_assoc">));
|
|
552
|
+
readonly array_keys: () => FilterXdo<"array_keys">;
|
|
553
|
+
readonly array_lower: () => FilterXdo<"array_lower">;
|
|
554
|
+
readonly array_merge: (((value: Scalar | Value, ...rest: (Scalar | Value)[]) => FilterXdo<"array_merge">) & ((args: {
|
|
555
|
+
value: Scalar | Value;
|
|
556
|
+
}) => FilterXdo<"array_merge">));
|
|
557
|
+
readonly array_merge_recursive: (((value: Scalar | Value, ...rest: (Scalar | Value)[]) => FilterXdo<"array_merge_recursive">) & ((args: {
|
|
558
|
+
value: Scalar | Value;
|
|
559
|
+
}) => FilterXdo<"array_merge_recursive">));
|
|
560
|
+
readonly array_pop: () => FilterXdo<"array_pop">;
|
|
561
|
+
readonly array_push: (((value: Scalar | Value) => FilterXdo<"array_push">) & ((args: {
|
|
562
|
+
value: Scalar | Value;
|
|
563
|
+
}) => FilterXdo<"array_push">));
|
|
564
|
+
readonly array_push_conditional: (((value: Scalar | Value, conditional: Scalar | Value) => FilterXdo<"array_push_conditional">) & ((args: {
|
|
565
|
+
value: Scalar | Value;
|
|
566
|
+
conditional: Scalar | Value;
|
|
567
|
+
}) => FilterXdo<"array_push_conditional">));
|
|
568
|
+
readonly array_remove: (((value: Scalar | Value, path: Scalar | Value, strict?: Scalar | Value) => FilterXdo<"array_remove">) & ((args: {
|
|
569
|
+
value: Scalar | Value;
|
|
570
|
+
path: Scalar | Value;
|
|
571
|
+
strict?: Scalar | Value;
|
|
572
|
+
}) => FilterXdo<"array_remove">));
|
|
573
|
+
readonly array_replace: (((match: Scalar | Value, result: Scalar | Value) => FilterXdo<"array_replace">) & ((args: {
|
|
574
|
+
match: Scalar | Value;
|
|
575
|
+
result: Scalar | Value;
|
|
576
|
+
}) => FilterXdo<"array_replace">));
|
|
577
|
+
readonly array_set: (((path: Scalar | Value, value: Scalar | Value) => FilterXdo<"array_set">) & ((args: {
|
|
578
|
+
path: Scalar | Value;
|
|
579
|
+
value: Scalar | Value;
|
|
580
|
+
}) => FilterXdo<"array_set">));
|
|
581
|
+
readonly array_shift: () => FilterXdo<"array_shift">;
|
|
582
|
+
readonly array_shuffle: () => FilterXdo<"array_shuffle">;
|
|
583
|
+
readonly array_slice: (((offset: Scalar | Value, length?: Scalar | Value) => FilterXdo<"array_slice">) & ((args: {
|
|
584
|
+
offset: Scalar | Value;
|
|
585
|
+
length?: Scalar | Value;
|
|
586
|
+
}) => FilterXdo<"array_slice">));
|
|
587
|
+
readonly array_unshift: (((value: Scalar | Value) => FilterXdo<"array_unshift">) & ((args: {
|
|
588
|
+
value: Scalar | Value;
|
|
589
|
+
}) => FilterXdo<"array_unshift">));
|
|
590
|
+
readonly array_upmerge: (((match: Scalar | Value, node: Scalar | Value) => FilterXdo<"array_upmerge">) & ((args: {
|
|
591
|
+
match: Scalar | Value;
|
|
592
|
+
node: Scalar | Value;
|
|
593
|
+
}) => FilterXdo<"array_upmerge">));
|
|
594
|
+
readonly array_values: () => FilterXdo<"array_values">;
|
|
595
|
+
readonly asin: () => FilterXdo<"asin">;
|
|
596
|
+
readonly asinh: () => FilterXdo<"asinh">;
|
|
597
|
+
readonly atan: () => FilterXdo<"atan">;
|
|
598
|
+
readonly atanh: () => FilterXdo<"atanh">;
|
|
599
|
+
readonly avg: () => FilterXdo<"avg">;
|
|
600
|
+
readonly base64_decode: () => FilterXdo<"base64_decode">;
|
|
601
|
+
readonly base64_decode_urlsafe: () => FilterXdo<"base64_decode_urlsafe">;
|
|
602
|
+
readonly base64_encode: () => FilterXdo<"base64_encode">;
|
|
603
|
+
readonly base64_encode_urlsafe: () => FilterXdo<"base64_encode_urlsafe">;
|
|
604
|
+
readonly base_convert: (((from_base: Scalar | Value, to_base: Scalar | Value) => FilterXdo<"base_convert">) & ((args: {
|
|
605
|
+
from_base: Scalar | Value;
|
|
606
|
+
to_base: Scalar | Value;
|
|
607
|
+
}) => FilterXdo<"base_convert">));
|
|
608
|
+
readonly bin2hex: () => FilterXdo<"bin2hex">;
|
|
609
|
+
readonly bindec: () => FilterXdo<"bindec">;
|
|
610
|
+
readonly bitwise_and: (((value: Scalar | Value) => FilterXdo<"bitwise_and">) & ((args: {
|
|
611
|
+
value: Scalar | Value;
|
|
612
|
+
}) => FilterXdo<"bitwise_and">));
|
|
613
|
+
readonly bitwise_not: () => FilterXdo<"bitwise_not">;
|
|
614
|
+
readonly bitwise_or: (((value: Scalar | Value) => FilterXdo<"bitwise_or">) & ((args: {
|
|
615
|
+
value: Scalar | Value;
|
|
616
|
+
}) => FilterXdo<"bitwise_or">));
|
|
617
|
+
readonly bitwise_xor: (((value: Scalar | Value) => FilterXdo<"bitwise_xor">) & ((args: {
|
|
618
|
+
value: Scalar | Value;
|
|
619
|
+
}) => FilterXdo<"bitwise_xor">));
|
|
620
|
+
readonly capitalize: () => FilterXdo<"capitalize">;
|
|
621
|
+
readonly ceil: () => FilterXdo<"ceil">;
|
|
622
|
+
readonly clamp_max: (((max: Scalar | Value) => FilterXdo<"clamp_max">) & ((args: {
|
|
623
|
+
max: Scalar | Value;
|
|
624
|
+
}) => FilterXdo<"clamp_max">));
|
|
625
|
+
readonly clamp_min: (((min: Scalar | Value) => FilterXdo<"clamp_min">) & ((args: {
|
|
626
|
+
min: Scalar | Value;
|
|
627
|
+
}) => FilterXdo<"clamp_min">));
|
|
628
|
+
readonly concat: (((value: Scalar | Value, ...rest: (Scalar | Value)[]) => FilterXdo<"concat">) & ((args: {
|
|
629
|
+
value: Scalar | Value;
|
|
630
|
+
}) => FilterXdo<"concat">));
|
|
631
|
+
readonly contains: (((search: Scalar | Value) => FilterXdo<"contains">) & ((args: {
|
|
632
|
+
search: Scalar | Value;
|
|
633
|
+
}) => FilterXdo<"contains">));
|
|
634
|
+
readonly convert_encoding: (((to: Scalar | Value, from: Scalar | Value) => FilterXdo<"convert_encoding">) & ((args: {
|
|
635
|
+
to: Scalar | Value;
|
|
636
|
+
from: Scalar | Value;
|
|
637
|
+
}) => FilterXdo<"convert_encoding">));
|
|
638
|
+
readonly cos: () => FilterXdo<"cos">;
|
|
639
|
+
readonly count: () => FilterXdo<"count">;
|
|
640
|
+
readonly create_object: (((values: Scalar | Value) => FilterXdo<"create_object">) & ((args: {
|
|
641
|
+
values: Scalar | Value;
|
|
642
|
+
}) => FilterXdo<"create_object">));
|
|
643
|
+
readonly create_object_from_entries: () => FilterXdo<"create_object_from_entries">;
|
|
644
|
+
readonly crypto_jwe_decode: (((check_claims: Scalar | Value, key: Scalar | Value, key_algorithm: Scalar | Value, content_algorithm: Scalar | Value, timeDrift?: Scalar | Value) => FilterXdo<"crypto_jwe_decode">) & ((args: {
|
|
645
|
+
check_claims: Scalar | Value;
|
|
646
|
+
key: Scalar | Value;
|
|
647
|
+
key_algorithm: Scalar | Value;
|
|
648
|
+
content_algorithm: Scalar | Value;
|
|
649
|
+
timeDrift?: Scalar | Value;
|
|
650
|
+
}) => FilterXdo<"crypto_jwe_decode">));
|
|
651
|
+
readonly crypto_jwe_encode: (((headers: Scalar | Value, key: Scalar | Value, key_algorithm: Scalar | Value, content_algorithm: Scalar | Value, ttl?: Scalar | Value) => FilterXdo<"crypto_jwe_encode">) & ((args: {
|
|
652
|
+
headers: Scalar | Value;
|
|
653
|
+
key: Scalar | Value;
|
|
654
|
+
key_algorithm: Scalar | Value;
|
|
655
|
+
content_algorithm: Scalar | Value;
|
|
656
|
+
ttl?: Scalar | Value;
|
|
657
|
+
}) => FilterXdo<"crypto_jwe_encode">));
|
|
658
|
+
readonly crypto_jws_decode: (((check_claims: Scalar | Value, key: Scalar | Value, algorithm: Scalar | Value, timeDrift?: Scalar | Value) => FilterXdo<"crypto_jws_decode">) & ((args: {
|
|
659
|
+
check_claims: Scalar | Value;
|
|
660
|
+
key: Scalar | Value;
|
|
661
|
+
algorithm: Scalar | Value;
|
|
662
|
+
timeDrift?: Scalar | Value;
|
|
663
|
+
}) => FilterXdo<"crypto_jws_decode">));
|
|
664
|
+
readonly crypto_jws_encode: (((headers: Scalar | Value, key: Scalar | Value, algorithm: Scalar | Value, ttl?: Scalar | Value) => FilterXdo<"crypto_jws_encode">) & ((args: {
|
|
665
|
+
headers: Scalar | Value;
|
|
666
|
+
key: Scalar | Value;
|
|
667
|
+
algorithm: Scalar | Value;
|
|
668
|
+
ttl?: Scalar | Value;
|
|
669
|
+
}) => FilterXdo<"crypto_jws_encode">));
|
|
670
|
+
readonly csv_create: (((rows: Scalar | Value, separator: Scalar | Value, enclosure: Scalar | Value, escape: Scalar | Value) => FilterXdo<"csv_create">) & ((args: {
|
|
671
|
+
rows: Scalar | Value;
|
|
672
|
+
separator: Scalar | Value;
|
|
673
|
+
enclosure: Scalar | Value;
|
|
674
|
+
escape: Scalar | Value;
|
|
675
|
+
}) => FilterXdo<"csv_create">));
|
|
676
|
+
readonly csv_decode: (((separator: Scalar | Value, enclosure: Scalar | Value, escape: Scalar | Value) => FilterXdo<"csv_decode">) & ((args: {
|
|
677
|
+
separator: Scalar | Value;
|
|
678
|
+
enclosure: Scalar | Value;
|
|
679
|
+
escape: Scalar | Value;
|
|
680
|
+
}) => FilterXdo<"csv_decode">));
|
|
681
|
+
readonly csv_encode: (((separator: Scalar | Value, enclosure: Scalar | Value, escape: Scalar | Value) => FilterXdo<"csv_encode">) & ((args: {
|
|
682
|
+
separator: Scalar | Value;
|
|
683
|
+
enclosure: Scalar | Value;
|
|
684
|
+
escape: Scalar | Value;
|
|
685
|
+
}) => FilterXdo<"csv_encode">));
|
|
686
|
+
readonly csv_parse: (((separator: Scalar | Value, enclosure: Scalar | Value, escape: Scalar | Value) => FilterXdo<"csv_parse">) & ((args: {
|
|
687
|
+
separator: Scalar | Value;
|
|
688
|
+
enclosure: Scalar | Value;
|
|
689
|
+
escape: Scalar | Value;
|
|
690
|
+
}) => FilterXdo<"csv_parse">));
|
|
691
|
+
readonly decbin: () => FilterXdo<"decbin">;
|
|
692
|
+
readonly dechex: () => FilterXdo<"dechex">;
|
|
693
|
+
readonly decoct: () => FilterXdo<"decoct">;
|
|
694
|
+
readonly decrypt: (((algorithm: Scalar | Value, key: Scalar | Value, iv: Scalar | Value) => FilterXdo<"decrypt">) & ((args: {
|
|
695
|
+
algorithm: Scalar | Value;
|
|
696
|
+
key: Scalar | Value;
|
|
697
|
+
iv: Scalar | Value;
|
|
698
|
+
}) => FilterXdo<"decrypt">));
|
|
699
|
+
readonly deg2rad: () => FilterXdo<"deg2rad">;
|
|
700
|
+
readonly detect_encoding: (((encodings?: Scalar | Value) => FilterXdo<"detect_encoding">) & ((args: {
|
|
701
|
+
encodings?: Scalar | Value;
|
|
702
|
+
}) => FilterXdo<"detect_encoding">));
|
|
703
|
+
readonly div: (((value: Scalar | Value) => FilterXdo<"div">) & ((args: {
|
|
704
|
+
value: Scalar | Value;
|
|
705
|
+
}) => FilterXdo<"div">));
|
|
706
|
+
readonly empty: () => FilterXdo<"empty">;
|
|
707
|
+
readonly encrypt: (((algorithm: Scalar | Value, key: Scalar | Value, iv: Scalar | Value) => FilterXdo<"encrypt">) & ((args: {
|
|
708
|
+
algorithm: Scalar | Value;
|
|
709
|
+
key: Scalar | Value;
|
|
710
|
+
iv: Scalar | Value;
|
|
711
|
+
}) => FilterXdo<"encrypt">));
|
|
712
|
+
readonly ends_with: (((search: Scalar | Value) => FilterXdo<"ends_with">) & ((args: {
|
|
713
|
+
search: Scalar | Value;
|
|
714
|
+
}) => FilterXdo<"ends_with">));
|
|
715
|
+
readonly epochms_add_ms: (((milliseconds: Scalar | Value) => FilterXdo<"epochms_add_ms">) & ((args: {
|
|
716
|
+
milliseconds: Scalar | Value;
|
|
717
|
+
}) => FilterXdo<"epochms_add_ms">));
|
|
718
|
+
readonly epochms_add_secs: (((seconds: Scalar | Value) => FilterXdo<"epochms_add_secs">) & ((args: {
|
|
719
|
+
seconds: Scalar | Value;
|
|
720
|
+
}) => FilterXdo<"epochms_add_secs">));
|
|
721
|
+
readonly epochms_date: (((format: Scalar | Value, timezone?: Scalar | Value) => FilterXdo<"epochms_date">) & ((args: {
|
|
722
|
+
format: Scalar | Value;
|
|
723
|
+
timezone?: Scalar | Value;
|
|
724
|
+
}) => FilterXdo<"epochms_date">));
|
|
725
|
+
readonly epochms_from_format: (((format: Scalar | Value, timezone?: Scalar | Value) => FilterXdo<"epochms_from_format">) & ((args: {
|
|
726
|
+
format: Scalar | Value;
|
|
727
|
+
timezone?: Scalar | Value;
|
|
728
|
+
}) => FilterXdo<"epochms_from_format">));
|
|
729
|
+
readonly epochms_transform: (((format: Scalar | Value, timezone?: Scalar | Value) => FilterXdo<"epochms_transform">) & ((args: {
|
|
730
|
+
format: Scalar | Value;
|
|
731
|
+
timezone?: Scalar | Value;
|
|
732
|
+
}) => FilterXdo<"epochms_transform">));
|
|
733
|
+
readonly eq: (((value: Scalar | Value) => FilterXdo<"eq">) & ((args: {
|
|
734
|
+
value: Scalar | Value;
|
|
735
|
+
}) => FilterXdo<"eq">));
|
|
736
|
+
readonly escape: () => FilterXdo<"escape">;
|
|
737
|
+
readonly even: () => FilterXdo<"even">;
|
|
738
|
+
readonly every: (((code: Scalar | Value | LambdaBody<"every">, timeout?: Scalar | Value) => FilterXdo<"every">) & ((args: {
|
|
739
|
+
code: Scalar | Value | LambdaBody<"every">;
|
|
740
|
+
timeout?: Scalar | Value;
|
|
741
|
+
}) => FilterXdo<"every">));
|
|
742
|
+
readonly exp: () => FilterXdo<"exp">;
|
|
743
|
+
readonly filter: (((code: Scalar | Value | LambdaBody<"filter">, timeout?: Scalar | Value) => FilterXdo<"filter">) & ((args: {
|
|
744
|
+
code: Scalar | Value | LambdaBody<"filter">;
|
|
745
|
+
timeout?: Scalar | Value;
|
|
746
|
+
}) => FilterXdo<"filter">));
|
|
747
|
+
readonly filter_empty: (((path?: Scalar | Value) => FilterXdo<"filter_empty">) & ((args: {
|
|
748
|
+
path?: Scalar | Value;
|
|
749
|
+
}) => FilterXdo<"filter_empty">));
|
|
750
|
+
readonly filter_empty_array: (((path?: Scalar | Value) => FilterXdo<"filter_empty_array">) & ((args: {
|
|
751
|
+
path?: Scalar | Value;
|
|
752
|
+
}) => FilterXdo<"filter_empty_array">));
|
|
753
|
+
readonly filter_empty_object: (((path?: Scalar | Value) => FilterXdo<"filter_empty_object">) & ((args: {
|
|
754
|
+
path?: Scalar | Value;
|
|
755
|
+
}) => FilterXdo<"filter_empty_object">));
|
|
756
|
+
readonly filter_empty_text: (((path?: Scalar | Value) => FilterXdo<"filter_empty_text">) & ((args: {
|
|
757
|
+
path?: Scalar | Value;
|
|
758
|
+
}) => FilterXdo<"filter_empty_text">));
|
|
759
|
+
readonly filter_false: (((path?: Scalar | Value) => FilterXdo<"filter_false">) & ((args: {
|
|
760
|
+
path?: Scalar | Value;
|
|
761
|
+
}) => FilterXdo<"filter_false">));
|
|
762
|
+
readonly filter_null: (((path?: Scalar | Value) => FilterXdo<"filter_null">) & ((args: {
|
|
763
|
+
path?: Scalar | Value;
|
|
764
|
+
}) => FilterXdo<"filter_null">));
|
|
765
|
+
readonly filter_zero: (((path?: Scalar | Value) => FilterXdo<"filter_zero">) & ((args: {
|
|
766
|
+
path?: Scalar | Value;
|
|
767
|
+
}) => FilterXdo<"filter_zero">));
|
|
768
|
+
readonly find: (((code: Scalar | Value | LambdaBody<"find">, timeout?: Scalar | Value) => FilterXdo<"find">) & ((args: {
|
|
769
|
+
code: Scalar | Value | LambdaBody<"find">;
|
|
770
|
+
timeout?: Scalar | Value;
|
|
771
|
+
}) => FilterXdo<"find">));
|
|
772
|
+
readonly findIndex: (((code: Scalar | Value | LambdaBody<"findIndex">, timeout?: Scalar | Value) => FilterXdo<"findIndex">) & ((args: {
|
|
773
|
+
code: Scalar | Value | LambdaBody<"findIndex">;
|
|
774
|
+
timeout?: Scalar | Value;
|
|
775
|
+
}) => FilterXdo<"findIndex">));
|
|
776
|
+
readonly first: () => FilterXdo<"first">;
|
|
777
|
+
readonly first_notempty: (((value: Scalar | Value) => FilterXdo<"first_notempty">) & ((args: {
|
|
778
|
+
value: Scalar | Value;
|
|
779
|
+
}) => FilterXdo<"first_notempty">));
|
|
780
|
+
readonly first_notnull: (((value: Scalar | Value) => FilterXdo<"first_notnull">) & ((args: {
|
|
781
|
+
value: Scalar | Value;
|
|
782
|
+
}) => FilterXdo<"first_notnull">));
|
|
783
|
+
readonly flatten: () => FilterXdo<"flatten">;
|
|
784
|
+
readonly floor: () => FilterXdo<"floor">;
|
|
785
|
+
readonly from_utf8: () => FilterXdo<"from_utf8">;
|
|
786
|
+
readonly fsort: (((path?: Scalar | Value, type?: "text" | "itext" | "natural" | "inatural" | "number" | Value, asc?: Scalar | Value) => FilterXdo<"fsort">) & ((args: {
|
|
787
|
+
path?: Scalar | Value;
|
|
788
|
+
type?: "text" | "itext" | "natural" | "inatural" | "number" | Value;
|
|
789
|
+
asc?: Scalar | Value;
|
|
790
|
+
}) => FilterXdo<"fsort">));
|
|
791
|
+
readonly get: (((path: Scalar | Value, default_?: Scalar | Value, ...rest: (Scalar | Value)[]) => FilterXdo<"get">) & ((args: {
|
|
792
|
+
path: Scalar | Value;
|
|
793
|
+
default_?: Scalar | Value;
|
|
794
|
+
}) => FilterXdo<"get">));
|
|
795
|
+
readonly gt: (((value: Scalar | Value) => FilterXdo<"gt">) & ((args: {
|
|
796
|
+
value: Scalar | Value;
|
|
797
|
+
}) => FilterXdo<"gt">));
|
|
798
|
+
readonly gte: (((value: Scalar | Value) => FilterXdo<"gte">) & ((args: {
|
|
799
|
+
value: Scalar | Value;
|
|
800
|
+
}) => FilterXdo<"gte">));
|
|
801
|
+
readonly has: (((path: Scalar | Value) => FilterXdo<"has">) & ((args: {
|
|
802
|
+
path: Scalar | Value;
|
|
803
|
+
}) => FilterXdo<"has">));
|
|
804
|
+
readonly hex2bin: () => FilterXdo<"hex2bin">;
|
|
805
|
+
readonly hexdec: () => FilterXdo<"hexdec">;
|
|
806
|
+
readonly hmac_md5: (((key: Scalar | Value, raw?: Scalar | Value) => FilterXdo<"hmac_md5">) & ((args: {
|
|
807
|
+
key: Scalar | Value;
|
|
808
|
+
raw?: Scalar | Value;
|
|
809
|
+
}) => FilterXdo<"hmac_md5">));
|
|
810
|
+
readonly hmac_sha1: (((key: Scalar | Value, raw?: Scalar | Value) => FilterXdo<"hmac_sha1">) & ((args: {
|
|
811
|
+
key: Scalar | Value;
|
|
812
|
+
raw?: Scalar | Value;
|
|
813
|
+
}) => FilterXdo<"hmac_sha1">));
|
|
814
|
+
readonly hmac_sha256: (((key: Scalar | Value, raw?: Scalar | Value) => FilterXdo<"hmac_sha256">) & ((args: {
|
|
815
|
+
key: Scalar | Value;
|
|
816
|
+
raw?: Scalar | Value;
|
|
817
|
+
}) => FilterXdo<"hmac_sha256">));
|
|
818
|
+
readonly hmac_sha384: (((key: Scalar | Value, raw?: Scalar | Value) => FilterXdo<"hmac_sha384">) & ((args: {
|
|
819
|
+
key: Scalar | Value;
|
|
820
|
+
raw?: Scalar | Value;
|
|
821
|
+
}) => FilterXdo<"hmac_sha384">));
|
|
822
|
+
readonly hmac_sha512: (((key: Scalar | Value, raw?: Scalar | Value) => FilterXdo<"hmac_sha512">) & ((args: {
|
|
823
|
+
key: Scalar | Value;
|
|
824
|
+
raw?: Scalar | Value;
|
|
825
|
+
}) => FilterXdo<"hmac_sha512">));
|
|
826
|
+
readonly icontains: (((search: Scalar | Value) => FilterXdo<"icontains">) & ((args: {
|
|
827
|
+
search: Scalar | Value;
|
|
828
|
+
}) => FilterXdo<"icontains">));
|
|
829
|
+
readonly iends_with: (((search: Scalar | Value) => FilterXdo<"iends_with">) & ((args: {
|
|
830
|
+
search: Scalar | Value;
|
|
831
|
+
}) => FilterXdo<"iends_with">));
|
|
832
|
+
readonly in: (((search: Scalar | Value) => FilterXdo<"in">) & ((args: {
|
|
833
|
+
search: Scalar | Value;
|
|
834
|
+
}) => FilterXdo<"in">));
|
|
835
|
+
readonly index_by: (((path: Scalar | Value, ...rest: (Scalar | Value)[]) => FilterXdo<"index_by">) & ((args: {
|
|
836
|
+
path: Scalar | Value;
|
|
837
|
+
}) => FilterXdo<"index_by">));
|
|
838
|
+
readonly is_array: () => FilterXdo<"is_array">;
|
|
839
|
+
readonly is_bool: () => FilterXdo<"is_bool">;
|
|
840
|
+
readonly is_decimal: () => FilterXdo<"is_decimal">;
|
|
841
|
+
readonly is_int: () => FilterXdo<"is_int">;
|
|
842
|
+
readonly is_object: () => FilterXdo<"is_object">;
|
|
843
|
+
readonly is_text: () => FilterXdo<"is_text">;
|
|
844
|
+
readonly is_uuid: () => FilterXdo<"is_uuid">;
|
|
845
|
+
readonly istarts_with: (((search: Scalar | Value) => FilterXdo<"istarts_with">) & ((args: {
|
|
846
|
+
search: Scalar | Value;
|
|
847
|
+
}) => FilterXdo<"istarts_with">));
|
|
848
|
+
readonly join: (((separator: Scalar | Value) => FilterXdo<"join">) & ((args: {
|
|
849
|
+
separator: Scalar | Value;
|
|
850
|
+
}) => FilterXdo<"join">));
|
|
851
|
+
readonly json_decode: () => FilterXdo<"json_decode">;
|
|
852
|
+
readonly json_encode: () => FilterXdo<"json_encode">;
|
|
853
|
+
readonly jwe_decode: (((arg1: Scalar | Value, ...rest: (Scalar | Value)[]) => FilterXdo<"jwe_decode">) & ((args: {
|
|
854
|
+
arg1: Scalar | Value;
|
|
855
|
+
}) => FilterXdo<"jwe_decode">));
|
|
856
|
+
readonly jwe_encode: (((arg1: Scalar | Value, ...rest: (Scalar | Value)[]) => FilterXdo<"jwe_encode">) & ((args: {
|
|
857
|
+
arg1: Scalar | Value;
|
|
858
|
+
}) => FilterXdo<"jwe_encode">));
|
|
859
|
+
readonly lambda: (((code: Scalar | Value | LambdaBody<"fl.lambda">, timeout?: Scalar | Value) => FilterXdo<"lambda">) & ((args: {
|
|
860
|
+
code: Scalar | Value | LambdaBody<"fl.lambda">;
|
|
861
|
+
timeout?: Scalar | Value;
|
|
862
|
+
}) => FilterXdo<"lambda">));
|
|
863
|
+
readonly last: () => FilterXdo<"last">;
|
|
864
|
+
readonly list_encodings: () => FilterXdo<"list_encodings">;
|
|
865
|
+
readonly ln: () => FilterXdo<"ln">;
|
|
866
|
+
readonly log: (((base: Scalar | Value) => FilterXdo<"log">) & ((args: {
|
|
867
|
+
base: Scalar | Value;
|
|
868
|
+
}) => FilterXdo<"log">));
|
|
869
|
+
readonly log10: () => FilterXdo<"log10">;
|
|
870
|
+
readonly lower: () => FilterXdo<"lower">;
|
|
871
|
+
readonly lt: (((value: Scalar | Value) => FilterXdo<"lt">) & ((args: {
|
|
872
|
+
value: Scalar | Value;
|
|
873
|
+
}) => FilterXdo<"lt">));
|
|
874
|
+
readonly lte: (((value: Scalar | Value) => FilterXdo<"lte">) & ((args: {
|
|
875
|
+
value: Scalar | Value;
|
|
876
|
+
}) => FilterXdo<"lte">));
|
|
877
|
+
readonly ltrim: (((mask?: Scalar | Value) => FilterXdo<"ltrim">) & ((args: {
|
|
878
|
+
mask?: Scalar | Value;
|
|
879
|
+
}) => FilterXdo<"ltrim">));
|
|
880
|
+
readonly map: (((code: Scalar | Value | LambdaBody<"map">, timeout?: Scalar | Value) => FilterXdo<"map">) & ((args: {
|
|
881
|
+
code: Scalar | Value | LambdaBody<"map">;
|
|
882
|
+
timeout?: Scalar | Value;
|
|
883
|
+
}) => FilterXdo<"map">));
|
|
884
|
+
readonly max: (((bound?: Scalar | Value) => FilterXdo<"max">) & ((args: {
|
|
885
|
+
bound?: Scalar | Value;
|
|
886
|
+
}) => FilterXdo<"max">));
|
|
887
|
+
readonly md5: (((raw?: Scalar | Value) => FilterXdo<"md5">) & ((args: {
|
|
888
|
+
raw?: Scalar | Value;
|
|
889
|
+
}) => FilterXdo<"md5">));
|
|
890
|
+
readonly min: (((bound?: Scalar | Value) => FilterXdo<"min">) & ((args: {
|
|
891
|
+
bound?: Scalar | Value;
|
|
892
|
+
}) => FilterXdo<"min">));
|
|
893
|
+
readonly mod: (((value: Scalar | Value) => FilterXdo<"mod">) & ((args: {
|
|
894
|
+
value: Scalar | Value;
|
|
895
|
+
}) => FilterXdo<"mod">));
|
|
896
|
+
readonly ms_to_secs: () => FilterXdo<"ms_to_secs">;
|
|
897
|
+
readonly mul: (((value: Scalar | Value) => FilterXdo<"mul">) & ((args: {
|
|
898
|
+
value: Scalar | Value;
|
|
899
|
+
}) => FilterXdo<"mul">));
|
|
900
|
+
readonly ne: (((value: Scalar | Value) => FilterXdo<"ne">) & ((args: {
|
|
901
|
+
value: Scalar | Value;
|
|
902
|
+
}) => FilterXdo<"ne">));
|
|
903
|
+
readonly not: () => FilterXdo<"not">;
|
|
904
|
+
readonly null: () => FilterXdo<"null">;
|
|
905
|
+
readonly num_max: (((value: Scalar | Value) => FilterXdo<"num_max">) & ((args: {
|
|
906
|
+
value: Scalar | Value;
|
|
907
|
+
}) => FilterXdo<"num_max">));
|
|
908
|
+
readonly num_min: (((value: Scalar | Value) => FilterXdo<"num_min">) & ((args: {
|
|
909
|
+
value: Scalar | Value;
|
|
910
|
+
}) => FilterXdo<"num_min">));
|
|
911
|
+
readonly number_format: (((decimals: Scalar | Value, decimal_separator: Scalar | Value, thousands_separator: Scalar | Value) => FilterXdo<"number_format">) & ((args: {
|
|
912
|
+
decimals: Scalar | Value;
|
|
913
|
+
decimal_separator: Scalar | Value;
|
|
914
|
+
thousands_separator: Scalar | Value;
|
|
915
|
+
}) => FilterXdo<"number_format">));
|
|
916
|
+
readonly octdec: () => FilterXdo<"octdec">;
|
|
917
|
+
readonly odd: () => FilterXdo<"odd">;
|
|
918
|
+
readonly pick: (((keys: Scalar | Value) => FilterXdo<"pick">) & ((args: {
|
|
919
|
+
keys: Scalar | Value;
|
|
920
|
+
}) => FilterXdo<"pick">));
|
|
921
|
+
readonly pow: (((exp: Scalar | Value) => FilterXdo<"pow">) & ((args: {
|
|
922
|
+
exp: Scalar | Value;
|
|
923
|
+
}) => FilterXdo<"pow">));
|
|
924
|
+
readonly prepend: (((value: Scalar | Value, path: Scalar | Value) => FilterXdo<"prepend">) & ((args: {
|
|
925
|
+
value: Scalar | Value;
|
|
926
|
+
path: Scalar | Value;
|
|
927
|
+
}) => FilterXdo<"prepend">));
|
|
928
|
+
readonly product: () => FilterXdo<"product">;
|
|
929
|
+
readonly querystring_parse: () => FilterXdo<"querystring_parse">;
|
|
930
|
+
readonly rad2deg: () => FilterXdo<"rad2deg">;
|
|
931
|
+
readonly range: (((start: Scalar | Value, stop: Scalar | Value) => FilterXdo<"range">) & ((args: {
|
|
932
|
+
start: Scalar | Value;
|
|
933
|
+
stop: Scalar | Value;
|
|
934
|
+
}) => FilterXdo<"range">));
|
|
935
|
+
readonly reduce: (((initial_value: Scalar | Value, code: Scalar | Value | LambdaBody<"reduce">, timeout?: Scalar | Value) => FilterXdo<"reduce">) & ((args: {
|
|
936
|
+
initial_value: Scalar | Value;
|
|
937
|
+
code: Scalar | Value | LambdaBody<"reduce">;
|
|
938
|
+
timeout?: Scalar | Value;
|
|
939
|
+
}) => FilterXdo<"reduce">));
|
|
940
|
+
readonly regex_match: (((subject: Scalar | Value) => FilterXdo<"regex_match">) & ((args: {
|
|
941
|
+
subject: Scalar | Value;
|
|
942
|
+
}) => FilterXdo<"regex_match">));
|
|
943
|
+
readonly regex_match_all: (((subject: Scalar | Value) => FilterXdo<"regex_match_all">) & ((args: {
|
|
944
|
+
subject: Scalar | Value;
|
|
945
|
+
}) => FilterXdo<"regex_match_all">));
|
|
946
|
+
readonly regex_quote: (((delimiter?: Scalar | Value) => FilterXdo<"regex_quote">) & ((args: {
|
|
947
|
+
delimiter?: Scalar | Value;
|
|
948
|
+
}) => FilterXdo<"regex_quote">));
|
|
949
|
+
readonly regex_replace: (((replacement: Scalar | Value, subject: Scalar | Value) => FilterXdo<"regex_replace">) & ((args: {
|
|
950
|
+
replacement: Scalar | Value;
|
|
951
|
+
subject: Scalar | Value;
|
|
952
|
+
}) => FilterXdo<"regex_replace">));
|
|
953
|
+
readonly regex_test: (((subject: Scalar | Value) => FilterXdo<"regex_test">) & ((args: {
|
|
954
|
+
subject: Scalar | Value;
|
|
955
|
+
}) => FilterXdo<"regex_test">));
|
|
956
|
+
readonly reverse: () => FilterXdo<"reverse">;
|
|
957
|
+
readonly round: (((precision?: Scalar | Value) => FilterXdo<"round">) & ((args: {
|
|
958
|
+
precision?: Scalar | Value;
|
|
959
|
+
}) => FilterXdo<"round">));
|
|
960
|
+
readonly rsort: () => FilterXdo<"rsort">;
|
|
961
|
+
readonly rtrim: (((mask?: Scalar | Value) => FilterXdo<"rtrim">) & ((args: {
|
|
962
|
+
mask?: Scalar | Value;
|
|
963
|
+
}) => FilterXdo<"rtrim">));
|
|
964
|
+
readonly safe_array: () => FilterXdo<"safe_array">;
|
|
965
|
+
readonly secs_to_ms: () => FilterXdo<"secs_to_ms">;
|
|
966
|
+
readonly secureid_decode: (((salt: Scalar | Value) => FilterXdo<"secureid_decode">) & ((args: {
|
|
967
|
+
salt: Scalar | Value;
|
|
968
|
+
}) => FilterXdo<"secureid_decode">));
|
|
969
|
+
readonly secureid_encode: (((salt: Scalar | Value) => FilterXdo<"secureid_encode">) & ((args: {
|
|
970
|
+
salt: Scalar | Value;
|
|
971
|
+
}) => FilterXdo<"secureid_encode">));
|
|
972
|
+
readonly set: (((path: Scalar | Value, value: Scalar | Value) => FilterXdo<"set">) & ((args: {
|
|
973
|
+
path: Scalar | Value;
|
|
974
|
+
value: Scalar | Value;
|
|
975
|
+
}) => FilterXdo<"set">));
|
|
976
|
+
readonly set_conditional: (((path: Scalar | Value, value: Scalar | Value, conditional: Scalar | Value) => FilterXdo<"set_conditional">) & ((args: {
|
|
977
|
+
path: Scalar | Value;
|
|
978
|
+
value: Scalar | Value;
|
|
979
|
+
conditional: Scalar | Value;
|
|
980
|
+
}) => FilterXdo<"set_conditional">));
|
|
981
|
+
readonly set_ifnotempty: (((path: Scalar | Value, value: Scalar | Value) => FilterXdo<"set_ifnotempty">) & ((args: {
|
|
982
|
+
path: Scalar | Value;
|
|
983
|
+
value: Scalar | Value;
|
|
984
|
+
}) => FilterXdo<"set_ifnotempty">));
|
|
985
|
+
readonly set_ifnotnull: (((path: Scalar | Value, value: Scalar | Value) => FilterXdo<"set_ifnotnull">) & ((args: {
|
|
986
|
+
path: Scalar | Value;
|
|
987
|
+
value: Scalar | Value;
|
|
988
|
+
}) => FilterXdo<"set_ifnotnull">));
|
|
989
|
+
readonly sha1: (((raw?: Scalar | Value) => FilterXdo<"sha1">) & ((args: {
|
|
990
|
+
raw?: Scalar | Value;
|
|
991
|
+
}) => FilterXdo<"sha1">));
|
|
992
|
+
readonly sha256: (((raw?: Scalar | Value) => FilterXdo<"sha256">) & ((args: {
|
|
993
|
+
raw?: Scalar | Value;
|
|
994
|
+
}) => FilterXdo<"sha256">));
|
|
995
|
+
readonly sha384: (((raw?: Scalar | Value) => FilterXdo<"sha384">) & ((args: {
|
|
996
|
+
raw?: Scalar | Value;
|
|
997
|
+
}) => FilterXdo<"sha384">));
|
|
998
|
+
readonly sha512: (((raw?: Scalar | Value) => FilterXdo<"sha512">) & ((args: {
|
|
999
|
+
raw?: Scalar | Value;
|
|
1000
|
+
}) => FilterXdo<"sha512">));
|
|
1001
|
+
readonly sin: () => FilterXdo<"sin">;
|
|
1002
|
+
readonly some: (((code: Scalar | Value | LambdaBody<"some">, timeout?: Scalar | Value) => FilterXdo<"some">) & ((args: {
|
|
1003
|
+
code: Scalar | Value | LambdaBody<"some">;
|
|
1004
|
+
timeout?: Scalar | Value;
|
|
1005
|
+
}) => FilterXdo<"some">));
|
|
1006
|
+
readonly sort: () => FilterXdo<"sort">;
|
|
1007
|
+
readonly splice: (((offset: Scalar | Value, length?: Scalar | Value, path?: Scalar | Value) => FilterXdo<"splice">) & ((args: {
|
|
1008
|
+
offset: Scalar | Value;
|
|
1009
|
+
length?: Scalar | Value;
|
|
1010
|
+
path?: Scalar | Value;
|
|
1011
|
+
}) => FilterXdo<"splice">));
|
|
1012
|
+
readonly split: (((separator: Scalar | Value) => FilterXdo<"split">) & ((args: {
|
|
1013
|
+
separator: Scalar | Value;
|
|
1014
|
+
}) => FilterXdo<"split">));
|
|
1015
|
+
readonly sprintf: (...args: (Scalar | Value)[]) => FilterXdo<"sprintf">;
|
|
1016
|
+
readonly sql_alias: () => FilterXdo<"sql_alias">;
|
|
1017
|
+
readonly sql_esc: () => FilterXdo<"sql_esc">;
|
|
1018
|
+
readonly sqrt: () => FilterXdo<"sqrt">;
|
|
1019
|
+
readonly starts_with: (((search: Scalar | Value) => FilterXdo<"starts_with">) & ((args: {
|
|
1020
|
+
search: Scalar | Value;
|
|
1021
|
+
}) => FilterXdo<"starts_with">));
|
|
1022
|
+
readonly string_replace: (((search: Scalar | Value, replacement: Scalar | Value) => FilterXdo<"string_replace">) & ((args: {
|
|
1023
|
+
search: Scalar | Value;
|
|
1024
|
+
replacement: Scalar | Value;
|
|
1025
|
+
}) => FilterXdo<"string_replace">));
|
|
1026
|
+
readonly strip_accents: () => FilterXdo<"strip_accents">;
|
|
1027
|
+
readonly strip_tags: (((exclude?: Scalar | Value) => FilterXdo<"strip_tags">) & ((args: {
|
|
1028
|
+
exclude?: Scalar | Value;
|
|
1029
|
+
}) => FilterXdo<"strip_tags">));
|
|
1030
|
+
readonly stripos: (((search: Scalar | Value) => FilterXdo<"stripos">) & ((args: {
|
|
1031
|
+
search: Scalar | Value;
|
|
1032
|
+
}) => FilterXdo<"stripos">));
|
|
1033
|
+
readonly strlen: () => FilterXdo<"strlen">;
|
|
1034
|
+
readonly strpos: (((search: Scalar | Value) => FilterXdo<"strpos">) & ((args: {
|
|
1035
|
+
search: Scalar | Value;
|
|
1036
|
+
}) => FilterXdo<"strpos">));
|
|
1037
|
+
readonly sub: (((value: Scalar | Value) => FilterXdo<"sub">) & ((args: {
|
|
1038
|
+
value: Scalar | Value;
|
|
1039
|
+
}) => FilterXdo<"sub">));
|
|
1040
|
+
readonly substr: (((start: Scalar | Value, length: Scalar | Value) => FilterXdo<"substr">) & ((args: {
|
|
1041
|
+
start: Scalar | Value;
|
|
1042
|
+
length: Scalar | Value;
|
|
1043
|
+
}) => FilterXdo<"substr">));
|
|
1044
|
+
readonly sum: () => FilterXdo<"sum">;
|
|
1045
|
+
readonly tan: () => FilterXdo<"tan">;
|
|
1046
|
+
readonly text_escape: () => FilterXdo<"text_escape">;
|
|
1047
|
+
readonly text_unescape: () => FilterXdo<"text_unescape">;
|
|
1048
|
+
readonly to_bool: () => FilterXdo<"to_bool">;
|
|
1049
|
+
readonly to_decimal: () => FilterXdo<"to_decimal">;
|
|
1050
|
+
readonly to_epoch_day: (((timezone?: Scalar | Value) => FilterXdo<"to_epoch_day">) & ((args: {
|
|
1051
|
+
timezone?: Scalar | Value;
|
|
1052
|
+
}) => FilterXdo<"to_epoch_day">));
|
|
1053
|
+
readonly to_epoch_hour: (((timezone?: Scalar | Value) => FilterXdo<"to_epoch_hour">) & ((args: {
|
|
1054
|
+
timezone?: Scalar | Value;
|
|
1055
|
+
}) => FilterXdo<"to_epoch_hour">));
|
|
1056
|
+
readonly to_epoch_minute: (((timezone?: Scalar | Value) => FilterXdo<"to_epoch_minute">) & ((args: {
|
|
1057
|
+
timezone?: Scalar | Value;
|
|
1058
|
+
}) => FilterXdo<"to_epoch_minute">));
|
|
1059
|
+
readonly to_epoch_ms: (((timezone?: Scalar | Value) => FilterXdo<"to_epoch_ms">) & ((args: {
|
|
1060
|
+
timezone?: Scalar | Value;
|
|
1061
|
+
}) => FilterXdo<"to_epoch_ms">));
|
|
1062
|
+
readonly to_epoch_sec: (((timezone?: Scalar | Value) => FilterXdo<"to_epoch_sec">) & ((args: {
|
|
1063
|
+
timezone?: Scalar | Value;
|
|
1064
|
+
}) => FilterXdo<"to_epoch_sec">));
|
|
1065
|
+
readonly to_epochms: (((timezone?: Scalar | Value) => FilterXdo<"to_epochms">) & ((args: {
|
|
1066
|
+
timezone?: Scalar | Value;
|
|
1067
|
+
}) => FilterXdo<"to_epochms">));
|
|
1068
|
+
readonly to_expr: () => FilterXdo<"to_expr">;
|
|
1069
|
+
readonly to_geo_linestring: () => FilterXdo<"to_geo_linestring">;
|
|
1070
|
+
readonly to_geo_multilinestring: () => FilterXdo<"to_geo_multilinestring">;
|
|
1071
|
+
readonly to_geo_multipoint: () => FilterXdo<"to_geo_multipoint">;
|
|
1072
|
+
readonly to_geo_multipolygon: () => FilterXdo<"to_geo_multipolygon">;
|
|
1073
|
+
readonly to_geo_point: () => FilterXdo<"to_geo_point">;
|
|
1074
|
+
readonly to_geo_polygon: () => FilterXdo<"to_geo_polygon">;
|
|
1075
|
+
readonly to_int: () => FilterXdo<"to_int">;
|
|
1076
|
+
readonly to_text: () => FilterXdo<"to_text">;
|
|
1077
|
+
readonly to_utf8: () => FilterXdo<"to_utf8">;
|
|
1078
|
+
readonly transform: (((expression: Scalar | Value) => FilterXdo<"transform">) & ((args: {
|
|
1079
|
+
expression: Scalar | Value;
|
|
1080
|
+
}) => FilterXdo<"transform">));
|
|
1081
|
+
readonly trim: (((mask?: Scalar | Value) => FilterXdo<"trim">) & ((args: {
|
|
1082
|
+
mask?: Scalar | Value;
|
|
1083
|
+
}) => FilterXdo<"trim">));
|
|
1084
|
+
readonly uid: () => FilterXdo<"uid">;
|
|
1085
|
+
readonly unique: (((path?: Scalar | Value) => FilterXdo<"unique">) & ((args: {
|
|
1086
|
+
path?: Scalar | Value;
|
|
1087
|
+
}) => FilterXdo<"unique">));
|
|
1088
|
+
readonly unpick: (((keys: Scalar | Value) => FilterXdo<"unpick">) & ((args: {
|
|
1089
|
+
keys: Scalar | Value;
|
|
1090
|
+
}) => FilterXdo<"unpick">));
|
|
1091
|
+
readonly unset: (((path: Scalar | Value) => FilterXdo<"unset">) & ((args: {
|
|
1092
|
+
path: Scalar | Value;
|
|
1093
|
+
}) => FilterXdo<"unset">));
|
|
1094
|
+
readonly upper: () => FilterXdo<"upper">;
|
|
1095
|
+
readonly url_addarg: (((key: Scalar | Value, value: Scalar | Value, encoding_rfc3986?: Scalar | Value) => FilterXdo<"url_addarg">) & ((args: {
|
|
1096
|
+
key: Scalar | Value;
|
|
1097
|
+
value: Scalar | Value;
|
|
1098
|
+
encoding_rfc3986?: Scalar | Value;
|
|
1099
|
+
}) => FilterXdo<"url_addarg">));
|
|
1100
|
+
readonly url_decode: () => FilterXdo<"url_decode">;
|
|
1101
|
+
readonly url_decode_rfc3986: () => FilterXdo<"url_decode_rfc3986">;
|
|
1102
|
+
readonly url_delarg: (((key: Scalar | Value) => FilterXdo<"url_delarg">) & ((args: {
|
|
1103
|
+
key: Scalar | Value;
|
|
1104
|
+
}) => FilterXdo<"url_delarg">));
|
|
1105
|
+
readonly url_encode: () => FilterXdo<"url_encode">;
|
|
1106
|
+
readonly url_encode_rfc3986: () => FilterXdo<"url_encode_rfc3986">;
|
|
1107
|
+
readonly url_getarg: (((key: Scalar | Value, default_?: Scalar | Value) => FilterXdo<"url_getarg">) & ((args: {
|
|
1108
|
+
key: Scalar | Value;
|
|
1109
|
+
default_?: Scalar | Value;
|
|
1110
|
+
}) => FilterXdo<"url_getarg">));
|
|
1111
|
+
readonly url_hasarg: (((key: Scalar | Value) => FilterXdo<"url_hasarg">) & ((args: {
|
|
1112
|
+
key: Scalar | Value;
|
|
1113
|
+
}) => FilterXdo<"url_hasarg">));
|
|
1114
|
+
readonly url_parse: () => FilterXdo<"url_parse">;
|
|
1115
|
+
readonly uuid4: () => FilterXdo<"uuid4">;
|
|
1116
|
+
readonly xml_decode: () => FilterXdo<"xml_decode">;
|
|
1117
|
+
readonly yaml_decode: () => FilterXdo<"yaml_decode">;
|
|
1118
|
+
readonly yaml_encode: (((options?: Scalar | Value, inline?: Scalar | Value, indent?: Scalar | Value) => FilterXdo<"yaml_encode">) & ((args: {
|
|
1119
|
+
options?: Scalar | Value;
|
|
1120
|
+
inline?: Scalar | Value;
|
|
1121
|
+
indent?: Scalar | Value;
|
|
1122
|
+
}) => FilterXdo<"yaml_encode">));
|
|
1123
|
+
};
|
|
1124
|
+
|
|
1125
|
+
/**
|
|
1126
|
+
* Schema-DSL interpreter. Turns a declarative statement schema's
|
|
1127
|
+
* `transform` rules into a runtime encoder, so the ~169 declarative statements
|
|
1128
|
+
* are driven by data (a `StatementSpec`) rather than hand-written per statement.
|
|
1129
|
+
*
|
|
1130
|
+
* A `StatementSpec` is a flat list of `FieldRule`s — one per authored field the
|
|
1131
|
+
* statement consumes — mirroring the engine's `transform.args` / `transform.blocks`
|
|
1132
|
+
* entries. Each rule says where one authored field lands in the stored statement:
|
|
1133
|
+
* - `route: { kind: "as" }` → the statement's top-level `as`.
|
|
1134
|
+
* - `route: { kind: "context-plain" }` → a plain string written at `context.<path>`.
|
|
1135
|
+
* - `route: { kind: "context-spread" }` → a Value's `{value,tag,filters}` spread
|
|
1136
|
+
* directly into `context` (the `!assign context` rule).
|
|
1137
|
+
* - `route: { kind: "context-nest" }` → a Value's `{value,tag,filters}` nested
|
|
1138
|
+
* under `context.<path>` (the `!assign context.<key>` rule).
|
|
1139
|
+
*
|
|
1140
|
+
* Rules carry optionality + an optional string `default` (the schema's `?=X`).
|
|
1141
|
+
* `output` (whether the stored item carries `output:{filters:[]}`) is NOT
|
|
1142
|
+
* derivable from the transform schema — it is engine statement-class metadata
|
|
1143
|
+
* (e.g. `uuid4` has an `as` but no `output`; `return` has a value block but no
|
|
1144
|
+
* `output`). The codegen pins it from the persisted golden fixture,
|
|
1145
|
+
* never guessing.
|
|
1146
|
+
*
|
|
1147
|
+
* Validated against real persisted fixtures (math_add, bitwise_and, object_keys,
|
|
1148
|
+
* array_push, array_pop). The codegen pipeline populates the
|
|
1149
|
+
* spec catalog from the Xano engine's schema definitions; uninterpretable schemas are
|
|
1150
|
+
* logged, never guessed.
|
|
1151
|
+
*/
|
|
1152
|
+
|
|
1153
|
+
/**
|
|
1154
|
+
* What kind of authored value a field consumes:
|
|
1155
|
+
* - `string` — a plain `static:text` arg.
|
|
1156
|
+
* - `boolean` — a plain `static:bool` arg, authored as a real boolean.
|
|
1157
|
+
* - `value` — a `!kinds assign` tagged Value.
|
|
1158
|
+
* - `comparison` — a `Condition` expression tree (the `!compare` directive).
|
|
1159
|
+
*/
|
|
1160
|
+
type FieldType = "string" | "boolean" | "value" | "comparison";
|
|
1161
|
+
/** Where one authored field lands in the stored statement. */
|
|
1162
|
+
type Route = {
|
|
1163
|
+
kind: "as";
|
|
1164
|
+
} | {
|
|
1165
|
+
kind: "context-plain";
|
|
1166
|
+
path: string;
|
|
1167
|
+
} | {
|
|
1168
|
+
kind: "context-spread";
|
|
1169
|
+
} | {
|
|
1170
|
+
kind: "context-nest";
|
|
1171
|
+
path: string;
|
|
1172
|
+
} | {
|
|
1173
|
+
kind: "context-compare";
|
|
1174
|
+
path: string;
|
|
1175
|
+
} | {
|
|
1176
|
+
kind: "input";
|
|
1177
|
+
name: string;
|
|
1178
|
+
};
|
|
1179
|
+
/**
|
|
1180
|
+
* Per-statement envelope shape, pinned from the persisted fixture — the
|
|
1181
|
+
* engine-class metadata that isn't in the transform schema. "Full" statements
|
|
1182
|
+
* (api_request, db ops, file ops) carry richer `input[]` entries and extra
|
|
1183
|
+
* top-level keys; lean statements (math, array, object) carry none of these.
|
|
1184
|
+
*/
|
|
1185
|
+
interface EnvelopeProfile {
|
|
1186
|
+
/** `input[]` entries carry `ignore/expand/children` (vs the lean `{name,value,tag,filters}`). */
|
|
1187
|
+
inputFull?: boolean;
|
|
1188
|
+
/** Always emit `as` (default `""`) even when no rule sets it. */
|
|
1189
|
+
emitAs?: boolean;
|
|
1190
|
+
/** Emit `description:""`. */
|
|
1191
|
+
description?: boolean;
|
|
1192
|
+
/** Emit `settings_registry:[]`. */
|
|
1193
|
+
settingsRegistry?: boolean;
|
|
1194
|
+
/** Emit `addon:[]`. */
|
|
1195
|
+
addon?: boolean;
|
|
1196
|
+
/** `output` is the rich `{customize:false,filters:[],items:[]}` (vs lean `{filters:[]}`). */
|
|
1197
|
+
richOutput?: boolean;
|
|
1198
|
+
}
|
|
1199
|
+
/** One authored field → its routing into the stored statement. */
|
|
1200
|
+
interface FieldRule {
|
|
1201
|
+
/** Authored field name (e.g. "as", "name", "value", "filename"). */
|
|
1202
|
+
field: string;
|
|
1203
|
+
/** String arg vs Value(assign) — determines how `default`/missing is handled. */
|
|
1204
|
+
type: FieldType;
|
|
1205
|
+
/** Optional in authoring (the schema's trailing `?`). */
|
|
1206
|
+
optional: boolean;
|
|
1207
|
+
/** Literal default for string fields when not provided (the schema's `?=X`). */
|
|
1208
|
+
default?: string;
|
|
1209
|
+
/**
|
|
1210
|
+
* The field's closed set of legal values, harvested from the engine's runtime
|
|
1211
|
+
* input schema ({@link ./input-schema.ts}) and attached by
|
|
1212
|
+
* {@link ./enums.ts attachEnums}. Absent on all but the ~36 constrained
|
|
1213
|
+
* fields. Drives three things: the generated factory's literal-union
|
|
1214
|
+
* signature, the bare-literal shorthand, and the encode-time guard in
|
|
1215
|
+
* {@link encodeFromSpec}.
|
|
1216
|
+
*/
|
|
1217
|
+
enum?: string[];
|
|
1218
|
+
/**
|
|
1219
|
+
* Written as an empty text constant when the author omits it, rather than
|
|
1220
|
+
* left out. Set by `overrides.ts` for a field that is optional to author but
|
|
1221
|
+
* that the engine reads unconditionally — it refuses a statement missing the
|
|
1222
|
+
* key at run time, after a clean deploy. The empty constant is what the
|
|
1223
|
+
* engine's own XanoScript form stores for "unset". An authored `null` writes
|
|
1224
|
+
* no key at all — the spelling a pull uses for a statement stored without it.
|
|
1225
|
+
*/
|
|
1226
|
+
emptyWhenAbsent?: true;
|
|
1227
|
+
/** Routing target. */
|
|
1228
|
+
route: Route;
|
|
1229
|
+
}
|
|
1230
|
+
interface StatementSpec {
|
|
1231
|
+
/** Stored statement name, e.g. "mvp:math_add". */
|
|
1232
|
+
name: string;
|
|
1233
|
+
/**
|
|
1234
|
+
* The `s.` path the author calls this statement by (`"s.math.add"`) — what
|
|
1235
|
+
* every error names, since the stored name appears nowhere in authored code.
|
|
1236
|
+
* Written by the codegen beside the name, so naming the factory costs no
|
|
1237
|
+
* lookup table in the client bundle.
|
|
1238
|
+
*/
|
|
1239
|
+
factory?: string;
|
|
1240
|
+
/** Marks the engine's argNameIsVar family (informational; does not affect encoding). */
|
|
1241
|
+
argNameIsVar?: boolean;
|
|
1242
|
+
/** Ordered field rules. */
|
|
1243
|
+
rules: FieldRule[];
|
|
1244
|
+
/** Emit `output` when true (pinned from the golden fixture; shape per `envelope.richOutput`). */
|
|
1245
|
+
output?: boolean;
|
|
1246
|
+
/** Per-statement envelope shape pinned from the fixture; absent = lean. */
|
|
1247
|
+
envelope?: EnvelopeProfile;
|
|
1248
|
+
}
|
|
1249
|
+
/**
|
|
1250
|
+
* Authored `output` envelope shaping (the frontend's "Output" tab). Any of the
|
|
1251
|
+
* three stored members may be set; omitted members keep their empty default.
|
|
1252
|
+
* `filters` attaches a filter chain to the result variable; `customize`/`items`
|
|
1253
|
+
* drive response field-mapping. Merged over the spec's default `output` shape.
|
|
1254
|
+
*
|
|
1255
|
+
* Prefer `asFilters` for the filter chain — it is typed, reaches every statement
|
|
1256
|
+
* rather than the subset declaring an `output`, and guards the no-binding case.
|
|
1257
|
+
* `filters` here remains the escape hatch for a chain the typed surface cannot
|
|
1258
|
+
* express; setting both throws.
|
|
1259
|
+
*/
|
|
1260
|
+
interface OutputAuthored {
|
|
1261
|
+
filters?: unknown[];
|
|
1262
|
+
customize?: boolean;
|
|
1263
|
+
items?: unknown[];
|
|
1264
|
+
}
|
|
1265
|
+
/**
|
|
1266
|
+
* Authored inputs for a spec-driven statement, keyed by field name. Besides the
|
|
1267
|
+
* spec's rule fields, five reserved envelope keys are honored: `disabled`,
|
|
1268
|
+
* `description`, `mock`, and `asFilters` ({@link StatementAnnotations} —
|
|
1269
|
+
* accepted on every statement) and `output` (an {@link OutputAuthored} shaping
|
|
1270
|
+
* the result envelope, only where the statement carries one). No engine
|
|
1271
|
+
* statement routes a rule field by any of those five names, so they are
|
|
1272
|
+
* unambiguous.
|
|
1273
|
+
*/
|
|
1274
|
+
type Authored = Record<string, string | boolean | Value | Condition | OutputAuthored | FilterXdo[] | MockMap | undefined>;
|
|
1275
|
+
/** Encode authored inputs into a `Statement` using a spec's field rules. */
|
|
1276
|
+
declare function encodeFromSpec(spec: StatementSpec, authored: Authored): Statement;
|
|
1277
|
+
/** Register a spec on the statement registry; returns its factory. */
|
|
1278
|
+
declare function registerSpec(spec: StatementSpec): (authored: Authored) => Statement;
|
|
1279
|
+
|
|
1280
|
+
declare const mathAdd: (varName: string, value: Value) => Statement;
|
|
1281
|
+
declare const mathSub: (varName: string, value: Value) => Statement;
|
|
1282
|
+
declare const mathMul: (varName: string, value: Value) => Statement;
|
|
1283
|
+
declare const mathDiv: (varName: string, value: Value) => Statement;
|
|
1284
|
+
declare const bitwiseAnd: (varName: string, value: Value) => Statement;
|
|
1285
|
+
declare const bitwiseOr: (varName: string, value: Value) => Statement;
|
|
1286
|
+
declare const bitwiseXor: (varName: string, value: Value) => Statement;
|
|
1287
|
+
declare const textAppend: (varName: string, value: Value) => Statement;
|
|
1288
|
+
declare const textPrepend: (varName: string, value: Value) => Statement;
|
|
1289
|
+
declare const objectKeys: (as: string, value: Value) => Statement;
|
|
1290
|
+
declare const objectValues: (as: string, value: Value) => Statement;
|
|
1291
|
+
declare const objectEntries: (as: string, value: Value) => Statement;
|
|
1292
|
+
/** Names of all statements produced by the generated catalog. */
|
|
1293
|
+
declare const GENERATED_STATEMENT_NAMES: string[];
|
|
1294
|
+
|
|
1295
|
+
/**
|
|
1296
|
+
* Typed, namespaced factories for the declarative statement catalog: every
|
|
1297
|
+
* generated statement is reachable + autocomplete-discoverable as
|
|
1298
|
+
* `generated.<namespace>.<method>({…})` (e.g. `generated.math.add`,
|
|
1299
|
+
* `generated.db.get`). The unified public surface is `s` in ../s.ts, which
|
|
1300
|
+
* merges these with the hand-authored control-flow specials.
|
|
1301
|
+
*/
|
|
1302
|
+
|
|
1303
|
+
declare const generated: {
|
|
1304
|
+
ai: {
|
|
1305
|
+
external: {
|
|
1306
|
+
mcp: {
|
|
1307
|
+
server_details: (a: {
|
|
1308
|
+
as?: string;
|
|
1309
|
+
url: Value;
|
|
1310
|
+
bearer_token?: Value;
|
|
1311
|
+
connection_type?: "sse" | "stream" | Value;
|
|
1312
|
+
disabled?: boolean;
|
|
1313
|
+
description?: string;
|
|
1314
|
+
asFilters?: FilterXdo[];
|
|
1315
|
+
}) => Statement;
|
|
1316
|
+
tool: {
|
|
1317
|
+
list: (a: {
|
|
1318
|
+
as?: string;
|
|
1319
|
+
url: Value;
|
|
1320
|
+
bearer_token?: Value;
|
|
1321
|
+
connection_type?: "sse" | "stream" | Value;
|
|
1322
|
+
disabled?: boolean;
|
|
1323
|
+
description?: string;
|
|
1324
|
+
asFilters?: FilterXdo[];
|
|
1325
|
+
}) => Statement;
|
|
1326
|
+
run: (a: {
|
|
1327
|
+
as?: string;
|
|
1328
|
+
url: Value;
|
|
1329
|
+
bearer_token?: Value;
|
|
1330
|
+
connection_type?: "sse" | "stream" | Value;
|
|
1331
|
+
tool: Value;
|
|
1332
|
+
args?: Value;
|
|
1333
|
+
disabled?: boolean;
|
|
1334
|
+
description?: string;
|
|
1335
|
+
asFilters?: FilterXdo[];
|
|
1336
|
+
}) => Statement;
|
|
1337
|
+
};
|
|
1338
|
+
};
|
|
1339
|
+
};
|
|
1340
|
+
};
|
|
1341
|
+
api: {
|
|
1342
|
+
request: (a: {
|
|
1343
|
+
as?: string;
|
|
1344
|
+
url: Value;
|
|
1345
|
+
method?: "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "OPTIONS" | "PATCH" | Value;
|
|
1346
|
+
params?: Value;
|
|
1347
|
+
headers?: Value;
|
|
1348
|
+
timeout?: Value;
|
|
1349
|
+
follow_location?: Value;
|
|
1350
|
+
verify_host?: Value;
|
|
1351
|
+
verify_peer?: Value;
|
|
1352
|
+
ca_certificate?: Value;
|
|
1353
|
+
certificate?: Value;
|
|
1354
|
+
certificate_pass?: Value;
|
|
1355
|
+
private_key?: Value;
|
|
1356
|
+
private_key_pass?: Value;
|
|
1357
|
+
disabled?: boolean;
|
|
1358
|
+
description?: string;
|
|
1359
|
+
asFilters?: FilterXdo[];
|
|
1360
|
+
output?: OutputAuthored;
|
|
1361
|
+
}) => Statement;
|
|
1362
|
+
stream: (a: {
|
|
1363
|
+
value: Value;
|
|
1364
|
+
disabled?: boolean;
|
|
1365
|
+
description?: string;
|
|
1366
|
+
}) => Statement;
|
|
1367
|
+
};
|
|
1368
|
+
array: {
|
|
1369
|
+
difference: (a?: {
|
|
1370
|
+
as?: string;
|
|
1371
|
+
expr?: Value;
|
|
1372
|
+
value?: Value;
|
|
1373
|
+
by?: Value;
|
|
1374
|
+
disabled?: boolean;
|
|
1375
|
+
description?: string;
|
|
1376
|
+
asFilters?: FilterXdo[];
|
|
1377
|
+
}) => Statement;
|
|
1378
|
+
every: (a?: {
|
|
1379
|
+
expr?: Value;
|
|
1380
|
+
as?: string;
|
|
1381
|
+
if?: Condition;
|
|
1382
|
+
disabled?: boolean;
|
|
1383
|
+
description?: string;
|
|
1384
|
+
asFilters?: FilterXdo[];
|
|
1385
|
+
output?: OutputAuthored;
|
|
1386
|
+
}) => Statement;
|
|
1387
|
+
filter: (a?: {
|
|
1388
|
+
expr?: Value;
|
|
1389
|
+
as?: string;
|
|
1390
|
+
if?: Condition;
|
|
1391
|
+
disabled?: boolean;
|
|
1392
|
+
description?: string;
|
|
1393
|
+
asFilters?: FilterXdo[];
|
|
1394
|
+
}) => Statement;
|
|
1395
|
+
filter_count: (a?: {
|
|
1396
|
+
expr?: Value;
|
|
1397
|
+
as?: string;
|
|
1398
|
+
if?: Condition;
|
|
1399
|
+
disabled?: boolean;
|
|
1400
|
+
description?: string;
|
|
1401
|
+
asFilters?: FilterXdo[];
|
|
1402
|
+
}) => Statement;
|
|
1403
|
+
find: (a?: {
|
|
1404
|
+
expr?: Value;
|
|
1405
|
+
as?: string;
|
|
1406
|
+
if?: Condition;
|
|
1407
|
+
disabled?: boolean;
|
|
1408
|
+
description?: string;
|
|
1409
|
+
asFilters?: FilterXdo[];
|
|
1410
|
+
output?: OutputAuthored;
|
|
1411
|
+
}) => Statement;
|
|
1412
|
+
find_index: (a?: {
|
|
1413
|
+
expr?: Value;
|
|
1414
|
+
as?: string;
|
|
1415
|
+
if?: Condition;
|
|
1416
|
+
disabled?: boolean;
|
|
1417
|
+
description?: string;
|
|
1418
|
+
asFilters?: FilterXdo[];
|
|
1419
|
+
}) => Statement;
|
|
1420
|
+
group_by: (a?: {
|
|
1421
|
+
as?: string;
|
|
1422
|
+
expr?: Value;
|
|
1423
|
+
by?: Value;
|
|
1424
|
+
disabled?: boolean;
|
|
1425
|
+
description?: string;
|
|
1426
|
+
asFilters?: FilterXdo[];
|
|
1427
|
+
}) => Statement;
|
|
1428
|
+
has: (a?: {
|
|
1429
|
+
expr?: Value;
|
|
1430
|
+
as?: string;
|
|
1431
|
+
if?: Condition;
|
|
1432
|
+
disabled?: boolean;
|
|
1433
|
+
description?: string;
|
|
1434
|
+
asFilters?: FilterXdo[];
|
|
1435
|
+
}) => Statement;
|
|
1436
|
+
intersection: (a?: {
|
|
1437
|
+
as?: string;
|
|
1438
|
+
expr?: Value;
|
|
1439
|
+
value?: Value;
|
|
1440
|
+
by?: Value;
|
|
1441
|
+
disabled?: boolean;
|
|
1442
|
+
description?: string;
|
|
1443
|
+
asFilters?: FilterXdo[];
|
|
1444
|
+
}) => Statement;
|
|
1445
|
+
merge: (a?: {
|
|
1446
|
+
name?: string;
|
|
1447
|
+
value?: Value;
|
|
1448
|
+
disabled?: boolean;
|
|
1449
|
+
description?: string;
|
|
1450
|
+
output?: OutputAuthored;
|
|
1451
|
+
}) => Statement;
|
|
1452
|
+
partition: (a?: {
|
|
1453
|
+
expr?: Value;
|
|
1454
|
+
as?: string;
|
|
1455
|
+
if?: Condition;
|
|
1456
|
+
disabled?: boolean;
|
|
1457
|
+
description?: string;
|
|
1458
|
+
asFilters?: FilterXdo[];
|
|
1459
|
+
}) => Statement;
|
|
1460
|
+
pop: (a?: {
|
|
1461
|
+
name?: string;
|
|
1462
|
+
as?: string;
|
|
1463
|
+
disabled?: boolean;
|
|
1464
|
+
description?: string;
|
|
1465
|
+
asFilters?: FilterXdo[];
|
|
1466
|
+
output?: OutputAuthored;
|
|
1467
|
+
}) => Statement;
|
|
1468
|
+
push: (a: {
|
|
1469
|
+
name?: string;
|
|
1470
|
+
value: Value;
|
|
1471
|
+
disabled?: boolean;
|
|
1472
|
+
description?: string;
|
|
1473
|
+
output?: OutputAuthored;
|
|
1474
|
+
}) => Statement;
|
|
1475
|
+
shift: (a?: {
|
|
1476
|
+
name?: string;
|
|
1477
|
+
as?: string;
|
|
1478
|
+
disabled?: boolean;
|
|
1479
|
+
description?: string;
|
|
1480
|
+
asFilters?: FilterXdo[];
|
|
1481
|
+
}) => Statement;
|
|
1482
|
+
unshift: (a: {
|
|
1483
|
+
name?: string;
|
|
1484
|
+
value: Value;
|
|
1485
|
+
disabled?: boolean;
|
|
1486
|
+
description?: string;
|
|
1487
|
+
}) => Statement;
|
|
1488
|
+
};
|
|
1489
|
+
await: (a?: {
|
|
1490
|
+
as?: string;
|
|
1491
|
+
ids?: Value;
|
|
1492
|
+
timeout?: Value;
|
|
1493
|
+
disabled?: boolean;
|
|
1494
|
+
description?: string;
|
|
1495
|
+
asFilters?: FilterXdo[];
|
|
1496
|
+
}) => Statement;
|
|
1497
|
+
cloud: {
|
|
1498
|
+
algolia: {
|
|
1499
|
+
request: (a: {
|
|
1500
|
+
as?: string;
|
|
1501
|
+
application_id: Value;
|
|
1502
|
+
api_key: Value;
|
|
1503
|
+
url: Value;
|
|
1504
|
+
method?: "POST" | "GET" | "DELETE" | "PUT" | Value;
|
|
1505
|
+
payload: Value;
|
|
1506
|
+
disabled?: boolean;
|
|
1507
|
+
description?: string;
|
|
1508
|
+
asFilters?: FilterXdo[];
|
|
1509
|
+
output?: OutputAuthored;
|
|
1510
|
+
}) => Statement;
|
|
1511
|
+
};
|
|
1512
|
+
aws: {
|
|
1513
|
+
opensearch: {
|
|
1514
|
+
document: (a: {
|
|
1515
|
+
as?: string;
|
|
1516
|
+
auth_type?: "IAM" | "master" | Value;
|
|
1517
|
+
key_id: Value;
|
|
1518
|
+
access_key: Value;
|
|
1519
|
+
region: Value;
|
|
1520
|
+
base_url: Value;
|
|
1521
|
+
method?: "GET" | "POST" | "PUT" | "DELETE" | Value;
|
|
1522
|
+
index: Value;
|
|
1523
|
+
doc_id: Value;
|
|
1524
|
+
doc: Value;
|
|
1525
|
+
disabled?: boolean;
|
|
1526
|
+
description?: string;
|
|
1527
|
+
asFilters?: FilterXdo[];
|
|
1528
|
+
}) => Statement;
|
|
1529
|
+
query: (a: {
|
|
1530
|
+
as?: string;
|
|
1531
|
+
auth_type?: "IAM" | "master" | Value;
|
|
1532
|
+
key_id: Value;
|
|
1533
|
+
access_key: Value;
|
|
1534
|
+
region: Value;
|
|
1535
|
+
base_url: Value;
|
|
1536
|
+
index: Value;
|
|
1537
|
+
payload: Value;
|
|
1538
|
+
size?: Value;
|
|
1539
|
+
from?: Value;
|
|
1540
|
+
included_fields?: Value;
|
|
1541
|
+
return_type?: "search" | "count" | Value;
|
|
1542
|
+
expression?: Value;
|
|
1543
|
+
sort?: Value;
|
|
1544
|
+
disabled?: boolean;
|
|
1545
|
+
description?: string;
|
|
1546
|
+
asFilters?: FilterXdo[];
|
|
1547
|
+
}) => Statement;
|
|
1548
|
+
request: (a: {
|
|
1549
|
+
as?: string;
|
|
1550
|
+
auth_type?: "IAM" | "master" | Value;
|
|
1551
|
+
key_id: Value;
|
|
1552
|
+
access_key: Value;
|
|
1553
|
+
region: Value;
|
|
1554
|
+
method?: "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "OPTIONS" | "PATCH" | Value;
|
|
1555
|
+
url: Value;
|
|
1556
|
+
query: Value;
|
|
1557
|
+
disabled?: boolean;
|
|
1558
|
+
description?: string;
|
|
1559
|
+
asFilters?: FilterXdo[];
|
|
1560
|
+
}) => Statement;
|
|
1561
|
+
};
|
|
1562
|
+
s3: {
|
|
1563
|
+
delete_file: (a: {
|
|
1564
|
+
as?: string;
|
|
1565
|
+
bucket: Value;
|
|
1566
|
+
region: Value;
|
|
1567
|
+
key: Value;
|
|
1568
|
+
secret: Value;
|
|
1569
|
+
file_key: Value;
|
|
1570
|
+
disabled?: boolean;
|
|
1571
|
+
description?: string;
|
|
1572
|
+
asFilters?: FilterXdo[];
|
|
1573
|
+
}) => Statement;
|
|
1574
|
+
get_file_info: (a: {
|
|
1575
|
+
as?: string;
|
|
1576
|
+
bucket: Value;
|
|
1577
|
+
region: Value;
|
|
1578
|
+
key: Value;
|
|
1579
|
+
secret: Value;
|
|
1580
|
+
file_key: Value;
|
|
1581
|
+
disabled?: boolean;
|
|
1582
|
+
description?: string;
|
|
1583
|
+
asFilters?: FilterXdo[];
|
|
1584
|
+
}) => Statement;
|
|
1585
|
+
list_directory: (a: {
|
|
1586
|
+
as?: string;
|
|
1587
|
+
bucket: Value;
|
|
1588
|
+
region: Value;
|
|
1589
|
+
key: Value;
|
|
1590
|
+
secret: Value;
|
|
1591
|
+
prefix?: Value;
|
|
1592
|
+
next_page_token?: Value;
|
|
1593
|
+
disabled?: boolean;
|
|
1594
|
+
description?: string;
|
|
1595
|
+
asFilters?: FilterXdo[];
|
|
1596
|
+
}) => Statement;
|
|
1597
|
+
read_file: (a: {
|
|
1598
|
+
as?: string;
|
|
1599
|
+
bucket: Value;
|
|
1600
|
+
region: Value;
|
|
1601
|
+
key: Value;
|
|
1602
|
+
secret: Value;
|
|
1603
|
+
file_key: Value;
|
|
1604
|
+
disabled?: boolean;
|
|
1605
|
+
description?: string;
|
|
1606
|
+
asFilters?: FilterXdo[];
|
|
1607
|
+
}) => Statement;
|
|
1608
|
+
sign_url: (a: {
|
|
1609
|
+
as?: string;
|
|
1610
|
+
bucket: Value;
|
|
1611
|
+
region: Value;
|
|
1612
|
+
key: Value;
|
|
1613
|
+
secret: Value;
|
|
1614
|
+
file_key: Value;
|
|
1615
|
+
ttl?: Value;
|
|
1616
|
+
disabled?: boolean;
|
|
1617
|
+
description?: string;
|
|
1618
|
+
asFilters?: FilterXdo[];
|
|
1619
|
+
}) => Statement;
|
|
1620
|
+
upload_file: (a: {
|
|
1621
|
+
as?: string;
|
|
1622
|
+
bucket: Value;
|
|
1623
|
+
region: Value;
|
|
1624
|
+
key: Value;
|
|
1625
|
+
secret: Value;
|
|
1626
|
+
file_key?: Value;
|
|
1627
|
+
file: Value;
|
|
1628
|
+
metadata?: Value;
|
|
1629
|
+
object_lock_mode?: "compliance" | "governance" | Value;
|
|
1630
|
+
object_lock_retain_until?: Value;
|
|
1631
|
+
disabled?: boolean;
|
|
1632
|
+
description?: string;
|
|
1633
|
+
asFilters?: FilterXdo[];
|
|
1634
|
+
}) => Statement;
|
|
1635
|
+
};
|
|
1636
|
+
};
|
|
1637
|
+
azure: {
|
|
1638
|
+
storage: {
|
|
1639
|
+
delete_file: (a: {
|
|
1640
|
+
as?: string;
|
|
1641
|
+
account_name: Value;
|
|
1642
|
+
account_key: Value;
|
|
1643
|
+
container_name: Value;
|
|
1644
|
+
filePath: Value;
|
|
1645
|
+
disabled?: boolean;
|
|
1646
|
+
description?: string;
|
|
1647
|
+
asFilters?: FilterXdo[];
|
|
1648
|
+
}) => Statement;
|
|
1649
|
+
get_file_info: (a: {
|
|
1650
|
+
as?: string;
|
|
1651
|
+
account_name: Value;
|
|
1652
|
+
account_key: Value;
|
|
1653
|
+
container_name: Value;
|
|
1654
|
+
filePath: Value;
|
|
1655
|
+
disabled?: boolean;
|
|
1656
|
+
description?: string;
|
|
1657
|
+
asFilters?: FilterXdo[];
|
|
1658
|
+
}) => Statement;
|
|
1659
|
+
list_directory: (a: {
|
|
1660
|
+
as?: string;
|
|
1661
|
+
account_name: Value;
|
|
1662
|
+
account_key: Value;
|
|
1663
|
+
container_name: Value;
|
|
1664
|
+
path?: Value;
|
|
1665
|
+
disabled?: boolean;
|
|
1666
|
+
description?: string;
|
|
1667
|
+
asFilters?: FilterXdo[];
|
|
1668
|
+
}) => Statement;
|
|
1669
|
+
read_file: (a: {
|
|
1670
|
+
as?: string;
|
|
1671
|
+
account_name: Value;
|
|
1672
|
+
account_key: Value;
|
|
1673
|
+
container_name: Value;
|
|
1674
|
+
filePath: Value;
|
|
1675
|
+
disabled?: boolean;
|
|
1676
|
+
description?: string;
|
|
1677
|
+
asFilters?: FilterXdo[];
|
|
1678
|
+
}) => Statement;
|
|
1679
|
+
sign_url: (a: {
|
|
1680
|
+
as?: string;
|
|
1681
|
+
account_name: Value;
|
|
1682
|
+
account_key: Value;
|
|
1683
|
+
container_name: Value;
|
|
1684
|
+
path: Value;
|
|
1685
|
+
ttl?: Value;
|
|
1686
|
+
disabled?: boolean;
|
|
1687
|
+
description?: string;
|
|
1688
|
+
asFilters?: FilterXdo[];
|
|
1689
|
+
}) => Statement;
|
|
1690
|
+
upload_file: (a: {
|
|
1691
|
+
as?: string;
|
|
1692
|
+
account_name: Value;
|
|
1693
|
+
account_key: Value;
|
|
1694
|
+
container_name: Value;
|
|
1695
|
+
filePath: Value;
|
|
1696
|
+
file: Value;
|
|
1697
|
+
metadata?: Value;
|
|
1698
|
+
disabled?: boolean;
|
|
1699
|
+
description?: string;
|
|
1700
|
+
asFilters?: FilterXdo[];
|
|
1701
|
+
}) => Statement;
|
|
1702
|
+
};
|
|
1703
|
+
};
|
|
1704
|
+
elasticsearch: {
|
|
1705
|
+
document: (a: {
|
|
1706
|
+
as?: string;
|
|
1707
|
+
auth_type?: "Basic" | "Bearer" | "API Key" | Value;
|
|
1708
|
+
key_id: Value;
|
|
1709
|
+
access_key: Value;
|
|
1710
|
+
base_url: Value;
|
|
1711
|
+
index: Value;
|
|
1712
|
+
method?: "GET" | "POST" | "PUT" | "DELETE" | Value;
|
|
1713
|
+
doc_id: Value;
|
|
1714
|
+
doc: Value;
|
|
1715
|
+
disabled?: boolean;
|
|
1716
|
+
description?: string;
|
|
1717
|
+
asFilters?: FilterXdo[];
|
|
1718
|
+
}) => Statement;
|
|
1719
|
+
query: (a: {
|
|
1720
|
+
as?: string;
|
|
1721
|
+
auth_type?: "Basic" | "Bearer" | "API Key" | Value;
|
|
1722
|
+
key_id: Value;
|
|
1723
|
+
access_key: Value;
|
|
1724
|
+
base_url: Value;
|
|
1725
|
+
index: Value;
|
|
1726
|
+
payload: Value;
|
|
1727
|
+
size?: Value;
|
|
1728
|
+
from?: Value;
|
|
1729
|
+
included_fields?: Value;
|
|
1730
|
+
return_type?: "search" | "count" | Value;
|
|
1731
|
+
expression?: Value;
|
|
1732
|
+
sort?: Value;
|
|
1733
|
+
disabled?: boolean;
|
|
1734
|
+
description?: string;
|
|
1735
|
+
asFilters?: FilterXdo[];
|
|
1736
|
+
}) => Statement;
|
|
1737
|
+
request: (a: {
|
|
1738
|
+
as?: string;
|
|
1739
|
+
auth_type?: "Basic" | "Bearer" | "API Key" | Value;
|
|
1740
|
+
key_id: Value;
|
|
1741
|
+
access_key: Value;
|
|
1742
|
+
method?: "POST" | "GET" | "PUT" | "DELETE" | "PATCH" | Value;
|
|
1743
|
+
url: Value;
|
|
1744
|
+
payload: Value;
|
|
1745
|
+
disabled?: boolean;
|
|
1746
|
+
description?: string;
|
|
1747
|
+
asFilters?: FilterXdo[];
|
|
1748
|
+
}) => Statement;
|
|
1749
|
+
};
|
|
1750
|
+
google: {
|
|
1751
|
+
storage: {
|
|
1752
|
+
delete_file: (a: {
|
|
1753
|
+
as?: string;
|
|
1754
|
+
service_account: Value;
|
|
1755
|
+
bucket: Value;
|
|
1756
|
+
filePath: Value;
|
|
1757
|
+
disabled?: boolean;
|
|
1758
|
+
description?: string;
|
|
1759
|
+
asFilters?: FilterXdo[];
|
|
1760
|
+
}) => Statement;
|
|
1761
|
+
get_file_info: (a: {
|
|
1762
|
+
as?: string;
|
|
1763
|
+
service_account: Value;
|
|
1764
|
+
bucket: Value;
|
|
1765
|
+
filePath: Value;
|
|
1766
|
+
disabled?: boolean;
|
|
1767
|
+
description?: string;
|
|
1768
|
+
asFilters?: FilterXdo[];
|
|
1769
|
+
}) => Statement;
|
|
1770
|
+
list_directory: (a: {
|
|
1771
|
+
as?: string;
|
|
1772
|
+
service_account: Value;
|
|
1773
|
+
bucket: Value;
|
|
1774
|
+
path: Value;
|
|
1775
|
+
disabled?: boolean;
|
|
1776
|
+
description?: string;
|
|
1777
|
+
asFilters?: FilterXdo[];
|
|
1778
|
+
}) => Statement;
|
|
1779
|
+
read_file: (a: {
|
|
1780
|
+
as?: string;
|
|
1781
|
+
service_account: Value;
|
|
1782
|
+
bucket: Value;
|
|
1783
|
+
filePath: Value;
|
|
1784
|
+
disabled?: boolean;
|
|
1785
|
+
description?: string;
|
|
1786
|
+
asFilters?: FilterXdo[];
|
|
1787
|
+
}) => Statement;
|
|
1788
|
+
sign_url: (a: {
|
|
1789
|
+
as?: string;
|
|
1790
|
+
service_account: Value;
|
|
1791
|
+
bucket: Value;
|
|
1792
|
+
filePath: Value;
|
|
1793
|
+
method?: "GET" | "POST" | Value;
|
|
1794
|
+
ttl?: Value;
|
|
1795
|
+
disabled?: boolean;
|
|
1796
|
+
description?: string;
|
|
1797
|
+
asFilters?: FilterXdo[];
|
|
1798
|
+
}) => Statement;
|
|
1799
|
+
upload_file: (a: {
|
|
1800
|
+
as?: string;
|
|
1801
|
+
service_account: Value;
|
|
1802
|
+
bucket: Value;
|
|
1803
|
+
filePath: Value;
|
|
1804
|
+
file: Value;
|
|
1805
|
+
metadata?: Value;
|
|
1806
|
+
disabled?: boolean;
|
|
1807
|
+
description?: string;
|
|
1808
|
+
asFilters?: FilterXdo[];
|
|
1809
|
+
}) => Statement;
|
|
1810
|
+
};
|
|
1811
|
+
};
|
|
1812
|
+
};
|
|
1813
|
+
datadog: {
|
|
1814
|
+
log: (a: {
|
|
1815
|
+
message: Value;
|
|
1816
|
+
status?: "debug" | "info" | "notice" | "warn" | "error" | "critical" | "alert" | "emergency" | Value;
|
|
1817
|
+
attributes?: Value;
|
|
1818
|
+
service?: Value;
|
|
1819
|
+
source?: Value;
|
|
1820
|
+
env?: Value;
|
|
1821
|
+
hostname?: Value;
|
|
1822
|
+
tags?: Value;
|
|
1823
|
+
timestamp?: Value;
|
|
1824
|
+
connection?: Value;
|
|
1825
|
+
disabled?: boolean;
|
|
1826
|
+
description?: string;
|
|
1827
|
+
}) => Statement;
|
|
1828
|
+
log_bulk: (a: {
|
|
1829
|
+
entries: Value;
|
|
1830
|
+
connection?: Value;
|
|
1831
|
+
disabled?: boolean;
|
|
1832
|
+
description?: string;
|
|
1833
|
+
}) => Statement;
|
|
1834
|
+
metric: (a: {
|
|
1835
|
+
metric: Value;
|
|
1836
|
+
value: Value;
|
|
1837
|
+
type?: "count" | "gauge" | "rate" | "histogram" | "distribution" | Value;
|
|
1838
|
+
tags?: Value;
|
|
1839
|
+
service?: Value;
|
|
1840
|
+
source?: Value;
|
|
1841
|
+
env?: Value;
|
|
1842
|
+
hostname?: Value;
|
|
1843
|
+
timestamp?: Value;
|
|
1844
|
+
connection?: Value;
|
|
1845
|
+
disabled?: boolean;
|
|
1846
|
+
description?: string;
|
|
1847
|
+
}) => Statement;
|
|
1848
|
+
metric_bulk: (a: {
|
|
1849
|
+
entries: Value;
|
|
1850
|
+
connection?: Value;
|
|
1851
|
+
disabled?: boolean;
|
|
1852
|
+
description?: string;
|
|
1853
|
+
}) => Statement;
|
|
1854
|
+
};
|
|
1855
|
+
db: {
|
|
1856
|
+
set_datasource: (a: {
|
|
1857
|
+
value: Value;
|
|
1858
|
+
workspace_id?: Value;
|
|
1859
|
+
disabled?: boolean;
|
|
1860
|
+
description?: string;
|
|
1861
|
+
}) => Statement;
|
|
1862
|
+
};
|
|
1863
|
+
debug: {
|
|
1864
|
+
log: (a: {
|
|
1865
|
+
value: Value;
|
|
1866
|
+
disabled?: boolean;
|
|
1867
|
+
description?: string;
|
|
1868
|
+
}) => Statement;
|
|
1869
|
+
stop: (a: {
|
|
1870
|
+
value: Value;
|
|
1871
|
+
disabled?: boolean;
|
|
1872
|
+
description?: string;
|
|
1873
|
+
}) => Statement;
|
|
1874
|
+
};
|
|
1875
|
+
expect: {
|
|
1876
|
+
to_be_defined: (a?: {
|
|
1877
|
+
expr?: Value;
|
|
1878
|
+
disabled?: boolean;
|
|
1879
|
+
description?: string;
|
|
1880
|
+
}) => Statement;
|
|
1881
|
+
to_be_empty: (a?: {
|
|
1882
|
+
expr?: Value;
|
|
1883
|
+
disabled?: boolean;
|
|
1884
|
+
description?: string;
|
|
1885
|
+
}) => Statement;
|
|
1886
|
+
to_be_false: (a?: {
|
|
1887
|
+
expr?: Value;
|
|
1888
|
+
disabled?: boolean;
|
|
1889
|
+
description?: string;
|
|
1890
|
+
}) => Statement;
|
|
1891
|
+
to_be_greater_than: (a?: {
|
|
1892
|
+
expr?: Value;
|
|
1893
|
+
value?: Value;
|
|
1894
|
+
disabled?: boolean;
|
|
1895
|
+
description?: string;
|
|
1896
|
+
}) => Statement;
|
|
1897
|
+
to_be_in_the_future: (a?: {
|
|
1898
|
+
expr?: Value;
|
|
1899
|
+
disabled?: boolean;
|
|
1900
|
+
description?: string;
|
|
1901
|
+
}) => Statement;
|
|
1902
|
+
to_be_in_the_past: (a?: {
|
|
1903
|
+
expr?: Value;
|
|
1904
|
+
disabled?: boolean;
|
|
1905
|
+
description?: string;
|
|
1906
|
+
}) => Statement;
|
|
1907
|
+
to_be_less_than: (a?: {
|
|
1908
|
+
expr?: Value;
|
|
1909
|
+
value?: Value;
|
|
1910
|
+
disabled?: boolean;
|
|
1911
|
+
description?: string;
|
|
1912
|
+
}) => Statement;
|
|
1913
|
+
to_be_null: (a?: {
|
|
1914
|
+
expr?: Value;
|
|
1915
|
+
disabled?: boolean;
|
|
1916
|
+
description?: string;
|
|
1917
|
+
}) => Statement;
|
|
1918
|
+
to_be_true: (a?: {
|
|
1919
|
+
expr?: Value;
|
|
1920
|
+
disabled?: boolean;
|
|
1921
|
+
description?: string;
|
|
1922
|
+
}) => Statement;
|
|
1923
|
+
to_be_within: (a?: {
|
|
1924
|
+
expr?: Value;
|
|
1925
|
+
min?: Value;
|
|
1926
|
+
max?: Value;
|
|
1927
|
+
disabled?: boolean;
|
|
1928
|
+
description?: string;
|
|
1929
|
+
}) => Statement;
|
|
1930
|
+
to_contain: (a?: {
|
|
1931
|
+
expr?: Value;
|
|
1932
|
+
value?: Value;
|
|
1933
|
+
disabled?: boolean;
|
|
1934
|
+
description?: string;
|
|
1935
|
+
}) => Statement;
|
|
1936
|
+
to_end_with: (a?: {
|
|
1937
|
+
expr?: Value;
|
|
1938
|
+
value?: Value;
|
|
1939
|
+
disabled?: boolean;
|
|
1940
|
+
description?: string;
|
|
1941
|
+
}) => Statement;
|
|
1942
|
+
to_equal: (a?: {
|
|
1943
|
+
expr?: Value;
|
|
1944
|
+
value?: Value;
|
|
1945
|
+
disabled?: boolean;
|
|
1946
|
+
description?: string;
|
|
1947
|
+
}) => Statement;
|
|
1948
|
+
to_match: (a?: {
|
|
1949
|
+
expr?: Value;
|
|
1950
|
+
value?: Value;
|
|
1951
|
+
disabled?: boolean;
|
|
1952
|
+
description?: string;
|
|
1953
|
+
}) => Statement;
|
|
1954
|
+
to_not_be_defined: (a?: {
|
|
1955
|
+
expr?: Value;
|
|
1956
|
+
disabled?: boolean;
|
|
1957
|
+
description?: string;
|
|
1958
|
+
}) => Statement;
|
|
1959
|
+
to_not_be_null: (a?: {
|
|
1960
|
+
expr?: Value;
|
|
1961
|
+
disabled?: boolean;
|
|
1962
|
+
description?: string;
|
|
1963
|
+
}) => Statement;
|
|
1964
|
+
to_not_equal: (a?: {
|
|
1965
|
+
expr?: Value;
|
|
1966
|
+
value?: Value;
|
|
1967
|
+
disabled?: boolean;
|
|
1968
|
+
description?: string;
|
|
1969
|
+
}) => Statement;
|
|
1970
|
+
to_start_with: (a?: {
|
|
1971
|
+
expr?: Value;
|
|
1972
|
+
value?: Value;
|
|
1973
|
+
disabled?: boolean;
|
|
1974
|
+
description?: string;
|
|
1975
|
+
}) => Statement;
|
|
1976
|
+
};
|
|
1977
|
+
lambda: (a: {
|
|
1978
|
+
as?: string;
|
|
1979
|
+
code: Value | LambdaBody<"s.lambda">;
|
|
1980
|
+
timeout?: Value;
|
|
1981
|
+
disabled?: boolean;
|
|
1982
|
+
description?: string;
|
|
1983
|
+
asFilters?: FilterXdo[];
|
|
1984
|
+
}) => Statement;
|
|
1985
|
+
math: {
|
|
1986
|
+
add: (a: {
|
|
1987
|
+
name?: string;
|
|
1988
|
+
value: Value;
|
|
1989
|
+
disabled?: boolean;
|
|
1990
|
+
description?: string;
|
|
1991
|
+
output?: OutputAuthored;
|
|
1992
|
+
}) => Statement;
|
|
1993
|
+
bitwise: {
|
|
1994
|
+
and: (a: {
|
|
1995
|
+
name?: string;
|
|
1996
|
+
value: Value;
|
|
1997
|
+
disabled?: boolean;
|
|
1998
|
+
description?: string;
|
|
1999
|
+
output?: OutputAuthored;
|
|
2000
|
+
}) => Statement;
|
|
2001
|
+
or: (a: {
|
|
2002
|
+
name?: string;
|
|
2003
|
+
value: Value;
|
|
2004
|
+
disabled?: boolean;
|
|
2005
|
+
description?: string;
|
|
2006
|
+
output?: OutputAuthored;
|
|
2007
|
+
}) => Statement;
|
|
2008
|
+
xor: (a: {
|
|
2009
|
+
name?: string;
|
|
2010
|
+
value: Value;
|
|
2011
|
+
disabled?: boolean;
|
|
2012
|
+
description?: string;
|
|
2013
|
+
output?: OutputAuthored;
|
|
2014
|
+
}) => Statement;
|
|
2015
|
+
};
|
|
2016
|
+
div: (a: {
|
|
2017
|
+
name?: string;
|
|
2018
|
+
value: Value;
|
|
2019
|
+
disabled?: boolean;
|
|
2020
|
+
description?: string;
|
|
2021
|
+
}) => Statement;
|
|
2022
|
+
mod: (a: {
|
|
2023
|
+
name?: string;
|
|
2024
|
+
value: Value;
|
|
2025
|
+
disabled?: boolean;
|
|
2026
|
+
description?: string;
|
|
2027
|
+
}) => Statement;
|
|
2028
|
+
mul: (a: {
|
|
2029
|
+
name?: string;
|
|
2030
|
+
value: Value;
|
|
2031
|
+
disabled?: boolean;
|
|
2032
|
+
description?: string;
|
|
2033
|
+
}) => Statement;
|
|
2034
|
+
sub: (a: {
|
|
2035
|
+
name?: string;
|
|
2036
|
+
value: Value;
|
|
2037
|
+
disabled?: boolean;
|
|
2038
|
+
description?: string;
|
|
2039
|
+
}) => Statement;
|
|
2040
|
+
};
|
|
2041
|
+
mcp: {
|
|
2042
|
+
oauth: {
|
|
2043
|
+
complete: (a: {
|
|
2044
|
+
as?: string;
|
|
2045
|
+
request: Value;
|
|
2046
|
+
decision: "approve" | "deny" | Value;
|
|
2047
|
+
unsafe_user_id?: Value;
|
|
2048
|
+
disabled?: boolean;
|
|
2049
|
+
description?: string;
|
|
2050
|
+
asFilters?: FilterXdo[];
|
|
2051
|
+
}) => Statement;
|
|
2052
|
+
request: (a: {
|
|
2053
|
+
as?: string;
|
|
2054
|
+
request: Value;
|
|
2055
|
+
disabled?: boolean;
|
|
2056
|
+
description?: string;
|
|
2057
|
+
asFilters?: FilterXdo[];
|
|
2058
|
+
}) => Statement;
|
|
2059
|
+
revoke: (a: {
|
|
2060
|
+
as?: string;
|
|
2061
|
+
mcp_server: Value;
|
|
2062
|
+
user_id?: Value;
|
|
2063
|
+
grant_id?: Value;
|
|
2064
|
+
all?: Value;
|
|
2065
|
+
disabled?: boolean;
|
|
2066
|
+
description?: string;
|
|
2067
|
+
asFilters?: FilterXdo[];
|
|
2068
|
+
}) => Statement;
|
|
2069
|
+
};
|
|
2070
|
+
progress: (a: {
|
|
2071
|
+
progress: Value;
|
|
2072
|
+
total?: Value;
|
|
2073
|
+
message?: Value;
|
|
2074
|
+
disabled?: boolean;
|
|
2075
|
+
description?: string;
|
|
2076
|
+
}) => Statement;
|
|
2077
|
+
};
|
|
2078
|
+
microservice: {
|
|
2079
|
+
request: (a: {
|
|
2080
|
+
as?: string;
|
|
2081
|
+
host: Value;
|
|
2082
|
+
path: Value;
|
|
2083
|
+
method?: "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "OPTIONS" | "PATCH" | Value;
|
|
2084
|
+
params?: Value;
|
|
2085
|
+
headers: Value;
|
|
2086
|
+
timeout?: Value;
|
|
2087
|
+
follow_location?: Value;
|
|
2088
|
+
disabled?: boolean;
|
|
2089
|
+
description?: string;
|
|
2090
|
+
asFilters?: FilterXdo[];
|
|
2091
|
+
}) => Statement;
|
|
2092
|
+
};
|
|
2093
|
+
object: {
|
|
2094
|
+
entries: (a?: {
|
|
2095
|
+
as?: string;
|
|
2096
|
+
value?: Value;
|
|
2097
|
+
disabled?: boolean;
|
|
2098
|
+
description?: string;
|
|
2099
|
+
asFilters?: FilterXdo[];
|
|
2100
|
+
output?: OutputAuthored;
|
|
2101
|
+
}) => Statement;
|
|
2102
|
+
keys: (a?: {
|
|
2103
|
+
as?: string;
|
|
2104
|
+
value?: Value;
|
|
2105
|
+
disabled?: boolean;
|
|
2106
|
+
description?: string;
|
|
2107
|
+
asFilters?: FilterXdo[];
|
|
2108
|
+
output?: OutputAuthored;
|
|
2109
|
+
}) => Statement;
|
|
2110
|
+
values: (a?: {
|
|
2111
|
+
as?: string;
|
|
2112
|
+
value?: Value;
|
|
2113
|
+
disabled?: boolean;
|
|
2114
|
+
description?: string;
|
|
2115
|
+
asFilters?: FilterXdo[];
|
|
2116
|
+
output?: OutputAuthored;
|
|
2117
|
+
}) => Statement;
|
|
2118
|
+
};
|
|
2119
|
+
precondition: (a?: {
|
|
2120
|
+
expr?: Condition;
|
|
2121
|
+
error_type?: string;
|
|
2122
|
+
error?: Value;
|
|
2123
|
+
payload?: Value;
|
|
2124
|
+
disabled?: boolean;
|
|
2125
|
+
description?: string;
|
|
2126
|
+
}) => Statement;
|
|
2127
|
+
realtime: {
|
|
2128
|
+
get_session: (a?: {
|
|
2129
|
+
as?: string;
|
|
2130
|
+
disabled?: boolean;
|
|
2131
|
+
description?: string;
|
|
2132
|
+
asFilters?: FilterXdo[];
|
|
2133
|
+
}) => Statement;
|
|
2134
|
+
};
|
|
2135
|
+
redis: {
|
|
2136
|
+
count: (a: {
|
|
2137
|
+
as?: string;
|
|
2138
|
+
key: Value;
|
|
2139
|
+
disabled?: boolean;
|
|
2140
|
+
description?: string;
|
|
2141
|
+
asFilters?: FilterXdo[];
|
|
2142
|
+
}) => Statement;
|
|
2143
|
+
decr: (a: {
|
|
2144
|
+
as?: string;
|
|
2145
|
+
key: Value;
|
|
2146
|
+
by?: Value;
|
|
2147
|
+
disabled?: boolean;
|
|
2148
|
+
description?: string;
|
|
2149
|
+
asFilters?: FilterXdo[];
|
|
2150
|
+
}) => Statement;
|
|
2151
|
+
del: (a: {
|
|
2152
|
+
key: Value;
|
|
2153
|
+
disabled?: boolean;
|
|
2154
|
+
description?: string;
|
|
2155
|
+
}) => Statement;
|
|
2156
|
+
get: (a: {
|
|
2157
|
+
as?: string;
|
|
2158
|
+
key: Value;
|
|
2159
|
+
disabled?: boolean;
|
|
2160
|
+
description?: string;
|
|
2161
|
+
asFilters?: FilterXdo[];
|
|
2162
|
+
}) => Statement;
|
|
2163
|
+
has: (a: {
|
|
2164
|
+
as?: string;
|
|
2165
|
+
key: Value;
|
|
2166
|
+
disabled?: boolean;
|
|
2167
|
+
description?: string;
|
|
2168
|
+
asFilters?: FilterXdo[];
|
|
2169
|
+
}) => Statement;
|
|
2170
|
+
incr: (a: {
|
|
2171
|
+
as?: string;
|
|
2172
|
+
key: Value;
|
|
2173
|
+
by?: Value;
|
|
2174
|
+
disabled?: boolean;
|
|
2175
|
+
description?: string;
|
|
2176
|
+
asFilters?: FilterXdo[];
|
|
2177
|
+
}) => Statement;
|
|
2178
|
+
keys: (a: {
|
|
2179
|
+
as?: string;
|
|
2180
|
+
search: Value;
|
|
2181
|
+
disabled?: boolean;
|
|
2182
|
+
description?: string;
|
|
2183
|
+
asFilters?: FilterXdo[];
|
|
2184
|
+
}) => Statement;
|
|
2185
|
+
pop: (a: {
|
|
2186
|
+
as?: string;
|
|
2187
|
+
key: Value;
|
|
2188
|
+
count?: Value;
|
|
2189
|
+
disabled?: boolean;
|
|
2190
|
+
description?: string;
|
|
2191
|
+
asFilters?: FilterXdo[];
|
|
2192
|
+
}) => Statement;
|
|
2193
|
+
push: (a: {
|
|
2194
|
+
as?: string;
|
|
2195
|
+
key: Value;
|
|
2196
|
+
value: Value;
|
|
2197
|
+
disabled?: boolean;
|
|
2198
|
+
description?: string;
|
|
2199
|
+
asFilters?: FilterXdo[];
|
|
2200
|
+
}) => Statement;
|
|
2201
|
+
range: (a: {
|
|
2202
|
+
as?: string;
|
|
2203
|
+
key: Value;
|
|
2204
|
+
start?: Value;
|
|
2205
|
+
stop?: Value;
|
|
2206
|
+
disabled?: boolean;
|
|
2207
|
+
description?: string;
|
|
2208
|
+
asFilters?: FilterXdo[];
|
|
2209
|
+
}) => Statement;
|
|
2210
|
+
ratelimit: (a: {
|
|
2211
|
+
as?: string;
|
|
2212
|
+
key: Value;
|
|
2213
|
+
max?: Value;
|
|
2214
|
+
ttl?: Value;
|
|
2215
|
+
error?: Value;
|
|
2216
|
+
disabled?: boolean;
|
|
2217
|
+
description?: string;
|
|
2218
|
+
asFilters?: FilterXdo[];
|
|
2219
|
+
}) => Statement;
|
|
2220
|
+
remove: (a: {
|
|
2221
|
+
as?: string;
|
|
2222
|
+
key: Value;
|
|
2223
|
+
value: Value;
|
|
2224
|
+
count?: Value;
|
|
2225
|
+
disabled?: boolean;
|
|
2226
|
+
description?: string;
|
|
2227
|
+
asFilters?: FilterXdo[];
|
|
2228
|
+
}) => Statement;
|
|
2229
|
+
set: (a: {
|
|
2230
|
+
as?: string;
|
|
2231
|
+
key: Value;
|
|
2232
|
+
data: Value;
|
|
2233
|
+
ttl?: Value;
|
|
2234
|
+
create_only?: Value;
|
|
2235
|
+
disabled?: boolean;
|
|
2236
|
+
description?: string;
|
|
2237
|
+
asFilters?: FilterXdo[];
|
|
2238
|
+
}) => Statement;
|
|
2239
|
+
shift: (a: {
|
|
2240
|
+
as?: string;
|
|
2241
|
+
key: Value;
|
|
2242
|
+
count?: Value;
|
|
2243
|
+
disabled?: boolean;
|
|
2244
|
+
description?: string;
|
|
2245
|
+
asFilters?: FilterXdo[];
|
|
2246
|
+
}) => Statement;
|
|
2247
|
+
unshift: (a: {
|
|
2248
|
+
as?: string;
|
|
2249
|
+
key: Value;
|
|
2250
|
+
value: Value;
|
|
2251
|
+
disabled?: boolean;
|
|
2252
|
+
description?: string;
|
|
2253
|
+
asFilters?: FilterXdo[];
|
|
2254
|
+
}) => Statement;
|
|
2255
|
+
};
|
|
2256
|
+
security: {
|
|
2257
|
+
check_password: (a: {
|
|
2258
|
+
as?: string;
|
|
2259
|
+
text_password: Value;
|
|
2260
|
+
hash_password: Value;
|
|
2261
|
+
disabled?: boolean;
|
|
2262
|
+
description?: string;
|
|
2263
|
+
asFilters?: FilterXdo[];
|
|
2264
|
+
output?: OutputAuthored;
|
|
2265
|
+
}) => Statement;
|
|
2266
|
+
create_curve_key: (a?: {
|
|
2267
|
+
as?: string;
|
|
2268
|
+
curve?: "P-256" | "P-384" | "P-521" | Value;
|
|
2269
|
+
format?: "object" | "base64" | Value;
|
|
2270
|
+
disabled?: boolean;
|
|
2271
|
+
description?: string;
|
|
2272
|
+
asFilters?: FilterXdo[];
|
|
2273
|
+
}) => Statement;
|
|
2274
|
+
create_password: (a?: {
|
|
2275
|
+
as?: string;
|
|
2276
|
+
character_count?: Value;
|
|
2277
|
+
require_lowercase?: Value;
|
|
2278
|
+
require_uppercase?: Value;
|
|
2279
|
+
require_digit?: Value;
|
|
2280
|
+
require_symbol?: Value;
|
|
2281
|
+
symbol_whitelist?: Value;
|
|
2282
|
+
disabled?: boolean;
|
|
2283
|
+
description?: string;
|
|
2284
|
+
asFilters?: FilterXdo[];
|
|
2285
|
+
}) => Statement;
|
|
2286
|
+
create_rsa_key: (a?: {
|
|
2287
|
+
as?: string;
|
|
2288
|
+
bits?: Value;
|
|
2289
|
+
format?: "object" | "base64" | Value;
|
|
2290
|
+
disabled?: boolean;
|
|
2291
|
+
description?: string;
|
|
2292
|
+
asFilters?: FilterXdo[];
|
|
2293
|
+
}) => Statement;
|
|
2294
|
+
create_secret_key: (a?: {
|
|
2295
|
+
as?: string;
|
|
2296
|
+
bits?: Value;
|
|
2297
|
+
format?: "object" | "base64" | Value;
|
|
2298
|
+
disabled?: boolean;
|
|
2299
|
+
description?: string;
|
|
2300
|
+
asFilters?: FilterXdo[];
|
|
2301
|
+
}) => Statement;
|
|
2302
|
+
create_uuid: (a?: {
|
|
2303
|
+
as?: string;
|
|
2304
|
+
disabled?: boolean;
|
|
2305
|
+
description?: string;
|
|
2306
|
+
asFilters?: FilterXdo[];
|
|
2307
|
+
}) => Statement;
|
|
2308
|
+
decrypt: (a: {
|
|
2309
|
+
as?: string;
|
|
2310
|
+
data: Value;
|
|
2311
|
+
algorithm?: "aes-128-cbc" | "aes-192-cbc" | "aes-256-cbc" | "aes-128-gcm" | "aes-192-gcm" | "aes-256-gcm" | Value;
|
|
2312
|
+
key: Value;
|
|
2313
|
+
iv: Value;
|
|
2314
|
+
disabled?: boolean;
|
|
2315
|
+
description?: string;
|
|
2316
|
+
asFilters?: FilterXdo[];
|
|
2317
|
+
}) => Statement;
|
|
2318
|
+
encrypt: (a: {
|
|
2319
|
+
as?: string;
|
|
2320
|
+
data: Value;
|
|
2321
|
+
algorithm?: "aes-128-cbc" | "aes-192-cbc" | "aes-256-cbc" | "aes-128-gcm" | "aes-192-gcm" | "aes-256-gcm" | Value;
|
|
2322
|
+
key: Value;
|
|
2323
|
+
iv: Value;
|
|
2324
|
+
disabled?: boolean;
|
|
2325
|
+
description?: string;
|
|
2326
|
+
asFilters?: FilterXdo[];
|
|
2327
|
+
}) => Statement;
|
|
2328
|
+
jwe_decode: (a: {
|
|
2329
|
+
as?: string;
|
|
2330
|
+
token: Value;
|
|
2331
|
+
key: Value;
|
|
2332
|
+
check_claims?: Value;
|
|
2333
|
+
key_algorithm?: "A128KW" | "A192KW" | "A256KW" | "A128GCMKW" | "A192GCMKW" | "A256GCMKW" | "ECDH-ES+A128KW" | "ECDH-ES+A192KW" | "ECDH-ES+A256KW" | Value;
|
|
2334
|
+
content_algorithm?: "A128GCM" | "A192GCM" | "A256GCM" | "A128CBC-HS256" | "A192CBC-HS384" | "A256CBC-HS512" | Value;
|
|
2335
|
+
timeDrift?: Value;
|
|
2336
|
+
disabled?: boolean;
|
|
2337
|
+
description?: string;
|
|
2338
|
+
asFilters?: FilterXdo[];
|
|
2339
|
+
}) => Statement;
|
|
2340
|
+
jwe_encode: (a: {
|
|
2341
|
+
as?: string;
|
|
2342
|
+
headers?: Value;
|
|
2343
|
+
claims?: Value;
|
|
2344
|
+
key: Value;
|
|
2345
|
+
key_algorithm?: "A128KW" | "A192KW" | "A256KW" | "A128GCMKW" | "A192GCMKW" | "A256GCMKW" | "ECDH-ES+A128KW" | "ECDH-ES+A192KW" | "ECDH-ES+A256KW" | Value;
|
|
2346
|
+
content_algorithm?: "A128GCM" | "A192GCM" | "A256GCM" | "A128CBC-HS256" | "A192CBC-HS384" | "A256CBC-HS512" | Value;
|
|
2347
|
+
ttl?: Value;
|
|
2348
|
+
disabled?: boolean;
|
|
2349
|
+
description?: string;
|
|
2350
|
+
asFilters?: FilterXdo[];
|
|
2351
|
+
}) => Statement;
|
|
2352
|
+
jws_decode: (a: {
|
|
2353
|
+
as?: string;
|
|
2354
|
+
token: Value;
|
|
2355
|
+
key: Value;
|
|
2356
|
+
check_claims?: Value;
|
|
2357
|
+
signature_algorithm?: "PS256" | "PS384" | "PS512" | "RS256" | "RS384" | "RS512" | "HS256" | "HS384" | "HS512" | "ES256" | "ES384" | "ES512" | Value;
|
|
2358
|
+
timeDrift?: Value;
|
|
2359
|
+
disabled?: boolean;
|
|
2360
|
+
description?: string;
|
|
2361
|
+
asFilters?: FilterXdo[];
|
|
2362
|
+
}) => Statement;
|
|
2363
|
+
jws_encode: (a: {
|
|
2364
|
+
as?: string;
|
|
2365
|
+
headers?: Value;
|
|
2366
|
+
claims?: Value;
|
|
2367
|
+
key: Value;
|
|
2368
|
+
signature_algorithm?: "PS256" | "PS384" | "PS512" | "RS256" | "RS384" | "RS512" | "HS256" | "HS384" | "HS512" | "ES256" | "ES384" | "ES512" | Value;
|
|
2369
|
+
ttl?: Value;
|
|
2370
|
+
disabled?: boolean;
|
|
2371
|
+
description?: string;
|
|
2372
|
+
asFilters?: FilterXdo[];
|
|
2373
|
+
}) => Statement;
|
|
2374
|
+
random_bytes: (a?: {
|
|
2375
|
+
as?: string;
|
|
2376
|
+
length?: Value;
|
|
2377
|
+
disabled?: boolean;
|
|
2378
|
+
description?: string;
|
|
2379
|
+
asFilters?: FilterXdo[];
|
|
2380
|
+
}) => Statement;
|
|
2381
|
+
random_number: (a?: {
|
|
2382
|
+
as?: string;
|
|
2383
|
+
min?: Value;
|
|
2384
|
+
max?: Value;
|
|
2385
|
+
disabled?: boolean;
|
|
2386
|
+
description?: string;
|
|
2387
|
+
asFilters?: FilterXdo[];
|
|
2388
|
+
}) => Statement;
|
|
2389
|
+
};
|
|
2390
|
+
storage: {
|
|
2391
|
+
create_attachment: (a: {
|
|
2392
|
+
as?: string;
|
|
2393
|
+
value: Value;
|
|
2394
|
+
access?: string;
|
|
2395
|
+
filename?: Value;
|
|
2396
|
+
include_meta?: boolean;
|
|
2397
|
+
type?: Value;
|
|
2398
|
+
disabled?: boolean;
|
|
2399
|
+
description?: string;
|
|
2400
|
+
asFilters?: FilterXdo[];
|
|
2401
|
+
}) => Statement;
|
|
2402
|
+
create_audio: (a: {
|
|
2403
|
+
as?: string;
|
|
2404
|
+
value: Value;
|
|
2405
|
+
access?: string;
|
|
2406
|
+
filename?: Value;
|
|
2407
|
+
disabled?: boolean;
|
|
2408
|
+
description?: string;
|
|
2409
|
+
asFilters?: FilterXdo[];
|
|
2410
|
+
output?: OutputAuthored;
|
|
2411
|
+
}) => Statement;
|
|
2412
|
+
create_file_resource: (a: {
|
|
2413
|
+
as?: string;
|
|
2414
|
+
filename: Value;
|
|
2415
|
+
filedata: Value;
|
|
2416
|
+
disabled?: boolean;
|
|
2417
|
+
description?: string;
|
|
2418
|
+
asFilters?: FilterXdo[];
|
|
2419
|
+
output?: OutputAuthored;
|
|
2420
|
+
}) => Statement;
|
|
2421
|
+
create_image: (a: {
|
|
2422
|
+
as?: string;
|
|
2423
|
+
value: Value;
|
|
2424
|
+
access?: string;
|
|
2425
|
+
filename?: Value;
|
|
2426
|
+
disabled?: boolean;
|
|
2427
|
+
description?: string;
|
|
2428
|
+
asFilters?: FilterXdo[];
|
|
2429
|
+
output?: OutputAuthored;
|
|
2430
|
+
}) => Statement;
|
|
2431
|
+
create_video: (a: {
|
|
2432
|
+
as?: string;
|
|
2433
|
+
value: Value;
|
|
2434
|
+
access?: string;
|
|
2435
|
+
filename?: Value;
|
|
2436
|
+
disabled?: boolean;
|
|
2437
|
+
description?: string;
|
|
2438
|
+
asFilters?: FilterXdo[];
|
|
2439
|
+
output?: OutputAuthored;
|
|
2440
|
+
}) => Statement;
|
|
2441
|
+
delete_file: (a: {
|
|
2442
|
+
pathname: Value;
|
|
2443
|
+
disabled?: boolean;
|
|
2444
|
+
description?: string;
|
|
2445
|
+
output?: OutputAuthored;
|
|
2446
|
+
}) => Statement;
|
|
2447
|
+
read_file_resource: (a: {
|
|
2448
|
+
as?: string;
|
|
2449
|
+
value: Value;
|
|
2450
|
+
disabled?: boolean;
|
|
2451
|
+
description?: string;
|
|
2452
|
+
asFilters?: FilterXdo[];
|
|
2453
|
+
}) => Statement;
|
|
2454
|
+
sign_private_url: (a: {
|
|
2455
|
+
as?: string;
|
|
2456
|
+
pathname: Value;
|
|
2457
|
+
ttl?: Value;
|
|
2458
|
+
disabled?: boolean;
|
|
2459
|
+
description?: string;
|
|
2460
|
+
asFilters?: FilterXdo[];
|
|
2461
|
+
}) => Statement;
|
|
2462
|
+
};
|
|
2463
|
+
stream: {
|
|
2464
|
+
from_csv: (a: {
|
|
2465
|
+
as?: string;
|
|
2466
|
+
value: Value;
|
|
2467
|
+
separator?: Value;
|
|
2468
|
+
enclosure?: Value;
|
|
2469
|
+
escape_char?: Value;
|
|
2470
|
+
disabled?: boolean;
|
|
2471
|
+
description?: string;
|
|
2472
|
+
asFilters?: FilterXdo[];
|
|
2473
|
+
output?: OutputAuthored;
|
|
2474
|
+
}) => Statement;
|
|
2475
|
+
from_jsonl: (a: {
|
|
2476
|
+
as?: string;
|
|
2477
|
+
value: Value;
|
|
2478
|
+
disabled?: boolean;
|
|
2479
|
+
description?: string;
|
|
2480
|
+
asFilters?: FilterXdo[];
|
|
2481
|
+
}) => Statement;
|
|
2482
|
+
from_request: (a: {
|
|
2483
|
+
as?: string;
|
|
2484
|
+
url: Value;
|
|
2485
|
+
method?: Value;
|
|
2486
|
+
params?: Value;
|
|
2487
|
+
headers?: Value;
|
|
2488
|
+
timeout?: Value;
|
|
2489
|
+
follow_location?: Value;
|
|
2490
|
+
verify_host?: Value;
|
|
2491
|
+
verify_peer?: Value;
|
|
2492
|
+
ca_certificate?: Value;
|
|
2493
|
+
certificate?: Value;
|
|
2494
|
+
certificate_pass?: Value;
|
|
2495
|
+
private_key?: Value;
|
|
2496
|
+
private_key_pass?: Value;
|
|
2497
|
+
disabled?: boolean;
|
|
2498
|
+
description?: string;
|
|
2499
|
+
asFilters?: FilterXdo[];
|
|
2500
|
+
}) => Statement;
|
|
2501
|
+
};
|
|
2502
|
+
text: {
|
|
2503
|
+
append: (a: {
|
|
2504
|
+
name?: string;
|
|
2505
|
+
value: Value;
|
|
2506
|
+
disabled?: boolean;
|
|
2507
|
+
description?: string;
|
|
2508
|
+
}) => Statement;
|
|
2509
|
+
contains: (a: {
|
|
2510
|
+
name?: string;
|
|
2511
|
+
as?: string;
|
|
2512
|
+
value: Value;
|
|
2513
|
+
disabled?: boolean;
|
|
2514
|
+
description?: string;
|
|
2515
|
+
asFilters?: FilterXdo[];
|
|
2516
|
+
}) => Statement;
|
|
2517
|
+
ends_with: (a: {
|
|
2518
|
+
name?: string;
|
|
2519
|
+
as?: string;
|
|
2520
|
+
value: Value;
|
|
2521
|
+
disabled?: boolean;
|
|
2522
|
+
description?: string;
|
|
2523
|
+
asFilters?: FilterXdo[];
|
|
2524
|
+
}) => Statement;
|
|
2525
|
+
icontains: (a: {
|
|
2526
|
+
name?: string;
|
|
2527
|
+
as?: string;
|
|
2528
|
+
value: Value;
|
|
2529
|
+
disabled?: boolean;
|
|
2530
|
+
description?: string;
|
|
2531
|
+
asFilters?: FilterXdo[];
|
|
2532
|
+
}) => Statement;
|
|
2533
|
+
iends_with: (a: {
|
|
2534
|
+
name?: string;
|
|
2535
|
+
as?: string;
|
|
2536
|
+
value: Value;
|
|
2537
|
+
disabled?: boolean;
|
|
2538
|
+
description?: string;
|
|
2539
|
+
asFilters?: FilterXdo[];
|
|
2540
|
+
}) => Statement;
|
|
2541
|
+
istarts_with: (a: {
|
|
2542
|
+
name?: string;
|
|
2543
|
+
as?: string;
|
|
2544
|
+
value: Value;
|
|
2545
|
+
disabled?: boolean;
|
|
2546
|
+
description?: string;
|
|
2547
|
+
asFilters?: FilterXdo[];
|
|
2548
|
+
}) => Statement;
|
|
2549
|
+
ltrim: (a: {
|
|
2550
|
+
name?: string;
|
|
2551
|
+
value: Value;
|
|
2552
|
+
disabled?: boolean;
|
|
2553
|
+
description?: string;
|
|
2554
|
+
}) => Statement;
|
|
2555
|
+
prepend: (a: {
|
|
2556
|
+
name?: string;
|
|
2557
|
+
value: Value;
|
|
2558
|
+
disabled?: boolean;
|
|
2559
|
+
description?: string;
|
|
2560
|
+
}) => Statement;
|
|
2561
|
+
rtrim: (a: {
|
|
2562
|
+
name?: string;
|
|
2563
|
+
value: Value;
|
|
2564
|
+
disabled?: boolean;
|
|
2565
|
+
description?: string;
|
|
2566
|
+
}) => Statement;
|
|
2567
|
+
starts_with: (a: {
|
|
2568
|
+
name?: string;
|
|
2569
|
+
as?: string;
|
|
2570
|
+
value: Value;
|
|
2571
|
+
disabled?: boolean;
|
|
2572
|
+
description?: string;
|
|
2573
|
+
asFilters?: FilterXdo[];
|
|
2574
|
+
}) => Statement;
|
|
2575
|
+
trim: (a: {
|
|
2576
|
+
name?: string;
|
|
2577
|
+
value: Value;
|
|
2578
|
+
disabled?: boolean;
|
|
2579
|
+
description?: string;
|
|
2580
|
+
}) => Statement;
|
|
2581
|
+
};
|
|
2582
|
+
throw: (a: {
|
|
2583
|
+
name?: string;
|
|
2584
|
+
value: Value;
|
|
2585
|
+
disabled?: boolean;
|
|
2586
|
+
description?: string;
|
|
2587
|
+
}) => Statement;
|
|
2588
|
+
util: {
|
|
2589
|
+
geo_distance: (a: {
|
|
2590
|
+
as?: string;
|
|
2591
|
+
latitude_1: Value;
|
|
2592
|
+
longitude_1: Value;
|
|
2593
|
+
latitude_2: Value;
|
|
2594
|
+
longitude_2: Value;
|
|
2595
|
+
disabled?: boolean;
|
|
2596
|
+
description?: string;
|
|
2597
|
+
asFilters?: FilterXdo[];
|
|
2598
|
+
}) => Statement;
|
|
2599
|
+
get_all_input: (a?: {
|
|
2600
|
+
as?: string;
|
|
2601
|
+
disabled?: boolean;
|
|
2602
|
+
description?: string;
|
|
2603
|
+
asFilters?: FilterXdo[];
|
|
2604
|
+
}) => Statement;
|
|
2605
|
+
get_env: (a?: {
|
|
2606
|
+
as?: string;
|
|
2607
|
+
disabled?: boolean;
|
|
2608
|
+
description?: string;
|
|
2609
|
+
asFilters?: FilterXdo[];
|
|
2610
|
+
}) => Statement;
|
|
2611
|
+
get_vars: (a?: {
|
|
2612
|
+
as?: string;
|
|
2613
|
+
disabled?: boolean;
|
|
2614
|
+
description?: string;
|
|
2615
|
+
asFilters?: FilterXdo[];
|
|
2616
|
+
}) => Statement;
|
|
2617
|
+
ip_lookup: (a: {
|
|
2618
|
+
as?: string;
|
|
2619
|
+
value: Value;
|
|
2620
|
+
disabled?: boolean;
|
|
2621
|
+
description?: string;
|
|
2622
|
+
asFilters?: FilterXdo[];
|
|
2623
|
+
}) => Statement;
|
|
2624
|
+
send_email: (a?: {
|
|
2625
|
+
as?: string;
|
|
2626
|
+
api_key?: Value;
|
|
2627
|
+
service_provider?: "resend" | "xano" | Value;
|
|
2628
|
+
subject?: Value;
|
|
2629
|
+
message?: Value;
|
|
2630
|
+
to?: Value;
|
|
2631
|
+
bcc?: Value;
|
|
2632
|
+
cc?: Value;
|
|
2633
|
+
from?: Value;
|
|
2634
|
+
reply_to?: Value;
|
|
2635
|
+
scheduled_at?: Value;
|
|
2636
|
+
disabled?: boolean;
|
|
2637
|
+
description?: string;
|
|
2638
|
+
asFilters?: FilterXdo[];
|
|
2639
|
+
}) => Statement;
|
|
2640
|
+
set_header: (a: {
|
|
2641
|
+
value: Value;
|
|
2642
|
+
duplicates?: string;
|
|
2643
|
+
disabled?: boolean;
|
|
2644
|
+
description?: string;
|
|
2645
|
+
}) => Statement;
|
|
2646
|
+
sleep: (a: {
|
|
2647
|
+
value: Value;
|
|
2648
|
+
disabled?: boolean;
|
|
2649
|
+
description?: string;
|
|
2650
|
+
}) => Statement;
|
|
2651
|
+
template_engine: (a: {
|
|
2652
|
+
as?: string;
|
|
2653
|
+
value: Value;
|
|
2654
|
+
disabled?: boolean;
|
|
2655
|
+
description?: string;
|
|
2656
|
+
asFilters?: FilterXdo[];
|
|
2657
|
+
}) => Statement;
|
|
2658
|
+
};
|
|
2659
|
+
webflow: {
|
|
2660
|
+
request: (a: {
|
|
2661
|
+
as?: string;
|
|
2662
|
+
path: Value;
|
|
2663
|
+
method?: Value;
|
|
2664
|
+
params?: Value;
|
|
2665
|
+
headers?: Value;
|
|
2666
|
+
timeout?: Value;
|
|
2667
|
+
follow_location?: Value;
|
|
2668
|
+
verify_host?: Value;
|
|
2669
|
+
verify_peer?: Value;
|
|
2670
|
+
ca_certificate?: Value;
|
|
2671
|
+
certificate?: Value;
|
|
2672
|
+
certificate_pass?: Value;
|
|
2673
|
+
private_key?: Value;
|
|
2674
|
+
private_key_pass?: Value;
|
|
2675
|
+
disabled?: boolean;
|
|
2676
|
+
description?: string;
|
|
2677
|
+
asFilters?: FilterXdo[];
|
|
2678
|
+
}) => Statement;
|
|
2679
|
+
};
|
|
2680
|
+
zip: {
|
|
2681
|
+
add_to_archive: (a: {
|
|
2682
|
+
file: Value;
|
|
2683
|
+
filename: Value;
|
|
2684
|
+
zip: Value;
|
|
2685
|
+
password?: Value | null;
|
|
2686
|
+
password_encryption?: Value | null;
|
|
2687
|
+
disabled?: boolean;
|
|
2688
|
+
description?: string;
|
|
2689
|
+
}) => Statement;
|
|
2690
|
+
create_archive: (a: {
|
|
2691
|
+
as?: string;
|
|
2692
|
+
filename: Value;
|
|
2693
|
+
password?: Value;
|
|
2694
|
+
password_encryption?: "standard" | "AES-128" | "AES-192" | "AES-256" | Value;
|
|
2695
|
+
disabled?: boolean;
|
|
2696
|
+
description?: string;
|
|
2697
|
+
asFilters?: FilterXdo[];
|
|
2698
|
+
}) => Statement;
|
|
2699
|
+
delete_from_archive: (a: {
|
|
2700
|
+
filename: Value;
|
|
2701
|
+
zip: Value;
|
|
2702
|
+
password?: Value | null;
|
|
2703
|
+
disabled?: boolean;
|
|
2704
|
+
description?: string;
|
|
2705
|
+
}) => Statement;
|
|
2706
|
+
extract: (a: {
|
|
2707
|
+
as?: string;
|
|
2708
|
+
zip: Value;
|
|
2709
|
+
password?: Value | null;
|
|
2710
|
+
disabled?: boolean;
|
|
2711
|
+
description?: string;
|
|
2712
|
+
asFilters?: FilterXdo[];
|
|
2713
|
+
}) => Statement;
|
|
2714
|
+
view_contents: (a: {
|
|
2715
|
+
as?: string;
|
|
2716
|
+
zip: Value;
|
|
2717
|
+
password?: Value | null;
|
|
2718
|
+
disabled?: boolean;
|
|
2719
|
+
description?: string;
|
|
2720
|
+
asFilters?: FilterXdo[];
|
|
2721
|
+
}) => Statement;
|
|
2722
|
+
};
|
|
2723
|
+
};
|
|
2724
|
+
|
|
2725
|
+
/** The kinds an argument can name. The local project entry is absence, not a spelling. */
|
|
2726
|
+
type SourceKind = "workspace" | "ephemeral" | "local-engine" | "release" | "tenant" | "file";
|
|
2727
|
+
|
|
2728
|
+
/**
|
|
2729
|
+
* The CLI's command registry — the single source of truth for what `xanosdk`
|
|
2730
|
+
* accepts.
|
|
2731
|
+
*
|
|
2732
|
+
* Three consumers read this table and nothing else:
|
|
2733
|
+
* • `help.ts` renders global and command-scoped help from it,
|
|
2734
|
+
* • `cli.ts` validates the command/subcommand a user typed against it,
|
|
2735
|
+
* • the unknown-* errors list valid verbs from it (never a hand-written string).
|
|
2736
|
+
*
|
|
2737
|
+
* The dispatch chain in `cli.ts` still owns the lazy `await import(...)` per
|
|
2738
|
+
* command — deliberately, so the browser-safe authoring bundle never pulls in
|
|
2739
|
+
* the Node-only OAuth/deploy stack. A drift test pins the registry's keys to the
|
|
2740
|
+
* commands that chain actually compares against, so the two cannot diverge
|
|
2741
|
+
* silently even though they are written twice.
|
|
2742
|
+
*
|
|
2743
|
+
* Keep this module free of `node:*` imports for the same bundling reason.
|
|
2744
|
+
*/
|
|
2745
|
+
|
|
2746
|
+
/** What a backend selector slot is FOR: read from, write to, run on, or act on. */
|
|
2747
|
+
type SelectorRole = "from" | "to" | "on" | "subject";
|
|
2748
|
+
/**
|
|
2749
|
+
* What a slot means when nothing is typed into it.
|
|
2750
|
+
*
|
|
2751
|
+
* - `tracked` — the backend this project last deployed to.
|
|
2752
|
+
* - `entry` — `deploy`'s source only: the project's own entry file, compiled.
|
|
2753
|
+
* - `none` — the slot supplies nothing when absent: `generate` and `init --from`
|
|
2754
|
+
* need a source named, and `deploy --to` absent means the deploy's own
|
|
2755
|
+
* ephemeral or local-engine path rather than any backend here.
|
|
2756
|
+
*/
|
|
2757
|
+
type SelectorDefault = "tracked" | "entry" | "none";
|
|
2758
|
+
/**
|
|
2759
|
+
* One backend selector slot, declared once on the flag or positional that takes
|
|
2760
|
+
* it. Help renders the spellings from `accepted`, completion offers its bare
|
|
2761
|
+
* kinds, the manifest publishes it, the parse-arm error for a missing value
|
|
2762
|
+
* lists it, and `backend-slot.ts` parses with it — so a command cannot accept a
|
|
2763
|
+
* kind its help does not show.
|
|
2764
|
+
*
|
|
2765
|
+
* `refused` names kinds that belong to the grammar but that THIS command cannot
|
|
2766
|
+
* serve, each with the reason. They stay out of `accepted` (help does not offer
|
|
2767
|
+
* them) and are refused with the reason rather than as unknown — an unknown
|
|
2768
|
+
* kind reads as a typo, and the reason is what tells the reader whether to name
|
|
2769
|
+
* another backend or reach for another command.
|
|
2770
|
+
*/
|
|
2771
|
+
interface SelectorSpec {
|
|
2772
|
+
readonly accepted: readonly SourceKind[];
|
|
2773
|
+
readonly role: SelectorRole;
|
|
2774
|
+
readonly default: SelectorDefault;
|
|
2775
|
+
readonly refused?: Readonly<Partial<Record<SourceKind, string>>>;
|
|
2776
|
+
}
|
|
2777
|
+
|
|
2778
|
+
/**
|
|
2779
|
+
* Agent-grounding manifest (DX follow-up). A machine-readable description of the
|
|
2780
|
+
* entire xanosdk authoring surface — object kinds, statement catalog (with field
|
|
2781
|
+
* schemas for the declarative statements), value constructors, and tag catalog —
|
|
2782
|
+
* plus a human/LLM-readable `llms.txt` renderer.
|
|
2783
|
+
*
|
|
2784
|
+
* Everything here is DERIVED from the SDK's own sources of truth (the surface
|
|
2785
|
+
* catalog, the generated statement specs, the kind registry, the value/tag
|
|
2786
|
+
* primitives), so the manifest can never drift from what the SDK can actually
|
|
2787
|
+
* emit. Regenerate the committed `manifest.json` / `llms.txt` with
|
|
2788
|
+
* `npm run manifest`; the manifest test fails if they fall out of sync.
|
|
2789
|
+
*/
|
|
2790
|
+
|
|
2791
|
+
/** A statement field, flattened from its generated spec rule. */
|
|
2792
|
+
interface ManifestField {
|
|
2793
|
+
name: string;
|
|
2794
|
+
/** `string` (a plain string arg), `value` (a tagged `Value`), or `comparison`. */
|
|
2795
|
+
type: StatementSpec["rules"][number]["type"];
|
|
2796
|
+
optional: boolean;
|
|
2797
|
+
default?: string;
|
|
2798
|
+
/**
|
|
2799
|
+
* The field's closed set of legal values, where the engine declares one. Both
|
|
2800
|
+
* a bare literal and the `c.text(...)` spelling are accepted, and a constant
|
|
2801
|
+
* outside the set is rejected at authoring time.
|
|
2802
|
+
*/
|
|
2803
|
+
enum?: string[];
|
|
2804
|
+
}
|
|
2805
|
+
/** One statement authoring surface. */
|
|
2806
|
+
interface ManifestStatement {
|
|
2807
|
+
/** Canonical surface key (the engine schema basename), e.g. `array.filter`. */
|
|
2808
|
+
surface: string;
|
|
2809
|
+
/** Stored `mvp:` name emitted into the bundle. */
|
|
2810
|
+
storedName: string;
|
|
2811
|
+
/** Dotted accessor under `s`, e.g. `array.filter` → `s.array.filter`. */
|
|
2812
|
+
sPath: string;
|
|
2813
|
+
/** Whether the stored name has a registered factory (authorable today). */
|
|
2814
|
+
registered: boolean;
|
|
2815
|
+
/** True when generated from the engine schema (carries a field schema). */
|
|
2816
|
+
declarative: boolean;
|
|
2817
|
+
/** Whether the statement emits an `output` envelope. Declarative only. */
|
|
2818
|
+
output?: boolean;
|
|
2819
|
+
/**
|
|
2820
|
+
* What the statement's `as:` output variable holds — so the manifest answers
|
|
2821
|
+
* "what does this bind?" without falling back to prose. Curated (see
|
|
2822
|
+
* `STATEMENT_RESULTS`); present only for statements whose result is stable and
|
|
2823
|
+
* documented. Analogous to {@link ManifestFilter.result}, but structured: `name`
|
|
2824
|
+
* is the binding field (always `as` today, carried explicitly so the descriptor
|
|
2825
|
+
* is self-describing for machine consumers), `type` its value type, `note` an
|
|
2826
|
+
* optional caveat.
|
|
2827
|
+
*/
|
|
2828
|
+
result?: {
|
|
2829
|
+
name: string;
|
|
2830
|
+
type: string;
|
|
2831
|
+
note?: string;
|
|
2832
|
+
};
|
|
2833
|
+
/** Field schema — present for declarative statements. */
|
|
2834
|
+
fields?: ManifestField[];
|
|
2835
|
+
/**
|
|
2836
|
+
* An older paradigm the SDK still SUPPORTS but no longer wants authored — same
|
|
2837
|
+
* contract as {@link ManifestValue.legacy}: withheld from the per-namespace
|
|
2838
|
+
* catalog an agent picks from, and named-only in the legacy index (`llms/legacy.md`).
|
|
2839
|
+
*/
|
|
2840
|
+
legacy?: boolean;
|
|
2841
|
+
}
|
|
2842
|
+
/**
|
|
2843
|
+
* One authoring factory within a kind that fans out into several distinct
|
|
2844
|
+
* root factories sharing a single encoder/payload key — today only `trigger`
|
|
2845
|
+
* (six `obj_type`s, one shared stored envelope). Each sub-kind is a first-class
|
|
2846
|
+
* root factory in its own right; the manifest lists them individually so agents
|
|
2847
|
+
* treat them like every other primitive.
|
|
2848
|
+
*/
|
|
2849
|
+
interface ManifestSubKind {
|
|
2850
|
+
/** Root authoring factory export, e.g. `tableTrigger`. */
|
|
2851
|
+
authorFactory: string;
|
|
2852
|
+
/** The stored `obj_type` this factory produces, e.g. `database`. */
|
|
2853
|
+
objType: string;
|
|
2854
|
+
/** Rich "what this primitive does" descriptor, in the style of a top-level kind. */
|
|
2855
|
+
description: string;
|
|
2856
|
+
/** Built and registered, but withheld from the published catalog — see {@link ManifestKind.unpublished}. */
|
|
2857
|
+
unpublished?: boolean;
|
|
2858
|
+
/**
|
|
2859
|
+
* An older paradigm the SDK still SUPPORTS but no longer wants authored — same
|
|
2860
|
+
* contract as {@link ManifestValue.legacy}: withheld from the sub-kind catalog
|
|
2861
|
+
* and the trigger prose, and named-only in the legacy index (`llms/legacy.md`).
|
|
2862
|
+
*
|
|
2863
|
+
* Distinct from `unpublished`, which withholds a factory that is not ready.
|
|
2864
|
+
* A legacy factory is fully ready and fully supported; it is the *paradigm*
|
|
2865
|
+
* that has been superseded.
|
|
2866
|
+
*/
|
|
2867
|
+
legacy?: boolean;
|
|
2868
|
+
}
|
|
2869
|
+
/** One top-level object kind. */
|
|
2870
|
+
interface ManifestKind {
|
|
2871
|
+
/** Stable kind name, e.g. `function`. */
|
|
2872
|
+
kind: string;
|
|
2873
|
+
/** `packageExport` payload key, e.g. `function`, `dbo`. */
|
|
2874
|
+
payloadKey: string;
|
|
2875
|
+
/** Authoring factory export, e.g. `defineFunction`, `table`. */
|
|
2876
|
+
authorFactory: string;
|
|
2877
|
+
/** One-line "what this primitive does" descriptor, surfaced in `llms.txt`. */
|
|
2878
|
+
description: string;
|
|
2879
|
+
/** `Xano` registration method, e.g. `registerFunctions`. */
|
|
2880
|
+
registerMethod: string;
|
|
2881
|
+
/** Whether the kind has a registered encoder (implemented today). */
|
|
2882
|
+
registered: boolean;
|
|
2883
|
+
/**
|
|
2884
|
+
* Distinct root factories that all persist under this kind's encoder/payload
|
|
2885
|
+
* key. When present, the `## Object kinds` catalog lists each sub-kind as its
|
|
2886
|
+
* own root-level entry instead of the grouped `authorFactory` line. Only
|
|
2887
|
+
* `trigger` uses this today.
|
|
2888
|
+
*/
|
|
2889
|
+
subKinds?: ManifestSubKind[];
|
|
2890
|
+
/**
|
|
2891
|
+
* Built and registered, but deliberately withheld from the published agent
|
|
2892
|
+
* surface — kept out of the emitted manifest, out of `llms.txt`, and out of
|
|
2893
|
+
* the coverage numerator.
|
|
2894
|
+
*
|
|
2895
|
+
* This is a *release* gate, not a completeness gate. The kind still has a
|
|
2896
|
+
* descriptor here so the "descriptors match the live kind registry" drift
|
|
2897
|
+
* guard keeps covering it; it just does not ship in the catalog yet. Flip the
|
|
2898
|
+
* flag off to publish — nothing else needs to change.
|
|
2899
|
+
*/
|
|
2900
|
+
unpublished?: boolean;
|
|
2901
|
+
}
|
|
2902
|
+
/** A value constructor / helper. */
|
|
2903
|
+
interface ManifestValue {
|
|
2904
|
+
name: string;
|
|
2905
|
+
signature: string;
|
|
2906
|
+
description: string;
|
|
2907
|
+
/**
|
|
2908
|
+
* An older paradigm the SDK still SUPPORTS but no longer wants authored.
|
|
2909
|
+
*
|
|
2910
|
+
* Kept out of the `## Values` catalog — the list an agent picks from when it
|
|
2911
|
+
* builds — and named-only in the legacy index (`llms/legacy.md`).
|
|
2912
|
+
* That split is the whole point: hiding it entirely is worse than useless,
|
|
2913
|
+
* because a pulled workspace can legitimately contain one, and an agent that
|
|
2914
|
+
* has never heard of it will "fix" what it does not recognize. Naming it
|
|
2915
|
+
* without a signature says "you will see this; do not reach for it."
|
|
2916
|
+
*/
|
|
2917
|
+
legacy?: boolean;
|
|
2918
|
+
}
|
|
2919
|
+
/** One value-pipeline filter (`fl.<name>`). */
|
|
2920
|
+
interface ManifestFilter {
|
|
2921
|
+
/** Filter name, as stored in the value `filters[]` chain. */
|
|
2922
|
+
name: string;
|
|
2923
|
+
/** Dotted accessor: `fl.<name>`. */
|
|
2924
|
+
fl: string;
|
|
2925
|
+
/**
|
|
2926
|
+
* Whether the SDK knows this filter's exact signature.
|
|
2927
|
+
*
|
|
2928
|
+
* True for every filter with a spec — INCLUDING the zero-argument ones. A
|
|
2929
|
+
* filter that takes nothing has nothing to type, so `fl.abs()` is as fully
|
|
2930
|
+
* typed as `fl.add(value)`; counting it as untyped reported a 131/225 coverage
|
|
2931
|
+
* gap that never existed. Whether a filter takes arguments is `args`, which is
|
|
2932
|
+
* a different question and the one the catalog renders from.
|
|
2933
|
+
*/
|
|
2934
|
+
typed: boolean;
|
|
2935
|
+
/**
|
|
2936
|
+
* Takes arguments the catalog declares no list for, so there is no arity to
|
|
2937
|
+
* enforce and no signature to print. Distinct from a filter with neither
|
|
2938
|
+
* `args` nor `variadic`, which takes NOTHING.
|
|
2939
|
+
*/
|
|
2940
|
+
variadic?: boolean;
|
|
2941
|
+
/**
|
|
2942
|
+
* Named, typed args (richly-specified filters only). `enum` carries the exact
|
|
2943
|
+
* accepted spellings where the arg has a closed set — printed in place of the
|
|
2944
|
+
* bare word "enum", which told a reader nothing.
|
|
2945
|
+
*/
|
|
2946
|
+
args?: Array<{
|
|
2947
|
+
name: string;
|
|
2948
|
+
type: string;
|
|
2949
|
+
optional?: boolean;
|
|
2950
|
+
enum?: string[];
|
|
2951
|
+
}>;
|
|
2952
|
+
/** Result type (richly-specified filters only). */
|
|
2953
|
+
result?: string;
|
|
2954
|
+
/** Group, e.g. `timestamp`, `vector` (richly-specified filters only). */
|
|
2955
|
+
group?: string;
|
|
2956
|
+
/** One-line description, when known. */
|
|
2957
|
+
description?: string;
|
|
2958
|
+
}
|
|
2959
|
+
/** One field-catalog type (`f.<name>` / `input.<name>`). */
|
|
2960
|
+
interface ManifestFieldType {
|
|
2961
|
+
/** Authoring constructor name under `f` / `input`, e.g. `text`, `tableRef`. */
|
|
2962
|
+
name: string;
|
|
2963
|
+
/** The stored type string emitted into the schema, e.g. `epochms`, `blob_img`. */
|
|
2964
|
+
stored: string;
|
|
2965
|
+
/** Valid bind-method names for this type (empty = none; `{name,arg}` escape hatch only). */
|
|
2966
|
+
methods: string[];
|
|
2967
|
+
/** Present and true when the type exists under `input.` only, with no `f.` column form. */
|
|
2968
|
+
inputOnly?: boolean;
|
|
2969
|
+
}
|
|
2970
|
+
/** One CLI flag, with the effect it has. */
|
|
2971
|
+
interface ManifestCliFlag {
|
|
2972
|
+
flag: string;
|
|
2973
|
+
description: string;
|
|
2974
|
+
/** The closed set the flag takes here — the same list shell completion offers. */
|
|
2975
|
+
values?: string[];
|
|
2976
|
+
/** For a flag that takes other values too: some it takes, never the whole set. */
|
|
2977
|
+
examples?: string[];
|
|
2978
|
+
}
|
|
2979
|
+
/**
|
|
2980
|
+
* One backend selector slot, from its declaration in the registry: where a
|
|
2981
|
+
* command takes the backend it acts on, and which ones. The same declaration
|
|
2982
|
+
* renders `--help`, completion, and the command's refusals, so an agent reading
|
|
2983
|
+
* this learns exactly what the CLI will accept.
|
|
2984
|
+
*/
|
|
2985
|
+
interface ManifestCliSelector {
|
|
2986
|
+
/** How the slot is written: `--from`, `--to`, `--on`, or the positional as `<source>`. */
|
|
2987
|
+
slot: string;
|
|
2988
|
+
role: SelectorSpec["role"];
|
|
2989
|
+
/** Omitted: `tracked` = what this project last deployed to; `entry` = the project's entry file; `none` = nothing, name one. */
|
|
2990
|
+
default: SelectorSpec["default"];
|
|
2991
|
+
/** Every spelling the slot accepts, rendered. */
|
|
2992
|
+
grammar: string;
|
|
2993
|
+
/** The bare kinds, completable as typed. */
|
|
2994
|
+
values: string[];
|
|
2995
|
+
/** Kinds in the grammar this command cannot serve, each with why. */
|
|
2996
|
+
refused?: Record<string, string>;
|
|
2997
|
+
}
|
|
2998
|
+
/**
|
|
2999
|
+
* One CLI command, DERIVED from the `COMMANDS`/`FLAGS` registry in
|
|
3000
|
+
* `src/emit/commands.ts` — the same table that renders `--help` and generates the
|
|
3001
|
+
* shell completions.
|
|
3002
|
+
*
|
|
3003
|
+
* Derived, not hand-maintained: a hand-maintained copy drifts (missing commands,
|
|
3004
|
+
* short flags, stale descriptions). Deriving it makes that class of drift
|
|
3005
|
+
* unrepresentable, which matters because `llms.txt` does not document the CLI
|
|
3006
|
+
* — this array and `--help` are the only two surfaces, and they are one source.
|
|
3007
|
+
*/
|
|
3008
|
+
interface ManifestCliCommand {
|
|
3009
|
+
/** The invocation verb, e.g. `deploy`. */
|
|
3010
|
+
command: string;
|
|
3011
|
+
/** Positional argument grammar, when the command takes one. */
|
|
3012
|
+
args?: string;
|
|
3013
|
+
flags?: ManifestCliFlag[];
|
|
3014
|
+
/** The command's backend selector slots, when it acts on a backend. */
|
|
3015
|
+
selectors?: ManifestCliSelector[];
|
|
3016
|
+
description: string;
|
|
3017
|
+
}
|
|
3018
|
+
interface Manifest {
|
|
3019
|
+
name: string;
|
|
3020
|
+
version: string;
|
|
3021
|
+
description: string;
|
|
3022
|
+
coverage: {
|
|
3023
|
+
/**
|
|
3024
|
+
* Counted over the ENGINE's object-kind catalog, where every trigger type is
|
|
3025
|
+
* its own kind. `unmodeled` names the shortfall so the denominator is
|
|
3026
|
+
* inspectable rather than a bare ratio.
|
|
3027
|
+
*/
|
|
3028
|
+
objectKinds: {
|
|
3029
|
+
implemented: number;
|
|
3030
|
+
total: number;
|
|
3031
|
+
unmodeled: {
|
|
3032
|
+
kind: string;
|
|
3033
|
+
absence: string;
|
|
3034
|
+
}[];
|
|
3035
|
+
};
|
|
3036
|
+
/**
|
|
3037
|
+
* `unconfirmed` names the statements built from the engine's schema alone,
|
|
3038
|
+
* with no stored instance behind them — the same "make the denominator
|
|
3039
|
+
* inspectable" move as `unmodeled` above, for a different kind of
|
|
3040
|
+
* shortfall. Published as `s.` paths, because that is what an agent looks a
|
|
3041
|
+
* statement up by. See `src/statements/byte-evidence.ts`.
|
|
3042
|
+
*/
|
|
3043
|
+
statements: {
|
|
3044
|
+
implemented: number;
|
|
3045
|
+
total: number;
|
|
3046
|
+
/**
|
|
3047
|
+
* Omitted entirely when nothing is unconfirmed — an empty warning channel
|
|
3048
|
+
* that ships on every build teaches a reader to skip the one time it has
|
|
3049
|
+
* something in it.
|
|
3050
|
+
*/
|
|
3051
|
+
unconfirmed?: {
|
|
3052
|
+
note: string;
|
|
3053
|
+
sPaths: string[];
|
|
3054
|
+
};
|
|
3055
|
+
};
|
|
3056
|
+
filters: {
|
|
3057
|
+
typed: number;
|
|
3058
|
+
total: number;
|
|
3059
|
+
};
|
|
3060
|
+
};
|
|
3061
|
+
values: {
|
|
3062
|
+
constructors: ManifestValue[];
|
|
3063
|
+
tags: readonly string[];
|
|
3064
|
+
};
|
|
3065
|
+
objectKinds: ManifestKind[];
|
|
3066
|
+
fieldTypes: ManifestFieldType[];
|
|
3067
|
+
statements: ManifestStatement[];
|
|
3068
|
+
filters: ManifestFilter[];
|
|
3069
|
+
/** The CLI command surface (compile/export/deploy/auth/lock). Hand-maintained. */
|
|
3070
|
+
cli: ManifestCliCommand[];
|
|
3071
|
+
/**
|
|
3072
|
+
* Flags every command accepts. They appear in no per-command `flags` list, so
|
|
3073
|
+
* without this they would be undiscoverable from the manifest alone — an agent
|
|
3074
|
+
* reading `cli` would conclude `--json` does not exist.
|
|
3075
|
+
*/
|
|
3076
|
+
cliGlobalFlags: ManifestCliFlag[];
|
|
3077
|
+
}
|
|
3078
|
+
/** Total engine object kinds — the size of the catalog above, never a literal. */
|
|
3079
|
+
declare const TOTAL_OBJECT_KINDS: number;
|
|
3080
|
+
/** Build the full authoring manifest from the SDK's sources of truth. */
|
|
3081
|
+
declare function buildManifest(opts?: {
|
|
3082
|
+
version?: string;
|
|
3083
|
+
}): Manifest;
|
|
3084
|
+
/** Repo-relative path of the always-loaded grounding router. */
|
|
3085
|
+
declare const LLMS_TXT = "llms.txt";
|
|
3086
|
+
/**
|
|
3087
|
+
* Every committed grounding artifact, as repo-relative path → content.
|
|
3088
|
+
*
|
|
3089
|
+
* The map is the seam the grounding surface is split across: the router at
|
|
3090
|
+
* {@link LLMS_TXT} is what an agent always loads, and later entries are topic
|
|
3091
|
+
* files it reads only when the surface they cover is in play. Callers write
|
|
3092
|
+
* whatever the map holds rather than naming files individually, so a new
|
|
3093
|
+
* artifact is picked up by the writer and by the drift guard without either
|
|
3094
|
+
* needing to learn about it.
|
|
3095
|
+
*
|
|
3096
|
+
* Pure function of the manifest, like every other artifact here — regenerating
|
|
3097
|
+
* is deterministic and the committed files are asserted against a fresh render.
|
|
3098
|
+
*/
|
|
3099
|
+
declare function renderDocs(m: Manifest): Map<string, string>;
|
|
3100
|
+
/** The router alone, for callers that want it without the rest of the set. */
|
|
3101
|
+
declare function renderLlmsTxt(m: Manifest): string;
|
|
3102
|
+
|
|
3103
|
+
/**
|
|
3104
|
+
* The cross-realm lock override store — how a `xano.lock` reaches `deriveGuid`.
|
|
3105
|
+
*
|
|
3106
|
+
* Reference guids are baked at AUTHORING time, not export time: statement
|
|
3107
|
+
* factories (`s.function.run`, `s.db.get`, …) and even field defs
|
|
3108
|
+
* (`f.tableRef`) call `resolveRef` → `deriveGuid` the moment the workspace
|
|
3109
|
+
* module is evaluated, and some embed the guid inside strings (`dbo=<guid>`
|
|
3110
|
+
* method args, auth-token const values). An export-time payload rewrite would
|
|
3111
|
+
* have to chase those string-embedded forms — overriding at the `deriveGuid`
|
|
3112
|
+
* choke point instead makes reference and target agree everywhere by
|
|
3113
|
+
* construction, with zero changes at call sites.
|
|
3114
|
+
*
|
|
3115
|
+
* That yields the seeding contract: **seed once per process, BEFORE any
|
|
3116
|
+
* def module is evaluated.** Node's module cache means seeding after defs have
|
|
3117
|
+
* loaded is a silent no-op for already-baked references. The CLI honors this
|
|
3118
|
+
* automatically (it seeds before importing the workspace entry); programmatic
|
|
3119
|
+
* users must call `seedLockOverrides` before importing their defs.
|
|
3120
|
+
* `resetLockOverrides` exists for tests (reset-then-seed per run).
|
|
3121
|
+
*
|
|
3122
|
+
* The store lives on `globalThis` under a `Symbol.for` key because the CLI and
|
|
3123
|
+
* the workspace entry can load xanosdk in different module realms (the
|
|
3124
|
+
* tsx-loader split — same reason `Xano.isXano` brands with `Symbol.for`). Every
|
|
3125
|
+
* accessor goes through a fresh `globalThis` lookup, never a module-local
|
|
3126
|
+
* reference, so both realms see one store.
|
|
3127
|
+
*/
|
|
3128
|
+
|
|
3129
|
+
/**
|
|
3130
|
+
* Seed the override store from a validated lock. Replaces any previous seed —
|
|
3131
|
+
* the contract is one workspace per process (see module doc), so the CLI does
|
|
3132
|
+
* reset-then-seed per run and multiple concurrent workspaces are out of scope.
|
|
3133
|
+
*/
|
|
3134
|
+
declare function seedLockOverrides(lock: LockFile): void;
|
|
3135
|
+
/** Clear the store (tests; a process about to seed a different workspace). */
|
|
3136
|
+
declare function resetLockOverrides(): void;
|
|
3137
|
+
/** True when a lock has been seeded in this process. */
|
|
3138
|
+
declare function isLockSeeded(): boolean;
|
|
3139
|
+
/** The locked guid for a `payloadKey:name` key, if the lock pins one. */
|
|
3140
|
+
declare function getLockedGuid(key: string): string | undefined;
|
|
3141
|
+
/** The locked canonical for a lock key, if the lock pins one. */
|
|
3142
|
+
declare function getLockedCanonical(key: string): string | undefined;
|
|
3143
|
+
|
|
3144
|
+
export { registerSpec as $, type AmbientBindings as A, objectKeys as B, type CaptureValue as C, objectValues as D, type ElementResult as E, type FieldRule as F, type GroupedArrayResult as G, resetLockOverrides as H, type IteratingBindings as I, seedLockOverrides as J, textAppend as K, type LambdaOptions as L, type Manifest as M, textPrepend as N, type OutputAuthored as O, FILTER_NAMES as P, GENERATED_STATEMENT_NAMES as Q, type Route as R, type SameArrayResult as S, LLMS_TXT as T, TOTAL_OBJECT_KINDS as U, buildManifest as V, encodeFromSpec as W, generated as X, getLockedCanonical as Y, getLockedGuid as Z, isLockSeeded as _, type LambdaSurface as a, renderDocs as a0, renderLlmsTxt as a1, fl as a2, lam as a3, type CaptureRecord as b, type LambdaBindings as c, type Authored as d, type Capturable as e, type FilterResults as f, LAMBDA_BINDINGS as g, LAMBDA_CODE_FILTERS as h, LAMBDA_GLOBALS as i, LAMBDA_MODULE_GLOBALS as j, LAMBDA_STATEMENTS as k, type LambdaBody as l, type ManifestField as m, type ManifestKind as n, type ManifestStatement as o, type ManifestValue as p, type StatementSpec as q, assertLambdaBody as r, bitwiseAnd as s, bitwiseOr as t, bitwiseXor as u, mathAdd as v, mathDiv as w, mathMul as x, mathSub as y, objectEntries as z };
|