@graphoria/server 0.2.0 → 0.2.2

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 (186) hide show
  1. package/dist/src/ai/agent/providers/ollama.d.ts.map +1 -1
  2. package/dist/src/ai/mcp/create-server.d.ts.map +1 -1
  3. package/dist/src/ai/mcp/index.d.ts +5 -2
  4. package/dist/src/ai/mcp/index.d.ts.map +1 -1
  5. package/dist/src/ai/tools/agent.d.ts.map +1 -1
  6. package/dist/src/ai/tools/core.d.ts.map +1 -1
  7. package/dist/src/ai/tools/query-data.d.ts +2 -2
  8. package/dist/src/ai/tools/query-data.d.ts.map +1 -1
  9. package/dist/src/analyzeQuery/analyzers/fragmentAnalyzer.d.ts.map +1 -1
  10. package/dist/src/analyzeQuery/analyzers/operationAnalyzer.d.ts.map +1 -1
  11. package/dist/src/analyzeQuery/analyzers/selectionAnalyzer.d.ts.map +1 -1
  12. package/dist/src/analyzeQuery/analyzers/variableAnalyzer.d.ts.map +1 -1
  13. package/dist/src/analyzeQuery/depthLimit.d.ts.map +1 -1
  14. package/dist/src/analyzeQuery/directiveUtils.d.ts.map +1 -1
  15. package/dist/src/analyzeQuery/resolveVariables.d.ts +17 -2
  16. package/dist/src/analyzeQuery/resolveVariables.d.ts.map +1 -1
  17. package/dist/src/analyzeQuery/typeUtils.d.ts.map +1 -1
  18. package/dist/src/analyzeQuery/valueExtractors.d.ts.map +1 -1
  19. package/dist/src/authentication/duration.d.ts.map +1 -1
  20. package/dist/src/authentication/index.d.ts.map +1 -1
  21. package/dist/src/authentication/jwt.d.ts.map +1 -1
  22. package/dist/src/authentication/paseto.d.ts.map +1 -1
  23. package/dist/src/authentication/tokenRepository.d.ts +2 -1
  24. package/dist/src/authentication/tokenRepository.d.ts.map +1 -1
  25. package/dist/src/cli/seedAuth.d.ts.map +1 -1
  26. package/dist/src/cli/seedAuthArgs.d.ts.map +1 -1
  27. package/dist/src/config/helpers/cronHelper.d.ts.map +1 -1
  28. package/dist/src/config/helpers/operationHelper.d.ts +1 -1
  29. package/dist/src/config/helpers/operationHelper.d.ts.map +1 -1
  30. package/dist/src/config/helpers/queueHelper.d.ts.map +1 -1
  31. package/dist/src/config/index.d.ts.map +1 -1
  32. package/dist/src/config/types/auth.d.ts +11 -5
  33. package/dist/src/config/types/auth.d.ts.map +1 -1
  34. package/dist/src/config/types/auth.test.d.ts +2 -0
  35. package/dist/src/config/types/auth.test.d.ts.map +1 -0
  36. package/dist/src/config/types/db.d.ts +36 -20
  37. package/dist/src/config/types/db.d.ts.map +1 -1
  38. package/dist/src/config/types/operation.d.ts +6 -6
  39. package/dist/src/config/types/queue.d.ts +4 -4
  40. package/dist/src/configuration/getSchemas/index.d.ts +109 -103
  41. package/dist/src/configuration/getSchemas/index.d.ts.map +1 -1
  42. package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts +59 -50
  43. package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts.map +1 -1
  44. package/dist/src/configuration/getSchemas/type-definition-generator/index.d.ts.map +1 -1
  45. package/dist/src/configuration/gql/buildExecute.d.ts.map +1 -1
  46. package/dist/src/configuration/gql/gqlAuthOperations.d.ts.map +1 -1
  47. package/dist/src/configuration/gql/handleGraphQLRequestFactory.d.ts.map +1 -1
  48. package/dist/src/configuration/gql/handleGraphQLSubscriptionFactory.d.ts.map +1 -1
  49. package/dist/src/configuration/index.d.ts +100 -95
  50. package/dist/src/configuration/index.d.ts.map +1 -1
  51. package/dist/src/configuration/rest/generateOpenAPI.d.ts.map +1 -1
  52. package/dist/src/configuration/rest/handleRESTRequestFactory.d.ts.map +1 -1
  53. package/dist/src/configuration/rest/index.d.ts.map +1 -1
  54. package/dist/src/configuration/rest/openApiErrors.d.ts.map +1 -1
  55. package/dist/src/configuration/rest/parseStringParams.d.ts +15 -0
  56. package/dist/src/configuration/rest/parseStringParams.d.ts.map +1 -0
  57. package/dist/src/configuration/rest/parseStringParams.test.d.ts +2 -0
  58. package/dist/src/configuration/rest/parseStringParams.test.d.ts.map +1 -0
  59. package/dist/src/console/api.d.ts.map +1 -1
  60. package/dist/src/cron/index.d.ts.map +1 -1
  61. package/dist/src/databases/auth/auth-operations.d.ts.map +1 -1
  62. package/dist/src/databases/auth/password.d.ts.map +1 -1
  63. package/dist/src/databases/common.d.ts +7 -3
  64. package/dist/src/databases/common.d.ts.map +1 -1
  65. package/dist/src/databases/core/executor.d.ts.map +1 -1
  66. package/dist/src/databases/core/identifier.d.ts.map +1 -1
  67. package/dist/src/databases/core/query-builder.d.ts +4 -3
  68. package/dist/src/databases/core/query-builder.d.ts.map +1 -1
  69. package/dist/src/databases/directives.d.ts.map +1 -1
  70. package/dist/src/databases/engines/mssql/auth.d.ts.map +1 -1
  71. package/dist/src/databases/engines/mssql/connection.d.ts.map +1 -1
  72. package/dist/src/databases/engines/mssql/format.d.ts.map +1 -1
  73. package/dist/src/databases/engines/mssql/getStructure.d.ts +13 -12
  74. package/dist/src/databases/engines/mssql/getStructure.d.ts.map +1 -1
  75. package/dist/src/databases/engines/mssql/getViews.d.ts.map +1 -1
  76. package/dist/src/databases/engines/mssql/query/index.d.ts.map +1 -1
  77. package/dist/src/databases/engines/mysql/auth.d.ts.map +1 -1
  78. package/dist/src/databases/engines/mysql/connection.d.ts.map +1 -1
  79. package/dist/src/databases/engines/mysql/format.d.ts.map +1 -1
  80. package/dist/src/databases/engines/mysql/getStructure.d.ts +13 -12
  81. package/dist/src/databases/engines/mysql/getStructure.d.ts.map +1 -1
  82. package/dist/src/databases/engines/mysql/getViews.d.ts.map +1 -1
  83. package/dist/src/databases/engines/mysql/placeholders.d.ts.map +1 -1
  84. package/dist/src/databases/engines/mysql/query/index.d.ts.map +1 -1
  85. package/dist/src/databases/engines/postgresql/auth.d.ts.map +1 -1
  86. package/dist/src/databases/engines/postgresql/connection.d.ts.map +1 -1
  87. package/dist/src/databases/engines/postgresql/format.d.ts.map +1 -1
  88. package/dist/src/databases/engines/postgresql/getStructure.d.ts +13 -12
  89. package/dist/src/databases/engines/postgresql/getStructure.d.ts.map +1 -1
  90. package/dist/src/databases/engines/postgresql/getViews.d.ts.map +1 -1
  91. package/dist/src/databases/engines/postgresql/query/index.d.ts.map +1 -1
  92. package/dist/src/databases/engines/shared/claims.d.ts.map +1 -1
  93. package/dist/src/databases/high-level-operations.d.ts +11 -59
  94. package/dist/src/databases/high-level-operations.d.ts.map +1 -1
  95. package/dist/src/databases/identifierMapping.test.d.ts +2 -0
  96. package/dist/src/databases/identifierMapping.test.d.ts.map +1 -0
  97. package/dist/src/databases/metadata/structure.d.ts +13 -12
  98. package/dist/src/databases/metadata/structure.d.ts.map +1 -1
  99. package/dist/src/databases/schemaBuilder/generateCreateTable/index.d.ts.map +1 -1
  100. package/dist/src/databases/schemaBuilder/generateCreateView/index.d.ts.map +1 -1
  101. package/dist/src/databases/schemaBuilder/generateInsert/index.d.ts.map +1 -1
  102. package/dist/src/databases/schemaBuilder/generateSchemaCreation/index.d.ts.map +1 -1
  103. package/dist/src/databases/schemaBuilder/mssqlToPostgres/convertView.d.ts.map +1 -1
  104. package/dist/src/databases/schemaBuilder/utils.d.ts +2 -2
  105. package/dist/src/databases/schemaBuilder/utils.d.ts.map +1 -1
  106. package/dist/src/databases/sqlTypeUtils.d.ts.map +1 -1
  107. package/dist/src/databases/transformers/data-transformers.d.ts +37 -34
  108. package/dist/src/databases/transformers/data-transformers.d.ts.map +1 -1
  109. package/dist/src/databases/transformers/genResolverName.d.ts.map +1 -1
  110. package/dist/src/databases/transformers/graphqlName.d.ts +23 -0
  111. package/dist/src/databases/transformers/graphqlName.d.ts.map +1 -0
  112. package/dist/src/databases/transformers/graphqlName.test.d.ts +2 -0
  113. package/dist/src/databases/transformers/graphqlName.test.d.ts.map +1 -0
  114. package/dist/src/index.d.ts +6 -5
  115. package/dist/src/index.d.ts.map +1 -1
  116. package/dist/src/logging/index.d.ts.map +1 -1
  117. package/dist/src/queues/kafka.d.ts.map +1 -1
  118. package/dist/src/queues/rabbitmq.d.ts.map +1 -1
  119. package/dist/src/remoteREST/index.d.ts.map +1 -1
  120. package/dist/src/remoteREST/parse.d.ts.map +1 -1
  121. package/dist/src/remoteREST/proxy.d.ts.map +1 -1
  122. package/dist/src/remoteREST/transform.d.ts.map +1 -1
  123. package/dist/src/remoteSchemas/index.d.ts.map +1 -1
  124. package/dist/src/remoteSchemas/introspect.d.ts.map +1 -1
  125. package/dist/src/remoteSchemas/proxy.d.ts.map +1 -1
  126. package/dist/src/remoteSchemas/transform.d.ts.map +1 -1
  127. package/dist/src/singletons/ai.d.ts.map +1 -1
  128. package/dist/src/singletons/authentication.d.ts.map +1 -1
  129. package/dist/src/singletons/cache/lruCacheStore.d.ts.map +1 -1
  130. package/dist/src/singletons/cache/redisCacheStore.d.ts.map +1 -1
  131. package/dist/src/singletons/cache/registry.d.ts.map +1 -1
  132. package/dist/src/singletons/cron.d.ts.map +1 -1
  133. package/dist/src/singletons/databases.d.ts.map +1 -1
  134. package/dist/src/singletons/env.d.ts +191 -188
  135. package/dist/src/singletons/env.d.ts.map +1 -1
  136. package/dist/src/singletons/queues.d.ts.map +1 -1
  137. package/dist/src/subscriptions/strategies/index.d.ts.map +1 -1
  138. package/dist/src/subscriptions/utils/polling.d.ts.map +1 -1
  139. package/dist/src/types/db.d.ts.map +1 -1
  140. package/dist/src/types/env.d.ts +647 -636
  141. package/dist/src/types/env.d.ts.map +1 -1
  142. package/dist/src/types/resolver.d.ts.map +1 -1
  143. package/dist/src/types/zod/auth.d.ts +18 -18
  144. package/dist/src/types/zod/configuration.d.ts +300 -295
  145. package/dist/src/types/zod/configuration.d.ts.map +1 -1
  146. package/dist/src/types/zod/db.d.ts +89 -80
  147. package/dist/src/types/zod/db.d.ts.map +1 -1
  148. package/dist/src/types/zod/queue.d.ts +80 -80
  149. package/dist/src/types/zod/queue.d.ts.map +1 -1
  150. package/dist/src/utils/benchmark.d.ts.map +1 -1
  151. package/dist/src/utils/responses.d.ts.map +1 -1
  152. package/dist/src/utils/safeJSONParse.d.ts.map +1 -1
  153. package/dist/src/utils/selection.d.ts.map +1 -1
  154. package/dist/src/utils/sessionVariables.d.ts +5 -1
  155. package/dist/src/utils/sessionVariables.d.ts.map +1 -1
  156. package/dist/src/utils/writeSchema.d.ts.map +1 -1
  157. package/dist/tsconfig.tsbuildinfo +1 -1
  158. package/package.json +6 -6
  159. package/playgrounds/console/index.html +18 -15
  160. package/playgrounds/graphiql/index.html +854 -622
  161. package/playgrounds/scalar/index.html +5 -5
  162. package/src/ai/README.md +257 -0
  163. package/src/analyzeQuery/analyzers/selectionAnalyzer.ts +7 -1
  164. package/src/analyzeQuery/resolveVariables.ts +130 -16
  165. package/src/authentication/jwt.ts +3 -1
  166. package/src/authentication/paseto.ts +3 -1
  167. package/src/authentication/tokenRepository.ts +12 -4
  168. package/src/config/types/auth.ts +7 -1
  169. package/src/config/types/db.ts +8 -0
  170. package/src/configuration/getSchemas/mergeEntities/index.ts +26 -1
  171. package/src/configuration/getSchemas/type-definition-generator/index.ts +11 -6
  172. package/src/configuration/rest/handleRESTRequestFactory.ts +5 -7
  173. package/src/configuration/rest/parseStringParams.ts +92 -0
  174. package/src/databases/common.ts +13 -2
  175. package/src/databases/engines/mssql/query/index.ts +25 -12
  176. package/src/databases/engines/mysql/connection.ts +1 -0
  177. package/src/databases/engines/mysql/query/index.ts +21 -8
  178. package/src/databases/engines/postgresql/query/index.ts +21 -7
  179. package/src/databases/high-level-operations.ts +2 -2
  180. package/src/databases/transformers/genResolverName.ts +3 -3
  181. package/src/databases/transformers/graphqlName.ts +28 -0
  182. package/src/logging/index.ts +3 -1
  183. package/src/types/db.ts +0 -1
  184. package/src/types/zod/db.ts +5 -7
  185. package/src/types/zod/queue.ts +2 -10
  186. package/src/utils/sessionVariables.ts +7 -1
@@ -1,13 +1,8 @@
1
1
  import { z } from "zod";
2
2
 
3
- import {
4
- BunSQLConnectionOptionsZod,
5
- DatabaseConnectionZod,
6
- DatabaseSchemaConfigZod,
7
- MSSQLConnectionOptionsZod,
8
- TableRelationshipZod as TableRelationshipBaseZod,
9
- } from "../../config";
3
+ import { TableRelationshipZod as TableRelationshipBaseZod } from "../../config";
10
4
  import { genResolverName } from "../../databases/transformers/genResolverName";
5
+ import { sanitizeGraphQLName } from "../../databases/transformers/graphqlName";
11
6
 
12
7
  // Re-export base types and schemas from the config module
13
8
  export type {
@@ -43,6 +38,9 @@ export const TableColumnZod = z
43
38
  })
44
39
  .transform((val) => ({
45
40
  name: val.name,
41
+ // The SQL identifier stays in `name`; `fieldName` is what GraphQL exposes it as.
42
+ // Nothing emitting SQL may read `fieldName`, nothing emitting SDL may read `name`.
43
+ fieldName: sanitizeGraphQLName(val.name),
46
44
  dataType: val.dataType,
47
45
  isNullable: typeof val.isNullable === "boolean" ? val.isNullable : val.isNullable === 1,
48
46
  description: val.description ?? null,
@@ -1,15 +1,7 @@
1
1
  import { z } from "zod";
2
2
 
3
- import {
4
- BaseQueueConfigZod,
5
- KafkaConnectionZod,
6
- PublisherConfigZod,
7
- RabbitMQConnectionZod,
8
- ReconnectConfigZod,
9
- SubscriberConfigZod,
10
- TopicConfigZod,
11
- } from "../../config";
12
- import type { CacheContext, SubscriberHandler } from "../../config";
3
+ import { BaseQueueConfigZod, KafkaConnectionZod, RabbitMQConnectionZod } from "../../config";
4
+ import type { SubscriberHandler } from "../../config";
13
5
 
14
6
  // Re-export base types and schemas from the config module
15
7
  export type {
@@ -37,6 +37,10 @@ const resolveDotPath = (obj: Record<string, unknown>, path: string): unknown =>
37
37
  *
38
38
  * @param filter - Filter object with potential session variables
39
39
  * @param session - JWT payload containing user session data
40
+ * @param onResolved - Called with each substituted claim value; its return value
41
+ * is what lands in the filter. The caller uses this to parameterize the value
42
+ * rather than letting it be inlined into SQL — a claim is attacker-influenced
43
+ * whenever users can change their own profile data.
40
44
  * @returns Filter object with session variables replaced
41
45
  *
42
46
  * @example
@@ -54,6 +58,7 @@ const resolveDotPath = (obj: Record<string, unknown>, path: string): unknown =>
54
58
  export const replaceSessionVariables = (
55
59
  filter: Record<string, unknown>,
56
60
  session: SessionContext | null,
61
+ onResolved?: (value: unknown) => unknown,
57
62
  ): Record<string, unknown> => {
58
63
  if (!filter || !session) {
59
64
  return filter;
@@ -79,7 +84,7 @@ export const replaceSessionVariables = (
79
84
  );
80
85
  }
81
86
 
82
- processedOperators[operator] = sessionValue;
87
+ processedOperators[operator] = onResolved ? onResolved(sessionValue) : sessionValue;
83
88
  }
84
89
  // Recursively handle nested objects
85
90
  else if (
@@ -90,6 +95,7 @@ export const replaceSessionVariables = (
90
95
  processedOperators[operator] = replaceSessionVariables(
91
96
  operatorValue as Record<string, unknown>,
92
97
  session,
98
+ onResolved,
93
99
  );
94
100
  }
95
101
  // Keep other values as-is