@supatype/cli 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +190 -153
  3. package/.turbo/turbo-typecheck.log +1 -1
  4. package/dist/api-config-cache.d.ts +34 -0
  5. package/dist/api-config-cache.d.ts.map +1 -0
  6. package/dist/api-config-cache.js +123 -0
  7. package/dist/api-config-cache.js.map +1 -0
  8. package/dist/cache-identity-scope.d.ts +38 -0
  9. package/dist/cache-identity-scope.d.ts.map +1 -0
  10. package/dist/cache-identity-scope.js +70 -0
  11. package/dist/cache-identity-scope.js.map +1 -0
  12. package/dist/cache-provider.d.ts +30 -0
  13. package/dist/cache-provider.d.ts.map +1 -0
  14. package/dist/cache-provider.js +60 -0
  15. package/dist/cache-provider.js.map +1 -0
  16. package/dist/cli-version-embedded.js +1 -1
  17. package/dist/commands/add.js +1 -1
  18. package/dist/commands/add.js.map +1 -1
  19. package/dist/commands/cache.d.ts +1 -1
  20. package/dist/commands/cache.js +3 -3
  21. package/dist/commands/cache.js.map +1 -1
  22. package/dist/commands/cloud.d.ts.map +1 -1
  23. package/dist/commands/cloud.js +2 -1
  24. package/dist/commands/cloud.js.map +1 -1
  25. package/dist/commands/deploy.d.ts.map +1 -1
  26. package/dist/commands/deploy.js +2 -1
  27. package/dist/commands/deploy.js.map +1 -1
  28. package/dist/commands/dev.d.ts.map +1 -1
  29. package/dist/commands/dev.js +61 -8
  30. package/dist/commands/dev.js.map +1 -1
  31. package/dist/commands/diff.d.ts.map +1 -1
  32. package/dist/commands/diff.js +2 -1
  33. package/dist/commands/diff.js.map +1 -1
  34. package/dist/commands/functions.d.ts.map +1 -1
  35. package/dist/commands/functions.js +6 -2
  36. package/dist/commands/functions.js.map +1 -1
  37. package/dist/commands/init.d.ts.map +1 -1
  38. package/dist/commands/init.js +13 -9
  39. package/dist/commands/init.js.map +1 -1
  40. package/dist/commands/keys.d.ts +14 -0
  41. package/dist/commands/keys.d.ts.map +1 -1
  42. package/dist/commands/keys.js +37 -0
  43. package/dist/commands/keys.js.map +1 -1
  44. package/dist/commands/migrate.d.ts.map +1 -1
  45. package/dist/commands/migrate.js +2 -1
  46. package/dist/commands/migrate.js.map +1 -1
  47. package/dist/commands/push.d.ts.map +1 -1
  48. package/dist/commands/push.js +52 -1
  49. package/dist/commands/push.js.map +1 -1
  50. package/dist/commands/self-host.d.ts.map +1 -1
  51. package/dist/commands/self-host.js +9 -0
  52. package/dist/commands/self-host.js.map +1 -1
  53. package/dist/compose-services.d.ts.map +1 -1
  54. package/dist/compose-services.js +2 -1
  55. package/dist/compose-services.js.map +1 -1
  56. package/dist/dev-compose.d.ts.map +1 -1
  57. package/dist/dev-compose.js +18 -7
  58. package/dist/dev-compose.js.map +1 -1
  59. package/dist/engine-floor.d.ts +11 -1
  60. package/dist/engine-floor.d.ts.map +1 -1
  61. package/dist/engine-floor.js +49 -16
  62. package/dist/engine-floor.js.map +1 -1
  63. package/dist/functions-deno-types.d.ts +9 -0
  64. package/dist/functions-deno-types.d.ts.map +1 -1
  65. package/dist/functions-deno-types.js +45 -1
  66. package/dist/functions-deno-types.js.map +1 -1
  67. package/dist/functions-router-gen.d.ts.map +1 -1
  68. package/dist/functions-router-gen.js +113 -81
  69. package/dist/functions-router-gen.js.map +1 -1
  70. package/dist/kong-config.d.ts +1 -1
  71. package/dist/model-cache.d.ts +17 -0
  72. package/dist/model-cache.d.ts.map +1 -0
  73. package/dist/model-cache.js +45 -0
  74. package/dist/model-cache.js.map +1 -0
  75. package/dist/model-hooks.d.ts +5 -0
  76. package/dist/model-hooks.d.ts.map +1 -1
  77. package/dist/model-hooks.js +29 -1
  78. package/dist/model-hooks.js.map +1 -1
  79. package/dist/model-versioning.d.ts +80 -0
  80. package/dist/model-versioning.d.ts.map +1 -0
  81. package/dist/model-versioning.js +140 -0
  82. package/dist/model-versioning.js.map +1 -0
  83. package/dist/postgres-ctl.d.ts +55 -0
  84. package/dist/postgres-ctl.d.ts.map +1 -1
  85. package/dist/postgres-ctl.js +84 -8
  86. package/dist/postgres-ctl.js.map +1 -1
  87. package/dist/preview-config-check.d.ts +21 -0
  88. package/dist/preview-config-check.d.ts.map +1 -0
  89. package/dist/preview-config-check.js +47 -0
  90. package/dist/preview-config-check.js.map +1 -0
  91. package/dist/project-config.d.ts +182 -5
  92. package/dist/project-config.d.ts.map +1 -1
  93. package/dist/project-config.js +125 -8
  94. package/dist/project-config.js.map +1 -1
  95. package/dist/resolve-target.d.ts +9 -0
  96. package/dist/resolve-target.d.ts.map +1 -1
  97. package/dist/resolve-target.js.map +1 -1
  98. package/dist/rest-cache-admin.d.ts.map +1 -1
  99. package/dist/rest-cache-admin.js +6 -2
  100. package/dist/rest-cache-admin.js.map +1 -1
  101. package/dist/schema-ast-v2.d.ts +32 -1
  102. package/dist/schema-ast-v2.d.ts.map +1 -1
  103. package/dist/schema-ast-v2.js +14 -1
  104. package/dist/schema-ast-v2.js.map +1 -1
  105. package/dist/self-host-compose.d.ts +20 -1
  106. package/dist/self-host-compose.d.ts.map +1 -1
  107. package/dist/self-host-compose.js +181 -27
  108. package/dist/self-host-compose.js.map +1 -1
  109. package/dist/studio-admin-roles.d.ts +8 -1
  110. package/dist/studio-admin-roles.d.ts.map +1 -1
  111. package/dist/studio-admin-roles.js +16 -2
  112. package/dist/studio-admin-roles.js.map +1 -1
  113. package/dist/type-extractor.d.ts +7 -0
  114. package/dist/type-extractor.d.ts.map +1 -1
  115. package/dist/type-extractor.js +234 -3
  116. package/dist/type-extractor.js.map +1 -1
  117. package/package.json +2 -2
  118. package/src/api-config-cache.ts +142 -0
  119. package/src/cache-identity-scope.ts +92 -0
  120. package/src/cache-provider.ts +61 -0
  121. package/src/cli-version-embedded.ts +1 -1
  122. package/src/commands/add.ts +1 -1
  123. package/src/commands/cache.ts +3 -3
  124. package/src/commands/cloud.ts +2 -1
  125. package/src/commands/deploy.ts +2 -1
  126. package/src/commands/dev.ts +68 -7
  127. package/src/commands/diff.ts +2 -1
  128. package/src/commands/functions.ts +6 -2
  129. package/src/commands/init.ts +13 -9
  130. package/src/commands/keys.ts +40 -0
  131. package/src/commands/migrate.ts +2 -1
  132. package/src/commands/push.ts +57 -1
  133. package/src/commands/self-host.ts +9 -0
  134. package/src/compose-services.ts +2 -1
  135. package/src/dev-compose.ts +18 -7
  136. package/src/engine-floor.ts +73 -16
  137. package/src/functions-deno-types.ts +48 -1
  138. package/src/functions-router-gen.ts +113 -81
  139. package/src/kong-config.ts +1 -1
  140. package/src/model-cache.ts +74 -0
  141. package/src/model-hooks.ts +26 -2
  142. package/src/model-versioning.ts +167 -0
  143. package/src/postgres-ctl.ts +103 -9
  144. package/src/preview-config-check.ts +52 -0
  145. package/src/project-config.ts +273 -11
  146. package/src/resolve-target.ts +11 -1
  147. package/src/rest-cache-admin.ts +8 -2
  148. package/src/schema-ast-v2.ts +47 -0
  149. package/src/self-host-compose.ts +204 -27
  150. package/src/studio-admin-roles.ts +16 -2
  151. package/src/type-extractor.ts +281 -2
  152. package/tests/api-config-cache-seed.test.ts +180 -0
  153. package/tests/cache-identity-scope.test.ts +61 -0
  154. package/tests/cache-provider-config.test.ts +132 -0
  155. package/tests/engine-floor.test.ts +43 -0
  156. package/tests/external-database-compose.test.ts +74 -3
  157. package/tests/field-masking-tier.test.ts +3 -3
  158. package/tests/fixtures/identity-scope-corpus.json +42 -0
  159. package/tests/functions-concurrency.test.ts +71 -0
  160. package/tests/init.test.ts +36 -2
  161. package/tests/model-cache-declaration.test.ts +229 -0
  162. package/tests/model-cache-manifest.test.ts +99 -0
  163. package/tests/model-hooks.test.ts +55 -0
  164. package/tests/model-versions.test.ts +229 -0
  165. package/tests/native-keyspace.test.ts +130 -0
  166. package/tests/preview-config-check.test.ts +104 -0
  167. package/tests/rest-cache-admin.test.ts +36 -0
  168. package/tests/runtime-contract.test.ts +176 -22
  169. package/tests/self-host-keys.test.ts +92 -0
  170. package/tests/studio-admin-roles.test.ts +32 -0
  171. package/tests/type-extractor.test.ts +113 -0
  172. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"self-host-compose.js","sourceRoot":"","sources":["../src/self-host-compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAA2B,MAAM,qBAAqB,CAAA;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,iCAAiC,EACjC,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC9H,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,2BAA2B,EAAyB,MAAM,yBAAyB,CAAA;AAE5F,yEAAyE;AACzE,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;CACjB,CAAA;AAEV,wEAAwE;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,GAAG,6BAA6B;IAChC,8BAA8B;IAC9B,qBAAqB;IACrB,uBAAuB;IACvB,wBAAwB;IACxB,iCAAiC;CACzB,CAAA;AAIV,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAC5B,SAA6B,EAC7B,OAAe,EACf,MAA8B;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAC9B,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,0BAA0B,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,CAAA;QACtF,KAAK,QAAQ;YACX,OAAO,mBAAmB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,CAAA;QAC/E,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;YAChD,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAA;YAC7B,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO,qBAAqB,OAAO,EAAE,CAAA;YACtE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACnC,OAAO,qBAAqB,KAAK,SAAS,CAAA;QAC5C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAA;IAEzB,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QAC7D,GAAG,CAAC,qBAAqB,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACvE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QAC7D,GAAG,CAAC,qBAAqB,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACvE,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;QACjE,GAAG,CAAC,uBAAuB,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC1F,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACzC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAA6B;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3B,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,iBAAiB;QACrC,QAAQ,CAAC,MAAM,KAAK,iBAAiB;QACrC,QAAQ,CAAC,QAAQ,KAAK,iBAAiB;QACvC,QAAQ,CAAC,IAAI,KAAK,iBAAiB,CACpC,CAAA;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAW;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAA;IACnC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QAC1D,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,MAA6B,EAC7B,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,IAAI,mBAAmB,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,OAAO,yBAAyB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAA;AACvF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAA6B;IAE7B,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC9C,IAAI,MAAM,KAAK,iBAAiB;QAAE,OAAO,SAAS,CAAA;IAClD,IAAI,MAAM;QAAE,OAAO,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAClD,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC1C,CAAC;AASD,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;IAClD,OAAO;QACL,GAAG;QACH,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC;QAC5C,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC;QAC/B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC;KACnC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,CAAA;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC5C,OAAO,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAA6B;IAC/D,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAA;IACzC,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAA;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,yFAAyF;AACzF,SAAS,uBAAuB,CAAC,GAAW,EAAE,MAAc;IAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACrE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,GAAG,GAAG,KAAK,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,8BAA8B,CAAA;AACvC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,MAA6B,EAAE,MAAM,GAAG,YAAY;IAC5E,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO,mFAAmF,CAAA;IAC5F,CAAC;IACD,OAAO,CACL,GAAG,MAAM,uCAAuC;QAChD,+DAA+D;QAC/D,oCAAoC,CACrC,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,MAA6B;IACzD,MAAM,QAAQ,GAAG,wEAAwE,CAAA;IACzF,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC/C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,8BAA8B,QAAQ,oCAAoC,CAAA;IACnF,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACjD,OAAO,8BAA8B,QAAQ,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;AAC7G,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,kCAAkC,CAAA;AAEzE,uFAAuF;AACvF,SAAS,kBAAkB;IACzB,OAAO,8DAA8D,CAAA;AACvE,CAAC;AAED,qFAAqF;AACrF,SAAS,uBAAuB,CAAC,QAAgB,EAAE,QAAiB;IAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC/B,IAAI,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAA;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QAC5B,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACjE,GAAG,CAAC,QAAQ,GAAG,sBAAsB,CAAA;YACrC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA6B,EAAE,QAAiB;IAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAA;IACtC,MAAM,KAAK,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAA;IAClD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,UAAU,CAAA;QACrD,KAAK,CAAC,IAAI,CAAC,2CAA2C,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;IACnF,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,gCAAgC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtG,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CACR,gCAAgC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAC7F,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAeD,MAAM,UAAU,qBAAqB,CACnC,MAA6B,EAC7B,MAAc,OAAO,CAAC,GAAG,EAAE,EAC3B,OAAgC;IAEhC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACzC,sFAAsF;IACtF,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC1E,8FAA8F;IAC9F,6EAA6E;IAC7E,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACtF,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC3C,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACjD,+FAA+F;IAC/F,MAAM,mBAAmB,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAA;IACvF,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAA;IAClF,MAAM,aAAa,GAAG,QAAQ,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAA;IACzD,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAA;IAC1C,MAAM,WAAW,GAAG,aAAa;QAC/B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;EAEJ,aAAa;;2DAE4C,mBAAmB;;;CAG7E,CAAA;IACC,MAAM,aAAa,GAAG,aAAa;QACjC,CAAC,CAAC;sBACgB;QAClB,CAAC,CAAC;;sBAEgB,CAAA;IACpB,MAAM,eAAe,GAAG,CAAC,QAAQ,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,eAAe;QAC7B,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC;;CAEP;YACK,CAAC,CAAC;;CAEP;QACG,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;CAEL,CAAA;IACC,MAAM,UAAU,GAAG,QAAQ;QACzB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;;CAGL,CAAA;IACC,MAAM,UAAU,GAAG,UAAU;QAC3B,CAAC,CAAC;;;CAGL;QACG,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,SAAS,GAAG,UAAU;QAC1B,CAAC,CAAC;mBACa;QACf,CAAC,CAAC,8CAA8C,CAAA;IAClD,MAAM,WAAW,GAAG;;;;;;;;CAQrB,CAAA;IACC,MAAM,iBAAiB,GAAG,kBAAkB,CAAA;IAC5C,MAAM,cAAc,GAAG,UAAU;QAC/B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;;CAGL,CAAA;IACC,4DAA4D;IAC5D,MAAM,YAAY,GAAG;EACrB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;;CAE/B,CAAA;IAEC,6FAA6F;IAC7F,8FAA8F;IAC9F,yFAAyF;IACzF,wBAAwB;IACxB,MAAM,kBAAkB,GAAG,QAAQ;QACjC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;CAEL,CAAA;IACC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,kBAAkB,EAAE,CAAA;IAE7E,iEAAiE;IACjE,EAAE;IACF,iGAAiG;IACjG,4FAA4F;IAC5F,mGAAmG;IACnG,gGAAgG;IAChG,kGAAkG;IAClG,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,aAAa,GAAG,QAAQ;QAC5B,CAAC,CAAC;;;;;;uBAMiB,QAAQ;;;;;;EAM7B,YAAY,EAAE;QACZ,CAAC,CAAC;;CAEL,CAAA;IACC,MAAM,kBAAkB,GAAG,QAAQ;QACjC,CAAC,CAAC;;CAEL;QACG,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,EAAE,CAAA;IAE7F,MAAM,cAAc,GAAG,QAAQ;QAC7B,CAAC,CAAC;;;CAGL;QACG,CAAC,CAAC;;;;;;;;EAQJ,OAAO;;;;;;;;;;;;;;;;;CAiBR,CAAA;IAEC,OAAO;;;EAGP,cAAc;;;;;;;;;;;;sBAYM,YAAY;;;;0BAIR,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC;;;;;EAKxE,YAAY;;;;;;;uBAOS,QAAQ;;;;;;;EAO7B,YAAY;;;;;;UAMJ,YAAY;;;;;;;;;;;;;;;;;;uCAkBiB,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;;oDAGtB,mBAAmB;EACrE,YAAY;EACZ,aAAa;;;;;;UAML,YAAY;;;;8BAIQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;uBAE1C,QAAQ;;uCAEQ,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;;8BAEvC,cAAc;;EAE1C,YAAY;;;;;;;;;;;EAWZ,WAAW;UACH,YAAY;;;uBAGC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY;;;;;;;2CAOX,mBAAmB;;;oCAG1B,QAAQ;;;EAG1C,iBAAiB;;;EAGjB,MAAM;;;wDAGgD,mBAAmB;;mCAExC,OAAO,GAAG,uBAAuB;wCAC5B,eAAe;;;;;;;;;;;;;;;;;;;;;;;;EAwBrD,QAAQ,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE;;EAEhD,kBAAkB;;;;;;;;EAQlB,kBAAkB;;;;;;;;;EASlB,UAAU;;;;;;;;UAQF,YAAY;;EAEpB,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,cAAc;;;;;;;;;EASzD,UAAU;UACF,SAAS;;EAEjB,SAAS;;EAET,aAAa,GAAG,iBAAiB;;EAEjC,YAAY,EAAE,CAAA;AAChB,CAAC;AAED,oGAAoG;AACpG,MAAM,4BAA4B,GAAG,8BAA8B,CAAA;AAEnE,SAAS,qBAAqB,CAAC,GAAW,EAAE,MAA6B;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,eAAe,CAAC,CAAA;IAC5D,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAErD,+FAA+F;IAC/F,0EAA0E;IAC1E,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,0BAA0B,CAAC,YAAY,CAAC,CAAA;QACxC,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,uBAAuB;QACtC,WAAW,EAAE,qBAAqB;QAClC,2FAA2F;QAC3F,6EAA6E;QAC7E,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC;QACzC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC;QACxE,8FAA8F;QAC9F,gGAAgG;QAChG,iFAAiF;QACjF,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,4BAA4B;KACnD,CAAA;IACD,aAAa,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC/E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,0BAA0B,CAAC,YAAoB;IACtD,IAAI,MAA+B,CAAA;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAA4B,CAAA;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAM,CAAC,sFAAsF;IAC/F,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAM;IACzD,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,sBAAsB,CAAC,KAAK,SAAS;QAAE,OAAM;IAEhG,MAAM,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAA;IAClC,IAAI,MAAM,CAAC,sBAAsB,CAAC,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,CAAC,sBAAsB,CAAC,GAAG,4BAA4B,CAAA;IAC/D,CAAC;IACD,aAAa,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAW,EAAE,MAA6B;IAC3E,SAAS,CAAC,iCAAiC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9E,iGAAiG;IACjG,kGAAkG;IAClG,qBAAqB;IACrB,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,2BAA2B,CAAC,GAAW,EAAE,MAA6B;IAC7E,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,UAAU,KAAK,SAAS;QAAE,OAAM;IAEpC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAA;IAChD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,+FAA+F;QAC/F,2EAA2E;QAC3E,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,UAAU;QAAE,OAAM;IAEzC,UAAU,CACR,2DAA2D,EAC3D;QACE,YAAY,OAAO,CAAC,IAAI,EAAE,EAAE;QAC5B,YAAY,UAAU,EAAE;QACxB,EAAE;QACF,4FAA4F;QAC5F,0DAA0D;QAC1D,6DAA6D;QAC7D,8DAA8D;KAC/D,EACD,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAC1C,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA6B;IAChE,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAEvC,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA,CAAC,iEAAiE;IACpF,CAAC;IACD,mFAAmF;IACnF,MAAM,QAAQ,GACZ,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,KAAK;QACd,IAAI,KAAK,OAAO;QAChB,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AACpC,CAAC;AAED,SAAS,wCAAwC,CAAC,MAA6B;IAC7E,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACzC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAM;IAE9B,UAAU,CACR,mCAAmC,IAAI,gCAAgC,EACvE;QACE,wFAAwF;QACxF,iGAAiG;QACjG,EAAE;QACF,wCAAwC;QACxC,gEAAgE;QAChE,qFAAqF;QACrF,0CAA0C;QAC1C,EAAE;QACF,wEAAwE;KACzE,EACD,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAC1C,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAC9B,GAAW,EACX,MAA6B,EAC7B,OAAgC;IAEhC,IAAI,OAAO,EAAE,gBAAgB,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,gBAAgB,CAAA;IAC5E,OAAO,2BAA2B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,GAAW,EACX,MAA6B,EAC7B,OAAgC;IAEhC,2BAA2B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAA2B;QACvC,GAAG,OAAO;QACV,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;KACtD,CAAA;IACD,wCAAwC,CAAC,MAAM,CAAC,CAAA;IAChD,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACvC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACtC,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAClC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAA;IACtF,MAAM,aAAa,GAAG,OAAO,EAAE,QAAQ,KAAK,IAAI,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC7E,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAA;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAA;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAClD,aAAa,CACX,KAAK,CAAC,QAAQ,EACd,oBAAoB,CAAC;QACnB,cAAc,EAAE,IAAI;QACpB,GAAG,CAAC,aAAa,IAAI;YACnB,gBAAgB,EAAE,uBAAuB;YACzC,eAAe,EAAE,KAAK;SACvB,CAAC;QACF,GAAG,CAAC,UAAU,IAAI,MAAM,IAAI,SAAS;YACnC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;YAC7D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,EACF,MAAM,CACP,CAAA;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AASD,oDAAoD;AACpD,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,OAAe,EACf,KAA0B;IAE1B,UAAU,CACR,+BAA+B,MAAM,IAAI,EACzC,CAAC,OAAO,EAAE,6CAA6C,CAAC,EACxD,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAC/E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,EACnB,IAAc,EACd,cAAsB,OAAO,CAAC,GAAG,EAAE,EACnC,cAAuB,EACvB,OAAiC;IAEjC,mBAAmB,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACxF,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,CAAA;IAC/B,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IACD,4EAA4E;IAC5E,uEAAuE;IACvE,gEAAgE;IAChE,IAAI,cAAc;QAAE,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IAC1D,uFAAuF;IACvF,WAAW,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAA;IACpD,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IACnC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACzB,MAAM,GAAG,GAAsB,OAAO,EAAE,KAAK;QAC3C,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE;QAC/C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA;IACf,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACjD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE;QAC9C,KAAK;QACL,GAAG,EAAE,WAAW;QAChB,GAAG;QACH,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC,CAAA;IACF,IAAI,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;aACpE,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,EAAE,CAAA;QACT,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAC5F,OAAO,YAAY,IAAI,IAAI,SAAS,EAAE,CAAA;AACxC,CAAC"}
1
+ {"version":3,"file":"self-host-compose.js","sourceRoot":"","sources":["../src/self-host-compose.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,13 @@ import type { SupatypeProjectConfig } from "./project-config.js";
2
2
  export declare const DEFAULT_STUDIO_ADMIN_ROLES: readonly ["admin", "supatype_admin"];
3
3
  /** Studio admin roles from `supatype.config.ts` `admin.roles` or defaults. */
4
4
  export declare function studioAdminRoles(cfg: SupatypeProjectConfig): string[];
5
- /** Merge `adminRoles` into engine admin-config JSON for Studio and supatype-server. */
5
+ /**
6
+ * Merge the project's own settings into engine admin-config JSON for Studio and supatype-server.
7
+ *
8
+ * The engine derives everything it can from the schema. These two cannot be derived from it: which
9
+ * JWT roles may open Studio, and where the project's front end renders each model. Both are facts
10
+ * about a deployment rather than about a shape, so they live in `supatype.config.ts` and are folded
11
+ * in here, at the one place the file is written.
12
+ */
6
13
  export declare function withAdminRoles(admin: unknown, cfg: SupatypeProjectConfig): Record<string, unknown>;
7
14
  //# sourceMappingURL=studio-admin-roles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"studio-admin-roles.d.ts","sourceRoot":"","sources":["../src/studio-admin-roles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAEhE,eAAO,MAAM,0BAA0B,sCAAuC,CAAA;AAE9E,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAIrE;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGlG"}
1
+ {"version":3,"file":"studio-admin-roles.d.ts","sourceRoot":"","sources":["../src/studio-admin-roles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAEhE,eAAO,MAAM,0BAA0B,sCAAuC,CAAA;AAE9E,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAIrE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUlG"}
@@ -6,9 +6,23 @@ export function studioAdminRoles(cfg) {
6
6
  return roles;
7
7
  return [...DEFAULT_STUDIO_ADMIN_ROLES];
8
8
  }
9
- /** Merge `adminRoles` into engine admin-config JSON for Studio and supatype-server. */
9
+ /**
10
+ * Merge the project's own settings into engine admin-config JSON for Studio and supatype-server.
11
+ *
12
+ * The engine derives everything it can from the schema. These two cannot be derived from it: which
13
+ * JWT roles may open Studio, and where the project's front end renders each model. Both are facts
14
+ * about a deployment rather than about a shape, so they live in `supatype.config.ts` and are folded
15
+ * in here, at the one place the file is written.
16
+ */
10
17
  export function withAdminRoles(admin, cfg) {
11
18
  const base = typeof admin === "object" && admin !== null ? admin : {};
12
- return { ...base, adminRoles: studioAdminRoles(cfg) };
19
+ const livePreview = cfg.admin?.livePreview;
20
+ return {
21
+ ...base,
22
+ adminRoles: studioAdminRoles(cfg),
23
+ // Omitted rather than written empty: Studio treats an absent entry as "this project has not
24
+ // said", which is what drives the message asking for it.
25
+ ...(livePreview !== undefined && Object.keys(livePreview).length > 0 && { livePreview }),
26
+ };
13
27
  }
14
28
  //# sourceMappingURL=studio-admin-roles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"studio-admin-roles.js","sourceRoot":"","sources":["../src/studio-admin-roles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAU,CAAA;AAE9E,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,GAA0B;IACzD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAA;IAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IACzD,OAAO,CAAC,GAAG,0BAA0B,CAAC,CAAA;AACxC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,GAA0B;IACvE,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAA;IAClG,OAAO,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAA;AACvD,CAAC"}
1
+ {"version":3,"file":"studio-admin-roles.js","sourceRoot":"","sources":["../src/studio-admin-roles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAU,CAAA;AAE9E,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,GAA0B;IACzD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAA;IAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IACzD,OAAO,CAAC,GAAG,0BAA0B,CAAC,CAAA;AACxC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,GAA0B;IACvE,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAA;IAClG,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,WAAW,CAAA;IAC1C,OAAO;QACL,GAAG,IAAI;QACP,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC;QACjC,4FAA4F;QAC5F,yDAAyD;QACzD,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;KACzF,CAAA;AACH,CAAC"}
@@ -12,4 +12,11 @@ export interface SchemaSourceGraph {
12
12
  files: SchemaSourceFile[];
13
13
  }
14
14
  export declare function collectSchemaSourcePaths(entryAbsPath: string, projectRoot: string): SchemaSourceGraph;
15
+ /** The parsed `cache` block. Absent entirely when the model declared none. */
16
+ export interface ParsedModelCache {
17
+ enabled?: boolean;
18
+ maxTtl?: number;
19
+ public?: boolean;
20
+ rows?: boolean;
21
+ }
15
22
  //# sourceMappingURL=type-extractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-extractor.d.ts","sourceRoot":"","sources":["../src/type-extractor.ts"],"names":[],"mappings":"AAcA,OAAO,EAOL,KAAK,oBAAoB,EAM1B,MAAM,oBAAoB,CAAA;AAG3B,YAAY,EAAE,oBAAoB,IAAI,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAM/G,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAsB,GAC1B,oBAAoB,GAAG,IAAI,CAwH7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CA4BrG"}
1
+ {"version":3,"file":"type-extractor.d.ts","sourceRoot":"","sources":["../src/type-extractor.ts"],"names":[],"mappings":"AAeA,OAAO,EAOL,KAAK,oBAAoB,EAM1B,MAAM,oBAAoB,CAAA;AAG3B,YAAY,EAAE,oBAAoB,IAAI,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAM/G,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAsB,GAC1B,oBAAoB,GAAG,IAAI,CAoI7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CA4BrG;AA86FD,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf"}
@@ -2,6 +2,7 @@ import { existsSync, readFileSync, realpathSync } from "node:fs";
2
2
  import { createHash } from "node:crypto";
3
3
  import { dirname, isAbsolute, relative, resolve } from "node:path";
4
4
  import ts from "typescript";
5
+ import { isIdentityDependent } from "./cache-identity-scope.js";
5
6
  import { applyImportRename, createResolveContext, needsChecker, resolveTypeNode, tryResolveTypeReference, unknownTypeError, } from "./type-resolver.js";
6
7
  import { emitField, emitModel, emitSchema, defaultPgTypeForKind, scalar, } from "./schema-ast-v2.js";
7
8
  import { compileBounds, measureFormFor } from "./field-bounds.js";
@@ -65,8 +66,8 @@ export function extractSchemaAstFromTypes(schemaPath, cwd = process.cwd()) {
65
66
  continue;
66
67
  fields[name] = parseFieldType(name, member.type, sourceFile, blockAliases, bucketAliases, bucketsById, fieldContext, resolveCtx);
67
68
  }
68
- const { tableName, access, options, indexes, constraints, hooks, validators } = parseModelMeta(metaArg, sourceFile, stmt.name.text, fieldsArg, fields, resolveCtx);
69
- models.push(emitModel(stmt.name.text, fields, options, tableName, access, indexes, hooks, constraints, validators));
69
+ const { tableName, access, options, indexes, constraints, hooks, validators, searchFields, cache, } = parseModelMeta(metaArg, sourceFile, stmt.name.text, fieldsArg, fields, resolveCtx);
70
+ models.push(emitModel(stmt.name.text, fields, options, tableName, access, indexes, hooks, constraints, validators, searchFields, cache));
70
71
  }
71
72
  }
72
73
  if (models.length === 0)
@@ -365,6 +366,7 @@ function parseFieldType(fieldName, typeNode, sourceFile, blockAliases, bucketAli
365
366
  fieldDefault: undefined,
366
367
  localized: false,
367
368
  notLocalized: false,
369
+ searchable: false,
368
370
  bounds: {},
369
371
  };
370
372
  const resolving = new Set();
@@ -412,6 +414,10 @@ function parseFieldType(fieldName, typeNode, sourceFile, blockAliases, bucketAli
412
414
  continue;
413
415
  }
414
416
  case "Searchable":
417
+ // Used to unwrap and drop the declaration on the floor, so a schema saying a column was
418
+ // searchable compiled, pushed, and produced a Studio list view with no search box: the
419
+ // engine was never told, so the admin config carried no `searchFields` for Studio to read.
420
+ flags.searchable = true;
415
421
  current = current.typeArguments?.[0] ?? current;
416
422
  continue;
417
423
  case "EditorReadOnly":
@@ -555,6 +561,7 @@ function parseFieldType(fieldName, typeNode, sourceFile, blockAliases, bucketAli
555
561
  platform: {
556
562
  ...scalarBase.platform,
557
563
  ...(flags.editorReadOnly && { readOnly: true }),
564
+ ...(flags.searchable && { searchable: true }),
558
565
  },
559
566
  };
560
567
  if (flags.autoIncrement && parsed.kind === "integer") {
@@ -1303,6 +1310,46 @@ function parseAssetFieldOptions(optionsArg, sourceFile) {
1303
1310
  }
1304
1311
  return { localized: false };
1305
1312
  }
1313
+ /** Versions kept per record when a model states no retention. Mirrors `model-versioning.ts`. */
1314
+ const DEFAULT_VERSIONS_KEPT = 20;
1315
+ /**
1316
+ * `versions: true` or `versions: { drafts, keep }`.
1317
+ *
1318
+ * A malformed member is ignored rather than fatal, matching every other key here: the declaration is
1319
+ * a *type*, so TypeScript has already refused anything `ModelVersionsOptions` does not allow, and
1320
+ * this parser's job is reading what compiled rather than validating it a second time.
1321
+ */
1322
+ function parseVersions(typeNode) {
1323
+ if (isBooleanLiteralType(typeNode, true)) {
1324
+ return { drafts: true, keep: DEFAULT_VERSIONS_KEPT };
1325
+ }
1326
+ if (isBooleanLiteralType(typeNode, false))
1327
+ return undefined;
1328
+ if (!ts.isTypeLiteralNode(typeNode))
1329
+ return undefined;
1330
+ const parsed = { drafts: true, keep: DEFAULT_VERSIONS_KEPT };
1331
+ for (const member of typeNode.members) {
1332
+ if (!ts.isPropertySignature(member) || !member.type)
1333
+ continue;
1334
+ const key = getPropertyName(member.name);
1335
+ if (key === "drafts") {
1336
+ if (isBooleanLiteralType(member.type, false))
1337
+ parsed.drafts = false;
1338
+ if (isBooleanLiteralType(member.type, true))
1339
+ parsed.drafts = true;
1340
+ }
1341
+ else if (key === "keep" &&
1342
+ ts.isLiteralTypeNode(member.type) &&
1343
+ ts.isNumericLiteral(member.type.literal)) {
1344
+ const keep = Number(member.type.literal.text);
1345
+ // A retention of zero would prune the draft being edited, so it reads as "unstated" rather
1346
+ // than as an instruction to keep nothing.
1347
+ if (Number.isFinite(keep) && keep >= 1)
1348
+ parsed.keep = Math.floor(keep);
1349
+ }
1350
+ }
1351
+ return parsed;
1352
+ }
1306
1353
  function parseMetaLiteral(metaArg, sourceFile) {
1307
1354
  const result = {};
1308
1355
  if (!metaArg || !ts.isTypeLiteralNode(metaArg))
@@ -1331,6 +1378,16 @@ function parseMetaLiteral(metaArg, sourceFile) {
1331
1378
  else if (key === "autoLocalize" && isBooleanLiteralType(member.type, true)) {
1332
1379
  result.autoLocalize = true;
1333
1380
  }
1381
+ else if (key === "searchable" && ts.isTupleTypeNode(member.type)) {
1382
+ result.searchable = member.type.elements
1383
+ .map((el) => (ts.isLiteralTypeNode(el) && ts.isStringLiteral(el.literal) ? el.literal.text : null))
1384
+ .filter((name) => name !== null);
1385
+ }
1386
+ else if (key === "versions") {
1387
+ const versions = parseVersions(member.type);
1388
+ if (versions !== undefined)
1389
+ result.versions = versions;
1390
+ }
1334
1391
  else if (key === "tableName" &&
1335
1392
  ts.isLiteralTypeNode(member.type) &&
1336
1393
  ts.isStringLiteral(member.type.literal)) {
@@ -1371,16 +1428,137 @@ function parseModelMeta(metaArg, sourceFile, modelName, fieldsArg, fields, resol
1371
1428
  options.softDelete = true;
1372
1429
  if (literal.autoLocalize === true)
1373
1430
  options.autoLocalize = true;
1431
+ if (literal.versions !== undefined)
1432
+ options.versions = literal.versions;
1433
+ const access = parseModelAccess(metaArg, sourceFile, modelName, fields, resolveCtx);
1434
+ if (literal.versions !== undefined)
1435
+ assertVersionsWithoutFieldRules(access, modelName);
1436
+ const cache = parseModelCache(metaArg, sourceFile);
1437
+ if (cache !== undefined)
1438
+ assertCacheIsServable(cache, access, fields, modelName);
1374
1439
  return {
1375
1440
  tableName,
1376
- access: parseModelAccess(metaArg, sourceFile, modelName, fields, resolveCtx),
1441
+ access,
1377
1442
  options,
1443
+ searchFields: resolveSearchFields(literal.searchable, fields, modelName),
1378
1444
  indexes: parseModelIndexes(metaArg, sourceFile, fields),
1379
1445
  constraints: parseModelConstraints(metaArg, sourceFile, modelName, fields, resolveCtx),
1380
1446
  hooks: parseModelHooks(metaArg, sourceFile),
1381
1447
  validators: parseModelValidators(metaArg, sourceFile, modelName, fields),
1448
+ // Always present, possibly undefined: a conditional spread here infers the key away entirely
1449
+ // and the caller cannot destructure it. emitModel is what decides whether it reaches the AST.
1450
+ cache,
1382
1451
  };
1383
1452
  }
1453
+ /**
1454
+ * Refuse a cache declaration the runtime cannot honour, naming the model and the reason.
1455
+ *
1456
+ * Both checks exist because the failure they prevent is silent. A public entry on a caller-varying
1457
+ * table serves one user's rows to another and looks like a cache hit. `rows: true` on a table with
1458
+ * no primary key is simply never registered, and reads stay exactly as fast as they were with a
1459
+ * setting in the schema saying otherwise.
1460
+ *
1461
+ * Checked here rather than left to the server for the same reason the constraint operands are: the
1462
+ * message can name what the author wrote.
1463
+ */
1464
+ function assertCacheIsServable(cache, access, fields, model) {
1465
+ if (cache.public === true) {
1466
+ const read = access["read"];
1467
+ if (isIdentityDependent(read)) {
1468
+ throw new Error(`Model "${model}": \`cache.public\` cannot be used with an \`access.read\` rule that ` +
1469
+ `varies by caller. A public cache entry is shared by everyone, so one caller's rows ` +
1470
+ `would be served to another. Use \`cache: { enabled: true }\` for per-user entries, or ` +
1471
+ `make the read rule row-independent — a rule like \`Lte<"published_at", Now>\` varies by ` +
1472
+ `row without varying by caller and is safe to share.`);
1473
+ }
1474
+ }
1475
+ if (cache.rows === true) {
1476
+ const keyed = Object.keys(fields).filter((f) => fields[f]?.["primaryKey"] === true);
1477
+ if (keyed.length === 0) {
1478
+ throw new Error(`Model "${model}": \`cache.rows\` needs a primary key, because the row cache's key IS the ` +
1479
+ `primary key — there is nothing to cache by. Declare one, or drop \`rows\` and keep the ` +
1480
+ `response cache, which has no such requirement.`);
1481
+ }
1482
+ }
1483
+ assertTtlIsInRange(cache.maxTtl, model);
1484
+ }
1485
+ /**
1486
+ * The columns Studio's list view searches, from either way of saying so.
1487
+ *
1488
+ * Two spellings, because they answer different questions: `Searchable<string>` on the field says
1489
+ * *this column is worth searching*, and `searchable: ["title", "name"]` on the model says *search
1490
+ * these, in this order*, which matters because the list view filters on the first one. A model
1491
+ * using both gets the explicit order first and any remaining flagged columns after it.
1492
+ *
1493
+ * A name that matches no field throws rather than being dropped. Silently ignoring it is how this
1494
+ * whole feature came to be inert: the declaration compiled and nothing downstream ever saw it.
1495
+ */
1496
+ function resolveSearchFields(declared, fields, modelName) {
1497
+ const ordered = [];
1498
+ for (const name of declared ?? []) {
1499
+ if (fields[name] === undefined) {
1500
+ throw new Error(`Model "${modelName}": \`searchable\` names "${name}", which is not a field on this model. ` +
1501
+ `Searchable columns are: ${Object.keys(fields).join(", ")}.`);
1502
+ }
1503
+ if (!ordered.includes(name))
1504
+ ordered.push(name);
1505
+ }
1506
+ for (const [name, field] of Object.entries(fields)) {
1507
+ if (field.annotations?.platform?.searchable !== true)
1508
+ continue;
1509
+ if (!ordered.includes(name))
1510
+ ordered.push(name);
1511
+ }
1512
+ return ordered;
1513
+ }
1514
+ /**
1515
+ * The bounds the admin API already enforces, enforced where the number was written.
1516
+ *
1517
+ * `cache_max_ttl` is refused outside 0–86400 by `PATCH /admin/v1/config/rest`, and a declared cap
1518
+ * is the same quantity. Left to the server, an out-of-range `maxTtl` reaches it as part of a
1519
+ * manifest rather than a request — nothing refuses a manifest — and the ceiling it produces is
1520
+ * whatever the arithmetic makes of it: a negative cap reads as "no cap declared" and permits more
1521
+ * than the author asked for, which is the one direction a ceiling must never move in.
1522
+ */
1523
+ function assertTtlIsInRange(ttl, model) {
1524
+ if (ttl === undefined)
1525
+ return;
1526
+ if (!Number.isInteger(ttl)) {
1527
+ throw new Error(`Model "${model}": \`cache.maxTtl\` must be a whole number of seconds, not ${ttl}.`);
1528
+ }
1529
+ if (ttl < 0 || ttl > MAX_CACHE_TTL_SECONDS) {
1530
+ throw new Error(`Model "${model}": \`cache.maxTtl\` must be between 0 and ${MAX_CACHE_TTL_SECONDS} seconds ` +
1531
+ `(24 hours), not ${ttl}. That is the same bound the admin API enforces on the project-wide ` +
1532
+ `cache TTL, and a declaration outside it is not a cap the runtime can apply.`);
1533
+ }
1534
+ }
1535
+ /** The admin API's bound on a cache TTL, in seconds. */
1536
+ const MAX_CACHE_TTL_SECONDS = 86_400;
1537
+ /**
1538
+ * Refuse a model that declares both `versions` and per-column rules.
1539
+ *
1540
+ * A version snapshot is opaque `jsonb`. `supatype_mask` is driven by security labels on a specific
1541
+ * table's column and rewrites references to *that* column; the view tier puts the same expression in
1542
+ * a view over the real columns. Neither can see inside a snapshot, so a masked value would sit in
1543
+ * plain sight in `<table>_versions` for anyone able to read it, and there is no narrower grant to
1544
+ * hide it behind now that drafts are visible to the record's creator.
1545
+ *
1546
+ * Refused here rather than left to the engine for the same reason the constraint operands are: the
1547
+ * message can name the model and the columns the author wrote.
1548
+ */
1549
+ function assertVersionsWithoutFieldRules(access, model) {
1550
+ const fields = access["fields"];
1551
+ if (typeof fields !== "object" || fields === null)
1552
+ return;
1553
+ const masked = Object.keys(fields);
1554
+ if (masked.length === 0)
1555
+ return;
1556
+ throw new Error(`Model "${model}": \`versions\` and \`access.fields\` cannot both be declared. ` +
1557
+ `A version snapshot is opaque JSONB, so the per-column rules on ` +
1558
+ `${masked.map((c) => `\`${c}\``).join(", ")} cannot be enforced inside it and the value would ` +
1559
+ `be readable in the versions table. Drop one: keep the field rules, or version a model that ` +
1560
+ `does not mask a column.`);
1561
+ }
1384
1562
  /**
1385
1563
  * Operands a `CHECK` cannot evaluate, and why.
1386
1564
  *
@@ -2439,4 +2617,57 @@ function resolveIndexedAccessRule(node, sourceFile, resolveCtx) {
2439
2617
  }
2440
2618
  return undefined;
2441
2619
  }
2620
+ /**
2621
+ * Parse `cache: { ... }` off a model's meta argument.
2622
+ *
2623
+ * Shaped like `parseModelHooks`, and travelling the same way: onto the route manifest beside
2624
+ * `hooks`, not into `annotations.platform`. The schema engine re-serialises its own parsed AST
2625
+ * (`serde_json::to_value(&ast)`), and `PlatformModelAnnotations` carries only `access` and
2626
+ * `search_fields` with no catch-all — so a key placed there is silently dropped on the way to the
2627
+ * server rather than riding through. Verified rather than assumed; see plan §13.1.
2628
+ */
2629
+ function parseModelCache(metaArg, sourceFile) {
2630
+ if (!metaArg || !ts.isTypeLiteralNode(metaArg))
2631
+ return undefined;
2632
+ const prop = metaArg.members.find((member) => ts.isPropertySignature(member) && getPropertyName(member.name) === "cache");
2633
+ if (!prop || !ts.isPropertySignature(prop) || !prop.type)
2634
+ return undefined;
2635
+ if (!ts.isTypeLiteralNode(prop.type))
2636
+ return undefined;
2637
+ const parsed = {};
2638
+ for (const member of prop.type.members) {
2639
+ if (!ts.isPropertySignature(member) || !member.type)
2640
+ continue;
2641
+ switch (getPropertyName(member.name)) {
2642
+ case "enabled":
2643
+ if (isBooleanLiteralType(member.type, true))
2644
+ parsed.enabled = true;
2645
+ else if (isBooleanLiteralType(member.type, false))
2646
+ parsed.enabled = false;
2647
+ break;
2648
+ case "public":
2649
+ if (isBooleanLiteralType(member.type, true))
2650
+ parsed.public = true;
2651
+ else if (isBooleanLiteralType(member.type, false))
2652
+ parsed.public = false;
2653
+ break;
2654
+ case "rows":
2655
+ if (isBooleanLiteralType(member.type, true))
2656
+ parsed.rows = true;
2657
+ else if (isBooleanLiteralType(member.type, false))
2658
+ parsed.rows = false;
2659
+ break;
2660
+ case "maxTtl": {
2661
+ const ttl = parseNumericTypeArg(member.type, sourceFile);
2662
+ if (ttl !== undefined)
2663
+ parsed.maxTtl = ttl;
2664
+ break;
2665
+ }
2666
+ }
2667
+ }
2668
+ // A `cache: {}` with nothing readable in it is not a declaration. Returning an empty object
2669
+ // would make the model "declared but permitting nothing", which reads the same as no block at
2670
+ // all and would put an empty entry in every manifest.
2671
+ return Object.keys(parsed).length > 0 ? parsed : undefined;
2672
+ }
2442
2673
  //# sourceMappingURL=type-extractor.js.map