@graphoria/server 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (628) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +10 -0
  3. package/README.md +129 -0
  4. package/cli.ts +105 -0
  5. package/dist/cli.d.ts +3 -0
  6. package/dist/cli.d.ts.map +1 -0
  7. package/dist/src/ai/agent/agent.d.ts +37 -0
  8. package/dist/src/ai/agent/agent.d.ts.map +1 -0
  9. package/dist/src/ai/agent/index.d.ts +3 -0
  10. package/dist/src/ai/agent/index.d.ts.map +1 -0
  11. package/dist/src/ai/agent/providers/anthropic.d.ts +10 -0
  12. package/dist/src/ai/agent/providers/anthropic.d.ts.map +1 -0
  13. package/dist/src/ai/agent/providers/index.d.ts +8 -0
  14. package/dist/src/ai/agent/providers/index.d.ts.map +1 -0
  15. package/dist/src/ai/agent/providers/ollama.d.ts +11 -0
  16. package/dist/src/ai/agent/providers/ollama.d.ts.map +1 -0
  17. package/dist/src/ai/agent/providers/openai.d.ts +14 -0
  18. package/dist/src/ai/agent/providers/openai.d.ts.map +1 -0
  19. package/dist/src/ai/agent/types.d.ts +51 -0
  20. package/dist/src/ai/agent/types.d.ts.map +1 -0
  21. package/dist/src/ai/ask-field.test.d.ts +2 -0
  22. package/dist/src/ai/ask-field.test.d.ts.map +1 -0
  23. package/dist/src/ai/index.d.ts +7 -0
  24. package/dist/src/ai/index.d.ts.map +1 -0
  25. package/dist/src/ai/mcp/create-server.d.ts +14 -0
  26. package/dist/src/ai/mcp/create-server.d.ts.map +1 -0
  27. package/dist/src/ai/mcp/create-server.test.d.ts +2 -0
  28. package/dist/src/ai/mcp/create-server.test.d.ts.map +1 -0
  29. package/dist/src/ai/mcp/index.d.ts +13 -0
  30. package/dist/src/ai/mcp/index.d.ts.map +1 -0
  31. package/dist/src/ai/mcp/index.test.d.ts +2 -0
  32. package/dist/src/ai/mcp/index.test.d.ts.map +1 -0
  33. package/dist/src/ai/mcp/instructions.d.ts +2 -0
  34. package/dist/src/ai/mcp/instructions.d.ts.map +1 -0
  35. package/dist/src/ai/tools/agent.d.ts +4 -0
  36. package/dist/src/ai/tools/agent.d.ts.map +1 -0
  37. package/dist/src/ai/tools/agent.test.d.ts +2 -0
  38. package/dist/src/ai/tools/agent.test.d.ts.map +1 -0
  39. package/dist/src/ai/tools/core.d.ts +75 -0
  40. package/dist/src/ai/tools/core.d.ts.map +1 -0
  41. package/dist/src/ai/tools/query-data.d.ts +35 -0
  42. package/dist/src/ai/tools/query-data.d.ts.map +1 -0
  43. package/dist/src/analyzeQuery/analyzers/fragmentAnalyzer.d.ts +5 -0
  44. package/dist/src/analyzeQuery/analyzers/fragmentAnalyzer.d.ts.map +1 -0
  45. package/dist/src/analyzeQuery/analyzers/operationAnalyzer.d.ts +6 -0
  46. package/dist/src/analyzeQuery/analyzers/operationAnalyzer.d.ts.map +1 -0
  47. package/dist/src/analyzeQuery/analyzers/selectionAnalyzer.d.ts +6 -0
  48. package/dist/src/analyzeQuery/analyzers/selectionAnalyzer.d.ts.map +1 -0
  49. package/dist/src/analyzeQuery/analyzers/variableAnalyzer.d.ts +4 -0
  50. package/dist/src/analyzeQuery/analyzers/variableAnalyzer.d.ts.map +1 -0
  51. package/dist/src/analyzeQuery/depthLimit.d.ts +16 -0
  52. package/dist/src/analyzeQuery/depthLimit.d.ts.map +1 -0
  53. package/dist/src/analyzeQuery/depthLimit.test.d.ts +2 -0
  54. package/dist/src/analyzeQuery/depthLimit.test.d.ts.map +1 -0
  55. package/dist/src/analyzeQuery/directiveUtils.d.ts +4 -0
  56. package/dist/src/analyzeQuery/directiveUtils.d.ts.map +1 -0
  57. package/dist/src/analyzeQuery/directiveUtils.test.d.ts +2 -0
  58. package/dist/src/analyzeQuery/directiveUtils.test.d.ts.map +1 -0
  59. package/dist/src/analyzeQuery/index.d.ts +5 -0
  60. package/dist/src/analyzeQuery/index.d.ts.map +1 -0
  61. package/dist/src/analyzeQuery/index.test.d.ts +2 -0
  62. package/dist/src/analyzeQuery/index.test.d.ts.map +1 -0
  63. package/dist/src/analyzeQuery/resolveVariables.d.ts +71 -0
  64. package/dist/src/analyzeQuery/resolveVariables.d.ts.map +1 -0
  65. package/dist/src/analyzeQuery/resolveVariables.test.d.ts +2 -0
  66. package/dist/src/analyzeQuery/resolveVariables.test.d.ts.map +1 -0
  67. package/dist/src/analyzeQuery/staticValues.test.d.ts +2 -0
  68. package/dist/src/analyzeQuery/staticValues.test.d.ts.map +1 -0
  69. package/dist/src/analyzeQuery/typeUtils.d.ts +9 -0
  70. package/dist/src/analyzeQuery/typeUtils.d.ts.map +1 -0
  71. package/dist/src/analyzeQuery/types.d.ts +54 -0
  72. package/dist/src/analyzeQuery/types.d.ts.map +1 -0
  73. package/dist/src/analyzeQuery/valueExtractors.d.ts +4 -0
  74. package/dist/src/analyzeQuery/valueExtractors.d.ts.map +1 -0
  75. package/dist/src/authentication/duration.d.ts +14 -0
  76. package/dist/src/authentication/duration.d.ts.map +1 -0
  77. package/dist/src/authentication/duration.test.d.ts +2 -0
  78. package/dist/src/authentication/duration.test.d.ts.map +1 -0
  79. package/dist/src/authentication/index.d.ts +4 -0
  80. package/dist/src/authentication/index.d.ts.map +1 -0
  81. package/dist/src/authentication/index.test.d.ts +2 -0
  82. package/dist/src/authentication/index.test.d.ts.map +1 -0
  83. package/dist/src/authentication/jwt.d.ts +10 -0
  84. package/dist/src/authentication/jwt.d.ts.map +1 -0
  85. package/dist/src/authentication/jwt.test.d.ts +2 -0
  86. package/dist/src/authentication/jwt.test.d.ts.map +1 -0
  87. package/dist/src/authentication/paseto.d.ts +7 -0
  88. package/dist/src/authentication/paseto.d.ts.map +1 -0
  89. package/dist/src/authentication/paseto.test.d.ts +2 -0
  90. package/dist/src/authentication/paseto.test.d.ts.map +1 -0
  91. package/dist/src/authentication/tokenRepository.d.ts +14 -0
  92. package/dist/src/authentication/tokenRepository.d.ts.map +1 -0
  93. package/dist/src/authentication/tokenRepository.test.d.ts +2 -0
  94. package/dist/src/authentication/tokenRepository.test.d.ts.map +1 -0
  95. package/dist/src/authentication/types.d.ts +42 -0
  96. package/dist/src/authentication/types.d.ts.map +1 -0
  97. package/dist/src/cli/seedAuth.d.ts +4 -0
  98. package/dist/src/cli/seedAuth.d.ts.map +1 -0
  99. package/dist/src/cli/seedAuth.test.d.ts +2 -0
  100. package/dist/src/cli/seedAuth.test.d.ts.map +1 -0
  101. package/dist/src/cli/seedAuthArgs.d.ts +9 -0
  102. package/dist/src/cli/seedAuthArgs.d.ts.map +1 -0
  103. package/dist/src/config/helpers/cronHelper.d.ts +21 -0
  104. package/dist/src/config/helpers/cronHelper.d.ts.map +1 -0
  105. package/dist/src/config/helpers/cronHelper.test.d.ts +2 -0
  106. package/dist/src/config/helpers/cronHelper.test.d.ts.map +1 -0
  107. package/dist/src/config/helpers/index.d.ts +4 -0
  108. package/dist/src/config/helpers/index.d.ts.map +1 -0
  109. package/dist/src/config/helpers/operationHelper.d.ts +44 -0
  110. package/dist/src/config/helpers/operationHelper.d.ts.map +1 -0
  111. package/dist/src/config/helpers/queueHelper.d.ts +20 -0
  112. package/dist/src/config/helpers/queueHelper.d.ts.map +1 -0
  113. package/dist/src/config/helpers/queueHelper.test.d.ts +2 -0
  114. package/dist/src/config/helpers/queueHelper.test.d.ts.map +1 -0
  115. package/dist/src/config/index.d.ts +236 -0
  116. package/dist/src/config/index.d.ts.map +1 -0
  117. package/dist/src/config/types/ai.d.ts +29 -0
  118. package/dist/src/config/types/ai.d.ts.map +1 -0
  119. package/dist/src/config/types/auth.d.ts +112 -0
  120. package/dist/src/config/types/auth.d.ts.map +1 -0
  121. package/dist/src/config/types/configuration.d.ts +61 -0
  122. package/dist/src/config/types/configuration.d.ts.map +1 -0
  123. package/dist/src/config/types/cron.d.ts +81 -0
  124. package/dist/src/config/types/cron.d.ts.map +1 -0
  125. package/dist/src/config/types/db.d.ts +210 -0
  126. package/dist/src/config/types/db.d.ts.map +1 -0
  127. package/dist/src/config/types/index.d.ts +17 -0
  128. package/dist/src/config/types/index.d.ts.map +1 -0
  129. package/dist/src/config/types/operation.d.ts +226 -0
  130. package/dist/src/config/types/operation.d.ts.map +1 -0
  131. package/dist/src/config/types/queue.d.ts +142 -0
  132. package/dist/src/config/types/queue.d.ts.map +1 -0
  133. package/dist/src/config/types/remote-rest.d.ts +18 -0
  134. package/dist/src/config/types/remote-rest.d.ts.map +1 -0
  135. package/dist/src/config/types/remote-schema.d.ts +27 -0
  136. package/dist/src/config/types/remote-schema.d.ts.map +1 -0
  137. package/dist/src/config/types/virtual-columns.d.ts +89 -0
  138. package/dist/src/config/types/virtual-columns.d.ts.map +1 -0
  139. package/dist/src/config/types/virtual-columns.test.d.ts +2 -0
  140. package/dist/src/config/types/virtual-columns.test.d.ts.map +1 -0
  141. package/dist/src/configuration/getSchemas/index.d.ts +867 -0
  142. package/dist/src/configuration/getSchemas/index.d.ts.map +1 -0
  143. package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts +412 -0
  144. package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts.map +1 -0
  145. package/dist/src/configuration/getSchemas/type-definition-generator/index.d.ts +16 -0
  146. package/dist/src/configuration/getSchemas/type-definition-generator/index.d.ts.map +1 -0
  147. package/dist/src/configuration/getSchemas/type-definition-generator/index.test.d.ts +2 -0
  148. package/dist/src/configuration/getSchemas/type-definition-generator/index.test.d.ts.map +1 -0
  149. package/dist/src/configuration/gql/buildExecute.d.ts +31 -0
  150. package/dist/src/configuration/gql/buildExecute.d.ts.map +1 -0
  151. package/dist/src/configuration/gql/buildExecute.test.d.ts +2 -0
  152. package/dist/src/configuration/gql/buildExecute.test.d.ts.map +1 -0
  153. package/dist/src/configuration/gql/gqlAuthOperations.d.ts +9 -0
  154. package/dist/src/configuration/gql/gqlAuthOperations.d.ts.map +1 -0
  155. package/dist/src/configuration/gql/gqlAuthOperations.test.d.ts +2 -0
  156. package/dist/src/configuration/gql/gqlAuthOperations.test.d.ts.map +1 -0
  157. package/dist/src/configuration/gql/handleGraphQLRequestFactory.d.ts +28 -0
  158. package/dist/src/configuration/gql/handleGraphQLRequestFactory.d.ts.map +1 -0
  159. package/dist/src/configuration/gql/handleGraphQLRequestFactory.test.d.ts +2 -0
  160. package/dist/src/configuration/gql/handleGraphQLRequestFactory.test.d.ts.map +1 -0
  161. package/dist/src/configuration/gql/handleGraphQLSubscriptionFactory.d.ts +19 -0
  162. package/dist/src/configuration/gql/handleGraphQLSubscriptionFactory.d.ts.map +1 -0
  163. package/dist/src/configuration/index.d.ts +719 -0
  164. package/dist/src/configuration/index.d.ts.map +1 -0
  165. package/dist/src/configuration/rest/generateOpenAPI.d.ts +19 -0
  166. package/dist/src/configuration/rest/generateOpenAPI.d.ts.map +1 -0
  167. package/dist/src/configuration/rest/handleRESTRequestFactory.d.ts +12 -0
  168. package/dist/src/configuration/rest/handleRESTRequestFactory.d.ts.map +1 -0
  169. package/dist/src/configuration/rest/handleRESTRequestFactory.test.d.ts +2 -0
  170. package/dist/src/configuration/rest/handleRESTRequestFactory.test.d.ts.map +1 -0
  171. package/dist/src/configuration/rest/index.d.ts +20 -0
  172. package/dist/src/configuration/rest/index.d.ts.map +1 -0
  173. package/dist/src/configuration/rest/openApiErrors.d.ts +71 -0
  174. package/dist/src/configuration/rest/openApiErrors.d.ts.map +1 -0
  175. package/dist/src/console/App.d.ts +3 -0
  176. package/dist/src/console/App.d.ts.map +1 -0
  177. package/dist/src/console/Login.d.ts +6 -0
  178. package/dist/src/console/Login.d.ts.map +1 -0
  179. package/dist/src/console/api.d.ts +17 -0
  180. package/dist/src/console/api.d.ts.map +1 -0
  181. package/dist/src/console/api.test.d.ts +2 -0
  182. package/dist/src/console/api.test.d.ts.map +1 -0
  183. package/dist/src/console/client.d.ts +67 -0
  184. package/dist/src/console/client.d.ts.map +1 -0
  185. package/dist/src/console/frontend.d.ts +8 -0
  186. package/dist/src/console/frontend.d.ts.map +1 -0
  187. package/dist/src/console/pages/ConfigPage.d.ts +2 -0
  188. package/dist/src/console/pages/ConfigPage.d.ts.map +1 -0
  189. package/dist/src/console/pages/RolesPage.d.ts +2 -0
  190. package/dist/src/console/pages/RolesPage.d.ts.map +1 -0
  191. package/dist/src/console/pages/StatusPage.d.ts +2 -0
  192. package/dist/src/console/pages/StatusPage.d.ts.map +1 -0
  193. package/dist/src/console/pages/TablesPage.d.ts +2 -0
  194. package/dist/src/console/pages/TablesPage.d.ts.map +1 -0
  195. package/dist/src/console/useApi.d.ts +8 -0
  196. package/dist/src/console/useApi.d.ts.map +1 -0
  197. package/dist/src/cron/index.d.ts +63 -0
  198. package/dist/src/cron/index.d.ts.map +1 -0
  199. package/dist/src/databases/auth/auth-operations.d.ts +11 -0
  200. package/dist/src/databases/auth/auth-operations.d.ts.map +1 -0
  201. package/dist/src/databases/auth/password.d.ts +3 -0
  202. package/dist/src/databases/auth/password.d.ts.map +1 -0
  203. package/dist/src/databases/auth/password.test.d.ts +2 -0
  204. package/dist/src/databases/auth/password.test.d.ts.map +1 -0
  205. package/dist/src/databases/common.d.ts +53 -0
  206. package/dist/src/databases/common.d.ts.map +1 -0
  207. package/dist/src/databases/common.test.d.ts +2 -0
  208. package/dist/src/databases/common.test.d.ts.map +1 -0
  209. package/dist/src/databases/core/executor.d.ts +10 -0
  210. package/dist/src/databases/core/executor.d.ts.map +1 -0
  211. package/dist/src/databases/core/executor.test.d.ts +2 -0
  212. package/dist/src/databases/core/executor.test.d.ts.map +1 -0
  213. package/dist/src/databases/core/function-mapping.d.ts +38 -0
  214. package/dist/src/databases/core/function-mapping.d.ts.map +1 -0
  215. package/dist/src/databases/core/identifier.d.ts +2 -0
  216. package/dist/src/databases/core/identifier.d.ts.map +1 -0
  217. package/dist/src/databases/core/identifier.test.d.ts +2 -0
  218. package/dist/src/databases/core/identifier.test.d.ts.map +1 -0
  219. package/dist/src/databases/core/query-builder.d.ts +64 -0
  220. package/dist/src/databases/core/query-builder.d.ts.map +1 -0
  221. package/dist/src/databases/core/query-builder.test.d.ts +2 -0
  222. package/dist/src/databases/core/query-builder.test.d.ts.map +1 -0
  223. package/dist/src/databases/directives.d.ts +16 -0
  224. package/dist/src/databases/directives.d.ts.map +1 -0
  225. package/dist/src/databases/directives.test.d.ts +2 -0
  226. package/dist/src/databases/directives.test.d.ts.map +1 -0
  227. package/dist/src/databases/engines/mssql/auth.d.ts +9 -0
  228. package/dist/src/databases/engines/mssql/auth.d.ts.map +1 -0
  229. package/dist/src/databases/engines/mssql/auth.test.d.ts +2 -0
  230. package/dist/src/databases/engines/mssql/auth.test.d.ts.map +1 -0
  231. package/dist/src/databases/engines/mssql/connection.d.ts +14 -0
  232. package/dist/src/databases/engines/mssql/connection.d.ts.map +1 -0
  233. package/dist/src/databases/engines/mssql/format.d.ts +5 -0
  234. package/dist/src/databases/engines/mssql/format.d.ts.map +1 -0
  235. package/dist/src/databases/engines/mssql/getStructure.d.ts +48 -0
  236. package/dist/src/databases/engines/mssql/getStructure.d.ts.map +1 -0
  237. package/dist/src/databases/engines/mssql/getViews.d.ts +7 -0
  238. package/dist/src/databases/engines/mssql/getViews.d.ts.map +1 -0
  239. package/dist/src/databases/engines/mssql/query/index.d.ts +7 -0
  240. package/dist/src/databases/engines/mssql/query/index.d.ts.map +1 -0
  241. package/dist/src/databases/engines/mssql/query/index.test.d.ts +2 -0
  242. package/dist/src/databases/engines/mssql/query/index.test.d.ts.map +1 -0
  243. package/dist/src/databases/engines/mysql/auth.d.ts +9 -0
  244. package/dist/src/databases/engines/mysql/auth.d.ts.map +1 -0
  245. package/dist/src/databases/engines/mysql/auth.test.d.ts +2 -0
  246. package/dist/src/databases/engines/mysql/auth.test.d.ts.map +1 -0
  247. package/dist/src/databases/engines/mysql/connection.d.ts +14 -0
  248. package/dist/src/databases/engines/mysql/connection.d.ts.map +1 -0
  249. package/dist/src/databases/engines/mysql/format.d.ts +5 -0
  250. package/dist/src/databases/engines/mysql/format.d.ts.map +1 -0
  251. package/dist/src/databases/engines/mysql/getStructure.d.ts +48 -0
  252. package/dist/src/databases/engines/mysql/getStructure.d.ts.map +1 -0
  253. package/dist/src/databases/engines/mysql/getViews.d.ts +7 -0
  254. package/dist/src/databases/engines/mysql/getViews.d.ts.map +1 -0
  255. package/dist/src/databases/engines/mysql/query/index.d.ts +7 -0
  256. package/dist/src/databases/engines/mysql/query/index.d.ts.map +1 -0
  257. package/dist/src/databases/engines/mysql/query/index.test.d.ts +2 -0
  258. package/dist/src/databases/engines/mysql/query/index.test.d.ts.map +1 -0
  259. package/dist/src/databases/engines/postgresql/auth.d.ts +9 -0
  260. package/dist/src/databases/engines/postgresql/auth.d.ts.map +1 -0
  261. package/dist/src/databases/engines/postgresql/auth.test.d.ts +2 -0
  262. package/dist/src/databases/engines/postgresql/auth.test.d.ts.map +1 -0
  263. package/dist/src/databases/engines/postgresql/connection.d.ts +14 -0
  264. package/dist/src/databases/engines/postgresql/connection.d.ts.map +1 -0
  265. package/dist/src/databases/engines/postgresql/format.d.ts +5 -0
  266. package/dist/src/databases/engines/postgresql/format.d.ts.map +1 -0
  267. package/dist/src/databases/engines/postgresql/getStructure.d.ts +48 -0
  268. package/dist/src/databases/engines/postgresql/getStructure.d.ts.map +1 -0
  269. package/dist/src/databases/engines/postgresql/getViews.d.ts +7 -0
  270. package/dist/src/databases/engines/postgresql/getViews.d.ts.map +1 -0
  271. package/dist/src/databases/engines/postgresql/query/index.d.ts +7 -0
  272. package/dist/src/databases/engines/postgresql/query/index.d.ts.map +1 -0
  273. package/dist/src/databases/engines/postgresql/query/index.test.d.ts +2 -0
  274. package/dist/src/databases/engines/postgresql/query/index.test.d.ts.map +1 -0
  275. package/dist/src/databases/engines/shared/claims.d.ts +2 -0
  276. package/dist/src/databases/engines/shared/claims.d.ts.map +1 -0
  277. package/dist/src/databases/engines/shared/types.d.ts +8 -0
  278. package/dist/src/databases/engines/shared/types.d.ts.map +1 -0
  279. package/dist/src/databases/high-level-operations.d.ts +146 -0
  280. package/dist/src/databases/high-level-operations.d.ts.map +1 -0
  281. package/dist/src/databases/high-level-operations.test.d.ts +2 -0
  282. package/dist/src/databases/high-level-operations.test.d.ts.map +1 -0
  283. package/dist/src/databases/index.d.ts +8 -0
  284. package/dist/src/databases/index.d.ts.map +1 -0
  285. package/dist/src/databases/metadata/structure.d.ts +56 -0
  286. package/dist/src/databases/metadata/structure.d.ts.map +1 -0
  287. package/dist/src/databases/schemaBuilder/convert.d.ts +2 -0
  288. package/dist/src/databases/schemaBuilder/convert.d.ts.map +1 -0
  289. package/dist/src/databases/schemaBuilder/generateCreateTable/index.d.ts +15 -0
  290. package/dist/src/databases/schemaBuilder/generateCreateTable/index.d.ts.map +1 -0
  291. package/dist/src/databases/schemaBuilder/generateCreateTable/index.test.d.ts +2 -0
  292. package/dist/src/databases/schemaBuilder/generateCreateTable/index.test.d.ts.map +1 -0
  293. package/dist/src/databases/schemaBuilder/generateCreateView/index.d.ts +18 -0
  294. package/dist/src/databases/schemaBuilder/generateCreateView/index.d.ts.map +1 -0
  295. package/dist/src/databases/schemaBuilder/generateInsert/index.d.ts +8 -0
  296. package/dist/src/databases/schemaBuilder/generateInsert/index.d.ts.map +1 -0
  297. package/dist/src/databases/schemaBuilder/generateInsert/index.test.d.ts +2 -0
  298. package/dist/src/databases/schemaBuilder/generateInsert/index.test.d.ts.map +1 -0
  299. package/dist/src/databases/schemaBuilder/generateSchemaCreation/index.d.ts +7 -0
  300. package/dist/src/databases/schemaBuilder/generateSchemaCreation/index.d.ts.map +1 -0
  301. package/dist/src/databases/schemaBuilder/generateSchemaCreation/index.test.d.ts +2 -0
  302. package/dist/src/databases/schemaBuilder/generateSchemaCreation/index.test.d.ts.map +1 -0
  303. package/dist/src/databases/schemaBuilder/mssqlToPostgres/convertView.d.ts +2 -0
  304. package/dist/src/databases/schemaBuilder/mssqlToPostgres/convertView.d.ts.map +1 -0
  305. package/dist/src/databases/schemaBuilder/utils.d.ts +8 -0
  306. package/dist/src/databases/schemaBuilder/utils.d.ts.map +1 -0
  307. package/dist/src/databases/sqlTypeUtils.d.ts +24 -0
  308. package/dist/src/databases/sqlTypeUtils.d.ts.map +1 -0
  309. package/dist/src/databases/sqlTypeUtils.test.d.ts +2 -0
  310. package/dist/src/databases/sqlTypeUtils.test.d.ts.map +1 -0
  311. package/dist/src/databases/transformers/data-transformers.d.ts +215 -0
  312. package/dist/src/databases/transformers/data-transformers.d.ts.map +1 -0
  313. package/dist/src/databases/transformers/data-transformers.test.d.ts +2 -0
  314. package/dist/src/databases/transformers/data-transformers.test.d.ts.map +1 -0
  315. package/dist/src/databases/transformers/genResolverName.d.ts +2 -0
  316. package/dist/src/databases/transformers/genResolverName.d.ts.map +1 -0
  317. package/dist/src/databases/transformers/genResolverName.test.d.ts +2 -0
  318. package/dist/src/databases/transformers/genResolverName.test.d.ts.map +1 -0
  319. package/dist/src/index.d.ts +139 -0
  320. package/dist/src/index.d.ts.map +1 -0
  321. package/dist/src/logging/index.d.ts +21 -0
  322. package/dist/src/logging/index.d.ts.map +1 -0
  323. package/dist/src/queues/kafka.d.ts +22 -0
  324. package/dist/src/queues/kafka.d.ts.map +1 -0
  325. package/dist/src/queues/rabbitmq.d.ts +34 -0
  326. package/dist/src/queues/rabbitmq.d.ts.map +1 -0
  327. package/dist/src/queues/rabbitmq.test.d.ts +2 -0
  328. package/dist/src/queues/rabbitmq.test.d.ts.map +1 -0
  329. package/dist/src/remoteREST/index.d.ts +13 -0
  330. package/dist/src/remoteREST/index.d.ts.map +1 -0
  331. package/dist/src/remoteREST/parse.d.ts +8 -0
  332. package/dist/src/remoteREST/parse.d.ts.map +1 -0
  333. package/dist/src/remoteREST/parse.test.d.ts +2 -0
  334. package/dist/src/remoteREST/parse.test.d.ts.map +1 -0
  335. package/dist/src/remoteREST/proxy.d.ts +6 -0
  336. package/dist/src/remoteREST/proxy.d.ts.map +1 -0
  337. package/dist/src/remoteREST/proxy.test.d.ts +2 -0
  338. package/dist/src/remoteREST/proxy.test.d.ts.map +1 -0
  339. package/dist/src/remoteREST/transform.d.ts +8 -0
  340. package/dist/src/remoteREST/transform.d.ts.map +1 -0
  341. package/dist/src/remoteREST/transform.test.d.ts +2 -0
  342. package/dist/src/remoteREST/transform.test.d.ts.map +1 -0
  343. package/dist/src/remoteREST/types.d.ts +37 -0
  344. package/dist/src/remoteREST/types.d.ts.map +1 -0
  345. package/dist/src/remoteSchemas/index.d.ts +13 -0
  346. package/dist/src/remoteSchemas/index.d.ts.map +1 -0
  347. package/dist/src/remoteSchemas/introspect.d.ts +7 -0
  348. package/dist/src/remoteSchemas/introspect.d.ts.map +1 -0
  349. package/dist/src/remoteSchemas/introspect.test.d.ts +2 -0
  350. package/dist/src/remoteSchemas/introspect.test.d.ts.map +1 -0
  351. package/dist/src/remoteSchemas/proxy.d.ts +7 -0
  352. package/dist/src/remoteSchemas/proxy.d.ts.map +1 -0
  353. package/dist/src/remoteSchemas/proxy.test.d.ts +2 -0
  354. package/dist/src/remoteSchemas/proxy.test.d.ts.map +1 -0
  355. package/dist/src/remoteSchemas/transform.d.ts +9 -0
  356. package/dist/src/remoteSchemas/transform.d.ts.map +1 -0
  357. package/dist/src/remoteSchemas/transform.test.d.ts +2 -0
  358. package/dist/src/remoteSchemas/transform.test.d.ts.map +1 -0
  359. package/dist/src/remoteSchemas/types.d.ts +41 -0
  360. package/dist/src/remoteSchemas/types.d.ts.map +1 -0
  361. package/dist/src/singletons/ai.d.ts +25 -0
  362. package/dist/src/singletons/ai.d.ts.map +1 -0
  363. package/dist/src/singletons/ai.test.d.ts +2 -0
  364. package/dist/src/singletons/ai.test.d.ts.map +1 -0
  365. package/dist/src/singletons/authentication.d.ts +4 -0
  366. package/dist/src/singletons/authentication.d.ts.map +1 -0
  367. package/dist/src/singletons/cache/index.d.ts +5 -0
  368. package/dist/src/singletons/cache/index.d.ts.map +1 -0
  369. package/dist/src/singletons/cache/lruCacheStore.d.ts +12 -0
  370. package/dist/src/singletons/cache/lruCacheStore.d.ts.map +1 -0
  371. package/dist/src/singletons/cache/lruCacheStore.test.d.ts +2 -0
  372. package/dist/src/singletons/cache/lruCacheStore.test.d.ts.map +1 -0
  373. package/dist/src/singletons/cache/redisCacheStore.d.ts +16 -0
  374. package/dist/src/singletons/cache/redisCacheStore.d.ts.map +1 -0
  375. package/dist/src/singletons/cache/redisClient.d.ts +3 -0
  376. package/dist/src/singletons/cache/redisClient.d.ts.map +1 -0
  377. package/dist/src/singletons/cache/registry.d.ts +7 -0
  378. package/dist/src/singletons/cache/registry.d.ts.map +1 -0
  379. package/dist/src/singletons/cache/registry.test.d.ts +2 -0
  380. package/dist/src/singletons/cache/registry.test.d.ts.map +1 -0
  381. package/dist/src/singletons/cache/types.d.ts +8 -0
  382. package/dist/src/singletons/cache/types.d.ts.map +1 -0
  383. package/dist/src/singletons/cron.d.ts +69 -0
  384. package/dist/src/singletons/cron.d.ts.map +1 -0
  385. package/dist/src/singletons/databases.d.ts +27 -0
  386. package/dist/src/singletons/databases.d.ts.map +1 -0
  387. package/dist/src/singletons/databases.test.d.ts +2 -0
  388. package/dist/src/singletons/databases.test.d.ts.map +1 -0
  389. package/dist/src/singletons/env.d.ts +494 -0
  390. package/dist/src/singletons/env.d.ts.map +1 -0
  391. package/dist/src/singletons/queues.d.ts +17 -0
  392. package/dist/src/singletons/queues.d.ts.map +1 -0
  393. package/dist/src/subscriptions/index.d.ts +4 -0
  394. package/dist/src/subscriptions/index.d.ts.map +1 -0
  395. package/dist/src/subscriptions/strategies/database.d.ts +12 -0
  396. package/dist/src/subscriptions/strategies/database.d.ts.map +1 -0
  397. package/dist/src/subscriptions/strategies/index.d.ts +12 -0
  398. package/dist/src/subscriptions/strategies/index.d.ts.map +1 -0
  399. package/dist/src/subscriptions/strategies/queue.d.ts +11 -0
  400. package/dist/src/subscriptions/strategies/queue.d.ts.map +1 -0
  401. package/dist/src/subscriptions/types.d.ts +67 -0
  402. package/dist/src/subscriptions/types.d.ts.map +1 -0
  403. package/dist/src/subscriptions/utils/polling.d.ts +17 -0
  404. package/dist/src/subscriptions/utils/polling.d.ts.map +1 -0
  405. package/dist/src/types/common.d.ts +44 -0
  406. package/dist/src/types/common.d.ts.map +1 -0
  407. package/dist/src/types/configuration.d.ts +28 -0
  408. package/dist/src/types/configuration.d.ts.map +1 -0
  409. package/dist/src/types/db.d.ts +43 -0
  410. package/dist/src/types/db.d.ts.map +1 -0
  411. package/dist/src/types/env.d.ts +2302 -0
  412. package/dist/src/types/env.d.ts.map +1 -0
  413. package/dist/src/types/env.test.d.ts +2 -0
  414. package/dist/src/types/env.test.d.ts.map +1 -0
  415. package/dist/src/types/resolver.d.ts +121 -0
  416. package/dist/src/types/resolver.d.ts.map +1 -0
  417. package/dist/src/types/zod/ai.d.ts +6 -0
  418. package/dist/src/types/zod/ai.d.ts.map +1 -0
  419. package/dist/src/types/zod/auth.d.ts +76 -0
  420. package/dist/src/types/zod/auth.d.ts.map +1 -0
  421. package/dist/src/types/zod/configuration.d.ts +1278 -0
  422. package/dist/src/types/zod/configuration.d.ts.map +1 -0
  423. package/dist/src/types/zod/configuration.test.d.ts +2 -0
  424. package/dist/src/types/zod/configuration.test.d.ts.map +1 -0
  425. package/dist/src/types/zod/cron.d.ts +32 -0
  426. package/dist/src/types/zod/cron.d.ts.map +1 -0
  427. package/dist/src/types/zod/db.d.ts +441 -0
  428. package/dist/src/types/zod/db.d.ts.map +1 -0
  429. package/dist/src/types/zod/db.test.d.ts +2 -0
  430. package/dist/src/types/zod/db.test.d.ts.map +1 -0
  431. package/dist/src/types/zod/mcp.d.ts +6 -0
  432. package/dist/src/types/zod/mcp.d.ts.map +1 -0
  433. package/dist/src/types/zod/operation.d.ts +9 -0
  434. package/dist/src/types/zod/operation.d.ts.map +1 -0
  435. package/dist/src/types/zod/queue.d.ts +656 -0
  436. package/dist/src/types/zod/queue.d.ts.map +1 -0
  437. package/dist/src/types/zod/queue.test.d.ts +2 -0
  438. package/dist/src/types/zod/queue.test.d.ts.map +1 -0
  439. package/dist/src/types/zod/remoteREST.d.ts +6 -0
  440. package/dist/src/types/zod/remoteREST.d.ts.map +1 -0
  441. package/dist/src/types/zod/remoteSchema.d.ts +6 -0
  442. package/dist/src/types/zod/remoteSchema.d.ts.map +1 -0
  443. package/dist/src/utils/benchmark.d.ts +2 -0
  444. package/dist/src/utils/benchmark.d.ts.map +1 -0
  445. package/dist/src/utils/event-emitter.d.ts +19 -0
  446. package/dist/src/utils/event-emitter.d.ts.map +1 -0
  447. package/dist/src/utils/responses.d.ts +19 -0
  448. package/dist/src/utils/responses.d.ts.map +1 -0
  449. package/dist/src/utils/responses.test.d.ts +2 -0
  450. package/dist/src/utils/responses.test.d.ts.map +1 -0
  451. package/dist/src/utils/safeJSONParse.d.ts +2 -0
  452. package/dist/src/utils/safeJSONParse.d.ts.map +1 -0
  453. package/dist/src/utils/selection.d.ts +3 -0
  454. package/dist/src/utils/selection.d.ts.map +1 -0
  455. package/dist/src/utils/selection.test.d.ts +2 -0
  456. package/dist/src/utils/selection.test.d.ts.map +1 -0
  457. package/dist/src/utils/sessionVariables.d.ts +47 -0
  458. package/dist/src/utils/sessionVariables.d.ts.map +1 -0
  459. package/dist/src/utils/sessionVariables.test.d.ts +2 -0
  460. package/dist/src/utils/sessionVariables.test.d.ts.map +1 -0
  461. package/dist/src/utils/writeSchema.d.ts +3 -0
  462. package/dist/src/utils/writeSchema.d.ts.map +1 -0
  463. package/dist/standalone.d.ts +3 -0
  464. package/dist/standalone.d.ts.map +1 -0
  465. package/dist/tsconfig.tsbuildinfo +1 -0
  466. package/package.json +119 -0
  467. package/playgrounds/console/index.html +25 -0
  468. package/playgrounds/graphiql/index.html +1144 -0
  469. package/playgrounds/scalar/index.html +19 -0
  470. package/src/ai/agent/agent.ts +222 -0
  471. package/src/ai/agent/index.ts +2 -0
  472. package/src/ai/agent/providers/anthropic.ts +113 -0
  473. package/src/ai/agent/providers/index.ts +62 -0
  474. package/src/ai/agent/providers/ollama.ts +128 -0
  475. package/src/ai/agent/providers/openai.ts +100 -0
  476. package/src/ai/agent/types.ts +65 -0
  477. package/src/ai/index.ts +8 -0
  478. package/src/ai/mcp/create-server.ts +444 -0
  479. package/src/ai/mcp/index.ts +80 -0
  480. package/src/ai/mcp/instructions.ts +103 -0
  481. package/src/ai/tools/agent.ts +111 -0
  482. package/src/ai/tools/core.ts +486 -0
  483. package/src/ai/tools/query-data.ts +109 -0
  484. package/src/analyzeQuery/analyzers/fragmentAnalyzer.ts +29 -0
  485. package/src/analyzeQuery/analyzers/operationAnalyzer.ts +50 -0
  486. package/src/analyzeQuery/analyzers/selectionAnalyzer.ts +135 -0
  487. package/src/analyzeQuery/analyzers/variableAnalyzer.ts +17 -0
  488. package/src/analyzeQuery/depthLimit.ts +124 -0
  489. package/src/analyzeQuery/directiveUtils.ts +99 -0
  490. package/src/analyzeQuery/index.ts +66 -0
  491. package/src/analyzeQuery/resolveVariables.ts +394 -0
  492. package/src/analyzeQuery/typeUtils.ts +47 -0
  493. package/src/analyzeQuery/types.ts +57 -0
  494. package/src/analyzeQuery/valueExtractors.ts +96 -0
  495. package/src/authentication/duration.ts +50 -0
  496. package/src/authentication/index.ts +34 -0
  497. package/src/authentication/jwt.ts +220 -0
  498. package/src/authentication/paseto.ts +256 -0
  499. package/src/authentication/tokenRepository.ts +75 -0
  500. package/src/authentication/types.ts +78 -0
  501. package/src/cli/seedAuth.ts +51 -0
  502. package/src/cli/seedAuthArgs.ts +50 -0
  503. package/src/config/helpers/cronHelper.ts +29 -0
  504. package/src/config/helpers/index.ts +8 -0
  505. package/src/config/helpers/operationHelper.ts +146 -0
  506. package/src/config/helpers/queueHelper.ts +27 -0
  507. package/src/config/index.ts +315 -0
  508. package/src/config/types/ai.ts +35 -0
  509. package/src/config/types/auth.ts +147 -0
  510. package/src/config/types/configuration.ts +69 -0
  511. package/src/config/types/cron.ts +140 -0
  512. package/src/config/types/db.ts +256 -0
  513. package/src/config/types/index.ts +129 -0
  514. package/src/config/types/operation.ts +253 -0
  515. package/src/config/types/queue.ts +172 -0
  516. package/src/config/types/remote-rest.ts +28 -0
  517. package/src/config/types/remote-schema.ts +39 -0
  518. package/src/config/types/virtual-columns.ts +157 -0
  519. package/src/configuration/getSchemas/index.ts +82 -0
  520. package/src/configuration/getSchemas/mergeEntities/index.ts +221 -0
  521. package/src/configuration/getSchemas/type-definition-generator/index.ts +511 -0
  522. package/src/configuration/gql/buildExecute.ts +54 -0
  523. package/src/configuration/gql/gqlAuthOperations.ts +150 -0
  524. package/src/configuration/gql/handleGraphQLRequestFactory.ts +415 -0
  525. package/src/configuration/gql/handleGraphQLSubscriptionFactory.ts +249 -0
  526. package/src/configuration/index.ts +138 -0
  527. package/src/configuration/rest/generateOpenAPI.ts +361 -0
  528. package/src/configuration/rest/handleRESTRequestFactory.ts +335 -0
  529. package/src/configuration/rest/index.ts +167 -0
  530. package/src/configuration/rest/openApiErrors.ts +106 -0
  531. package/src/console/api.ts +270 -0
  532. package/src/cron/index.ts +251 -0
  533. package/src/databases/auth/auth-operations.ts +36 -0
  534. package/src/databases/auth/password.ts +4 -0
  535. package/src/databases/common.ts +642 -0
  536. package/src/databases/core/executor.ts +97 -0
  537. package/src/databases/core/function-mapping.ts +176 -0
  538. package/src/databases/core/identifier.ts +8 -0
  539. package/src/databases/core/query-builder.ts +47 -0
  540. package/src/databases/directives.ts +112 -0
  541. package/src/databases/engines/mssql/auth.ts +112 -0
  542. package/src/databases/engines/mssql/connection.ts +151 -0
  543. package/src/databases/engines/mssql/format.ts +23 -0
  544. package/src/databases/engines/mssql/getStructure.ts +112 -0
  545. package/src/databases/engines/mssql/getViews.ts +17 -0
  546. package/src/databases/engines/mssql/query/index.ts +306 -0
  547. package/src/databases/engines/mysql/auth.ts +100 -0
  548. package/src/databases/engines/mysql/connection.ts +100 -0
  549. package/src/databases/engines/mysql/format.ts +23 -0
  550. package/src/databases/engines/mysql/getStructure.ts +116 -0
  551. package/src/databases/engines/mysql/getViews.ts +20 -0
  552. package/src/databases/engines/mysql/query/index.ts +291 -0
  553. package/src/databases/engines/postgresql/auth.ts +98 -0
  554. package/src/databases/engines/postgresql/connection.ts +99 -0
  555. package/src/databases/engines/postgresql/format.ts +23 -0
  556. package/src/databases/engines/postgresql/getStructure.ts +149 -0
  557. package/src/databases/engines/postgresql/getViews.ts +20 -0
  558. package/src/databases/engines/postgresql/query/index.ts +291 -0
  559. package/src/databases/engines/shared/claims.ts +26 -0
  560. package/src/databases/engines/shared/types.ts +7 -0
  561. package/src/databases/high-level-operations.ts +272 -0
  562. package/src/databases/index.ts +28 -0
  563. package/src/databases/metadata/structure.ts +12 -0
  564. package/src/databases/schemaBuilder/convert.ts +121 -0
  565. package/src/databases/schemaBuilder/generateCreateTable/index.ts +133 -0
  566. package/src/databases/schemaBuilder/generateCreateView/index.ts +101 -0
  567. package/src/databases/schemaBuilder/generateInsert/index.ts +47 -0
  568. package/src/databases/schemaBuilder/generateSchemaCreation/index.ts +29 -0
  569. package/src/databases/schemaBuilder/mssqlToPostgres/convertView.ts +47 -0
  570. package/src/databases/schemaBuilder/utils.ts +17 -0
  571. package/src/databases/sqlTypeUtils.ts +91 -0
  572. package/src/databases/transformers/data-transformers.ts +128 -0
  573. package/src/databases/transformers/genResolverName.ts +18 -0
  574. package/src/index.ts +461 -0
  575. package/src/logging/index.ts +69 -0
  576. package/src/queues/kafka.ts +409 -0
  577. package/src/queues/rabbitmq.ts +331 -0
  578. package/src/remoteREST/index.ts +46 -0
  579. package/src/remoteREST/parse.ts +68 -0
  580. package/src/remoteREST/proxy.ts +92 -0
  581. package/src/remoteREST/transform.ts +121 -0
  582. package/src/remoteREST/types.ts +38 -0
  583. package/src/remoteSchemas/index.ts +48 -0
  584. package/src/remoteSchemas/introspect.ts +44 -0
  585. package/src/remoteSchemas/proxy.ts +146 -0
  586. package/src/remoteSchemas/transform.ts +210 -0
  587. package/src/remoteSchemas/types.ts +43 -0
  588. package/src/singletons/ai.ts +91 -0
  589. package/src/singletons/authentication.ts +13 -0
  590. package/src/singletons/cache/index.ts +4 -0
  591. package/src/singletons/cache/lruCacheStore.ts +34 -0
  592. package/src/singletons/cache/redisCacheStore.ts +81 -0
  593. package/src/singletons/cache/redisClient.ts +12 -0
  594. package/src/singletons/cache/registry.ts +51 -0
  595. package/src/singletons/cache/types.ts +7 -0
  596. package/src/singletons/cron.ts +21 -0
  597. package/src/singletons/databases.ts +68 -0
  598. package/src/singletons/env.ts +3 -0
  599. package/src/singletons/queues.ts +101 -0
  600. package/src/subscriptions/index.ts +20 -0
  601. package/src/subscriptions/strategies/database.ts +68 -0
  602. package/src/subscriptions/strategies/index.ts +38 -0
  603. package/src/subscriptions/strategies/queue.ts +61 -0
  604. package/src/subscriptions/types.ts +74 -0
  605. package/src/subscriptions/utils/polling.ts +119 -0
  606. package/src/types/common.ts +57 -0
  607. package/src/types/configuration.ts +52 -0
  608. package/src/types/db.ts +87 -0
  609. package/src/types/env.ts +137 -0
  610. package/src/types/resolver.ts +181 -0
  611. package/src/types/zod/ai.ts +8 -0
  612. package/src/types/zod/auth.ts +96 -0
  613. package/src/types/zod/configuration.ts +46 -0
  614. package/src/types/zod/cron.ts +35 -0
  615. package/src/types/zod/db.ts +146 -0
  616. package/src/types/zod/mcp.ts +8 -0
  617. package/src/types/zod/operation.ts +37 -0
  618. package/src/types/zod/queue.ts +182 -0
  619. package/src/types/zod/remoteREST.ts +8 -0
  620. package/src/types/zod/remoteSchema.ts +11 -0
  621. package/src/utils/benchmark.ts +13 -0
  622. package/src/utils/event-emitter.ts +217 -0
  623. package/src/utils/responses.ts +42 -0
  624. package/src/utils/safeJSONParse.ts +10 -0
  625. package/src/utils/selection.ts +35 -0
  626. package/src/utils/sessionVariables.ts +131 -0
  627. package/src/utils/writeSchema.ts +13 -0
  628. package/standalone.ts +32 -0
@@ -0,0 +1,139 @@
1
+ import type { BunRequest } from "bun";
2
+ import type { Env } from "./types/env";
3
+ import { configureLogging } from "./logging";
4
+ export { configureLogging };
5
+ type RouteHandler = Response | ((req: BunRequest, server: Bun.Server<unknown>) => Response | Promise<Response | undefined>);
6
+ type RoutesMap = Record<string, RouteHandler | Record<string, RouteHandler>>;
7
+ /**
8
+ * Run GraphQL queries in-process against a configuration, without standing up
9
+ * an HTTP server. Performs the same boot as {@link createBunServer} minus the
10
+ * route / websocket / queue / cron layer, then returns an `execute` function.
11
+ *
12
+ * `execute(query, variables?, opts?)` runs the same introspection / no-data /
13
+ * validation / dispatch pipeline as the `/graphql` endpoint. It bypasses auth:
14
+ * `opts.role` selects the role (defaults to the superadmin role — full
15
+ * privileges) and there is no token verification. Because no `BunRequest`
16
+ * exists, request-dependent features (operation `init`/`beforeRequest` hooks
17
+ * and header-derived session variables) do not run.
18
+ *
19
+ * @param env - Resolved env-shaped config (`Env`); same shape the server takes.
20
+ * The configured token strategy's keys are still required.
21
+ * @returns `{ execute, roles, close, logger }` — call `close()` to release
22
+ * database connections.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * import { createGraphQLEngine } from "@graphoria/server";
27
+ *
28
+ * const { execute, close } = await createGraphQLEngine({
29
+ * ...process.env,
30
+ * configuration: "./graphoria.ts",
31
+ * } as Env);
32
+ *
33
+ * console.log(await execute("{ __typename }"));
34
+ * await close();
35
+ * ```
36
+ */
37
+ export declare const createGraphQLEngine: (options?: Partial<Env>) => Promise<{
38
+ execute: (query: string, variables?: Record<string, unknown>, opts?: import("./configuration/gql/buildExecute").ExecuteOptions) => Promise<{
39
+ data: any;
40
+ } | {
41
+ errors: {
42
+ message: string;
43
+ locations: readonly import("graphql").SourceLocation[] | undefined;
44
+ }[];
45
+ }>;
46
+ roles: string[];
47
+ close: () => Promise<void>;
48
+ logger: (name: string) => import("pino").Logger;
49
+ }>;
50
+ /**
51
+ * Build the inputs to `Bun.serve()` without actually starting the server.
52
+ * Wraps {@link createGraphQLServer} and packages the result as
53
+ * `{ serverHandlers, options, prefixes }` where `serverHandlers` is the
54
+ * literal argument shape `Bun.serve` expects.
55
+ *
56
+ * Use this when the caller wants to start the server itself (custom
57
+ * lifecycle, multiple ports, integration tests).
58
+ *
59
+ * @param options - Partial overrides merged on top of `env` defaults.
60
+ * @returns `{ serverHandlers, options: Env, prefixes, logger, execute }` —
61
+ * `execute` runs a query in-process (see {@link createGraphQLEngine}).
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * import { serve } from "bun";
66
+ * import { createHandlers } from "@graphoria/server";
67
+ *
68
+ * const { serverHandlers, logger } = await createHandlers({ port: 4000 });
69
+ * logger("my-app").info("starting");
70
+ * serve(serverHandlers);
71
+ * ```
72
+ */
73
+ export declare function createHandlers(options?: Partial<Env>): Promise<{
74
+ serverHandlers: {
75
+ port: number;
76
+ websocket: Bun.WebSocketHandler<unknown>;
77
+ routes: RoutesMap;
78
+ };
79
+ options: Env;
80
+ prefixes: {
81
+ graphql: string;
82
+ graphiql: string;
83
+ scalar: string;
84
+ rest: string;
85
+ openapi: string;
86
+ console: string;
87
+ };
88
+ logger: (name: string) => import("pino").Logger;
89
+ execute: (query: string, variables?: Record<string, unknown>, opts?: import("./configuration/gql/buildExecute").ExecuteOptions) => Promise<{
90
+ data: any;
91
+ } | {
92
+ errors: {
93
+ message: string;
94
+ locations: readonly import("graphql").SourceLocation[] | undefined;
95
+ }[];
96
+ }>;
97
+ }>;
98
+ /**
99
+ * One-call setup: build the handlers and start a `Bun.serve` instance.
100
+ * The returned `server` is the live `Bun.Server` — call `server.stop()` to
101
+ * shut it down. `prefixes` is the resolved set of route prefixes (graphql,
102
+ * rest, openapi, graphiql, scalar) for client-side reference.
103
+ *
104
+ * @param options - Partial overrides merged on top of `env` defaults.
105
+ * @returns `{ server, prefixes, logger, execute }` — `logger(name)` mints a
106
+ * component-named logger sharing the server's pino root (and any
107
+ * {@link configureLogging} / `env.logger` override); `execute` runs a query
108
+ * in-process against the same schema (see {@link createGraphQLEngine}).
109
+ *
110
+ * @example
111
+ * ```ts
112
+ * import { createBunServer } from "@graphoria/server";
113
+ *
114
+ * const { server, prefixes, logger } = await createBunServer();
115
+ * const log = logger("my-app");
116
+ * log.info(`GraphQL: http://localhost:${server.port}${prefixes.graphql}`);
117
+ * ```
118
+ */
119
+ export declare function createBunServer(options?: Partial<Env>): Promise<{
120
+ server: Bun.Server<unknown>;
121
+ prefixes: {
122
+ graphql: string;
123
+ graphiql: string;
124
+ scalar: string;
125
+ rest: string;
126
+ openapi: string;
127
+ console: string;
128
+ };
129
+ logger: (name: string) => import("pino").Logger;
130
+ execute: (query: string, variables?: Record<string, unknown>, opts?: import("./configuration/gql/buildExecute").ExecuteOptions) => Promise<{
131
+ data: any;
132
+ } | {
133
+ errors: {
134
+ message: string;
135
+ locations: readonly import("graphql").SourceLocation[] | undefined;
136
+ }[];
137
+ }>;
138
+ }>;
139
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAkBvC,OAAO,EAAU,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,KAAK,YAAY,GACb,QAAQ,GACR,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC;AAEjG,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AAuE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,mBAAmB,GAAU,UAAU,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;EAc/D,CAAC;AAwOF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;GAoB1D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;GAa3D"}
@@ -0,0 +1,21 @@
1
+ import pino from "pino";
2
+ /**
3
+ * Inject a custom pino logger or options BEFORE the first `logger` call.
4
+ * First call wins — subsequent calls are ignored.
5
+ *
6
+ * @example
7
+ * // Pass a pre-configured pino instance
8
+ * configureLogging(pino({ level: "trace", redact: ["req.headers.authorization"] }));
9
+ *
10
+ * @example
11
+ * // Pass pino options (no defaults applied — you own full config)
12
+ * configureLogging({ level: "trace", transport: { target: "pino/file", options: { destination: "/var/log/app.log" } } });
13
+ */
14
+ export declare const configureLogging: (loggerOrOptions: pino.Logger | pino.LoggerOptions) => void;
15
+ /**
16
+ * Returns (or creates) a pino logger for the given component name.
17
+ * Use `logger.child({ ... })` to add per-instance context.
18
+ */
19
+ export declare const logger: (name: string) => pino.Logger;
20
+ export type { Logger } from "pino";
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logging/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AA+BxB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,GAAI,iBAAiB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,KAAG,IAQpF,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,KAAG,IAAI,CAAC,MAO1C,CAAC;AAEF,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { Consumer } from "kafkajs";
2
+ import type { KafkaConfig } from "../types/zod/queue";
3
+ export declare const startConsumer: (connectionName: string, name: string, topic: string, consumer: Consumer, _consumerGroup: string) => Promise<void>;
4
+ export type KafkaPublisher = {
5
+ name: string;
6
+ topic: string;
7
+ send: (message: string | object, key?: string) => Promise<boolean>;
8
+ };
9
+ export type KafkaConnectionManager = {
10
+ connect: () => Promise<void>;
11
+ getPublishers: () => Record<string, KafkaPublisher>;
12
+ isConnected: () => boolean;
13
+ cleanup: () => Promise<void>;
14
+ onPublishersChanged: (callback: () => void) => void;
15
+ };
16
+ export declare const startKafkaConnections: (queues: KafkaConfig[]) => Promise<{
17
+ managers: KafkaConnectionManager[];
18
+ publisherMap: () => Record<string, KafkaPublisher>;
19
+ sendMessage: (publisherName: string, message: string | object, key?: string) => Promise<boolean>;
20
+ cleanup: () => Promise<void>;
21
+ }>;
22
+ //# sourceMappingURL=kafka.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kafka.d.ts","sourceRoot":"","sources":["../../../src/queues/kafka.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAA6C,MAAM,SAAS,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA2CtD,eAAO,MAAM,aAAa,GACxB,gBAAgB,MAAM,EACtB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,UAAU,QAAQ,EAClB,gBAAgB,MAAM,kBAiBvB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACpE,CAAC;AAcF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,aAAa,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACpD,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACrD,CAAC;AAsPF,eAAO,MAAM,qBAAqB,GAAU,QAAQ,WAAW,EAAE;;;iCAsCrB,MAAM,WAAW,MAAM,GAAG,MAAM,QAAQ,MAAM;;EA6BzF,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { connect } from "amqplib";
2
+ import type { Channel } from "amqplib";
3
+ import type { RabbitMQConfig } from "../types/zod/queue";
4
+ export declare const startConsumer: (connectionName: string, name: string, queueName: string, channel: Channel, handler?: (message: unknown, context: {
5
+ cache: {
6
+ invalidate: (operationName: string, pattern?: Record<string, unknown>) => Promise<boolean>;
7
+ };
8
+ }) => Promise<void> | void) => Promise<void>;
9
+ export type RabbitMQPublisher = {
10
+ name: string;
11
+ routingKey: string;
12
+ exchangeName: string;
13
+ send: (message: string | object) => boolean;
14
+ };
15
+ export type RabbitMQQueue = RabbitMQConfig;
16
+ export type RabbitMQConnectionManager = {
17
+ connect: () => Promise<void>;
18
+ getPublishers: () => Record<string, RabbitMQPublisher>;
19
+ isConnected: () => boolean;
20
+ cleanup: () => Promise<void>;
21
+ onPublishersChanged: (callback: () => void) => void;
22
+ };
23
+ export type RabbitMQConnectionManagerOptions = {
24
+ connect?: typeof connect;
25
+ setTimeout?: typeof setTimeout;
26
+ };
27
+ export declare const createRabbitMQConnectionManager: (queueConfig: RabbitMQQueue, options?: RabbitMQConnectionManagerOptions) => RabbitMQConnectionManager;
28
+ export declare const startRabbitMQConnections: (queues: RabbitMQQueue[]) => Promise<{
29
+ managers: RabbitMQConnectionManager[];
30
+ publisherMap: () => Record<string, RabbitMQPublisher>;
31
+ sendMessage: (publisherName: string, message: string | object, _key?: string) => boolean;
32
+ cleanup: () => Promise<void>;
33
+ }>;
34
+ //# sourceMappingURL=rabbitmq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq.d.ts","sourceRoot":"","sources":["../../../src/queues/rabbitmq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,KAAK,EAAE,OAAO,EAAgC,MAAM,SAAS,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAuBzD,eAAO,MAAM,aAAa,GACxB,gBAAgB,MAAM,EACtB,MAAM,MAAM,EACZ,WAAW,MAAM,EACjB,SAAS,OAAO,EAChB,UAAU,CACR,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IACP,KAAK,EAAE;QACL,UAAU,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAC5F,CAAC;CACH,KACE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,kBA4B1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC;AAa3C,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,aAAa,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACvD,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,OAAO,CAAC,EAAE,OAAO,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,aAAa,aAAa,EAC1B,UAAS,gCAAqC,KAC7C,yBAwJF,CAAC;AAMF,eAAO,MAAM,wBAAwB,GAAU,QAAQ,aAAa,EAAE;;;iCAsChC,MAAM,WAAW,MAAM,GAAG,MAAM,SAAS,MAAM;;EA6BpF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rabbitmq.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq.test.d.ts","sourceRoot":"","sources":["../../../src/queues/rabbitmq.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import type { RemoteRESTConfig } from "../config";
2
+ import type { RemoteRESTResolved } from "./types";
3
+ /**
4
+ * Resolve a single remote REST API: parse spec → transform → produce RemoteRESTResolved
5
+ */
6
+ export declare const resolveRemoteREST: (config: RemoteRESTConfig) => Promise<RemoteRESTResolved>;
7
+ /**
8
+ * Resolve all enabled remote REST APIs in parallel.
9
+ * Returns an array of successfully resolved APIs; logs warnings for failures.
10
+ */
11
+ export declare const resolveRemoteRESTApis: (configs: RemoteRESTConfig[]) => Promise<RemoteRESTResolved[]>;
12
+ export type { RemoteRESTResolved } from "./types";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remoteREST/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAMlD;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAU,QAAQ,gBAAgB,KAAG,OAAO,CAAC,kBAAkB,CAG5F,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,gBAAgB,EAAE,KAC1B,OAAO,CAAC,kBAAkB,EAAE,CAsB9B,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { RemoteRESTConfig } from "../config";
2
+ import type { OpenAPIV3_1 } from "openapi-types";
3
+ /**
4
+ * Parse an OpenAPI spec from a remote URL or local file path.
5
+ * Supports both JSON and YAML formats.
6
+ */
7
+ export declare const parseRemoteOpenAPI: (config: RemoteRESTConfig) => Promise<OpenAPIV3_1.Document>;
8
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/remoteREST/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,gBAAgB,KACvB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAmC9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parse.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.test.d.ts","sourceRoot":"","sources":["../../../src/remoteREST/parse.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { RemoteRESTResolved, RemoteRESTRoute } from "./types";
2
+ /**
3
+ * Proxy a request to a remote REST API endpoint.
4
+ */
5
+ export declare const proxyRemoteRESTRequest: (route: RemoteRESTRoute, resolved: RemoteRESTResolved, clientRequest: Request, pathParams: Record<string, string>, queryString: string) => Promise<Response>;
6
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/remoteREST/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAwCnE;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,eAAe,EACtB,UAAU,kBAAkB,EAC5B,eAAe,OAAO,EACtB,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,aAAa,MAAM,KAClB,OAAO,CAAC,QAAQ,CA0ClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=proxy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.test.d.ts","sourceRoot":"","sources":["../../../src/remoteREST/proxy.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { RemoteRESTConfig } from "../config";
2
+ import type { OpenAPIV3_1 } from "openapi-types";
3
+ import type { RemoteRESTResolved } from "./types";
4
+ /**
5
+ * Transform a parsed OpenAPI spec into a RemoteRESTResolved with prefixed paths and schemas
6
+ */
7
+ export declare const transformRemoteREST: (spec: OpenAPIV3_1.Document, config: RemoteRESTConfig) => RemoteRESTResolved;
8
+ //# sourceMappingURL=transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/remoteREST/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,SAAS,CAAC;AA8CnE;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,WAAW,CAAC,QAAQ,EAC1B,QAAQ,gBAAgB,KACvB,kBAkEF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transform.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.test.d.ts","sourceRoot":"","sources":["../../../src/remoteREST/transform.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import type { RemoteRESTConfig } from "../config";
2
+ import type { OpenAPIV3_1 } from "openapi-types";
3
+ /**
4
+ * A single route extracted from a remote OpenAPI spec
5
+ */
6
+ export type RemoteRESTRoute = {
7
+ /** HTTP method (lowercase) */
8
+ method: string;
9
+ /** Original path from the spec (e.g. /users/{id}) */
10
+ originalPath: string;
11
+ /** Path with prefix (e.g. /payments/users/{id}) */
12
+ prefixedPath: string;
13
+ /** operationId from the spec, if present */
14
+ operationId?: string;
15
+ /** Human-readable description */
16
+ description?: string;
17
+ /** Tags from the spec */
18
+ tags?: string[];
19
+ };
20
+ /**
21
+ * Fully resolved remote REST API after spec parsing and transformation
22
+ */
23
+ export type RemoteRESTResolved = {
24
+ /** The original configuration */
25
+ config: RemoteRESTConfig;
26
+ /** Effective prefix (subpath under /rest) */
27
+ prefix: string;
28
+ /** Base URL for proxying requests */
29
+ baseUrl: string;
30
+ /** All routes extracted from the spec */
31
+ routes: RemoteRESTRoute[];
32
+ /** Prefixed OpenAPI paths for merging into the unified spec */
33
+ openApiPaths: Record<string, OpenAPIV3_1.PathItemObject>;
34
+ /** Prefixed component schemas for merging */
35
+ openApiSchemas: Record<string, OpenAPIV3_1.SchemaObject>;
36
+ };
37
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/remoteREST/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iCAAiC;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACzD,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;CAC1D,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { RemoteSchemaConfig } from "../config";
2
+ import type { RemoteSchemaResolved } from "./types";
3
+ /**
4
+ * Resolve a single remote schema: introspect → transform → produce RemoteSchemaResolved
5
+ */
6
+ export declare const resolveRemoteSchema: (config: RemoteSchemaConfig) => Promise<RemoteSchemaResolved>;
7
+ /**
8
+ * Resolve all enabled remote schemas in parallel.
9
+ * Returns an array of successfully resolved schemas; logs warnings for failures.
10
+ */
11
+ export declare const resolveRemoteSchemas: (configs: RemoteSchemaConfig[]) => Promise<RemoteSchemaResolved[]>;
12
+ export type { RemoteSchemaResolved } from "./types";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remoteSchemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAMpD;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,kBAAkB,KACzB,OAAO,CAAC,oBAAoB,CAG9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,kBAAkB,EAAE,KAC5B,OAAO,CAAC,oBAAoB,EAAE,CAsBhC,CAAC;AAEF,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { RemoteSchemaConfig } from "../config";
2
+ import type { GraphQLSchema } from "graphql";
3
+ /**
4
+ * Send an introspection query to a remote GraphQL endpoint and return the parsed schema.
5
+ */
6
+ export declare const introspectRemoteSchema: (config: RemoteSchemaConfig) => Promise<GraphQLSchema>;
7
+ //# sourceMappingURL=introspect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../../src/remoteSchemas/introspect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,SAAS,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,kBAAkB,KACzB,OAAO,CAAC,aAAa,CAiCvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=introspect.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspect.test.d.ts","sourceRoot":"","sources":["../../../src/remoteSchemas/introspect.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { SelectionAnalysis } from "../analyzeQuery/types";
2
+ import type { RemoteSchemaResolved } from "./types";
3
+ /**
4
+ * Execute a proxied GraphQL query/mutation against a remote schema endpoint.
5
+ */
6
+ export declare const proxyRemoteField: (field: SelectionAnalysis, remoteSchema: RemoteSchemaResolved, originalFieldName: string, variables: Record<string, unknown>, operationType: "query" | "mutation", clientRequest?: Request) => Promise<unknown>;
7
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/remoteSchemas/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA2FpD;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,iBAAiB,EACxB,cAAc,oBAAoB,EAClC,mBAAmB,MAAM,EACzB,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,eAAe,OAAO,GAAG,UAAU,EACnC,gBAAgB,OAAO,KACtB,OAAO,CAAC,OAAO,CA2CjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=proxy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.test.d.ts","sourceRoot":"","sources":["../../../src/remoteSchemas/proxy.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { RemoteSchemaConfig } from "../config";
2
+ import type { GraphQLSchema } from "graphql";
3
+ import type { RemoteSchemaResolved } from "./types";
4
+ /**
5
+ * Transform a remote GraphQL schema by applying a prefix to all types and fields.
6
+ * Returns a RemoteSchemaResolved containing the transformed SDL, field mappings, and prefix map.
7
+ */
8
+ export declare const transformRemoteSchema: (schema: GraphQLSchema, config: RemoteSchemaConfig) => RemoteSchemaResolved;
9
+ //# sourceMappingURL=transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/remoteSchemas/transform.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAIV,aAAa,EAEd,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAgC,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAuIlF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,aAAa,EACrB,QAAQ,kBAAkB,KACzB,oBAiDF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transform.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.test.d.ts","sourceRoot":"","sources":["../../../src/remoteSchemas/transform.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import type { RemoteSchemaConfig } from "../config";
2
+ /**
3
+ * A resolved remote query or mutation field from introspection
4
+ */
5
+ export type RemoteSchemaField = {
6
+ /** Original field name (without prefix) */
7
+ originalName: string;
8
+ /** Prefixed field name used in the merged schema */
9
+ prefixedName: string;
10
+ /** GraphQL SDL for this field (with arguments) in the merged schema */
11
+ sdl: string;
12
+ /** Whether this field is a query or mutation */
13
+ kind: "query" | "mutation";
14
+ };
15
+ /**
16
+ * Mapping from prefixed type name to original type name
17
+ */
18
+ export type PrefixMap = {
19
+ /** Map prefixed name → original name */
20
+ toOriginal: Record<string, string>;
21
+ /** Map original name → prefixed name */
22
+ toPrefixed: Record<string, string>;
23
+ };
24
+ /**
25
+ * Fully resolved remote schema after introspection and transformation
26
+ */
27
+ export type RemoteSchemaResolved = {
28
+ /** The original configuration */
29
+ config: RemoteSchemaConfig;
30
+ /** Effective prefix (with trailing underscore) */
31
+ prefix: string;
32
+ /** Transformed SDL type definitions (prefixed types, inputs, enums, etc.) */
33
+ typeDefsSDL: string;
34
+ /** Remote query fields (prefixed) */
35
+ queryFields: RemoteSchemaField[];
36
+ /** Remote mutation fields (prefixed) */
37
+ mutationFields: RemoteSchemaField[];
38
+ /** Type name prefix mapping */
39
+ prefixMap: PrefixMap;
40
+ };
41
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/remoteSchemas/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,iCAAiC;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,wCAAwC;IACxC,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,+BAA+B;IAC/B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type RoleEntities } from "../ai";
2
+ import type { AIConfig } from "../types/zod/ai";
3
+ /**
4
+ * Default system prompt: pins the agent to the list → describe → execute
5
+ * workflow and forbids fabrication. Overridable via `ai.systemPrompt`.
6
+ */
7
+ export declare const DEFAULT_AI_SYSTEM_PROMPT = "You are a database assistant for a Graphoria GraphQL API. Answer the user's question using ONLY the provided tools. Never fabricate, invent, or guess data.\n\nRequired workflow (STOP after step 3 \u2014 present results immediately):\n1. list_entities \u2014 find relevant tables (REQUIRES `kind` or `search`; search matches names AND descriptions, so try natural-language keywords).\n2. describe_entity \u2014 read the table's columns, the aggregateField signature, and the pre-built `examples` (list / filter / aggregate). Prefer copying an example over composing a query from scratch.\n3. query_data \u2014 run ONE query (pick aggregate OR list, not both). Then STOP and present the answer.\n\nFor counts, totals, grouping, breakdowns, or summaries: use query_data with operation \"aggregate\" and groupBy. Never fetch all rows and count client-side.\n\nAggregate shape (`key` is an object and must be sub-selected):\n\n query {\n <entity>_aggregate(groupBy: [<col>]) {\n key { <col> }\n count\n items { <fields> }\n }\n }\n\nCRITICAL: After query_data returns data, present the answer IMMEDIATELY. Do NOT call more tools. Do NOT re-query with a different operation. One query \u2192 present results \u2192 done. Use a Markdown table for grouped results.";
8
+ export declare const DEFAULT_AI_PROMPT_TEMPLATE = "Database-query request from the user:\n\n> {prompt}\n\nYou MUST follow this EXACT workflow \u2014 do NOT skip steps, do NOT answer before completing all steps:\n\nSTEP 1 \u2014 list_entities: Call with `kind` and/or `search` to find relevant tables. The result includes a `name` field (e.g. \"pg_public_contacts\"). MEMORIZE the `tableName` field (e.g. \"contacts\") \u2014 you will need it for step 3.\n\nSTEP 2 \u2014 describe_entity: Call using the EXACT `name` string from step 1 (do NOT shorten, transform, or guess it \u2014 \"pg_public_contacts\" is NOT \"contacts\"). The result contains the table's columns \u2014 copy the column names EXACTLY for step 3.\n\nSTEP 3 \u2014 query_data: Send a structured JSON query. Pick ONE operation \u2014 aggregate (for grouping/counts) OR list (for row data). Do NOT call both. The entity must be the EXACT resolverName from step 1 (e.g. \"pg_public_contacts\"). For aggregates, use operation \"aggregate\" with groupBy. ALWAYS include `\"filters\": { \"deleted_at\": { \"is_null\": true } }` unless the user asks for deleted data.\n\nSTEP 4 \u2014 STOP AND PRESENT: After query_data returns, present the answer IMMEDIATELY. Do NOT call more tools. Do NOT re-query. Format grouped results as a Markdown table. You are DONE after this step.\n\nCRITICAL RULES:\n- NEVER fabricate, invent, or guess query results. ONLY report data returned by query_data.\n- After getting data, STOP. Do not query again. One query_data call is enough.\n- Copy column names EXACTLY from describe_entity \u2014 do not guess or invent field names.\n- For aggregates: set `\"operation\": \"aggregate\"`, provide `\"groupBy\"` as an array of column names.\n- For lists: set `\"operation\": \"list\"`, provide `\"columns\"` as an array of column names.\n- The `entity` field is the EXACT resolverName from step 1 (e.g. \"pg_public_contacts\", NOT \"contacts\").\n- Filter operators: eq, neq, like, ilike, gt, gte, lt, lte, is_null. Use `{ \"is_null\": true }` for NULL checks.\n- If you are unsure about ANYTHING, call a tool. Do not guess.";
9
+ /**
10
+ * Build and store the agent, bound to the given role's schema (the agent's
11
+ * tools see exactly what that role can see). Called at boot when `ai.enabled`.
12
+ *
13
+ * Precedence for systemPrompt / promptTemplate:
14
+ * 1. Env-var override (`AI_SYSTEM_PROMPT` / `AI_PROMPT_TEMPLATE`)
15
+ * 2. Config-file value (`ai.systemPrompt`)
16
+ * 3. Built-in default
17
+ */
18
+ export declare const instantiateAI: (aiConfig: AIConfig, role: RoleEntities, envOverrides?: {
19
+ systemPrompt?: string;
20
+ promptTemplate?: string;
21
+ }) => void;
22
+ export declare const getAgent: () => ((prompt: string) => Promise<string>);
23
+ /** Test-only reset. */
24
+ export declare const resetAI: () => void;
25
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/singletons/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,owCAmBsL,CAAC;AAE5N,eAAO,MAAM,0BAA0B,ihEAsBwB,CAAC;AAIhE;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GACxB,UAAU,QAAQ,EAClB,MAAM,YAAY,EAClB,eAAe;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,KAChE,IAWF,CAAC;AAEF,eAAO,MAAM,QAAQ,QAAO,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAK/D,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,OAAO,QAAO,IAE1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ai.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.test.d.ts","sourceRoot":"","sources":["../../../src/singletons/ai.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { TokenService } from "../authentication/types";
2
+ export declare const getTokenService: () => TokenService;
3
+ export declare const setTokenService: (service: TokenService) => void;
4
+ //# sourceMappingURL=authentication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../../../src/singletons/authentication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAQ5D,eAAO,MAAM,eAAe,QAAO,YAA4B,CAAC;AAEhE,eAAO,MAAM,eAAe,GAAI,SAAS,YAAY,KAAG,IAEvD,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type { CacheStore } from "./types";
2
+ export { LruCacheStore } from "./lruCacheStore";
3
+ export { RedisCacheStore } from "./redisCacheStore";
4
+ export { InvalidationHelper, getCache, registerCache } from "./registry";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/singletons/cache/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { LRUCache } from "lru-cache";
2
+ import type { CacheStore } from "./types";
3
+ export declare class LruCacheStore implements CacheStore {
4
+ private cache;
5
+ constructor(options: LRUCache.Options<string, any, unknown>);
6
+ get(key: string): Promise<unknown | undefined>;
7
+ set(key: string, value: unknown): Promise<void>;
8
+ delete(key: string): Promise<void>;
9
+ clear(): Promise<void>;
10
+ keys(): Promise<string[]>;
11
+ }
12
+ //# sourceMappingURL=lruCacheStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lruCacheStore.d.ts","sourceRoot":"","sources":["../../../../src/singletons/cache/lruCacheStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,qBAAa,aAAc,YAAW,UAAU;IAE9C,OAAO,CAAC,KAAK,CAAwB;gBAGzB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;IAIrD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAI9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAGhC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lruCacheStore.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lruCacheStore.test.d.ts","sourceRoot":"","sources":["../../../../src/singletons/cache/lruCacheStore.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { CacheStore } from "./types";
2
+ export declare class RedisCacheStore implements CacheStore {
3
+ private prefix;
4
+ private trackingKey;
5
+ private ttlSeconds;
6
+ private client;
7
+ private log;
8
+ constructor(operationName: string, ttlMs?: number);
9
+ private fullKey;
10
+ get(key: string): Promise<unknown | undefined>;
11
+ set(key: string, value: unknown): Promise<void>;
12
+ delete(key: string): Promise<void>;
13
+ clear(): Promise<void>;
14
+ keys(): Promise<string[]>;
15
+ }
16
+ //# sourceMappingURL=redisCacheStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redisCacheStore.d.ts","sourceRoot":"","sources":["../../../../src/singletons/cache/redisCacheStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAK1C,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,GAAG,CAAyB;gBAExB,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAOjD,OAAO,CAAC,OAAO;IAKT,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAW9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAetB,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAQhC"}
@@ -0,0 +1,3 @@
1
+ import { RedisClient as ValkeyClient } from "bun";
2
+ export declare const getCacheRedisClient: () => InstanceType<typeof ValkeyClient>;
3
+ //# sourceMappingURL=redisClient.d.ts.map