@haustle/notion-orm 0.0.44 → 0.0.45

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 (406) hide show
  1. package/README.md +449 -109
  2. package/build/src/agents-sdk-resolver.d.ts +8 -0
  3. package/build/src/agents-sdk-resolver.d.ts.map +1 -0
  4. package/build/src/agents-sdk-resolver.js +23 -0
  5. package/build/src/agents-sdk-resolver.js.map +1 -0
  6. package/build/src/ast/agents/agent-file-writer.d.ts +21 -0
  7. package/build/src/ast/agents/agent-file-writer.d.ts.map +1 -0
  8. package/build/src/ast/agents/agent-file-writer.js +99 -0
  9. package/build/src/ast/agents/agent-file-writer.js.map +1 -0
  10. package/build/src/ast/agents/generate-agents-cli.d.ts +24 -0
  11. package/build/src/ast/agents/generate-agents-cli.d.ts.map +1 -0
  12. package/build/src/ast/agents/generate-agents-cli.js +193 -0
  13. package/build/src/ast/agents/generate-agents-cli.js.map +1 -0
  14. package/build/src/ast/database/database-file-writer.d.ts +37 -0
  15. package/build/src/ast/database/database-file-writer.d.ts.map +1 -0
  16. package/build/src/ast/database/database-file-writer.js +240 -0
  17. package/build/src/ast/database/database-file-writer.js.map +1 -0
  18. package/build/src/ast/database/generate-databases-cli.d.ts +27 -0
  19. package/build/src/ast/database/generate-databases-cli.d.ts.map +1 -0
  20. package/build/src/ast/database/generate-databases-cli.js +141 -0
  21. package/build/src/ast/database/generate-databases-cli.js.map +1 -0
  22. package/build/src/ast/database/notion-column-generators.d.ts +180 -0
  23. package/build/src/ast/database/notion-column-generators.d.ts.map +1 -0
  24. package/build/src/ast/database/notion-column-generators.js +269 -0
  25. package/build/src/ast/database/notion-column-generators.js.map +1 -0
  26. package/build/src/ast/database/zod-schema.d.ts +17 -0
  27. package/build/src/ast/database/zod-schema.d.ts.map +1 -0
  28. package/build/src/ast/database/zod-schema.js +5 -0
  29. package/build/src/ast/database/zod-schema.js.map +1 -0
  30. package/build/src/ast/demo/datasource-fixture-builder.d.ts +38 -0
  31. package/build/src/ast/demo/datasource-fixture-builder.d.ts.map +1 -0
  32. package/build/src/ast/demo/datasource-fixture-builder.js +274 -0
  33. package/build/src/ast/demo/datasource-fixture-builder.js.map +1 -0
  34. package/build/src/ast/demo/demo-entry-builders.d.ts +28 -0
  35. package/build/src/ast/demo/demo-entry-builders.d.ts.map +1 -0
  36. package/build/src/ast/demo/demo-entry-builders.js +133 -0
  37. package/build/src/ast/demo/demo-entry-builders.js.map +1 -0
  38. package/build/src/ast/demo/demo-playground-spec.d.ts +51 -0
  39. package/build/src/ast/demo/demo-playground-spec.d.ts.map +1 -0
  40. package/build/src/ast/demo/demo-playground-spec.js +91 -0
  41. package/build/src/ast/demo/demo-playground-spec.js.map +1 -0
  42. package/build/src/ast/demo/demo-workspace-builder.d.ts +24 -0
  43. package/build/src/ast/demo/demo-workspace-builder.d.ts.map +1 -0
  44. package/build/src/ast/demo/demo-workspace-builder.js +90 -0
  45. package/build/src/ast/demo/demo-workspace-builder.js.map +1 -0
  46. package/build/src/ast/shared/ast-builders.d.ts +112 -0
  47. package/build/src/ast/shared/ast-builders.d.ts.map +1 -0
  48. package/build/src/ast/shared/ast-builders.js +181 -0
  49. package/build/src/ast/shared/ast-builders.js.map +1 -0
  50. package/build/src/ast/shared/cached-metadata.d.ts +26 -0
  51. package/build/src/ast/shared/cached-metadata.d.ts.map +1 -0
  52. package/build/src/ast/shared/cached-metadata.js +76 -0
  53. package/build/src/ast/shared/cached-metadata.js.map +1 -0
  54. package/build/src/ast/shared/codegen-diagnostics.d.ts +23 -0
  55. package/build/src/ast/shared/codegen-diagnostics.d.ts.map +1 -0
  56. package/build/src/ast/shared/codegen-diagnostics.js +13 -0
  57. package/build/src/ast/shared/codegen-diagnostics.js.map +1 -0
  58. package/build/src/ast/shared/codegen-environment.d.ts +37 -0
  59. package/build/src/ast/shared/codegen-environment.d.ts.map +1 -0
  60. package/build/src/ast/shared/codegen-environment.js +53 -0
  61. package/build/src/ast/shared/codegen-environment.js.map +1 -0
  62. package/build/src/ast/shared/constants.d.ts +98 -0
  63. package/build/src/ast/shared/constants.d.ts.map +1 -0
  64. package/build/src/ast/shared/constants.js +145 -0
  65. package/build/src/ast/shared/constants.js.map +1 -0
  66. package/build/src/ast/shared/emit/config-emitter.d.ts +56 -0
  67. package/build/src/ast/shared/emit/config-emitter.d.ts.map +1 -0
  68. package/build/src/ast/shared/emit/config-emitter.js +454 -0
  69. package/build/src/ast/shared/emit/config-emitter.js.map +1 -0
  70. package/build/src/ast/shared/emit/emit-value-as-expression.d.ts +10 -0
  71. package/build/src/ast/shared/emit/emit-value-as-expression.d.ts.map +1 -0
  72. package/build/src/ast/shared/emit/emit-value-as-expression.js +37 -0
  73. package/build/src/ast/shared/emit/emit-value-as-expression.js.map +1 -0
  74. package/build/src/ast/shared/emit/orm-index-emitter.d.ts +61 -0
  75. package/build/src/ast/shared/emit/orm-index-emitter.d.ts.map +1 -0
  76. package/build/src/ast/shared/emit/orm-index-emitter.js +376 -0
  77. package/build/src/ast/shared/emit/orm-index-emitter.js.map +1 -0
  78. package/build/src/ast/shared/emit/registry-emitter.d.ts +35 -0
  79. package/build/src/ast/shared/emit/registry-emitter.d.ts.map +1 -0
  80. package/build/src/ast/shared/emit/registry-emitter.js +39 -0
  81. package/build/src/ast/shared/emit/registry-emitter.js.map +1 -0
  82. package/build/src/ast/shared/emit/ts-emit-core.d.ts +79 -0
  83. package/build/src/ast/shared/emit/ts-emit-core.d.ts.map +1 -0
  84. package/build/src/ast/shared/emit/ts-emit-core.js +135 -0
  85. package/build/src/ast/shared/emit/ts-emit-core.js.map +1 -0
  86. package/build/src/ast/shared/emit/ts-emit-options.d.ts +29 -0
  87. package/build/src/ast/shared/emit/ts-emit-options.d.ts.map +1 -0
  88. package/build/src/ast/shared/emit/ts-emit-options.js +29 -0
  89. package/build/src/ast/shared/emit/ts-emit-options.js.map +1 -0
  90. package/build/src/base.d.ts +21 -0
  91. package/build/src/base.d.ts.map +1 -0
  92. package/build/src/base.js +19 -0
  93. package/build/src/base.js.map +1 -0
  94. package/build/src/cli/agents-sdk-setup.d.ts +2 -0
  95. package/build/src/cli/agents-sdk-setup.d.ts.map +1 -0
  96. package/build/src/cli/agents-sdk-setup.js +107 -0
  97. package/build/src/cli/agents-sdk-setup.js.map +1 -0
  98. package/build/src/cli/helpers.d.ts +14 -0
  99. package/build/src/cli/helpers.d.ts.map +1 -0
  100. package/build/src/cli/helpers.js +125 -0
  101. package/build/src/cli/helpers.js.map +1 -0
  102. package/build/src/cli/index.d.ts +3 -0
  103. package/build/src/cli/index.d.ts.map +1 -0
  104. package/build/src/cli/index.js +244 -0
  105. package/build/src/cli/index.js.map +1 -0
  106. package/build/src/cli/sync-progress-renderer.d.ts +20 -0
  107. package/build/src/cli/sync-progress-renderer.d.ts.map +1 -0
  108. package/build/src/cli/sync-progress-renderer.js +79 -0
  109. package/build/src/cli/sync-progress-renderer.js.map +1 -0
  110. package/build/src/cli/sync-progress.d.ts +55 -0
  111. package/build/src/cli/sync-progress.d.ts.map +1 -0
  112. package/build/src/cli/sync-progress.js +120 -0
  113. package/build/src/cli/sync-progress.js.map +1 -0
  114. package/build/src/cli/sync-report.d.ts +17 -0
  115. package/build/src/cli/sync-report.d.ts.map +1 -0
  116. package/build/src/cli/sync-report.js +86 -0
  117. package/build/src/cli/sync-report.js.map +1 -0
  118. package/build/src/client/agent/AgentClient.d.ts +84 -0
  119. package/build/src/client/agent/AgentClient.d.ts.map +1 -0
  120. package/build/src/client/agent/AgentClient.js +118 -0
  121. package/build/src/client/agent/AgentClient.js.map +1 -0
  122. package/build/src/client/database/DatabaseClient.d.ts +37 -0
  123. package/build/src/client/database/DatabaseClient.d.ts.map +1 -0
  124. package/build/src/client/database/DatabaseClient.js +328 -0
  125. package/build/src/client/database/DatabaseClient.js.map +1 -0
  126. package/build/src/client/database/create/build-create-page-parameters.d.ts +9 -0
  127. package/build/src/client/database/create/build-create-page-parameters.d.ts.map +1 -0
  128. package/build/src/client/database/create/build-create-page-parameters.js +13 -0
  129. package/build/src/client/database/create/build-create-page-parameters.js.map +1 -0
  130. package/build/src/client/database/create/index.d.ts +4 -0
  131. package/build/src/client/database/create/index.d.ts.map +1 -0
  132. package/build/src/client/database/create/index.js +4 -0
  133. package/build/src/client/database/create/index.js.map +1 -0
  134. package/build/src/client/database/create/map-to-notion-properties.d.ts +14 -0
  135. package/build/src/client/database/create/map-to-notion-properties.d.ts.map +1 -0
  136. package/build/src/client/database/create/map-to-notion-properties.js +31 -0
  137. package/build/src/client/database/create/map-to-notion-properties.js.map +1 -0
  138. package/build/src/client/database/create/property-value.d.ts +16 -0
  139. package/build/src/client/database/create/property-value.d.ts.map +1 -0
  140. package/build/src/client/database/create/property-value.js +213 -0
  141. package/build/src/client/database/create/property-value.js.map +1 -0
  142. package/build/src/client/database/query/build-query-params.d.ts +11 -0
  143. package/build/src/client/database/query/build-query-params.d.ts.map +1 -0
  144. package/build/src/client/database/query/build-query-params.js +24 -0
  145. package/build/src/client/database/query/build-query-params.js.map +1 -0
  146. package/build/src/client/database/query/build-query-response.d.ts +23 -0
  147. package/build/src/client/database/query/build-query-response.d.ts.map +1 -0
  148. package/build/src/client/database/query/build-query-response.js +41 -0
  149. package/build/src/client/database/query/build-query-response.js.map +1 -0
  150. package/build/src/client/database/query/filter/builders.d.ts +4 -0
  151. package/build/src/client/database/query/filter/builders.d.ts.map +1 -0
  152. package/build/src/client/database/query/filter/builders.js +141 -0
  153. package/build/src/client/database/query/filter/builders.js.map +1 -0
  154. package/build/src/client/database/query/filter/compound.d.ts +3 -0
  155. package/build/src/client/database/query/filter/compound.d.ts.map +1 -0
  156. package/build/src/client/database/query/filter/compound.js +13 -0
  157. package/build/src/client/database/query/filter/compound.js.map +1 -0
  158. package/build/src/client/database/query/filter/index.d.ts +3 -0
  159. package/build/src/client/database/query/filter/index.d.ts.map +1 -0
  160. package/build/src/client/database/query/filter/index.js +89 -0
  161. package/build/src/client/database/query/filter/index.js.map +1 -0
  162. package/build/src/client/database/query/http-guards.d.ts +2 -0
  163. package/build/src/client/database/query/http-guards.d.ts.map +1 -0
  164. package/build/src/client/database/query/http-guards.js +10 -0
  165. package/build/src/client/database/query/http-guards.js.map +1 -0
  166. package/build/src/client/database/query/index.d.ts +5 -0
  167. package/build/src/client/database/query/index.d.ts.map +1 -0
  168. package/build/src/client/database/query/index.js +5 -0
  169. package/build/src/client/database/query/index.js.map +1 -0
  170. package/build/src/client/database/query/normalize-page-result.d.ts +15 -0
  171. package/build/src/client/database/query/normalize-page-result.d.ts.map +1 -0
  172. package/build/src/client/database/query/normalize-page-result.js +35 -0
  173. package/build/src/client/database/query/normalize-page-result.js.map +1 -0
  174. package/build/src/client/database/query/page-collection.d.ts +42 -0
  175. package/build/src/client/database/query/page-collection.d.ts.map +1 -0
  176. package/build/src/client/database/query/page-collection.js +71 -0
  177. package/build/src/client/database/query/page-collection.js.map +1 -0
  178. package/build/src/client/database/query/projection.d.ts +9 -0
  179. package/build/src/client/database/query/projection.d.ts.map +1 -0
  180. package/build/src/client/database/query/projection.js +43 -0
  181. package/build/src/client/database/query/projection.js.map +1 -0
  182. package/build/src/client/database/query/response/checkbox.d.ts +3 -0
  183. package/build/src/client/database/query/response/checkbox.d.ts.map +1 -0
  184. package/build/src/client/database/query/response/checkbox.js +7 -0
  185. package/build/src/client/database/query/response/checkbox.js.map +1 -0
  186. package/build/src/client/database/query/response/created_by.d.ts +3 -0
  187. package/build/src/client/database/query/response/created_by.d.ts.map +1 -0
  188. package/build/src/client/database/query/response/created_by.js +8 -0
  189. package/build/src/client/database/query/response/created_by.js.map +1 -0
  190. package/build/src/client/database/query/response/created_time.d.ts +3 -0
  191. package/build/src/client/database/query/response/created_time.d.ts.map +1 -0
  192. package/build/src/client/database/query/response/created_time.js +7 -0
  193. package/build/src/client/database/query/response/created_time.js.map +1 -0
  194. package/build/src/client/database/query/response/date.d.ts +6 -0
  195. package/build/src/client/database/query/response/date.d.ts.map +1 -0
  196. package/build/src/client/database/query/response/date.js +13 -0
  197. package/build/src/client/database/query/response/date.js.map +1 -0
  198. package/build/src/client/database/query/response/email.d.ts +3 -0
  199. package/build/src/client/database/query/response/email.d.ts.map +1 -0
  200. package/build/src/client/database/query/response/email.js +7 -0
  201. package/build/src/client/database/query/response/email.js.map +1 -0
  202. package/build/src/client/database/query/response/files.d.ts +6 -0
  203. package/build/src/client/database/query/response/files.d.ts.map +1 -0
  204. package/build/src/client/database/query/response/files.js +8 -0
  205. package/build/src/client/database/query/response/files.js.map +1 -0
  206. package/build/src/client/database/query/response/index.d.ts +53 -0
  207. package/build/src/client/database/query/response/index.d.ts.map +1 -0
  208. package/build/src/client/database/query/response/index.js +44 -0
  209. package/build/src/client/database/query/response/index.js.map +1 -0
  210. package/build/src/client/database/query/response/last_edited_by.d.ts +3 -0
  211. package/build/src/client/database/query/response/last_edited_by.d.ts.map +1 -0
  212. package/build/src/client/database/query/response/last_edited_by.js +8 -0
  213. package/build/src/client/database/query/response/last_edited_by.js.map +1 -0
  214. package/build/src/client/database/query/response/last_edited_time.d.ts +3 -0
  215. package/build/src/client/database/query/response/last_edited_time.d.ts.map +1 -0
  216. package/build/src/client/database/query/response/last_edited_time.js +7 -0
  217. package/build/src/client/database/query/response/last_edited_time.js.map +1 -0
  218. package/build/src/client/database/query/response/multi_select.d.ts +3 -0
  219. package/build/src/client/database/query/response/multi_select.d.ts.map +1 -0
  220. package/build/src/client/database/query/response/multi_select.js +10 -0
  221. package/build/src/client/database/query/response/multi_select.js.map +1 -0
  222. package/build/src/client/database/query/response/number.d.ts +3 -0
  223. package/build/src/client/database/query/response/number.d.ts.map +1 -0
  224. package/build/src/client/database/query/response/number.js +7 -0
  225. package/build/src/client/database/query/response/number.js.map +1 -0
  226. package/build/src/client/database/query/response/people.d.ts +3 -0
  227. package/build/src/client/database/query/response/people.d.ts.map +1 -0
  228. package/build/src/client/database/query/response/people.js +13 -0
  229. package/build/src/client/database/query/response/people.js.map +1 -0
  230. package/build/src/client/database/query/response/phone_number.d.ts +3 -0
  231. package/build/src/client/database/query/response/phone_number.d.ts.map +1 -0
  232. package/build/src/client/database/query/response/phone_number.js +7 -0
  233. package/build/src/client/database/query/response/phone_number.js.map +1 -0
  234. package/build/src/client/database/query/response/relation.d.ts +4 -0
  235. package/build/src/client/database/query/response/relation.d.ts.map +1 -0
  236. package/build/src/client/database/query/response/relation.js +14 -0
  237. package/build/src/client/database/query/response/relation.js.map +1 -0
  238. package/build/src/client/database/query/response/rich_text.d.ts +3 -0
  239. package/build/src/client/database/query/response/rich_text.d.ts.map +1 -0
  240. package/build/src/client/database/query/response/rich_text.js +12 -0
  241. package/build/src/client/database/query/response/rich_text.js.map +1 -0
  242. package/build/src/client/database/query/response/select.d.ts +3 -0
  243. package/build/src/client/database/query/response/select.d.ts.map +1 -0
  244. package/build/src/client/database/query/response/select.js +7 -0
  245. package/build/src/client/database/query/response/select.js.map +1 -0
  246. package/build/src/client/database/query/response/shared.d.ts +6 -0
  247. package/build/src/client/database/query/response/shared.d.ts.map +1 -0
  248. package/build/src/client/database/query/response/shared.js +41 -0
  249. package/build/src/client/database/query/response/shared.js.map +1 -0
  250. package/build/src/client/database/query/response/status.d.ts +3 -0
  251. package/build/src/client/database/query/response/status.d.ts.map +1 -0
  252. package/build/src/client/database/query/response/status.js +7 -0
  253. package/build/src/client/database/query/response/status.js.map +1 -0
  254. package/build/src/client/database/query/response/title.d.ts +3 -0
  255. package/build/src/client/database/query/response/title.d.ts.map +1 -0
  256. package/build/src/client/database/query/response/title.js +12 -0
  257. package/build/src/client/database/query/response/title.js.map +1 -0
  258. package/build/src/client/database/query/response/unique_id.d.ts +3 -0
  259. package/build/src/client/database/query/response/unique_id.d.ts.map +1 -0
  260. package/build/src/client/database/query/response/unique_id.js +14 -0
  261. package/build/src/client/database/query/response/unique_id.js.map +1 -0
  262. package/build/src/client/database/query/response/url.d.ts +3 -0
  263. package/build/src/client/database/query/response/url.d.ts.map +1 -0
  264. package/build/src/client/database/query/response/url.js +7 -0
  265. package/build/src/client/database/query/response/url.js.map +1 -0
  266. package/build/src/client/database/query/schema-drift-validation.d.ts +31 -0
  267. package/build/src/client/database/query/schema-drift-validation.d.ts.map +1 -0
  268. package/build/src/client/database/query/schema-drift-validation.js +68 -0
  269. package/build/src/client/database/query/schema-drift-validation.js.map +1 -0
  270. package/build/src/client/database/query/sort-transform.d.ts +6 -0
  271. package/build/src/client/database/query/sort-transform.d.ts.map +1 -0
  272. package/build/src/client/database/query/sort-transform.js +13 -0
  273. package/build/src/client/database/query/sort-transform.js.map +1 -0
  274. package/build/src/client/database/query/types.d.ts +42 -0
  275. package/build/src/client/database/query/types.d.ts.map +1 -0
  276. package/build/src/client/database/query/types.js +2 -0
  277. package/build/src/client/database/query/types.js.map +1 -0
  278. package/build/src/client/database/schema-builder.d.ts +8 -0
  279. package/build/src/client/database/schema-builder.d.ts.map +1 -0
  280. package/build/src/client/database/schema-builder.js +78 -0
  281. package/build/src/client/database/schema-builder.js.map +1 -0
  282. package/build/src/client/database/types/crud.d.ts +40 -0
  283. package/build/src/client/database/types/crud.d.ts.map +1 -0
  284. package/build/src/client/database/types/crud.js +5 -0
  285. package/build/src/client/database/types/crud.js.map +1 -0
  286. package/build/src/client/database/types/filter-capability.d.ts +30 -0
  287. package/build/src/client/database/types/filter-capability.d.ts.map +1 -0
  288. package/build/src/client/database/types/filter-capability.js +28 -0
  289. package/build/src/client/database/types/filter-capability.js.map +1 -0
  290. package/build/src/client/database/types/index.d.ts +16 -0
  291. package/build/src/client/database/types/index.d.ts.map +1 -0
  292. package/build/src/client/database/types/index.js +16 -0
  293. package/build/src/client/database/types/index.js.map +1 -0
  294. package/build/src/client/database/types/notion-database-id.d.ts +14 -0
  295. package/build/src/client/database/types/notion-database-id.d.ts.map +1 -0
  296. package/build/src/client/database/types/notion-database-id.js +9 -0
  297. package/build/src/client/database/types/notion-database-id.js.map +1 -0
  298. package/build/src/client/database/types/notion-filter-model.d.ts +98 -0
  299. package/build/src/client/database/types/notion-filter-model.d.ts.map +1 -0
  300. package/build/src/client/database/types/notion-filter-model.js +5 -0
  301. package/build/src/client/database/types/notion-filter-model.js.map +1 -0
  302. package/build/src/client/database/types/notion-id-brand.d.ts +27 -0
  303. package/build/src/client/database/types/notion-id-brand.d.ts.map +1 -0
  304. package/build/src/client/database/types/notion-id-brand.js +8 -0
  305. package/build/src/client/database/types/notion-id-brand.js.map +1 -0
  306. package/build/src/client/database/types/notion-page-id.d.ts +10 -0
  307. package/build/src/client/database/types/notion-page-id.d.ts.map +1 -0
  308. package/build/src/client/database/types/notion-page-id.js +6 -0
  309. package/build/src/client/database/types/notion-page-id.js.map +1 -0
  310. package/build/src/client/database/types/notion-user-id.d.ts +10 -0
  311. package/build/src/client/database/types/notion-user-id.d.ts.map +1 -0
  312. package/build/src/client/database/types/notion-user-id.js +6 -0
  313. package/build/src/client/database/types/notion-user-id.js.map +1 -0
  314. package/build/src/client/database/types/projection.d.ts +78 -0
  315. package/build/src/client/database/types/projection.d.ts.map +1 -0
  316. package/build/src/client/database/types/projection.js +6 -0
  317. package/build/src/client/database/types/projection.js.map +1 -0
  318. package/build/src/client/database/types/query-filter.d.ts +19 -0
  319. package/build/src/client/database/types/query-filter.d.ts.map +1 -0
  320. package/build/src/client/database/types/query-filter.js +5 -0
  321. package/build/src/client/database/types/query-filter.js.map +1 -0
  322. package/build/src/client/database/types/query-object.d.ts +42 -0
  323. package/build/src/client/database/types/query-object.d.ts.map +1 -0
  324. package/build/src/client/database/types/query-object.js +5 -0
  325. package/build/src/client/database/types/query-object.js.map +1 -0
  326. package/build/src/client/database/types/schema.d.ts +190 -0
  327. package/build/src/client/database/types/schema.d.ts.map +1 -0
  328. package/build/src/client/database/types/schema.js +41 -0
  329. package/build/src/client/database/types/schema.js.map +1 -0
  330. package/build/src/client/database/types/sort.d.ts +22 -0
  331. package/build/src/client/database/types/sort.d.ts.map +1 -0
  332. package/build/src/client/database/types/sort.js +5 -0
  333. package/build/src/client/database/types/sort.js.map +1 -0
  334. package/build/src/config/findConfigFile.d.ts +8 -0
  335. package/build/src/config/findConfigFile.d.ts.map +1 -0
  336. package/build/src/config/findConfigFile.js +18 -0
  337. package/build/src/config/findConfigFile.js.map +1 -0
  338. package/build/src/config/helpers.d.ts +7 -0
  339. package/build/src/config/helpers.d.ts.map +1 -0
  340. package/build/src/config/helpers.js +57 -0
  341. package/build/src/config/helpers.js.map +1 -0
  342. package/build/src/config/init.d.ts +7 -0
  343. package/build/src/config/init.d.ts.map +1 -0
  344. package/build/src/config/init.js +28 -0
  345. package/build/src/config/init.js.map +1 -0
  346. package/build/src/config/loadConfig.d.ts +11 -0
  347. package/build/src/config/loadConfig.d.ts.map +1 -0
  348. package/build/src/config/loadConfig.js +91 -0
  349. package/build/src/config/loadConfig.js.map +1 -0
  350. package/build/src/config/loadDotEnvFromCwd.d.ts +12 -0
  351. package/build/src/config/loadDotEnvFromCwd.d.ts.map +1 -0
  352. package/build/src/config/loadDotEnvFromCwd.js +47 -0
  353. package/build/src/config/loadDotEnvFromCwd.js.map +1 -0
  354. package/build/src/config/notion-config-filenames.d.ts +20 -0
  355. package/build/src/config/notion-config-filenames.d.ts.map +1 -0
  356. package/build/src/config/notion-config-filenames.js +24 -0
  357. package/build/src/config/notion-config-filenames.js.map +1 -0
  358. package/build/src/config/resolveNotionAuth.d.ts +18 -0
  359. package/build/src/config/resolveNotionAuth.d.ts.map +1 -0
  360. package/build/src/config/resolveNotionAuth.js +24 -0
  361. package/build/src/config/resolveNotionAuth.js.map +1 -0
  362. package/build/src/config/types.d.ts +16 -0
  363. package/build/src/config/types.d.ts.map +1 -0
  364. package/build/src/config/types.js +7 -0
  365. package/build/src/config/types.js.map +1 -0
  366. package/build/src/helpers.d.ts +22 -0
  367. package/build/src/helpers.d.ts.map +1 -0
  368. package/build/src/helpers.js +67 -0
  369. package/build/src/helpers.js.map +1 -0
  370. package/build/src/index.d.ts +15 -11
  371. package/build/src/index.d.ts.map +1 -1
  372. package/build/src/index.js +11 -116
  373. package/build/src/index.js.map +1 -1
  374. package/build/src/notion-id-patterns.d.ts +9 -0
  375. package/build/src/notion-id-patterns.d.ts.map +1 -0
  376. package/build/src/notion-id-patterns.js +9 -0
  377. package/build/src/notion-id-patterns.js.map +1 -0
  378. package/build/src/runtime-constants.d.ts +13 -0
  379. package/build/src/runtime-constants.d.ts.map +1 -0
  380. package/build/src/runtime-constants.js +13 -0
  381. package/build/src/runtime-constants.js.map +1 -0
  382. package/build/src/typeUtils.d.ts +77 -0
  383. package/build/src/typeUtils.d.ts.map +1 -0
  384. package/build/src/typeUtils.js +52 -0
  385. package/build/src/typeUtils.js.map +1 -0
  386. package/package.json +86 -32
  387. package/build/src/BuildCall.d.ts +0 -45
  388. package/build/src/BuildCall.d.ts.map +0 -1
  389. package/build/src/BuildCall.js +0 -114
  390. package/build/src/BuildCall.js.map +0 -1
  391. package/build/src/DatabaseActions.d.ts +0 -19
  392. package/build/src/DatabaseActions.d.ts.map +0 -1
  393. package/build/src/DatabaseActions.js +0 -158
  394. package/build/src/DatabaseActions.js.map +0 -1
  395. package/build/src/GenerateTypes.d.ts +0 -8
  396. package/build/src/GenerateTypes.d.ts.map +0 -1
  397. package/build/src/GenerateTypes.js +0 -257
  398. package/build/src/GenerateTypes.js.map +0 -1
  399. package/build/src/cli.d.ts +0 -3
  400. package/build/src/cli.d.ts.map +0 -1
  401. package/build/src/cli.js +0 -48
  402. package/build/src/cli.js.map +0 -1
  403. package/build/src/queryTypes.d.ts +0 -117
  404. package/build/src/queryTypes.d.ts.map +0 -1
  405. package/build/src/queryTypes.js +0 -7
  406. package/build/src/queryTypes.js.map +0 -1
package/package.json CHANGED
@@ -1,33 +1,87 @@
1
1
  {
2
- "name": "@haustle/notion-orm",
3
- "version": "0.0.44",
4
- "description": "tool to bring notion databases schemas/types to typescript",
5
- "main": "build/db/index.js",
6
- "files": ["/build"],
7
- "bin": {
8
- "notion": "build/src/cli.js"
9
- },
10
- "scripts": {
11
- "start": "npx tsc && node build/src/index.js",
12
- "build": "rm -rf build && tsc",
13
- "test": "echo \"Error: no test specified\" && exit 1",
14
- "refresh": "rm -rf ./node_modules ./package-lock.json && npm install"
15
- },
16
- "author": "",
17
- "license": "ISC",
18
- "devDependencies": {
19
- "@types/node": "^18.11.9",
20
- "typescript": "^4.8.4"
21
- },
22
- "dependencies": {
23
- "@notionhq/client": "^2.2.2"
24
- },
25
-
26
- "repository": {
27
- "type": "git",
28
- "url": "https://github.com/Haustle/notion-orm"
29
- },
30
- "homepage": "https://github.com/Haustle/notion-orm#readme",
31
- "keywords": ["notion orm", "typescript", "notion typesafety", "notion auto-complete", "notion databases", "notion-tables"]
32
-
33
- }
2
+ "name": "@haustle/notion-orm",
3
+ "version": "0.0.45",
4
+ "type": "module",
5
+ "description": "tool to bring notion databases schemas/types to typescript",
6
+ "main": "build/src/index.js",
7
+ "types": "build/src/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./build/src/index.d.ts",
11
+ "default": "./build/src/index.js"
12
+ },
13
+ "./base": {
14
+ "types": "./build/src/base.d.ts",
15
+ "default": "./build/src/base.js"
16
+ },
17
+ "./build/src/base": {
18
+ "types": "./build/src/base.d.ts",
19
+ "default": "./build/src/base.js"
20
+ },
21
+ "./notion-id-patterns": {
22
+ "types": "./build/src/notion-id-patterns.d.ts",
23
+ "default": "./build/src/notion-id-patterns.js"
24
+ },
25
+ "./package.json": "./package.json"
26
+ },
27
+ "files": [
28
+ "build/src"
29
+ ],
30
+ "bin": {
31
+ "notion": "build/src/cli/index.js"
32
+ },
33
+ "scripts": {
34
+ "prepare": "husky",
35
+ "start": "bun run build && node build/src/index.js",
36
+ "build": "rm -rf build && tsc && node ./scripts/patch-build-import-extensions.mjs && chmod +x build/src/cli/index.js",
37
+ "build:link": "bun run build && bun link",
38
+ "test": "bun test",
39
+ "test:types": "tsc -p tests/types/tsconfig.json --noEmit",
40
+ "lint": "biome lint tests/runtime tests/cli tests/codegen tests/helpers tests/types --diagnostic-level=error",
41
+ "typecheck": "tsc --noEmit && tsc -p tests/tsconfig.json --noEmit",
42
+ "knip": "knip",
43
+ "site": "bun run --cwd website dev",
44
+ "site:deploy": "bun run --cwd website deploy",
45
+ "site:typecheck": "bun run --cwd website typecheck",
46
+ "unpack-size": "bun pm pack --dry-run",
47
+ "loop": "bun run build:link && cd ../orm-testing && bun link @haustle/notion-orm && bunx notion sync && bun run smoke/coffee-shop/run.ts",
48
+ "refresh": "rm -rf ./node_modules && bun install"
49
+ },
50
+ "author": "",
51
+ "license": "ISC",
52
+ "devDependencies": {
53
+ "@babel/types": "^7.28.2",
54
+ "@biomejs/biome": "2.3.4",
55
+ "@types/node": "^22.0.0",
56
+ "bun-types": "^1.3.11",
57
+ "husky": "^9.1.7",
58
+ "knip": "^6.4.1",
59
+ "typescript": "^5.6.3"
60
+ },
61
+ "dependencies": {
62
+ "@babel/generator": "^7.28.0",
63
+ "@babel/parser": "^7.28.0",
64
+ "@notionhq/client": "^5.14.0",
65
+ "dotenv": "^17.4.2",
66
+ "zod": "^3.23.8"
67
+ },
68
+ "optionalDependencies": {
69
+ "ts-node": "^10.9.2"
70
+ },
71
+ "repository": {
72
+ "type": "git",
73
+ "url": "https://github.com/Haustle/notion-orm"
74
+ },
75
+ "engines": {
76
+ "node": ">=18"
77
+ },
78
+ "homepage": "https://github.com/Haustle/notion-orm#readme",
79
+ "keywords": [
80
+ "notion orm",
81
+ "typescript",
82
+ "notion typesafety",
83
+ "notion auto-complete",
84
+ "notion databases",
85
+ "notion-tables"
86
+ ]
87
+ }
@@ -1,45 +0,0 @@
1
- import { SupportedNotionColumnTypes } from "./queryTypes";
2
- export declare function getCall(args: {
3
- type: SupportedNotionColumnTypes;
4
- value: string | number | boolean;
5
- }): {
6
- select: {
7
- name: string;
8
- };
9
- } | {
10
- multi_select: {
11
- name: string;
12
- }[];
13
- } | {
14
- status: {
15
- name: string;
16
- };
17
- } | {
18
- number: number;
19
- } | {
20
- email: string;
21
- } | {
22
- date: {
23
- start: string;
24
- end?: string | undefined;
25
- };
26
- } | {
27
- phone_number: string;
28
- } | {
29
- url: string;
30
- } | {
31
- checkbox: boolean;
32
- } | {
33
- title: {
34
- text: {
35
- content: string;
36
- };
37
- }[];
38
- } | {
39
- rich_text: {
40
- text: {
41
- content: string;
42
- };
43
- }[];
44
- } | undefined;
45
- //# sourceMappingURL=BuildCall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildCall.d.ts","sourceRoot":"","sources":["../../src/BuildCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAC7B,IAAI,EAAE,0BAA0B,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6BA"}
@@ -1,114 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCall = void 0;
4
- function getCall(args) {
5
- const { type, value } = args;
6
- if (type === "select" && typeof value === "string") {
7
- return selectCall({ value });
8
- }
9
- else if (type === "multi_select" && Array.isArray(value)) {
10
- return multiSelectCall({ value });
11
- }
12
- else if (type === "status" && typeof value === "string") {
13
- return statusCall({ option: value });
14
- }
15
- else if (type === "number" && typeof value === "number") {
16
- return numberCall({ value });
17
- }
18
- else if (type === "email" && typeof value === "string") {
19
- return emailCall({ value });
20
- }
21
- else if (type === "date" && typeof value === "object") {
22
- return dateCall({ value });
23
- }
24
- else if (type === "phone_number" && typeof value === "string") {
25
- return phoneNumberCall({ value });
26
- }
27
- else if (type === "url" && typeof value === "string") {
28
- return urlCall({ url: value });
29
- }
30
- else if (type === "checkbox" && typeof value === "boolean") {
31
- return checkboxCall({ checked: value });
32
- }
33
- else if (type === "title" && typeof value === "string") {
34
- return titleCall({ title: value });
35
- }
36
- else if (type === "rich_text" && typeof value === "string") {
37
- return textCall({ text: value });
38
- }
39
- else {
40
- console.error(`'[@haustle/notion-orm] ${type}' column type currently not supported`);
41
- }
42
- }
43
- exports.getCall = getCall;
44
- /*
45
- ======================================================
46
- GENERATE OBJECT BASED ON TYPE
47
- ======================================================
48
- */
49
- const selectCall = (args) => {
50
- const { value } = args;
51
- const select = {
52
- name: value,
53
- };
54
- return { select };
55
- };
56
- const dateCall = (args) => {
57
- const { value } = args;
58
- return { date: value };
59
- };
60
- const phoneNumberCall = (args) => {
61
- const { value } = args;
62
- return { phone_number: value };
63
- };
64
- const statusCall = (args) => {
65
- const { option } = args;
66
- const status = {
67
- name: option,
68
- };
69
- return { status };
70
- };
71
- const multiSelectCall = (args) => {
72
- const { value } = args;
73
- const multi_select = value.map((option) => ({ name: option }));
74
- return { multi_select };
75
- };
76
- const textCall = (args) => {
77
- const { text } = args;
78
- const rich_text = [
79
- {
80
- text: {
81
- content: text,
82
- },
83
- },
84
- ];
85
- return { rich_text };
86
- };
87
- const titleCall = (args) => {
88
- const { title } = args;
89
- const titleObject = [
90
- {
91
- text: {
92
- content: title,
93
- },
94
- },
95
- ];
96
- return { title: titleObject };
97
- };
98
- const numberCall = (args) => {
99
- const { value: number } = args;
100
- return { number };
101
- };
102
- const urlCall = (args) => {
103
- const { url } = args;
104
- return { url };
105
- };
106
- const checkboxCall = (args) => {
107
- const { checked: checkbox } = args;
108
- return { checkbox };
109
- };
110
- const emailCall = (args) => {
111
- const { value } = args;
112
- return { email: value };
113
- };
114
- //# sourceMappingURL=BuildCall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildCall.js","sourceRoot":"","sources":["../../src/BuildCall.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { CreatePageParameters, CreatePageResponse } from "@notionhq/client/build/src/api-endpoints";
2
- import { Query, SimpleQueryResponse, SupportedNotionColumnTypes } from "./queryTypes";
3
- export type propNameToColumnNameType = Record<string, {
4
- columnName: string;
5
- type: SupportedNotionColumnTypes;
6
- }>;
7
- export declare class DatabaseActions<DatabaseSchemaType extends Record<string, any>, ColumnNameToColumnType extends Record<keyof DatabaseSchemaType, SupportedNotionColumnTypes>> {
8
- private NotionClient;
9
- private databaseId;
10
- private propNameToColumnName;
11
- private columnNames;
12
- constructor(datbaseId: string, propNameToColumnName: propNameToColumnNameType);
13
- add(pageObject: DatabaseSchemaType, getCallBody?: boolean): Promise<CreatePageParameters | CreatePageResponse>;
14
- query(query: Query<DatabaseSchemaType, ColumnNameToColumnType>): Promise<SimpleQueryResponse<DatabaseSchemaType>>;
15
- private simplifyQueryResponse;
16
- private getResponseValue;
17
- private recursivelyBuildFilter;
18
- }
19
- //# sourceMappingURL=DatabaseActions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatabaseActions.d.ts","sourceRoot":"","sources":["../../src/DatabaseActions.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAIlB,MAAM,0CAA0C,CAAC;AAKlD,OAAO,EAIN,KAAK,EAEL,mBAAmB,EAEnB,0BAA0B,EAC1B,MAAM,cAAc,CAAC;AAGtB,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC5C,MAAM,EACN;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,0BAA0B,CAAA;CAAE,CACxD,CAAC;AAQF,qBAAa,eAAe,CAC3B,kBAAkB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9C,sBAAsB,SAAS,MAAM,CACpC,MAAM,kBAAkB,EACxB,0BAA0B,CAC1B;IAED,OAAO,CAAC,YAAY,CAEjB;IACH,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,oBAAoB,CAA2B;IACvD,OAAO,CAAC,WAAW,CAAW;gBAG7B,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,wBAAwB;IAQzC,GAAG,CACR,UAAU,EAAE,kBAAkB,EAC9B,WAAW,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,oBAAoB,GAAG,kBAAkB,CAAC;IA4B/C,KAAK,CACV,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,GACtD,OAAO,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAoBnD,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,gBAAgB;IA2CxB,OAAO,CAAC,sBAAsB;CAyC9B"}
@@ -1,158 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DatabaseActions = void 0;
16
- const client_1 = require("@notionhq/client");
17
- const BuildCall_1 = require("./BuildCall");
18
- const path_1 = __importDefault(require("path"));
19
- const GenerateTypes_1 = require("./GenerateTypes");
20
- // Import auth key from config file
21
- const { auth } = require(path_1.default.join(process.cwd(), "notion.config"));
22
- class DatabaseActions {
23
- constructor(datbaseId, propNameToColumnName) {
24
- this.NotionClient = new client_1.Client({
25
- auth,
26
- });
27
- this.databaseId = datbaseId;
28
- this.propNameToColumnName = propNameToColumnName;
29
- this.columnNames = Object.keys(propNameToColumnName);
30
- }
31
- // Add page to a database
32
- add(pageObject, getCallBody) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- const callBody = {
35
- parent: {
36
- database_id: this.databaseId,
37
- },
38
- properties: {},
39
- };
40
- const columnTypePropNames = Object.keys(pageObject);
41
- columnTypePropNames.forEach((propName) => {
42
- const { type, columnName } = this.propNameToColumnName[propName];
43
- const columnObject = (0, BuildCall_1.getCall)({
44
- type,
45
- value: pageObject[propName],
46
- });
47
- callBody.properties[columnName] = columnObject;
48
- });
49
- // CORS: If user wants the body of the call. Can then send to API
50
- if (getCallBody) {
51
- return callBody;
52
- }
53
- return yield this.NotionClient.pages.create(callBody);
54
- });
55
- }
56
- // Look for page inside the database
57
- query(query) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- const queryCall = {
60
- database_id: this.databaseId,
61
- };
62
- const filters = query.filter
63
- ? this.recursivelyBuildFilter(query.filter)
64
- : undefined;
65
- if (filters) {
66
- // @ts-ignore errors vs notion api types
67
- queryCall["filter"] = filters;
68
- }
69
- const sort = query.sort;
70
- const response = yield this.NotionClient.databases.query(queryCall);
71
- return this.simplifyQueryResponse(response);
72
- });
73
- }
74
- simplifyQueryResponse(res) {
75
- // Is this smart too do...idk
76
- const rawResults = res.results;
77
- const rawResponse = res;
78
- const results = rawResults.map((result) => {
79
- const simpleResult = {};
80
- const properties = Object.entries(result.properties);
81
- for (const [columnName, result] of properties) {
82
- const camelizeColumnName = (0, GenerateTypes_1.camelize)(columnName);
83
- const columnType = this.propNameToColumnName[camelizeColumnName].type;
84
- // @ts-ignore
85
- simpleResult[camelizeColumnName] = this.getResponseValue(columnType, result);
86
- }
87
- return simpleResult;
88
- });
89
- return {
90
- results,
91
- rawResponse,
92
- };
93
- }
94
- getResponseValue(prop, x) {
95
- switch (prop) {
96
- case "select": {
97
- const { select } = x;
98
- if (select) {
99
- return select["name"];
100
- }
101
- return undefined;
102
- }
103
- case "title": {
104
- const { title } = x;
105
- if (title) {
106
- const combinedText = title.map(({ plain_text }) => plain_text);
107
- return combinedText.join("");
108
- }
109
- return undefined;
110
- }
111
- case "url": {
112
- const { url } = x;
113
- return url;
114
- }
115
- case "multi_select": {
116
- const { multi_select } = x;
117
- if (multi_select) {
118
- const multi_selectArr = multi_select.map(({ name }) => name);
119
- return multi_selectArr;
120
- }
121
- return undefined;
122
- }
123
- default: {
124
- return "lol";
125
- }
126
- }
127
- }
128
- recursivelyBuildFilter(queryFilter) {
129
- // Need to loop because we don't kno
130
- for (const prop in queryFilter) {
131
- // if the filter is "and" || "or" we need to recursively
132
- if (prop === "and" || prop === "or") {
133
- const compoundFilters =
134
- // @ts-ignore
135
- queryFilter[prop];
136
- const compoundApiFilters = compoundFilters.map((i) => {
137
- return this.recursivelyBuildFilter(i);
138
- });
139
- // Either have an `and` or an `or` compound filter
140
- let temp = Object.assign({}, (prop === "and"
141
- ? { and: compoundApiFilters }
142
- : { or: compoundApiFilters }));
143
- return temp;
144
- }
145
- else {
146
- const propType = this.propNameToColumnName[prop].type;
147
- const temp = {
148
- property: this.propNameToColumnName[prop].columnName,
149
- };
150
- //@ts-ignore
151
- temp[propType] = queryFilter[prop];
152
- return temp;
153
- }
154
- }
155
- }
156
- }
157
- exports.DatabaseActions = DatabaseActions;
158
- //# sourceMappingURL=DatabaseActions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatabaseActions.js","sourceRoot":"","sources":["../../src/DatabaseActions.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { GetDatabaseResponse } from "@notionhq/client/build/src/api-endpoints";
2
- export declare function createTypescriptFileForDatabase(dbResponse: GetDatabaseResponse): Promise<{
3
- databaseName: string;
4
- databaseClassName: string;
5
- databaseId: string;
6
- }>;
7
- export declare function camelize(str: string): string;
8
- //# sourceMappingURL=GenerateTypes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GenerateTypes.d.ts","sourceRoot":"","sources":["../../src/GenerateTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,mBAAmB,EACnB,MAAM,0CAA0C,CAAC;AAelD,wBAAsB,+BAA+B,CACpD,UAAU,EAAE,mBAAmB;;;;GAgI/B;AAuSD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,UAKnC"}