@keystrokehq/cli 0.1.3 → 0.1.5
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/dist/alias-RTYYYW3D-CLFgrowj.mjs +98 -0
- package/dist/alias-RTYYYW3D-CLFgrowj.mjs.map +1 -0
- package/dist/awk2-LA3USKJP-BbsfXVlR.mjs +2737 -0
- package/dist/awk2-LA3USKJP-BbsfXVlR.mjs.map +1 -0
- package/dist/base64-C2AIWVNC-C0WIgu5V.mjs +123 -0
- package/dist/base64-C2AIWVNC-C0WIgu5V.mjs.map +1 -0
- package/dist/basename-UB3CIYNI-BgNN3bGm.mjs +53 -0
- package/dist/basename-UB3CIYNI-BgNN3bGm.mjs.map +1 -0
- package/dist/bash-YZ33HQZQ-N6YyKtUH.mjs +118 -0
- package/dist/bash-YZ33HQZQ-N6YyKtUH.mjs.map +1 -0
- package/dist/cat-TSFMZVYS-Dz3-oHsV.mjs +63 -0
- package/dist/cat-TSFMZVYS-Dz3-oHsV.mjs.map +1 -0
- package/dist/chmod-TFEPA42X-YF02QJUv.mjs +125 -0
- package/dist/chmod-TFEPA42X-YF02QJUv.mjs.map +1 -0
- package/dist/chunk-27JIFWUR-B6ZjjMMI.mjs +100 -0
- package/dist/chunk-27JIFWUR-B6ZjjMMI.mjs.map +1 -0
- package/dist/chunk-4I3HOE5Z-BixWWVkW.mjs +719 -0
- package/dist/chunk-4I3HOE5Z-BixWWVkW.mjs.map +1 -0
- package/dist/chunk-4RUAZWKT-D60fyWAB.mjs +22543 -0
- package/dist/chunk-4RUAZWKT-D60fyWAB.mjs.map +1 -0
- package/dist/chunk-4WKZNNJK-CiwxAWRf.mjs +69 -0
- package/dist/chunk-4WKZNNJK-CiwxAWRf.mjs.map +1 -0
- package/dist/chunk-5H5SCKJM-BvfXlL01.mjs +606 -0
- package/dist/chunk-5H5SCKJM-BvfXlL01.mjs.map +1 -0
- package/dist/chunk-AQ6FYS2X-CkVetjym.mjs +37 -0
- package/dist/chunk-AQ6FYS2X-CkVetjym.mjs.map +1 -0
- package/dist/chunk-BZUGFHVS-CPWRFwK8.mjs +34 -0
- package/dist/chunk-BZUGFHVS-CPWRFwK8.mjs.map +1 -0
- package/dist/chunk-CHFEPBH4-BUdgjFtD.mjs +594 -0
- package/dist/chunk-CHFEPBH4-BUdgjFtD.mjs.map +1 -0
- package/dist/chunk-DLL7UR66-BUYgzxnR.mjs +14 -0
- package/dist/chunk-DLL7UR66-BUYgzxnR.mjs.map +1 -0
- package/dist/chunk-DiodbrVj.mjs +27 -0
- package/dist/chunk-EBAPSGAO-Ctfslw2R.mjs +247 -0
- package/dist/chunk-EBAPSGAO-Ctfslw2R.mjs.map +1 -0
- package/dist/chunk-FOCWZZDE-BIntqBh2.mjs +19 -0
- package/dist/chunk-FOCWZZDE-BIntqBh2.mjs.map +1 -0
- package/dist/chunk-HBVMHTO5-CJyD-QZX.mjs +10 -0
- package/dist/chunk-HBVMHTO5-CJyD-QZX.mjs.map +1 -0
- package/dist/chunk-L2UW7DWF-B3tEHhPF.mjs +14 -0
- package/dist/chunk-L2UW7DWF-B3tEHhPF.mjs.map +1 -0
- package/dist/chunk-L64BMZUV-CyR7RKok.mjs +30 -0
- package/dist/chunk-L64BMZUV-CyR7RKok.mjs.map +1 -0
- package/dist/chunk-LEKBROJD-CJMrAyu9.mjs +3113 -0
- package/dist/chunk-LEKBROJD-CJMrAyu9.mjs.map +1 -0
- package/dist/chunk-NRSASXYY-CuWyREpD.mjs +41 -0
- package/dist/chunk-NRSASXYY-CuWyREpD.mjs.map +1 -0
- package/dist/chunk-QAYAQNCG-Bl0Kbd53.mjs +63 -0
- package/dist/chunk-QAYAQNCG-Bl0Kbd53.mjs.map +1 -0
- package/dist/chunk-QIQMJJZ4-BwKdslXs.mjs +93 -0
- package/dist/chunk-QIQMJJZ4-BwKdslXs.mjs.map +1 -0
- package/dist/chunk-SAI2SPQQ-CVRoDNs9.mjs +26 -0
- package/dist/chunk-SAI2SPQQ-CVRoDNs9.mjs.map +1 -0
- package/dist/chunk-SO6R3ZKN-tTw_RMDX.mjs +140 -0
- package/dist/chunk-SO6R3ZKN-tTw_RMDX.mjs.map +1 -0
- package/dist/chunk-STHBFACM-lyj-j2a-.mjs +8 -0
- package/dist/chunk-STHBFACM-lyj-j2a-.mjs.map +1 -0
- package/dist/chunk-SX2HC7SO-Cc4Hpis1.mjs +20 -0
- package/dist/chunk-SX2HC7SO-Cc4Hpis1.mjs.map +1 -0
- package/dist/chunk-TDD4NFYE-wsWW75MX.mjs +21 -0
- package/dist/chunk-TDD4NFYE-wsWW75MX.mjs.map +1 -0
- package/dist/chunk-TN7HHBQW-CSB_R-XD.mjs +1137 -0
- package/dist/chunk-TN7HHBQW-CSB_R-XD.mjs.map +1 -0
- package/dist/chunk-VPADYNBD-BKlA28GJ.mjs +122 -0
- package/dist/chunk-VPADYNBD-BKlA28GJ.mjs.map +1 -0
- package/dist/chunk-W5DWRFSU-lCyWk0ph.mjs +11 -0
- package/dist/chunk-W5DWRFSU-lCyWk0ph.mjs.map +1 -0
- package/dist/chunk-WNH3HOQA-BCZUOjCJ.mjs +34 -0
- package/dist/chunk-WNH3HOQA-BCZUOjCJ.mjs.map +1 -0
- package/dist/chunk-XRFHFXFP-BGxzVZgK.mjs +16 -0
- package/dist/chunk-XRFHFXFP-BGxzVZgK.mjs.map +1 -0
- package/dist/chunk-YCLFEX4T-COc1AThz.mjs +77 -0
- package/dist/chunk-YCLFEX4T-COc1AThz.mjs.map +1 -0
- package/dist/clear-HKGFEOF6-CekN2x-O.mjs +28 -0
- package/dist/clear-HKGFEOF6-CekN2x-O.mjs.map +1 -0
- package/dist/column-XT6UFXNQ-DHENV9D2.mjs +143 -0
- package/dist/column-XT6UFXNQ-DHENV9D2.mjs.map +1 -0
- package/dist/comm-VV2LDX2J-ppxDJFkY.mjs +87 -0
- package/dist/comm-VV2LDX2J-ppxDJFkY.mjs.map +1 -0
- package/dist/cp-BISAAS7A-CMWayU4n.mjs +106 -0
- package/dist/cp-BISAAS7A-CMWayU4n.mjs.map +1 -0
- package/dist/cut-OKARJCCV-Bt8b58eI.mjs +119 -0
- package/dist/cut-OKARJCCV-Bt8b58eI.mjs.map +1 -0
- package/dist/date-UUUPW43J-B7T5OTZZ.mjs +188 -0
- package/dist/date-UUUPW43J-B7T5OTZZ.mjs.map +1 -0
- package/dist/diff-MWJFIG7X-DhnPc_5r.mjs +755 -0
- package/dist/diff-MWJFIG7X-DhnPc_5r.mjs.map +1 -0
- package/dist/dirname-MPHRFUTI-Dkb3S4OX.mjs +43 -0
- package/dist/dirname-MPHRFUTI-Dkb3S4OX.mjs.map +1 -0
- package/dist/{dist-DWcRd4Se.mjs → dist-B9XaHV_2.mjs} +26 -73
- package/dist/dist-B9XaHV_2.mjs.map +1 -0
- package/dist/{dist-DjfxlOWX.mjs → dist-C3YClLXV.mjs} +285 -226
- package/dist/{dist-DjfxlOWX.mjs.map → dist-C3YClLXV.mjs.map} +1 -1
- package/dist/dist-D_-88U7y.mjs +1887 -0
- package/dist/dist-D_-88U7y.mjs.map +1 -0
- package/dist/dist-iKd6nzBK.mjs +3 -0
- package/dist/du-572XNP42-ClP4jXB1.mjs +176 -0
- package/dist/du-572XNP42-ClP4jXB1.mjs.map +1 -0
- package/dist/echo-NDWZZHPO-CCp_-MxA.mjs +137 -0
- package/dist/echo-NDWZZHPO-CCp_-MxA.mjs.map +1 -0
- package/dist/env-36M5BO7M-CsP_aiWr.mjs +119 -0
- package/dist/env-36M5BO7M-CsP_aiWr.mjs.map +1 -0
- package/dist/expand-JSPG6VOP-B-YUvYpu.mjs +145 -0
- package/dist/expand-JSPG6VOP-B-YUvYpu.mjs.map +1 -0
- package/dist/expr-5JAACS4X-1TBq84gG.mjs +153 -0
- package/dist/expr-5JAACS4X-1TBq84gG.mjs.map +1 -0
- package/dist/file-IPZJC3FQ-DcZNOWyY.mjs +4201 -0
- package/dist/file-IPZJC3FQ-DcZNOWyY.mjs.map +1 -0
- package/dist/find-INTH3OLC-6p47KeeT.mjs +1332 -0
- package/dist/find-INTH3OLC-6p47KeeT.mjs.map +1 -0
- package/dist/fold-4TQNYMSW-C54bHzLd.mjs +138 -0
- package/dist/fold-4TQNYMSW-C54bHzLd.mjs.map +1 -0
- package/dist/grep-V3LQVMRQ-D99Bq7Kj.mjs +335 -0
- package/dist/grep-V3LQVMRQ-D99Bq7Kj.mjs.map +1 -0
- package/dist/gzip-O5ASJAFY-CZDRROqP.mjs +592 -0
- package/dist/gzip-O5ASJAFY-CZDRROqP.mjs.map +1 -0
- package/dist/head-442HYESI-D96RMdki.mjs +36 -0
- package/dist/head-442HYESI-D96RMdki.mjs.map +1 -0
- package/dist/help-HZ6M2CKN--DK8mY2L.mjs +123 -0
- package/dist/help-HZ6M2CKN--DK8mY2L.mjs.map +1 -0
- package/dist/history-WYYKSLSZ-ACNQVupn.mjs +48 -0
- package/dist/history-WYYKSLSZ-ACNQVupn.mjs.map +1 -0
- package/dist/hostname-C4HQXXUP-CXVVFkUK.mjs +24 -0
- package/dist/hostname-C4HQXXUP-CXVVFkUK.mjs.map +1 -0
- package/dist/html-to-markdown-JW4MSQZO-DQOxFIvF.mjs +15890 -0
- package/dist/html-to-markdown-JW4MSQZO-DQOxFIvF.mjs.map +1 -0
- package/dist/index.mjs +431 -161
- package/dist/index.mjs.map +1 -1
- package/dist/join-TBRGI3LQ-B8I9tkJ5.mjs +198 -0
- package/dist/join-TBRGI3LQ-B8I9tkJ5.mjs.map +1 -0
- package/dist/jq-4XLYLOS5-wFZYfsfJ.mjs +257 -0
- package/dist/jq-4XLYLOS5-wFZYfsfJ.mjs.map +1 -0
- package/dist/js-exec-N5KEZBH7-CgtG-I6s.mjs +333 -0
- package/dist/js-exec-N5KEZBH7-CgtG-I6s.mjs.map +1 -0
- package/dist/lib-D4GpdNNK.mjs +45 -0
- package/dist/lib-D4GpdNNK.mjs.map +1 -0
- package/dist/ln-4LGSXXGD-Dg0R9i5G.mjs +101 -0
- package/dist/ln-4LGSXXGD-Dg0R9i5G.mjs.map +1 -0
- package/dist/ls-ZJGQER7M-DLDSfI4x.mjs +1891 -0
- package/dist/ls-ZJGQER7M-DLDSfI4x.mjs.map +1 -0
- package/dist/lzma-CTMDi254.mjs +1135 -0
- package/dist/lzma-CTMDi254.mjs.map +1 -0
- package/dist/{maybe-auto-update-Ou7H6dXT.mjs → maybe-auto-update-DHt-mVf1.mjs} +2 -2
- package/dist/{maybe-auto-update-Ou7H6dXT.mjs.map → maybe-auto-update-DHt-mVf1.mjs.map} +1 -1
- package/dist/md5sum-SPU24VSG-DQc8sqXO.mjs +16 -0
- package/dist/md5sum-SPU24VSG-DQc8sqXO.mjs.map +1 -0
- package/dist/mkdir-MEPGZOB6-BjUKzhdL.mjs +58 -0
- package/dist/mkdir-MEPGZOB6-BjUKzhdL.mjs.map +1 -0
- package/dist/mv-W5BIQ646-CdSIyY-U.mjs +93 -0
- package/dist/mv-W5BIQ646-CdSIyY-U.mjs.map +1 -0
- package/dist/nl-WSDW7I4O-DmtCnyKU.mjs +208 -0
- package/dist/nl-WSDW7I4O-DmtCnyKU.mjs.map +1 -0
- package/dist/od-WOKFDJTP-DZ2nxQNJ.mjs +73 -0
- package/dist/od-WOKFDJTP-DZ2nxQNJ.mjs.map +1 -0
- package/dist/paste-7JC6S4DX-CtmM5Qy8.mjs +113 -0
- package/dist/paste-7JC6S4DX-CtmM5Qy8.mjs.map +1 -0
- package/dist/printf-TWGXF445-B7cTysaa.mjs +880 -0
- package/dist/printf-TWGXF445-B7cTysaa.mjs.map +1 -0
- package/dist/pwd-WE6EN5AV-CO8o2WQS.mjs +34 -0
- package/dist/pwd-WE6EN5AV-CO8o2WQS.mjs.map +1 -0
- package/dist/python3-POMOR4OA-CKy80mpF.mjs +299 -0
- package/dist/python3-POMOR4OA-CKy80mpF.mjs.map +1 -0
- package/dist/readlink-OPJF4DL5-Rc1Mz_Xx.mjs +76 -0
- package/dist/readlink-OPJF4DL5-Rc1Mz_Xx.mjs.map +1 -0
- package/dist/rev-5EHFX4EJ-3dd9vwHW.mjs +66 -0
- package/dist/rev-5EHFX4EJ-3dd9vwHW.mjs.map +1 -0
- package/dist/rg-S4FXYXWB-BbXVo6JX.mjs +1539 -0
- package/dist/rg-S4FXYXWB-BbXVo6JX.mjs.map +1 -0
- package/dist/rm-SSGETQVQ-Ch53Rmrr.mjs +81 -0
- package/dist/rm-SSGETQVQ-Ch53Rmrr.mjs.map +1 -0
- package/dist/rmdir-OC4ZLPYA-D3QCHlIB.mjs +132 -0
- package/dist/rmdir-OC4ZLPYA-D3QCHlIB.mjs.map +1 -0
- package/dist/sed-S5UIK574-DE1KeTk3.mjs +1722 -0
- package/dist/sed-S5UIK574-DE1KeTk3.mjs.map +1 -0
- package/dist/seq-M5EC7Q57-BHfGjQvK.mjs +85 -0
- package/dist/seq-M5EC7Q57-BHfGjQvK.mjs.map +1 -0
- package/dist/sha1sum-2PTOAFR6-DNjSNcYK.mjs +16 -0
- package/dist/sha1sum-2PTOAFR6-DNjSNcYK.mjs.map +1 -0
- package/dist/sha256sum-NS7D3IXX-BMaCKkT5.mjs +16 -0
- package/dist/sha256sum-NS7D3IXX-BMaCKkT5.mjs.map +1 -0
- package/dist/sleep-X22JJINO-Do5hEQQW.mjs +67 -0
- package/dist/sleep-X22JJINO-Do5hEQQW.mjs.map +1 -0
- package/dist/sort-SW2YEO5B-B7j1zw8k.mjs +320 -0
- package/dist/sort-SW2YEO5B-B7j1zw8k.mjs.map +1 -0
- package/dist/split-4KKZZXXE-h8GD4HP4.mjs +248 -0
- package/dist/split-4KKZZXXE-h8GD4HP4.mjs.map +1 -0
- package/dist/sqlite3-CGOEFJAO-DvzzghDg.mjs +2879 -0
- package/dist/sqlite3-CGOEFJAO-DvzzghDg.mjs.map +1 -0
- package/dist/stat-CD34IZ4P-B5ZOJh4J.mjs +65 -0
- package/dist/stat-CD34IZ4P-B5ZOJh4J.mjs.map +1 -0
- package/dist/strings-6WDHLGMX-DdiEdoL-.mjs +179 -0
- package/dist/strings-6WDHLGMX-DdiEdoL-.mjs.map +1 -0
- package/dist/tac-2STMMJYW-DPyeWM9R.mjs +53 -0
- package/dist/tac-2STMMJYW-DPyeWM9R.mjs.map +1 -0
- package/dist/tail-R4PCA2C4-CUfroNeu.mjs +37 -0
- package/dist/tail-R4PCA2C4-CUfroNeu.mjs.map +1 -0
- package/dist/tar-STHHZTZ6-DRf60e-G.mjs +2838 -0
- package/dist/tar-STHHZTZ6-DRf60e-G.mjs.map +1 -0
- package/dist/tee-YUZ2FKCJ-po_dfyc_.mjs +46 -0
- package/dist/tee-YUZ2FKCJ-po_dfyc_.mjs.map +1 -0
- package/dist/time-D4LNBSWX-DVWhAldK.mjs +112 -0
- package/dist/time-D4LNBSWX-DVWhAldK.mjs.map +1 -0
- package/dist/timeout-YDCRSLPQ-B_yntmXU.mjs +113 -0
- package/dist/timeout-YDCRSLPQ-B_yntmXU.mjs.map +1 -0
- package/dist/touch-UA33VN3N-oW1SBT1r.mjs +104 -0
- package/dist/touch-UA33VN3N-oW1SBT1r.mjs.map +1 -0
- package/dist/tr-36LHWFRQ-CTq3z6wq.mjs +167 -0
- package/dist/tr-36LHWFRQ-CTq3z6wq.mjs.map +1 -0
- package/dist/tree-YLD52CNT-CIozNsLQ.mjs +186 -0
- package/dist/tree-YLD52CNT-CIozNsLQ.mjs.map +1 -0
- package/dist/true-FHQXJXBE-DsJOznSp.mjs +31 -0
- package/dist/true-FHQXJXBE-DsJOznSp.mjs.map +1 -0
- package/dist/unexpand-CADSA4VO-Cq9DTcUg.mjs +155 -0
- package/dist/unexpand-CADSA4VO-Cq9DTcUg.mjs.map +1 -0
- package/dist/uniq-XSIZR6PB-D5lt-IXF.mjs +92 -0
- package/dist/uniq-XSIZR6PB-D5lt-IXF.mjs.map +1 -0
- package/dist/{version-n-JpPeUF.mjs → version-BOm_5ar9.mjs} +2 -2
- package/dist/{version-n-JpPeUF.mjs.map → version-BOm_5ar9.mjs.map} +1 -1
- package/dist/wc-LF7NU4LA-BFPabrwD.mjs +111 -0
- package/dist/wc-LF7NU4LA-BFPabrwD.mjs.map +1 -0
- package/dist/which-XEM24D5D-2LvlkpUo.mjs +62 -0
- package/dist/which-XEM24D5D-2LvlkpUo.mjs.map +1 -0
- package/dist/whoami-XMTX52VE-24Kwqrk6.mjs +24 -0
- package/dist/whoami-XMTX52VE-24Kwqrk6.mjs.map +1 -0
- package/dist/xan-Y6WF3IRG-DjKO96Pj.mjs +2832 -0
- package/dist/xan-Y6WF3IRG-DjKO96Pj.mjs.map +1 -0
- package/dist/xan-view-HDVKHFC2-DhDNVE_V.mjs +12 -0
- package/dist/xan-view-HDVKHFC2-DhDNVE_V.mjs.map +1 -0
- package/dist/xargs-MGZPH7AX-D2bIgrdg.mjs +112 -0
- package/dist/xargs-MGZPH7AX-D2bIgrdg.mjs.map +1 -0
- package/dist/yq-4QJW3EQG-XhB3aACo.mjs +8610 -0
- package/dist/yq-4QJW3EQG-XhB3aACo.mjs.map +1 -0
- package/package.json +1 -1
- package/dist/dist-DWcRd4Se.mjs.map +0 -1
- package/dist/dist-DitNZUHA.mjs +0 -3
- package/dist/dist-vwoMCz6d.mjs +0 -775
- package/dist/dist-vwoMCz6d.mjs.map +0 -1
|
@@ -5231,8 +5231,126 @@ const OrganizationSlugSchema = string().trim().toLowerCase().min(2, "Slug must b
|
|
|
5231
5231
|
* fail to load.
|
|
5232
5232
|
*/
|
|
5233
5233
|
const ClaimableOrganizationSlugSchema = OrganizationSlugSchema.refine((slug) => !RESERVED_ORGANIZATION_SLUGS.has(slug), "This slug is reserved");
|
|
5234
|
+
const ORGANIZATION_NAME_APOSTROPHE_PATTERN = /[''\u2018\u2019]/g;
|
|
5235
|
+
/** Normalize a display name into slug-shaped text (may be empty or too short to claim). */
|
|
5236
|
+
function normalizeOrganizationNameToSlugBase(name) {
|
|
5237
|
+
return name.trim().toLowerCase().replace(ORGANIZATION_NAME_APOSTROPHE_PATTERN, "").replace(/[^a-z0-9]+/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
|
|
5238
|
+
}
|
|
5234
5239
|
/** Same format as organization slugs — org-scoped, no global reserved list. */
|
|
5235
5240
|
const ProjectSlugSchema = OrganizationSlugSchema;
|
|
5241
|
+
/** Derive a URL slug from a project display name (not guaranteed unique within the org). */
|
|
5242
|
+
function slugifyProjectName(name) {
|
|
5243
|
+
const base = normalizeOrganizationNameToSlugBase(name);
|
|
5244
|
+
if (!base) return "project";
|
|
5245
|
+
const parsed = ProjectSlugSchema.safeParse(base);
|
|
5246
|
+
return parsed.success ? parsed.data : "project";
|
|
5247
|
+
}
|
|
5248
|
+
const OrganizationSlugErrorCodeSchema = _enum([
|
|
5249
|
+
"slug_taken",
|
|
5250
|
+
"slug_reserved",
|
|
5251
|
+
"slug_invalid"
|
|
5252
|
+
]);
|
|
5253
|
+
const SlugAvailabilityReasonSchema = _enum([
|
|
5254
|
+
"taken",
|
|
5255
|
+
"reserved",
|
|
5256
|
+
"invalid"
|
|
5257
|
+
]);
|
|
5258
|
+
const SlugAvailabilityResponseSchema = object({
|
|
5259
|
+
slug: string(),
|
|
5260
|
+
available: boolean(),
|
|
5261
|
+
reason: SlugAvailabilityReasonSchema.optional(),
|
|
5262
|
+
suggestion: OrganizationSlugSchema.optional()
|
|
5263
|
+
});
|
|
5264
|
+
object({
|
|
5265
|
+
slug: string().trim().min(1),
|
|
5266
|
+
excludeOrganizationId: string().min(1).optional()
|
|
5267
|
+
});
|
|
5268
|
+
const ProjectSlugAvailabilityReasonSchema = _enum(["taken", "invalid"]);
|
|
5269
|
+
const ProjectSlugAvailabilityResponseSchema = object({
|
|
5270
|
+
slug: string(),
|
|
5271
|
+
available: boolean(),
|
|
5272
|
+
reason: ProjectSlugAvailabilityReasonSchema.optional(),
|
|
5273
|
+
suggestion: ProjectSlugSchema.optional()
|
|
5274
|
+
});
|
|
5275
|
+
object({
|
|
5276
|
+
slug: string().trim().min(1),
|
|
5277
|
+
excludeProjectId: string().min(1).optional()
|
|
5278
|
+
});
|
|
5279
|
+
const ProjectStatusSchema = _enum([
|
|
5280
|
+
"inactive",
|
|
5281
|
+
"starting",
|
|
5282
|
+
"active",
|
|
5283
|
+
"failed"
|
|
5284
|
+
]);
|
|
5285
|
+
const OrganizationUserRoleSchema = _enum([
|
|
5286
|
+
"owner",
|
|
5287
|
+
"admin",
|
|
5288
|
+
"builder"
|
|
5289
|
+
]);
|
|
5290
|
+
const isoDateTime$5 = string().datetime();
|
|
5291
|
+
const OrganizationSchema = object({
|
|
5292
|
+
id: string(),
|
|
5293
|
+
name: string(),
|
|
5294
|
+
slug: OrganizationSlugSchema,
|
|
5295
|
+
createdAt: isoDateTime$5,
|
|
5296
|
+
updatedAt: isoDateTime$5
|
|
5297
|
+
});
|
|
5298
|
+
const ProjectSchema = object({
|
|
5299
|
+
id: string(),
|
|
5300
|
+
organizationId: string(),
|
|
5301
|
+
name: string(),
|
|
5302
|
+
slug: ProjectSlugSchema,
|
|
5303
|
+
description: string().nullable(),
|
|
5304
|
+
status: ProjectStatusSchema,
|
|
5305
|
+
baseUrl: string().nullable(),
|
|
5306
|
+
runtimeId: string().nullable(),
|
|
5307
|
+
lastError: string().nullable(),
|
|
5308
|
+
createdAt: isoDateTime$5,
|
|
5309
|
+
updatedAt: isoDateTime$5
|
|
5310
|
+
});
|
|
5311
|
+
const UserOrganizationSchema = object({
|
|
5312
|
+
organization: OrganizationSchema,
|
|
5313
|
+
role: OrganizationUserRoleSchema
|
|
5314
|
+
});
|
|
5315
|
+
const ActiveOrganizationResponseSchema = UserOrganizationSchema.nullable();
|
|
5316
|
+
const ListOrganizationsResponseSchema = array(UserOrganizationSchema);
|
|
5317
|
+
const CreateOrganizationRequestSchema = object({
|
|
5318
|
+
name: string().trim().min(1),
|
|
5319
|
+
/** Format-only at the wire boundary; reserved-name checks run in platform-database. */
|
|
5320
|
+
slug: OrganizationSlugSchema.optional()
|
|
5321
|
+
});
|
|
5322
|
+
const UpdateOrganizationRequestSchema = object({
|
|
5323
|
+
name: string().trim().min(1).optional(),
|
|
5324
|
+
slug: ClaimableOrganizationSlugSchema.optional()
|
|
5325
|
+
}).refine((data) => data.name !== void 0 || data.slug !== void 0, { message: "At least one field is required" });
|
|
5326
|
+
const CreateOrganizationResponseSchema = UserOrganizationSchema;
|
|
5327
|
+
const ListProjectsResponseSchema = array(ProjectSchema);
|
|
5328
|
+
const ProjectListMetricsSchema = object({
|
|
5329
|
+
agentCount: number$1(),
|
|
5330
|
+
workflowCount: number$1(),
|
|
5331
|
+
skillCount: number$1(),
|
|
5332
|
+
credentialCount: number$1(),
|
|
5333
|
+
lastDeploymentAt: isoDateTime$5.nullable()
|
|
5334
|
+
});
|
|
5335
|
+
const ListProjectMetricsResponseSchema = record(string(), ProjectListMetricsSchema);
|
|
5336
|
+
const CreateProjectRequestSchema = object({
|
|
5337
|
+
name: string().trim().min(1),
|
|
5338
|
+
description: string().trim().min(1).optional()
|
|
5339
|
+
});
|
|
5340
|
+
const UpdateProjectRequestSchema = object({
|
|
5341
|
+
name: string().trim().min(1).optional(),
|
|
5342
|
+
description: string().trim().optional(),
|
|
5343
|
+
slug: ProjectSlugSchema.optional()
|
|
5344
|
+
}).refine((data) => data.name !== void 0 || data.description !== void 0 || data.slug !== void 0, { message: "At least one field is required" });
|
|
5345
|
+
const CreateProjectResponseSchema = ProjectSchema;
|
|
5346
|
+
const ProjectResponseSchema = ProjectSchema;
|
|
5347
|
+
const ProjectReachabilityResponseSchema = object({ reachable: boolean() });
|
|
5348
|
+
/** Org-custom app slug segment (the part after `{orgSlug}/`). Same format as project slugs. */
|
|
5349
|
+
const AppSlugSchema = ProjectSlugSchema;
|
|
5350
|
+
/** Derive a slug segment from a display name (not guaranteed unique). */
|
|
5351
|
+
function slugifyAppName(name) {
|
|
5352
|
+
return slugifyProjectName(name);
|
|
5353
|
+
}
|
|
5236
5354
|
/** Browser→platform request budget (ping + small platform overhead). */
|
|
5237
5355
|
const PROJECT_REACHABILITY_REQUEST_TIMEOUT_MS = 17e3;
|
|
5238
5356
|
/** Normalize a public origin URL (no trailing slash). */
|
|
@@ -5270,137 +5388,62 @@ const StoredRouteManifestSkillSchema = object({
|
|
|
5270
5388
|
description: string().optional(),
|
|
5271
5389
|
moduleFile: string()
|
|
5272
5390
|
});
|
|
5273
|
-
const
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5277
|
-
|
|
5278
|
-
}),
|
|
5391
|
+
const attachmentSchemasSchema = record(string(), object({
|
|
5392
|
+
requestSchema: record(string(), unknown()),
|
|
5393
|
+
filterSchema: record(string(), unknown()).optional()
|
|
5394
|
+
}));
|
|
5395
|
+
const storedRouteManifestEntryV2Schema = discriminatedUnion("kind", [
|
|
5396
|
+
object({ kind: literal("health") }),
|
|
5279
5397
|
object({
|
|
5280
5398
|
kind: literal("agent"),
|
|
5281
|
-
|
|
5282
|
-
path: string(),
|
|
5283
|
-
agentSlug: string(),
|
|
5399
|
+
slug: string(),
|
|
5284
5400
|
moduleFile: string(),
|
|
5285
5401
|
name: string().optional(),
|
|
5286
5402
|
description: string().optional(),
|
|
5287
5403
|
model: string(),
|
|
5288
5404
|
systemPrompt: string(),
|
|
5289
5405
|
toolCount: number$1().int().nonnegative(),
|
|
5290
|
-
credentialCount: number$1().int().nonnegative()
|
|
5291
|
-
requestSchema: record(string(), unknown()),
|
|
5292
|
-
responseSchema: record(string(), unknown())
|
|
5293
|
-
}),
|
|
5294
|
-
object({
|
|
5295
|
-
kind: literal("agent-sessions-list"),
|
|
5296
|
-
method: literal("GET"),
|
|
5297
|
-
path: string(),
|
|
5298
|
-
agentSlug: string(),
|
|
5299
|
-
moduleFile: string()
|
|
5300
|
-
}),
|
|
5301
|
-
object({
|
|
5302
|
-
kind: literal("agent-session-detail"),
|
|
5303
|
-
method: literal("GET"),
|
|
5304
|
-
path: string(),
|
|
5305
|
-
agentSlug: string(),
|
|
5306
|
-
moduleFile: string()
|
|
5406
|
+
credentialCount: number$1().int().nonnegative()
|
|
5307
5407
|
}),
|
|
5308
5408
|
object({
|
|
5309
5409
|
kind: literal("workflow"),
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
workflowSlug: string(),
|
|
5313
|
-
workflowName: string().optional(),
|
|
5410
|
+
slug: string(),
|
|
5411
|
+
name: string().optional(),
|
|
5314
5412
|
description: string().optional(),
|
|
5315
5413
|
subscribable: boolean(),
|
|
5316
5414
|
moduleFile: string(),
|
|
5317
|
-
requestSchema: record(string(), unknown())
|
|
5318
|
-
responseSchema: record(string(), unknown())
|
|
5319
|
-
}),
|
|
5320
|
-
object({
|
|
5321
|
-
kind: literal("workflow-runs-list"),
|
|
5322
|
-
method: literal("GET"),
|
|
5323
|
-
path: string(),
|
|
5324
|
-
workflowSlug: string(),
|
|
5325
|
-
workflowName: string().optional(),
|
|
5326
|
-
moduleFile: string()
|
|
5327
|
-
}),
|
|
5328
|
-
object({
|
|
5329
|
-
kind: literal("workflow-run-detail"),
|
|
5330
|
-
method: literal("GET"),
|
|
5331
|
-
path: string(),
|
|
5332
|
-
workflowSlug: string(),
|
|
5333
|
-
workflowName: string().optional(),
|
|
5334
|
-
moduleFile: string()
|
|
5415
|
+
requestSchema: record(string(), unknown())
|
|
5335
5416
|
}),
|
|
5336
5417
|
object({
|
|
5337
5418
|
kind: literal("trigger-webhook"),
|
|
5338
|
-
|
|
5339
|
-
path: string(),
|
|
5419
|
+
endpoint: string(),
|
|
5340
5420
|
attachmentIds: array(string()),
|
|
5341
5421
|
moduleFile: string(),
|
|
5342
|
-
|
|
5343
|
-
attachmentSchemas: record(string(), object({
|
|
5344
|
-
requestSchema: record(string(), unknown()),
|
|
5345
|
-
filterSchema: record(string(), unknown()).optional()
|
|
5346
|
-
})),
|
|
5347
|
-
responseSchema: record(string(), unknown())
|
|
5422
|
+
attachmentSchemas: attachmentSchemasSchema
|
|
5348
5423
|
}),
|
|
5349
5424
|
object({
|
|
5350
5425
|
kind: literal("trigger-poll"),
|
|
5351
|
-
method: literal("POST"),
|
|
5352
|
-
path: string(),
|
|
5353
5426
|
attachmentId: string(),
|
|
5354
5427
|
moduleFile: string(),
|
|
5355
|
-
schedule: string()
|
|
5356
|
-
responseSchema: record(string(), unknown())
|
|
5428
|
+
schedule: string()
|
|
5357
5429
|
}),
|
|
5358
5430
|
object({
|
|
5359
5431
|
kind: literal("trigger-poll-group"),
|
|
5360
|
-
method: literal("POST"),
|
|
5361
|
-
path: string(),
|
|
5362
5432
|
pollId: string(),
|
|
5363
5433
|
attachmentIds: array(string()),
|
|
5364
5434
|
moduleFile: string(),
|
|
5365
|
-
schedule: string()
|
|
5366
|
-
responseSchema: record(string(), unknown())
|
|
5367
|
-
}),
|
|
5368
|
-
object({
|
|
5369
|
-
kind: literal("trigger-runs-list"),
|
|
5370
|
-
method: literal("GET"),
|
|
5371
|
-
path: string(),
|
|
5372
|
-
attachmentId: string(),
|
|
5373
|
-
moduleFile: string()
|
|
5374
|
-
}),
|
|
5375
|
-
object({
|
|
5376
|
-
kind: literal("trigger-run-detail"),
|
|
5377
|
-
method: literal("GET"),
|
|
5378
|
-
path: string(),
|
|
5379
|
-
attachmentId: string(),
|
|
5380
|
-
moduleFile: string()
|
|
5435
|
+
schedule: string()
|
|
5381
5436
|
}),
|
|
5382
5437
|
object({
|
|
5383
5438
|
kind: literal("cron-schedule"),
|
|
5384
5439
|
attachmentId: string(),
|
|
5385
5440
|
moduleFile: string(),
|
|
5386
5441
|
schedule: string()
|
|
5387
|
-
}),
|
|
5388
|
-
object({
|
|
5389
|
-
kind: literal("plugin"),
|
|
5390
|
-
method: _enum([
|
|
5391
|
-
"GET",
|
|
5392
|
-
"POST",
|
|
5393
|
-
"PUT",
|
|
5394
|
-
"PATCH",
|
|
5395
|
-
"DELETE"
|
|
5396
|
-
]),
|
|
5397
|
-
path: string(),
|
|
5398
|
-
plugin: string()
|
|
5399
5442
|
})
|
|
5400
5443
|
]);
|
|
5401
5444
|
const StoredRouteManifestSchema = object({
|
|
5402
|
-
version: literal(
|
|
5403
|
-
entries: array(
|
|
5445
|
+
version: literal(2),
|
|
5446
|
+
entries: array(storedRouteManifestEntryV2Schema),
|
|
5404
5447
|
skills: array(StoredRouteManifestSkillSchema).default([]),
|
|
5405
5448
|
integrations: array(string()).optional()
|
|
5406
5449
|
});
|
|
@@ -5513,15 +5556,15 @@ const ChannelDirectoryEntrySchema = object({
|
|
|
5513
5556
|
memberCount: number$1().int().nonnegative().optional(),
|
|
5514
5557
|
isArchived: boolean().optional()
|
|
5515
5558
|
});
|
|
5516
|
-
const ChannelConnectionListResponseSchema =
|
|
5517
|
-
const ChannelDirectoryListResponseSchema =
|
|
5559
|
+
const ChannelConnectionListResponseSchema = array(ChannelConnectionSchema);
|
|
5560
|
+
const ChannelDirectoryListResponseSchema = array(ChannelDirectoryEntrySchema);
|
|
5518
5561
|
object({ teamName: string().min(1).optional() });
|
|
5519
|
-
const ChannelAccountListResponseSchema =
|
|
5562
|
+
const ChannelAccountListResponseSchema = array(object({
|
|
5520
5563
|
id: string().min(1),
|
|
5521
5564
|
platform: ChannelPlatformKeySchema,
|
|
5522
5565
|
label: string().min(1),
|
|
5523
5566
|
connectedAt: string()
|
|
5524
|
-
}))
|
|
5567
|
+
}));
|
|
5525
5568
|
const NewChannelBindingInputSchema = object({
|
|
5526
5569
|
channelId: string().min(1),
|
|
5527
5570
|
channelName: string().min(1),
|
|
@@ -5538,6 +5581,14 @@ const UpdateChannelBindingBodySchema = object({ patch: object({
|
|
|
5538
5581
|
mode: ChannelListenModeSchema.optional(),
|
|
5539
5582
|
subscribeOnMention: boolean().optional()
|
|
5540
5583
|
}) });
|
|
5584
|
+
/** Metadata for one vault field on a custom api_key app. */
|
|
5585
|
+
const AppCredentialFieldSchema = object({
|
|
5586
|
+
label: string().trim().min(1).optional(),
|
|
5587
|
+
secret: boolean().optional(),
|
|
5588
|
+
optional: boolean().optional()
|
|
5589
|
+
});
|
|
5590
|
+
/** Credential template keyed by vault field name. */
|
|
5591
|
+
const AppCredentialFieldsSchema = record(string().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/), AppCredentialFieldSchema).refine((fields) => Object.keys(fields).length > 0, { message: "At least one credential field is required" }).refine((fields) => Object.values(fields).some((field) => field.optional !== true), { message: "At least one credential field must be required" });
|
|
5541
5592
|
/** A single OAuth scope an app can request, with human copy for connect UI. */
|
|
5542
5593
|
const OAuthScopeOptionSchema = object({
|
|
5543
5594
|
name: string().min(1),
|
|
@@ -5565,6 +5616,37 @@ object({
|
|
|
5565
5616
|
authKind: AppAuthKindSchema,
|
|
5566
5617
|
oauthScopes: array(OAuthScopeOptionSchema)
|
|
5567
5618
|
}).extend({ source: AppSourceSchema });
|
|
5619
|
+
const customAppNameSchema = string().trim().min(1, "Name is required");
|
|
5620
|
+
const AppSlugAvailabilityReasonSchema = ProjectSlugAvailabilityReasonSchema;
|
|
5621
|
+
const AppSlugAvailabilityResponseSchema = object({
|
|
5622
|
+
slug: string(),
|
|
5623
|
+
available: boolean(),
|
|
5624
|
+
reason: AppSlugAvailabilityReasonSchema.optional(),
|
|
5625
|
+
suggestion: AppSlugSchema.optional()
|
|
5626
|
+
});
|
|
5627
|
+
object({ slug: string().trim().min(1) });
|
|
5628
|
+
/** Request body for creating an org custom api_key app. */
|
|
5629
|
+
const CreateCustomAppRequestSchema = object({
|
|
5630
|
+
name: customAppNameSchema,
|
|
5631
|
+
slug: AppSlugSchema,
|
|
5632
|
+
description: string().trim().min(1),
|
|
5633
|
+
fields: AppCredentialFieldsSchema
|
|
5634
|
+
});
|
|
5635
|
+
/** Full custom app detail returned by GET (includes credential template for sync). */
|
|
5636
|
+
const CustomAppDetailSchema = object({
|
|
5637
|
+
id: string().min(1),
|
|
5638
|
+
slug: string().min(1),
|
|
5639
|
+
name: string().min(1),
|
|
5640
|
+
description: string().min(1),
|
|
5641
|
+
category: string().min(1),
|
|
5642
|
+
authKind: literal("api_key"),
|
|
5643
|
+
source: literal("custom"),
|
|
5644
|
+
credentialFields: AppCredentialFieldsSchema,
|
|
5645
|
+
createdAt: string().min(1),
|
|
5646
|
+
updatedAt: string().min(1)
|
|
5647
|
+
});
|
|
5648
|
+
const CreateCustomAppResponseSchema = CustomAppDetailSchema;
|
|
5649
|
+
const GetCustomAppResponseSchema = CustomAppDetailSchema;
|
|
5568
5650
|
object({
|
|
5569
5651
|
id: string().min(1),
|
|
5570
5652
|
organizationId: string().min(1).nullable(),
|
|
@@ -5576,10 +5658,11 @@ object({
|
|
|
5576
5658
|
authKind: AppAuthKindSchema,
|
|
5577
5659
|
oauthScopes: array(OAuthScopeOptionSchema),
|
|
5578
5660
|
source: AppSourceSchema,
|
|
5661
|
+
credentialFields: AppCredentialFieldsSchema.optional(),
|
|
5579
5662
|
createdAt: string().min(1),
|
|
5580
5663
|
updatedAt: string().min(1)
|
|
5581
5664
|
});
|
|
5582
|
-
const ListAppsResponseSchema =
|
|
5665
|
+
const ListAppsResponseSchema = array(object({
|
|
5583
5666
|
id: string().min(1),
|
|
5584
5667
|
name: string().min(1),
|
|
5585
5668
|
description: string().min(1),
|
|
@@ -5588,9 +5671,69 @@ const ListAppsResponseSchema = object({ apps: array(object({
|
|
|
5588
5671
|
logo: string().url().nullable().optional(),
|
|
5589
5672
|
authKind: AppAuthKindSchema,
|
|
5590
5673
|
oauthScopes: array(OAuthScopeOptionSchema),
|
|
5674
|
+
/** Where app metadata and execution are sourced (e.g. composio, custom). */
|
|
5675
|
+
source: AppSourceSchema,
|
|
5676
|
+
/** Custom api_key apps — vault field template for connect UI and sync. */
|
|
5677
|
+
credentialFields: AppCredentialFieldsSchema.optional(),
|
|
5591
5678
|
/** When present, the app supports agent gateway bindings (external channels). */
|
|
5592
5679
|
gateway: AppGatewaySchema.optional()
|
|
5593
|
-
}))
|
|
5680
|
+
}));
|
|
5681
|
+
const CatalogAppsPageSchema = object({
|
|
5682
|
+
items: array(object({
|
|
5683
|
+
name: string(),
|
|
5684
|
+
description: string(),
|
|
5685
|
+
package: string()
|
|
5686
|
+
})),
|
|
5687
|
+
nextCursor: string().optional()
|
|
5688
|
+
});
|
|
5689
|
+
const CatalogAppDetailSchema = object({
|
|
5690
|
+
name: string(),
|
|
5691
|
+
description: string(),
|
|
5692
|
+
package: string(),
|
|
5693
|
+
version: string().optional()
|
|
5694
|
+
});
|
|
5695
|
+
const CatalogActionSummarySchema = object({
|
|
5696
|
+
slug: string(),
|
|
5697
|
+
name: string(),
|
|
5698
|
+
description: string().optional()
|
|
5699
|
+
});
|
|
5700
|
+
const CatalogActionsPageSchema = object({
|
|
5701
|
+
toolkit: string().optional(),
|
|
5702
|
+
items: array(CatalogActionSummarySchema),
|
|
5703
|
+
nextCursor: string().optional()
|
|
5704
|
+
});
|
|
5705
|
+
const CatalogActionDetailSchema = object({
|
|
5706
|
+
slug: string(),
|
|
5707
|
+
name: string(),
|
|
5708
|
+
description: string().optional(),
|
|
5709
|
+
inputParameters: record(string(), unknown()).optional(),
|
|
5710
|
+
outputParameters: record(string(), unknown()).optional(),
|
|
5711
|
+
version: string().optional()
|
|
5712
|
+
});
|
|
5713
|
+
const CatalogAppsPageResponseSchema = CatalogAppsPageSchema;
|
|
5714
|
+
const CatalogAppDetailResponseSchema = CatalogAppDetailSchema;
|
|
5715
|
+
const CatalogActionsPageResponseSchema = CatalogActionsPageSchema;
|
|
5716
|
+
const CatalogActionDetailResponseSchema = CatalogActionDetailSchema;
|
|
5717
|
+
const ORG_SLUG_SEPARATOR = "/";
|
|
5718
|
+
/** Parse a stored app slug into official vs org-custom parts. */
|
|
5719
|
+
function parseAppSlug(slug) {
|
|
5720
|
+
const trimmed = slug.trim();
|
|
5721
|
+
if (!trimmed) throw new Error("parseAppSlug requires a non-empty slug");
|
|
5722
|
+
const separatorIndex = trimmed.indexOf(ORG_SLUG_SEPARATOR);
|
|
5723
|
+
if (separatorIndex === -1) return {
|
|
5724
|
+
kind: "official",
|
|
5725
|
+
slug: trimmed
|
|
5726
|
+
};
|
|
5727
|
+
const orgSlug = trimmed.slice(0, separatorIndex);
|
|
5728
|
+
const name = trimmed.slice(separatorIndex + 1);
|
|
5729
|
+
if (!orgSlug || !name || trimmed.indexOf(ORG_SLUG_SEPARATOR, separatorIndex + 1) !== -1) throw new Error(`Invalid org app slug: ${slug}`);
|
|
5730
|
+
return {
|
|
5731
|
+
kind: "org",
|
|
5732
|
+
orgSlug,
|
|
5733
|
+
name,
|
|
5734
|
+
slug: trimmed
|
|
5735
|
+
};
|
|
5736
|
+
}
|
|
5594
5737
|
/** How a credential instance is stored (`credential_instances.auth_kind`). */
|
|
5595
5738
|
const CredentialAuthKindSchema = _enum([
|
|
5596
5739
|
"api_key",
|
|
@@ -5662,7 +5805,9 @@ function addMissingCredentialTargetIssue(ctx, path = ["projects"]) {
|
|
|
5662
5805
|
const CredentialTargetsFieldsSchema = object({
|
|
5663
5806
|
projects: array(string().min(1)).default([]),
|
|
5664
5807
|
createOrganizationCredential: boolean().default(false),
|
|
5665
|
-
createUserProvidedCredential: boolean().default(false)
|
|
5808
|
+
createUserProvidedCredential: boolean().default(false),
|
|
5809
|
+
/** Display label for created credential instances (apps table / detail page). */
|
|
5810
|
+
label: string().trim().min(1).optional()
|
|
5666
5811
|
});
|
|
5667
5812
|
/** Input for starting an OAuth connection (connect dialog / CLI connect). */
|
|
5668
5813
|
const StartOAuthConnectionInputSchema = CredentialTargetsFieldsSchema.extend({
|
|
@@ -5675,6 +5820,25 @@ const StartOAuthConnectionResultSchema = object({
|
|
|
5675
5820
|
status: _enum(["connected", "redirecting"]),
|
|
5676
5821
|
authorizeUrl: string().url().nullable()
|
|
5677
5822
|
});
|
|
5823
|
+
/** Input for starting a Composio/keystroke connection (connect dialog). */
|
|
5824
|
+
const StartKeystrokeConnectionInputSchema = object({
|
|
5825
|
+
app: string().trim().min(1),
|
|
5826
|
+
scopeType: AppCredentialScopeSchema,
|
|
5827
|
+
projectSlug: string().trim().min(1).optional(),
|
|
5828
|
+
label: string().trim().min(1).optional()
|
|
5829
|
+
}).superRefine((input, ctx) => {
|
|
5830
|
+
if (input.scopeType === "project" && !input.projectSlug?.trim()) ctx.addIssue({
|
|
5831
|
+
code: "custom",
|
|
5832
|
+
message: "projectSlug is required for project scope",
|
|
5833
|
+
path: ["projectSlug"]
|
|
5834
|
+
});
|
|
5835
|
+
});
|
|
5836
|
+
/** Result of starting a Composio/keystroke connection. */
|
|
5837
|
+
const StartKeystrokeConnectionResultSchema = object({
|
|
5838
|
+
status: _enum(["redirecting"]),
|
|
5839
|
+
authorizeUrl: string().url(),
|
|
5840
|
+
connectionId: string()
|
|
5841
|
+
});
|
|
5678
5842
|
/** Request body for `POST /api/credentials` (manual api-key fan-out). */
|
|
5679
5843
|
const CreateCredentialsRequestSchema = CredentialTargetsFieldsSchema.extend({
|
|
5680
5844
|
appId: string().min(1),
|
|
@@ -5700,9 +5864,9 @@ const UpdateCredentialRequestSchema = object({
|
|
|
5700
5864
|
isDefault: boolean().optional(),
|
|
5701
5865
|
value: credentialSecretValueSchema.optional()
|
|
5702
5866
|
}).refine((input) => input.label !== void 0 || input.isDefault !== void 0 || input.value !== void 0, { message: "At least one field is required" });
|
|
5703
|
-
const ListCredentialsResponseSchema =
|
|
5704
|
-
const GetCredentialResponseSchema =
|
|
5705
|
-
const CreateCredentialsResponseSchema =
|
|
5867
|
+
const ListCredentialsResponseSchema = array(AppCredentialSummarySchema);
|
|
5868
|
+
const GetCredentialResponseSchema = AppCredentialSummarySchema;
|
|
5869
|
+
const CreateCredentialsResponseSchema = array(AppCredentialSummarySchema);
|
|
5706
5870
|
const McpConnectionStatusSchema = _enum([
|
|
5707
5871
|
"INITIATED",
|
|
5708
5872
|
"ACTIVE",
|
|
@@ -5711,13 +5875,13 @@ const McpConnectionStatusSchema = _enum([
|
|
|
5711
5875
|
"INACTIVE",
|
|
5712
5876
|
"REVOKED"
|
|
5713
5877
|
]);
|
|
5714
|
-
object({
|
|
5878
|
+
object({
|
|
5715
5879
|
slug: string(),
|
|
5716
5880
|
name: string(),
|
|
5717
5881
|
connected: boolean(),
|
|
5718
5882
|
connectionId: string().optional(),
|
|
5719
5883
|
status: McpConnectionStatusSchema.optional()
|
|
5720
|
-
})
|
|
5884
|
+
});
|
|
5721
5885
|
object({
|
|
5722
5886
|
connectionId: string(),
|
|
5723
5887
|
entityId: string(),
|
|
@@ -5727,11 +5891,6 @@ object({
|
|
|
5727
5891
|
app: string().trim().min(1),
|
|
5728
5892
|
tool: string().trim().min(1),
|
|
5729
5893
|
arguments: record(string(), unknown()).default({}),
|
|
5730
|
-
/**
|
|
5731
|
-
* Resolved credential instance to execute against. When set, the platform executes that exact
|
|
5732
|
-
* connection (scoped to the caller's org); when omitted it resolves the app's instance by scope.
|
|
5733
|
-
*/
|
|
5734
|
-
instanceId: string().trim().min(1).optional(),
|
|
5735
5894
|
/** Pinned provider toolkit version, sourced from the app definition; forwarded to the provider. */
|
|
5736
5895
|
version: string().trim().min(1)
|
|
5737
5896
|
});
|
|
@@ -5759,106 +5918,6 @@ function toCredentialRequirement(item) {
|
|
|
5759
5918
|
...item.tokenField !== void 0 ? { tokenField: item.tokenField } : {}
|
|
5760
5919
|
};
|
|
5761
5920
|
}
|
|
5762
|
-
const OrganizationSlugErrorCodeSchema = _enum([
|
|
5763
|
-
"slug_taken",
|
|
5764
|
-
"slug_reserved",
|
|
5765
|
-
"slug_invalid"
|
|
5766
|
-
]);
|
|
5767
|
-
const SlugAvailabilityReasonSchema = _enum([
|
|
5768
|
-
"taken",
|
|
5769
|
-
"reserved",
|
|
5770
|
-
"invalid"
|
|
5771
|
-
]);
|
|
5772
|
-
const SlugAvailabilityResponseSchema = object({
|
|
5773
|
-
slug: string(),
|
|
5774
|
-
available: boolean(),
|
|
5775
|
-
reason: SlugAvailabilityReasonSchema.optional(),
|
|
5776
|
-
suggestion: OrganizationSlugSchema.optional()
|
|
5777
|
-
});
|
|
5778
|
-
object({
|
|
5779
|
-
slug: string().trim().min(1),
|
|
5780
|
-
excludeOrganizationId: string().min(1).optional()
|
|
5781
|
-
});
|
|
5782
|
-
const ProjectSlugAvailabilityReasonSchema = _enum(["taken", "invalid"]);
|
|
5783
|
-
const ProjectSlugAvailabilityResponseSchema = object({
|
|
5784
|
-
slug: string(),
|
|
5785
|
-
available: boolean(),
|
|
5786
|
-
reason: ProjectSlugAvailabilityReasonSchema.optional(),
|
|
5787
|
-
suggestion: ProjectSlugSchema.optional()
|
|
5788
|
-
});
|
|
5789
|
-
object({
|
|
5790
|
-
slug: string().trim().min(1),
|
|
5791
|
-
excludeProjectId: string().min(1).optional()
|
|
5792
|
-
});
|
|
5793
|
-
const ProjectStatusSchema = _enum([
|
|
5794
|
-
"inactive",
|
|
5795
|
-
"starting",
|
|
5796
|
-
"active",
|
|
5797
|
-
"failed"
|
|
5798
|
-
]);
|
|
5799
|
-
const OrganizationUserRoleSchema = _enum([
|
|
5800
|
-
"owner",
|
|
5801
|
-
"admin",
|
|
5802
|
-
"builder"
|
|
5803
|
-
]);
|
|
5804
|
-
const isoDateTime$5 = string().datetime();
|
|
5805
|
-
const OrganizationSchema = object({
|
|
5806
|
-
id: string(),
|
|
5807
|
-
name: string(),
|
|
5808
|
-
slug: OrganizationSlugSchema,
|
|
5809
|
-
createdAt: isoDateTime$5,
|
|
5810
|
-
updatedAt: isoDateTime$5
|
|
5811
|
-
});
|
|
5812
|
-
const ProjectSchema = object({
|
|
5813
|
-
id: string(),
|
|
5814
|
-
organizationId: string(),
|
|
5815
|
-
name: string(),
|
|
5816
|
-
slug: ProjectSlugSchema,
|
|
5817
|
-
description: string().nullable(),
|
|
5818
|
-
status: ProjectStatusSchema,
|
|
5819
|
-
baseUrl: string().nullable(),
|
|
5820
|
-
runtimeId: string().nullable(),
|
|
5821
|
-
lastError: string().nullable(),
|
|
5822
|
-
createdAt: isoDateTime$5,
|
|
5823
|
-
updatedAt: isoDateTime$5
|
|
5824
|
-
});
|
|
5825
|
-
const UserOrganizationSchema = object({
|
|
5826
|
-
organization: OrganizationSchema,
|
|
5827
|
-
role: OrganizationUserRoleSchema
|
|
5828
|
-
});
|
|
5829
|
-
const ActiveOrganizationResponseSchema = object({ organization: UserOrganizationSchema.nullable() });
|
|
5830
|
-
const ListOrganizationsResponseSchema = object({ organizations: array(UserOrganizationSchema) });
|
|
5831
|
-
const CreateOrganizationRequestSchema = object({
|
|
5832
|
-
name: string().trim().min(1),
|
|
5833
|
-
/** Format-only at the wire boundary; reserved-name checks run in platform-database. */
|
|
5834
|
-
slug: OrganizationSlugSchema.optional()
|
|
5835
|
-
});
|
|
5836
|
-
const UpdateOrganizationRequestSchema = object({
|
|
5837
|
-
name: string().trim().min(1).optional(),
|
|
5838
|
-
slug: ClaimableOrganizationSlugSchema.optional()
|
|
5839
|
-
}).refine((data) => data.name !== void 0 || data.slug !== void 0, { message: "At least one field is required" });
|
|
5840
|
-
const CreateOrganizationResponseSchema = object({ organization: UserOrganizationSchema });
|
|
5841
|
-
const ListProjectsResponseSchema = object({ projects: array(ProjectSchema) });
|
|
5842
|
-
const ProjectListMetricsSchema = object({
|
|
5843
|
-
agentCount: number$1(),
|
|
5844
|
-
workflowCount: number$1(),
|
|
5845
|
-
skillCount: number$1(),
|
|
5846
|
-
credentialCount: number$1(),
|
|
5847
|
-
lastDeploymentAt: isoDateTime$5.nullable()
|
|
5848
|
-
});
|
|
5849
|
-
const ListProjectMetricsResponseSchema = object({ metrics: record(string(), ProjectListMetricsSchema) });
|
|
5850
|
-
const CreateProjectRequestSchema = object({
|
|
5851
|
-
name: string().trim().min(1),
|
|
5852
|
-
description: string().trim().min(1).optional()
|
|
5853
|
-
});
|
|
5854
|
-
const UpdateProjectRequestSchema = object({
|
|
5855
|
-
name: string().trim().min(1).optional(),
|
|
5856
|
-
description: string().trim().optional(),
|
|
5857
|
-
slug: ProjectSlugSchema.optional()
|
|
5858
|
-
}).refine((data) => data.name !== void 0 || data.description !== void 0 || data.slug !== void 0, { message: "At least one field is required" });
|
|
5859
|
-
const CreateProjectResponseSchema = object({ project: ProjectSchema });
|
|
5860
|
-
const ProjectResponseSchema = object({ project: ProjectSchema });
|
|
5861
|
-
const ProjectReachabilityResponseSchema = object({ reachable: boolean() });
|
|
5862
5921
|
const ValidationErrorDetailSchema = object({
|
|
5863
5922
|
path: string(),
|
|
5864
5923
|
message: string()
|
|
@@ -6499,7 +6558,7 @@ const OrganizationMemberSchema = object({
|
|
|
6499
6558
|
joinedAt: isoDateTime$4.optional(),
|
|
6500
6559
|
lastActiveAt: isoDateTime$4.nullable().optional()
|
|
6501
6560
|
});
|
|
6502
|
-
const ListOrganizationMembersResponseSchema =
|
|
6561
|
+
const ListOrganizationMembersResponseSchema = array(OrganizationMemberSchema);
|
|
6503
6562
|
const InviteOrganizationMembersRequestSchema = object({
|
|
6504
6563
|
emails: array(string().trim().email()).min(1),
|
|
6505
6564
|
role: InvitableOrganizationMemberRoleSchema
|
|
@@ -6510,22 +6569,22 @@ const InviteOrganizationMemberResultStatusSchema = _enum([
|
|
|
6510
6569
|
"pending",
|
|
6511
6570
|
"invalid"
|
|
6512
6571
|
]);
|
|
6513
|
-
const InviteOrganizationMembersResponseSchema =
|
|
6572
|
+
const InviteOrganizationMembersResponseSchema = array(object({
|
|
6514
6573
|
email: string(),
|
|
6515
6574
|
status: InviteOrganizationMemberResultStatusSchema,
|
|
6516
6575
|
invitationId: string().optional()
|
|
6517
|
-
}))
|
|
6576
|
+
}));
|
|
6518
6577
|
const UpdateOrganizationMemberRequestSchema = object({ role: InvitableOrganizationMemberRoleSchema });
|
|
6519
|
-
const UpdateOrganizationMemberResponseSchema =
|
|
6520
|
-
const ListOrganizationInvitationsResponseSchema =
|
|
6578
|
+
const UpdateOrganizationMemberResponseSchema = OrganizationMemberSchema;
|
|
6579
|
+
const ListOrganizationInvitationsResponseSchema = array(object({
|
|
6521
6580
|
id: string(),
|
|
6522
6581
|
organizationName: string(),
|
|
6523
6582
|
organizationSlug: OrganizationSlugSchema,
|
|
6524
6583
|
invitedByName: string().optional(),
|
|
6525
6584
|
invitedByEmail: string().email().optional(),
|
|
6526
6585
|
role: OrganizationMemberRoleSchema
|
|
6527
|
-
}))
|
|
6528
|
-
const AcceptOrganizationInvitationResponseSchema =
|
|
6586
|
+
}));
|
|
6587
|
+
const AcceptOrganizationInvitationResponseSchema = UserOrganizationSchema;
|
|
6529
6588
|
const DeclineOrganizationInvitationResponseSchema = object({ success: literal(true) });
|
|
6530
6589
|
const isoDateTime$3 = string().datetime();
|
|
6531
6590
|
const ApiKeyCreatorSchema = object({
|
|
@@ -6544,7 +6603,7 @@ const ApiKeySummarySchema = object({
|
|
|
6544
6603
|
createdBy: ApiKeyCreatorSchema,
|
|
6545
6604
|
isCreatedByCurrentUser: boolean()
|
|
6546
6605
|
});
|
|
6547
|
-
const ListApiKeysResponseSchema =
|
|
6606
|
+
const ListApiKeysResponseSchema = array(ApiKeySummarySchema);
|
|
6548
6607
|
const CreateApiKeyRequestSchema = object({ name: string().trim().min(1).max(128) });
|
|
6549
6608
|
const CreateApiKeyResponseSchema = ApiKeySummarySchema.extend({ secret: string() });
|
|
6550
6609
|
const ProjectUserRoleSchema = _enum(["admin", "builder"]);
|
|
@@ -6562,7 +6621,7 @@ const ProjectMemberSchema = object({
|
|
|
6562
6621
|
createdAt: isoDateTime$2,
|
|
6563
6622
|
isCurrentUser: boolean().optional()
|
|
6564
6623
|
});
|
|
6565
|
-
const ListProjectMembersResponseSchema =
|
|
6624
|
+
const ListProjectMembersResponseSchema = array(ProjectMemberSchema);
|
|
6566
6625
|
const InviteProjectMembersRequestSchema = object({
|
|
6567
6626
|
emails: array(string().trim().email()).min(1),
|
|
6568
6627
|
role: ProjectUserRoleSchema
|
|
@@ -6573,12 +6632,12 @@ const InviteProjectMemberResultStatusSchema = _enum([
|
|
|
6573
6632
|
"not_org_member",
|
|
6574
6633
|
"invalid"
|
|
6575
6634
|
]);
|
|
6576
|
-
const InviteProjectMembersResponseSchema =
|
|
6635
|
+
const InviteProjectMembersResponseSchema = array(object({
|
|
6577
6636
|
email: string(),
|
|
6578
6637
|
status: InviteProjectMemberResultStatusSchema
|
|
6579
|
-
}))
|
|
6638
|
+
}));
|
|
6580
6639
|
const UpdateProjectMemberRequestSchema = object({ role: ProjectUserRoleSchema });
|
|
6581
|
-
const UpdateProjectMemberResponseSchema =
|
|
6640
|
+
const UpdateProjectMemberResponseSchema = ProjectMemberSchema;
|
|
6582
6641
|
const ProjectSettingsSchema = object({
|
|
6583
6642
|
description: string(),
|
|
6584
6643
|
defaultRole: ProjectUserRoleSchema,
|
|
@@ -6589,7 +6648,7 @@ const UpdateProjectSettingsRequestSchema = object({
|
|
|
6589
6648
|
defaultRole: ProjectUserRoleSchema.optional(),
|
|
6590
6649
|
invitePermission: ProjectInvitePermissionSchema.optional()
|
|
6591
6650
|
}).refine((data) => data.description !== void 0 || data.defaultRole !== void 0 || data.invitePermission !== void 0, { message: "At least one field is required" });
|
|
6592
|
-
const ProjectSettingsResponseSchema =
|
|
6651
|
+
const ProjectSettingsResponseSchema = ProjectSettingsSchema;
|
|
6593
6652
|
/** Custom avatar override; null means fall back to OAuth `users.image`. */
|
|
6594
6653
|
const UserAvatarSchema = object({ url: url().nullable() });
|
|
6595
6654
|
const UserAvatarPatchSchema = object({
|
|
@@ -6701,7 +6760,7 @@ const DownloadActiveProjectArtifactResponseSchema = object({
|
|
|
6701
6760
|
downloadUrl: string().url(),
|
|
6702
6761
|
expiresInSeconds: number$1().int().positive()
|
|
6703
6762
|
});
|
|
6704
|
-
const ListProjectDeploymentsResponseSchema =
|
|
6763
|
+
const ListProjectDeploymentsResponseSchema = array(object({
|
|
6705
6764
|
id: string(),
|
|
6706
6765
|
projectId: string(),
|
|
6707
6766
|
version: number$1().int().positive(),
|
|
@@ -6710,7 +6769,7 @@ const ListProjectDeploymentsResponseSchema = object({ deployments: array(object(
|
|
|
6710
6769
|
deployedByAvatarUrl: string().optional(),
|
|
6711
6770
|
createdAt: isoDateTime$1,
|
|
6712
6771
|
active: boolean()
|
|
6713
|
-
}))
|
|
6772
|
+
}));
|
|
6714
6773
|
const optionalCount = number$1().int().nonnegative().nullable().optional();
|
|
6715
6774
|
const optionalTimestamp = string().nullable().optional();
|
|
6716
6775
|
const AgentSummarySchema = object({
|
|
@@ -6837,6 +6896,6 @@ object({
|
|
|
6837
6896
|
generatedAt: isoDateTime
|
|
6838
6897
|
});
|
|
6839
6898
|
//#endregion
|
|
6840
|
-
export {
|
|
6899
|
+
export { ListCredentialsResponseSchema as $, UpsertGatewayAttachmentBodySchema as $t, CreateOrganizationResponseSchema as A, SlugAvailabilityResponseSchema as At, GetCredentialResponseSchema as B, TriggerRunListResponseSchema as Bt, CreateApiKeyResponseSchema as C, toJSONSchema as Cn, PromptResponseSchema as Ct, CreateCustomAppRequestSchema as D, RecentResourceListResponseSchema as Dt, CreateCredentialsResponseSchema as E, ROUTE_MANIFEST_REL_PATH as Et, CredentialInstanceRecordSchema as F, StoredRouteManifestSchema as Ft, HistoryRunListQuerySchema as G, UpdateOrganizationMemberResponseSchema as Gt, HealthResponseSchema as H, UpdateCredentialInstanceBodySchema as Ht, DeclineOrganizationInvitationResponseSchema as I, SubmitTeamRequestRequestSchema as It, InviteOrganizationMembersResponseSchema as J, UpdateProjectMemberResponseSchema as Jt, HistoryRunListResponseSchema as K, UpdateOrganizationRequestSchema as Kt, DownloadActiveProjectArtifactResponseSchema as L, TriggerDetailResponseSchema as Lt, CreateProjectRequestSchema as M, StartKeystrokeConnectionResultSchema as Mt, CreateProjectResponseSchema as N, StartOAuthConnectionInputSchema as Nt, CreateCustomAppResponseSchema as O, SkillSummaryDetailResponseSchema as Ot, CredentialInstanceListResponseSchema as P, StartOAuthConnectionResultSchema as Pt, ListAppsResponseSchema as Q, UploadProjectSourceResponseSchema as Qt, ErrorResponseSchema as R, TriggerListResponseSchema as Rt, CreateApiKeyRequestSchema as S, union as Sn, PromptInputSchema as St, CreateCredentialsRequestSchema as T, QueuedRunResponseSchema as Tt, HistoryRunCancelResponseSchema as U, UpdateCredentialRequestSchema as Ut, GetCustomAppResponseSchema as V, UpdateChannelBindingBodySchema as Vt, HistoryRunDetailResponseSchema as W, UpdateOrganizationMemberRequestSchema as Wt, InviteProjectMembersResponseSchema as X, UpdateProjectSettingsRequestSchema as Xt, InviteProjectMembersRequestSchema as Y, UpdateProjectRequestSchema as Yt, ListApiKeysResponseSchema as Z, UploadProjectSourceManifestRequestSchema as Zt, ChannelDirectoryListResponseSchema as _, custom as _n, PresignUserAvatarResponseSchema as _t, AgentSessionListResponseSchema as a, WorkflowRunListResponseSchema as an, ListProjectMembersResponseSchema as at, ConnectAuthorizeUrlResponseSchema as b, object as bn, ProjectSettingsResponseSchema as bt, AppSlugAvailabilityResponseSchema as c, listenPortFromPublicUrl as cn, OrganizationSidebarBrandingPatchSchema as ct, CatalogActionsPageResponseSchema as d, parseAppSlug as dn, PollRunResponseSchema as dt, UserAvatarPatchSchema as en, ListOrganizationInvitationsResponseSchema as et, CatalogAppDetailResponseSchema as f, parseErrorResponse as fn, PresignOrgLogoRequestSchema as ft, ChannelConnectionSchema as g, array as gn, PresignUserAvatarRequestSchema as gt, ChannelConnectionListResponseSchema as h, _function as hn, PresignProjectSourceResponseSchema as ht, AgentSessionDetailResponseSchema as i, WorkflowRunDetailResponseSchema as in, ListProjectFilesResponseSchema as it, CreateProjectArtifactResponseSchema as j, StartKeystrokeConnectionInputSchema as jt, CreateOrganizationRequestSchema as k, SkillSummaryListResponseSchema as kt, BindChannelBodySchema as l, normalizeCredentialList as ln, OrganizationSidebarBrandingSchema as lt, ChannelAccountListResponseSchema as m, ZodType as mn, PresignProjectSourceRequestSchema as mt, AcceptOrganizationInvitationResponseSchema as n, UserPreferencesPatchSchema as nn, ListOrganizationsResponseSchema as nt, AgentSummaryDetailResponseSchema as o, WorkflowSummaryDetailResponseSchema as on, ListProjectMetricsResponseSchema as ot, CatalogAppsPageResponseSchema as p, slugifyAppName as pn, PresignOrgLogoResponseSchema as pt, InviteOrganizationMembersRequestSchema as q, UpdateProjectMemberRequestSchema as qt, ActiveOrganizationResponseSchema as r, UserPreferencesSchema as rn, ListProjectDeploymentsResponseSchema as rt, AgentSummaryListResponseSchema as s, WorkflowSummaryListResponseSchema as sn, ListProjectsResponseSchema as st, ACTIVE_ORG_HEADER as t, UserAvatarSchema as tn, ListOrganizationMembersResponseSchema as tt, CatalogActionDetailResponseSchema as u, originFromPublicUrl as un, PROJECT_REACHABILITY_REQUEST_TIMEOUT_MS as ut, ChannelPlatformSchema as v, discriminatedUnion as vn, ProjectReachabilityResponseSchema as vt, CreateCredentialInstanceBodySchema as w, QueuedAgentPromptResponseSchema as wt, ConnectProvidersResponseSchema as x, string as xn, ProjectSlugAvailabilityResponseSchema as xt, CompleteProjectArtifactResponseSchema as y, literal as yn, ProjectResponseSchema as yt, GatewayAttachmentRecordSchema as z, TriggerRunDetailResponseSchema as zt };
|
|
6841
6900
|
|
|
6842
|
-
//# sourceMappingURL=dist-
|
|
6901
|
+
//# sourceMappingURL=dist-C3YClLXV.mjs.map
|