@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
@@ -0,0 +1,376 @@
1
+ import fs from "fs";
2
+ import * as ts from "typescript";
3
+ import { toPascalCase } from "../ast-builders.js";
4
+ import { AST_FS_PATHS, AST_IMPORT_PATHS, AST_RUNTIME_CONSTANTS, codegenIndexSourcePath, } from "../constants.js";
5
+ import { getCodegenImportExtension, } from "../codegen-environment.js";
6
+ import { createEmitContext, finalizeGeneratedSourceWithTrailingNewline, insertBlankLineAfterDoubleSlashBanner, printTsNodeSegments, transpileTsToJs, writeTextArtifact, } from "./ts-emit-core.js";
7
+ import { TS_EMIT_INTEROP, TS_EMIT_OPTIONS_DEFAULT } from "./ts-emit-options.js";
8
+ /**
9
+ * Creates base import from the ORM package.
10
+ * Only includes `AgentClient` when agents are present.
11
+ */
12
+ function createBaseImportDeclaration(args) {
13
+ const namedImports = [
14
+ ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier("NotionORMBase")),
15
+ ...(args.includeAgentClient
16
+ ? [
17
+ ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier("AgentClient")),
18
+ ]
19
+ : []),
20
+ ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier("DatabaseClient")),
21
+ ];
22
+ return ts.factory.createImportDeclaration(undefined, ts.factory.createImportClause(false, undefined, ts.factory.createNamedImports(namedImports)), ts.factory.createStringLiteral(AST_IMPORT_PATHS.ORM_BASE), undefined);
23
+ }
24
+ /**
25
+ * Re-exports base type surface from the package base module.
26
+ */
27
+ function createBaseTypeExportDeclaration() {
28
+ return ts.factory.createExportDeclaration(undefined, true, ts.factory.createNamedExports([
29
+ ts.factory.createExportSpecifier(false, undefined, ts.factory.createIdentifier("NotionConfigType")),
30
+ ]), ts.factory.createStringLiteral(AST_IMPORT_PATHS.ORM_BASE), undefined);
31
+ }
32
+ /**
33
+ * Re-exports base runtime values from the package base module.
34
+ * Only includes `AgentClient` when agents are present.
35
+ */
36
+ function createBaseValueExportDeclaration(args) {
37
+ const exports = [
38
+ ts.factory.createExportSpecifier(false, undefined, ts.factory.createIdentifier("DatabaseClient")),
39
+ ];
40
+ if (args.includeAgentClient) {
41
+ exports.unshift(ts.factory.createExportSpecifier(false, undefined, ts.factory.createIdentifier("AgentClient")));
42
+ }
43
+ return ts.factory.createExportDeclaration(undefined, false, ts.factory.createNamedExports(exports), ts.factory.createStringLiteral(AST_IMPORT_PATHS.ORM_BASE), undefined);
44
+ }
45
+ /**
46
+ * Creates imports for generated entity factory functions.
47
+ * Example: `import { CoffeeShopDirectory } from "./databases/coffeeShopDirectory";`
48
+ */
49
+ function createEntityImportStatements(args) {
50
+ const { entities, pathFactory, typeOnly = false, factoryExportId = (n) => n, } = args;
51
+ return entities.map((entity) => ts.factory.createImportDeclaration(undefined, ts.factory.createImportClause(typeOnly, undefined, ts.factory.createNamedImports([
52
+ ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier(factoryExportId(entity.name))),
53
+ ])), ts.factory.createStringLiteral(pathFactory(entity.name)), undefined));
54
+ }
55
+ /**
56
+ * Builds the shape for `databases`/`agents` properties on NotionORM:
57
+ * `{ foo: ReturnType<typeof Foo>; ... }` (factory symbol may differ from the key).
58
+ */
59
+ function createRegistryTypeLiteral(entities, factoryExportId = (n) => n) {
60
+ const properties = entities.map((entity) => ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier(entity.name), undefined, ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("ReturnType"), [
61
+ ts.factory.createTypeQueryNode(ts.factory.createIdentifier(factoryExportId(entity.name)), undefined),
62
+ ])));
63
+ return ts.factory.createTypeLiteralNode(properties);
64
+ }
65
+ /**
66
+ * Creates constructor initializer object for each entity registry.
67
+ * Each generated factory receives the resolved token from {@link NotionORMBase#notionAuth}.
68
+ */
69
+ function createRegistryInitializer(entities, factoryExportId = (n) => n) {
70
+ return ts.factory.createObjectLiteralExpression(entities.map((entity) => ts.factory.createPropertyAssignment(ts.factory.createIdentifier(entity.name), ts.factory.createCallExpression(ts.factory.createIdentifier(factoryExportId(entity.name)), undefined, [
71
+ ts.factory.createPropertyAccessExpression(ts.factory.createThis(), ts.factory.createIdentifier("notionAuth")),
72
+ ]))), true);
73
+ }
74
+ /**
75
+ * Shared constructor config type for generated NotionORM class.
76
+ */
77
+ function createConfigParamType() {
78
+ return ts.factory.createTypeLiteralNode([
79
+ ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier("auth"), ts.factory.createToken(ts.SyntaxKind.QuestionToken), ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword)),
80
+ ]);
81
+ }
82
+ function addSyntheticJsdocBlock(node, lines) {
83
+ const body = lines.map((line) => ` * ${line}`).join("\n");
84
+ ts.addSyntheticLeadingComment(node, ts.SyntaxKind.MultiLineCommentTrivia, `*\n${body}\n `, true);
85
+ }
86
+ function addOrmIndexGeneratedBanner(node, syncCommand) {
87
+ ts.addSyntheticLeadingComment(node, ts.SyntaxKind.SingleLineCommentTrivia, " Generated by @haustle/notion-orm — do not edit manually.", true);
88
+ ts.addSyntheticLeadingComment(node, ts.SyntaxKind.SingleLineCommentTrivia, ` Regenerate with \`${syncCommand}\` (or your package script).`, true);
89
+ }
90
+ function addLeadingSectionSlashComment(node, text) {
91
+ ts.addSyntheticLeadingComment(node, ts.SyntaxKind.SingleLineCommentTrivia, ` ${text}`, true);
92
+ }
93
+ /**
94
+ * Builds runtime `NotionORM` class AST that instantiates generated databases
95
+ * and agents in the constructor.
96
+ */
97
+ function createRuntimeClassDeclaration(args) {
98
+ const { databases, agents, syncCommand } = args;
99
+ const hasAgents = agents.length > 0;
100
+ const statements = [
101
+ ts.factory.createExpressionStatement(ts.factory.createCallExpression(ts.factory.createSuper(), undefined, [
102
+ ts.factory.createIdentifier("config"),
103
+ ])),
104
+ ts.factory.createExpressionStatement(ts.factory.createBinaryExpression(ts.factory.createPropertyAccessExpression(ts.factory.createThis(), ts.factory.createIdentifier("databases")), ts.factory.createToken(ts.SyntaxKind.EqualsToken), createRegistryInitializer(databases, toPascalCase))),
105
+ ];
106
+ if (hasAgents) {
107
+ statements.push(ts.factory.createExpressionStatement(ts.factory.createBinaryExpression(ts.factory.createPropertyAccessExpression(ts.factory.createThis(), ts.factory.createIdentifier("agents")), ts.factory.createToken(ts.SyntaxKind.EqualsToken), createRegistryInitializer(agents, toPascalCase))));
108
+ }
109
+ if (databases.length === 0) {
110
+ statements.push(ts.factory.createExpressionStatement(ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier("console"), ts.factory.createIdentifier("warn")), undefined, [
111
+ ts.factory.createStringLiteral(`⚠️ No databases found. Please run '${syncCommand}' to generate database types.`),
112
+ ])));
113
+ }
114
+ const databasesProperty = ts.factory.createPropertyDeclaration([ts.factory.createModifier(ts.SyntaxKind.PublicKeyword)], ts.factory.createIdentifier("databases"), undefined, createRegistryTypeLiteral(databases, toPascalCase), undefined);
115
+ addSyntheticJsdocBlock(databasesProperty, [
116
+ "Typed database client factories.",
117
+ "Keys match the `databases` entries in your Notion config; each value is a factory bound to this client's `auth` token.",
118
+ ]);
119
+ const classMembers = [databasesProperty];
120
+ if (hasAgents) {
121
+ const agentsProperty = ts.factory.createPropertyDeclaration([ts.factory.createModifier(ts.SyntaxKind.PublicKeyword)], ts.factory.createIdentifier("agents"), undefined, createRegistryTypeLiteral(agents, toPascalCase), undefined);
122
+ addSyntheticJsdocBlock(agentsProperty, [
123
+ "Typed agent client factories.",
124
+ "Keys match the `agents` entries in your Notion config; each value is a factory bound to this client's `auth` token.",
125
+ ]);
126
+ classMembers.push(agentsProperty);
127
+ }
128
+ const assignDatabasesStatement = statements[1];
129
+ if (assignDatabasesStatement) {
130
+ addLeadingSectionSlashComment(assignDatabasesStatement, "Instantiate generated factories with the same API token passed to this client.");
131
+ }
132
+ classMembers.push(ts.factory.createConstructorDeclaration(undefined, [
133
+ ts.factory.createParameterDeclaration(undefined, undefined, ts.factory.createIdentifier("config"), undefined, createConfigParamType(), undefined),
134
+ ], ts.factory.createBlock(statements, true)));
135
+ const classDeclaration = ts.factory.createClassDeclaration([ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createIdentifier("NotionORM"), undefined, [
136
+ ts.factory.createHeritageClause(ts.SyntaxKind.ExtendsKeyword, [
137
+ ts.factory.createExpressionWithTypeArguments(ts.factory.createIdentifier("NotionORMBase"), undefined),
138
+ ]),
139
+ ], classMembers);
140
+ addSyntheticJsdocBlock(classDeclaration, [
141
+ "Generated Notion ORM entrypoint for this project.",
142
+ "`databases` and `agents` expose typed factories produced from your synced Notion workspace.",
143
+ `Regenerate this file with \`${syncCommand}\` when your Notion schema or config changes.`,
144
+ ]);
145
+ return classDeclaration;
146
+ }
147
+ /**
148
+ * Builds declaration-only class AST for `index.d.ts`.
149
+ */
150
+ function createDeclarationClass(args) {
151
+ const { databases, agents } = args;
152
+ const hasAgents = agents.length > 0;
153
+ const databasesProperty = ts.factory.createPropertyDeclaration([ts.factory.createModifier(ts.SyntaxKind.PublicKeyword)], ts.factory.createIdentifier("databases"), undefined, createRegistryTypeLiteral(databases, toPascalCase), undefined);
154
+ addSyntheticJsdocBlock(databasesProperty, [
155
+ "Typed database client factories.",
156
+ "Keys match the `databases` entries in your Notion config; each value is a factory bound to this client's `auth` token.",
157
+ ]);
158
+ const classMembers = [databasesProperty];
159
+ if (hasAgents) {
160
+ const agentsProperty = ts.factory.createPropertyDeclaration([ts.factory.createModifier(ts.SyntaxKind.PublicKeyword)], ts.factory.createIdentifier("agents"), undefined, createRegistryTypeLiteral(agents, toPascalCase), undefined);
161
+ addSyntheticJsdocBlock(agentsProperty, [
162
+ "Typed agent client factories.",
163
+ "Keys match the `agents` entries in your Notion config; each value is a factory bound to this client's `auth` token.",
164
+ ]);
165
+ classMembers.push(agentsProperty);
166
+ }
167
+ classMembers.push(ts.factory.createConstructorDeclaration(undefined, [
168
+ ts.factory.createParameterDeclaration(undefined, undefined, ts.factory.createIdentifier("config"), undefined, createConfigParamType(), undefined),
169
+ ], undefined));
170
+ const classDeclaration = ts.factory.createClassDeclaration([ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createIdentifier("NotionORM"), undefined, [
171
+ ts.factory.createHeritageClause(ts.SyntaxKind.ExtendsKeyword, [
172
+ ts.factory.createExpressionWithTypeArguments(ts.factory.createIdentifier("NotionORMBase"), undefined),
173
+ ]),
174
+ ], classMembers);
175
+ addSyntheticJsdocBlock(classDeclaration, [
176
+ "Generated Notion ORM entrypoint for this project.",
177
+ "`databases` and `agents` expose typed factories produced from your synced Notion workspace.",
178
+ ]);
179
+ return classDeclaration;
180
+ }
181
+ /**
182
+ * Produces runtime module statement groups for `notion/index.ts`, separated for readable spacing.
183
+ */
184
+ function buildOrmIndexModuleStatementSegments(args) {
185
+ const { databases, agents, syncCommand, environment = "typescript", importPaths, } = args;
186
+ const hasAgents = agents.length > 0;
187
+ const runtimeImportPathFactory = {
188
+ databaseClass: importPaths?.databaseClass ??
189
+ ((name) => `./databases/${toPascalCase(name)}.${getCodegenImportExtension()}`),
190
+ agentClass: importPaths?.agentClass ??
191
+ ((name) => `./agents/${toPascalCase(name)}.${getCodegenImportExtension()}`),
192
+ };
193
+ const databaseImports = createEntityImportStatements({
194
+ entities: databases,
195
+ pathFactory: runtimeImportPathFactory.databaseClass,
196
+ factoryExportId: toPascalCase,
197
+ });
198
+ const agentImports = hasAgents
199
+ ? createEntityImportStatements({
200
+ entities: agents,
201
+ pathFactory: runtimeImportPathFactory.agentClass,
202
+ factoryExportId: toPascalCase,
203
+ })
204
+ : [];
205
+ const baseImport = createBaseImportDeclaration({ includeAgentClient: hasAgents });
206
+ const typeExport = createBaseTypeExportDeclaration();
207
+ const valueExport = createBaseValueExportDeclaration({ includeAgentClient: hasAgents });
208
+ const classDeclaration = createRuntimeClassDeclaration({
209
+ databases,
210
+ agents,
211
+ syncCommand,
212
+ });
213
+ if (databaseImports.length > 0) {
214
+ addOrmIndexGeneratedBanner(databaseImports[0], syncCommand);
215
+ addLeadingSectionSlashComment(databaseImports[0], "Database client factories (generated under ./databases/).");
216
+ }
217
+ else if (agentImports.length > 0) {
218
+ addOrmIndexGeneratedBanner(agentImports[0], syncCommand);
219
+ addLeadingSectionSlashComment(agentImports[0], "Agent client factories (generated under ./agents/).");
220
+ }
221
+ else {
222
+ addOrmIndexGeneratedBanner(baseImport, syncCommand);
223
+ }
224
+ if (databaseImports.length > 0 && agentImports.length > 0) {
225
+ addLeadingSectionSlashComment(agentImports[0], "Agent client factories (generated under ./agents/).");
226
+ }
227
+ if (databaseImports.length > 0 || agentImports.length > 0) {
228
+ addLeadingSectionSlashComment(baseImport, "Package imports: NotionORMBase, config types, and client classes.");
229
+ }
230
+ return [
231
+ databaseImports,
232
+ agentImports,
233
+ [baseImport, typeExport, valueExport],
234
+ [classDeclaration],
235
+ ];
236
+ }
237
+ /**
238
+ * Produces runtime module statements for `notion/index.ts` (import as `./notion/` from app code).
239
+ */
240
+ export function buildOrmIndexModuleAst(args) {
241
+ return buildOrmIndexModuleStatementSegments(args).flat();
242
+ }
243
+ /**
244
+ * Produces declaration module statement groups for `notion/index.d.ts`, separated for readable spacing.
245
+ */
246
+ function buildOrmIndexDeclarationStatementSegments(args) {
247
+ const { databases, agents, syncCommand: syncCommandArg } = args;
248
+ const syncCommand = syncCommandArg ?? AST_RUNTIME_CONSTANTS.CLI_GENERATE_COMMAND;
249
+ const hasAgents = agents.length > 0;
250
+ const databaseImports = createEntityImportStatements({
251
+ entities: databases,
252
+ pathFactory: AST_IMPORT_PATHS.databaseClass,
253
+ typeOnly: true,
254
+ factoryExportId: toPascalCase,
255
+ });
256
+ const agentImports = hasAgents
257
+ ? createEntityImportStatements({
258
+ entities: agents,
259
+ pathFactory: AST_IMPORT_PATHS.agentClass,
260
+ typeOnly: true,
261
+ factoryExportId: toPascalCase,
262
+ })
263
+ : [];
264
+ const baseImport = createBaseImportDeclaration({ includeAgentClient: hasAgents });
265
+ const typeExport = createBaseTypeExportDeclaration();
266
+ const valueExport = createBaseValueExportDeclaration({ includeAgentClient: hasAgents });
267
+ const classDeclaration = createDeclarationClass({ databases, agents });
268
+ if (databaseImports.length > 0) {
269
+ addOrmIndexGeneratedBanner(databaseImports[0], syncCommand);
270
+ addLeadingSectionSlashComment(databaseImports[0], "Database client factories (generated under ./databases/).");
271
+ }
272
+ else if (agentImports.length > 0) {
273
+ addOrmIndexGeneratedBanner(agentImports[0], syncCommand);
274
+ addLeadingSectionSlashComment(agentImports[0], "Agent client factories (generated under ./agents/).");
275
+ }
276
+ else {
277
+ addOrmIndexGeneratedBanner(baseImport, syncCommand);
278
+ }
279
+ if (databaseImports.length > 0 && agentImports.length > 0) {
280
+ addLeadingSectionSlashComment(agentImports[0], "Agent client factories (generated under ./agents/).");
281
+ }
282
+ if (databaseImports.length > 0 || agentImports.length > 0) {
283
+ addLeadingSectionSlashComment(baseImport, "Package imports: NotionORMBase, config types, and client classes.");
284
+ }
285
+ return [
286
+ databaseImports,
287
+ agentImports,
288
+ [baseImport, typeExport, valueExport],
289
+ [classDeclaration],
290
+ ];
291
+ }
292
+ /**
293
+ * Produces declaration module statements for `notion/index.d.ts`.
294
+ */
295
+ export function buildOrmIndexDeclarationAst(args) {
296
+ return buildOrmIndexDeclarationStatementSegments(args).flat();
297
+ }
298
+ /**
299
+ * Emits all NotionORM index artifacts (runtime TS/JS + declaration .d.ts).
300
+ * This glues generated `databases/*` and `agents/*` factory modules into one entrypoint.
301
+ */
302
+ export function emitOrmIndexArtifacts(args) {
303
+ const { databases, agents, buildIndexPath, buildIndexDtsPath, buildIndexDtsMapPath, syncCommand, environment, context = createEmitContext({ fileName: "index.ts" }), } = args;
304
+ const runtimeSegments = buildOrmIndexModuleStatementSegments({
305
+ databases,
306
+ agents,
307
+ syncCommand,
308
+ environment,
309
+ });
310
+ let runtimeTsCode = printTsNodeSegments({ segments: runtimeSegments, context });
311
+ runtimeTsCode = insertBlankLineAfterDoubleSlashBanner(runtimeTsCode);
312
+ runtimeTsCode = finalizeGeneratedSourceWithTrailingNewline(runtimeTsCode);
313
+ const code = environment === "javascript"
314
+ ? transpileTsToJs({
315
+ typescriptCode: runtimeTsCode,
316
+ module: TS_EMIT_OPTIONS_DEFAULT.module,
317
+ target: TS_EMIT_OPTIONS_DEFAULT.target,
318
+ esModuleInterop: TS_EMIT_INTEROP.esModuleInterop,
319
+ allowSyntheticDefaultImports: TS_EMIT_INTEROP.allowSyntheticDefaultImports,
320
+ })
321
+ : runtimeTsCode;
322
+ writeTextArtifact({ filePath: buildIndexPath, content: code });
323
+ const declarationSegments = buildOrmIndexDeclarationStatementSegments({
324
+ databases,
325
+ agents,
326
+ syncCommand,
327
+ });
328
+ const dtsContext = createEmitContext({ fileName: "index.d.ts" });
329
+ let dtsCode = printTsNodeSegments({
330
+ segments: declarationSegments,
331
+ context: dtsContext,
332
+ });
333
+ dtsCode = insertBlankLineAfterDoubleSlashBanner(dtsCode);
334
+ dtsCode = finalizeGeneratedSourceWithTrailingNewline(dtsCode);
335
+ writeTextArtifact({ filePath: buildIndexDtsPath, content: dtsCode });
336
+ if (buildIndexDtsMapPath && fs.existsSync(buildIndexDtsMapPath)) {
337
+ fs.unlinkSync(buildIndexDtsMapPath);
338
+ }
339
+ return { code, dtsCode };
340
+ }
341
+ /**
342
+ * Rebuilds the generated root `notion/index` artifacts that wire all
343
+ * database/agent factories into the exported NotionORM class.
344
+ * Use this from both database and agent CLI entry points.
345
+ */
346
+ export function updateSourceIndexFile(databasesMetadata, agentsMetadata, environment) {
347
+ if (!fs.existsSync(AST_FS_PATHS.CODEGEN_ROOT_DIR)) {
348
+ fs.mkdirSync(AST_FS_PATHS.CODEGEN_ROOT_DIR, { recursive: true });
349
+ }
350
+ emitOrmIndexBuildArtifacts({
351
+ databases: databasesMetadata.map((m) => ({ name: m.name })),
352
+ agents: agentsMetadata.map((m) => ({ name: m.name })),
353
+ environment,
354
+ });
355
+ }
356
+ /**
357
+ * Convenience wrapper targeting canonical build output paths.
358
+ */
359
+ function emitOrmIndexBuildArtifacts(args) {
360
+ const { databases, agents, environment, context } = args;
361
+ const buildIndexPath = codegenIndexSourcePath({
362
+ scope: "codegenRoot",
363
+ environment,
364
+ });
365
+ return emitOrmIndexArtifacts({
366
+ databases,
367
+ agents,
368
+ buildIndexPath,
369
+ buildIndexDtsPath: AST_FS_PATHS.buildIndexDts,
370
+ buildIndexDtsMapPath: AST_FS_PATHS.buildIndexDtsMap,
371
+ syncCommand: AST_RUNTIME_CONSTANTS.CLI_GENERATE_COMMAND,
372
+ environment,
373
+ context,
374
+ });
375
+ }
376
+ //# sourceMappingURL=orm-index-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orm-index-emitter.js","sourceRoot":"","sources":["../../../../../src/ast/shared/emit/orm-index-emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import * as ts from "typescript";
2
+ import type { CodegenEnvironment } from "../codegen-environment";
3
+ import { type TsEmitContext } from "./ts-emit-core";
4
+ /**
5
+ * One exported item inside a generated registry module
6
+ * (`databases/index.ts`, `agents/index.ts`, etc).
7
+ */
8
+ export interface RegistryEntry {
9
+ importName: string;
10
+ importPath: string;
11
+ registryKey?: string;
12
+ }
13
+ /**
14
+ * Builds AST for a simple export registry object:
15
+ * imports each entry and exports `const <registryName> = { ... }`.
16
+ */
17
+ export declare function buildRegistryModuleAst(args: {
18
+ registryName: string;
19
+ entries: RegistryEntry[];
20
+ }): ts.Statement[];
21
+ /**
22
+ * Emits the registry module in the format appropriate for the consumer project.
23
+ * `outputPath` should already be extension-correct for `environment`
24
+ * (use `codegenIndexSourcePath` to build it).
25
+ */
26
+ export declare function emitRegistryModuleArtifacts(args: {
27
+ registryName: string;
28
+ entries: RegistryEntry[];
29
+ outputPath: string;
30
+ environment: CodegenEnvironment;
31
+ context?: TsEmitContext;
32
+ }): {
33
+ sourceCode: string;
34
+ };
35
+ //# sourceMappingURL=registry-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-emitter.d.ts","sourceRoot":"","sources":["../../../../../src/ast/shared/emit/registry-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGjF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,aAAa,EAAE,CAAC;CACzB,GAAG,EAAE,CAAC,SAAS,EAAE,CA6CjB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAWzB"}
@@ -0,0 +1,39 @@
1
+ import * as ts from "typescript";
2
+ import { emitArtifactsForEnvironment } from "./ts-emit-core.js";
3
+ import { TS_EMIT_OPTIONS_DEFAULT } from "./ts-emit-options.js";
4
+ /**
5
+ * Builds AST for a simple export registry object:
6
+ * imports each entry and exports `const <registryName> = { ... }`.
7
+ */
8
+ export function buildRegistryModuleAst(args) {
9
+ const { registryName, entries } = args;
10
+ const importStatements = entries.map((entry) => ts.factory.createImportDeclaration(undefined, ts.factory.createImportClause(false, undefined, ts.factory.createNamedImports([
11
+ ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier(entry.importName)),
12
+ ])), ts.factory.createStringLiteral(entry.importPath), undefined));
13
+ const registryProperties = entries.map((entry) => {
14
+ const registryKey = entry.registryKey ?? entry.importName;
15
+ return ts.factory.createPropertyAssignment(ts.factory.createIdentifier(registryKey), ts.factory.createIdentifier(entry.importName));
16
+ });
17
+ const registryExport = ts.factory.createVariableStatement([ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createVariableDeclarationList([
18
+ ts.factory.createVariableDeclaration(ts.factory.createIdentifier(registryName), undefined, undefined, ts.factory.createObjectLiteralExpression(registryProperties, true)),
19
+ ], ts.NodeFlags.Const));
20
+ return [...importStatements, registryExport];
21
+ }
22
+ /**
23
+ * Emits the registry module in the format appropriate for the consumer project.
24
+ * `outputPath` should already be extension-correct for `environment`
25
+ * (use `codegenIndexSourcePath` to build it).
26
+ */
27
+ export function emitRegistryModuleArtifacts(args) {
28
+ const { registryName, entries, outputPath, environment, context } = args;
29
+ const nodes = buildRegistryModuleAst({ registryName, entries });
30
+ return emitArtifactsForEnvironment({
31
+ nodes,
32
+ outputPath,
33
+ environment,
34
+ context,
35
+ module: TS_EMIT_OPTIONS_DEFAULT.module,
36
+ target: TS_EMIT_OPTIONS_DEFAULT.target,
37
+ });
38
+ }
39
+ //# sourceMappingURL=registry-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-emitter.js","sourceRoot":"","sources":["../../../../../src/ast/shared/emit/registry-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,2BAA2B,EAAsB,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAY5D;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAGtC;IACA,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9C,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACjC,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAC5B,KAAK,EACL,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAC7B,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAC/B,KAAK,EACL,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAC7C;KACD,CAAC,CACF,EACD,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,EAChD,SAAS,CACT,CACD,CAAC;IAEF,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC;QAC1D,OAAO,EAAE,CAAC,OAAO,CAAC,wBAAwB,CACzC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACxD,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACxD,EAAE,CAAC,OAAO,CAAC,6BAA6B,CACvC;QACC,EAAE,CAAC,OAAO,CAAC,yBAAyB,CACnC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAClE;KACD,EACD,EAAE,CAAC,SAAS,CAAC,KAAK,CAClB,CACD,CAAC;IAEF,OAAO,CAAC,GAAG,gBAAgB,EAAE,cAAc,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAM3C;IACA,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzE,MAAM,KAAK,GAAG,sBAAsB,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,OAAO,2BAA2B,CAAC;QAClC,KAAK;QACL,UAAU;QACV,WAAW;QACX,OAAO;QACP,MAAM,EAAE,uBAAuB,CAAC,MAAM;QACtC,MAAM,EAAE,uBAAuB,CAAC,MAAM;KACtC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,79 @@
1
+ import * as ts from "typescript";
2
+ import type { CodegenEnvironment } from "../codegen-environment";
3
+ /**
4
+ * Shared emit context used by all AST-based codegen modules.
5
+ * Keeping one context stable helps produce deterministic printed output.
6
+ */
7
+ export interface TsEmitContext {
8
+ sourceFile: ts.SourceFile;
9
+ printer: ts.Printer;
10
+ }
11
+ /**
12
+ * Creates printer/source-file scaffolding used by TypeScript AST emitters.
13
+ * This is the root primitive that higher-level emitters reuse.
14
+ */
15
+ export declare function createEmitContext(args?: {
16
+ fileName?: string;
17
+ target?: ts.ScriptTarget;
18
+ kind?: ts.ScriptKind;
19
+ }): TsEmitContext;
20
+ /**
21
+ * Converts statement nodes into TypeScript source text.
22
+ * This is used for both runtime modules and declaration/module templates.
23
+ */
24
+ export declare function printTsNodes(args: {
25
+ nodes: readonly ts.Statement[];
26
+ context?: TsEmitContext;
27
+ listFormat?: ts.ListFormat;
28
+ }): string;
29
+ /**
30
+ * Prints multiple statement groups with a blank line between groups.
31
+ * Use this when comments alone do not create enough visual separation in generated modules.
32
+ */
33
+ export declare function printTsNodeSegments(args: {
34
+ segments: readonly (readonly ts.Statement[])[];
35
+ context?: TsEmitContext;
36
+ listFormat?: ts.ListFormat;
37
+ }): string;
38
+ /** Inserts a blank line after a two-line `//` banner (before the next non-comment line). */
39
+ export declare function insertBlankLineAfterDoubleSlashBanner(code: string): string;
40
+ /** Ensures emitted text ends with a single trailing newline (POSIX-friendly). */
41
+ export declare function finalizeGeneratedSourceWithTrailingNewline(code: string): string;
42
+ /**
43
+ * Transpiles generated TypeScript text into JavaScript text.
44
+ * Callers provide module/target options based on the artifact being emitted.
45
+ */
46
+ export declare function transpileTsToJs(args: {
47
+ typescriptCode: string;
48
+ module?: ts.ModuleKind;
49
+ target?: ts.ScriptTarget;
50
+ esModuleInterop?: boolean;
51
+ allowSyntheticDefaultImports?: boolean;
52
+ }): string;
53
+ /**
54
+ * Writes a single text artifact to disk.
55
+ */
56
+ export declare function writeTextArtifact(args: {
57
+ filePath: string;
58
+ content: string;
59
+ }): void;
60
+ /**
61
+ * End-to-end helper used by AST generators that emit either TS or JS based on
62
+ * the consumer project's codegen environment. Callers pass a single
63
+ * `outputPath` already resolved to the correct extension (see
64
+ * `codegenIndexSourcePath`); this keeps TS/JS filename selection in one place.
65
+ */
66
+ export declare function emitArtifactsForEnvironment(args: {
67
+ nodes: readonly ts.Statement[];
68
+ outputPath: string;
69
+ environment: CodegenEnvironment;
70
+ context?: TsEmitContext;
71
+ listFormat?: ts.ListFormat;
72
+ module?: ts.ModuleKind;
73
+ target?: ts.ScriptTarget;
74
+ esModuleInterop?: boolean;
75
+ allowSyntheticDefaultImports?: boolean;
76
+ }): {
77
+ sourceCode: string;
78
+ };
79
+ //# sourceMappingURL=ts-emit-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-emit-core.d.ts","sourceRoot":"","sources":["../../../../../src/ast/shared/emit/ts-emit-core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;IAC1B,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;IACzB,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;CACrB,GAAG,aAAa,CAUhB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAClC,KAAK,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;CAC3B,GAAG,MAAM,CAWT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACzC,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;IAC/C,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;CAC3B,GAAG,MAAM,CAQT;AAED,4FAA4F;AAC5F,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK1E;AAED,iFAAiF;AACjF,wBAAgB,0CAA0C,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACvC,GAAG,MAAM,CAcT;AAYD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAIP;AA4DD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IACjD,KAAK,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;IAC3B,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACvC,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAgCzB"}