@dbmason/core 0.1.0-alpha.1

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 (104) hide show
  1. package/README.md +17 -0
  2. package/dist/DbmasonContext-Baf-v6-B.mjs +31 -0
  3. package/dist/DbmasonContext-Baf-v6-B.mjs.map +1 -0
  4. package/dist/DbmasonContext-Dw0gG7AV.js +2 -0
  5. package/dist/DbmasonContext-Dw0gG7AV.js.map +1 -0
  6. package/dist/ast/nodes.d.ts +192 -0
  7. package/dist/ast/nodes.d.ts.map +1 -0
  8. package/dist/cli/commands/client.d.ts +2 -0
  9. package/dist/cli/commands/client.d.ts.map +1 -0
  10. package/dist/cli/commands/generate.d.ts +2 -0
  11. package/dist/cli/commands/generate.d.ts.map +1 -0
  12. package/dist/cli/commands/init.d.ts +2 -0
  13. package/dist/cli/commands/init.d.ts.map +1 -0
  14. package/dist/cli/commands/migrate.d.ts +2 -0
  15. package/dist/cli/commands/migrate.d.ts.map +1 -0
  16. package/dist/cli/commands/pull.d.ts +2 -0
  17. package/dist/cli/commands/pull.d.ts.map +1 -0
  18. package/dist/cli/index.d.ts +3 -0
  19. package/dist/cli/index.d.ts.map +1 -0
  20. package/dist/cli/index.js +81 -0
  21. package/dist/cli/index.js.map +1 -0
  22. package/dist/cli/index.mjs +929 -0
  23. package/dist/cli/index.mjs.map +1 -0
  24. package/dist/client/generateClientMetadata.d.ts +8 -0
  25. package/dist/client/generateClientMetadata.d.ts.map +1 -0
  26. package/dist/client/standaloneGenerator.d.ts +5 -0
  27. package/dist/client/standaloneGenerator.d.ts.map +1 -0
  28. package/dist/compiler/DbmasonContext.d.ts +74 -0
  29. package/dist/compiler/DbmasonContext.d.ts.map +1 -0
  30. package/dist/compiler/Dialect.d.ts +25 -0
  31. package/dist/compiler/Dialect.d.ts.map +1 -0
  32. package/dist/compiler/Introspector.d.ts +5 -0
  33. package/dist/compiler/Introspector.d.ts.map +1 -0
  34. package/dist/compiler/SnapshotBuilder.d.ts +5 -0
  35. package/dist/compiler/SnapshotBuilder.d.ts.map +1 -0
  36. package/dist/compiler/analyzers/dependency.resolver.d.ts +11 -0
  37. package/dist/compiler/analyzers/dependency.resolver.d.ts.map +1 -0
  38. package/dist/compiler/analyzers/schema.analyzer.d.ts +11 -0
  39. package/dist/compiler/analyzers/schema.analyzer.d.ts.map +1 -0
  40. package/dist/compiler/compile.d.ts +18 -0
  41. package/dist/compiler/compile.d.ts.map +1 -0
  42. package/dist/compiler/diff.d.ts +25 -0
  43. package/dist/compiler/diff.d.ts.map +1 -0
  44. package/dist/definitions/Cron.d.ts +2 -0
  45. package/dist/definitions/Cron.d.ts.map +1 -0
  46. package/dist/definitions/Extension.d.ts +2 -0
  47. package/dist/definitions/Extension.d.ts.map +1 -0
  48. package/dist/definitions/Function.d.ts +2 -0
  49. package/dist/definitions/Function.d.ts.map +1 -0
  50. package/dist/definitions/Grant.d.ts +2 -0
  51. package/dist/definitions/Grant.d.ts.map +1 -0
  52. package/dist/definitions/Module.d.ts +2 -0
  53. package/dist/definitions/Module.d.ts.map +1 -0
  54. package/dist/definitions/Policy.d.ts +2 -0
  55. package/dist/definitions/Policy.d.ts.map +1 -0
  56. package/dist/definitions/Procedure.d.ts +2 -0
  57. package/dist/definitions/Procedure.d.ts.map +1 -0
  58. package/dist/definitions/Role.d.ts +2 -0
  59. package/dist/definitions/Role.d.ts.map +1 -0
  60. package/dist/definitions/Table.d.ts +4 -0
  61. package/dist/definitions/Table.d.ts.map +1 -0
  62. package/dist/definitions/Trigger.d.ts +2 -0
  63. package/dist/definitions/Trigger.d.ts.map +1 -0
  64. package/dist/definitions/Type.d.ts +2 -0
  65. package/dist/definitions/Type.d.ts.map +1 -0
  66. package/dist/definitions/View.d.ts +3 -0
  67. package/dist/definitions/View.d.ts.map +1 -0
  68. package/dist/definitions/collectors/Cron.internal.d.ts +6 -0
  69. package/dist/definitions/collectors/Cron.internal.d.ts.map +1 -0
  70. package/dist/definitions/collectors/Extension.internal.d.ts +9 -0
  71. package/dist/definitions/collectors/Extension.internal.d.ts.map +1 -0
  72. package/dist/definitions/collectors/Function.internal.d.ts +8 -0
  73. package/dist/definitions/collectors/Function.internal.d.ts.map +1 -0
  74. package/dist/definitions/collectors/Grant.internal.d.ts +8 -0
  75. package/dist/definitions/collectors/Grant.internal.d.ts.map +1 -0
  76. package/dist/definitions/collectors/Policy.internal.d.ts +7 -0
  77. package/dist/definitions/collectors/Policy.internal.d.ts.map +1 -0
  78. package/dist/definitions/collectors/Procedure.internal.d.ts +8 -0
  79. package/dist/definitions/collectors/Procedure.internal.d.ts.map +1 -0
  80. package/dist/definitions/collectors/Role.internal.d.ts +8 -0
  81. package/dist/definitions/collectors/Role.internal.d.ts.map +1 -0
  82. package/dist/definitions/collectors/Table.internal.d.ts +23 -0
  83. package/dist/definitions/collectors/Table.internal.d.ts.map +1 -0
  84. package/dist/definitions/collectors/Trigger.internal.d.ts +5 -0
  85. package/dist/definitions/collectors/Trigger.internal.d.ts.map +1 -0
  86. package/dist/definitions/collectors/Type.internal.d.ts +11 -0
  87. package/dist/definitions/collectors/Type.internal.d.ts.map +1 -0
  88. package/dist/definitions/collectors/View.internal.d.ts +10 -0
  89. package/dist/definitions/collectors/View.internal.d.ts.map +1 -0
  90. package/dist/definitions/handles.d.ts +121 -0
  91. package/dist/definitions/handles.d.ts.map +1 -0
  92. package/dist/index.d.ts +21 -0
  93. package/dist/index.d.ts.map +1 -0
  94. package/dist/index.js +2 -0
  95. package/dist/index.js.map +1 -0
  96. package/dist/index.mjs +353 -0
  97. package/dist/index.mjs.map +1 -0
  98. package/dist/templates/cli/auth.cli.template.ts +95 -0
  99. package/dist/templates/cli/minimal.cli.template.ts +5 -0
  100. package/dist/types.d.ts +18 -0
  101. package/dist/types.d.ts.map +1 -0
  102. package/package.json +38 -0
  103. package/templates/cli/auth.cli.template.ts +95 -0
  104. package/templates/cli/minimal.cli.template.ts +5 -0
@@ -0,0 +1,6 @@
1
+ import { DbmasonContext, DbmasonScope } from '../../compiler/DbmasonContext';
2
+ /**
3
+ * Internal Cron Collector
4
+ */
5
+ export declare function internalDefineCron(scope: DbmasonContext | DbmasonScope, name: string, schedule: string, command: string): void;
6
+ //# sourceMappingURL=Cron.internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cron.internal.d.ts","sourceRoot":"","sources":["../../../src/definitions/collectors/Cron.internal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAG3F;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAU9H"}
@@ -0,0 +1,9 @@
1
+ import { DbmasonContext, DbmasonScope } from '../../compiler/DbmasonContext';
2
+ /**
3
+ * Internal Extension Collector
4
+ */
5
+ export declare function internalDefineExtension(scope: DbmasonContext | DbmasonScope, name: string, options?: {
6
+ schema?: string;
7
+ version?: string;
8
+ }): void;
9
+ //# sourceMappingURL=Extension.internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Extension.internal.d.ts","sourceRoot":"","sources":["../../../src/definitions/collectors/Extension.internal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAG3F;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUjJ"}
@@ -0,0 +1,8 @@
1
+ import { RoutineInput } from '../../ast/nodes';
2
+ import { DbmasonContext, DbmasonScope } from '../../compiler/DbmasonContext';
3
+ import { FunctionHandle } from '../handles';
4
+ /**
5
+ * Internal Function Collector
6
+ */
7
+ export declare function internalDefineFunction(scope: DbmasonContext | DbmasonScope, name: string, input: RoutineInput): FunctionHandle;
8
+ //# sourceMappingURL=Function.internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Function.internal.d.ts","sourceRoot":"","sources":["../../../src/definitions/collectors/Function.internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EACH,cAAc,EAMjB,MAAM,YAAY,CAAC;AACpB;;GAEG;AACH,wBAAgB,sBAAsB,CAClC,KAAK,EAAE,cAAc,GAAG,YAAY,EACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,YAAY,GACpB,cAAc,CAwChB"}
@@ -0,0 +1,8 @@
1
+ import { GrantObjectKind } from '../../ast/nodes';
2
+ import { DbmasonContext } from '../../compiler/DbmasonContext';
3
+ import { RoleReference, TableReference } from '../handles';
4
+ /**
5
+ * Internal Grant Collector
6
+ */
7
+ export declare function internalDefineGrant(ctx: DbmasonContext, to: RoleReference, privileges: string[], kind: GrantObjectKind, on: TableReference): void;
8
+ //# sourceMappingURL=Grant.internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grant.internal.d.ts","sourceRoot":"","sources":["../../../src/definitions/collectors/Grant.internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,eAAe,EAAqN,MAAM,iBAAiB,CAAC;AAC/Q,OAAO,EAAE,cAAc,EAA8B,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAwE,aAAa,EAAE,cAAc,EAA4D,MAAM,YAAY,CAAC;AAG3L;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,aAAa,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,eAAe,EACrB,EAAE,EAAE,cAAc,GACnB,IAAI,CAcN"}
@@ -0,0 +1,7 @@
1
+ import { PolicyNode } from '../../ast/nodes';
2
+ import { DbmasonContext, DbmasonScope } from '../../compiler/DbmasonContext';
3
+ /**
4
+ * Internal Policy Collector
5
+ */
6
+ export declare function internalDefinePolicy(scope: DbmasonContext | DbmasonScope, name: string, input: any): PolicyNode;
7
+ //# sourceMappingURL=Policy.internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Policy.internal.d.ts","sourceRoot":"","sources":["../../../src/definitions/collectors/Policy.internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4G,UAAU,EAAuH,MAAM,iBAAiB,CAAC;AAC5Q,OAAO,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAI3F;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,UAAU,CAqB/G"}
@@ -0,0 +1,8 @@
1
+ import { RoutineInput } from '../../ast/nodes';
2
+ import { DbmasonContext, DbmasonScope } from '../../compiler/DbmasonContext';
3
+ import { ProcedureHandle } from '../handles';
4
+ /**
5
+ * Internal Procedure Collector
6
+ */
7
+ export declare function internalDefineProcedure(scope: DbmasonContext | DbmasonScope, name: string, input: RoutineInput): ProcedureHandle;
8
+ //# sourceMappingURL=Procedure.internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Procedure.internal.d.ts","sourceRoot":"","sources":["../../../src/definitions/collectors/Procedure.internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,YAAY,EAAqN,MAAM,iBAAiB,CAAC;AAC5Q,OAAO,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EACH,eAAe,EAOlB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,cAAc,GAAG,YAAY,EACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,YAAY,GACpB,eAAe,CAwCjB"}
@@ -0,0 +1,8 @@
1
+ import { RoleNode } from '../../ast/nodes';
2
+ import { DbmasonContext, DbmasonScope } from '../../compiler/DbmasonContext';
3
+ import { RoleHandle } from '../handles';
4
+ /**
5
+ * Internal Role Collector
6
+ */
7
+ export declare function internalDefineRole(scope: DbmasonContext | DbmasonScope, name: string, options?: RoleNode['options']): RoleHandle;
8
+ //# sourceMappingURL=Role.internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Role.internal.d.ts","sourceRoot":"","sources":["../../../src/definitions/collectors/Role.internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqN,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC9P,OAAO,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAqJ,UAAU,EAAE,MAAM,YAAY,CAAC;AAG3L;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,UAAU,CAehI"}
@@ -0,0 +1,23 @@
1
+ import { ColumnNode, IndexNode, ConstraintNode } from '../../ast/nodes';
2
+ import { DbmasonContext, DbmasonScope } from '../../compiler/DbmasonContext';
3
+ import { ColumnHandle, TableHandle } from '../handles';
4
+ /**
5
+ * Common Constraint Helpers
6
+ */
7
+ export declare const check: (name: string, definition: string) => ConstraintNode;
8
+ export declare const uniqueConstraint: (name: string, definition: string) => ConstraintNode;
9
+ export declare const foreignKey: (name: string, definition: string) => ConstraintNode;
10
+ export interface TableCollectorInput {
11
+ columns: unknown;
12
+ constraints?: ConstraintNode[];
13
+ indexes?: IndexNode[];
14
+ policies?: unknown[];
15
+ triggers?: unknown[];
16
+ migration?: 'safe' | 'destructive';
17
+ options?: unknown;
18
+ }
19
+ /**
20
+ * Internal Table Collector Logic
21
+ */
22
+ export declare function internalDefineTable(scope: DbmasonContext | DbmasonScope, name: string, input: TableCollectorInput, processColumns: (columns: any) => Record<string, ColumnNode>): TableHandle & Record<string, ColumnHandle>;
23
+ //# sourceMappingURL=Table.internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.internal.d.ts","sourceRoot":"","sources":["../../../src/definitions/collectors/Table.internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,SAAS,EAAE,cAAc,EAA8K,MAAM,iBAAiB,CAAC;AAC9P,OAAO,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EACH,YAAY,EACZ,WAAW,EAKd,MAAM,YAAY,CAAC;AAKpB;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,YAAY,MAAM,KAAG,cAEvD,CAAC;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,YAAY,MAAM,KAAG,cAElE,CAAC;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,YAAY,MAAM,KAAG,cAE5D,CAAC;AAEH,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,cAAc,GAAG,YAAY,EACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,mBAAmB,EAC1B,cAAc,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAC7D,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAuF5C"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Internal Trigger Collector
3
+ */
4
+ export declare function internalDefineTrigger(scope: any, tableName: string, name: string, input: any): void;
5
+ //# sourceMappingURL=Trigger.internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Trigger.internal.d.ts","sourceRoot":"","sources":["../../../src/definitions/collectors/Trigger.internal.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,GACX,IAAI,CA0BN"}
@@ -0,0 +1,11 @@
1
+ import { DbmasonContext, DbmasonScope } from '../../compiler/DbmasonContext';
2
+ import { TypeHandle } from '../handles';
3
+ /**
4
+ * Internal Enum Collector
5
+ */
6
+ export declare function internalDefineEnum(scope: DbmasonContext | DbmasonScope, name: string, values: string[]): TypeHandle;
7
+ /**
8
+ * Internal Composite Type Collector
9
+ */
10
+ export declare function internalDefineCompositeType(scope: DbmasonContext | DbmasonScope, name: string, fields: Record<string, string | TypeHandle>): TypeHandle;
11
+ //# sourceMappingURL=Type.internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Type.internal.d.ts","sourceRoot":"","sources":["../../../src/definitions/collectors/Type.internal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAqJ,MAAM,YAAY,CAAC;AAG3L;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAiBnH;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,UAAU,CAwBvJ"}
@@ -0,0 +1,10 @@
1
+ import { DbmasonContext, DbmasonScope } from '../../compiler/DbmasonContext';
2
+ /**
3
+ * Internal View Collector
4
+ */
5
+ export declare function internalDefineView(scope: DbmasonContext | DbmasonScope, name: string, query: string): void;
6
+ /**
7
+ * Internal Materialized View Collector
8
+ */
9
+ export declare function internalDefineMaterializedView(scope: DbmasonContext | DbmasonScope, name: string, query: string): void;
10
+ //# sourceMappingURL=View.internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"View.internal.d.ts","sourceRoot":"","sources":["../../../src/definitions/collectors/View.internal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAG3F;;GAEG;AACH,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,cAAc,GAAG,YAAY,EACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACd,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC1C,KAAK,EAAE,cAAc,GAAG,YAAY,EACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACd,IAAI,CASN"}
@@ -0,0 +1,121 @@
1
+ import { DbmasonScope } from '../compiler/DbmasonContext';
2
+ /**
3
+ * A simple identity tagged template literal for SQL syntax highlighting in IDEs.
4
+ */
5
+ export declare function sql(strings: TemplateStringsArray, ...values: any[]): string;
6
+ export type ReferentialAction = 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT' | 'NO ACTION';
7
+ /**
8
+ * ColumnHandle - Reference to a specific column in a specific table.
9
+ */
10
+ export interface ColumnHandle {
11
+ kind: 'ColumnHandle';
12
+ tableName: string;
13
+ columnName: string;
14
+ moduleName?: string;
15
+ }
16
+ /**
17
+ * TableHandle - Typed proxy for a database table.
18
+ */
19
+ export interface TableHandle extends DbmasonScope {
20
+ kind: 'TableHandle';
21
+ tableName: string;
22
+ moduleName?: string;
23
+ ctx: any;
24
+ }
25
+ /**
26
+ * RoleHandle - Typed proxy for a database role.
27
+ */
28
+ export interface RoleHandle {
29
+ kind: 'RoleHandle';
30
+ roleName: string;
31
+ moduleName?: string;
32
+ }
33
+ /**
34
+ * TypeHandle - Typed proxy for a custom database type.
35
+ */
36
+ export interface TypeHandle {
37
+ kind: 'TypeHandle';
38
+ typeName: string;
39
+ moduleName?: string;
40
+ ctx: any;
41
+ }
42
+ /**
43
+ * ProcedureHandle - Typed proxy for a database procedure.
44
+ */
45
+ export interface ProcedureHandle {
46
+ kind: 'ProcedureHandle';
47
+ name: string;
48
+ moduleName?: string;
49
+ }
50
+ /**
51
+ * FunctionHandle - Typed proxy for a database function.
52
+ */
53
+ export interface FunctionHandle {
54
+ kind: 'FunctionHandle';
55
+ name: string;
56
+ moduleName?: string;
57
+ }
58
+ /**
59
+ * Polydbmason references
60
+ */
61
+ export type ColumnReference = ColumnHandle | string;
62
+ export type TableReference = TableHandle | string;
63
+ export type RoleReference = RoleHandle | string;
64
+ export type TypeReference = TypeHandle | string;
65
+ /**
66
+ * resolveTable - Unwraps a table handle or string into a plain table name.
67
+ */
68
+ export declare function resolveTable(ref: TableReference): string;
69
+ /**
70
+ * resolveRole - Unwraps a role handle or string into a plain role name.
71
+ */
72
+ export declare function resolveRole(ref: RoleReference): string;
73
+ /**
74
+ * resolveType - Unwraps a type handle or string into a plain type name.
75
+ */
76
+ export declare function resolveType(ref: TypeReference): string;
77
+ /**
78
+ * resolveProcedure - Unwraps a procedure handle or string.
79
+ */
80
+ export declare function resolveProcedure(ref: ProcedureHandle | string): string;
81
+ /**
82
+ * resolveFunction - Unwraps a function handle or string.
83
+ */
84
+ export declare function resolveFunction(ref: FunctionHandle | string): string;
85
+ /**
86
+ * resolveColumn - Unwraps a column reference into its components.
87
+ */
88
+ export declare function resolveColumn(ref: ColumnReference): {
89
+ table?: string;
90
+ column: string;
91
+ module?: string;
92
+ };
93
+ /**
94
+ * useProcedure - Resolves a procedure handle from the context by name.
95
+ */
96
+ export declare function useProcedure(ctx: any, name: string): ProcedureHandle;
97
+ /**
98
+ * useFunction - Resolves a function handle from the context by name.
99
+ */
100
+ export declare function useFunction(ctx: any, name: string): FunctionHandle;
101
+ /**
102
+ * useType - Resolves a type handle from the context by name.
103
+ */
104
+ export declare function useType(ctx: any, name: string): TypeHandle;
105
+ /**
106
+ * useRole - Resolves a role handle from the context by name.
107
+ */
108
+ export declare function useRole(ctx: any, name: string): RoleHandle;
109
+ /**
110
+ * useTable - Resolves a table handle from the context by name.
111
+ */
112
+ export declare function useTable(ctx: any, name: string): TableHandle & Record<string, ColumnHandle>;
113
+ /**
114
+ * useView - Resolves a view handle from the context by name.
115
+ */
116
+ export declare const useView: typeof useTable;
117
+ /**
118
+ * useMaterializedView - Resolves a materialized view handle from the context by name.
119
+ */
120
+ export declare const useMaterializedView: typeof useTable;
121
+ //# sourceMappingURL=handles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../src/definitions/handles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export { DbmasonContext, resolveScope } from './compiler/DbmasonContext';
2
+ export type { DbmasonScope } from './compiler/DbmasonContext';
3
+ export type { TableHandle, ColumnHandle, RoleHandle, TypeHandle, ProcedureHandle, FunctionHandle, TableReference, ColumnReference, RoleReference, TypeReference } from './definitions/handles';
4
+ export { sql, useTable, useView, useMaterializedView, useProcedure, useFunction, useType, useRole, } from './definitions/handles';
5
+ export { resolveTable, resolveRole, resolveColumn, resolveType, resolveProcedure, resolveFunction, } from './definitions/handles';
6
+ export { internalDefineTable, } from './definitions/collectors/Table.internal';
7
+ export { internalDefineView, internalDefineMaterializedView, } from './definitions/collectors/View.internal';
8
+ export { internalDefineProcedure, } from './definitions/collectors/Procedure.internal';
9
+ export { internalDefineFunction, } from './definitions/collectors/Function.internal';
10
+ export { internalDefineTrigger, } from './definitions/collectors/Trigger.internal';
11
+ export { internalDefinePolicy, } from './definitions/collectors/Policy.internal';
12
+ export { internalDefineRole, } from './definitions/collectors/Role.internal';
13
+ export { internalDefineGrant, } from './definitions/collectors/Grant.internal';
14
+ export { internalDefineCron, } from './definitions/collectors/Cron.internal';
15
+ export { internalDefineExtension, } from './definitions/collectors/Extension.internal';
16
+ export { internalDefineEnum, internalDefineCompositeType } from './definitions/collectors/Type.internal';
17
+ export type { TableNode, AnalyzedTableNode, ColumnNode, IndexNode, ConstraintNode, ProcedureNode, FunctionNode, ViewNode, MaterializedViewNode, TriggerNode, PolicyNode, RoleNode, GrantNode, CronNode, ExtensionNode, TypeNode, ExecutionPlan, PlanStep, PlanAction, Snapshot, TriggerEvent, TriggerWhen, TriggerForEach, GrantObjectKind, DbOperation } from './ast/nodes';
18
+ export type { ReferentialAction } from './definitions/handles';
19
+ export type { DbmasonDialect, DbmasonDriver } from './compiler/Dialect';
20
+ export type { DbmasonIntrospector } from './compiler/Introspector';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI9D,YAAY,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACH,GAAG,EACH,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,OAAO,GACV,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEH,YAAY,EACZ,WAAW,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,eAAe,GAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEH,mBAAmB,GACtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACH,kBAAkB,EAClB,8BAA8B,GACjC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,uBAAuB,GAC1B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACH,sBAAsB,GACzB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACH,qBAAqB,GACxB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,oBAAoB,GACvB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACH,kBAAkB,GACrB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,mBAAmB,GACtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACH,kBAAkB,GACrB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,uBAAuB,GAC1B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC9B,MAAM,wCAAwC,CAAC;AAGhD,YAAY,EACR,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,UAAU,EACV,QAAQ,EAER,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,EACf,WAAW,EACd,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./DbmasonContext-Dw0gG7AV.js");function k(n,...o){let e="";for(let r=0;r<n.length;r++)e+=n[r],r<o.length&&(e+=String(o[r]));return e}function g(n){return typeof n=="string"?n:n.moduleName&&n.moduleName!=="global"?`"${n.moduleName}"."${n.tableName}"`:n.tableName}function b(n){return typeof n=="string"?n:n.roleName}function f(n){return typeof n=="string"?n:n.moduleName&&n.moduleName!=="global"?`"${n.moduleName}"."${n.typeName}"`:n.typeName}function p(n){return typeof n=="string"?n:n.moduleName&&n.moduleName!=="global"?`"${n.moduleName}"."${n.name}"`:n.name}function T(n){return typeof n=="string"?n:n.moduleName&&n.moduleName!=="global"?`"${n.moduleName}"."${n.name}"`:n.name}function h(n){return typeof n=="string"?{column:n}:{table:n.tableName,column:n.columnName,module:n.moduleName}}function D(n,o){const e=o.split("."),r=e.length>1?e[0]:void 0;return{kind:"ProcedureHandle",name:e.length>1?e[1]:e[0],moduleName:r}}function x(n,o){const e=o.split("."),r=e.length>1?e[0]:void 0;return{kind:"FunctionHandle",name:e.length>1?e[1]:e[0],moduleName:r}}function w(n,o){const e=o.split("."),r=e.length>1?e[0]:void 0;return{kind:"TypeHandle",typeName:e.length>1?e[1]:e[0],moduleName:r,ctx:n}}function H(n,o){const e=o.split("."),r=e.length>1?e[0]:void 0;return{kind:"RoleHandle",roleName:e.length>1?e[1]:e[0],moduleName:r}}function y(n,o){const e=o.split("."),r=e.length>1?e[0]:void 0,t=e.length>1?e[1]:e[0],l={kind:"TableHandle",tableName:t,moduleName:r,ctx:n};return new Proxy(l,{get(i,c){if(c in i)return i[c];if(typeof c=="string")return{kind:"ColumnHandle",tableName:t,columnName:c,moduleName:r}}})}const S=y,P=y;function C(n,o,e,r){const{ctx:t,moduleName:l}=a.resolveScope(n),i=r(e.columns),c=[];if(e.triggers)for(const s of e.triggers){let u;if(s&&typeof s=="object"&&"procedure"in s){const N=p(s.procedure);u={kind:"Trigger",name:s.name,table:o,when:s.when,events:s.events,functionName:N,forEach:s.forEach,condition:s.condition,module:l}}else u={...s,table:o,module:l};c.push(u),t.triggers.set(l?`${l}.${u.name}`:u.name,u)}const d=[];if(e.policies)for(const s of e.policies){let u;s&&typeof s=="object"&&"method"in s&&!("kind"in s)?u={kind:"Policy",name:s.name,table:o,module:l,method:s.method,sql:s.sql,rbac:s.rbac?.map(N=>({roles:N.roles.map($=>b($)),operations:N.allow}))}:u={...s,table:o,module:l},d.push(u),t.policies.set(l?`${l}.${u.name}`:u.name,u)}const m={kind:"Table",name:o,columns:i,constraints:e.constraints||[],indexes:e.indexes||[],policies:d,triggers:c,migration:e.migration,options:e.options,module:l};t.tables.set(l?`${l}.${o}`:o,m);const v={kind:"TableHandle",tableName:o,ctx:t,moduleName:l};for(const s of Object.keys(i))v[s]={kind:"ColumnHandle",tableName:o,columnName:s,moduleName:l};return v}function V(n,o,e){const{ctx:r,moduleName:t}=a.resolveScope(n),l={kind:"View",name:o,query:e,module:t};r.views.set(t?`${t}.${o}`:o,l)}function j(n,o,e){const{ctx:r,moduleName:t}=a.resolveScope(n),l={kind:"MaterializedView",name:o,query:e,module:t};r.materializedViews.set(t?`${t}.${o}`:o,l)}function F(n,o,e){const{ctx:r,moduleName:t}=a.resolveScope(n);let l="void";e.returns&&(typeof e.returns=="string"?l=e.returns:e.returns.kind==="TableHandle"?l=g(e.returns):e.returns.kind==="TypeHandle"&&(l=f(e.returns)));const i={};if(e.args)for(const[d,m]of Object.entries(e.args))i[d]=f(m);const c={kind:"Procedure",name:o,module:t,args:i,returns:l,language:e.language||"plpgsql",body:e.body};return r.procedures.set(t?`${t}.${o}`:o,c),{kind:"ProcedureHandle",name:o,moduleName:t}}function q(n,o,e){const{ctx:r,moduleName:t}=a.resolveScope(n);let l="void";e.returns&&(typeof e.returns=="string"?l=e.returns:e.returns.kind==="TableHandle"?l=g(e.returns):e.returns.kind==="TypeHandle"&&(l=f(e.returns)));const i={};if(e.args)for(const[d,m]of Object.entries(e.args))i[d]=f(m);const c={kind:"Function",name:o,module:t,args:i,returns:l,language:e.language||"plpgsql",body:e.body};return r.functions.set(t?`${t}.${o}`:o,c),{kind:"FunctionHandle",name:o,moduleName:t}}function E(n,o,e,r){const{ctx:t,moduleName:l}=a.resolveScope(n),i=r.procedure?p(r.procedure):void 0,c={kind:"Trigger",name:e,table:o,when:r.when,events:r.events,functionName:i,forEach:r.forEach,condition:r.condition,body:r.body,module:l};t.triggers.set(l?`${l}.${e}`:e,c);const d=l?`${l}.${o}`:o,m=t.tables.get(d);m&&(m.triggers||(m.triggers=[]),m.triggers.push(c))}function R(n,o,e){const{ctx:r,moduleName:t}=a.resolveScope(n),l=e.table?g(e.table):"",i=e.rbac?.map(d=>({roles:d.roles.map(m=>b(m)),operations:d.allow})),c={kind:"Policy",name:o,table:l,module:t,method:e.method,sql:e.sql,rbac:i};return r.policies.set(t?`${t}.${o}`:o,c),c}function z(n,o,e){const{ctx:r,moduleName:t}=a.resolveScope(n),l={kind:"Role",name:o,options:e,module:t};return r.roles.set(t?`${t}.${o}`:o,l),{kind:"RoleHandle",roleName:o,moduleName:t}}function M(n,o,e,r,t){const l=b(o),i=g(t),c={kind:"Grant",name:`grant_${e.join("_")}_on_${i}_to_${l}`,privileges:e,on:r,to:l,object:i};n.grants.set(c.name,c)}function _(n,o,e,r){const{ctx:t,moduleName:l}=a.resolveScope(n),i={kind:"Cron",name:o,schedule:e,command:r,module:l};t.crons.set(l?`${l}.${o}`:o,i)}function O(n,o,e){const{ctx:r,moduleName:t}=a.resolveScope(n),l={kind:"Extension",name:o,schema:e?.schema,version:e?.version,module:t};r.extensions.set(t?`${t}.${o}`:o,l)}function G(n,o,e){const{ctx:r,moduleName:t}=a.resolveScope(n),l={kind:"Type",name:o,type:"enum",values:e,module:t};return r.types.set(t?`${t}.${o}`:o,l),{kind:"TypeHandle",typeName:o,moduleName:t,ctx:r}}function A(n,o,e){const{ctx:r,moduleName:t}=a.resolveScope(n),l={};for(const[c,d]of Object.entries(e))l[c]=f(d);const i={kind:"Type",name:o,type:"composite",fields:l,module:t};return r.types.set(t?`${t}.${o}`:o,i),{kind:"TypeHandle",typeName:o,moduleName:t,ctx:r}}exports.DbmasonContext=a.DbmasonContext;exports.resolveScope=a.resolveScope;exports.internalDefineCompositeType=A;exports.internalDefineCron=_;exports.internalDefineEnum=G;exports.internalDefineExtension=O;exports.internalDefineFunction=q;exports.internalDefineGrant=M;exports.internalDefineMaterializedView=j;exports.internalDefinePolicy=R;exports.internalDefineProcedure=F;exports.internalDefineRole=z;exports.internalDefineTable=C;exports.internalDefineTrigger=E;exports.internalDefineView=V;exports.resolveColumn=h;exports.resolveFunction=T;exports.resolveProcedure=p;exports.resolveRole=b;exports.resolveTable=g;exports.resolveType=f;exports.sql=k;exports.useFunction=x;exports.useMaterializedView=P;exports.useProcedure=D;exports.useRole=H;exports.useTable=y;exports.useType=w;exports.useView=S;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/definitions/handles.ts","../src/definitions/collectors/Table.internal.ts","../src/definitions/collectors/View.internal.ts","../src/definitions/collectors/Procedure.internal.ts","../src/definitions/collectors/Function.internal.ts","../src/definitions/collectors/Trigger.internal.ts","../src/definitions/collectors/Policy.internal.ts","../src/definitions/collectors/Role.internal.ts","../src/definitions/collectors/Grant.internal.ts","../src/definitions/collectors/Cron.internal.ts","../src/definitions/collectors/Extension.internal.ts","../src/definitions/collectors/Type.internal.ts"],"sourcesContent":["import { DbmasonScope } from '../compiler/DbmasonContext';\n\n/**\n * A simple identity tagged template literal for SQL syntax highlighting in IDEs.\n */\nexport function sql(strings: TemplateStringsArray, ...values: any[]): string {\n let result = '';\n for (let i = 0; i < strings.length; i++) {\n result += strings[i];\n if (i < values.length) {\n result += String(values[i]);\n }\n }\n return result;\n}\n\nexport type ReferentialAction = 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT' | 'NO ACTION';\n\n/**\n * ColumnHandle - Reference to a specific column in a specific table.\n */\nexport interface ColumnHandle {\n kind: 'ColumnHandle';\n tableName: string;\n columnName: string;\n moduleName?: string;\n}\n\n/**\n * TableHandle - Typed proxy for a database table.\n */\nexport interface TableHandle extends DbmasonScope {\n kind: 'TableHandle';\n tableName: string;\n moduleName?: string;\n ctx: any;\n}\n\n/**\n * RoleHandle - Typed proxy for a database role.\n */\nexport interface RoleHandle {\n kind: 'RoleHandle';\n roleName: string;\n moduleName?: string;\n}\n\n/**\n * TypeHandle - Typed proxy for a custom database type.\n */\nexport interface TypeHandle {\n kind: 'TypeHandle';\n typeName: string;\n moduleName?: string;\n ctx: any;\n}\n\n/**\n * ProcedureHandle - Typed proxy for a database procedure.\n */\nexport interface ProcedureHandle {\n kind: 'ProcedureHandle';\n name: string;\n moduleName?: string;\n}\n\n/**\n * FunctionHandle - Typed proxy for a database function.\n */\nexport interface FunctionHandle {\n kind: 'FunctionHandle';\n name: string;\n moduleName?: string;\n}\n\n/**\n * Polydbmason references\n */\nexport type ColumnReference = ColumnHandle | string;\nexport type TableReference = TableHandle | string;\nexport type RoleReference = RoleHandle | string;\nexport type TypeReference = TypeHandle | string;\n\n/**\n * resolveTable - Unwraps a table handle or string into a plain table name.\n */\nexport function resolveTable(ref: TableReference): string {\n if (typeof ref === 'string') return ref;\n return ref.moduleName && ref.moduleName !== 'global' ? `\"${ref.moduleName}\".\"${ref.tableName}\"` : ref.tableName;\n}\n\n/**\n * resolveRole - Unwraps a role handle or string into a plain role name.\n */\nexport function resolveRole(ref: RoleReference): string {\n if (typeof ref === 'string') return ref;\n return ref.roleName;\n}\n\n/**\n * resolveType - Unwraps a type handle or string into a plain type name.\n */\nexport function resolveType(ref: TypeReference): string {\n if (typeof ref === 'string') return ref;\n return ref.moduleName && ref.moduleName !== 'global' ? `\"${ref.moduleName}\".\"${ref.typeName}\"` : ref.typeName;\n}\n\n/**\n * resolveProcedure - Unwraps a procedure handle or string.\n */\nexport function resolveProcedure(ref: ProcedureHandle | string): string {\n if (typeof ref === 'string') return ref;\n return ref.moduleName && ref.moduleName !== 'global' ? `\"${ref.moduleName}\".\"${ref.name}\"` : ref.name;\n}\n\n/**\n * resolveFunction - Unwraps a function handle or string.\n */\nexport function resolveFunction(ref: FunctionHandle | string): string {\n if (typeof ref === 'string') return ref;\n return ref.moduleName && ref.moduleName !== 'global' ? `\"${ref.moduleName}\".\"${ref.name}\"` : ref.name;\n}\n\n/**\n * resolveColumn - Unwraps a column reference into its components.\n */\nexport function resolveColumn(ref: ColumnReference): { table?: string, column: string, module?: string } {\n if (typeof ref === 'string') return { column: ref };\n return { table: ref.tableName, column: ref.columnName, module: (ref as any).moduleName };\n}\n\n/**\n * useProcedure - Resolves a procedure handle from the context by name.\n */\nexport function useProcedure(ctx: any, name: string): ProcedureHandle {\n const parts = name.split('.');\n const moduleName = parts.length > 1 ? parts[0] : undefined;\n const procName = parts.length > 1 ? parts[1] : parts[0];\n\n return {\n kind: 'ProcedureHandle',\n name: procName,\n moduleName\n };\n}\n\n/**\n * useFunction - Resolves a function handle from the context by name.\n */\nexport function useFunction(ctx: any, name: string): FunctionHandle {\n const parts = name.split('.');\n const moduleName = parts.length > 1 ? parts[0] : undefined;\n const procName = parts.length > 1 ? parts[1] : parts[0];\n\n return {\n kind: 'FunctionHandle',\n name: procName,\n moduleName\n };\n}\n\n/**\n * useType - Resolves a type handle from the context by name.\n */\nexport function useType(ctx: any, name: string): TypeHandle {\n const parts = name.split('.');\n const moduleName = parts.length > 1 ? parts[0] : undefined;\n const typeName = parts.length > 1 ? parts[1] : parts[0];\n\n return {\n kind: 'TypeHandle',\n typeName,\n moduleName,\n ctx\n };\n}\n\n/**\n * useRole - Resolves a role handle from the context by name.\n */\nexport function useRole(ctx: any, name: string): RoleHandle {\n const parts = name.split('.');\n const moduleName = parts.length > 1 ? parts[0] : undefined;\n const roleName = parts.length > 1 ? parts[1] : parts[0];\n\n return {\n kind: 'RoleHandle',\n roleName,\n moduleName\n };\n}\n\n/**\n * useTable - Resolves a table handle from the context by name.\n */\nexport function useTable(ctx: any, name: string): TableHandle & Record<string, ColumnHandle> {\n const parts = name.split('.');\n const moduleName = parts.length > 1 ? parts[0] : undefined;\n const tableName = parts.length > 1 ? parts[1] : parts[0];\n\n const handle: any = {\n kind: 'TableHandle',\n tableName,\n moduleName,\n ctx\n };\n\n return new Proxy(handle, {\n get(target, prop) {\n if (prop in target) return target[prop];\n if (typeof prop === 'string') {\n return {\n kind: 'ColumnHandle',\n tableName,\n columnName: prop,\n moduleName\n };\n }\n return undefined;\n }\n });\n}\n\n/**\n * useView - Resolves a view handle from the context by name.\n */\nexport const useView = useTable;\n\n/**\n * useMaterializedView - Resolves a materialized view handle from the context by name.\n */\nexport const useMaterializedView = useTable;\n","import { BaseNode, ColumnNode, IndexNode, ConstraintNode, TableNode, AnalyzedTableNode, TriggerNode, PolicyNode, ProcedureNode, FunctionNode, ViewNode, MaterializedViewNode, TypeNode, GrantNode, CronNode, ExtensionNode, RoleNode } from '../../ast/nodes';\nimport { DbmasonContext, DbmasonScope, resolveScope } from '../../compiler/DbmasonContext';\nimport { \n ColumnHandle, \n TableHandle, \n TableReference, \n resolveTable,\n resolveProcedure,\n resolveRole\n} from '../handles';\n\n\n\n\n/**\n * Common Constraint Helpers\n */\nexport const check = (name: string, definition: string): ConstraintNode => ({\n kind: 'Constraint', name, table: '', type: 'check', definition\n});\nexport const uniqueConstraint = (name: string, definition: string): ConstraintNode => ({\n kind: 'Constraint', name, table: '', type: 'unique', definition\n});\nexport const foreignKey = (name: string, definition: string): ConstraintNode => ({\n kind: 'Constraint', name, table: '', type: 'foreign_key', definition\n});\n\nexport interface TableCollectorInput {\n columns: unknown;\n constraints?: ConstraintNode[];\n indexes?: IndexNode[];\n policies?: unknown[];\n triggers?: unknown[];\n migration?: 'safe' | 'destructive';\n options?: unknown;\n}\n\n/**\n * Internal Table Collector Logic\n */\nexport function internalDefineTable(\n scope: DbmasonContext | DbmasonScope, \n name: string, \n input: TableCollectorInput,\n processColumns: (columns: any) => Record<string, ColumnNode>\n): TableHandle & Record<string, ColumnHandle> {\n const { ctx, moduleName } = resolveScope(scope);\n \n const columns = processColumns(input.columns);\n\n const triggerNodes: TriggerNode[] = [];\n if (input.triggers) {\n for (const t of input.triggers as any[]) {\n let node: TriggerNode;\n if (t && typeof t === 'object' && 'procedure' in t) {\n const procName = resolveProcedure(t.procedure);\n node = {\n kind: 'Trigger',\n name: t.name,\n table: name,\n when: t.when,\n events: t.events,\n functionName: procName,\n forEach: t.forEach,\n condition: t.condition,\n module: moduleName\n };\n } else {\n node = { ...t as TriggerNode, table: name, module: moduleName };\n }\n triggerNodes.push(node);\n ctx.triggers.set(moduleName ? `${moduleName}.${node.name}` : node.name, node);\n }\n }\n\n const policyNodes: PolicyNode[] = [];\n if (input.policies) {\n for (const p of input.policies as any[]) {\n let node: PolicyNode;\n if (p && typeof p === 'object' && 'method' in p && !('kind' in p)) {\n node = {\n kind: 'Policy',\n name: (p as any).name,\n table: name,\n module: moduleName,\n method: p.method as any,\n sql: p.sql,\n rbac: p.rbac?.map((r: any) => ({\n roles: r.roles.map((role: any) => resolveRole(role)),\n operations: r.allow\n }))\n };\n } else {\n node = { ...p as PolicyNode, table: name, module: moduleName };\n }\n policyNodes.push(node);\n ctx.policies.set(moduleName ? `${moduleName}.${node.name}` : node.name, node);\n }\n }\n\n const tableNode: TableNode = {\n kind: 'Table',\n name,\n columns,\n constraints: input.constraints || [],\n indexes: input.indexes || [],\n policies: policyNodes,\n triggers: triggerNodes,\n migration: input.migration,\n options: input.options,\n module: moduleName\n };\n\n ctx.tables.set(moduleName ? `${moduleName}.${name}` : name, tableNode);\n\n const handle: TableHandle & Record<string, ColumnHandle> = {\n kind: 'TableHandle',\n tableName: name,\n ctx,\n moduleName\n } as any;\n\n for (const colName of Object.keys(columns)) {\n handle[colName] = {\n kind: 'ColumnHandle',\n tableName: name,\n columnName: colName,\n moduleName\n };\n }\n\n return handle;\n}\n","import { BaseNode, ColumnNode, IndexNode, ConstraintNode, TableNode, AnalyzedTableNode, TriggerNode, PolicyNode, ProcedureNode, FunctionNode, ViewNode, MaterializedViewNode, TypeNode, GrantNode, CronNode, ExtensionNode, RoleNode } from '../../ast/nodes';\nimport { DbmasonContext, DbmasonScope, resolveScope } from '../../compiler/DbmasonContext';\n\n\n/**\n * Internal View Collector\n */\nexport function internalDefineView(\n scope: DbmasonContext | DbmasonScope, \n name: string, \n query: string\n): void {\n const { ctx, moduleName } = resolveScope(scope);\n const node: ViewNode = {\n kind: 'View',\n name,\n query,\n module: moduleName\n };\n ctx.views.set(moduleName ? `${moduleName}.${name}` : name, node);\n}\n\n/**\n * Internal Materialized View Collector\n */\nexport function internalDefineMaterializedView(\n scope: DbmasonContext | DbmasonScope, \n name: string, \n query: string\n): void {\n const { ctx, moduleName } = resolveScope(scope);\n const node: MaterializedViewNode = {\n kind: 'MaterializedView',\n name,\n query,\n module: moduleName\n };\n ctx.materializedViews.set(moduleName ? `${moduleName}.${name}` : name, node);\n}\n","import { BaseNode, RoutineInput, ColumnNode, IndexNode, ConstraintNode, TableNode, AnalyzedTableNode, TriggerNode, PolicyNode, ProcedureNode, FunctionNode, ViewNode, MaterializedViewNode, TypeNode, GrantNode, CronNode, ExtensionNode, RoleNode } from '../../ast/nodes';\nimport { DbmasonContext, DbmasonScope, resolveScope } from '../../compiler/DbmasonContext';\nimport { \n ProcedureHandle, \n TableHandle,\n TypeHandle,\n TypeReference, \n resolveType, \n resolveTable, \n TableReference \n} from '../handles';\n\n/**\n * Internal Procedure Collector\n */\nexport function internalDefineProcedure(\n scope: DbmasonContext | DbmasonScope, \n name: string, \n input: RoutineInput\n): ProcedureHandle {\n const { ctx, moduleName } = resolveScope(scope);\n\n // Resolve return type\n let returns: string = 'void';\n if (input.returns) {\n if (typeof input.returns === 'string') {\n returns = input.returns;\n } else if ((input.returns as any).kind === 'TableHandle') {\n returns = resolveTable(input.returns as TableHandle);\n } else if ((input.returns as any).kind === 'TypeHandle') {\n returns = resolveType(input.returns as TypeHandle);\n }\n }\n\n // Resolve args types\n const args: Record<string, string> = {};\n if (input.args) {\n for (const [argName, argType] of Object.entries(input.args)) {\n args[argName] = resolveType(argType as TypeReference);\n }\n }\n\n const node: ProcedureNode = {\n kind: 'Procedure',\n name,\n module: moduleName,\n args,\n returns,\n language: input.language || 'plpgsql',\n body: input.body\n };\n\n ctx.procedures.set(moduleName ? `${moduleName}.${name}` : name, node);\n\n return {\n kind: 'ProcedureHandle',\n name,\n moduleName\n };\n}\n","import { FunctionNode, RoutineInput } from '../../ast/nodes';\nimport { DbmasonContext, DbmasonScope, resolveScope } from '../../compiler/DbmasonContext';\nimport {\n FunctionHandle,\n resolveTable,\n resolveType,\n TableHandle,\n TypeHandle,\n TypeReference\n} from '../handles';\n/**\n * Internal Function Collector\n */\nexport function internalDefineFunction(\n scope: DbmasonContext | DbmasonScope, \n name: string, \n input: RoutineInput\n): FunctionHandle {\n const { ctx, moduleName } = resolveScope(scope);\n\n // Resolve return type\n let returns: string = 'void';\n if (input.returns) {\n if (typeof input.returns === 'string') {\n returns = input.returns;\n } else if ((input.returns as any).kind === 'TableHandle') {\n returns = resolveTable(input.returns as TableHandle);\n } else if ((input.returns as any).kind === 'TypeHandle') {\n returns = resolveType(input.returns as TypeHandle);\n }\n }\n\n // Resolve args types\n const args: Record<string, string> = {};\n if (input.args) {\n for (const [argName, argType] of Object.entries(input.args)) {\n args[argName] = resolveType(argType as TypeReference);\n }\n }\n\n const node: FunctionNode = {\n kind: 'Function',\n name,\n module: moduleName,\n args,\n returns,\n language: input.language || 'plpgsql',\n body: input.body\n };\n\n ctx.functions.set(moduleName ? `${moduleName}.${name}` : name, node);\n\n return {\n kind: 'FunctionHandle',\n name,\n moduleName\n };\n}\n","import { BaseNode, ColumnNode, IndexNode, ConstraintNode, TableNode, AnalyzedTableNode, TriggerNode, PolicyNode, ProcedureNode, FunctionNode, ViewNode, MaterializedViewNode, TypeNode, GrantNode, CronNode, ExtensionNode, RoleNode } from '../../ast/nodes';\nimport { DbmasonContext, DbmasonScope, resolveScope } from '../../compiler/DbmasonContext';\nimport { TypeHandle, resolveType, resolveProcedure, resolveRole, resolveTable, RoleReference, TableReference, ProcedureHandle, ColumnHandle, resolveColumn, RoleHandle } from '../handles';\n\n\n/**\n * Internal Trigger Collector\n */\nexport function internalDefineTrigger(\n scope: any, \n tableName: string, \n name: string, \n input: any\n): void {\n const { ctx, moduleName } = resolveScope(scope);\n const procName = input.procedure ? resolveProcedure(input.procedure) : undefined;\n \n const node: TriggerNode = {\n kind: 'Trigger',\n name,\n table: tableName,\n when: input.when,\n events: input.events,\n functionName: procName!, // TODO: Make optional in type if body is present\n forEach: input.forEach,\n condition: input.condition,\n body: input.body,\n module: moduleName\n };\n \n ctx.triggers.set(moduleName ? `${moduleName}.${name}` : name, node);\n \n // Also attach to the table if it exists in the same context\n const fullTableName = moduleName ? `${moduleName}.${tableName}` : tableName;\n const tableNode = ctx.tables.get(fullTableName);\n if (tableNode) {\n if (!tableNode.triggers) tableNode.triggers = [];\n tableNode.triggers.push(node);\n }\n}\n","import { BaseNode, PolicyMethod, ColumnNode, IndexNode, ConstraintNode, TableNode, AnalyzedTableNode, TriggerNode, PolicyNode, ProcedureNode, FunctionNode, ViewNode, MaterializedViewNode, TypeNode, GrantNode, CronNode, ExtensionNode, RoleNode } from '../../ast/nodes';\nimport { DbmasonContext, DbmasonScope, resolveScope } from '../../compiler/DbmasonContext';\nimport { TypeHandle, resolveType, resolveProcedure, resolveRole, resolveTable, RoleReference, TableReference, ProcedureHandle, ColumnHandle, resolveColumn, RoleHandle } from '../handles';\n\n\n/**\n * Internal Policy Collector\n */\nexport function internalDefinePolicy(scope: DbmasonContext | DbmasonScope, name: string, input: any): PolicyNode {\n const { ctx, moduleName } = resolveScope(scope);\n const table = input.table ? resolveTable(input.table) : '';\n \n // Resolve RBAC roles\n const rbac = input.rbac?.map((r: any) => ({\n roles: r.roles.map((role: any) => resolveRole(role)),\n operations: r.allow\n }));\n\n const node: PolicyNode = {\n kind: 'Policy',\n name,\n table,\n module: moduleName,\n method: input.method as PolicyMethod,\n sql: input.sql,\n rbac\n };\n ctx.policies.set(moduleName ? `${moduleName}.${name}` : name, node);\n return node;\n}\n","import { BaseNode, ColumnNode, IndexNode, ConstraintNode, TableNode, AnalyzedTableNode, TriggerNode, PolicyNode, ProcedureNode, FunctionNode, ViewNode, MaterializedViewNode, TypeNode, GrantNode, CronNode, ExtensionNode, RoleNode } from '../../ast/nodes';\nimport { DbmasonContext, DbmasonScope, resolveScope } from '../../compiler/DbmasonContext';\nimport { TypeHandle, resolveType, resolveProcedure, resolveRole, resolveTable, RoleReference, TableReference, ProcedureHandle, ColumnHandle, resolveColumn, RoleHandle } from '../handles';\n\n\n/**\n * Internal Role Collector\n */\nexport function internalDefineRole(scope: DbmasonContext | DbmasonScope, name: string, options?: RoleNode['options']): RoleHandle {\n const { ctx, moduleName } = resolveScope(scope);\n const node: RoleNode = {\n kind: 'Role',\n name,\n options,\n module: moduleName\n };\n ctx.roles.set(moduleName ? `${moduleName}.${name}` : name, node);\n\n return {\n kind: 'RoleHandle',\n roleName: name,\n moduleName\n };\n}\n","import { BaseNode, GrantObjectKind, ColumnNode, IndexNode, ConstraintNode, TableNode, AnalyzedTableNode, TriggerNode, PolicyNode, ProcedureNode, FunctionNode, ViewNode, MaterializedViewNode, TypeNode, GrantNode, CronNode, ExtensionNode, RoleNode } from '../../ast/nodes';\nimport { DbmasonContext, DbmasonScope, resolveScope } from '../../compiler/DbmasonContext';\nimport { TypeHandle, resolveType, resolveProcedure, resolveRole, resolveTable, RoleReference, TableReference, ProcedureHandle, ColumnHandle, resolveColumn, RoleHandle } from '../handles';\n\n\n/**\n * Internal Grant Collector\n */\nexport function internalDefineGrant(\n ctx: DbmasonContext, \n to: RoleReference, \n privileges: string[], \n kind: GrantObjectKind, \n on: TableReference\n): void {\n const roleName = resolveRole(to);\n const objectName = resolveTable(on);\n \n const node: GrantNode = {\n kind: 'Grant',\n name: `grant_${privileges.join('_')}_on_${objectName}_to_${roleName}`,\n privileges,\n on: kind,\n to: roleName,\n object: objectName\n };\n \n ctx.grants.set(node.name, node);\n}\n","import { BaseNode, ColumnNode, IndexNode, ConstraintNode, TableNode, AnalyzedTableNode, TriggerNode, PolicyNode, ProcedureNode, FunctionNode, ViewNode, MaterializedViewNode, TypeNode, GrantNode, CronNode, ExtensionNode, RoleNode } from '../../ast/nodes';\nimport { DbmasonContext, DbmasonScope, resolveScope } from '../../compiler/DbmasonContext';\n\n\n/**\n * Internal Cron Collector\n */\nexport function internalDefineCron(scope: DbmasonContext | DbmasonScope, name: string, schedule: string, command: string): void {\n const { ctx, moduleName } = resolveScope(scope);\n const node: CronNode = {\n kind: 'Cron',\n name,\n schedule,\n command,\n module: moduleName\n };\n ctx.crons.set(moduleName ? `${moduleName}.${name}` : name, node);\n}\n","import { BaseNode, ColumnNode, IndexNode, ConstraintNode, TableNode, AnalyzedTableNode, TriggerNode, PolicyNode, ProcedureNode, FunctionNode, ViewNode, MaterializedViewNode, TypeNode, GrantNode, CronNode, ExtensionNode, RoleNode } from '../../ast/nodes';\nimport { DbmasonContext, DbmasonScope, resolveScope } from '../../compiler/DbmasonContext';\n\n\n/**\n * Internal Extension Collector\n */\nexport function internalDefineExtension(scope: DbmasonContext | DbmasonScope, name: string, options?: { schema?: string, version?: string }): void {\n const { ctx, moduleName } = resolveScope(scope);\n const node: ExtensionNode = {\n kind: 'Extension',\n name,\n schema: options?.schema,\n version: options?.version,\n module: moduleName\n };\n ctx.extensions.set(moduleName ? `${moduleName}.${name}` : name, node);\n}\n","import { BaseNode, ColumnNode, IndexNode, ConstraintNode, TableNode, AnalyzedTableNode, TriggerNode, PolicyNode, ProcedureNode, FunctionNode, ViewNode, MaterializedViewNode, TypeNode, GrantNode, CronNode, ExtensionNode, RoleNode } from '../../ast/nodes';\nimport { DbmasonContext, DbmasonScope, resolveScope } from '../../compiler/DbmasonContext';\nimport { TypeHandle, resolveType, resolveProcedure, resolveRole, resolveTable, RoleReference, TableReference, ProcedureHandle, ColumnHandle, resolveColumn, RoleHandle } from '../handles';\n\n\n/**\n * Internal Enum Collector\n */\nexport function internalDefineEnum(scope: DbmasonContext | DbmasonScope, name: string, values: string[]): TypeHandle {\n const { ctx, moduleName } = resolveScope(scope);\n const node: TypeNode = {\n kind: 'Type',\n name,\n type: 'enum',\n values,\n module: moduleName\n };\n ctx.types.set(moduleName ? `${moduleName}.${name}` : name, node);\n\n return {\n kind: 'TypeHandle',\n typeName: name,\n moduleName,\n ctx\n };\n}\n\n/**\n * Internal Composite Type Collector\n */\nexport function internalDefineCompositeType(scope: DbmasonContext | DbmasonScope, name: string, fields: Record<string, string | TypeHandle>): TypeHandle {\n const { ctx, moduleName } = resolveScope(scope);\n\n // Resolve field types\n const resolvedFields: Record<string, string> = {};\n for (const [fieldName, fieldType] of Object.entries(fields)) {\n resolvedFields[fieldName] = resolveType(fieldType);\n }\n\n const node: TypeNode = {\n kind: 'Type',\n name,\n type: 'composite',\n fields: resolvedFields,\n module: moduleName\n };\n ctx.types.set(moduleName ? `${moduleName}.${name}` : name, node);\n\n return {\n kind: 'TypeHandle',\n typeName: name,\n moduleName,\n ctx\n };\n}\n"],"names":["sql","strings","values","result","i","resolveTable","ref","resolveRole","resolveType","resolveProcedure","resolveFunction","resolveColumn","useProcedure","ctx","name","parts","moduleName","useFunction","useType","useRole","useTable","tableName","handle","target","prop","useView","useMaterializedView","internalDefineTable","scope","input","processColumns","resolveScope","columns","triggerNodes","t","node","procName","policyNodes","p","r","role","tableNode","colName","internalDefineView","query","internalDefineMaterializedView","internalDefineProcedure","returns","args","argName","argType","internalDefineFunction","internalDefineTrigger","fullTableName","internalDefinePolicy","table","rbac","internalDefineRole","options","internalDefineGrant","to","privileges","kind","on","roleName","objectName","internalDefineCron","schedule","command","internalDefineExtension","internalDefineEnum","internalDefineCompositeType","fields","resolvedFields","fieldName","fieldType"],"mappings":"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"}