@graphoria/server 0.1.4 → 0.2.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 (123) hide show
  1. package/dist/src/analyzeQuery/resolveVariables.d.ts.map +1 -1
  2. package/dist/src/config/helpers/operationHelper.d.ts +60 -6
  3. package/dist/src/config/helpers/operationHelper.d.ts.map +1 -1
  4. package/dist/src/config/helpers/operationHelper.test.d.ts +2 -0
  5. package/dist/src/config/helpers/operationHelper.test.d.ts.map +1 -0
  6. package/dist/src/config/index.d.ts +65 -60
  7. package/dist/src/config/index.d.ts.map +1 -1
  8. package/dist/src/config/types/ai.d.ts +9 -3
  9. package/dist/src/config/types/ai.d.ts.map +1 -1
  10. package/dist/src/config/types/auth.d.ts +55 -15
  11. package/dist/src/config/types/auth.d.ts.map +1 -1
  12. package/dist/src/config/types/cron.d.ts +96 -2
  13. package/dist/src/config/types/cron.d.ts.map +1 -1
  14. package/dist/src/config/types/db.d.ts +186 -24
  15. package/dist/src/config/types/db.d.ts.map +1 -1
  16. package/dist/src/config/types/index.d.ts +3 -3
  17. package/dist/src/config/types/index.d.ts.map +1 -1
  18. package/dist/src/config/types/operation.d.ts +49 -17
  19. package/dist/src/config/types/operation.d.ts.map +1 -1
  20. package/dist/src/config/types/queue.d.ts +59 -12
  21. package/dist/src/config/types/queue.d.ts.map +1 -1
  22. package/dist/src/config/types/remote-rest.d.ts +10 -1
  23. package/dist/src/config/types/remote-rest.d.ts.map +1 -1
  24. package/dist/src/config/types/remote-schema.d.ts +13 -3
  25. package/dist/src/config/types/remote-schema.d.ts.map +1 -1
  26. package/dist/src/config/types/virtual-columns.d.ts +1 -1
  27. package/dist/src/config/types/virtual-columns.d.ts.map +1 -1
  28. package/dist/src/configuration/getSchemas/index.d.ts +52 -4
  29. package/dist/src/configuration/getSchemas/index.d.ts.map +1 -1
  30. package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts +26 -2
  31. package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts.map +1 -1
  32. package/dist/src/configuration/getSchemas/mergeEntities/index.test.d.ts +2 -0
  33. package/dist/src/configuration/getSchemas/mergeEntities/index.test.d.ts.map +1 -0
  34. package/dist/src/configuration/getSchemas/type-definition-generator/index.d.ts.map +1 -1
  35. package/dist/src/configuration/index.d.ts +40 -4
  36. package/dist/src/configuration/index.d.ts.map +1 -1
  37. package/dist/src/configuration/rest/generateOpenAPI.d.ts.map +1 -1
  38. package/dist/src/configuration/rest/handleRESTRequestFactory.d.ts.map +1 -1
  39. package/dist/src/databases/common.d.ts +3 -1
  40. package/dist/src/databases/common.d.ts.map +1 -1
  41. package/dist/src/databases/core/query-builder.d.ts +7 -1
  42. package/dist/src/databases/core/query-builder.d.ts.map +1 -1
  43. package/dist/src/databases/directives.d.ts.map +1 -1
  44. package/dist/src/databases/engines/mssql/connection.d.ts +1 -1
  45. package/dist/src/databases/engines/mssql/connection.d.ts.map +1 -1
  46. package/dist/src/databases/engines/mssql/getStructure.d.ts +7 -0
  47. package/dist/src/databases/engines/mssql/getStructure.d.ts.map +1 -1
  48. package/dist/src/databases/engines/mssql/query/index.d.ts.map +1 -1
  49. package/dist/src/databases/engines/mysql/connection.d.ts.map +1 -1
  50. package/dist/src/databases/engines/mysql/getStructure.d.ts +7 -0
  51. package/dist/src/databases/engines/mysql/getStructure.d.ts.map +1 -1
  52. package/dist/src/databases/engines/mysql/placeholders.d.ts +22 -0
  53. package/dist/src/databases/engines/mysql/placeholders.d.ts.map +1 -0
  54. package/dist/src/databases/engines/mysql/placeholders.test.d.ts +2 -0
  55. package/dist/src/databases/engines/mysql/placeholders.test.d.ts.map +1 -0
  56. package/dist/src/databases/engines/mysql/query/index.d.ts.map +1 -1
  57. package/dist/src/databases/engines/postgresql/getStructure.d.ts +7 -0
  58. package/dist/src/databases/engines/postgresql/getStructure.d.ts.map +1 -1
  59. package/dist/src/databases/engines/postgresql/query/index.d.ts.map +1 -1
  60. package/dist/src/databases/high-level-operations.d.ts +14 -1
  61. package/dist/src/databases/high-level-operations.d.ts.map +1 -1
  62. package/dist/src/databases/metadata/structure.d.ts +7 -0
  63. package/dist/src/databases/metadata/structure.d.ts.map +1 -1
  64. package/dist/src/databases/sqlTypeUtils.d.ts.map +1 -1
  65. package/dist/src/databases/transformers/data-transformers.d.ts +39 -2
  66. package/dist/src/databases/transformers/data-transformers.d.ts.map +1 -1
  67. package/dist/src/singletons/env.d.ts +21 -3
  68. package/dist/src/singletons/env.d.ts.map +1 -1
  69. package/dist/src/types/configuration.d.ts +1 -1
  70. package/dist/src/types/configuration.d.ts.map +1 -1
  71. package/dist/src/types/env.d.ts +127 -51
  72. package/dist/src/types/env.d.ts.map +1 -1
  73. package/dist/src/types/resolver.d.ts +12 -2
  74. package/dist/src/types/resolver.d.ts.map +1 -1
  75. package/dist/src/types/zod/auth.d.ts +6 -6
  76. package/dist/src/types/zod/configuration.d.ts +85 -45
  77. package/dist/src/types/zod/configuration.d.ts.map +1 -1
  78. package/dist/src/types/zod/cron.d.ts +1 -1
  79. package/dist/src/types/zod/cron.d.ts.map +1 -1
  80. package/dist/src/types/zod/db.d.ts +167 -8
  81. package/dist/src/types/zod/db.d.ts.map +1 -1
  82. package/dist/src/types/zod/queue.d.ts +26 -26
  83. package/dist/src/types/zod/strict-keys.test.d.ts +2 -0
  84. package/dist/src/types/zod/strict-keys.test.d.ts.map +1 -0
  85. package/dist/tsconfig.tsbuildinfo +1 -1
  86. package/package.json +1 -1
  87. package/src/analyzeQuery/resolveVariables.ts +37 -7
  88. package/src/config/helpers/operationHelper.ts +146 -5
  89. package/src/config/index.ts +139 -62
  90. package/src/config/types/ai.ts +2 -2
  91. package/src/config/types/auth.ts +37 -6
  92. package/src/config/types/cron.ts +1 -1
  93. package/src/config/types/db.ts +56 -9
  94. package/src/config/types/index.ts +5 -0
  95. package/src/config/types/operation.ts +49 -9
  96. package/src/config/types/queue.ts +8 -8
  97. package/src/config/types/remote-rest.ts +1 -1
  98. package/src/config/types/remote-schema.ts +2 -2
  99. package/src/config/types/virtual-columns.ts +1 -1
  100. package/src/configuration/getSchemas/mergeEntities/index.ts +6 -0
  101. package/src/configuration/getSchemas/type-definition-generator/index.ts +13 -4
  102. package/src/configuration/rest/generateOpenAPI.ts +5 -9
  103. package/src/configuration/rest/handleRESTRequestFactory.ts +40 -14
  104. package/src/databases/common.ts +279 -83
  105. package/src/databases/directives.ts +26 -8
  106. package/src/databases/engines/mssql/connection.ts +1 -1
  107. package/src/databases/engines/mssql/getStructure.ts +1 -0
  108. package/src/databases/engines/mssql/query/index.ts +29 -11
  109. package/src/databases/engines/mysql/auth.ts +2 -2
  110. package/src/databases/engines/mysql/connection.ts +5 -4
  111. package/src/databases/engines/mysql/getStructure.ts +61 -29
  112. package/src/databases/engines/mysql/placeholders.ts +84 -0
  113. package/src/databases/engines/mysql/query/index.ts +49 -4
  114. package/src/databases/engines/postgresql/getStructure.ts +1 -0
  115. package/src/databases/engines/postgresql/query/index.ts +40 -2
  116. package/src/databases/high-level-operations.ts +25 -0
  117. package/src/databases/sqlTypeUtils.ts +3 -1
  118. package/src/subscriptions/strategies/index.ts +1 -1
  119. package/src/subscriptions/strategies/queue.ts +1 -1
  120. package/src/types/configuration.ts +7 -1
  121. package/src/types/resolver.ts +17 -1
  122. package/src/types/zod/configuration.ts +1 -1
  123. package/src/types/zod/db.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"resolveVariables.d.ts","sourceRoot":"","sources":["../../../src/analyzeQuery/resolveVariables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAQjB;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,OAAO,KAAG,OAOvF,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,kBAAkB,EAAE,GAAG,SAAS,EAC3C,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,IAMF,CAAC;AAIF,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,iEAAiE;IACjE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IACzC,qDAAqD;IACrD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,wDAAwD;IACxD,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,kEAAkE;IAClE,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AAED;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,GAC9C,KAAK,OAAO,EACZ,oBAAoB,kBAAkB,EAAE,EACxC,kBAAkB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,YAAY,MAAM,EAClB,sBAAqB,GAAG,CAAC,MAAM,CAAa,KAC3C,OA6EF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,WAAW,kBAAkB,EAAE,EAC/B,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,qBAAqB,MAAM,KAC1B,aAoCF,CAAC;AA8BF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,iBAAiB,EAAE,EAC3B,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,UAAU,cAAc,KACvB,iBAAiB,EAwCnB,CAAC;AAIF,+DAA+D;AAC/D,UAAU,gBAAgB;IACxB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAC9B,cAAc,kBAAkB,EAAE,EAClC,eAAe,aAAa,EAC5B,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,gBA4BF,CAAC;AAIF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAC3B,WAAW,iBAAiB,EAC5B,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,cAAc,KACvB,iBAgDF,CAAC"}
1
+ {"version":3,"file":"resolveVariables.d.ts","sourceRoot":"","sources":["../../../src/analyzeQuery/resolveVariables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAQjB;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,OAAO,KAAG,OAOvF,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,kBAAkB,EAAE,GAAG,SAAS,EAC3C,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,IAMF,CAAC;AAIF,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,iEAAiE;IACjE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IACzC,qDAAqD;IACrD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,wDAAwD;IACxD,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,kEAAkE;IAClE,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AAED;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,GAC9C,KAAK,OAAO,EACZ,oBAAoB,kBAAkB,EAAE,EACxC,kBAAkB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,YAAY,MAAM,EAClB,sBAAqB,GAAG,CAAC,MAAM,CAAa,KAC3C,OA6EF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,WAAW,kBAAkB,EAAE,EAC/B,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,qBAAqB,MAAM,KAC1B,aAoCF,CAAC;AA6DF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,iBAAiB,EAAE,EAC3B,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,UAAU,cAAc,KACvB,iBAAiB,EAuCnB,CAAC;AAIF,+DAA+D;AAC/D,UAAU,gBAAgB;IACxB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAC9B,cAAc,kBAAkB,EAAE,EAClC,eAAe,aAAa,EAC5B,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,gBA4BF,CAAC;AAIF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAC3B,WAAW,iBAAiB,EAC5B,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,cAAc,KACvB,iBAgDF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import type { DefaultInput, HandlerOperation, OperationHandler, QueryOperation, TypedOperation } from "../types/operation";
2
+ import type { AnyQueryDocument, DefaultInput, HandlerOperation, OperationHandler, OperationOptions, QueryOperation, QueryResultOf, TypedOperation } from "../types/operation";
3
3
  /**
4
4
  * Helper type to infer input type from Zod schema
5
5
  */
@@ -8,25 +8,79 @@ type InferInput<TInputSchema> = TInputSchema extends z.ZodType<infer T> ? T : De
8
8
  * Helper type to infer output type from Zod schema
9
9
  */
10
10
  type InferOutput<TOutputSchema> = TOutputSchema extends z.ZodType<infer T> ? T : unknown;
11
+ /**
12
+ * Infer the parsed shape of an optional REST parameter schema.
13
+ * Resolves to `undefined` when that source has no schema configured.
14
+ *
15
+ * Mirrors the helpers on the `OperationFn` authoring surface so both
16
+ * `operation()` entry points expose identical `beforeRequest` context types.
17
+ */
18
+ type InferRestParam<T> = T extends z.ZodType<infer O> ? O : undefined;
19
+ /**
20
+ * REST exposure config with per-source schema generics, so `pathParams`,
21
+ * `queryParams`, and `body` can be inferred into the `beforeRequest` context.
22
+ */
23
+ type RestConfigInput<TPathParams extends z.ZodType | undefined, TQueryParams extends z.ZodType | undefined, TBody extends z.ZodType | undefined> = {
24
+ /** Route path (e.g. `/users/:id`) */
25
+ path: string;
26
+ /** HTTP method (defaults to GET) */
27
+ method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
28
+ /** Zod schema for path parameters */
29
+ pathParams?: TPathParams;
30
+ /** Zod schema for query-string parameters */
31
+ queryParams?: TQueryParams;
32
+ /** Zod schema for the request body */
33
+ body?: TBody;
34
+ };
35
+ /**
36
+ * Hooks config where `beforeRequest` receives the merged `input` plus each REST
37
+ * source (`pathParams` / `queryParams` / `body`) typed from its schema, or
38
+ * `undefined` when that source's schema is omitted.
39
+ */
40
+ type OperationHooksConfig<TInput, TOutput, TInitData, TPathParams extends z.ZodType | undefined, TQueryParams extends z.ZodType | undefined, TBody extends z.ZodType | undefined, TAfterInput = TOutput> = {
41
+ init?: (options: OperationOptions) => TInitData | Promise<TInitData>;
42
+ beforeRequest?: (context: {
43
+ input: TInput;
44
+ pathParams: InferRestParam<TPathParams>;
45
+ queryParams: InferRestParam<TQueryParams>;
46
+ body: InferRestParam<TBody>;
47
+ }, initData: TInitData | undefined) => Record<string, unknown> | Promise<Record<string, unknown>>;
48
+ /**
49
+ * Transforms the result after a successful query/handler. `output` is the
50
+ * upstream value: for query operations the query result (typed from a gql.tada
51
+ * `query` document, otherwise `unknown`); for handler operations the handler's
52
+ * return. The value you return becomes the response payload, typed by the
53
+ * operation's `output` schema.
54
+ */
55
+ afterRequest?: (context: {
56
+ output: TAfterInput;
57
+ }) => TOutput | Promise<TOutput>;
58
+ };
11
59
  /**
12
60
  * Config type for handler-based operations with inference
13
61
  */
14
- type HandlerOperationConfig<TRepository, TInputSchema extends z.ZodType | undefined, TOutputSchema extends z.ZodType | undefined, TInitData> = Omit<HandlerOperation<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData, TRepository>, "handler" | "input" | "output"> & {
62
+ type HandlerOperationConfig<TRepository, TInputSchema extends z.ZodType | undefined, TOutputSchema extends z.ZodType | undefined, TInitData, TPathParams extends z.ZodType | undefined, TQueryParams extends z.ZodType | undefined, TBody extends z.ZodType | undefined> = Omit<HandlerOperation<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData, TRepository>, "handler" | "input" | "output" | "hooks" | "rest"> & {
15
63
  input?: TInputSchema;
16
64
  output?: TOutputSchema;
17
65
  handler: OperationHandler<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TRepository>;
66
+ hooks?: OperationHooksConfig<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData, TPathParams, TQueryParams, TBody>;
67
+ rest?: RestConfigInput<TPathParams, TQueryParams, TBody>;
18
68
  };
19
69
  /**
20
70
  * Config type for query-based operations with inference
21
71
  */
22
- type QueryOperationConfig<TInputSchema extends z.ZodType | undefined, TOutputSchema extends z.ZodType | undefined, TInitData> = Omit<QueryOperation<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData>, "input" | "output"> & {
72
+ type QueryOperationConfig<TInputSchema extends z.ZodType | undefined, TOutputSchema extends z.ZodType | undefined, TInitData, TPathParams extends z.ZodType | undefined, TQueryParams extends z.ZodType | undefined, TBody extends z.ZodType | undefined, TQuery extends string | AnyQueryDocument> = Omit<QueryOperation<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData>, "input" | "output" | "hooks" | "rest" | "query"> & {
73
+ /** GraphQL query to execute (a string or a gql.tada `graphql()` document) */
74
+ query: TQuery;
23
75
  input?: TInputSchema;
24
76
  output?: TOutputSchema;
77
+ hooks?: OperationHooksConfig<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData, TPathParams, TQueryParams, TBody, QueryResultOf<TQuery>>;
78
+ rest?: RestConfigInput<TPathParams, TQueryParams, TBody>;
25
79
  };
26
- export declare function operation<TInputSchema extends z.ZodType | undefined = undefined, TOutputSchema extends z.ZodType | undefined = undefined, TInitData = unknown>(config: QueryOperationConfig<TInputSchema, TOutputSchema, TInitData>): QueryOperation<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData>;
27
- export declare function operation<TInputSchema extends z.ZodType | undefined = undefined, TOutputSchema extends z.ZodType | undefined = undefined, TInitData = unknown>(config: HandlerOperationConfig<unknown, TInputSchema, TOutputSchema, TInitData>): HandlerOperation<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData, unknown>;
80
+ export declare function operation<TInputSchema extends z.ZodType | undefined = undefined, TOutputSchema extends z.ZodType | undefined = undefined, TInitData = unknown, TPathParams extends z.ZodType | undefined = undefined, TQueryParams extends z.ZodType | undefined = undefined, TBody extends z.ZodType | undefined = undefined, TQuery extends string | AnyQueryDocument = string>(config: QueryOperationConfig<TInputSchema, TOutputSchema, TInitData, TPathParams, TQueryParams, TBody, TQuery>): QueryOperation<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData>;
81
+ export declare function operation<TInputSchema extends z.ZodType | undefined = undefined, TOutputSchema extends z.ZodType | undefined = undefined, TInitData = unknown, TPathParams extends z.ZodType | undefined = undefined, TQueryParams extends z.ZodType | undefined = undefined, TBody extends z.ZodType | undefined = undefined>(config: HandlerOperationConfig<unknown, TInputSchema, TOutputSchema, TInitData, TPathParams, TQueryParams, TBody>): HandlerOperation<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData, unknown>;
28
82
  export declare namespace operation {
29
- var typed: <TRepository>() => <TInputSchema extends z.ZodType | undefined = undefined, TOutputSchema extends z.ZodType | undefined = undefined, TInitData = unknown>(config: HandlerOperationConfig<TRepository, TInputSchema, TOutputSchema, TInitData>) => HandlerOperation<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData, TRepository>;
83
+ var typed: <TRepository>() => <TInputSchema extends z.ZodType | undefined = undefined, TOutputSchema extends z.ZodType | undefined = undefined, TInitData = unknown, TPathParams extends z.ZodType | undefined = undefined, TQueryParams extends z.ZodType | undefined = undefined, TBody extends z.ZodType | undefined = undefined>(config: HandlerOperationConfig<TRepository, TInputSchema, TOutputSchema, TInitData, TPathParams, TQueryParams, TBody>) => HandlerOperation<InferInput<TInputSchema>, InferOutput<TOutputSchema>, TInitData, TRepository>;
30
84
  }
31
85
  /**
32
86
  * Infer the input type from an operation
@@ -1 +1 @@
1
- {"version":3,"file":"operationHelper.d.ts","sourceRoot":"","sources":["../../../../src/config/helpers/operationHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationHelper.d.ts","sourceRoot":"","sources":["../../../../src/config/helpers/operationHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=operationHelper.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operationHelper.test.d.ts","sourceRoot":"","sources":["../../../../src/config/helpers/operationHelper.test.ts"],"names":[],"mappings":""}
@@ -19,7 +19,7 @@
19
19
  * ```
20
20
  */
21
21
  import { z } from "zod";
22
- import type { ConfigurationInput, CreateOneToBooleanMSSQLFn, CreateYAndNToBooleanMSSQLFn, DefaultInput, OperationCacheConfig, OperationGraphQLConfig, OperationHandler, OperationOptions, OperationRestConfig, TypedOperation, VirtualColumnExpressionFn, VirtualColumnFunctionFn } from "./types";
22
+ import type { AnyQueryDocument, ConfigurationInput, CreateOneToBooleanMSSQLFn, CreateYAndNToBooleanMSSQLFn, DefaultInput, OperationCacheConfig, OperationGraphQLConfig, OperationHandler, OperationOptions, QueryResultOf, TypedOperation, VirtualColumnExpressionFn, VirtualColumnFunctionFn } from "./types";
23
23
  /**
24
24
  * Helper type to infer the output type from a Zod schema
25
25
  * Uses z.output to get the transformed/parsed output type
@@ -29,6 +29,51 @@ type InferZodOutput<T> = T extends z.ZodType<infer O, any, any> ? O : never;
29
29
  * Infer TOutput from TOutputSchema
30
30
  */
31
31
  type InferOutput<TOutputSchema> = TOutputSchema extends z.ZodType<any> ? InferZodOutput<TOutputSchema> : unknown;
32
+ /**
33
+ * Infer the parsed shape of an optional REST parameter schema.
34
+ * Resolves to `undefined` when that source has no schema configured.
35
+ */
36
+ type InferRestParam<T> = T extends z.ZodType<any> ? z.infer<T> : undefined;
37
+ /**
38
+ * REST exposure config with per-source schema generics, so `pathParams`,
39
+ * `queryParams`, and `body` can be inferred into the `beforeRequest` context.
40
+ */
41
+ type RestConfigInput<TPathParams extends z.ZodType<any> | undefined, TQueryParams extends z.ZodType<any> | undefined, TBody extends z.ZodType<any> | undefined> = {
42
+ /** Route path (e.g. `/users/:id`) */
43
+ path: string;
44
+ /** HTTP method (defaults to GET) */
45
+ method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
46
+ /** Zod schema for path parameters */
47
+ pathParams?: TPathParams;
48
+ /** Zod schema for query-string parameters */
49
+ queryParams?: TQueryParams;
50
+ /** Zod schema for the request body */
51
+ body?: TBody;
52
+ };
53
+ /**
54
+ * Hooks config shared by every operation overload. `beforeRequest` receives the
55
+ * merged `input` plus each REST source (`pathParams` / `queryParams` / `body`)
56
+ * typed from its schema, or `undefined` when that source's schema is omitted.
57
+ */
58
+ type OperationHooks<TInput, TOutput, TInitData, TPathParams extends z.ZodType<any> | undefined, TQueryParams extends z.ZodType<any> | undefined, TBody extends z.ZodType<any> | undefined, TAfterInput = TOutput> = {
59
+ init?: (options: OperationOptions) => TInitData | Promise<TInitData>;
60
+ beforeRequest?: (context: {
61
+ input: TInput;
62
+ pathParams: InferRestParam<TPathParams>;
63
+ queryParams: InferRestParam<TQueryParams>;
64
+ body: InferRestParam<TBody>;
65
+ }, initData: TInitData | undefined) => Record<string, unknown> | Promise<Record<string, unknown>>;
66
+ /**
67
+ * Transforms the result after a successful query/handler. `output` is the
68
+ * upstream value: for query operations the query result (typed from a gql.tada
69
+ * `query` document, otherwise `unknown`); for handler operations the handler's
70
+ * return. The value you return becomes the response payload, typed by the
71
+ * operation's `output` schema.
72
+ */
73
+ afterRequest?: (context: {
74
+ output: TAfterInput;
75
+ }) => TOutput | Promise<TOutput>;
76
+ };
32
77
  /**
33
78
  * Type for the operation helper function provided by @graphoria/server.
34
79
  *
@@ -36,9 +81,9 @@ type InferOutput<TOutputSchema> = TOutputSchema extends z.ZodType<any> ? InferZo
36
81
  * and return TypedOperation with appropriate type inference.
37
82
  */
38
83
  export type OperationFn = {
39
- <TInputSchema extends z.ZodObject<any>, TOutputSchema extends z.ZodType<any> | undefined = undefined, TInitData = unknown>(config: {
40
- /** GraphQL query to execute */
41
- query: string;
84
+ <TInputSchema extends z.ZodObject<any>, TOutputSchema extends z.ZodType<any> | undefined = undefined, TInitData = unknown, TPathParams extends z.ZodType<any> | undefined = undefined, TQueryParams extends z.ZodType<any> | undefined = undefined, TBody extends z.ZodType<any> | undefined = undefined, TQuery extends string | AnyQueryDocument = string>(config: {
85
+ /** GraphQL query to execute (a string or a gql.tada `graphql()` document) */
86
+ query: TQuery;
42
87
  /** Custom handler is not allowed with query */
43
88
  handler?: never;
44
89
  /** Description for documentation */
@@ -48,25 +93,17 @@ export type OperationFn = {
48
93
  /** Output schema (Zod) */
49
94
  output?: TOutputSchema;
50
95
  /** Hooks for initialization and request transformation */
51
- hooks?: {
52
- init?: (options: OperationOptions) => TInitData | Promise<TInitData>;
53
- beforeRequest?: (context: {
54
- input: z.infer<TInputSchema>;
55
- }, initData: TInitData | undefined) => Record<string, unknown> | Promise<Record<string, unknown>>;
56
- afterRequest?: (context: {
57
- output: InferOutput<TOutputSchema>;
58
- }) => InferOutput<TOutputSchema> | Promise<InferOutput<TOutputSchema>>;
59
- };
96
+ hooks?: OperationHooks<z.infer<TInputSchema>, InferOutput<TOutputSchema>, TInitData, TPathParams, TQueryParams, TBody, QueryResultOf<TQuery>>;
60
97
  /** REST exposure configuration */
61
- rest?: OperationRestConfig;
98
+ rest?: RestConfigInput<TPathParams, TQueryParams, TBody>;
62
99
  /** GraphQL exposure configuration (enabled by default) */
63
100
  graphql?: OperationGraphQLConfig;
64
101
  /** Cache configuration */
65
102
  cache?: OperationCacheConfig;
66
103
  }): TypedOperation<z.infer<TInputSchema>, InferOutput<TOutputSchema>, TInitData, unknown>;
67
- <TOutputSchema extends z.ZodType<any> | undefined = undefined, TInitData = unknown>(config: {
68
- /** GraphQL query to execute */
69
- query: string;
104
+ <TOutputSchema extends z.ZodType<any> | undefined = undefined, TInitData = unknown, TPathParams extends z.ZodType<any> | undefined = undefined, TQueryParams extends z.ZodType<any> | undefined = undefined, TBody extends z.ZodType<any> | undefined = undefined, TQuery extends string | AnyQueryDocument = string>(config: {
105
+ /** GraphQL query to execute (a string or a gql.tada `graphql()` document) */
106
+ query: TQuery;
70
107
  /** Custom handler is not allowed with query */
71
108
  handler?: never;
72
109
  /** Description for documentation */
@@ -76,23 +113,15 @@ export type OperationFn = {
76
113
  /** Output schema (Zod) */
77
114
  output?: TOutputSchema;
78
115
  /** Hooks for initialization and request transformation */
79
- hooks?: {
80
- init?: (options: OperationOptions) => TInitData | Promise<TInitData>;
81
- beforeRequest?: (context: {
82
- input: DefaultInput;
83
- }, initData: TInitData | undefined) => Record<string, unknown> | Promise<Record<string, unknown>>;
84
- afterRequest?: (context: {
85
- output: InferOutput<TOutputSchema>;
86
- }) => InferOutput<TOutputSchema> | Promise<InferOutput<TOutputSchema>>;
87
- };
116
+ hooks?: OperationHooks<DefaultInput, InferOutput<TOutputSchema>, TInitData, TPathParams, TQueryParams, TBody, QueryResultOf<TQuery>>;
88
117
  /** REST exposure configuration */
89
- rest?: OperationRestConfig;
118
+ rest?: RestConfigInput<TPathParams, TQueryParams, TBody>;
90
119
  /** GraphQL exposure configuration (enabled by default) */
91
120
  graphql?: OperationGraphQLConfig;
92
121
  /** Cache configuration */
93
122
  cache?: OperationCacheConfig;
94
123
  }): TypedOperation<DefaultInput, InferOutput<TOutputSchema>, TInitData, unknown>;
95
- <TInputSchema extends z.ZodObject<any>, TOutputSchema extends z.ZodType<any> | undefined = undefined, TInitData = unknown>(config: {
124
+ <TInputSchema extends z.ZodObject<any>, TOutputSchema extends z.ZodType<any> | undefined = undefined, TInitData = unknown, TPathParams extends z.ZodType<any> | undefined = undefined, TQueryParams extends z.ZodType<any> | undefined = undefined, TBody extends z.ZodType<any> | undefined = undefined>(config: {
96
125
  /** Query is not allowed with handler */
97
126
  query?: never;
98
127
  /** Custom handler function */
@@ -104,23 +133,15 @@ export type OperationFn = {
104
133
  /** Output schema (Zod) */
105
134
  output?: TOutputSchema;
106
135
  /** Hooks for initialization and request transformation */
107
- hooks?: {
108
- init?: (options: OperationOptions) => TInitData | Promise<TInitData>;
109
- beforeRequest?: (context: {
110
- input: z.infer<TInputSchema>;
111
- }, initData: TInitData | undefined) => Record<string, unknown> | Promise<Record<string, unknown>>;
112
- afterRequest?: (context: {
113
- output: InferOutput<TOutputSchema>;
114
- }) => InferOutput<TOutputSchema> | Promise<InferOutput<TOutputSchema>>;
115
- };
136
+ hooks?: OperationHooks<z.infer<TInputSchema>, InferOutput<TOutputSchema>, TInitData, TPathParams, TQueryParams, TBody>;
116
137
  /** REST exposure configuration */
117
- rest?: OperationRestConfig;
138
+ rest?: RestConfigInput<TPathParams, TQueryParams, TBody>;
118
139
  /** GraphQL exposure configuration (enabled by default) */
119
140
  graphql?: OperationGraphQLConfig;
120
141
  /** Cache configuration */
121
142
  cache?: OperationCacheConfig;
122
143
  }): TypedOperation<z.infer<TInputSchema>, InferOutput<TOutputSchema>, TInitData, unknown>;
123
- <TOutputSchema extends z.ZodType<any> | undefined = undefined, TInitData = unknown>(config: {
144
+ <TOutputSchema extends z.ZodType<any> | undefined = undefined, TInitData = unknown, TPathParams extends z.ZodType<any> | undefined = undefined, TQueryParams extends z.ZodType<any> | undefined = undefined, TBody extends z.ZodType<any> | undefined = undefined>(config: {
124
145
  /** Query is not allowed with handler */
125
146
  query?: never;
126
147
  /** Custom handler function */
@@ -132,17 +153,9 @@ export type OperationFn = {
132
153
  /** Output schema (Zod) */
133
154
  output?: TOutputSchema;
134
155
  /** Hooks for initialization and request transformation */
135
- hooks?: {
136
- init?: (options: OperationOptions) => TInitData | Promise<TInitData>;
137
- beforeRequest?: (context: {
138
- input: DefaultInput;
139
- }, initData: TInitData | undefined) => Record<string, unknown> | Promise<Record<string, unknown>>;
140
- afterRequest?: (context: {
141
- output: InferOutput<TOutputSchema>;
142
- }) => InferOutput<TOutputSchema> | Promise<InferOutput<TOutputSchema>>;
143
- };
156
+ hooks?: OperationHooks<DefaultInput, InferOutput<TOutputSchema>, TInitData, TPathParams, TQueryParams, TBody>;
144
157
  /** REST exposure configuration */
145
- rest?: OperationRestConfig;
158
+ rest?: RestConfigInput<TPathParams, TQueryParams, TBody>;
146
159
  /** GraphQL exposure configuration (enabled by default) */
147
160
  graphql?: OperationGraphQLConfig;
148
161
  /** Cache configuration */
@@ -156,7 +169,7 @@ export type OperationFn = {
156
169
  * `options.repository` is that map, so access a repository as
157
170
  * `repository[dbName]` (e.g. `repository.main`).
158
171
  */
159
- typed: <TRepository>() => <TInputSchema extends z.ZodObject<any>, TOutputSchema extends z.ZodType<any> | undefined = undefined, TInitData = unknown>(config: {
172
+ typed: <TRepository>() => <TInputSchema extends z.ZodObject<any>, TOutputSchema extends z.ZodType<any> | undefined = undefined, TInitData = unknown, TPathParams extends z.ZodType<any> | undefined = undefined, TQueryParams extends z.ZodType<any> | undefined = undefined, TBody extends z.ZodType<any> | undefined = undefined>(config: {
160
173
  /** Query is not allowed with handler */
161
174
  query?: never;
162
175
  /** Custom handler function */
@@ -168,17 +181,9 @@ export type OperationFn = {
168
181
  /** Output schema (Zod) */
169
182
  output?: TOutputSchema;
170
183
  /** Hooks for initialization and request transformation */
171
- hooks?: {
172
- init?: (options: OperationOptions) => TInitData | Promise<TInitData>;
173
- beforeRequest?: (context: {
174
- input: z.infer<TInputSchema>;
175
- }, initData: TInitData | undefined) => Record<string, unknown> | Promise<Record<string, unknown>>;
176
- afterRequest?: (context: {
177
- output: InferOutput<TOutputSchema>;
178
- }) => InferOutput<TOutputSchema> | Promise<InferOutput<TOutputSchema>>;
179
- };
184
+ hooks?: OperationHooks<z.infer<TInputSchema>, InferOutput<TOutputSchema>, TInitData, TPathParams, TQueryParams, TBody>;
180
185
  /** REST exposure configuration */
181
- rest?: OperationRestConfig;
186
+ rest?: RestConfigInput<TPathParams, TQueryParams, TBody>;
182
187
  /** GraphQL exposure configuration (enabled by default) */
183
188
  graphql?: OperationGraphQLConfig;
184
189
  /** Cache configuration */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@ import { z } from "zod";
4
4
  * When enabled, exposes a `/mcp` endpoint for LLM agents.
5
5
  */
6
6
  export declare const MCPZod: z.ZodObject<{
7
+ /** Whether the MCP server is enabled. Off by default. */
7
8
  enabled: z.ZodDefault<z.ZodBoolean>;
8
- }, z.core.$strip>;
9
+ }, z.core.$strict>;
9
10
  /** Authoring type for MCP configuration */
10
11
  export type MCPConfig = z.input<typeof MCPZod>;
11
12
  /**
@@ -17,13 +18,18 @@ export type MCPConfig = z.input<typeof MCPZod>;
17
18
  * `DEEPSEEK_API_KEY`, `OLLAMA_HOST`), not from this config.
18
19
  */
19
20
  export declare const AIZod: z.ZodObject<{
21
+ /** Whether the AI agent is enabled. Off by default. */
20
22
  enabled: z.ZodDefault<z.ZodBoolean>;
23
+ /** Overrides the built-in system prompt sent to the LLM. */
21
24
  systemPrompt: z.ZodOptional<z.ZodString>;
25
+ /** REST endpoint path for the agent (default: "/ai"). */
22
26
  endpoint: z.ZodDefault<z.ZodString>;
27
+ /** Model Context Protocol (MCP) server. Off by default. See MCP.md. */
23
28
  mcp: z.ZodDefault<z.ZodOptional<z.ZodObject<{
29
+ /** Whether the MCP server is enabled. Off by default. */
24
30
  enabled: z.ZodDefault<z.ZodBoolean>;
25
- }, z.core.$strip>>>;
26
- }, z.core.$strip>;
31
+ }, z.core.$strict>>>;
32
+ }, z.core.$strict>;
27
33
  /** Authoring type for AI configuration */
28
34
  export type AIConfig = z.input<typeof AIZod>;
29
35
  //# sourceMappingURL=ai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../../src/config/types/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,MAAM;;iBAGjB,CAAC;AAEH,2CAA2C;AAC3C,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK;;;;;;;iBAShB,CAAC;AAEH,0CAA0C;AAC1C,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../../src/config/types/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,MAAM;IACjB,yDAAyD;;kBAEzD,CAAC;AAEH,2CAA2C;AAC3C,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK;IAChB,uDAAuD;;IAEvD,4DAA4D;;IAE5D,yDAAyD;;IAEzD,uEAAuE;;QAtBvE,yDAAyD;;;kBAwBzD,CAAC;AAEH,0CAA0C;AAC1C,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC"}
@@ -24,20 +24,34 @@ export declare const OrderByClauseZod: z.ZodObject<{
24
24
  DESC_NULLS_FIRST: "DESC_NULLS_FIRST";
25
25
  DESC_NULLS_LAST: "DESC_NULLS_LAST";
26
26
  }>;
27
- }, z.core.$strip>;
27
+ }, z.core.$strict>;
28
28
  export type OrderByClause = z.input<typeof OrderByClauseZod>;
29
+ /**
30
+ * Every operator the query builder implements. `databases/common.ts` imports this
31
+ * list rather than keeping its own: an operator that exists in one place and not
32
+ * the other is how a role filter ends up matching every row.
33
+ */
34
+ export declare const FILTER_OPERATORS: readonly ["eq", "neq", "gt", "gte", "lt", "lte", "like", "in", "between", "is_null", "is_not_null", "not_null"];
35
+ export type FilterOperator = (typeof FILTER_OPERATORS)[number];
29
36
  /**
30
37
  * Filter condition — matches GraphQL where argument structure.
31
- * Supports operators: eq, neq, gt, gte, lt, lte, like, in, is_null, not_null.
38
+ *
39
+ * A value is either a column filter (`{ eq: … }`) or a nested relation filter
40
+ * holding more of the same. Operators are constrained to the implemented set so
41
+ * a typo fails at boot instead of evaluating to no condition, which would hand
42
+ * the role the whole table.
32
43
  */
33
- export declare const FilterConditionZod: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>;
44
+ export declare const FilterConditionZod: z.ZodType<Record<string, unknown>>;
34
45
  export type FilterCondition = z.input<typeof FilterConditionZod>;
35
46
  /**
36
47
  * Table-level permission configuration
37
48
  */
38
49
  export declare const TablePermissionZod: z.ZodObject<{
50
+ /** Allowed columns — "ALL" or array of column names */
39
51
  columns: z.ZodUnion<readonly [z.ZodLiteral<"ALL">, z.ZodArray<z.ZodString>]>;
40
- filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
52
+ /** Role-based query filtering (WHERE clause) */
53
+ filter: z.ZodOptional<z.ZodType<Record<string, unknown>, unknown, z.core.$ZodTypeInternals<Record<string, unknown>, unknown>>>;
54
+ /** Role-based default ordering (ORDER BY clause) */
41
55
  orderBy: z.ZodOptional<z.ZodArray<z.ZodObject<{
42
56
  column: z.ZodString;
43
57
  direction: z.ZodEnum<{
@@ -48,16 +62,20 @@ export declare const TablePermissionZod: z.ZodObject<{
48
62
  DESC_NULLS_FIRST: "DESC_NULLS_FIRST";
49
63
  DESC_NULLS_LAST: "DESC_NULLS_LAST";
50
64
  }>;
51
- }, z.core.$strip>>>;
52
- }, z.core.$strip>;
65
+ }, z.core.$strict>>>;
66
+ }, z.core.$strict>;
53
67
  export type TablePermission = z.input<typeof TablePermissionZod>;
54
68
  /**
55
69
  * Permission configuration for a role
56
70
  */
57
71
  export declare const RolePermissionZod: z.ZodDefault<z.ZodObject<{
72
+ /** Tables accessible by this role */
58
73
  tables: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<"ALL">, z.ZodObject<{
74
+ /** Allowed columns — "ALL" or array of column names */
59
75
  columns: z.ZodUnion<readonly [z.ZodLiteral<"ALL">, z.ZodArray<z.ZodString>]>;
60
- filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
76
+ /** Role-based query filtering (WHERE clause) */
77
+ filter: z.ZodOptional<z.ZodType<Record<string, unknown>, unknown, z.core.$ZodTypeInternals<Record<string, unknown>, unknown>>>;
78
+ /** Role-based default ordering (ORDER BY clause) */
61
79
  orderBy: z.ZodOptional<z.ZodArray<z.ZodObject<{
62
80
  column: z.ZodString;
63
81
  direction: z.ZodEnum<{
@@ -68,27 +86,44 @@ export declare const RolePermissionZod: z.ZodDefault<z.ZodObject<{
68
86
  DESC_NULLS_FIRST: "DESC_NULLS_FIRST";
69
87
  DESC_NULLS_LAST: "DESC_NULLS_LAST";
70
88
  }>;
71
- }, z.core.$strip>>>;
72
- }, z.core.$strip>]>>]>>>;
89
+ }, z.core.$strict>>>;
90
+ }, z.core.$strict>]>>]>>>;
91
+ /** Stored procedures accessible by this role */
73
92
  storedProcedures: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
93
+ /** Queues accessible by this role */
74
94
  queues: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
95
+ /** Operations accessible by this role */
75
96
  operations: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
97
+ /** Remote schemas accessible by this role */
76
98
  remoteSchemas: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
99
+ /** Remote REST APIs accessible by this role */
77
100
  remoteREST: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
78
- }, z.core.$strip>>;
101
+ }, z.core.$strict>>;
79
102
  export type RolePermission = z.input<typeof RolePermissionZod>;
80
103
  /**
81
104
  * Authentication configuration
82
105
  */
83
106
  export declare const AuthConfigZod: z.ZodDefault<z.ZodOptional<z.ZodObject<{
107
+ /** Whether authentication is enabled */
84
108
  enabled: z.ZodBoolean;
109
+ /** Database name where auth tables are stored */
85
110
  database: z.ZodString;
111
+ /** Schema name for auth tables (default: "auth") */
86
112
  schema: z.ZodDefault<z.ZodOptional<z.ZodString>>;
113
+ /**
114
+ * Whether Graphoria should run CREATE SCHEMA / TABLE IF NOT EXISTS for the
115
+ * auth user table on every boot. Default: false.
116
+ */
87
117
  autoCreateTables: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
118
+ /** Permissions per role */
88
119
  permissions: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDefault<z.ZodObject<{
120
+ /** Tables accessible by this role */
89
121
  tables: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<"ALL">, z.ZodObject<{
122
+ /** Allowed columns — "ALL" or array of column names */
90
123
  columns: z.ZodUnion<readonly [z.ZodLiteral<"ALL">, z.ZodArray<z.ZodString>]>;
91
- filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
124
+ /** Role-based query filtering (WHERE clause) */
125
+ filter: z.ZodOptional<z.ZodType<Record<string, unknown>, unknown, z.core.$ZodTypeInternals<Record<string, unknown>, unknown>>>;
126
+ /** Role-based default ordering (ORDER BY clause) */
92
127
  orderBy: z.ZodOptional<z.ZodArray<z.ZodObject<{
93
128
  column: z.ZodString;
94
129
  direction: z.ZodEnum<{
@@ -99,14 +134,19 @@ export declare const AuthConfigZod: z.ZodDefault<z.ZodOptional<z.ZodObject<{
99
134
  DESC_NULLS_FIRST: "DESC_NULLS_FIRST";
100
135
  DESC_NULLS_LAST: "DESC_NULLS_LAST";
101
136
  }>;
102
- }, z.core.$strip>>>;
103
- }, z.core.$strip>]>>]>>>;
137
+ }, z.core.$strict>>>;
138
+ }, z.core.$strict>]>>]>>>;
139
+ /** Stored procedures accessible by this role */
104
140
  storedProcedures: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
141
+ /** Queues accessible by this role */
105
142
  queues: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
143
+ /** Operations accessible by this role */
106
144
  operations: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
145
+ /** Remote schemas accessible by this role */
107
146
  remoteSchemas: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
147
+ /** Remote REST APIs accessible by this role */
108
148
  remoteREST: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
109
- }, z.core.$strip>>>>>;
110
- }, z.core.$strip>>>;
149
+ }, z.core.$strict>>>>>;
150
+ }, z.core.$strict>>>;
111
151
  export type AuthConfig = z.input<typeof AuthConfigZod>;
112
152
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/config/types/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;EAO5B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAG3B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,kEAA0D,CAAC;AAE1F,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAMjE;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;iBAO7B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;kBA4C1B,CAAC;AAEL,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM/D;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAuBtB,CAAC;AAEL,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/config/types/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;EAO5B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;kBAG3B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,iHAanB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKjE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAMjE;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B,uDAAuD;;IAEvD,gDAAgD;;IAEhD,oDAAoD;;;;;;;;;;;;kBAEpD,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAE1B,qCAAqC;;QAfvC,uDAAuD;;QAEvD,gDAAgD;;QAEhD,oDAAoD;;;;;;;;;;;;;IAoBlD,gDAAgD;;IAKhD,qCAAqC;;IAKrC,yCAAyC;;IAKzC,6CAA6C;;IAK7C,+CAA+C;;mBAa/C,CAAC;AAEL,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM/D;;GAEG;AACH,eAAO,MAAM,aAAa;IAEtB,wCAAwC;;IAExC,iDAAiD;;IAEjD,oDAAoD;;IAEpD;;;OAGG;;IAEH,2BAA2B;;QAlE3B,qCAAqC;;YAfvC,uDAAuD;;YAEvD,gDAAgD;;YAEhD,oDAAoD;;;;;;;;;;;;;QAoBlD,gDAAgD;;QAKhD,qCAAqC;;QAKrC,yCAAyC;;QAKzC,6CAA6C;;QAK7C,+CAA+C;;;oBA+C/C,CAAC;AAEL,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}