@malloy-publisher/app 0.0.113 → 0.0.115

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 (304) hide show
  1. package/dist/api-doc.yaml +621 -350
  2. package/dist/assets/{Chip-BPFN-2iK.js → Chip-Dnjptjx_.js} +1 -1
  3. package/dist/assets/{Container-S_LHoTtj.js → Container-DkO95q-4.js} +1 -1
  4. package/dist/assets/{DialogTitle-BoaRUY5e.js → DialogTitle-CxFBjEhG.js} +1 -1
  5. package/dist/assets/{Edit-DxSFhHwr.js → Edit-RtMOPNzT.js} +1 -1
  6. package/dist/assets/FormControlContext-CQ0UyOaU.js +1 -0
  7. package/dist/assets/{HomePage-Ciykl78O.js → HomePage-R3qOQ1KM.js} +1 -1
  8. package/dist/assets/{MainPage-DQs1DLly.js → MainPage-3WQF-B84.js} +1 -1
  9. package/dist/assets/{MenuItem-CKcvMIiT.js → MenuItem-CIuBJELU.js} +1 -1
  10. package/dist/assets/{Modal-B09ILQKb.js → Modal-BkzfZV9H.js} +1 -1
  11. package/dist/assets/{ModelPage-B4pPCb_A.js → ModelPage-DcKgMUK5.js} +1 -1
  12. package/dist/assets/{MoreVert-CBj2COu2.js → MoreVert-CE4XrzBZ.js} +1 -1
  13. package/dist/assets/{PackagePage-v9ybKZsV.js → PackagePage-rqHRexK9.js} +1 -1
  14. package/dist/assets/{ProjectPage--ytNIoOY.js → ProjectPage-Dpeja96H.js} +1 -1
  15. package/dist/assets/{RouteError-DODx40fJ.js → RouteError-B_elzXbG.js} +1 -1
  16. package/dist/assets/{WorkbookPage-DEmSMCHP.js → WorkbookPage-wNC0nP-1.js} +2 -2
  17. package/dist/assets/index-CMlGQMcl.css +1 -0
  18. package/dist/assets/{index-CPPmFTED.js → index-CW4KpAGn.js} +38 -38
  19. package/dist/assets/{index-BNDPWBNi.js → index-DAUp_Rhk.js} +235 -235
  20. package/dist/assets/index-DGH620i5.js +1184 -0
  21. package/dist/assets/{index.es20-lNMjicWC.js → index.es20-DNbouiSj.js} +1 -1
  22. package/dist/assets/{index.es23-BYJIDfXQ.js → index.es23-BkzSXaI_.js} +2 -2
  23. package/dist/assets/{index.es323-Cmd8ebKW.js → index.es304-CrENfdE2.js} +1 -1
  24. package/dist/assets/{index.es324-BllQIgQd.js → index.es305-ALZNB_0P.js} +1 -1
  25. package/dist/assets/{index.es327-DhM3xEyp.js → index.es308-v-jHhg78.js} +1 -1
  26. package/dist/assets/{index.es332-Dn786pMK.js → index.es313-C9sX9eQP.js} +1 -1
  27. package/dist/assets/{index.es340-JoyRj8Ul.js → index.es321-BhOnb8US.js} +1 -1
  28. package/dist/assets/{index.es341-9uOuiCzh.js → index.es322-CESu47j5.js} +1 -1
  29. package/dist/assets/{index.es344-hoFJ9wLz.js → index.es325-B_Pq63a1.js} +1 -1
  30. package/dist/assets/{index.es348-D8pWOBN4.js → index.es329-V0H_1fHZ.js} +1 -1
  31. package/dist/assets/{index.es351-CuxSqnpe.js → index.es332-DFf4bP34.js} +1 -1
  32. package/dist/assets/{index.es354-DvlPdd_8.js → index.es335-CiVlZW4U.js} +1 -1
  33. package/dist/assets/{index.es355-CunDDQIR.js → index.es336-CQwcBYvF.js} +1 -1
  34. package/dist/assets/{index.es369-CYf8oS2b.js → index.es350-fhQtHvke.js} +1 -1
  35. package/dist/assets/{index.es370-Cbr8LiAr.js → index.es351-CeT79lHU.js} +1 -1
  36. package/dist/assets/{index.es371--q2H8od3.js → index.es352-C0iVgwlN.js} +1 -1
  37. package/dist/assets/{index.es373-BuiMQ1bX.js → index.es354-LOpOq_OY.js} +1 -1
  38. package/dist/assets/{index.es378-CkjxECEH.js → index.es359-DQgr4IMq.js} +1 -1
  39. package/dist/assets/{index.es380-C6KQCo6t.js → index.es361-Dl5czYEp.js} +1 -1
  40. package/dist/assets/{index.es381-CwHcQBsW.js → index.es362-DoAi1yx4.js} +1 -1
  41. package/dist/assets/{index.es386-FC0u_O0U.js → index.es367-E0H2xfYP.js} +1 -1
  42. package/dist/assets/{index.es387-xHeBAFPr.js → index.es368-Br2VeB3w.js} +1 -1
  43. package/dist/assets/{index.es389-BwaLxarl.js → index.es370-Creu8B6Y.js} +1 -1
  44. package/dist/assets/{index.es390-B3IQVAJV.js → index.es371-V_7wYv1m.js} +1 -1
  45. package/dist/assets/{index.es391-BwkoCHxh.js → index.es372-Bsnsw9Ay.js} +1 -1
  46. package/dist/assets/{index.es394-BPWLHcqA.js → index.es375-C71BNclw.js} +1 -1
  47. package/dist/assets/{index.es396-COP1dwQ2.js → index.es377-DNrypLci.js} +1 -1
  48. package/dist/assets/{index.es397-Ba4K4mAk.js → index.es378--t_dR8Xp.js} +1 -1
  49. package/dist/assets/{index.es398-BSYOs98v.js → index.es379-Bg_TjUoS.js} +1 -1
  50. package/dist/assets/{index.es404-DGUWv76G.js → index.es385-C0Jv713Y.js} +1 -1
  51. package/dist/assets/{index.es405-DBe4EGNb.js → index.es386-CWrdwjiF.js} +1 -1
  52. package/dist/assets/{index.es406-CFlwXxP9.js → index.es387-CZmqkd86.js} +1 -1
  53. package/dist/assets/{index.es407-DTR_lE2r.js → index.es388-C69z_WZw.js} +1 -1
  54. package/dist/assets/{index.es409-DrFr_RuK.js → index.es390-CbbyQcIk.js} +1 -1
  55. package/dist/assets/{index.es413-DaCYI7j4.js → index.es394-BeMYMBvc.js} +1 -1
  56. package/dist/assets/{index.es414-C7v51edE.js → index.es395-B2i1EAbH.js} +1 -1
  57. package/dist/assets/{index.es422-BCUhEH3B.js → index.es403-BvX0ohuZ.js} +1 -1
  58. package/dist/assets/{index.es425-BZfdHlSw.js → index.es406-POkH-quI.js} +1 -1
  59. package/dist/assets/{index.es428-BX-XuKJl.js → index.es409-DHfiUAnz.js} +1 -1
  60. package/dist/assets/{index.es431-BVtQbGWk.js → index.es412-bQvISsbk.js} +1 -1
  61. package/dist/assets/{index.es435-CzRAsM7q.js → index.es416-C7CtwCRJ.js} +1 -1
  62. package/dist/assets/{index.es437-D_UmiHxH.js → index.es418-B5hkHXr8.js} +1 -1
  63. package/dist/assets/{index.es445-Bm8V_39j.js → index.es426-BXHyjal4.js} +1 -1
  64. package/dist/assets/{index.es446-Wf2I0eqD.js → index.es427-BM_6XnyC.js} +1 -1
  65. package/dist/assets/{index.es453-Gs69FCIA.js → index.es434-DBpGJNhA.js} +1 -1
  66. package/dist/assets/{index.es454-3-JraJzM.js → index.es435-Bb1HE9Xt.js} +1 -1
  67. package/dist/assets/{index.es464-C7bC7aMW.js → index.es445-B3f0M06D.js} +1 -1
  68. package/dist/assets/{index.es468-DfkjH5vL.js → index.es449-CMglr8ti.js} +1 -1
  69. package/dist/assets/{index.es474-D78hU9hI.js → index.es455-C30KPANW.js} +1 -1
  70. package/dist/assets/{index.es479-De4o0oHW.js → index.es460-CKn3c2mr.js} +1 -1
  71. package/dist/assets/{index.es480-CLNDiA6D.js → index.es461-J5oGAc1s.js} +1 -1
  72. package/dist/assets/{index.es482-CnRcoveV.js → index.es463-Ckr015aR.js} +1 -1
  73. package/dist/assets/{index.es486-qlG5fVnA.js → index.es467-D69mlHrC.js} +1 -1
  74. package/dist/assets/{index.es488-DTMS730P.js → index.es469-C3BGVGox.js} +1 -1
  75. package/dist/assets/{index.es490-C06M4v41.js → index.es471-YOGsheo0.js} +1 -1
  76. package/dist/assets/{index.es493-BxjgJJow.js → index.es474-D1T-bslv.js} +1 -1
  77. package/dist/assets/{index.es494-DlbKs2fg.js → index.es475-C3EZ2A1a.js} +1 -1
  78. package/dist/assets/{index.es498-DalR4GX0.js → index.es479-BQsJ3Zlj.js} +1 -1
  79. package/dist/assets/{index.es500-BcWqEBYK.js → index.es481-Bc6XZnwJ.js} +1 -1
  80. package/dist/assets/{index.es507-BOX6c_Kn.js → index.es488-0uez_V7d.js} +1 -1
  81. package/dist/assets/{index.es509--wACVBhv.js → index.es490-CNos752j.js} +1 -1
  82. package/dist/assets/{index.es511-C-Y0Jtd1.js → index.es492-BMmehJ54.js} +1 -1
  83. package/dist/assets/{index.es515-RpK-kOK2.js → index.es496-BboA0KbW.js} +1 -1
  84. package/dist/assets/{index.es525-DuRYU1r6.js → index.es506-C9Z1rj4W.js} +1 -1
  85. package/dist/assets/{index.es526-DWCmcnaA.js → index.es507-DzVnVufD.js} +1 -1
  86. package/dist/assets/{index.es533-DsvhN0ks.js → index.es514-DDrMl5dV.js} +1 -1
  87. package/dist/assets/{index.es534-BGVyZEaI.js → index.es515-C5B33TrU.js} +1 -1
  88. package/dist/assets/{index.es7-Baro92Ee.js → index.es7-B111sUH2.js} +1 -1
  89. package/dist/assets/{index.modern-BPeknk47.js → index.modern-GhdSpX2l.js} +1 -1
  90. package/dist/assets/{index.umd-DgCSOv4v.js → index.umd-CEs4Lu_D.js} +1 -1
  91. package/dist/assets/{listItemTextClasses-BS6WKuj5.js → listItemTextClasses-C21Iyvgy.js} +1 -1
  92. package/dist/index.html +2 -2
  93. package/package.json +2 -2
  94. package/dist/assets/FormControlContext-DB8XoAZ6.js +0 -1
  95. package/dist/assets/index-BV8rQ2ml.css +0 -1
  96. package/dist/assets/index-Dd2_AgmS.js +0 -287
  97. /package/dist/assets/{index.es312-CG6Dc4jp.js → index.es293-CG6Dc4jp.js} +0 -0
  98. /package/dist/assets/{index.es320-DsBKuouk.js → index.es301-DsBKuouk.js} +0 -0
  99. /package/dist/assets/{index.es321-D_z4Izcz.js → index.es302-D_z4Izcz.js} +0 -0
  100. /package/dist/assets/{index.es322-727ZlQH0.js → index.es303-727ZlQH0.js} +0 -0
  101. /package/dist/assets/{index.es325-Dn00JSTd.js → index.es306-Dn00JSTd.js} +0 -0
  102. /package/dist/assets/{index.es326-COJ4H7py.js → index.es307-COJ4H7py.js} +0 -0
  103. /package/dist/assets/{index.es328-Bu5BbsvL.js → index.es309-Bu5BbsvL.js} +0 -0
  104. /package/dist/assets/{index.es329-7O62HKoU.js → index.es310-7O62HKoU.js} +0 -0
  105. /package/dist/assets/{index.es330-BPT9niGB.js → index.es311-BPT9niGB.js} +0 -0
  106. /package/dist/assets/{index.es331-Dhn9LcZ4.js → index.es312-Dhn9LcZ4.js} +0 -0
  107. /package/dist/assets/{index.es333-eg146-Ew.js → index.es314-eg146-Ew.js} +0 -0
  108. /package/dist/assets/{index.es334-Du268qiB.js → index.es315-Du268qiB.js} +0 -0
  109. /package/dist/assets/{index.es335-fje9CFhw.js → index.es316-fje9CFhw.js} +0 -0
  110. /package/dist/assets/{index.es336-BwXTMy5W.js → index.es317-BwXTMy5W.js} +0 -0
  111. /package/dist/assets/{index.es337-3xVqZejG.js → index.es318-3xVqZejG.js} +0 -0
  112. /package/dist/assets/{index.es338-xW4inM5L.js → index.es319-xW4inM5L.js} +0 -0
  113. /package/dist/assets/{index.es339-DHo0CJ0O.js → index.es320-DHo0CJ0O.js} +0 -0
  114. /package/dist/assets/{index.es342-C3t2pwGQ.js → index.es323-C3t2pwGQ.js} +0 -0
  115. /package/dist/assets/{index.es343-DNquZEk8.js → index.es324-DNquZEk8.js} +0 -0
  116. /package/dist/assets/{index.es345-BHOwM8T6.js → index.es326-BHOwM8T6.js} +0 -0
  117. /package/dist/assets/{index.es346-DxSadP1t.js → index.es327-DxSadP1t.js} +0 -0
  118. /package/dist/assets/{index.es347-DbXoA79R.js → index.es328-DbXoA79R.js} +0 -0
  119. /package/dist/assets/{index.es349-Bp6g37R7.js → index.es330-Bp6g37R7.js} +0 -0
  120. /package/dist/assets/{index.es350-sacFqUAJ.js → index.es331-sacFqUAJ.js} +0 -0
  121. /package/dist/assets/{index.es352-C7gG9l05.js → index.es333-C7gG9l05.js} +0 -0
  122. /package/dist/assets/{index.es353-Dsg_Bt_b.js → index.es334-Dsg_Bt_b.js} +0 -0
  123. /package/dist/assets/{index.es356-D9R-vmeu.js → index.es337-D9R-vmeu.js} +0 -0
  124. /package/dist/assets/{index.es357-BPhBrDlE.js → index.es338-BPhBrDlE.js} +0 -0
  125. /package/dist/assets/{index.es358-C-TU5hQ_.js → index.es339-C-TU5hQ_.js} +0 -0
  126. /package/dist/assets/{index.es359-DtFQj3wx.js → index.es340-DtFQj3wx.js} +0 -0
  127. /package/dist/assets/{index.es360-m2LEI-9-.js → index.es341-m2LEI-9-.js} +0 -0
  128. /package/dist/assets/{index.es361-BoXegm-a.js → index.es342-BoXegm-a.js} +0 -0
  129. /package/dist/assets/{index.es362-B9wLZaAG.js → index.es343-B9wLZaAG.js} +0 -0
  130. /package/dist/assets/{index.es363-ClGRhx96.js → index.es344-ClGRhx96.js} +0 -0
  131. /package/dist/assets/{index.es364-DEIpsLCJ.js → index.es345-DEIpsLCJ.js} +0 -0
  132. /package/dist/assets/{index.es365-BgYniUM_.js → index.es346-BgYniUM_.js} +0 -0
  133. /package/dist/assets/{index.es366-COcR7UxN.js → index.es347-COcR7UxN.js} +0 -0
  134. /package/dist/assets/{index.es367-BjQB5zDj.js → index.es348-BjQB5zDj.js} +0 -0
  135. /package/dist/assets/{index.es368-C-nORZOA.js → index.es349-C-nORZOA.js} +0 -0
  136. /package/dist/assets/{index.es372-BX77sIaO.js → index.es353-BX77sIaO.js} +0 -0
  137. /package/dist/assets/{index.es374-B-DoSBHF.js → index.es355-B-DoSBHF.js} +0 -0
  138. /package/dist/assets/{index.es375-bCA53EVm.js → index.es356-bCA53EVm.js} +0 -0
  139. /package/dist/assets/{index.es376-w-ucz2PV.js → index.es357-w-ucz2PV.js} +0 -0
  140. /package/dist/assets/{index.es377-Dayu4EKP.js → index.es358-Dayu4EKP.js} +0 -0
  141. /package/dist/assets/{index.es379-DKXYxT9g.js → index.es360-DKXYxT9g.js} +0 -0
  142. /package/dist/assets/{index.es382-DfxzS6Rs.js → index.es363-DfxzS6Rs.js} +0 -0
  143. /package/dist/assets/{index.es383-SKMF96pI.js → index.es364-SKMF96pI.js} +0 -0
  144. /package/dist/assets/{index.es384-ajMbGru0.js → index.es365-ajMbGru0.js} +0 -0
  145. /package/dist/assets/{index.es385--30QC5Em.js → index.es366--30QC5Em.js} +0 -0
  146. /package/dist/assets/{index.es388-B430Bg39.js → index.es369-B430Bg39.js} +0 -0
  147. /package/dist/assets/{index.es392-CM8KxXT1.js → index.es373-CM8KxXT1.js} +0 -0
  148. /package/dist/assets/{index.es393-B1SYOhNW.js → index.es374-B1SYOhNW.js} +0 -0
  149. /package/dist/assets/{index.es395-DkBy-JyN.js → index.es376-DkBy-JyN.js} +0 -0
  150. /package/dist/assets/{index.es399-BILxekzW.js → index.es380-BILxekzW.js} +0 -0
  151. /package/dist/assets/{index.es400-C5wWYbrZ.js → index.es381-C5wWYbrZ.js} +0 -0
  152. /package/dist/assets/{index.es401-HzYwdGDm.js → index.es382-HzYwdGDm.js} +0 -0
  153. /package/dist/assets/{index.es402-T-Tgc4AT.js → index.es383-T-Tgc4AT.js} +0 -0
  154. /package/dist/assets/{index.es403-ifBTmRxC.js → index.es384-ifBTmRxC.js} +0 -0
  155. /package/dist/assets/{index.es408-BMj5Y0dO.js → index.es389-BMj5Y0dO.js} +0 -0
  156. /package/dist/assets/{index.es410-BjABl1g7.js → index.es391-BjABl1g7.js} +0 -0
  157. /package/dist/assets/{index.es411-xI-RfyKK.js → index.es392-xI-RfyKK.js} +0 -0
  158. /package/dist/assets/{index.es412-ySlJ1b_l.js → index.es393-ySlJ1b_l.js} +0 -0
  159. /package/dist/assets/{index.es415-BQoSv7ci.js → index.es396-BQoSv7ci.js} +0 -0
  160. /package/dist/assets/{index.es416-w8dY5SsB.js → index.es397-w8dY5SsB.js} +0 -0
  161. /package/dist/assets/{index.es417-TU54ms6u.js → index.es398-TU54ms6u.js} +0 -0
  162. /package/dist/assets/{index.es418-DREVFZK8.js → index.es399-DREVFZK8.js} +0 -0
  163. /package/dist/assets/{index.es419-BfivnA6A.js → index.es400-BfivnA6A.js} +0 -0
  164. /package/dist/assets/{index.es420-P4WzXJd0.js → index.es401-P4WzXJd0.js} +0 -0
  165. /package/dist/assets/{index.es421-BAng5TT0.js → index.es402-BAng5TT0.js} +0 -0
  166. /package/dist/assets/{index.es423-B5lbUyaz.js → index.es404-B5lbUyaz.js} +0 -0
  167. /package/dist/assets/{index.es424-mebxcVVE.js → index.es405-mebxcVVE.js} +0 -0
  168. /package/dist/assets/{index.es426-XBlWyCtg.js → index.es407-XBlWyCtg.js} +0 -0
  169. /package/dist/assets/{index.es427-BfCpw3nA.js → index.es408-BfCpw3nA.js} +0 -0
  170. /package/dist/assets/{index.es429-Cc5clBb7.js → index.es410-Cc5clBb7.js} +0 -0
  171. /package/dist/assets/{index.es430-IuBKFhSY.js → index.es411-IuBKFhSY.js} +0 -0
  172. /package/dist/assets/{index.es432-Du5NY7AG.js → index.es413-Du5NY7AG.js} +0 -0
  173. /package/dist/assets/{index.es433-Bvotw-X0.js → index.es414-Bvotw-X0.js} +0 -0
  174. /package/dist/assets/{index.es434-UIAJJxZW.js → index.es415-UIAJJxZW.js} +0 -0
  175. /package/dist/assets/{index.es436-D9-PGadD.js → index.es417-D9-PGadD.js} +0 -0
  176. /package/dist/assets/{index.es438-sdHcTMYB.js → index.es419-sdHcTMYB.js} +0 -0
  177. /package/dist/assets/{index.es439-Ci6OQyBP.js → index.es420-Ci6OQyBP.js} +0 -0
  178. /package/dist/assets/{index.es440-BC5c_5Pe.js → index.es421-BC5c_5Pe.js} +0 -0
  179. /package/dist/assets/{index.es441-Tz6hzZYG.js → index.es422-Tz6hzZYG.js} +0 -0
  180. /package/dist/assets/{index.es442-DB_GagMm.js → index.es423-DB_GagMm.js} +0 -0
  181. /package/dist/assets/{index.es443-DLbgOhZU.js → index.es424-DLbgOhZU.js} +0 -0
  182. /package/dist/assets/{index.es444-B0XVJmRM.js → index.es425-B0XVJmRM.js} +0 -0
  183. /package/dist/assets/{index.es447-shcSOmrb.js → index.es428-shcSOmrb.js} +0 -0
  184. /package/dist/assets/{index.es448-D4Tzg5kh.js → index.es429-D4Tzg5kh.js} +0 -0
  185. /package/dist/assets/{index.es449-Deuh7S70.js → index.es430-Deuh7S70.js} +0 -0
  186. /package/dist/assets/{index.es450-BUEGK8hf.js → index.es431-BUEGK8hf.js} +0 -0
  187. /package/dist/assets/{index.es451-BNioltXt.js → index.es432-BNioltXt.js} +0 -0
  188. /package/dist/assets/{index.es452-JqZropPD.js → index.es433-JqZropPD.js} +0 -0
  189. /package/dist/assets/{index.es455-LKU2TuZ1.js → index.es436-LKU2TuZ1.js} +0 -0
  190. /package/dist/assets/{index.es456-BFLt1xDp.js → index.es437-BFLt1xDp.js} +0 -0
  191. /package/dist/assets/{index.es457-DKykz6zU.js → index.es438-DKykz6zU.js} +0 -0
  192. /package/dist/assets/{index.es458-B3ZDOciz.js → index.es439-B3ZDOciz.js} +0 -0
  193. /package/dist/assets/{index.es459-CSHBycmS.js → index.es440-CSHBycmS.js} +0 -0
  194. /package/dist/assets/{index.es460-BIEUsx6d.js → index.es441-BIEUsx6d.js} +0 -0
  195. /package/dist/assets/{index.es461-B48N-Iqd.js → index.es442-B48N-Iqd.js} +0 -0
  196. /package/dist/assets/{index.es462-BY-TUvya.js → index.es443-BY-TUvya.js} +0 -0
  197. /package/dist/assets/{index.es463-zocC4JxJ.js → index.es444-zocC4JxJ.js} +0 -0
  198. /package/dist/assets/{index.es465-Cza_XSSt.js → index.es446-Cza_XSSt.js} +0 -0
  199. /package/dist/assets/{index.es466-Bg-kzb6g.js → index.es447-Bg-kzb6g.js} +0 -0
  200. /package/dist/assets/{index.es467-DhUJRlN_.js → index.es448-DhUJRlN_.js} +0 -0
  201. /package/dist/assets/{index.es469-C8lEn-DE.js → index.es450-C8lEn-DE.js} +0 -0
  202. /package/dist/assets/{index.es470-DhMKtDLN.js → index.es451-DhMKtDLN.js} +0 -0
  203. /package/dist/assets/{index.es471-CwjWoCRV.js → index.es452-CwjWoCRV.js} +0 -0
  204. /package/dist/assets/{index.es472-CzouJOBO.js → index.es453-CzouJOBO.js} +0 -0
  205. /package/dist/assets/{index.es473-B1bQXN8T.js → index.es454-B1bQXN8T.js} +0 -0
  206. /package/dist/assets/{index.es475-5LuOXUq_.js → index.es456-5LuOXUq_.js} +0 -0
  207. /package/dist/assets/{index.es476-DWJ3fJO_.js → index.es457-DWJ3fJO_.js} +0 -0
  208. /package/dist/assets/{index.es477-DJlmqQ1C.js → index.es458-DJlmqQ1C.js} +0 -0
  209. /package/dist/assets/{index.es478-QhoSD0DR.js → index.es459-QhoSD0DR.js} +0 -0
  210. /package/dist/assets/{index.es481-Be6lgOlo.js → index.es462-Be6lgOlo.js} +0 -0
  211. /package/dist/assets/{index.es483-BJ4Li9vH.js → index.es464-BJ4Li9vH.js} +0 -0
  212. /package/dist/assets/{index.es484-DQVVAn-B.js → index.es465-DQVVAn-B.js} +0 -0
  213. /package/dist/assets/{index.es485-BJGe-b2p.js → index.es466-BJGe-b2p.js} +0 -0
  214. /package/dist/assets/{index.es487-BLhTXw86.js → index.es468-BLhTXw86.js} +0 -0
  215. /package/dist/assets/{index.es489-atvbtKCR.js → index.es470-atvbtKCR.js} +0 -0
  216. /package/dist/assets/{index.es491-DkLiglaE.js → index.es472-DkLiglaE.js} +0 -0
  217. /package/dist/assets/{index.es492-C1w2a3ep.js → index.es473-C1w2a3ep.js} +0 -0
  218. /package/dist/assets/{index.es495-Cf8iN4DR.js → index.es476-Cf8iN4DR.js} +0 -0
  219. /package/dist/assets/{index.es496-COK4E0Yg.js → index.es477-COK4E0Yg.js} +0 -0
  220. /package/dist/assets/{index.es497-BknIz3MU.js → index.es478-BknIz3MU.js} +0 -0
  221. /package/dist/assets/{index.es499-BeQkCIfX.js → index.es480-BeQkCIfX.js} +0 -0
  222. /package/dist/assets/{index.es501-BSxZ-RaX.js → index.es482-BSxZ-RaX.js} +0 -0
  223. /package/dist/assets/{index.es502-C7L56vO4.js → index.es483-C7L56vO4.js} +0 -0
  224. /package/dist/assets/{index.es503-CUnW07Te.js → index.es484-CUnW07Te.js} +0 -0
  225. /package/dist/assets/{index.es504-C1XDQQGZ.js → index.es485-C1XDQQGZ.js} +0 -0
  226. /package/dist/assets/{index.es505-CQjiPCtT.js → index.es486-CQjiPCtT.js} +0 -0
  227. /package/dist/assets/{index.es506-DQ1-QYvQ.js → index.es487-DQ1-QYvQ.js} +0 -0
  228. /package/dist/assets/{index.es508-BbSNqyBO.js → index.es489-BbSNqyBO.js} +0 -0
  229. /package/dist/assets/{index.es510-CB2ApiWb.js → index.es491-CB2ApiWb.js} +0 -0
  230. /package/dist/assets/{index.es512-B_m7g4N7.js → index.es493-B_m7g4N7.js} +0 -0
  231. /package/dist/assets/{index.es513-B6W0miNI.js → index.es494-B6W0miNI.js} +0 -0
  232. /package/dist/assets/{index.es514-BMR_PYu6.js → index.es495-BMR_PYu6.js} +0 -0
  233. /package/dist/assets/{index.es516-Dj6nwHGl.js → index.es497-Dj6nwHGl.js} +0 -0
  234. /package/dist/assets/{index.es517-BpWG_bgh.js → index.es498-BpWG_bgh.js} +0 -0
  235. /package/dist/assets/{index.es518-BVUVsWT6.js → index.es499-BVUVsWT6.js} +0 -0
  236. /package/dist/assets/{index.es519-CAQ2eGtk.js → index.es500-CAQ2eGtk.js} +0 -0
  237. /package/dist/assets/{index.es520-BFOHcciG.js → index.es501-BFOHcciG.js} +0 -0
  238. /package/dist/assets/{index.es521-CdO5JTpU.js → index.es502-CdO5JTpU.js} +0 -0
  239. /package/dist/assets/{index.es522-CJaU5se_.js → index.es503-CJaU5se_.js} +0 -0
  240. /package/dist/assets/{index.es523-DYoNaHQp.js → index.es504-DYoNaHQp.js} +0 -0
  241. /package/dist/assets/{index.es524-m4uW47V2.js → index.es505-m4uW47V2.js} +0 -0
  242. /package/dist/assets/{index.es527-nyqBNV6O.js → index.es508-nyqBNV6O.js} +0 -0
  243. /package/dist/assets/{index.es528-C6j12Q_x.js → index.es509-C6j12Q_x.js} +0 -0
  244. /package/dist/assets/{index.es529-7A4Fjokl.js → index.es510-7A4Fjokl.js} +0 -0
  245. /package/dist/assets/{index.es530-CB0Krxn9.js → index.es511-CB0Krxn9.js} +0 -0
  246. /package/dist/assets/{index.es531-DCE3LsBG.js → index.es512-DCE3LsBG.js} +0 -0
  247. /package/dist/assets/{index.es532-C3FkfJm5.js → index.es513-C3FkfJm5.js} +0 -0
  248. /package/dist/assets/{index.es535-CVw76BM1.js → index.es516-CVw76BM1.js} +0 -0
  249. /package/dist/assets/{index.es536-HnGAYVZD.js → index.es517-HnGAYVZD.js} +0 -0
  250. /package/dist/assets/{index.es537-BVz_zdnA.js → index.es518-BVz_zdnA.js} +0 -0
  251. /package/dist/assets/{index.es538-C3khCPGq.js → index.es519-C3khCPGq.js} +0 -0
  252. /package/dist/assets/{index.es539-D-2ljcwZ.js → index.es520-D-2ljcwZ.js} +0 -0
  253. /package/dist/assets/{index.es540-Cv9koXgw.js → index.es521-Cv9koXgw.js} +0 -0
  254. /package/dist/assets/{index.es541-CD_QflpE.js → index.es522-CD_QflpE.js} +0 -0
  255. /package/dist/assets/{index.es542-DRW-0cLl.js → index.es523-DRW-0cLl.js} +0 -0
  256. /package/dist/assets/{index.es543-C-_shW-Y.js → index.es524-C-_shW-Y.js} +0 -0
  257. /package/dist/assets/{index.es544-LGGdnPYs.js → index.es525-LGGdnPYs.js} +0 -0
  258. /package/dist/assets/{index.es545-C3mMm8J8.js → index.es526-C3mMm8J8.js} +0 -0
  259. /package/dist/assets/{index.es546-BzJJZx-M.js → index.es527-BzJJZx-M.js} +0 -0
  260. /package/dist/assets/{index.es547-BXkSAIEj.js → index.es528-BXkSAIEj.js} +0 -0
  261. /package/dist/assets/{index.es548-BgDCqdQA.js → index.es529-BgDCqdQA.js} +0 -0
  262. /package/dist/assets/{index.es549-C8M2exoo.js → index.es530-C8M2exoo.js} +0 -0
  263. /package/dist/assets/{index.es550-DHJKELXO.js → index.es531-DHJKELXO.js} +0 -0
  264. /package/dist/assets/{index.es551-Cuk6v7N8.js → index.es532-Cuk6v7N8.js} +0 -0
  265. /package/dist/assets/{index.es552-DH5Ifo-i.js → index.es533-DH5Ifo-i.js} +0 -0
  266. /package/dist/assets/{index.es553-E3gJ1_iC.js → index.es534-E3gJ1_iC.js} +0 -0
  267. /package/dist/assets/{index.es554-DAi9KRSo.js → index.es535-DAi9KRSo.js} +0 -0
  268. /package/dist/assets/{index.es555-D7oLnXFd.js → index.es536-D7oLnXFd.js} +0 -0
  269. /package/dist/assets/{index.es556-BfjtVDDH.js → index.es537-BfjtVDDH.js} +0 -0
  270. /package/dist/assets/{index.es557-DnULxvSX.js → index.es538-DnULxvSX.js} +0 -0
  271. /package/dist/assets/{index.es558-CkXjmgJE.js → index.es539-CkXjmgJE.js} +0 -0
  272. /package/dist/assets/{index.es559-CfQXZHmo.js → index.es540-CfQXZHmo.js} +0 -0
  273. /package/dist/assets/{index.es560-DWedfzmr.js → index.es541-DWedfzmr.js} +0 -0
  274. /package/dist/assets/{index.es561-DUszq2jm.js → index.es542-DUszq2jm.js} +0 -0
  275. /package/dist/assets/{index.es562-B7mTdjB0.js → index.es543-B7mTdjB0.js} +0 -0
  276. /package/dist/assets/{index.es563-D5KoaKCx.js → index.es544-D5KoaKCx.js} +0 -0
  277. /package/dist/assets/{index.es564-BfHTSMKl.js → index.es545-BfHTSMKl.js} +0 -0
  278. /package/dist/assets/{index.es565-B0m2ddpp.js → index.es546-B0m2ddpp.js} +0 -0
  279. /package/dist/assets/{index.es566-CyktbL80.js → index.es547-CyktbL80.js} +0 -0
  280. /package/dist/assets/{index.es567-Csfq5Kiy.js → index.es548-Csfq5Kiy.js} +0 -0
  281. /package/dist/assets/{index.es568-CafNBF8u.js → index.es549-CafNBF8u.js} +0 -0
  282. /package/dist/assets/{index.es569-CTRr51gU.js → index.es550-CTRr51gU.js} +0 -0
  283. /package/dist/assets/{index.es570-D4h5O-jR.js → index.es551-D4h5O-jR.js} +0 -0
  284. /package/dist/assets/{index.es571-C39BiMTA.js → index.es552-C39BiMTA.js} +0 -0
  285. /package/dist/assets/{index.es572-Ddv68eIx.js → index.es553-Ddv68eIx.js} +0 -0
  286. /package/dist/assets/{index.es573-GBQ2dnAY.js → index.es554-GBQ2dnAY.js} +0 -0
  287. /package/dist/assets/{index.es574-PoHY5YXO.js → index.es555-PoHY5YXO.js} +0 -0
  288. /package/dist/assets/{index.es575-3e1v2bzS.js → index.es556-3e1v2bzS.js} +0 -0
  289. /package/dist/assets/{index.es576-CS3Unz2-.js → index.es557-CS3Unz2-.js} +0 -0
  290. /package/dist/assets/{index.es577-bN70gL4F.js → index.es558-bN70gL4F.js} +0 -0
  291. /package/dist/assets/{index.es578-CmCqftbK.js → index.es559-CmCqftbK.js} +0 -0
  292. /package/dist/assets/{index.es579-Ds-gbosJ.js → index.es560-Ds-gbosJ.js} +0 -0
  293. /package/dist/assets/{index.es580-CjDtw9vr.js → index.es561-CjDtw9vr.js} +0 -0
  294. /package/dist/assets/{index.es581-BthQWCQV.js → index.es562-BthQWCQV.js} +0 -0
  295. /package/dist/assets/{index.es582-DqwNpetd.js → index.es563-DqwNpetd.js} +0 -0
  296. /package/dist/assets/{index.es583-Bw305WKR.js → index.es564-Bw305WKR.js} +0 -0
  297. /package/dist/assets/{index.es584-DXbdFlpD.js → index.es565-DXbdFlpD.js} +0 -0
  298. /package/dist/assets/{index.es585-L9t79GZl.js → index.es566-L9t79GZl.js} +0 -0
  299. /package/dist/assets/{index.es586-CbfX1IO0.js → index.es567-CbfX1IO0.js} +0 -0
  300. /package/dist/assets/{index.es587-DBQeEorK.js → index.es568-DBQeEorK.js} +0 -0
  301. /package/dist/assets/{index.es588-BEBZ7ncR.js → index.es569-BEBZ7ncR.js} +0 -0
  302. /package/dist/assets/{index.es589-Bkuqu6BP.js → index.es570-Bkuqu6BP.js} +0 -0
  303. /package/dist/assets/{index.es590-D0r3Knsf.js → index.es571-D0r3Knsf.js} +0 -0
  304. /package/dist/assets/{index.es591-CVO1_9PV.js → index.es572-CVO1_9PV.js} +0 -0
package/dist/api-doc.yaml CHANGED
@@ -1,13 +1,62 @@
1
1
  openapi: 3.1.0
2
2
  info:
3
3
  title: Malloy Publisher - Semantic Model Serving API
4
- description:
5
- The Malloy Publisher - Semantic Model Serving API serves Malloy packages. A Malloy package is a directory of Malloy models (.malloy files),
6
- Malloy notebooks (.malloynb files), and embedded datbases (.parque files) with a malloy-publisher.json manifest at the package's root directory.
7
- For example, see the Malloy samples packages (https://github.com/malloydata/malloy-samples) repo.
4
+ description: |
5
+ The Malloy Publisher - Semantic Model Serving API provides comprehensive access to Malloy packages and their associated resources.
6
+ A Malloy package is a directory containing Malloy models (.malloy files), Malloy notebooks (.malloynb files), and embedded databases
7
+ (.parquet files) with a malloy-publisher.json manifest at the package's root directory.
8
+
9
+ ## Key Features
10
+
11
+ - **Project Management**: Create and manage projects with their associated packages and connections
12
+ - **Package Lifecycle**: Full CRUD operations for Malloy packages and their versions
13
+ - **Model & Notebook Access**: Retrieve and execute Malloy models and notebooks
14
+ - **Connection Management**: Secure database connection configuration and testing
15
+ - **Query Execution**: Execute queries against models and retrieve results
16
+ - **Watch Mode**: Real-time file watching for development workflows
17
+
18
+ ## Resource Hierarchy
19
+
20
+ The API follows a hierarchical resource structure:
21
+ ```
22
+ Projects
23
+ ├── Connections
24
+ ├── Packages
25
+ │ ├── Models
26
+ │ ├── Notebooks
27
+ │ ├── Databases
28
+ │ └── Schedules
29
+ └── Watch Mode
30
+ ```
31
+
32
+ For examples, see the Malloy samples packages (https://github.com/malloydata/malloy-samples) repository.
8
33
  version: v0
34
+
9
35
  servers:
10
36
  - url: /api/v0/
37
+ description: PublisherAPI server
38
+
39
+ tags:
40
+ - name: publisher
41
+ description: Publisher status and health check operations
42
+ - name: projects
43
+ description: Project lifecycle management including creation, configuration, and deletion of data modeling projects
44
+ - name: connections
45
+ description: Database connection management for secure data source configuration and access
46
+ - name: packages
47
+ description: Package management for Malloy data models, including versioning and distribution
48
+ - name: models
49
+ description: Malloy model access and compilation operations
50
+ - name: notebooks
51
+ description: Malloy notebook access and execution operations
52
+ - name: queryresults
53
+ description: Query execution and result retrieval operations
54
+ - name: databases
55
+ description: Embedded database management and access
56
+ - name: schedules
57
+ description: Scheduled task management and monitoring
58
+ - name: watch-mode
59
+ description: Real-time file watching for development workflows
11
60
 
12
61
  paths:
13
62
  /status:
@@ -15,7 +64,11 @@ paths:
15
64
  tags:
16
65
  - publisher
17
66
  operationId: get-status
18
- summary: Server status
67
+ summary: Get server status and health information
68
+ description: |
69
+ Returns the current status of the Malloy Publisher server, including initialization state,
70
+ available projects, and server timestamp. This endpoint is useful for health checks and
71
+ monitoring server availability.
19
72
  responses:
20
73
  '200':
21
74
  description: Returns server status
@@ -29,7 +82,12 @@ paths:
29
82
  tags:
30
83
  - connections
31
84
  operationId: test-connection-configuration
32
- summary: Test a connection configuration before adding it to the project
85
+ summary: Test database connection configuration
86
+ description: |
87
+ Validates a database connection configuration without adding it to any project.
88
+ This endpoint allows you to test connection parameters, credentials, and network
89
+ connectivity before committing the connection to a project. Useful for troubleshooting
90
+ connection issues and validating configurations during setup.
33
91
  requestBody:
34
92
  required: true
35
93
  content:
@@ -44,11 +102,11 @@ paths:
44
102
  schema:
45
103
  $ref: '#/components/schemas/ConnectionStatus'
46
104
  "400":
47
- $ref: "#/components/responses/BadRequestError"
105
+ $ref: "#/components/responses/BadRequest"
48
106
  "401":
49
- $ref: "#/components/responses/UnauthorizedError"
107
+ $ref: "#/components/responses/Unauthorized"
50
108
  "404":
51
- $ref: "#/components/responses/NotFoundError"
109
+ $ref: "#/components/responses/NotFound"
52
110
  "500":
53
111
  $ref: "#/components/responses/InternalServerError"
54
112
 
@@ -57,10 +115,14 @@ paths:
57
115
  tags:
58
116
  - projects
59
117
  operationId: list-projects
60
- summary: Returns a list of the Projects hosted on this server.
118
+ summary: List all available projects
119
+ description: |
120
+ Retrieves a list of all projects currently hosted on this Malloy Publisher server.
121
+ Each project contains metadata about its packages, connections, and configuration.
122
+ This endpoint is typically used to discover available projects and their basic information.
61
123
  responses:
62
124
  "200":
63
- description: A list of the Projects names.
125
+ description: A list of all available projects
64
126
  content:
65
127
  application/json:
66
128
  schema:
@@ -68,22 +130,24 @@ paths:
68
130
  items:
69
131
  $ref: "#/components/schemas/Project"
70
132
  "401":
71
- $ref: "#/components/responses/UnauthorizedError"
133
+ $ref: "#/components/responses/Unauthorized"
72
134
  "500":
73
135
  $ref: "#/components/responses/InternalServerError"
74
136
  post:
75
137
  tags:
76
138
  - projects
77
139
  operationId: create-project
78
- summary: Creates a new project.
140
+ summary: Create a new project
141
+ description: |
142
+ Creates a new Malloy project with the specified configuration. A project serves as a
143
+ container for packages, connections, and other resources. The project will be initialized
144
+ with the provided metadata and can immediately accept packages and connections.
79
145
  requestBody:
80
146
  required: true
81
147
  content:
82
148
  application/json:
83
149
  schema:
84
- type: object
85
- items:
86
- $ref: '#/components/schemas/Project'
150
+ $ref: '#/components/schemas/Project'
87
151
  responses:
88
152
  "200":
89
153
  description: Returns the project created
@@ -92,7 +156,7 @@ paths:
92
156
  schema:
93
157
  $ref: "#/components/schemas/Project"
94
158
  "401":
95
- $ref: "#/components/responses/UnauthorizedError"
159
+ $ref: "#/components/responses/Unauthorized"
96
160
  "500":
97
161
  $ref: "#/components/responses/InternalServerError"
98
162
 
@@ -101,14 +165,18 @@ paths:
101
165
  tags:
102
166
  - projects
103
167
  operationId: get-project
104
- summary: Returns metadata about the project.
168
+ summary: Get project details and metadata
169
+ description: |
170
+ Retrieves detailed information about a specific project, including its packages,
171
+ connections, configuration, and metadata. The reload parameter can be used to
172
+ refresh the project state from disk before returning the information.
105
173
  parameters:
106
174
  - name: projectName
107
175
  in: path
108
- description: Name of project
176
+ description: Name of the project
109
177
  required: true
110
178
  schema:
111
- type: string
179
+ $ref: "#/components/schemas/IdentifierPattern"
112
180
  - name: reload
113
181
  in: query
114
182
  description: Load / reload the project before returning result
@@ -117,37 +185,39 @@ paths:
117
185
  type: boolean
118
186
  responses:
119
187
  "200":
120
- description: Metadata about the project.
188
+ description: Project details and metadata
121
189
  content:
122
190
  application/json:
123
191
  schema:
124
192
  $ref: "#/components/schemas/Project"
125
193
  "401":
126
- $ref: "#/components/responses/UnauthorizedError"
194
+ $ref: "#/components/responses/Unauthorized"
127
195
  "404":
128
- $ref: "#/components/responses/NotFoundError"
196
+ $ref: "#/components/responses/NotFound"
129
197
  "500":
130
198
  $ref: "#/components/responses/InternalServerError"
131
199
  patch:
132
200
  tags:
133
201
  - projects
134
202
  operationId: update-project
135
- summary: Updates a project.
203
+ summary: Update project configuration
204
+ description: |
205
+ Updates the configuration and metadata of an existing project. This allows you to
206
+ modify project settings, update the README, change the location, or update other
207
+ project-level properties. The project must exist and be accessible.
136
208
  parameters:
137
209
  - name: projectName
138
210
  in: path
139
- description: Name of project
211
+ description: Name of the project
140
212
  required: true
141
213
  schema:
142
- type: string
214
+ $ref: "#/components/schemas/IdentifierPattern"
143
215
  requestBody:
144
216
  required: true
145
217
  content:
146
218
  application/json:
147
219
  schema:
148
- type: object
149
- items:
150
- $ref: '#/components/schemas/Project'
220
+ $ref: '#/components/schemas/Project'
151
221
  responses:
152
222
  "200":
153
223
  description: Returns the project updated
@@ -156,21 +226,25 @@ paths:
156
226
  schema:
157
227
  $ref: "#/components/schemas/Project"
158
228
  "401":
159
- $ref: "#/components/responses/UnauthorizedError"
229
+ $ref: "#/components/responses/Unauthorized"
160
230
  "500":
161
231
  $ref: "#/components/responses/InternalServerError"
162
232
  delete:
163
233
  tags:
164
234
  - projects
165
235
  operationId: delete-project
166
- summary: Deletes a project.
236
+ summary: Delete a project
237
+ description: |
238
+ Permanently deletes a project and all its associated resources including packages,
239
+ connections, and metadata. This operation cannot be undone, so use with caution.
240
+ The project must exist and be accessible for deletion.
167
241
  parameters:
168
242
  - name: projectName
169
243
  in: path
170
- description: Name of project
244
+ description: Name of the project
171
245
  required: true
172
246
  schema:
173
- type: string
247
+ $ref: "#/components/schemas/IdentifierPattern"
174
248
  responses:
175
249
  "200":
176
250
  description: Returns the project deleted
@@ -179,9 +253,9 @@ paths:
179
253
  schema:
180
254
  $ref: "#/components/schemas/Project"
181
255
  "401":
182
- $ref: "#/components/responses/UnauthorizedError"
256
+ $ref: "#/components/responses/Unauthorized"
183
257
  "404":
184
- $ref: "#/components/responses/NotFoundError"
258
+ $ref: "#/components/responses/NotFound"
185
259
  "500":
186
260
  $ref: "#/components/responses/InternalServerError"
187
261
 
@@ -190,17 +264,21 @@ paths:
190
264
  tags:
191
265
  - connections
192
266
  operationId: list-connections
193
- summary: Returns a list of the connections in the project.
267
+ summary: List project database connections
268
+ description: |
269
+ Retrieves a list of all database connections configured for the specified project.
270
+ Each connection includes its configuration, type, and status information. This endpoint
271
+ is useful for discovering available data sources within a project.
194
272
  parameters:
195
273
  - name: projectName
196
274
  in: path
197
- description: Name of project
275
+ description: Name of the project
198
276
  required: true
199
277
  schema:
200
- type: string
278
+ $ref: "#/components/schemas/IdentifierPattern"
201
279
  responses:
202
280
  "200":
203
- description: A list of the connections in the project.
281
+ description: A list of database connections in the project
204
282
  content:
205
283
  application/json:
206
284
  schema:
@@ -208,7 +286,7 @@ paths:
208
286
  items:
209
287
  $ref: "#/components/schemas/Connection"
210
288
  "401":
211
- $ref: "#/components/responses/UnauthorizedError"
289
+ $ref: "#/components/responses/Unauthorized"
212
290
  "500":
213
291
  $ref: "#/components/responses/InternalServerError"
214
292
 
@@ -217,31 +295,35 @@ paths:
217
295
  tags:
218
296
  - connections
219
297
  operationId: get-connection
220
- summary: Returns a connection.
298
+ summary: Get connection details
299
+ description: |
300
+ Retrieves detailed information about a specific database connection within a project.
301
+ This includes connection configuration, credentials (if accessible), and metadata.
302
+ Useful for inspecting connection settings and troubleshooting connectivity issues.
221
303
  parameters:
222
304
  - name: projectName
223
305
  in: path
224
- description: Name of project
306
+ description: Name of the project
225
307
  required: true
226
308
  schema:
227
- type: string
309
+ $ref: "#/components/schemas/IdentifierPattern"
228
310
  - name: connectionName
229
311
  in: path
230
- description: Name of connection
312
+ description: Name of the connection
231
313
  required: true
232
314
  schema:
233
- type: string
315
+ $ref: "#/components/schemas/IdentifierPattern"
234
316
  responses:
235
317
  "200":
236
- description: A connection.
318
+ description: Connection details and configuration
237
319
  content:
238
320
  application/json:
239
321
  schema:
240
322
  $ref: "#/components/schemas/Connection"
241
323
  "401":
242
- $ref: "#/components/responses/UnauthorizedError"
324
+ $ref: "#/components/responses/Unauthorized"
243
325
  "404":
244
- $ref: "#/components/responses/NotFoundError"
326
+ $ref: "#/components/responses/NotFound"
245
327
  "500":
246
328
  $ref: "#/components/responses/InternalServerError"
247
329
 
@@ -251,20 +333,24 @@ paths:
251
333
  tags:
252
334
  - connections
253
335
  operationId: test-connection
254
- summary: Returns a test.
336
+ summary: Test existing project connection
337
+ description: |
338
+ Tests the connectivity and configuration of an existing database connection within a project.
339
+ This endpoint validates that the connection can be established, credentials are valid,
340
+ and the database is accessible. Useful for monitoring connection health and troubleshooting.
255
341
  parameters:
256
342
  - name: projectName
257
343
  in: path
258
- description: Name of project
344
+ description: Name of the project
259
345
  required: true
260
346
  schema:
261
- type: string
347
+ $ref: "#/components/schemas/IdentifierPattern"
262
348
  - name: connectionName
263
349
  in: path
264
- description: Name of connection
350
+ description: Name of the connection
265
351
  required: true
266
352
  schema:
267
- type: string
353
+ $ref: "#/components/schemas/IdentifierPattern"
268
354
  responses:
269
355
  "200":
270
356
  description: OK
@@ -273,9 +359,9 @@ paths:
273
359
  schema:
274
360
  $ref: '#/components/schemas/ConnectionStatus'
275
361
  "401":
276
- $ref: "#/components/responses/UnauthorizedError"
362
+ $ref: "#/components/responses/Unauthorized"
277
363
  "404":
278
- $ref: "#/components/responses/NotFoundError"
364
+ $ref: "#/components/responses/NotFound"
279
365
  "500":
280
366
  $ref: "#/components/responses/InternalServerError"
281
367
 
@@ -285,20 +371,26 @@ paths:
285
371
  - connections
286
372
  operationId: get-sqlsource
287
373
  deprecated: true
288
- summary: Returns a SQL source.
374
+ summary: Get SQL source (deprecated)
375
+ description: |
376
+ **DEPRECATED**: This endpoint is deprecated and may be removed in future versions.
377
+ Use the POST version instead for better security and functionality.
378
+
379
+ Creates a Malloy source from a SQL statement using the specified connection.
380
+ The SQL statement is executed to generate a source definition that can be used in Malloy models.
289
381
  parameters:
290
382
  - name: projectName
291
383
  in: path
292
- description: Name of project
384
+ description: Name of the project
293
385
  required: true
294
386
  schema:
295
- type: string
387
+ $ref: "#/components/schemas/IdentifierPattern"
296
388
  - name: connectionName
297
389
  in: path
298
- description: Name of connection
390
+ description: Name of the connection
299
391
  required: true
300
392
  schema:
301
- type: string
393
+ $ref: "#/components/schemas/IdentifierPattern"
302
394
  - name: sqlStatement
303
395
  in: query
304
396
  description: SQL statement
@@ -307,35 +399,40 @@ paths:
307
399
  type: string
308
400
  responses:
309
401
  "200":
310
- description: A SQL source.
402
+ description: SQL source information
311
403
  content:
312
404
  application/json:
313
405
  schema:
314
406
  $ref: "#/components/schemas/SqlSource"
315
407
  "401":
316
- $ref: "#/components/responses/UnauthorizedError"
408
+ $ref: "#/components/responses/Unauthorized"
317
409
  "404":
318
- $ref: "#/components/responses/NotFoundError"
410
+ $ref: "#/components/responses/NotFound"
319
411
  "500":
320
412
  $ref: "#/components/responses/InternalServerError"
321
413
  post:
322
414
  tags:
323
415
  - connections
324
416
  operationId: post-sqlsource
325
- summary: Returns a SQL source.
417
+ summary: Create SQL source from statement
418
+ description: |
419
+ Creates a Malloy source from a SQL statement using the specified database connection.
420
+ The SQL statement is executed to generate a source definition that can be used in Malloy models.
421
+ This is the preferred method over the deprecated GET version as it provides better security
422
+ and supports larger SQL statements.
326
423
  parameters:
327
424
  - name: projectName
328
425
  in: path
329
- description: Name of project
426
+ description: Name of the project
330
427
  required: true
331
428
  schema:
332
- type: string
429
+ $ref: "#/components/schemas/IdentifierPattern"
333
430
  - name: connectionName
334
431
  in: path
335
- description: Name of connection
432
+ description: Name of the connection
336
433
  required: true
337
434
  schema:
338
- type: string
435
+ $ref: "#/components/schemas/IdentifierPattern"
339
436
  requestBody:
340
437
  description: SQL statement to fetch the SQL source
341
438
  required: true
@@ -348,15 +445,15 @@ paths:
348
445
  type: string
349
446
  responses:
350
447
  "200":
351
- description: A SQL source.
448
+ description: SQL source information
352
449
  content:
353
450
  application/json:
354
451
  schema:
355
452
  $ref: "#/components/schemas/SqlSource"
356
453
  "401":
357
- $ref: "#/components/responses/UnauthorizedError"
454
+ $ref: "#/components/responses/Unauthorized"
358
455
  "404":
359
- $ref: "#/components/responses/NotFoundError"
456
+ $ref: "#/components/responses/NotFound"
360
457
  "500":
361
458
  $ref: "#/components/responses/InternalServerError"
362
459
 
@@ -365,20 +462,24 @@ paths:
365
462
  tags:
366
463
  - connections
367
464
  operationId: get-tablesource
368
- summary: Returns a table source.
465
+ summary: Get table source information
466
+ description: |
467
+ Retrieves information about a specific table or view from the database connection.
468
+ This includes table schema, column definitions, and metadata. The table can be specified
469
+ by either tableKey or tablePath parameters, depending on the database type.
369
470
  parameters:
370
471
  - name: projectName
371
472
  in: path
372
- description: Name of project
473
+ description: Name of the project
373
474
  required: true
374
475
  schema:
375
- type: string
476
+ $ref: "#/components/schemas/IdentifierPattern"
376
477
  - name: connectionName
377
478
  in: path
378
- description: Name of connection
479
+ description: Name of the connection
379
480
  required: true
380
481
  schema:
381
- type: string
482
+ $ref: "#/components/schemas/IdentifierPattern"
382
483
  - name: tableKey
383
484
  in: query
384
485
  description: Table key
@@ -393,15 +494,15 @@ paths:
393
494
  type: string
394
495
  responses:
395
496
  "200":
396
- description: A table source.
497
+ description: Table source information
397
498
  content:
398
499
  application/json:
399
500
  schema:
400
501
  $ref: "#/components/schemas/TableSource"
401
502
  "401":
402
- $ref: "#/components/responses/UnauthorizedError"
503
+ $ref: "#/components/responses/Unauthorized"
403
504
  "404":
404
- $ref: "#/components/responses/NotFoundError"
505
+ $ref: "#/components/responses/NotFound"
405
506
  "500":
406
507
  $ref: "#/components/responses/InternalServerError"
407
508
 
@@ -410,29 +511,33 @@ paths:
410
511
  tags:
411
512
  - connections
412
513
  operationId: list-tables
413
- summary: Returns a list of tables available in the specified schema.
514
+ summary: List tables in database schema
515
+ description: |
516
+ Retrieves a list of all tables and views available in the specified database schema.
517
+ This endpoint is useful for discovering available data sources and exploring the database
518
+ structure. The schema must exist in the connection for this operation to succeed.
414
519
  parameters:
415
520
  - name: projectName
416
521
  in: path
417
- description: Name of project
522
+ description: Name of the project
418
523
  required: true
419
524
  schema:
420
- type: string
525
+ $ref: "#/components/schemas/IdentifierPattern"
421
526
  - name: connectionName
422
527
  in: path
423
- description: Name of connection
528
+ description: Name of the connection
424
529
  required: true
425
530
  schema:
426
- type: string
531
+ $ref: "#/components/schemas/IdentifierPattern"
427
532
  - name: schemaName
428
533
  in: path
429
- description: Name of schema
534
+ description: Name of the schema
430
535
  required: true
431
536
  schema:
432
- type: string
537
+ $ref: "#/components/schemas/IdentifierPattern"
433
538
  responses:
434
539
  "200":
435
- description: A list of table names available in the specified schema.
540
+ description: A list of table names available in the specified schema
436
541
  content:
437
542
  application/json:
438
543
  schema:
@@ -440,9 +545,9 @@ paths:
440
545
  items:
441
546
  type: string
442
547
  "401":
443
- $ref: "#/components/responses/UnauthorizedError"
548
+ $ref: "#/components/responses/Unauthorized"
444
549
  "404":
445
- $ref: "#/components/responses/NotFoundError"
550
+ $ref: "#/components/responses/NotFound"
446
551
  "500":
447
552
  $ref: "#/components/responses/InternalServerError"
448
553
 
@@ -451,23 +556,27 @@ paths:
451
556
  tags:
452
557
  - connections
453
558
  operationId: list-schemas
454
- summary: Returns a list of schemas available in the connection.
559
+ summary: List database schemas
560
+ description: |
561
+ Retrieves a list of all schemas (databases) available in the specified connection.
562
+ Each schema includes metadata such as name, description, and whether it's the default schema.
563
+ This endpoint is useful for exploring the database structure and discovering available data sources.
455
564
  parameters:
456
565
  - name: projectName
457
566
  in: path
458
- description: Name of project
567
+ description: Name of the project
459
568
  required: true
460
569
  schema:
461
- type: string
570
+ $ref: "#/components/schemas/IdentifierPattern"
462
571
  - name: connectionName
463
572
  in: path
464
- description: Name of connection
573
+ description: Name of the connection
465
574
  required: true
466
575
  schema:
467
- type: string
576
+ $ref: "#/components/schemas/IdentifierPattern"
468
577
  responses:
469
578
  "200":
470
- description: A list of schemas available in the connection with metadata.
579
+ description: A list of schemas available in the connection with metadata
471
580
  content:
472
581
  application/json:
473
582
  schema:
@@ -475,9 +584,9 @@ paths:
475
584
  items:
476
585
  $ref: "#/components/schemas/SchemaName"
477
586
  "401":
478
- $ref: "#/components/responses/UnauthorizedError"
587
+ $ref: "#/components/responses/Unauthorized"
479
588
  "404":
480
- $ref: "#/components/responses/NotFoundError"
589
+ $ref: "#/components/responses/NotFound"
481
590
  "500":
482
591
  $ref: "#/components/responses/InternalServerError"
483
592
 
@@ -487,20 +596,26 @@ paths:
487
596
  - connections
488
597
  operationId: get-querydata
489
598
  deprecated: true
490
- summary: Returns a query and its results.
599
+ summary: Execute SQL query (deprecated)
600
+ description: |
601
+ **DEPRECATED**: This endpoint is deprecated and may be removed in future versions.
602
+ Use the POST version instead for better security and functionality.
603
+
604
+ Executes a SQL statement against the specified database connection and returns the results.
605
+ The query results include data, metadata, and execution information.
491
606
  parameters:
492
607
  - name: projectName
493
608
  in: path
494
- description: Name of project
609
+ description: Name of the project
495
610
  required: true
496
611
  schema:
497
- type: string
612
+ $ref: "#/components/schemas/IdentifierPattern"
498
613
  - name: connectionName
499
614
  in: path
500
- description: Name of connection
615
+ description: Name of the connection
501
616
  required: true
502
617
  schema:
503
- type: string
618
+ $ref: "#/components/schemas/IdentifierPattern"
504
619
  - name: sqlStatement
505
620
  in: query
506
621
  description: SQL statement
@@ -515,35 +630,39 @@ paths:
515
630
  type: string
516
631
  responses:
517
632
  "200":
518
- description: A query and its results.
633
+ description: Query execution results
519
634
  content:
520
635
  application/json:
521
636
  schema:
522
637
  $ref: "#/components/schemas/QueryData"
523
638
  "401":
524
- $ref: "#/components/responses/UnauthorizedError"
639
+ $ref: "#/components/responses/Unauthorized"
525
640
  "404":
526
- $ref: "#/components/responses/NotFoundError"
641
+ $ref: "#/components/responses/NotFound"
527
642
  "500":
528
643
  $ref: "#/components/responses/InternalServerError"
529
644
  post:
530
645
  tags:
531
646
  - connections
532
647
  operationId: post-querydata
533
- summary: Returns a query and its results.
648
+ summary: Execute SQL query
649
+ description: |
650
+ Executes a SQL statement against the specified database connection and returns the results.
651
+ This is the preferred method over the deprecated GET version as it provides better security
652
+ and supports larger SQL statements. The results include data, metadata, and execution information.
534
653
  parameters:
535
654
  - name: projectName
536
655
  in: path
537
- description: Name of project
656
+ description: Name of the project
538
657
  required: true
539
658
  schema:
540
- type: string
659
+ $ref: "#/components/schemas/IdentifierPattern"
541
660
  - name: connectionName
542
661
  in: path
543
- description: Name of connection
662
+ description: Name of the connection
544
663
  required: true
545
664
  schema:
546
- type: string
665
+ $ref: "#/components/schemas/IdentifierPattern"
547
666
  - name: options
548
667
  in: query
549
668
  description: Options
@@ -562,15 +681,15 @@ paths:
562
681
  type: string
563
682
  responses:
564
683
  "200":
565
- description: A query and its results.
684
+ description: Query execution results
566
685
  content:
567
686
  application/json:
568
687
  schema:
569
688
  $ref: "#/components/schemas/QueryData"
570
689
  "401":
571
- $ref: "#/components/responses/UnauthorizedError"
690
+ $ref: "#/components/responses/Unauthorized"
572
691
  "404":
573
- $ref: "#/components/responses/NotFoundError"
692
+ $ref: "#/components/responses/NotFound"
574
693
  "500":
575
694
  $ref: "#/components/responses/InternalServerError"
576
695
 
@@ -580,20 +699,26 @@ paths:
580
699
  - connections
581
700
  operationId: get-temporarytable
582
701
  deprecated: true
583
- summary: Returns a temporary table.
702
+ summary: Create temporary table (deprecated)
703
+ description: |
704
+ **DEPRECATED**: This endpoint is deprecated and may be removed in future versions.
705
+ Use the POST version instead for better security and functionality.
706
+
707
+ Creates a temporary table from a SQL statement using the specified connection.
708
+ Temporary tables are useful for storing intermediate results during complex queries.
584
709
  parameters:
585
710
  - name: projectName
586
711
  in: path
587
- description: Name of project
712
+ description: Name of the project
588
713
  required: true
589
714
  schema:
590
- type: string
715
+ $ref: "#/components/schemas/IdentifierPattern"
591
716
  - name: connectionName
592
717
  in: path
593
- description: Name of connection
718
+ description: Name of the connection
594
719
  required: true
595
720
  schema:
596
- type: string
721
+ $ref: "#/components/schemas/IdentifierPattern"
597
722
  - name: sqlStatement
598
723
  in: query
599
724
  description: SQL statement
@@ -602,35 +727,40 @@ paths:
602
727
  type: string
603
728
  responses:
604
729
  "200":
605
- description: A temporary table.
730
+ description: Temporary table information
606
731
  content:
607
732
  application/json:
608
733
  schema:
609
734
  $ref: "#/components/schemas/TemporaryTable"
610
735
  "401":
611
- $ref: "#/components/responses/UnauthorizedError"
736
+ $ref: "#/components/responses/Unauthorized"
612
737
  "404":
613
- $ref: "#/components/responses/NotFoundError"
738
+ $ref: "#/components/responses/NotFound"
614
739
  "500":
615
740
  $ref: "#/components/responses/InternalServerError"
616
741
  post:
617
742
  tags:
618
743
  - connections
619
744
  operationId: post-temporarytable
620
- summary: Returns a temporary table.
745
+ summary: Create temporary table
746
+ description: |
747
+ Creates a temporary table from a SQL statement using the specified database connection.
748
+ This is the preferred method over the deprecated GET version as it provides better security
749
+ and supports larger SQL statements. Temporary tables are useful for storing intermediate
750
+ results during complex queries and data processing workflows.
621
751
  parameters:
622
752
  - name: projectName
623
753
  in: path
624
- description: Name of project
754
+ description: Name of the project
625
755
  required: true
626
756
  schema:
627
- type: string
757
+ $ref: "#/components/schemas/IdentifierPattern"
628
758
  - name: connectionName
629
759
  in: path
630
- description: Name of connection
760
+ description: Name of the connection
631
761
  required: true
632
762
  schema:
633
- type: string
763
+ $ref: "#/components/schemas/IdentifierPattern"
634
764
  requestBody:
635
765
  description: SQL statement to create the temporary table
636
766
  required: true
@@ -643,15 +773,15 @@ paths:
643
773
  type: string
644
774
  responses:
645
775
  "200":
646
- description: A temporary table.
776
+ description: Temporary table information
647
777
  content:
648
778
  application/json:
649
779
  schema:
650
780
  $ref: "#/components/schemas/TemporaryTable"
651
781
  "401":
652
- $ref: "#/components/responses/UnauthorizedError"
782
+ $ref: "#/components/responses/Unauthorized"
653
783
  "404":
654
- $ref: "#/components/responses/NotFoundError"
784
+ $ref: "#/components/responses/NotFound"
655
785
  "500":
656
786
  $ref: "#/components/responses/InternalServerError"
657
787
 
@@ -661,17 +791,21 @@ paths:
661
791
  tags:
662
792
  - packages
663
793
  operationId: list-packages
664
- summary: Returns a list of the Packages hosted on this server.
794
+ summary: List project packages
795
+ description: |
796
+ Retrieves a list of all Malloy packages within the specified project. Each package
797
+ contains models, notebooks, databases, and other resources. This endpoint is useful
798
+ for discovering available packages and their basic metadata.
665
799
  parameters:
666
800
  - name: projectName
667
801
  in: path
668
- description: Name of project
802
+ description: Name of the project
669
803
  required: true
670
804
  schema:
671
- type: string
805
+ $ref: "#/components/schemas/IdentifierPattern"
672
806
  responses:
673
807
  "200":
674
- description: A list of the Packages names.
808
+ description: A list of all packages in the project
675
809
  content:
676
810
  application/json:
677
811
  schema:
@@ -679,31 +813,33 @@ paths:
679
813
  items:
680
814
  $ref: "#/components/schemas/Package"
681
815
  "401":
682
- $ref: "#/components/responses/UnauthorizedError"
816
+ $ref: "#/components/responses/Unauthorized"
683
817
  "500":
684
818
  $ref: "#/components/responses/InternalServerError"
685
819
  "501":
686
- $ref: "#/components/responses/NotImplementedError"
820
+ $ref: "#/components/responses/NotImplemented"
687
821
  post:
688
822
  tags:
689
823
  - packages
690
824
  operationId: create-package
691
- summary: Creates a new package.
825
+ summary: Create a new package
826
+ description: |
827
+ Creates a new Malloy package within the specified project. A package serves as a
828
+ container for models, notebooks, embedded databases, and other resources. The package
829
+ will be initialized with the provided metadata and can immediately accept content.
692
830
  parameters:
693
831
  - name: projectName
694
832
  in: path
695
- description: Name of project
833
+ description: Name of the project
696
834
  required: true
697
835
  schema:
698
- type: string
836
+ $ref: "#/components/schemas/IdentifierPattern"
699
837
  requestBody:
700
838
  required: true
701
839
  content:
702
840
  application/json:
703
841
  schema:
704
- type: object
705
- items:
706
- $ref: '#/components/schemas/Package'
842
+ $ref: '#/components/schemas/Package'
707
843
  responses:
708
844
  "200":
709
845
  description: Returns the package created
@@ -712,25 +848,30 @@ paths:
712
848
  schema:
713
849
  $ref: "#/components/schemas/Package"
714
850
  "401":
715
- $ref: "#/components/responses/UnauthorizedError"
851
+ $ref: "#/components/responses/Unauthorized"
716
852
  "500":
717
853
  $ref: "#/components/responses/InternalServerError"
718
854
  "501":
719
- $ref: "#/components/responses/NotImplementedError"
855
+ $ref: "#/components/responses/NotImplemented"
720
856
 
721
857
  /projects/{projectName}/packages/{packageName}:
722
858
  get:
723
859
  tags:
724
860
  - packages
725
861
  operationId: get-package
726
- summary: Returns the package metadata.
862
+ summary: Get package details and metadata
863
+ description: |
864
+ Retrieves detailed information about a specific package, including its models, notebooks,
865
+ databases, and metadata. The reload parameter can be used to refresh the package state
866
+ from disk before returning the information. The versionId parameter allows access to
867
+ specific package versions.
727
868
  parameters:
728
869
  - name: projectName
729
870
  in: path
730
- description: Name of project
871
+ description: Name of the project
731
872
  required: true
732
873
  schema:
733
- type: string
874
+ $ref: "#/components/schemas/IdentifierPattern"
734
875
  - name: packageName
735
876
  in: path
736
877
  description: Package name
@@ -739,10 +880,10 @@ paths:
739
880
  type: string
740
881
  - name: versionId
741
882
  in: query
742
- description: Version ID
883
+ description: Version identifier for the package
743
884
  required: false
744
885
  schema:
745
- type: string
886
+ $ref: "#/components/schemas/VersionIdPattern"
746
887
  - name: reload
747
888
  in: query
748
889
  description: Load / reload the package before returning result
@@ -751,45 +892,47 @@ paths:
751
892
  type: boolean
752
893
  responses:
753
894
  "200":
754
- description: Package metadata.
895
+ description: Package details and metadata
755
896
  content:
756
897
  application/json:
757
898
  schema:
758
899
  $ref: "#/components/schemas/Package"
759
900
  "401":
760
- $ref: "#/components/responses/UnauthorizedError"
901
+ $ref: "#/components/responses/Unauthorized"
761
902
  "404":
762
- $ref: "#/components/responses/NotFoundError"
903
+ $ref: "#/components/responses/NotFound"
763
904
  "500":
764
905
  $ref: "#/components/responses/InternalServerError"
765
906
  "501":
766
- $ref: "#/components/responses/NotImplementedError"
907
+ $ref: "#/components/responses/NotImplemented"
767
908
  patch:
768
909
  tags:
769
910
  - packages
770
911
  operationId: update-package
771
- summary: Updates a package.
912
+ summary: Update package configuration
913
+ description: |
914
+ Updates the configuration and metadata of an existing package. This allows you to
915
+ modify package settings, update the description, change the location, or update other
916
+ package-level properties. The package must exist and be accessible.
772
917
  parameters:
773
918
  - name: projectName
774
919
  in: path
775
- description: Name of project
920
+ description: Name of the project
776
921
  required: true
777
922
  schema:
778
- type: string
923
+ $ref: "#/components/schemas/IdentifierPattern"
779
924
  - name: packageName
780
925
  in: path
781
- description: Name of package
926
+ description: Name of the package
782
927
  required: true
783
928
  schema:
784
- type: string
929
+ $ref: "#/components/schemas/IdentifierPattern"
785
930
  requestBody:
786
931
  required: true
787
932
  content:
788
933
  application/json:
789
934
  schema:
790
- type: object
791
- items:
792
- $ref: '#/components/schemas/Package'
935
+ $ref: '#/components/schemas/Package'
793
936
  responses:
794
937
  "200":
795
938
  description: Returns the package updated
@@ -798,31 +941,35 @@ paths:
798
941
  schema:
799
942
  $ref: "#/components/schemas/Package"
800
943
  "401":
801
- $ref: "#/components/responses/UnauthorizedError"
944
+ $ref: "#/components/responses/Unauthorized"
802
945
  "404":
803
- $ref: "#/components/responses/NotFoundError"
946
+ $ref: "#/components/responses/NotFound"
804
947
  "500":
805
948
  $ref: "#/components/responses/InternalServerError"
806
949
  "501":
807
- $ref: "#/components/responses/NotImplementedError"
950
+ $ref: "#/components/responses/NotImplemented"
808
951
  delete:
809
952
  tags:
810
953
  - packages
811
954
  operationId: delete-package
812
- summary: Deletes a package.
955
+ summary: Delete a package
956
+ description: |
957
+ Permanently deletes a package and all its associated resources including models,
958
+ notebooks, databases, and metadata. This operation cannot be undone, so use with caution.
959
+ The package must exist and be accessible for deletion.
813
960
  parameters:
814
961
  - name: projectName
815
962
  in: path
816
- description: Name of project
963
+ description: Name of the project
817
964
  required: true
818
965
  schema:
819
- type: string
966
+ $ref: "#/components/schemas/IdentifierPattern"
820
967
  - name: packageName
821
968
  in: path
822
- description: Name of package
969
+ description: Name of the package
823
970
  required: true
824
971
  schema:
825
- type: string
972
+ $ref: "#/components/schemas/IdentifierPattern"
826
973
  responses:
827
974
  "200":
828
975
  description: Returns the package deleted
@@ -831,42 +978,46 @@ paths:
831
978
  schema:
832
979
  $ref: "#/components/schemas/Package"
833
980
  "401":
834
- $ref: "#/components/responses/UnauthorizedError"
981
+ $ref: "#/components/responses/Unauthorized"
835
982
  "404":
836
- $ref: "#/components/responses/NotFoundError"
983
+ $ref: "#/components/responses/NotFound"
837
984
  "500":
838
985
  $ref: "#/components/responses/InternalServerError"
839
986
  "501":
840
- $ref: "#/components/responses/NotImplementedError"
987
+ $ref: "#/components/responses/NotImplemented"
841
988
 
842
989
  /projects/{projectName}/packages/{packageName}/models:
843
990
  get:
844
991
  tags:
845
992
  - models
846
993
  operationId: list-models
847
- summary: Returns a list of relative paths to the models in the package.
994
+ summary: List package models
995
+ description: |
996
+ Retrieves a list of all Malloy models within the specified package. Each model entry
997
+ includes the relative path, package name, and any compilation errors. This endpoint
998
+ is useful for discovering available models and checking their status.
848
999
  parameters:
849
1000
  - name: projectName
850
1001
  in: path
851
- description: Name of project
1002
+ description: Name of the project
852
1003
  required: true
853
1004
  schema:
854
- type: string
1005
+ $ref: "#/components/schemas/IdentifierPattern"
855
1006
  - name: packageName
856
1007
  in: path
857
- description: Name of package
1008
+ description: Name of the package
858
1009
  required: true
859
1010
  schema:
860
- type: string
1011
+ $ref: "#/components/schemas/IdentifierPattern"
861
1012
  - name: versionId
862
1013
  in: query
863
- description: Version ID
1014
+ description: Version identifier for the package
864
1015
  required: false
865
1016
  schema:
866
- type: string
1017
+ $ref: "#/components/schemas/VersionIdPattern"
867
1018
  responses:
868
1019
  "200":
869
- description: A list of relative paths to the models in the package.
1020
+ description: A list of models in the package
870
1021
  content:
871
1022
  application/json:
872
1023
  schema:
@@ -874,91 +1025,99 @@ paths:
874
1025
  items:
875
1026
  $ref: "#/components/schemas/Model"
876
1027
  "401":
877
- $ref: "#/components/responses/UnauthorizedError"
1028
+ $ref: "#/components/responses/Unauthorized"
878
1029
  "404":
879
- $ref: "#/components/responses/NotFoundError"
1030
+ $ref: "#/components/responses/NotFound"
880
1031
  "500":
881
1032
  $ref: "#/components/responses/InternalServerError"
882
1033
  "501":
883
- $ref: "#/components/responses/NotImplementedError"
1034
+ $ref: "#/components/responses/NotImplemented"
884
1035
 
885
1036
  /projects/{projectName}/packages/{packageName}/models/{path}:
886
1037
  get:
887
1038
  tags:
888
1039
  - models
889
1040
  operationId: get-model
890
- summary: Returns a Malloy model.
1041
+ summary: Get compiled Malloy model
1042
+ description: |
1043
+ Retrieves a compiled Malloy model with its source information, queries, and metadata.
1044
+ The model is compiled using the specified version of the Malloy compiler. This endpoint
1045
+ provides access to the model's structure, sources, and named queries for use in applications.
891
1046
  parameters:
892
1047
  - name: projectName
893
1048
  in: path
894
- description: Name of project
1049
+ description: Name of the project
895
1050
  required: true
896
1051
  schema:
897
- type: string
1052
+ $ref: "#/components/schemas/IdentifierPattern"
898
1053
  - name: packageName
899
1054
  in: path
900
- description: Name of package.
1055
+ description: Name of the package
901
1056
  required: true
902
1057
  schema:
903
1058
  type: string
904
1059
  - name: path
905
1060
  in: path
906
- description: Path to model wihin the package.
1061
+ description: Path to the model within the package
907
1062
  required: true
908
1063
  schema:
909
- type: string
1064
+ $ref: "#/components/schemas/PathPattern"
910
1065
  - name: versionId
911
1066
  in: query
912
- description: Version ID
1067
+ description: Version identifier for the package
913
1068
  required: false
914
1069
  schema:
915
- type: string
1070
+ $ref: "#/components/schemas/VersionIdPattern"
916
1071
  responses:
917
1072
  "200":
918
- description: A Malloy model.
1073
+ description: Compiled Malloy model
919
1074
  content:
920
1075
  "application/json":
921
1076
  schema:
922
1077
  $ref: "#/components/schemas/CompiledModel"
923
1078
  "401":
924
- $ref: "#/components/responses/UnauthorizedError"
1079
+ $ref: "#/components/responses/Unauthorized"
925
1080
  "404":
926
- $ref: "#/components/responses/NotFoundError"
1081
+ $ref: "#/components/responses/NotFound"
927
1082
  "424":
928
1083
  $ref: "#/components/responses/ModelCompilationError"
929
1084
  "500":
930
1085
  $ref: "#/components/responses/InternalServerError"
931
1086
  "501":
932
- $ref: "#/components/responses/NotImplementedError"
1087
+ $ref: "#/components/responses/NotImplemented"
933
1088
 
934
1089
  /projects/{projectName}/packages/{packageName}/notebooks:
935
1090
  get:
936
1091
  tags:
937
1092
  - notebooks
938
1093
  operationId: list-notebooks
939
- summary: Returns a list of relative paths to the notebooks in the package.
1094
+ summary: List package notebooks
1095
+ description: |
1096
+ Retrieves a list of all Malloy notebooks within the specified package. Each notebook entry
1097
+ includes the relative path, package name, and any compilation errors. This endpoint
1098
+ is useful for discovering available notebooks and checking their status.
940
1099
  parameters:
941
1100
  - name: projectName
942
1101
  in: path
943
- description: Name of project
1102
+ description: Name of the project
944
1103
  required: true
945
1104
  schema:
946
- type: string
1105
+ $ref: "#/components/schemas/IdentifierPattern"
947
1106
  - name: packageName
948
1107
  in: path
949
- description: Name of package
1108
+ description: Name of the package
950
1109
  required: true
951
1110
  schema:
952
- type: string
1111
+ $ref: "#/components/schemas/IdentifierPattern"
953
1112
  - name: versionId
954
1113
  in: query
955
- description: Version ID
1114
+ description: Version identifier for the package
956
1115
  required: false
957
1116
  schema:
958
- type: string
1117
+ $ref: "#/components/schemas/VersionIdPattern"
959
1118
  responses:
960
1119
  "200":
961
- description: A list of relative paths to the models in the package.
1120
+ description: A list of models in the package
962
1121
  content:
963
1122
  application/json:
964
1123
  schema:
@@ -966,45 +1125,49 @@ paths:
966
1125
  items:
967
1126
  $ref: "#/components/schemas/Notebook"
968
1127
  "401":
969
- $ref: "#/components/responses/UnauthorizedError"
1128
+ $ref: "#/components/responses/Unauthorized"
970
1129
  "404":
971
- $ref: "#/components/responses/NotFoundError"
1130
+ $ref: "#/components/responses/NotFound"
972
1131
  "500":
973
1132
  $ref: "#/components/responses/InternalServerError"
974
1133
  "501":
975
- $ref: "#/components/responses/NotImplementedError"
1134
+ $ref: "#/components/responses/NotImplemented"
976
1135
 
977
1136
  /projects/{projectName}/packages/{packageName}/notebooks/{path}:
978
1137
  get:
979
1138
  tags:
980
1139
  - notebooks
981
1140
  operationId: get-notebook
982
- summary: Returns a Malloy notebook.
1141
+ summary: Get compiled Malloy notebook
1142
+ description: |
1143
+ Retrieves a compiled Malloy notebook with its cells, results, and metadata. The notebook
1144
+ is compiled using the specified version of the Malloy compiler. This endpoint provides
1145
+ access to the notebook's structure, cells, and execution results for use in applications.
983
1146
  parameters:
984
1147
  - name: projectName
985
1148
  in: path
986
- description: Name of project
1149
+ description: Name of the project
987
1150
  required: true
988
1151
  schema:
989
- type: string
1152
+ $ref: "#/components/schemas/IdentifierPattern"
990
1153
  - name: packageName
991
1154
  in: path
992
- description: Name of package.
1155
+ description: Name of the package
993
1156
  required: true
994
1157
  schema:
995
1158
  type: string
996
1159
  - name: path
997
1160
  in: path
998
- description: Path to notebook wihin the package.
1161
+ description: Path to notebook within the package.
999
1162
  required: true
1000
1163
  schema:
1001
1164
  type: string
1002
1165
  - name: versionId
1003
1166
  in: query
1004
- description: Version ID
1167
+ description: Version identifier for the package
1005
1168
  required: false
1006
1169
  schema:
1007
- type: string
1170
+ $ref: "#/components/schemas/VersionIdPattern"
1008
1171
  responses:
1009
1172
  "200":
1010
1173
  description: A Malloy notebook.
@@ -1013,42 +1176,47 @@ paths:
1013
1176
  schema:
1014
1177
  $ref: "#/components/schemas/CompiledNotebook"
1015
1178
  "401":
1016
- $ref: "#/components/responses/UnauthorizedError"
1179
+ $ref: "#/components/responses/Unauthorized"
1017
1180
  "404":
1018
- $ref: "#/components/responses/NotFoundError"
1181
+ $ref: "#/components/responses/NotFound"
1019
1182
  "500":
1020
1183
  $ref: "#/components/responses/InternalServerError"
1021
1184
  "501":
1022
- $ref: "#/components/responses/NotImplementedError"
1185
+ $ref: "#/components/responses/NotImplemented"
1023
1186
 
1024
1187
  /projects/{projectName}/packages/{packageName}/queryResults/{path}:
1025
1188
  get:
1026
1189
  tags:
1027
1190
  - queryresults
1028
1191
  operationId: execute-query
1029
- summary: Returns a query and its results.
1192
+ summary: Execute Malloy query
1193
+ description: |
1194
+ Executes a Malloy query against a model and returns the results. The query can be specified
1195
+ as a raw Malloy query string or by referencing a named query within the model. This endpoint
1196
+ supports both ad-hoc queries and predefined model queries, making it flexible for various
1197
+ use cases including data exploration, reporting, and application integration.
1030
1198
  parameters:
1031
1199
  - name: projectName
1032
1200
  in: path
1033
- description: Name of project
1201
+ description: Name of the project
1034
1202
  required: true
1035
1203
  schema:
1036
- type: string
1204
+ $ref: "#/components/schemas/IdentifierPattern"
1037
1205
  - name: packageName
1038
1206
  in: path
1039
- description: Name of package
1207
+ description: Name of the package
1040
1208
  required: true
1041
1209
  schema:
1042
- type: string
1210
+ $ref: "#/components/schemas/IdentifierPattern"
1043
1211
  - name: path
1044
1212
  in: path
1045
- description: Path to model within the package.
1213
+ description: Path to the model within the package
1046
1214
  required: true
1047
1215
  schema:
1048
- type: string
1216
+ $ref: "#/components/schemas/PathPattern"
1049
1217
  - in: query
1050
1218
  name: query
1051
- description: Query string to execute on the model. If the query is paramter is set, the queryName parameter must be empty.
1219
+ description: Query string to execute on the model. If the query parameter is set, the queryName parameter must be empty.
1052
1220
  required: false
1053
1221
  schema:
1054
1222
  type: string
@@ -1060,7 +1228,7 @@ paths:
1060
1228
  type: string
1061
1229
  - in: query
1062
1230
  name: queryName
1063
- description: Name of a query to execute on a source in the model. Requires the sourceName parameter is set. If the queryName is paramter is set, the query parameter must be empty.
1231
+ description: Name of a query to execute on a source in the model. Requires the sourceName parameter is set. If the queryName parameter is set, the query parameter must be empty.
1064
1232
  required: false
1065
1233
  schema:
1066
1234
  type: string
@@ -1072,50 +1240,54 @@ paths:
1072
1240
  type: string
1073
1241
  responses:
1074
1242
  "200":
1075
- description: A query and its results.
1243
+ description: Query execution results
1076
1244
  content:
1077
1245
  "application/json":
1078
1246
  schema:
1079
1247
  $ref: "#/components/schemas/QueryResult"
1080
1248
  "400":
1081
- $ref: "#/components/responses/BadRequestError"
1249
+ $ref: "#/components/responses/BadRequest"
1082
1250
  "401":
1083
- $ref: "#/components/responses/UnauthorizedError"
1251
+ $ref: "#/components/responses/Unauthorized"
1084
1252
  "404":
1085
- $ref: "#/components/responses/NotFoundError"
1253
+ $ref: "#/components/responses/NotFound"
1086
1254
  "500":
1087
1255
  $ref: "#/components/responses/InternalServerError"
1088
1256
  "501":
1089
- $ref: "#/components/responses/NotImplementedError"
1257
+ $ref: "#/components/responses/NotImplemented"
1090
1258
 
1091
1259
  /projects/{projectName}/packages/{packageName}/databases:
1092
1260
  get:
1093
1261
  tags:
1094
1262
  - databases
1095
1263
  operationId: list-databases
1096
- summary: Returns a list of relative paths to the databases embedded in the package.
1264
+ summary: List embedded databases
1265
+ description: |
1266
+ Retrieves a list of all embedded databases within the specified package. These are typically
1267
+ DuckDB databases stored as .parquet files that provide local data storage for the package.
1268
+ Each database entry includes metadata about the database structure and content.
1097
1269
  parameters:
1098
1270
  - name: projectName
1099
1271
  in: path
1100
- description: Name of project
1272
+ description: Name of the project
1101
1273
  required: true
1102
1274
  schema:
1103
- type: string
1275
+ $ref: "#/components/schemas/IdentifierPattern"
1104
1276
  - name: packageName
1105
1277
  in: path
1106
- description: Name of package
1278
+ description: Name of the package
1107
1279
  required: true
1108
1280
  schema:
1109
- type: string
1281
+ $ref: "#/components/schemas/IdentifierPattern"
1110
1282
  - name: versionId
1111
1283
  in: query
1112
- description: Version ID
1284
+ description: Version identifier for the package
1113
1285
  required: false
1114
1286
  schema:
1115
- type: string
1287
+ $ref: "#/components/schemas/VersionIdPattern"
1116
1288
  responses:
1117
1289
  "200":
1118
- description: A list of relative paths to the databases embedded in the package.
1290
+ description: A list of embedded databases in the package
1119
1291
  content:
1120
1292
  application/json:
1121
1293
  schema:
@@ -1123,42 +1295,46 @@ paths:
1123
1295
  items:
1124
1296
  $ref: "#/components/schemas/Database"
1125
1297
  "401":
1126
- $ref: "#/components/responses/UnauthorizedError"
1298
+ $ref: "#/components/responses/Unauthorized"
1127
1299
  "404":
1128
- $ref: "#/components/responses/NotFoundError"
1300
+ $ref: "#/components/responses/NotFound"
1129
1301
  "500":
1130
1302
  $ref: "#/components/responses/InternalServerError"
1131
1303
  "501":
1132
- $ref: "#/components/responses/NotImplementedError"
1304
+ $ref: "#/components/responses/NotImplemented"
1133
1305
 
1134
1306
  /projects/{projectName}/packages/{packageName}/schedules:
1135
1307
  get:
1136
1308
  tags:
1137
1309
  - schedules
1138
1310
  operationId: list-schedules
1139
- summary: Returns a list of running schedules.
1311
+ summary: List package schedules
1312
+ description: |
1313
+ Retrieves a list of all scheduled tasks associated with the specified package. These
1314
+ schedules define automated operations such as data refresh, report generation, or other
1315
+ recurring tasks. Each schedule includes timing information and execution status.
1140
1316
  parameters:
1141
1317
  - name: projectName
1142
1318
  in: path
1143
- description: Name of project
1319
+ description: Name of the project
1144
1320
  required: true
1145
1321
  schema:
1146
- type: string
1322
+ $ref: "#/components/schemas/IdentifierPattern"
1147
1323
  - name: packageName
1148
1324
  in: path
1149
- description: Name of package
1325
+ description: Name of the package
1150
1326
  required: true
1151
1327
  schema:
1152
- type: string
1328
+ $ref: "#/components/schemas/IdentifierPattern"
1153
1329
  - name: versionId
1154
1330
  in: query
1155
- description: Version ID
1331
+ description: Version identifier for the package
1156
1332
  required: false
1157
1333
  schema:
1158
- type: string
1334
+ $ref: "#/components/schemas/VersionIdPattern"
1159
1335
  responses:
1160
1336
  "200":
1161
- description: A list of running schedules.
1337
+ description: A list of scheduled tasks
1162
1338
  content:
1163
1339
  application/json:
1164
1340
  schema:
@@ -1166,20 +1342,24 @@ paths:
1166
1342
  items:
1167
1343
  $ref: "#/components/schemas/Schedule"
1168
1344
  "401":
1169
- $ref: "#/components/responses/UnauthorizedError"
1345
+ $ref: "#/components/responses/Unauthorized"
1170
1346
  "404":
1171
- $ref: "#/components/responses/NotFoundError"
1347
+ $ref: "#/components/responses/NotFound"
1172
1348
  "500":
1173
1349
  $ref: "#/components/responses/InternalServerError"
1174
1350
  "501":
1175
- $ref: "#/components/responses/NotImplementedError"
1351
+ $ref: "#/components/responses/NotImplemented"
1176
1352
 
1177
1353
  /watch-mode/status:
1178
1354
  get:
1179
1355
  tags:
1180
1356
  - watch-mode
1181
1357
  operationId: get-watch-status
1182
- summary: Returns the current watch mode status.
1358
+ summary: Get watch mode status
1359
+ description: |
1360
+ Retrieves the current status of the file watching system. This includes whether watch mode
1361
+ is enabled, which project is being watched, and the path being monitored. Useful for
1362
+ monitoring the development workflow and ensuring file changes are being detected.
1183
1363
  responses:
1184
1364
  "200":
1185
1365
  description: The current watch mode status.
@@ -1188,7 +1368,7 @@ paths:
1188
1368
  schema:
1189
1369
  $ref: "#/components/schemas/WatchStatus"
1190
1370
  "401":
1191
- $ref: "#/components/responses/UnauthorizedError"
1371
+ $ref: "#/components/responses/Unauthorized"
1192
1372
  "500":
1193
1373
  $ref: "#/components/responses/InternalServerError"
1194
1374
 
@@ -1197,7 +1377,11 @@ paths:
1197
1377
  tags:
1198
1378
  - watch-mode
1199
1379
  operationId: start-watching
1200
- summary: Starts watching a project for file changes.
1380
+ summary: Start file watching
1381
+ description: |
1382
+ Initiates file watching for the specified project. This enables real-time monitoring of
1383
+ file changes within the project directory, allowing for automatic reloading and updates
1384
+ during development. Only one project can be watched at a time.
1201
1385
  requestBody:
1202
1386
  required: true
1203
1387
  content:
@@ -1208,7 +1392,7 @@ paths:
1208
1392
  "200":
1209
1393
  description: Watch mode started successfully.
1210
1394
  "401":
1211
- $ref: "#/components/responses/UnauthorizedError"
1395
+ $ref: "#/components/responses/Unauthorized"
1212
1396
  "500":
1213
1397
  $ref: "#/components/responses/InternalServerError"
1214
1398
 
@@ -1217,296 +1401,325 @@ paths:
1217
1401
  tags:
1218
1402
  - watch-mode
1219
1403
  operationId: stop-watching
1220
- summary: Stops watching for file changes.
1404
+ summary: Stop file watching
1405
+ description: |
1406
+ Stops the current file watching session. This disables real-time monitoring of file changes
1407
+ and releases system resources. Use this when development is complete or when switching
1408
+ to a different project.
1221
1409
  responses:
1222
1410
  "200":
1223
1411
  description: Watch mode stopped successfully.
1224
1412
  "401":
1225
- $ref: "#/components/responses/UnauthorizedError"
1413
+ $ref: "#/components/responses/Unauthorized"
1226
1414
  "500":
1227
1415
  $ref: "#/components/responses/InternalServerError"
1228
1416
 
1229
1417
  components:
1230
1418
  responses:
1231
- InternalServerError:
1232
- description: The server encountered an internal error
1419
+ BadRequest:
1420
+ description: The request was malformed or cannot be performed given the current state of the system
1233
1421
  content:
1234
1422
  application/json:
1235
1423
  schema:
1236
1424
  $ref: "#/components/schemas/Error"
1237
- NotFoundError:
1238
- description: The specified resource was not found
1425
+ Unauthorized:
1426
+ description: Unauthorized - authentication required
1239
1427
  content:
1240
1428
  application/json:
1241
1429
  schema:
1242
1430
  $ref: "#/components/schemas/Error"
1243
- NotImplementedError:
1244
- description: Not implemented
1431
+ Forbidden:
1432
+ description: Forbidden - insufficient permissions to perform the operation
1245
1433
  content:
1246
1434
  application/json:
1247
1435
  schema:
1248
1436
  $ref: "#/components/schemas/Error"
1249
- UnauthorizedError:
1250
- description: Unauthorized
1437
+ NotFound:
1438
+ description: The specified resource was not found
1439
+ content:
1440
+ application/json:
1441
+ schema:
1442
+ $ref: "#/components/schemas/Error"
1443
+ InternalServerError:
1444
+ description: The server encountered an internal error
1251
1445
  content:
1252
1446
  application/json:
1253
1447
  schema:
1254
1448
  $ref: "#/components/schemas/Error"
1255
- BadRequestError:
1256
- description: Bad request
1449
+ NotImplemented:
1450
+ description: The requested operation is not implemented
1257
1451
  content:
1258
1452
  application/json:
1259
1453
  schema:
1260
1454
  $ref: "#/components/schemas/Error"
1261
1455
  ModelCompilationError:
1262
- description: Model compilation error
1456
+ description: Model compilation failed due to syntax or semantic errors
1263
1457
  content:
1264
1458
  application/json:
1265
1459
  schema:
1266
1460
  $ref: "#/components/schemas/Error"
1267
1461
 
1268
1462
  schemas:
1463
+ IdentifierPattern:
1464
+ type: string
1465
+ pattern: '^[a-zA-Z0-9_-]+$'
1466
+ description: Standard identifier pattern for resource names
1467
+
1468
+ VersionIdPattern:
1469
+ type: string
1470
+ pattern: '^[a-zA-Z0-9_.-]+$'
1471
+ description: Version identifier pattern supporting dots and dashes
1472
+
1473
+ PathPattern:
1474
+ type: string
1475
+ pattern: '^[a-zA-Z0-9_/.-]+$'
1476
+ description: Path pattern supporting slashes, dots, and dashes
1477
+
1269
1478
  ServerStatus:
1270
1479
  type: object
1480
+ description: Current server status and health information
1271
1481
  properties:
1272
1482
  timestamp:
1273
1483
  type: number
1484
+ description: Unix timestamp of the status check
1274
1485
  projects:
1275
1486
  type: array
1487
+ description: List of available projects
1276
1488
  items:
1277
1489
  $ref: '#/components/schemas/Project'
1278
1490
  initialized:
1279
1491
  type: boolean
1280
- description: Whether the server is initialized.
1492
+ description: Whether the server is fully initialized and ready to serve requests
1281
1493
 
1282
1494
  Project:
1283
1495
  type: object
1496
+ description: Represents a Malloy project containing packages, connections, and other resources
1284
1497
  properties:
1285
1498
  resource:
1286
1499
  type: string
1287
- description: Resource path to the project.
1500
+ description: Resource path to the project
1288
1501
  name:
1289
1502
  type: string
1290
- description: Project name.
1503
+ description: Project name
1291
1504
  readme:
1292
1505
  type: string
1293
- description: Project readme.
1506
+ description: Project README content
1294
1507
  location:
1295
1508
  type: string
1296
- description: Project location, it can be an absolute path or an URI (e.g. github, s3, gcs, etc.).
1509
+ description: Project location, can be an absolute path or URI (e.g. github, s3, gcs, etc.)
1297
1510
  connections:
1298
1511
  type: array
1512
+ description: List of database connections configured for this project
1299
1513
  items:
1300
1514
  $ref: '#/components/schemas/Connection'
1301
1515
  packages:
1302
1516
  type: array
1517
+ description: List of Malloy packages in this project
1303
1518
  items:
1304
1519
  $ref: '#/components/schemas/Package'
1305
1520
 
1306
1521
  Package:
1307
1522
  type: object
1523
+ description: Represents a Malloy package containing models, notebooks, and embedded databases
1308
1524
  properties:
1309
1525
  resource:
1310
1526
  type: string
1311
- description: Resource path to the package.
1527
+ description: Resource path to the package
1312
1528
  name:
1313
1529
  type: string
1314
- description: Package name.
1530
+ description: Package name
1315
1531
  description:
1316
1532
  type: string
1317
- description: Package description.
1533
+ description: Package description
1318
1534
  location:
1319
1535
  type: string
1320
- description: Package location, it can be an absolute path or an URI (e.g. github, s3, gcs, etc.).
1536
+ description: Package location, can be an absolute path or URI (e.g. github, s3, gcs, etc.)
1321
1537
 
1322
1538
  Model:
1323
1539
  type: object
1324
- description: Malloy Model metadata
1540
+ description: Malloy model metadata and status information
1325
1541
  properties:
1326
1542
  resource:
1327
1543
  type: string
1328
- description: Resource path to the model.
1544
+ description: Resource path to the model
1329
1545
  packageName:
1330
1546
  type: string
1331
- description: Model's package Name
1547
+ description: Name of the package containing this model
1332
1548
  path:
1333
1549
  type: string
1334
- description: Model's relative path in its package directory.
1550
+ description: Relative path to the model file within its package directory
1335
1551
  error:
1336
1552
  type: string
1337
- description: Error message for this model object.
1553
+ description: Error message if the model failed to compile or load
1338
1554
 
1339
1555
  Notebook:
1340
1556
  type: object
1341
- description: Malloy Notebook metadata
1557
+ description: Malloy notebook metadata and status information
1342
1558
  properties:
1343
1559
  resource:
1344
1560
  type: string
1345
- description: Resource path to the notebook.
1561
+ description: Resource path to the notebook
1346
1562
  packageName:
1347
1563
  type: string
1348
- description: Notebook's package Name
1564
+ description: Name of the package containing this notebook
1349
1565
  path:
1350
1566
  type: string
1351
- description: Notebook's relative path in its package directory.
1567
+ description: Relative path to the notebook file within its package directory
1352
1568
  error:
1353
1569
  type: string
1354
- description: Error message for this notebook object.
1570
+ description: Error message if the notebook failed to compile or load
1355
1571
 
1356
1572
  CompiledNotebook:
1357
1573
  type: object
1358
- description: Malloy notebook def and result data. Malloy notebook def and result data is Malloy version depdendent.
1574
+ description: Compiled Malloy notebook with cells, results, and execution data
1359
1575
  properties:
1360
1576
  resource:
1361
1577
  type: string
1362
- description: Resource path to the notebook.
1578
+ description: Resource path to the notebook
1363
1579
  packageName:
1364
1580
  type: string
1365
- description: Notebook's package Name
1581
+ description: Name of the package containing this notebook
1366
1582
  path:
1367
1583
  type: string
1368
- description: Notebook's relative path in its package directory.
1584
+ description: Relative path to the notebook file within its package directory
1369
1585
  malloyVersion:
1370
1586
  type: string
1371
- description: Version of the Malloy compiler that generated the notebook def and results fields.
1587
+ description: Version of the Malloy compiler used to generate the notebook data
1372
1588
  notebookCells:
1373
1589
  type: array
1374
- description: Array of notebook cells.
1590
+ description: Array of notebook cells containing code, markdown, and execution results
1375
1591
  items:
1376
1592
  $ref: "#/components/schemas/NotebookCell"
1377
1593
 
1378
1594
  CompiledModel:
1379
1595
  type: object
1380
- description: Malloy model def and result data. Malloy model def and result data is Malloy version depdendent.
1596
+ description: Compiled Malloy model with sources, queries, and metadata
1381
1597
  properties:
1382
1598
  resource:
1383
1599
  type: string
1384
- description: Resource path to the model.
1600
+ description: Resource path to the model
1385
1601
  packageName:
1386
1602
  type: string
1387
- description: Model's package Name
1603
+ description: Name of the package containing this model
1388
1604
  path:
1389
1605
  type: string
1390
- description: Model's relative path in its package directory.
1606
+ description: Relative path to the model file within its package directory
1391
1607
  malloyVersion:
1392
1608
  type: string
1393
- description: Version of the Malloy compiler that generated the model def and results fields.
1609
+ description: Version of the Malloy compiler used to generate the model data
1394
1610
  modelInfo:
1395
1611
  type: string
1396
- description: JSON string of ModelInfo. See malloy/packages/malloy-interfaces/src/types.ts
1612
+ description: JSON string containing model metadata and structure information
1397
1613
  sourceInfos:
1398
1614
  type: array
1399
- description: Array of JSON string of SourceInfo. See malloy/packages/malloy-interfaces/src/types.ts
1615
+ description: Array of JSON strings containing source information for each data source
1400
1616
  items:
1401
1617
  type: string
1402
1618
  queries:
1403
1619
  type: array
1404
- descript: Array of named queries.
1620
+ description: Array of named queries defined in the model
1405
1621
  items:
1406
1622
  $ref: "#/components/schemas/Query"
1407
1623
 
1408
1624
  View:
1409
1625
  type: object
1410
- description: Named model view.
1626
+ description: Named model view definition
1411
1627
  properties:
1412
1628
  name:
1413
1629
  type: string
1414
- description: View's name.
1630
+ description: Name of the view
1415
1631
  annotations:
1416
1632
  type: array
1417
- description: Annotations attached to view.
1633
+ description: Annotations attached to the view
1418
1634
  items:
1419
1635
  type: string
1420
1636
 
1421
1637
  Query:
1422
1638
  type: object
1423
- description: Named model query.
1639
+ description: Named model query definition
1424
1640
  properties:
1425
1641
  name:
1426
1642
  type: string
1427
- description: Query's name.
1643
+ description: Name of the query
1428
1644
  sourceName:
1429
1645
  type: string
1430
- description: Source name.
1646
+ description: Name of the source this query operates on
1431
1647
  annotations:
1432
1648
  type: array
1433
- description: Annotations attached to query.
1649
+ description: Annotations attached to the query
1434
1650
  items:
1435
1651
  type: string
1436
1652
 
1437
1653
  NotebookCell:
1438
1654
  type: object
1439
- description: Notebook cell.
1655
+ description: Individual cell within a Malloy notebook
1440
1656
  properties:
1441
1657
  type:
1442
1658
  type: string
1443
1659
  enum: ["markdown", "code"]
1444
- description: Type of notebook cell.
1660
+ description: Type of notebook cell
1445
1661
  text:
1446
1662
  type: string
1447
- description: Text contents of the notebook cell.
1663
+ description: Text contents of the notebook cell
1448
1664
  result:
1449
1665
  type: string
1450
- description: JSON string of Malloy.Result. See malloy/packages/malloy-interfaces/src/types.ts
1666
+ description: JSON string containing the execution result for this cell
1451
1667
  newSources:
1452
1668
  type: array
1453
- description:
1454
- Array of JSON string of SourceInfo made available in the notebook cell. Only *new*
1455
- SourceInfos are returned. The complete list of SourceInfos is available be concatenating the prior
1456
- notebook cells. The SourceInfos are in the order they are made available in the notebook cell.
1669
+ description: Array of JSON strings containing SourceInfo objects made available in this cell
1457
1670
  items:
1458
1671
  type: string
1459
1672
 
1460
1673
  QueryResult:
1461
1674
  type: object
1462
- description: A Malloy query's results.
1675
+ description: Results from executing a Malloy query
1463
1676
  properties:
1464
1677
  result:
1465
1678
  type: string
1466
- description: JSON string of Malloy.Result. See malloy/packages/malloy-interfaces/src/types.ts
1679
+ description: JSON string containing the query results, metadata, and execution information
1467
1680
  resource:
1468
1681
  type: string
1469
- description: Resource path to the query result.
1682
+ description: Resource path to the query result
1470
1683
 
1471
1684
  Database:
1472
1685
  type: object
1473
- description: An in-memory DuckDB database embedded in the package.
1686
+ description: Embedded database within a Malloy package
1474
1687
  properties:
1475
1688
  resource:
1476
1689
  type: string
1477
- description: Resource path to the database.
1690
+ description: Resource path to the database
1478
1691
  path:
1479
1692
  type: string
1480
- description: Database's relative path in its package directory.
1693
+ description: Relative path to the database file within its package directory
1481
1694
  info:
1482
1695
  $ref: "#/components/schemas/TableDescription"
1483
1696
  type:
1484
1697
  type: string
1698
+ description: Type of embedded database
1485
1699
  enum: ["embedded", "materialized"]
1486
- description: Type of database.
1487
1700
 
1488
1701
  Schedule:
1489
1702
  type: object
1490
- description: A scheduled task.
1703
+ description: Scheduled task configuration and status
1491
1704
  properties:
1492
1705
  resource:
1493
1706
  type: string
1494
- description: Resource in the package that the schedule is attached to.
1707
+ description: Resource path in the package that the schedule is attached to
1495
1708
  schedule:
1496
1709
  type: string
1497
- description: Schedule (cron format) for executing task.
1710
+ description: Schedule expression in cron format for executing the task
1498
1711
  action:
1499
1712
  type: string
1500
- description: Action to execute.
1713
+ description: Action to execute when the schedule triggers
1501
1714
  connection:
1502
1715
  type: string
1503
- description: Connection to perform action on.
1716
+ description: Name of the connection to perform the action on
1504
1717
  lastRunTime:
1505
1718
  type: number
1506
- description: Timestamp in milliseconds of the last run.
1719
+ description: Unix timestamp in milliseconds of the last execution
1507
1720
  lastRunStatus:
1508
1721
  type: string
1509
- description: Status of the last run.
1722
+ description: Status of the last execution
1510
1723
 
1511
1724
  SchemaName:
1512
1725
  description: A schema name in a Connection.
@@ -1527,14 +1740,17 @@ components:
1527
1740
 
1528
1741
  Connection:
1529
1742
  type: object
1743
+ description: Database connection configuration and metadata
1530
1744
  properties:
1531
1745
  resource:
1532
1746
  type: string
1533
- description: Resource path to the connection.
1747
+ description: Resource path to the connection
1534
1748
  name:
1535
1749
  type: string
1750
+ description: Name of the connection
1536
1751
  type:
1537
1752
  type: string
1753
+ description: Type of database connection
1538
1754
  enum: [postgres, bigquery, snowflake, trino, mysql]
1539
1755
  attributes:
1540
1756
  $ref: "#/components/schemas/ConnectionAttributes"
@@ -1551,95 +1767,135 @@ components:
1551
1767
 
1552
1768
  ConnectionAttributes:
1553
1769
  type: object
1770
+ description: Connection capabilities and configuration attributes
1554
1771
  properties:
1555
1772
  dialectName:
1556
1773
  type: string
1774
+ description: SQL dialect name for the connection
1557
1775
  isPool:
1558
1776
  type: boolean
1777
+ description: Whether the connection uses connection pooling
1559
1778
  canPersist:
1560
1779
  type: boolean
1780
+ description: Whether the connection supports persistent storage operations
1561
1781
  canStream:
1562
1782
  type: boolean
1783
+ description: Whether the connection supports streaming query results
1563
1784
 
1564
1785
  PostgresConnection:
1565
1786
  type: object
1787
+ description: PostgreSQL database connection configuration
1566
1788
  properties:
1567
1789
  host:
1568
1790
  type: string
1791
+ description: PostgreSQL server hostname or IP address
1569
1792
  port:
1570
1793
  type: integer
1794
+ description: PostgreSQL server port number
1571
1795
  databaseName:
1572
1796
  type: string
1797
+ description: Name of the PostgreSQL database
1573
1798
  userName:
1574
1799
  type: string
1800
+ description: PostgreSQL username for authentication
1575
1801
  password:
1576
1802
  type: string
1803
+ description: PostgreSQL password for authentication
1577
1804
  connectionString:
1578
1805
  type: string
1806
+ description: Complete PostgreSQL connection string (alternative to individual parameters)
1579
1807
 
1580
1808
  MysqlConnection:
1581
1809
  type: object
1810
+ description: MySQL database connection configuration
1582
1811
  properties:
1583
1812
  host:
1584
1813
  type: string
1814
+ description: MySQL server hostname or IP address
1585
1815
  port:
1586
1816
  type: integer
1817
+ description: MySQL server port number
1587
1818
  database:
1588
1819
  type: string
1820
+ description: Name of the MySQL database
1589
1821
  user:
1590
1822
  type: string
1823
+ description: MySQL username for authentication
1591
1824
  password:
1592
1825
  type: string
1826
+ description: MySQL password for authentication
1593
1827
 
1594
1828
  BigqueryConnection:
1595
1829
  type: object
1830
+ description: Google BigQuery database connection configuration
1596
1831
  properties:
1597
1832
  defaultProjectId:
1598
1833
  type: string
1834
+ description: Default BigQuery project ID for queries
1599
1835
  billingProjectId:
1600
1836
  type: string
1837
+ description: BigQuery project ID for billing purposes
1601
1838
  location:
1602
1839
  type: string
1840
+ description: BigQuery dataset location/region
1603
1841
  serviceAccountKeyJson:
1604
1842
  type: string
1843
+ description: JSON string containing Google Cloud service account credentials
1605
1844
  maximumBytesBilled:
1606
1845
  type: string
1846
+ description: Maximum bytes to bill for query execution (prevents runaway costs)
1607
1847
  queryTimeoutMilliseconds:
1608
1848
  type: string
1849
+ description: Query timeout in milliseconds
1609
1850
 
1610
1851
  SnowflakeConnection:
1611
1852
  type: object
1853
+ description: Snowflake database connection configuration
1612
1854
  properties:
1613
1855
  account:
1614
1856
  type: string
1857
+ description: Snowflake account identifier
1615
1858
  username:
1616
1859
  type: string
1860
+ description: Snowflake username for authentication
1617
1861
  password:
1618
1862
  type: string
1863
+ description: Snowflake password for authentication
1619
1864
  warehouse:
1620
1865
  type: string
1866
+ description: Snowflake warehouse name
1621
1867
  database:
1622
1868
  type: string
1869
+ description: Snowflake database name
1623
1870
  schema:
1624
1871
  type: string
1872
+ description: Snowflake schema name
1625
1873
  responseTimeoutMilliseconds:
1626
1874
  type: integer
1875
+ description: Query response timeout in milliseconds
1627
1876
 
1628
1877
  TrinoConnection:
1629
1878
  type: object
1879
+ description: Trino database connection configuration
1630
1880
  properties:
1631
1881
  server:
1632
1882
  type: string
1883
+ description: Trino server hostname or IP address
1633
1884
  port:
1634
1885
  type: number
1886
+ description: Trino server port number
1635
1887
  catalog:
1636
1888
  type: string
1889
+ description: Trino catalog name
1637
1890
  schema:
1638
1891
  type: string
1892
+ description: Trino schema name
1639
1893
  user:
1640
1894
  type: string
1895
+ description: Trino username for authentication
1641
1896
  password:
1642
1897
  type: string
1898
+ description: Trino password for authentication
1643
1899
 
1644
1900
  SqlSource:
1645
1901
  type: object
@@ -1647,7 +1903,7 @@ components:
1647
1903
  resource:
1648
1904
  type: string
1649
1905
  description: Resource path to the sql source.
1650
- # Pass source as an opaque JSON string that is malloyVersion depdendent.
1906
+ # Pass source as an opaque JSON string that is malloyVersion dependent.
1651
1907
  source:
1652
1908
  type: string
1653
1909
 
@@ -1657,7 +1913,7 @@ components:
1657
1913
  resource:
1658
1914
  type: string
1659
1915
  description: Resource path to the table source.
1660
- # Pass source as an opaque JSON string that is malloyVersion depdendent.
1916
+ # Pass source as an opaque JSON string that is malloyVersion dependent.
1661
1917
  # TODO: Remove this once we update the Malloy Publisher connection.
1662
1918
  source:
1663
1919
  type: string
@@ -1673,7 +1929,7 @@ components:
1673
1929
  resource:
1674
1930
  type: string
1675
1931
  description: Resource path to the temporary table.
1676
- # Pass table as an opaque JSON string that is malloyVersion depdendent.
1932
+ # Pass table as an opaque JSON string that is malloyVersion dependent.
1677
1933
  table:
1678
1934
  type: string
1679
1935
 
@@ -1683,68 +1939,83 @@ components:
1683
1939
  resource:
1684
1940
  type: string
1685
1941
  description: Resource path to the query data.
1686
- # Pass result as an opaque JSON string that is malloyVersion depdendent.
1942
+ # Pass result as an opaque JSON string that is malloyVersion dependent.
1687
1943
  data:
1688
1944
  type: string
1689
1945
 
1690
1946
  Error:
1691
1947
  type: object
1948
+ description: Standard error response format
1692
1949
  properties:
1693
- code:
1694
- type: integer
1695
1950
  message:
1696
1951
  type: string
1952
+ description: Human-readable error message describing what went wrong
1953
+ details:
1954
+ type: string
1955
+ description: Additional error details or context
1956
+ required:
1957
+ - message
1697
1958
 
1698
1959
  Column:
1699
1960
  type: object
1961
+ description: Database column definition
1700
1962
  properties:
1701
1963
  name:
1702
1964
  type: string
1965
+ description: Name of the column
1703
1966
  type:
1704
1967
  type: string
1968
+ description: Data type of the column
1705
1969
 
1706
1970
  TableDescription:
1707
1971
  type: object
1972
+ description: Database table structure and metadata
1708
1973
  properties:
1709
1974
  name:
1710
1975
  type: string
1976
+ description: Name of the table
1711
1977
  rowCount:
1712
1978
  type: integer
1979
+ description: Number of rows in the table
1713
1980
  columns:
1714
1981
  type: array
1982
+ description: List of columns in the table
1715
1983
  items:
1716
1984
  $ref: "#/components/schemas/Column"
1717
1985
 
1718
1986
  WatchStatus:
1719
1987
  type: object
1720
- description: Current watch mode status
1988
+ description: Current file watching status and configuration
1721
1989
  properties:
1722
1990
  enabled:
1723
1991
  type: boolean
1724
- description: Whether watch mode is currently enabled
1992
+ description: Whether file watching is currently active
1725
1993
  projectName:
1726
1994
  type: string
1727
- description: Name of the project being watched
1995
+ description: Name of the project being watched for file changes
1728
1996
  watchingPath:
1729
1997
  type: string
1730
1998
  nullable: true
1731
- description: The path being watched, null if not watching
1999
+ description: The file system path being monitored for changes, null if not watching
1732
2000
 
1733
2001
  StartWatchRequest:
1734
2002
  type: object
1735
- description: Request to start watching a project
2003
+ description: Request to start file watching for a project
1736
2004
  properties:
1737
2005
  projectName:
1738
2006
  type: string
1739
- description: Name of the project to watch
2007
+ description: Name of the project to start watching for file changes
1740
2008
  required:
1741
2009
  - projectName
1742
2010
 
1743
2011
  ConnectionStatus:
1744
- type: object
1745
- properties:
1746
- status:
1747
- type: string
1748
- enum: ["ok", "failed"]
1749
- errorMessage:
1750
- type: string
2012
+ type: object
2013
+ description: Result of testing a database connection
2014
+ properties:
2015
+ status:
2016
+ type: string
2017
+ description: Connection test result status
2018
+ enum: ["ok", "failed"]
2019
+ errorMessage:
2020
+ type: string
2021
+ description: Error message if the connection test failed, null if successful