@kozou/mcp 0.1.0 → 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 (49) hide show
  1. package/dist/cli.js +39 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/schemas/describe_table.d.ts +14 -155
  8. package/dist/schemas/describe_table.d.ts.map +1 -1
  9. package/dist/schemas/describe_table.js +4 -0
  10. package/dist/schemas/describe_table.js.map +1 -1
  11. package/dist/schemas/describe_view.d.ts +8 -84
  12. package/dist/schemas/describe_view.d.ts.map +1 -1
  13. package/dist/schemas/describe_view.js +4 -0
  14. package/dist/schemas/describe_view.js.map +1 -1
  15. package/dist/schemas/get_concept_context.d.ts +7 -56
  16. package/dist/schemas/get_concept_context.d.ts.map +1 -1
  17. package/dist/schemas/get_concept_context.js +2 -0
  18. package/dist/schemas/get_concept_context.js.map +1 -1
  19. package/dist/schemas/list_concepts.d.ts +3 -27
  20. package/dist/schemas/list_concepts.d.ts.map +1 -1
  21. package/dist/schemas/list_concepts.js +5 -1
  22. package/dist/schemas/list_concepts.js.map +1 -1
  23. package/dist/schemas/list_tables.d.ts +3 -33
  24. package/dist/schemas/list_tables.d.ts.map +1 -1
  25. package/dist/schemas/list_views.d.ts +3 -27
  26. package/dist/schemas/list_views.d.ts.map +1 -1
  27. package/dist/server.d.ts.map +1 -1
  28. package/dist/server.js +10 -1
  29. package/dist/server.js.map +1 -1
  30. package/dist/startHttpServer.d.ts +30 -0
  31. package/dist/startHttpServer.d.ts.map +1 -0
  32. package/dist/startHttpServer.js +176 -0
  33. package/dist/startHttpServer.js.map +1 -0
  34. package/dist/tools/describe_table.d.ts.map +1 -1
  35. package/dist/tools/describe_table.js +2 -0
  36. package/dist/tools/describe_table.js.map +1 -1
  37. package/dist/tools/describe_view.d.ts.map +1 -1
  38. package/dist/tools/describe_view.js +2 -0
  39. package/dist/tools/describe_view.js.map +1 -1
  40. package/dist/tools/get_concept_context.d.ts.map +1 -1
  41. package/dist/tools/get_concept_context.js +6 -1
  42. package/dist/tools/get_concept_context.js.map +1 -1
  43. package/dist/tools/list_concepts.d.ts +2 -2
  44. package/dist/tools/list_concepts.d.ts.map +1 -1
  45. package/dist/tools/list_concepts.js.map +1 -1
  46. package/dist/tools/list_tables.d.ts.map +1 -1
  47. package/dist/tools/list_tables.js +4 -1
  48. package/dist/tools/list_tables.js.map +1 -1
  49. package/package.json +8 -7
package/dist/cli.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { SchemaCache } from './schemaCache.js';
3
3
  import { startStdioServer } from './startStdioServer.js';
4
+ import { startHttpServer } from './startHttpServer.js';
4
5
  function parseEnvNumber(value, fallback) {
5
6
  if (value === undefined)
6
7
  return fallback;
@@ -11,6 +12,35 @@ function parseEnvNumber(value, fallback) {
11
12
  }
12
13
  return n;
13
14
  }
15
+ function parseArgs(argv) {
16
+ const args = { mode: 'stdio' };
17
+ for (let i = 0; i < argv.length; i++) {
18
+ const arg = argv[i];
19
+ switch (arg) {
20
+ case '--http':
21
+ args.mode = 'http';
22
+ break;
23
+ case '--stdio':
24
+ args.mode = 'stdio';
25
+ break;
26
+ case '--port':
27
+ args.port = Number(argv[++i]);
28
+ break;
29
+ case '--host':
30
+ args.host = argv[++i];
31
+ break;
32
+ default:
33
+ if (arg.startsWith('--port=')) {
34
+ args.port = Number(arg.slice('--port='.length));
35
+ }
36
+ else if (arg.startsWith('--host=')) {
37
+ args.host = arg.slice('--host='.length);
38
+ }
39
+ // Unknown flags are ignored so adopters can pass through extras.
40
+ }
41
+ }
42
+ return args;
43
+ }
14
44
  async function main() {
15
45
  const connectionString = process.env.KOZOU_DATABASE_URL;
16
46
  if (!connectionString) {
@@ -21,6 +51,15 @@ async function main() {
21
51
  connection: connectionString,
22
52
  ttlMs: parseEnvNumber(process.env.KOZOU_CACHE_TTL_MS, 60_000),
23
53
  });
54
+ const args = parseArgs(process.argv.slice(2));
55
+ if (args.mode === 'http') {
56
+ if (args.port !== undefined && (!Number.isFinite(args.port) || args.port < 0)) {
57
+ console.error(`[@kozou/mcp] invalid --port "${args.port}"`);
58
+ process.exit(1);
59
+ }
60
+ await startHttpServer(cache, { port: args.port, host: args.host });
61
+ return;
62
+ }
24
63
  await startStdioServer(cache);
25
64
  }
26
65
  main().catch((err) => {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,SAAS,cAAc,CAAC,KAAyB,EAAE,QAAgB;IACjE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,oCAAoC,KAAK,kBAAkB,QAAQ,EAAE,CAAC,CAAC;QACrF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC;QAC5B,UAAU,EAAE,gBAAgB;QAC5B,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC;KAC9D,CAAC,CAAC;IACH,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { createMcpServer } from './server.js';
2
2
  export { SchemaCache, type SchemaCacheOptions } from './schemaCache.js';
3
3
  export { startStdioServer, type StartStdioServerOptions } from './startStdioServer.js';
4
+ export { startHttpServer, isLoopbackHost, type StartHttpServerOptions, type HttpServerHandle, } from './startHttpServer.js';
4
5
  export { listTables } from './tools/list_tables.js';
5
6
  export { describeTable } from './tools/describe_table.js';
6
7
  export { listViews } from './tools/list_views.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EACL,eAAe,EACf,cAAc,EACd,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@
4
4
  export { createMcpServer } from './server.js';
5
5
  export { SchemaCache } from './schemaCache.js';
6
6
  export { startStdioServer } from './startStdioServer.js';
7
+ export { startHttpServer, isLoopbackHost, } from './startHttpServer.js';
7
8
  export { listTables } from './tools/list_tables.js';
8
9
  export { describeTable } from './tools/describe_table.js';
9
10
  export { listViews } from './tools/list_views.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,oEAAoE;AACpE,qCAAqC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,oEAAoE;AACpE,qCAAqC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EACL,eAAe,EACf,cAAc,GAGf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC"}
@@ -1,11 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  export declare const describeTableInputSchema: z.ZodObject<{
3
3
  qualifiedName: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- qualifiedName: string;
6
- }, {
7
- qualifiedName: string;
8
- }>;
4
+ }, z.core.$strip>;
9
5
  declare const columnSchema: z.ZodObject<{
10
6
  name: z.ZodString;
11
7
  dataType: z.ZodString;
@@ -13,51 +9,21 @@ declare const columnSchema: z.ZodObject<{
13
9
  defaultExpr: z.ZodNullable<z.ZodString>;
14
10
  description: z.ZodNullable<z.ZodString>;
15
11
  aiDescription: z.ZodNullable<z.ZodString>;
16
- enumValues: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
12
+ policy: z.ZodArray<z.ZodString>;
13
+ enumValues: z.ZodNullable<z.ZodArray<z.ZodString>>;
17
14
  isForeignKey: z.ZodBoolean;
18
15
  references: z.ZodNullable<z.ZodObject<{
19
16
  table: z.ZodString;
20
17
  column: z.ZodString;
21
- }, "strip", z.ZodTypeAny, {
22
- table: string;
23
- column: string;
24
- }, {
25
- table: string;
26
- column: string;
27
- }>>;
28
- }, "strip", z.ZodTypeAny, {
29
- description: string | null;
30
- name: string;
31
- dataType: string;
32
- nullable: boolean;
33
- defaultExpr: string | null;
34
- aiDescription: string | null;
35
- enumValues: string[] | null;
36
- isForeignKey: boolean;
37
- references: {
38
- table: string;
39
- column: string;
40
- } | null;
41
- }, {
42
- description: string | null;
43
- name: string;
44
- dataType: string;
45
- nullable: boolean;
46
- defaultExpr: string | null;
47
- aiDescription: string | null;
48
- enumValues: string[] | null;
49
- isForeignKey: boolean;
50
- references: {
51
- table: string;
52
- column: string;
53
- } | null;
54
- }>;
18
+ }, z.core.$strip>>;
19
+ }, z.core.$strip>;
55
20
  export declare const describeTableOutputSchema: z.ZodObject<{
56
21
  qualifiedName: z.ZodString;
57
22
  label: z.ZodString;
58
23
  description: z.ZodNullable<z.ZodString>;
59
24
  aiDescription: z.ZodNullable<z.ZodString>;
60
- primaryKey: z.ZodArray<z.ZodString, "many">;
25
+ policy: z.ZodArray<z.ZodString>;
26
+ primaryKey: z.ZodArray<z.ZodString>;
61
27
  columns: z.ZodArray<z.ZodObject<{
62
28
  name: z.ZodString;
63
29
  dataType: z.ZodString;
@@ -65,132 +31,25 @@ export declare const describeTableOutputSchema: z.ZodObject<{
65
31
  defaultExpr: z.ZodNullable<z.ZodString>;
66
32
  description: z.ZodNullable<z.ZodString>;
67
33
  aiDescription: z.ZodNullable<z.ZodString>;
68
- enumValues: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
34
+ policy: z.ZodArray<z.ZodString>;
35
+ enumValues: z.ZodNullable<z.ZodArray<z.ZodString>>;
69
36
  isForeignKey: z.ZodBoolean;
70
37
  references: z.ZodNullable<z.ZodObject<{
71
38
  table: z.ZodString;
72
39
  column: z.ZodString;
73
- }, "strip", z.ZodTypeAny, {
74
- table: string;
75
- column: string;
76
- }, {
77
- table: string;
78
- column: string;
79
- }>>;
80
- }, "strip", z.ZodTypeAny, {
81
- description: string | null;
82
- name: string;
83
- dataType: string;
84
- nullable: boolean;
85
- defaultExpr: string | null;
86
- aiDescription: string | null;
87
- enumValues: string[] | null;
88
- isForeignKey: boolean;
89
- references: {
90
- table: string;
91
- column: string;
92
- } | null;
93
- }, {
94
- description: string | null;
95
- name: string;
96
- dataType: string;
97
- nullable: boolean;
98
- defaultExpr: string | null;
99
- aiDescription: string | null;
100
- enumValues: string[] | null;
101
- isForeignKey: boolean;
102
- references: {
103
- table: string;
104
- column: string;
105
- } | null;
106
- }>, "many">;
40
+ }, z.core.$strip>>;
41
+ }, z.core.$strip>>;
107
42
  relations: z.ZodArray<z.ZodObject<{
108
43
  field: z.ZodString;
109
44
  referencesTable: z.ZodString;
110
45
  referencesColumn: z.ZodString;
111
46
  meaning: z.ZodNullable<z.ZodString>;
112
- }, "strip", z.ZodTypeAny, {
113
- field: string;
114
- referencesTable: string;
115
- referencesColumn: string;
116
- meaning: string | null;
117
- }, {
118
- field: string;
119
- referencesTable: string;
120
- referencesColumn: string;
121
- meaning: string | null;
122
- }>, "many">;
47
+ }, z.core.$strip>>;
123
48
  checkConstraints: z.ZodArray<z.ZodObject<{
124
49
  name: z.ZodString;
125
50
  expression: z.ZodString;
126
- }, "strip", z.ZodTypeAny, {
127
- name: string;
128
- expression: string;
129
- }, {
130
- name: string;
131
- expression: string;
132
- }>, "many">;
133
- }, "strip", z.ZodTypeAny, {
134
- qualifiedName: string;
135
- label: string;
136
- description: string | null;
137
- aiDescription: string | null;
138
- primaryKey: string[];
139
- columns: {
140
- description: string | null;
141
- name: string;
142
- dataType: string;
143
- nullable: boolean;
144
- defaultExpr: string | null;
145
- aiDescription: string | null;
146
- enumValues: string[] | null;
147
- isForeignKey: boolean;
148
- references: {
149
- table: string;
150
- column: string;
151
- } | null;
152
- }[];
153
- relations: {
154
- field: string;
155
- referencesTable: string;
156
- referencesColumn: string;
157
- meaning: string | null;
158
- }[];
159
- checkConstraints: {
160
- name: string;
161
- expression: string;
162
- }[];
163
- }, {
164
- qualifiedName: string;
165
- label: string;
166
- description: string | null;
167
- aiDescription: string | null;
168
- primaryKey: string[];
169
- columns: {
170
- description: string | null;
171
- name: string;
172
- dataType: string;
173
- nullable: boolean;
174
- defaultExpr: string | null;
175
- aiDescription: string | null;
176
- enumValues: string[] | null;
177
- isForeignKey: boolean;
178
- references: {
179
- table: string;
180
- column: string;
181
- } | null;
182
- }[];
183
- relations: {
184
- field: string;
185
- referencesTable: string;
186
- referencesColumn: string;
187
- meaning: string | null;
188
- }[];
189
- checkConstraints: {
190
- name: string;
191
- expression: string;
192
- }[];
193
- }>;
51
+ }, z.core.$strip>>;
52
+ }, z.core.$strip>;
194
53
  export type DescribeTableInput = z.infer<typeof describeTableInputSchema>;
195
54
  export type DescribeTableOutput = z.infer<typeof describeTableOutputSchema>;
196
55
  export type DescribeTableColumn = z.infer<typeof columnSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"describe_table.d.ts","sourceRoot":"","sources":["../../src/schemas/describe_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,wBAAwB;;;;;;EAEnC,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAehB,CAAC;AAcH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASpC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"describe_table.d.ts","sourceRoot":"","sources":["../../src/schemas/describe_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,wBAAwB;;iBAEnC,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;iBAiBhB,CAAC;AAcH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAWpC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -9,6 +9,8 @@ const columnSchema = z.object({
9
9
  defaultExpr: z.string().nullable(),
10
10
  description: z.string().nullable(),
11
11
  aiDescription: z.string().nullable(),
12
+ /** `@policy:` lines — advisory business rules for the AI agent. */
13
+ policy: z.array(z.string()),
12
14
  enumValues: z.array(z.string()).nullable(),
13
15
  isForeignKey: z.boolean(),
14
16
  references: z
@@ -33,6 +35,8 @@ export const describeTableOutputSchema = z.object({
33
35
  label: z.string(),
34
36
  description: z.string().nullable(),
35
37
  aiDescription: z.string().nullable(),
38
+ /** `@policy:` lines on the table COMMENT — advisory, surfaced to the AI agent. */
39
+ policy: z.array(z.string()),
36
40
  primaryKey: z.array(z.string()),
37
41
  columns: z.array(columnSchema),
38
42
  relations: z.array(relationSchema),
@@ -1 +1 @@
1
- {"version":3,"file":"describe_table.js","sourceRoot":"","sources":["../../src/schemas/describe_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IACzB,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IAC9B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IAClC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;CACjD,CAAC,CAAC"}
1
+ {"version":3,"file":"describe_table.js","sourceRoot":"","sources":["../../src/schemas/describe_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,mEAAmE;IACnE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IACzB,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,kFAAkF;IAClF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IAC9B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IAClC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;CACjD,CAAC,CAAC"}
@@ -1,16 +1,13 @@
1
1
  import { z } from 'zod';
2
2
  export declare const describeViewInputSchema: z.ZodObject<{
3
3
  qualifiedName: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- qualifiedName: string;
6
- }, {
7
- qualifiedName: string;
8
- }>;
4
+ }, z.core.$strip>;
9
5
  export declare const describeViewOutputSchema: z.ZodObject<{
10
6
  qualifiedName: z.ZodString;
11
7
  label: z.ZodString;
12
8
  description: z.ZodNullable<z.ZodString>;
13
9
  aiDescription: z.ZodNullable<z.ZodString>;
10
+ policy: z.ZodArray<z.ZodString>;
14
11
  columns: z.ZodArray<z.ZodObject<{
15
12
  name: z.ZodString;
16
13
  dataType: z.ZodString;
@@ -18,90 +15,17 @@ export declare const describeViewOutputSchema: z.ZodObject<{
18
15
  defaultExpr: z.ZodNullable<z.ZodString>;
19
16
  description: z.ZodNullable<z.ZodString>;
20
17
  aiDescription: z.ZodNullable<z.ZodString>;
21
- enumValues: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
18
+ policy: z.ZodArray<z.ZodString>;
19
+ enumValues: z.ZodNullable<z.ZodArray<z.ZodString>>;
22
20
  isForeignKey: z.ZodBoolean;
23
21
  references: z.ZodNullable<z.ZodObject<{
24
22
  table: z.ZodString;
25
23
  column: z.ZodString;
26
- }, "strip", z.ZodTypeAny, {
27
- table: string;
28
- column: string;
29
- }, {
30
- table: string;
31
- column: string;
32
- }>>;
33
- }, "strip", z.ZodTypeAny, {
34
- description: string | null;
35
- name: string;
36
- dataType: string;
37
- nullable: boolean;
38
- defaultExpr: string | null;
39
- aiDescription: string | null;
40
- enumValues: string[] | null;
41
- isForeignKey: boolean;
42
- references: {
43
- table: string;
44
- column: string;
45
- } | null;
46
- }, {
47
- description: string | null;
48
- name: string;
49
- dataType: string;
50
- nullable: boolean;
51
- defaultExpr: string | null;
52
- aiDescription: string | null;
53
- enumValues: string[] | null;
54
- isForeignKey: boolean;
55
- references: {
56
- table: string;
57
- column: string;
58
- } | null;
59
- }>, "many">;
60
- underlyingTables: z.ZodArray<z.ZodString, "many">;
24
+ }, z.core.$strip>>;
25
+ }, z.core.$strip>>;
26
+ underlyingTables: z.ZodArray<z.ZodString>;
61
27
  definition: z.ZodString;
62
- }, "strip", z.ZodTypeAny, {
63
- qualifiedName: string;
64
- label: string;
65
- description: string | null;
66
- aiDescription: string | null;
67
- columns: {
68
- description: string | null;
69
- name: string;
70
- dataType: string;
71
- nullable: boolean;
72
- defaultExpr: string | null;
73
- aiDescription: string | null;
74
- enumValues: string[] | null;
75
- isForeignKey: boolean;
76
- references: {
77
- table: string;
78
- column: string;
79
- } | null;
80
- }[];
81
- underlyingTables: string[];
82
- definition: string;
83
- }, {
84
- qualifiedName: string;
85
- label: string;
86
- description: string | null;
87
- aiDescription: string | null;
88
- columns: {
89
- description: string | null;
90
- name: string;
91
- dataType: string;
92
- nullable: boolean;
93
- defaultExpr: string | null;
94
- aiDescription: string | null;
95
- enumValues: string[] | null;
96
- isForeignKey: boolean;
97
- references: {
98
- table: string;
99
- column: string;
100
- } | null;
101
- }[];
102
- underlyingTables: string[];
103
- definition: string;
104
- }>;
28
+ }, z.core.$strip>;
105
29
  export type DescribeViewInput = z.infer<typeof describeViewInputSchema>;
106
30
  export type DescribeViewOutput = z.infer<typeof describeViewOutputSchema>;
107
31
  //# sourceMappingURL=describe_view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"describe_view.d.ts","sourceRoot":"","sources":["../../src/schemas/describe_view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB;;;;;;EAElC,CAAC;AAmBH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQnC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"describe_view.d.ts","sourceRoot":"","sources":["../../src/schemas/describe_view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AAqBH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;iBAUnC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -9,6 +9,8 @@ const viewColumnSchema = z.object({
9
9
  defaultExpr: z.string().nullable(),
10
10
  description: z.string().nullable(),
11
11
  aiDescription: z.string().nullable(),
12
+ /** `@policy:` lines — advisory business rules for the AI agent. */
13
+ policy: z.array(z.string()),
12
14
  enumValues: z.array(z.string()).nullable(),
13
15
  isForeignKey: z.boolean(),
14
16
  references: z
@@ -23,6 +25,8 @@ export const describeViewOutputSchema = z.object({
23
25
  label: z.string(),
24
26
  description: z.string().nullable(),
25
27
  aiDescription: z.string().nullable(),
28
+ /** `@policy:` lines on the view COMMENT — advisory, surfaced to the AI agent. */
29
+ policy: z.array(z.string()),
26
30
  columns: z.array(viewColumnSchema),
27
31
  underlyingTables: z.array(z.string()),
28
32
  definition: z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"describe_view.js","sourceRoot":"","sources":["../../src/schemas/describe_view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IACzB,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAClC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"describe_view.js","sourceRoot":"","sources":["../../src/schemas/describe_view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,mEAAmE;IACnE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IACzB,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,iFAAiF;IACjF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAClC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC"}
@@ -1,74 +1,25 @@
1
1
  import { z } from 'zod';
2
2
  export declare const getConceptContextInputSchema: z.ZodObject<{
3
3
  name: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- name: string;
6
- }, {
7
- name: string;
8
- }>;
4
+ }, z.core.$strip>;
9
5
  export declare const getConceptContextOutputSchema: z.ZodObject<{
10
6
  name: z.ZodString;
11
7
  label: z.ZodString;
12
8
  description: z.ZodNullable<z.ZodString>;
13
- aiNotes: z.ZodArray<z.ZodString, "many">;
9
+ aiNotes: z.ZodArray<z.ZodString>;
10
+ policies: z.ZodArray<z.ZodString>;
14
11
  preferredQuerySource: z.ZodString;
15
12
  joinSuggestions: z.ZodArray<z.ZodObject<{
16
13
  table: z.ZodString;
17
14
  on: z.ZodString;
18
15
  purpose: z.ZodString;
19
- }, "strip", z.ZodTypeAny, {
20
- table: string;
21
- purpose: string;
22
- on: string;
23
- }, {
24
- table: string;
25
- purpose: string;
26
- on: string;
27
- }>, "many">;
28
- relatedTables: z.ZodArray<z.ZodString, "many">;
16
+ }, z.core.$strip>>;
17
+ relatedTables: z.ZodArray<z.ZodString>;
29
18
  exampleQueries: z.ZodArray<z.ZodObject<{
30
19
  description: z.ZodString;
31
20
  sql: z.ZodString;
32
- }, "strip", z.ZodTypeAny, {
33
- description: string;
34
- sql: string;
35
- }, {
36
- description: string;
37
- sql: string;
38
- }>, "many">;
39
- }, "strip", z.ZodTypeAny, {
40
- label: string;
41
- description: string | null;
42
- name: string;
43
- aiNotes: string[];
44
- preferredQuerySource: string;
45
- joinSuggestions: {
46
- table: string;
47
- purpose: string;
48
- on: string;
49
- }[];
50
- relatedTables: string[];
51
- exampleQueries: {
52
- description: string;
53
- sql: string;
54
- }[];
55
- }, {
56
- label: string;
57
- description: string | null;
58
- name: string;
59
- aiNotes: string[];
60
- preferredQuerySource: string;
61
- joinSuggestions: {
62
- table: string;
63
- purpose: string;
64
- on: string;
65
- }[];
66
- relatedTables: string[];
67
- exampleQueries: {
68
- description: string;
69
- sql: string;
70
- }[];
71
- }>;
21
+ }, z.core.$strip>>;
22
+ }, z.core.$strip>;
72
23
  export type GetConceptContextInput = z.infer<typeof getConceptContextInputSchema>;
73
24
  export type GetConceptContextOutput = z.infer<typeof getConceptContextOutputSchema>;
74
25
  //# sourceMappingURL=get_concept_context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get_concept_context.d.ts","sourceRoot":"","sources":["../../src/schemas/get_concept_context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,4BAA4B;;;;;;EAEvC,CAAC;AAaH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASxC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
1
+ {"version":3,"file":"get_concept_context.d.ts","sourceRoot":"","sources":["../../src/schemas/get_concept_context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,4BAA4B;;iBAEvC,CAAC;AAaH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;iBAWxC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -16,6 +16,8 @@ export const getConceptContextOutputSchema = z.object({
16
16
  label: z.string(),
17
17
  description: z.string().nullable(),
18
18
  aiNotes: z.array(z.string()),
19
+ /** `@policy:` lines on the concept's VIEW COMMENT — advisory, surfaced to the AI agent. */
20
+ policies: z.array(z.string()),
19
21
  preferredQuerySource: z.string(),
20
22
  joinSuggestions: z.array(joinSuggestionSchema),
21
23
  relatedTables: z.array(z.string()),
@@ -1 +1 @@
1
- {"version":3,"file":"get_concept_context.js","sourceRoot":"","sources":["../../src/schemas/get_concept_context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE;IAChC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IAC9C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;CAC5C,CAAC,CAAC"}
1
+ {"version":3,"file":"get_concept_context.js","sourceRoot":"","sources":["../../src/schemas/get_concept_context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE;IAChC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IAC9C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;CAC5C,CAAC,CAAC"}
@@ -1,37 +1,13 @@
1
1
  import { z } from 'zod';
2
- export declare const listConceptsInputSchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
2
+ export declare const listConceptsInputSchema: z.ZodObject<{}, z.core.$strict>;
3
3
  export declare const listConceptsOutputSchema: z.ZodObject<{
4
4
  concepts: z.ZodArray<z.ZodObject<{
5
5
  name: z.ZodString;
6
6
  label: z.ZodString;
7
7
  description: z.ZodNullable<z.ZodString>;
8
8
  kind: z.ZodLiteral<"VIEW">;
9
- }, "strip", z.ZodTypeAny, {
10
- label: string;
11
- description: string | null;
12
- name: string;
13
- kind: "VIEW";
14
- }, {
15
- label: string;
16
- description: string | null;
17
- name: string;
18
- kind: "VIEW";
19
- }>, "many">;
20
- }, "strip", z.ZodTypeAny, {
21
- concepts: {
22
- label: string;
23
- description: string | null;
24
- name: string;
25
- kind: "VIEW";
26
- }[];
27
- }, {
28
- concepts: {
29
- label: string;
30
- description: string | null;
31
- name: string;
32
- kind: "VIEW";
33
- }[];
34
- }>;
9
+ }, z.core.$strip>>;
10
+ }, z.core.$strip>;
35
11
  export type ListConceptsInput = z.infer<typeof listConceptsInputSchema>;
36
12
  export type ListConceptsOutput = z.infer<typeof listConceptsOutputSchema>;
37
13
  //# sourceMappingURL=list_concepts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list_concepts.d.ts","sourceRoot":"","sources":["../../src/schemas/list_concepts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB,iDAAwB,CAAC;AAE7D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASnC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"list_concepts.d.ts","sourceRoot":"","sources":["../../src/schemas/list_concepts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,uBAAuB,iCAAqB,CAAC;AAE1D,eAAO,MAAM,wBAAwB;;;;;;;iBASnC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import { z } from 'zod';
2
- export const listConceptsInputSchema = z.object({}).strict();
2
+ // No inputs; reject any extra fields. zod 4 infers a strict empty object as
3
+ // `Record<string, never>`, so the tool fn takes the raw `Record<string,
4
+ // unknown>` args and validates them through this schema rather than typing
5
+ // its parameter as the inferred (and unassignable) empty-object type.
6
+ export const listConceptsInputSchema = z.strictObject({});
3
7
  export const listConceptsOutputSchema = z.object({
4
8
  concepts: z.array(z.object({
5
9
  name: z.string(),