@keystrokehq/platform 0.1.83 → 0.1.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/LICENSE +10 -18
  2. package/README.md +42 -23
  3. package/dist/{awk2-LA3USKJP-XNlnYg-0.mjs → awk2-LA3USKJP-C5LsncRx.mjs} +2 -2
  4. package/dist/{awk2-LA3USKJP-XNlnYg-0.mjs.map → awk2-LA3USKJP-C5LsncRx.mjs.map} +1 -1
  5. package/dist/{awk2-LA3USKJP-ccLY79cI.cjs → awk2-LA3USKJP-D3_idy3R.cjs} +2 -2
  6. package/dist/{awk2-LA3USKJP-ccLY79cI.cjs.map → awk2-LA3USKJP-D3_idy3R.cjs.map} +1 -1
  7. package/dist/{base64-C2AIWVNC-CjUNe6fz.cjs → base64-C2AIWVNC-C3wVo4Fs.cjs} +2 -2
  8. package/dist/{base64-C2AIWVNC-CjUNe6fz.cjs.map → base64-C2AIWVNC-C3wVo4Fs.cjs.map} +1 -1
  9. package/dist/{base64-C2AIWVNC-DwPD90cA.mjs → base64-C2AIWVNC-Dn7NRYxc.mjs} +2 -2
  10. package/dist/{base64-C2AIWVNC-DwPD90cA.mjs.map → base64-C2AIWVNC-Dn7NRYxc.mjs.map} +1 -1
  11. package/dist/{bash-YZ33HQZQ-B9g5DKW4.mjs → bash-YZ33HQZQ-BLdmRiOj.mjs} +2 -2
  12. package/dist/{bash-YZ33HQZQ-B9g5DKW4.mjs.map → bash-YZ33HQZQ-BLdmRiOj.mjs.map} +1 -1
  13. package/dist/{bash-YZ33HQZQ-BE8TYUne.cjs → bash-YZ33HQZQ-VCNGvSGZ.cjs} +2 -2
  14. package/dist/{bash-YZ33HQZQ-BE8TYUne.cjs.map → bash-YZ33HQZQ-VCNGvSGZ.cjs.map} +1 -1
  15. package/dist/{cat-TSFMZVYS-B0rX20hT.mjs → cat-TSFMZVYS-BVj5Lwhc.mjs} +3 -3
  16. package/dist/{cat-TSFMZVYS-B0rX20hT.mjs.map → cat-TSFMZVYS-BVj5Lwhc.mjs.map} +1 -1
  17. package/dist/{cat-TSFMZVYS-CiFvUVeW.cjs → cat-TSFMZVYS-BqtVyuNE.cjs} +3 -3
  18. package/dist/{cat-TSFMZVYS-CiFvUVeW.cjs.map → cat-TSFMZVYS-BqtVyuNE.cjs.map} +1 -1
  19. package/dist/{chunk-5H5SCKJM-CK4bQDBm.mjs → chunk-5H5SCKJM-BWSJ657l.mjs} +2 -2
  20. package/dist/{chunk-5H5SCKJM-CK4bQDBm.mjs.map → chunk-5H5SCKJM-BWSJ657l.mjs.map} +1 -1
  21. package/dist/{chunk-5H5SCKJM-Deko-t83.cjs → chunk-5H5SCKJM-C7TYvDjk.cjs} +2 -2
  22. package/dist/{chunk-5H5SCKJM-Deko-t83.cjs.map → chunk-5H5SCKJM-C7TYvDjk.cjs.map} +1 -1
  23. package/dist/{chunk-AQ6FYS2X-C7I1YzXi.cjs → chunk-AQ6FYS2X-eLXnCO8S.cjs} +2 -2
  24. package/dist/{chunk-AQ6FYS2X-C7I1YzXi.cjs.map → chunk-AQ6FYS2X-eLXnCO8S.cjs.map} +1 -1
  25. package/dist/{chunk-AQ6FYS2X-DC8YdKvx.mjs → chunk-AQ6FYS2X-hq9y_sYd.mjs} +2 -2
  26. package/dist/{chunk-AQ6FYS2X-DC8YdKvx.mjs.map → chunk-AQ6FYS2X-hq9y_sYd.mjs.map} +1 -1
  27. package/dist/{chunk-CHFEPBH4-w0BDFvQm.cjs → chunk-CHFEPBH4-BevVtpyP.cjs} +2 -2
  28. package/dist/{chunk-CHFEPBH4-w0BDFvQm.cjs.map → chunk-CHFEPBH4-BevVtpyP.cjs.map} +1 -1
  29. package/dist/{chunk-CHFEPBH4-B425yji_.mjs → chunk-CHFEPBH4-R2G4VVJG.mjs} +2 -2
  30. package/dist/{chunk-CHFEPBH4-B425yji_.mjs.map → chunk-CHFEPBH4-R2G4VVJG.mjs.map} +1 -1
  31. package/dist/{chunk-EBAPSGAO-CTfMhEqA.cjs → chunk-EBAPSGAO-AZcyEuMb.cjs} +2 -2
  32. package/dist/{chunk-EBAPSGAO-CTfMhEqA.cjs.map → chunk-EBAPSGAO-AZcyEuMb.cjs.map} +1 -1
  33. package/dist/{chunk-EBAPSGAO-fQFD5WSw.mjs → chunk-EBAPSGAO-Cz7G8Cor.mjs} +2 -2
  34. package/dist/{chunk-EBAPSGAO-fQFD5WSw.mjs.map → chunk-EBAPSGAO-Cz7G8Cor.mjs.map} +1 -1
  35. package/dist/{chunk-LEKBROJD-D0K2nO3D.mjs → chunk-LEKBROJD-CNGN0CEg.mjs} +2 -2
  36. package/dist/{chunk-LEKBROJD-D0K2nO3D.mjs.map → chunk-LEKBROJD-CNGN0CEg.mjs.map} +1 -1
  37. package/dist/{chunk-LEKBROJD-C-N1GYp9.cjs → chunk-LEKBROJD-CoLFF82V.cjs} +2 -2
  38. package/dist/{chunk-LEKBROJD-C-N1GYp9.cjs.map → chunk-LEKBROJD-CoLFF82V.cjs.map} +1 -1
  39. package/dist/{chunk-VPADYNBD-Cx5mswoS.mjs → chunk-VPADYNBD-CS42hLLp.mjs} +2 -2
  40. package/dist/{chunk-VPADYNBD-Cx5mswoS.mjs.map → chunk-VPADYNBD-CS42hLLp.mjs.map} +1 -1
  41. package/dist/{chunk-VPADYNBD-Xbf6Cz21.cjs → chunk-VPADYNBD-ngDaQ0hT.cjs} +2 -2
  42. package/dist/{chunk-VPADYNBD-Xbf6Cz21.cjs.map → chunk-VPADYNBD-ngDaQ0hT.cjs.map} +1 -1
  43. package/dist/{chunk-YCLFEX4T-ZWVP_YHR.mjs → chunk-YCLFEX4T-BinEAGmk.mjs} +2 -2
  44. package/dist/{chunk-YCLFEX4T-ZWVP_YHR.mjs.map → chunk-YCLFEX4T-BinEAGmk.mjs.map} +1 -1
  45. package/dist/{chunk-YCLFEX4T-DksQS4Fo.cjs → chunk-YCLFEX4T-Dq1JCP1A.cjs} +2 -2
  46. package/dist/{chunk-YCLFEX4T-DksQS4Fo.cjs.map → chunk-YCLFEX4T-Dq1JCP1A.cjs.map} +1 -1
  47. package/dist/{column-XT6UFXNQ-CGqJ2Fiy.cjs → column-XT6UFXNQ-BKsOSZ_k.cjs} +2 -2
  48. package/dist/{column-XT6UFXNQ-CGqJ2Fiy.cjs.map → column-XT6UFXNQ-BKsOSZ_k.cjs.map} +1 -1
  49. package/dist/{column-XT6UFXNQ-BwReXOp_.mjs → column-XT6UFXNQ-DeHXUMdY.mjs} +2 -2
  50. package/dist/{column-XT6UFXNQ-BwReXOp_.mjs.map → column-XT6UFXNQ-DeHXUMdY.mjs.map} +1 -1
  51. package/dist/{comm-VV2LDX2J-BC-rUU3Z.cjs → comm-VV2LDX2J-CSG5YCNu.cjs} +2 -2
  52. package/dist/{comm-VV2LDX2J-BC-rUU3Z.cjs.map → comm-VV2LDX2J-CSG5YCNu.cjs.map} +1 -1
  53. package/dist/{comm-VV2LDX2J-C6H3A_-z.mjs → comm-VV2LDX2J-DhHnACtN.mjs} +2 -2
  54. package/dist/{comm-VV2LDX2J-C6H3A_-z.mjs.map → comm-VV2LDX2J-DhHnACtN.mjs.map} +1 -1
  55. package/dist/{cp-BISAAS7A-Cf6ErO_A.cjs → cp-BISAAS7A-CR7f7JNP.cjs} +2 -2
  56. package/dist/{cp-BISAAS7A-Cf6ErO_A.cjs.map → cp-BISAAS7A-CR7f7JNP.cjs.map} +1 -1
  57. package/dist/{cp-BISAAS7A-CwAtjOU0.mjs → cp-BISAAS7A-DTzLnJrm.mjs} +2 -2
  58. package/dist/{cp-BISAAS7A-CwAtjOU0.mjs.map → cp-BISAAS7A-DTzLnJrm.mjs.map} +1 -1
  59. package/dist/{cut-OKARJCCV-D37bqcej.cjs → cut-OKARJCCV-Bu702e9F.cjs} +3 -3
  60. package/dist/{cut-OKARJCCV-D37bqcej.cjs.map → cut-OKARJCCV-Bu702e9F.cjs.map} +1 -1
  61. package/dist/{cut-OKARJCCV-BY1YE0of.mjs → cut-OKARJCCV-CqB1fHAF.mjs} +3 -3
  62. package/dist/{cut-OKARJCCV-BY1YE0of.mjs.map → cut-OKARJCCV-CqB1fHAF.mjs.map} +1 -1
  63. package/dist/{diff-MWJFIG7X-0ppnYIWS.cjs → diff-MWJFIG7X-Ciqtf_n-.cjs} +2 -2
  64. package/dist/{diff-MWJFIG7X-0ppnYIWS.cjs.map → diff-MWJFIG7X-Ciqtf_n-.cjs.map} +1 -1
  65. package/dist/{diff-MWJFIG7X-CnLTOJeg.mjs → diff-MWJFIG7X-Djea-Bhl.mjs} +2 -2
  66. package/dist/{diff-MWJFIG7X-CnLTOJeg.mjs.map → diff-MWJFIG7X-Djea-Bhl.mjs.map} +1 -1
  67. package/dist/{du-572XNP42-DINFVqtm.cjs → du-572XNP42-BGxCn2zQ.cjs} +2 -2
  68. package/dist/{du-572XNP42-DINFVqtm.cjs.map → du-572XNP42-BGxCn2zQ.cjs.map} +1 -1
  69. package/dist/{du-572XNP42-DMyTO83m.mjs → du-572XNP42-Bq0_PzF-.mjs} +2 -2
  70. package/dist/{du-572XNP42-DMyTO83m.mjs.map → du-572XNP42-Bq0_PzF-.mjs.map} +1 -1
  71. package/dist/{env-36M5BO7M-D0jKn4HL.cjs → env-36M5BO7M-0Gl6jP4G.cjs} +2 -2
  72. package/dist/{env-36M5BO7M-D0jKn4HL.cjs.map → env-36M5BO7M-0Gl6jP4G.cjs.map} +1 -1
  73. package/dist/{env-36M5BO7M-zFeGWEkz.mjs → env-36M5BO7M-w_v4GrDJ.mjs} +2 -2
  74. package/dist/{env-36M5BO7M-zFeGWEkz.mjs.map → env-36M5BO7M-w_v4GrDJ.mjs.map} +1 -1
  75. package/dist/{expand-JSPG6VOP-ogIgnMJE.mjs → expand-JSPG6VOP-B6R09KKR.mjs} +2 -2
  76. package/dist/{expand-JSPG6VOP-ogIgnMJE.mjs.map → expand-JSPG6VOP-B6R09KKR.mjs.map} +1 -1
  77. package/dist/{expand-JSPG6VOP-C7-exlGj.cjs → expand-JSPG6VOP-dhJEhn3Q.cjs} +2 -2
  78. package/dist/{expand-JSPG6VOP-C7-exlGj.cjs.map → expand-JSPG6VOP-dhJEhn3Q.cjs.map} +1 -1
  79. package/dist/{expr-5JAACS4X-DJeZ_9VB.mjs → expr-5JAACS4X-DgQAcEX7.mjs} +2 -2
  80. package/dist/{expr-5JAACS4X-DJeZ_9VB.mjs.map → expr-5JAACS4X-DgQAcEX7.mjs.map} +1 -1
  81. package/dist/{expr-5JAACS4X-C_h5-RKs.cjs → expr-5JAACS4X-Nozf7pyW.cjs} +2 -2
  82. package/dist/{expr-5JAACS4X-C_h5-RKs.cjs.map → expr-5JAACS4X-Nozf7pyW.cjs.map} +1 -1
  83. package/dist/{find-INTH3OLC-DcxVgKJy.mjs → find-INTH3OLC-I2v6swU0.mjs} +3 -3
  84. package/dist/{find-INTH3OLC-DcxVgKJy.mjs.map → find-INTH3OLC-I2v6swU0.mjs.map} +1 -1
  85. package/dist/{find-INTH3OLC-yYqQVcLn.cjs → find-INTH3OLC-XhYszVgB.cjs} +3 -3
  86. package/dist/{find-INTH3OLC-yYqQVcLn.cjs.map → find-INTH3OLC-XhYszVgB.cjs.map} +1 -1
  87. package/dist/{fold-4TQNYMSW-C1QWtXc0.mjs → fold-4TQNYMSW-Bx-fuENr.mjs} +2 -2
  88. package/dist/{fold-4TQNYMSW-C1QWtXc0.mjs.map → fold-4TQNYMSW-Bx-fuENr.mjs.map} +1 -1
  89. package/dist/{fold-4TQNYMSW-DB5Yl6Kh.cjs → fold-4TQNYMSW-CdiWvTfY.cjs} +2 -2
  90. package/dist/{fold-4TQNYMSW-DB5Yl6Kh.cjs.map → fold-4TQNYMSW-CdiWvTfY.cjs.map} +1 -1
  91. package/dist/{grep-V3LQVMRQ-VEQHL4eW.mjs → grep-V3LQVMRQ-260k7stX.mjs} +4 -4
  92. package/dist/{grep-V3LQVMRQ-VEQHL4eW.mjs.map → grep-V3LQVMRQ-260k7stX.mjs.map} +1 -1
  93. package/dist/{grep-V3LQVMRQ-CgbzS4bb.cjs → grep-V3LQVMRQ-_BD-w981.cjs} +4 -4
  94. package/dist/{grep-V3LQVMRQ-CgbzS4bb.cjs.map → grep-V3LQVMRQ-_BD-w981.cjs.map} +1 -1
  95. package/dist/{gzip-O5ASJAFY-Bv0KPW1z.mjs → gzip-O5ASJAFY-ChBok56G.mjs} +2 -2
  96. package/dist/{gzip-O5ASJAFY-Bv0KPW1z.mjs.map → gzip-O5ASJAFY-ChBok56G.mjs.map} +1 -1
  97. package/dist/{gzip-O5ASJAFY-T5vu2xRx.cjs → gzip-O5ASJAFY-D2EQMRdc.cjs} +2 -2
  98. package/dist/{gzip-O5ASJAFY-T5vu2xRx.cjs.map → gzip-O5ASJAFY-D2EQMRdc.cjs.map} +1 -1
  99. package/dist/{head-442HYESI-WHId0rUE.cjs → head-442HYESI-CNIm2R7M.cjs} +2 -2
  100. package/dist/{head-442HYESI-WHId0rUE.cjs.map → head-442HYESI-CNIm2R7M.cjs.map} +1 -1
  101. package/dist/{head-442HYESI-DRLTjktz.mjs → head-442HYESI-DrW_Nlur.mjs} +2 -2
  102. package/dist/{head-442HYESI-DRLTjktz.mjs.map → head-442HYESI-DrW_Nlur.mjs.map} +1 -1
  103. package/dist/{help-HZ6M2CKN-BYOF8Fqj.cjs → help-HZ6M2CKN-BpyQK1W6.cjs} +2 -2
  104. package/dist/{help-HZ6M2CKN-BYOF8Fqj.cjs.map → help-HZ6M2CKN-BpyQK1W6.cjs.map} +1 -1
  105. package/dist/{help-HZ6M2CKN-Bg_mwmBg.mjs → help-HZ6M2CKN-zTNl4o6V.mjs} +2 -2
  106. package/dist/{help-HZ6M2CKN-Bg_mwmBg.mjs.map → help-HZ6M2CKN-zTNl4o6V.mjs.map} +1 -1
  107. package/dist/{html-to-markdown-JW4MSQZO-D5rd5HOh.mjs → html-to-markdown-JW4MSQZO-BOLxa4Ci.mjs} +2 -2
  108. package/dist/{html-to-markdown-JW4MSQZO-D5rd5HOh.mjs.map → html-to-markdown-JW4MSQZO-BOLxa4Ci.mjs.map} +1 -1
  109. package/dist/{html-to-markdown-JW4MSQZO-4FW-WYsW.cjs → html-to-markdown-JW4MSQZO-CGPTXaev.cjs} +2 -2
  110. package/dist/{html-to-markdown-JW4MSQZO-4FW-WYsW.cjs.map → html-to-markdown-JW4MSQZO-CGPTXaev.cjs.map} +1 -1
  111. package/dist/{join-TBRGI3LQ-B89iOJQt.mjs → join-TBRGI3LQ-CIgQYZua.mjs} +2 -2
  112. package/dist/{join-TBRGI3LQ-B89iOJQt.mjs.map → join-TBRGI3LQ-CIgQYZua.mjs.map} +1 -1
  113. package/dist/{join-TBRGI3LQ-CEugkV3L.cjs → join-TBRGI3LQ-D620oNbY.cjs} +2 -2
  114. package/dist/{join-TBRGI3LQ-CEugkV3L.cjs.map → join-TBRGI3LQ-D620oNbY.cjs.map} +1 -1
  115. package/dist/{jq-4XLYLOS5-CLEGEyfV.mjs → jq-4XLYLOS5-BoM7ewJt.mjs} +4 -4
  116. package/dist/{jq-4XLYLOS5-CLEGEyfV.mjs.map → jq-4XLYLOS5-BoM7ewJt.mjs.map} +1 -1
  117. package/dist/{jq-4XLYLOS5-BBBLZV-2.cjs → jq-4XLYLOS5-DzouKok8.cjs} +4 -4
  118. package/dist/{jq-4XLYLOS5-BBBLZV-2.cjs.map → jq-4XLYLOS5-DzouKok8.cjs.map} +1 -1
  119. package/dist/{js-exec-N5KEZBH7-DQq2ZiLx.mjs → js-exec-N5KEZBH7-BUq7nLwX.mjs} +3 -3
  120. package/dist/{js-exec-N5KEZBH7-DQq2ZiLx.mjs.map → js-exec-N5KEZBH7-BUq7nLwX.mjs.map} +1 -1
  121. package/dist/{js-exec-N5KEZBH7-DaxXiaeU.cjs → js-exec-N5KEZBH7-gB1seqsR.cjs} +3 -3
  122. package/dist/{js-exec-N5KEZBH7-DaxXiaeU.cjs.map → js-exec-N5KEZBH7-gB1seqsR.cjs.map} +1 -1
  123. package/dist/{ln-4LGSXXGD-CwT-goy5.mjs → ln-4LGSXXGD-pCbMlxRF.mjs} +2 -2
  124. package/dist/{ln-4LGSXXGD-CwT-goy5.mjs.map → ln-4LGSXXGD-pCbMlxRF.mjs.map} +1 -1
  125. package/dist/{ln-4LGSXXGD-Db_5PDXS.cjs → ln-4LGSXXGD-wgciTQQw.cjs} +2 -2
  126. package/dist/{ln-4LGSXXGD-Db_5PDXS.cjs.map → ln-4LGSXXGD-wgciTQQw.cjs.map} +1 -1
  127. package/dist/{ls-ZJGQER7M-DBaZac9m.mjs → ls-ZJGQER7M-BtwFEFte.mjs} +2 -2
  128. package/dist/{ls-ZJGQER7M-DBaZac9m.mjs.map → ls-ZJGQER7M-BtwFEFte.mjs.map} +1 -1
  129. package/dist/{ls-ZJGQER7M-ZgvYPf0M.cjs → ls-ZJGQER7M-DdG3F5wr.cjs} +2 -2
  130. package/dist/{ls-ZJGQER7M-ZgvYPf0M.cjs.map → ls-ZJGQER7M-DdG3F5wr.cjs.map} +1 -1
  131. package/dist/{md5sum-SPU24VSG-DzquyGvp.mjs → md5sum-SPU24VSG-C2U9jLZu.mjs} +3 -3
  132. package/dist/{md5sum-SPU24VSG-DzquyGvp.mjs.map → md5sum-SPU24VSG-C2U9jLZu.mjs.map} +1 -1
  133. package/dist/{md5sum-SPU24VSG-CWV-q2P_.cjs → md5sum-SPU24VSG-azW_smzh.cjs} +3 -3
  134. package/dist/{md5sum-SPU24VSG-CWV-q2P_.cjs.map → md5sum-SPU24VSG-azW_smzh.cjs.map} +1 -1
  135. package/dist/{mkdir-MEPGZOB6-3mfIVpAT.cjs → mkdir-MEPGZOB6-BLAdKEOB.cjs} +2 -2
  136. package/dist/{mkdir-MEPGZOB6-3mfIVpAT.cjs.map → mkdir-MEPGZOB6-BLAdKEOB.cjs.map} +1 -1
  137. package/dist/{mkdir-MEPGZOB6-B8paINPq.mjs → mkdir-MEPGZOB6-CdHQEJ4O.mjs} +2 -2
  138. package/dist/{mkdir-MEPGZOB6-B8paINPq.mjs.map → mkdir-MEPGZOB6-CdHQEJ4O.mjs.map} +1 -1
  139. package/dist/{mv-W5BIQ646-DVYO0zOs.mjs → mv-W5BIQ646-BqGtubFh.mjs} +2 -2
  140. package/dist/{mv-W5BIQ646-DVYO0zOs.mjs.map → mv-W5BIQ646-BqGtubFh.mjs.map} +1 -1
  141. package/dist/{mv-W5BIQ646-tbmETgvI.cjs → mv-W5BIQ646-jE5J33co.cjs} +2 -2
  142. package/dist/{mv-W5BIQ646-tbmETgvI.cjs.map → mv-W5BIQ646-jE5J33co.cjs.map} +1 -1
  143. package/dist/{nl-WSDW7I4O-GPsyJEK_.mjs → nl-WSDW7I4O-DggqA-6H.mjs} +2 -2
  144. package/dist/{nl-WSDW7I4O-GPsyJEK_.mjs.map → nl-WSDW7I4O-DggqA-6H.mjs.map} +1 -1
  145. package/dist/{nl-WSDW7I4O-DimzG92O.cjs → nl-WSDW7I4O-DyuY9pBY.cjs} +2 -2
  146. package/dist/{nl-WSDW7I4O-DimzG92O.cjs.map → nl-WSDW7I4O-DyuY9pBY.cjs.map} +1 -1
  147. package/dist/{od-WOKFDJTP-CzmZeskb.mjs → od-WOKFDJTP-3UNQ0XB7.mjs} +2 -2
  148. package/dist/{od-WOKFDJTP-CzmZeskb.mjs.map → od-WOKFDJTP-3UNQ0XB7.mjs.map} +1 -1
  149. package/dist/{od-WOKFDJTP-4WcPcK4X.cjs → od-WOKFDJTP-_9lnItE5.cjs} +2 -2
  150. package/dist/{od-WOKFDJTP-4WcPcK4X.cjs.map → od-WOKFDJTP-_9lnItE5.cjs.map} +1 -1
  151. package/dist/{paste-7JC6S4DX-uiMh7Zfv.mjs → paste-7JC6S4DX-BB0ctRvw.mjs} +2 -2
  152. package/dist/{paste-7JC6S4DX-uiMh7Zfv.mjs.map → paste-7JC6S4DX-BB0ctRvw.mjs.map} +1 -1
  153. package/dist/{paste-7JC6S4DX-Dbs7pfMN.cjs → paste-7JC6S4DX-DyK086gi.cjs} +2 -2
  154. package/dist/{paste-7JC6S4DX-Dbs7pfMN.cjs.map → paste-7JC6S4DX-DyK086gi.cjs.map} +1 -1
  155. package/dist/{printf-TWGXF445-CPkvIaSN.mjs → printf-TWGXF445-1jOJyG4c.mjs} +2 -2
  156. package/dist/{printf-TWGXF445-CPkvIaSN.mjs.map → printf-TWGXF445-1jOJyG4c.mjs.map} +1 -1
  157. package/dist/{printf-TWGXF445-BMGssoi4.cjs → printf-TWGXF445-uMJ_iJRQ.cjs} +2 -2
  158. package/dist/{printf-TWGXF445-BMGssoi4.cjs.map → printf-TWGXF445-uMJ_iJRQ.cjs.map} +1 -1
  159. package/dist/{python3-POMOR4OA-B_qqrQy9.cjs → python3-POMOR4OA-ChHSc6ih.cjs} +3 -3
  160. package/dist/{python3-POMOR4OA-B_qqrQy9.cjs.map → python3-POMOR4OA-ChHSc6ih.cjs.map} +1 -1
  161. package/dist/{python3-POMOR4OA-BVYZNESK.mjs → python3-POMOR4OA-CtEf48Ko.mjs} +3 -3
  162. package/dist/{python3-POMOR4OA-BVYZNESK.mjs.map → python3-POMOR4OA-CtEf48Ko.mjs.map} +1 -1
  163. package/dist/{rev-5EHFX4EJ-DoTigWa8.cjs → rev-5EHFX4EJ-Cr7rt5Gs.cjs} +2 -2
  164. package/dist/{rev-5EHFX4EJ-DoTigWa8.cjs.map → rev-5EHFX4EJ-Cr7rt5Gs.cjs.map} +1 -1
  165. package/dist/{rev-5EHFX4EJ-CLWqjYsi.mjs → rev-5EHFX4EJ-CsXRoVK5.mjs} +2 -2
  166. package/dist/{rev-5EHFX4EJ-CLWqjYsi.mjs.map → rev-5EHFX4EJ-CsXRoVK5.mjs.map} +1 -1
  167. package/dist/{rg-S4FXYXWB-DnT9Ka9o.cjs → rg-S4FXYXWB-BzELWcGt.cjs} +3 -3
  168. package/dist/{rg-S4FXYXWB-DnT9Ka9o.cjs.map → rg-S4FXYXWB-BzELWcGt.cjs.map} +1 -1
  169. package/dist/{rg-S4FXYXWB-sflbCXLA.mjs → rg-S4FXYXWB-CZ8lJqjE.mjs} +3 -3
  170. package/dist/{rg-S4FXYXWB-sflbCXLA.mjs.map → rg-S4FXYXWB-CZ8lJqjE.mjs.map} +1 -1
  171. package/dist/{rm-SSGETQVQ-CYlOobda.cjs → rm-SSGETQVQ-BKGxVH7I.cjs} +2 -2
  172. package/dist/{rm-SSGETQVQ-CYlOobda.cjs.map → rm-SSGETQVQ-BKGxVH7I.cjs.map} +1 -1
  173. package/dist/{rm-SSGETQVQ-BIKzdgHI.mjs → rm-SSGETQVQ-DMeXM5mx.mjs} +2 -2
  174. package/dist/{rm-SSGETQVQ-BIKzdgHI.mjs.map → rm-SSGETQVQ-DMeXM5mx.mjs.map} +1 -1
  175. package/dist/{rmdir-OC4ZLPYA-eCOAl1n4.mjs → rmdir-OC4ZLPYA--VfoMNgS.mjs} +2 -2
  176. package/dist/{rmdir-OC4ZLPYA-eCOAl1n4.mjs.map → rmdir-OC4ZLPYA--VfoMNgS.mjs.map} +1 -1
  177. package/dist/{rmdir-OC4ZLPYA-BPuanhbs.cjs → rmdir-OC4ZLPYA-C2yD9q1u.cjs} +2 -2
  178. package/dist/{rmdir-OC4ZLPYA-BPuanhbs.cjs.map → rmdir-OC4ZLPYA-C2yD9q1u.cjs.map} +1 -1
  179. package/dist/run.cjs +1 -1
  180. package/dist/run.mjs +1 -1
  181. package/dist/{sed-S5UIK574-DtxnTzjK.mjs → sed-S5UIK574-CZlU_Z9Z.mjs} +2 -2
  182. package/dist/{sed-S5UIK574-DtxnTzjK.mjs.map → sed-S5UIK574-CZlU_Z9Z.mjs.map} +1 -1
  183. package/dist/{sed-S5UIK574-D0byNE-C.cjs → sed-S5UIK574-DuzQQXW7.cjs} +2 -2
  184. package/dist/{sed-S5UIK574-D0byNE-C.cjs.map → sed-S5UIK574-DuzQQXW7.cjs.map} +1 -1
  185. package/dist/{sha1sum-2PTOAFR6-B7KePAOT.mjs → sha1sum-2PTOAFR6-DSeE-ZDI.mjs} +3 -3
  186. package/dist/{sha1sum-2PTOAFR6-B7KePAOT.mjs.map → sha1sum-2PTOAFR6-DSeE-ZDI.mjs.map} +1 -1
  187. package/dist/{sha1sum-2PTOAFR6-DNafS-MG.cjs → sha1sum-2PTOAFR6-OosZQgfn.cjs} +3 -3
  188. package/dist/{sha1sum-2PTOAFR6-DNafS-MG.cjs.map → sha1sum-2PTOAFR6-OosZQgfn.cjs.map} +1 -1
  189. package/dist/{sha256sum-NS7D3IXX-BGG5L0ep.mjs → sha256sum-NS7D3IXX-BD661MM6.mjs} +3 -3
  190. package/dist/{sha256sum-NS7D3IXX-BGG5L0ep.mjs.map → sha256sum-NS7D3IXX-BD661MM6.mjs.map} +1 -1
  191. package/dist/{sha256sum-NS7D3IXX-CvDTNbGi.cjs → sha256sum-NS7D3IXX-BTEp0KFa.cjs} +3 -3
  192. package/dist/{sha256sum-NS7D3IXX-CvDTNbGi.cjs.map → sha256sum-NS7D3IXX-BTEp0KFa.cjs.map} +1 -1
  193. package/dist/{sleep-X22JJINO-C1OWzVuI.cjs → sleep-X22JJINO-DG_yV5Lw.cjs} +2 -2
  194. package/dist/{sleep-X22JJINO-C1OWzVuI.cjs.map → sleep-X22JJINO-DG_yV5Lw.cjs.map} +1 -1
  195. package/dist/{sleep-X22JJINO-DeNMx3Li.mjs → sleep-X22JJINO-JjX8AV11.mjs} +2 -2
  196. package/dist/{sleep-X22JJINO-DeNMx3Li.mjs.map → sleep-X22JJINO-JjX8AV11.mjs.map} +1 -1
  197. package/dist/{sort-SW2YEO5B-wYwCIuMi.cjs → sort-SW2YEO5B-DDyzTeSk.cjs} +3 -3
  198. package/dist/{sort-SW2YEO5B-wYwCIuMi.cjs.map → sort-SW2YEO5B-DDyzTeSk.cjs.map} +1 -1
  199. package/dist/{sort-SW2YEO5B-DZz5EeFo.mjs → sort-SW2YEO5B-Dn9Mh-ZN.mjs} +3 -3
  200. package/dist/{sort-SW2YEO5B-DZz5EeFo.mjs.map → sort-SW2YEO5B-Dn9Mh-ZN.mjs.map} +1 -1
  201. package/dist/{split-4KKZZXXE-DKl6DIru.cjs → split-4KKZZXXE-CW0rrt7Q.cjs} +2 -2
  202. package/dist/{split-4KKZZXXE-DKl6DIru.cjs.map → split-4KKZZXXE-CW0rrt7Q.cjs.map} +1 -1
  203. package/dist/{split-4KKZZXXE-CzAW_WYf.mjs → split-4KKZZXXE-_MpfjF77.mjs} +2 -2
  204. package/dist/{split-4KKZZXXE-CzAW_WYf.mjs.map → split-4KKZZXXE-_MpfjF77.mjs.map} +1 -1
  205. package/dist/{sqlite3-CGOEFJAO-DR48hFUS.cjs → sqlite3-CGOEFJAO-AzvJSyfA.cjs} +2 -2
  206. package/dist/{sqlite3-CGOEFJAO-DR48hFUS.cjs.map → sqlite3-CGOEFJAO-AzvJSyfA.cjs.map} +1 -1
  207. package/dist/{sqlite3-CGOEFJAO-DH04Vul-.mjs → sqlite3-CGOEFJAO-C3yVQ3Ue.mjs} +2 -2
  208. package/dist/{sqlite3-CGOEFJAO-DH04Vul-.mjs.map → sqlite3-CGOEFJAO-C3yVQ3Ue.mjs.map} +1 -1
  209. package/dist/{start--qYON8Do.cjs → start-CJ8vAU54.cjs} +99 -110
  210. package/dist/{start--qYON8Do.cjs.map → start-CJ8vAU54.cjs.map} +1 -1
  211. package/dist/{start-C8B6WOJg.mjs → start-bzcD0alo.mjs} +99 -110
  212. package/dist/{start-C8B6WOJg.mjs.map → start-bzcD0alo.mjs.map} +1 -1
  213. package/dist/start.cjs +1 -1
  214. package/dist/start.mjs +1 -1
  215. package/dist/{strings-6WDHLGMX-969_YfMH.cjs → strings-6WDHLGMX-D5wWfjig.cjs} +2 -2
  216. package/dist/{strings-6WDHLGMX-969_YfMH.cjs.map → strings-6WDHLGMX-D5wWfjig.cjs.map} +1 -1
  217. package/dist/{strings-6WDHLGMX-DRBNEE4I.mjs → strings-6WDHLGMX-kXf5gxcl.mjs} +2 -2
  218. package/dist/{strings-6WDHLGMX-DRBNEE4I.mjs.map → strings-6WDHLGMX-kXf5gxcl.mjs.map} +1 -1
  219. package/dist/{tac-2STMMJYW-DcC6iJby.mjs → tac-2STMMJYW-B5Ke8llc.mjs} +2 -2
  220. package/dist/{tac-2STMMJYW-DcC6iJby.mjs.map → tac-2STMMJYW-B5Ke8llc.mjs.map} +1 -1
  221. package/dist/{tac-2STMMJYW-jy8JULZg.cjs → tac-2STMMJYW-HzBleS5f.cjs} +2 -2
  222. package/dist/{tac-2STMMJYW-jy8JULZg.cjs.map → tac-2STMMJYW-HzBleS5f.cjs.map} +1 -1
  223. package/dist/{tail-R4PCA2C4-CPF_JK6S.cjs → tail-R4PCA2C4-Ba7MKGyo.cjs} +2 -2
  224. package/dist/{tail-R4PCA2C4-CPF_JK6S.cjs.map → tail-R4PCA2C4-Ba7MKGyo.cjs.map} +1 -1
  225. package/dist/{tail-R4PCA2C4-C9Oo5db9.mjs → tail-R4PCA2C4-DxZFpkh7.mjs} +2 -2
  226. package/dist/{tail-R4PCA2C4-C9Oo5db9.mjs.map → tail-R4PCA2C4-DxZFpkh7.mjs.map} +1 -1
  227. package/dist/{tar-STHHZTZ6-Bblnqr0h.mjs → tar-STHHZTZ6-BTbSEbUD.mjs} +2 -2
  228. package/dist/{tar-STHHZTZ6-Bblnqr0h.mjs.map → tar-STHHZTZ6-BTbSEbUD.mjs.map} +1 -1
  229. package/dist/{tar-STHHZTZ6-tWP1jfDZ.cjs → tar-STHHZTZ6-RLyTQgIR.cjs} +2 -2
  230. package/dist/{tar-STHHZTZ6-tWP1jfDZ.cjs.map → tar-STHHZTZ6-RLyTQgIR.cjs.map} +1 -1
  231. package/dist/{tee-YUZ2FKCJ-D9rq44DY.cjs → tee-YUZ2FKCJ-Cd5F613D.cjs} +2 -2
  232. package/dist/{tee-YUZ2FKCJ-D9rq44DY.cjs.map → tee-YUZ2FKCJ-Cd5F613D.cjs.map} +1 -1
  233. package/dist/{tee-YUZ2FKCJ-CYA7Dlzs.mjs → tee-YUZ2FKCJ-OxCBUx_K.mjs} +2 -2
  234. package/dist/{tee-YUZ2FKCJ-CYA7Dlzs.mjs.map → tee-YUZ2FKCJ-OxCBUx_K.mjs.map} +1 -1
  235. package/dist/{time-D4LNBSWX-C8OseldU.mjs → time-D4LNBSWX-BQy91NDr.mjs} +2 -2
  236. package/dist/{time-D4LNBSWX-C8OseldU.mjs.map → time-D4LNBSWX-BQy91NDr.mjs.map} +1 -1
  237. package/dist/{time-D4LNBSWX-hqn1bHBJ.cjs → time-D4LNBSWX-DhIp7jkm.cjs} +2 -2
  238. package/dist/{time-D4LNBSWX-hqn1bHBJ.cjs.map → time-D4LNBSWX-DhIp7jkm.cjs.map} +1 -1
  239. package/dist/{timeout-YDCRSLPQ-DwZ-oE07.mjs → timeout-YDCRSLPQ-B1PcPJUx.mjs} +2 -2
  240. package/dist/{timeout-YDCRSLPQ-DwZ-oE07.mjs.map → timeout-YDCRSLPQ-B1PcPJUx.mjs.map} +1 -1
  241. package/dist/{timeout-YDCRSLPQ-D7zIWojx.cjs → timeout-YDCRSLPQ-BECKq7fm.cjs} +2 -2
  242. package/dist/{timeout-YDCRSLPQ-D7zIWojx.cjs.map → timeout-YDCRSLPQ-BECKq7fm.cjs.map} +1 -1
  243. package/dist/{touch-UA33VN3N-CZIThx7a.cjs → touch-UA33VN3N-CwzN_rXA.cjs} +2 -2
  244. package/dist/{touch-UA33VN3N-CZIThx7a.cjs.map → touch-UA33VN3N-CwzN_rXA.cjs.map} +1 -1
  245. package/dist/{touch-UA33VN3N-5Tl7cu_n.mjs → touch-UA33VN3N-D4jtQRvi.mjs} +2 -2
  246. package/dist/{touch-UA33VN3N-5Tl7cu_n.mjs.map → touch-UA33VN3N-D4jtQRvi.mjs.map} +1 -1
  247. package/dist/{tr-36LHWFRQ-BNzLhlwq.cjs → tr-36LHWFRQ-CmWISBmi.cjs} +2 -2
  248. package/dist/{tr-36LHWFRQ-BNzLhlwq.cjs.map → tr-36LHWFRQ-CmWISBmi.cjs.map} +1 -1
  249. package/dist/{tr-36LHWFRQ-CiHognSa.mjs → tr-36LHWFRQ-cl6LhKH8.mjs} +2 -2
  250. package/dist/{tr-36LHWFRQ-CiHognSa.mjs.map → tr-36LHWFRQ-cl6LhKH8.mjs.map} +1 -1
  251. package/dist/{tree-YLD52CNT-9BGi-srs.mjs → tree-YLD52CNT-CIuI0GSH.mjs} +2 -2
  252. package/dist/{tree-YLD52CNT-9BGi-srs.mjs.map → tree-YLD52CNT-CIuI0GSH.mjs.map} +1 -1
  253. package/dist/{tree-YLD52CNT-Bgd1X-cj.cjs → tree-YLD52CNT-mEx6IIRE.cjs} +2 -2
  254. package/dist/{tree-YLD52CNT-Bgd1X-cj.cjs.map → tree-YLD52CNT-mEx6IIRE.cjs.map} +1 -1
  255. package/dist/{unexpand-CADSA4VO-Ezyt5AAS.mjs → unexpand-CADSA4VO-CfphK6Hm.mjs} +2 -2
  256. package/dist/{unexpand-CADSA4VO-Ezyt5AAS.mjs.map → unexpand-CADSA4VO-CfphK6Hm.mjs.map} +1 -1
  257. package/dist/{unexpand-CADSA4VO-Dg75lukY.cjs → unexpand-CADSA4VO-DQUy2X2r.cjs} +2 -2
  258. package/dist/{unexpand-CADSA4VO-Dg75lukY.cjs.map → unexpand-CADSA4VO-DQUy2X2r.cjs.map} +1 -1
  259. package/dist/{uniq-XSIZR6PB-Dkr1HvId.cjs → uniq-XSIZR6PB-Dph9cxLU.cjs} +3 -3
  260. package/dist/{uniq-XSIZR6PB-Dkr1HvId.cjs.map → uniq-XSIZR6PB-Dph9cxLU.cjs.map} +1 -1
  261. package/dist/{uniq-XSIZR6PB-BxktTBq5.mjs → uniq-XSIZR6PB-dWvoRXjp.mjs} +3 -3
  262. package/dist/{uniq-XSIZR6PB-BxktTBq5.mjs.map → uniq-XSIZR6PB-dWvoRXjp.mjs.map} +1 -1
  263. package/dist/{wc-LF7NU4LA-BgSvs1ru.mjs → wc-LF7NU4LA-BGsPVc8p.mjs} +3 -3
  264. package/dist/{wc-LF7NU4LA-BgSvs1ru.mjs.map → wc-LF7NU4LA-BGsPVc8p.mjs.map} +1 -1
  265. package/dist/{wc-LF7NU4LA-BO-JVS3L.cjs → wc-LF7NU4LA-BsWkVGfg.cjs} +3 -3
  266. package/dist/{wc-LF7NU4LA-BO-JVS3L.cjs.map → wc-LF7NU4LA-BsWkVGfg.cjs.map} +1 -1
  267. package/dist/{xan-Y6WF3IRG-DmZCkrGK.cjs → xan-Y6WF3IRG-9_zhE3UI.cjs} +6 -6
  268. package/dist/{xan-Y6WF3IRG-DmZCkrGK.cjs.map → xan-Y6WF3IRG-9_zhE3UI.cjs.map} +1 -1
  269. package/dist/{xan-Y6WF3IRG-Cx-nX0tY.mjs → xan-Y6WF3IRG-CNaI4xkD.mjs} +6 -6
  270. package/dist/{xan-Y6WF3IRG-Cx-nX0tY.mjs.map → xan-Y6WF3IRG-CNaI4xkD.mjs.map} +1 -1
  271. package/dist/{xan-view-HDVKHFC2-Dc7w79hH.mjs → xan-view-HDVKHFC2-BhJiTL83.mjs} +3 -3
  272. package/dist/{xan-view-HDVKHFC2-Dc7w79hH.mjs.map → xan-view-HDVKHFC2-BhJiTL83.mjs.map} +1 -1
  273. package/dist/{xan-view-HDVKHFC2-hZpvW4z5.cjs → xan-view-HDVKHFC2-DZcLlKMI.cjs} +3 -3
  274. package/dist/{xan-view-HDVKHFC2-hZpvW4z5.cjs.map → xan-view-HDVKHFC2-DZcLlKMI.cjs.map} +1 -1
  275. package/dist/{xargs-MGZPH7AX-BOzPLWzF.mjs → xargs-MGZPH7AX-AkXpUV1X.mjs} +2 -2
  276. package/dist/{xargs-MGZPH7AX-BOzPLWzF.mjs.map → xargs-MGZPH7AX-AkXpUV1X.mjs.map} +1 -1
  277. package/dist/{xargs-MGZPH7AX-Dtd3GBl6.cjs → xargs-MGZPH7AX-BCLAYD8J.cjs} +2 -2
  278. package/dist/{xargs-MGZPH7AX-Dtd3GBl6.cjs.map → xargs-MGZPH7AX-BCLAYD8J.cjs.map} +1 -1
  279. package/dist/{yq-4QJW3EQG-s_RCKPk9.mjs → yq-4QJW3EQG-1h2SZ5xa.mjs} +3 -3
  280. package/dist/{yq-4QJW3EQG-s_RCKPk9.mjs.map → yq-4QJW3EQG-1h2SZ5xa.mjs.map} +1 -1
  281. package/dist/{yq-4QJW3EQG-Dz8FIgXv.cjs → yq-4QJW3EQG-RyD8shZN.cjs} +3 -3
  282. package/dist/{yq-4QJW3EQG-Dz8FIgXv.cjs.map → yq-4QJW3EQG-RyD8shZN.cjs.map} +1 -1
  283. package/package.json +3 -3
package/LICENSE CHANGED
@@ -1,21 +1,13 @@
1
- MIT License
1
+ Copyright 2026 Sprint Labs, Inc. All rights reserved.
2
2
 
3
- Copyright (c) 2026 Dallin
3
+ This private canonical monorepo contains materials under different terms:
4
4
 
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
5
+ - The downstream public projection described by `oss/` is made available under
6
+ the Elastic License 2.0 in `oss/LICENSE`.
7
+ - Code and materials in paths containing an exact `cloud` segment are
8
+ proprietary and governed by the nearest applicable proprietary license.
11
9
 
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
10
+ Access to this private repository does not itself grant a license to use, copy,
11
+ modify, distribute, make available, or create derivative works from its
12
+ contents. Sprint Labs employees, contractors, customers, and partners receive
13
+ rights only under their applicable written agreements.
package/README.md CHANGED
@@ -1,44 +1,63 @@
1
- # @keystrokehq/platform
1
+ # `@keystrokehq/platform`
2
2
 
3
- Platform control plane config API and HTTP server.
3
+ Keystroke's open-source platform control plane: organizations, projects,
4
+ deployments, credentials, authentication, and the HTTP server that backs the
5
+ web dashboard and CLI.
4
6
 
5
- ## Dev
7
+ The package exposes configuration and startup APIs. Hosting, scheduling,
8
+ storage, billing, and other deployment-specific behavior plug in through
9
+ neutral interfaces.
10
+
11
+ ## Development
12
+
13
+ Run from the monorepo root:
6
14
 
7
15
  ```bash
8
16
  pnpm --filter @keystrokehq/platform dev
9
17
  ```
10
18
 
11
- ## Cloud
19
+ The platform database migrations are embedded at build time.
20
+ `@keystrokehq/http`, `@keystrokehq/runtime`, and `@keystrokehq/database`
21
+ remain runtime dependencies so the platform bundle does not duplicate shared
22
+ runtime symbols.
12
23
 
13
- Production runs via `@keystroke-cloud/platform` ([`packages/cloud/platform`](../../packages/cloud/platform)) in this monorepo, which imports **`@keystrokehq/platform/start`** and wires cloud plugins (e.g. `@keystroke-cloud/fly-io-plugin`):
24
+ ## Embedding
14
25
 
15
- ```ts
26
+ ```typescript
16
27
  import { definePlatformConfig } from "@keystrokehq/platform";
17
28
  import { startPlatformServer } from "@keystrokehq/platform/start";
18
29
 
19
- await startPlatformServer(definePlatformConfig({ hosting: flyPlugin({ ... }) }));
30
+ const config = definePlatformConfig({
31
+ // Optional hosting, scheduler, storage, and runtime adapters.
32
+ });
33
+
34
+ await startPlatformServer(config);
20
35
  ```
21
36
 
22
- `@keystrokehq/platform-database` is bundled into the platform build; migrations are embedded at library build time and ship inside the bundle. `@keystrokehq/http`, `@keystrokehq/runtime`, and `@keystrokehq/database` stay external (resolved from `node_modules` at runtime) so Rolldown can bundle the platform entry without duplicate chunk symbols.
37
+ Use plugin hooks instead of importing deployment-specific implementations into
38
+ this package. Public wire shapes belong in `@keystrokehq/shared`; clients access
39
+ them through `@keystrokehq/sdk/platform`.
23
40
 
24
- ## Team requests
41
+ ## Public endpoints
25
42
 
26
- `POST /api/team-requests` posts org-scoped user requests (contact, org deletion, enterprise upgrade, Slack Connect) to the internal team Slack channel. Configure `TEAM_SLACK_WEBHOOK_URL` with a Slack incoming webhook URL (`https://hooks.slack.com/services/...`). When unset, delivery is skipped so local dev works without the secret. Slack Connect requests use the same plain-text format as signup pipeline notifications (name, email, org).
43
+ - `GET /api/public/models` returns valid AI Gateway model IDs for authoring
44
+ validation.
45
+ - `POST /api/public/contact` accepts rate-limited contact requests.
46
+ - `GET /.well-known/oauth-client-metadata` serves OAuth Client ID Metadata for
47
+ connecting to compatible MCP authorization servers.
27
48
 
28
49
  ## Signup notifications
29
50
 
30
- `POST /api/organizations` posts a **New Website Sign Up** message to the internal `#pipeline` Slack channel after a user creates their first organization. Configure `PIPELINE_SLACK_WEBHOOK_URL` with an incoming webhook scoped to `#pipeline`. When unset, delivery is skipped so local dev works without the secret. Slack delivery failures are logged but do not fail org creation.
31
-
32
- ## Marketing contact
33
-
34
- `POST /api/public/contact` accepts unauthenticated marketing contact form submissions and posts them to the same `TEAM_SLACK_WEBHOOK_URL` channel with a **Contact Team/Sales Request** heading. Rate-limited per IP; includes a honeypot field (`companyWebsite`) that silently succeeds when filled.
35
-
36
- ## Public models catalog
37
-
38
- `GET /api/public/models` returns `{ models: string[] }` — valid AI Gateway model ids for agent validation. Cached from the public Vercel catalog (`https://ai-gateway.vercel.sh/v1/models`); no auth required.
39
-
40
- ## Outbound MCP OAuth client metadata (CIMD)
51
+ Website sign-up (Better Auth user creation via OAuth, magic link, or password)
52
+ posts a **New Website Sign Up** message to the internal `#pipeline` Slack
53
+ channel. Configure `PIPELINE_SLACK_WEBHOOK_URL` with an incoming webhook scoped
54
+ to `#pipeline`. When unset, delivery is skipped so local dev works without the
55
+ secret. Slack delivery failures are logged but do not fail sign-up. Invited
56
+ users created via `findOrCreateUserByEmail` do not trigger this notification.
41
57
 
42
- `GET /.well-known/oauth-client-metadata` returns Keystroke's OAuth Client ID Metadata Document for connecting to third-party MCP servers. No auth required. Authorization servers that advertise `client_id_metadata_document_supported` fetch this URL and use it as `client_id` (no Dynamic Client Registration).
58
+ ## Boundaries
43
59
 
44
- The document's `client_id` and `redirect_uris` are built from `PUBLIC_PLATFORM_PROXY_URL` (preferred) or `PUBLIC_PLATFORM_URL`. Prod uses CIMD when the AS supports it. Local/dev with `http://localhost` falls back to DCR automatically (CIMD requires a fetchable HTTPS URL). Set `PUBLIC_PLATFORM_PROXY_URL` only if you need to exercise the CIMD path against a remote AS from localhost.
60
+ - No imports from `@keystroke-cloud/*` or exact `cloud` paths.
61
+ - No web-dashboard implementation code; `apps/web` uses the platform SDK.
62
+ - No provider-specific hosting or scheduler logic; implement the public plugin
63
+ contracts instead.
@@ -1,4 +1,4 @@
1
- import { S as r1, b as b$1, c as a, f as r$1, s as x$1, u as x, x as I1 } from "./start-C8B6WOJg.mjs";
1
+ import { S as r1, b as b$1, c as a, f as r$1, s as x$1, u as x, x as I1 } from "./start-bzcD0alo.mjs";
2
2
  import "./chunk-BZUGFHVS-B2NchobP.mjs";
3
3
  import { n as d } from "./chunk-TN7HHBQW-B8PYcKz5.mjs";
4
4
  import { n as r$2, r as s, t as o } from "./chunk-QAYAQNCG-B1r1SmqS.mjs";
@@ -2729,4 +2729,4 @@ createRequire(import.meta.url);
2729
2729
  //#endregion
2730
2730
  export { zn as awkCommand2 };
2731
2731
 
2732
- //# sourceMappingURL=awk2-LA3USKJP-XNlnYg-0.mjs.map
2732
+ //# sourceMappingURL=awk2-LA3USKJP-C5LsncRx.mjs.map