covara 0.9.2 → 0.10.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 (124) hide show
  1. package/README.md +8 -13
  2. package/dist/auth/api-keys.d.ts +17 -0
  3. package/dist/auth/api-keys.d.ts.map +1 -1
  4. package/dist/auth/api-keys.js +75 -0
  5. package/dist/auth/api-keys.js.map +1 -1
  6. package/dist/auth/config.d.ts +7 -3
  7. package/dist/auth/config.d.ts.map +1 -1
  8. package/dist/auth/config.js +8 -5
  9. package/dist/auth/config.js.map +1 -1
  10. package/dist/auth/index.d.ts +4 -4
  11. package/dist/auth/index.d.ts.map +1 -1
  12. package/dist/auth/index.js +3 -3
  13. package/dist/auth/index.js.map +1 -1
  14. package/dist/auth/stores/drizzle.d.ts +6 -2
  15. package/dist/auth/stores/drizzle.d.ts.map +1 -1
  16. package/dist/auth/stores/drizzle.js +68 -70
  17. package/dist/auth/stores/drizzle.js.map +1 -1
  18. package/dist/auth/stores/index.d.ts +4 -2
  19. package/dist/auth/stores/index.d.ts.map +1 -1
  20. package/dist/auth/stores/index.js +3 -1
  21. package/dist/auth/stores/index.js.map +1 -1
  22. package/dist/auth/stores/kv.d.ts +31 -0
  23. package/dist/auth/stores/kv.d.ts.map +1 -0
  24. package/dist/auth/stores/{redis.js → kv.js} +8 -4
  25. package/dist/auth/stores/kv.js.map +1 -0
  26. package/dist/auth/verification.d.ts +12 -0
  27. package/dist/auth/verification.d.ts.map +1 -1
  28. package/dist/auth/verification.js +0 -0
  29. package/dist/auth/verification.js.map +1 -1
  30. package/dist/cli/commands/env.d.ts.map +1 -1
  31. package/dist/cli/commands/env.js +1 -13
  32. package/dist/cli/commands/env.js.map +1 -1
  33. package/dist/cli/dotenv.d.ts +3 -0
  34. package/dist/cli/dotenv.d.ts.map +1 -0
  35. package/dist/cli/dotenv.js +34 -0
  36. package/dist/cli/dotenv.js.map +1 -0
  37. package/dist/cli/index.d.ts.map +1 -1
  38. package/dist/cli/index.js +13 -2
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/cli/options.d.ts +3 -0
  41. package/dist/cli/options.d.ts.map +1 -1
  42. package/dist/cli/options.js +1 -0
  43. package/dist/cli/options.js.map +1 -1
  44. package/dist/cli/templates/configs.d.ts.map +1 -1
  45. package/dist/cli/templates/configs.js +15 -1
  46. package/dist/cli/templates/configs.js.map +1 -1
  47. package/dist/cli/templates/deploy.d.ts +1 -1
  48. package/dist/cli/templates/deploy.d.ts.map +1 -1
  49. package/dist/cli/templates/deploy.js +10 -2
  50. package/dist/cli/templates/deploy.js.map +1 -1
  51. package/dist/cli/templates/frontend.d.ts +11 -0
  52. package/dist/cli/templates/frontend.d.ts.map +1 -0
  53. package/dist/cli/templates/frontend.js +254 -0
  54. package/dist/cli/templates/frontend.js.map +1 -0
  55. package/dist/cli/templates/index.d.ts +1 -0
  56. package/dist/cli/templates/index.d.ts.map +1 -1
  57. package/dist/cli/templates/index.js +6 -1
  58. package/dist/cli/templates/index.js.map +1 -1
  59. package/dist/cli/templates/package-json.d.ts.map +1 -1
  60. package/dist/cli/templates/package-json.js +66 -64
  61. package/dist/cli/templates/package-json.js.map +1 -1
  62. package/dist/cli/templates/source.d.ts.map +1 -1
  63. package/dist/cli/templates/source.js +79 -1
  64. package/dist/cli/templates/source.js.map +1 -1
  65. package/dist/cli/templates/versions.d.ts +24 -0
  66. package/dist/cli/templates/versions.d.ts.map +1 -0
  67. package/dist/cli/templates/versions.js +53 -0
  68. package/dist/cli/templates/versions.js.map +1 -0
  69. package/dist/db/index.d.ts +2 -2
  70. package/dist/db/index.d.ts.map +1 -1
  71. package/dist/db/index.js +1 -1
  72. package/dist/db/index.js.map +1 -1
  73. package/dist/db/internal-schema.d.ts +39 -0
  74. package/dist/db/internal-schema.d.ts.map +1 -1
  75. package/dist/db/internal-schema.js +97 -0
  76. package/dist/db/internal-schema.js.map +1 -1
  77. package/dist/db/migrate.d.ts +11 -2
  78. package/dist/db/migrate.d.ts.map +1 -1
  79. package/dist/db/migrate.js +166 -31
  80. package/dist/db/migrate.js.map +1 -1
  81. package/dist/index.d.ts +6 -4
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +5 -3
  84. package/dist/index.js.map +1 -1
  85. package/dist/kv/index.d.ts +1 -1
  86. package/dist/kv/index.d.ts.map +1 -1
  87. package/dist/kv/index.js +1 -1
  88. package/dist/kv/index.js.map +1 -1
  89. package/dist/kv/types.d.ts +1 -0
  90. package/dist/kv/types.d.ts.map +1 -1
  91. package/dist/kv/types.js +3 -0
  92. package/dist/kv/types.js.map +1 -1
  93. package/dist/middleware/observability.d.ts +1 -0
  94. package/dist/middleware/observability.d.ts.map +1 -1
  95. package/dist/middleware/observability.js +41 -27
  96. package/dist/middleware/observability.js.map +1 -1
  97. package/dist/observability/index.d.ts +3 -0
  98. package/dist/observability/index.d.ts.map +1 -0
  99. package/dist/observability/index.js +2 -0
  100. package/dist/observability/index.js.map +1 -0
  101. package/dist/observability/log-adapter.d.ts +50 -0
  102. package/dist/observability/log-adapter.d.ts.map +1 -0
  103. package/dist/observability/log-adapter.js +174 -0
  104. package/dist/observability/log-adapter.js.map +1 -0
  105. package/dist/server/app.d.ts +3 -0
  106. package/dist/server/app.d.ts.map +1 -1
  107. package/dist/server/app.js +1 -0
  108. package/dist/server/app.js.map +1 -1
  109. package/dist/ui/admin-auth.d.ts +3 -0
  110. package/dist/ui/admin-auth.d.ts.map +1 -1
  111. package/dist/ui/admin-auth.js +56 -26
  112. package/dist/ui/admin-auth.js.map +1 -1
  113. package/dist/ui/index.d.ts +2 -2
  114. package/dist/ui/index.d.ts.map +1 -1
  115. package/dist/ui/index.js +2 -2
  116. package/dist/ui/index.js.map +1 -1
  117. package/dist/ui/middleware.d.ts +9 -1
  118. package/dist/ui/middleware.d.ts.map +1 -1
  119. package/dist/ui/middleware.js +44 -24
  120. package/dist/ui/middleware.js.map +1 -1
  121. package/package.json +2 -2
  122. package/dist/auth/stores/redis.d.ts +0 -25
  123. package/dist/auth/stores/redis.d.ts.map +0 -1
  124. package/dist/auth/stores/redis.js.map +0 -1
@@ -0,0 +1,53 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ // Pin the generated `covara` dependency to the version of the CLI doing the
5
+ // scaffolding — that version is, by definition, published (it's the same package
6
+ // the user invoked), so `npm install` always resolves. Falls back to the literal
7
+ // below only if the CLI's own package.json can't be located.
8
+ const FALLBACK_COVARA_VERSION = "^0.9.0";
9
+ export const resolveCovaraVersion = () => {
10
+ try {
11
+ let dir = path.dirname(fileURLToPath(import.meta.url));
12
+ for (let i = 0; i < 10; i++) {
13
+ const candidate = path.join(dir, "package.json");
14
+ if (fs.existsSync(candidate)) {
15
+ const pkg = JSON.parse(fs.readFileSync(candidate, "utf8"));
16
+ if (pkg.name === "covara" && pkg.version) {
17
+ return `^${pkg.version}`;
18
+ }
19
+ }
20
+ const parent = path.dirname(dir);
21
+ if (parent === dir)
22
+ break;
23
+ dir = parent;
24
+ }
25
+ }
26
+ catch {
27
+ // fall through to the fallback
28
+ }
29
+ return FALLBACK_COVARA_VERSION;
30
+ };
31
+ export const VERSIONS = {
32
+ covara: resolveCovaraVersion(),
33
+ hono: "^4.12.25",
34
+ honoNodeServer: "^1.13.7",
35
+ drizzleOrm: "^0.45.1",
36
+ zod: "^4.3.5",
37
+ libsql: "^0.17.0",
38
+ postgres: "^3.4.7",
39
+ typescript: "^5.9.3",
40
+ tsx: "^4.21.0",
41
+ drizzleKit: "^0.31.8",
42
+ typesNode: "^25.0.8",
43
+ wrangler: "^4.0.0",
44
+ workersTypes: "^4.0.0",
45
+ vitest: "^3.0.0",
46
+ react: "^18.3.1",
47
+ reactDom: "^18.3.1",
48
+ typesReact: "^18.3.12",
49
+ typesReactDom: "^18.3.1",
50
+ viteReactPlugin: "^4.3.4",
51
+ vite: "^6.0.5",
52
+ };
53
+ //# sourceMappingURL=versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../src/cli/templates/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,4EAA4E;AAC5E,iFAAiF;AACjF,iFAAiF;AACjF,6DAA6D;AAC7D,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAW,EAAE;IAC/C,IAAI,CAAC;QACH,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACjD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAGxD,CAAC;gBACF,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBACzC,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,MAAM,KAAK,GAAG;gBAAE,MAAM;YAC1B,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IACD,OAAO,uBAAuB,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,oBAAoB,EAAE;IAC9B,IAAI,EAAE,UAAU;IAChB,cAAc,EAAE,SAAS;IACzB,UAAU,EAAE,SAAS;IACrB,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,SAAS;IACd,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,QAAQ;IACtB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,UAAU;IACtB,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,QAAQ;IACzB,IAAI,EAAE,QAAQ;CACN,CAAC"}
@@ -1,5 +1,5 @@
1
- export { authSessions, authAccounts, authApiKeys, authVerificationTokens, authSessionsSqlite, authAccountsSqlite, authApiKeysSqlite, authVerificationTokensSqlite, authSessionsPg, authAccountsPg, authApiKeysPg, authVerificationTokensPg, internalSchema, internalSchemaSqlite, internalSchemaPg, INTERNAL_TABLE_NAMES, } from "./internal-schema.js";
2
- export type { InternalTableName } from "./internal-schema.js";
1
+ export { authSessions, authAccounts, authApiKeys, authVerificationTokens, authSessionsSqlite, authAccountsSqlite, authApiKeysSqlite, authVerificationTokensSqlite, authSessionsPg, authAccountsPg, authApiKeysPg, authVerificationTokensPg, internalSchema, internalSchemaSqlite, internalSchemaPg, INTERNAL_TABLE_NAMES, SESSION_KEYS, ACCOUNT_KEYS, API_KEY_KEYS, VERIFICATION_KEYS, defineInternalSchema, makeIdentityResolver, } from "./internal-schema.js";
2
+ export type { InternalTableName, SessionKey, AccountKey, ApiKeyKey, VerificationKey, TableResolver, InternalTableOverride, InternalSchemaInput, InternalSchemaBundle, } from "./internal-schema.js";
3
3
  export { migrateInternal, autoMigrate, detectDialect } from "./migrate.js";
4
4
  export type { Dialect, MigrateOptions, MigrationSummary } from "./migrate.js";
5
5
  export { seed, createSeed, SeedBuilder } from "./seed.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,cAAc,EACd,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACxE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACvD,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,cAAc,EACd,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACxE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACvD,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
package/dist/db/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { authSessions, authAccounts, authApiKeys, authVerificationTokens, authSessionsSqlite, authAccountsSqlite, authApiKeysSqlite, authVerificationTokensSqlite, authSessionsPg, authAccountsPg, authApiKeysPg, authVerificationTokensPg, internalSchema, internalSchemaSqlite, internalSchemaPg, INTERNAL_TABLE_NAMES, } from "./internal-schema.js";
1
+ export { authSessions, authAccounts, authApiKeys, authVerificationTokens, authSessionsSqlite, authAccountsSqlite, authApiKeysSqlite, authVerificationTokensSqlite, authSessionsPg, authAccountsPg, authApiKeysPg, authVerificationTokensPg, internalSchema, internalSchemaSqlite, internalSchemaPg, INTERNAL_TABLE_NAMES, SESSION_KEYS, ACCOUNT_KEYS, API_KEY_KEYS, VERIFICATION_KEYS, defineInternalSchema, makeIdentityResolver, } from "./internal-schema.js";
2
2
  export { migrateInternal, autoMigrate, detectDialect } from "./migrate.js";
3
3
  export { seed, createSeed, SeedBuilder } from "./seed.js";
4
4
  export { recommendedPoolConfig } from "./pooling.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,cAAc,EACd,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGxE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAQvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,cAAc,EACd,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAa3B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGxE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAQvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC"}
@@ -3828,4 +3828,43 @@ export declare const authVerificationTokens: import("drizzle-orm/sqlite-core").S
3828
3828
  };
3829
3829
  dialect: "sqlite";
3830
3830
  }>;
3831
+ export declare const SESSION_KEYS: readonly ["id", "userId", "createdAt", "expiresAt", "data"];
3832
+ export type SessionKey = (typeof SESSION_KEYS)[number];
3833
+ export declare const ACCOUNT_KEYS: readonly ["userId", "type", "provider", "providerAccountId", "refresh_token", "access_token", "expires_at", "token_type", "scope", "id_token", "session_state"];
3834
+ export type AccountKey = (typeof ACCOUNT_KEYS)[number];
3835
+ export declare const API_KEY_KEYS: readonly ["id", "userId", "name", "keyHash", "keyPrefix", "scopes", "createdAt", "expiresAt", "lastUsedAt", "revokedAt"];
3836
+ export type ApiKeyKey = (typeof API_KEY_KEYS)[number];
3837
+ export declare const VERIFICATION_KEYS: readonly ["identifier", "token", "expires"];
3838
+ export type VerificationKey = (typeof VERIFICATION_KEYS)[number];
3839
+ type AnyTable = Record<string, unknown>;
3840
+ export interface TableResolver<K extends string> {
3841
+ table: AnyTable;
3842
+ col(key: K): unknown;
3843
+ prop(key: K): string;
3844
+ dbName(key: K): string;
3845
+ has(key: K): boolean;
3846
+ }
3847
+ export interface InternalTableOverride<K extends string> {
3848
+ table: AnyTable;
3849
+ fieldMap?: Partial<Record<K, string>>;
3850
+ }
3851
+ export declare const makeIdentityResolver: <K extends string>(table: AnyTable, required: readonly K[], label?: string) => TableResolver<K>;
3852
+ export interface InternalSchemaInput {
3853
+ dialect?: "sqlite" | "postgresql";
3854
+ sessions?: InternalTableOverride<SessionKey>;
3855
+ accounts?: InternalTableOverride<AccountKey>;
3856
+ apiKeys?: InternalTableOverride<ApiKeyKey>;
3857
+ verificationTokens?: InternalTableOverride<VerificationKey>;
3858
+ managedExternally?: boolean;
3859
+ }
3860
+ export interface InternalSchemaBundle {
3861
+ dialect: "sqlite" | "postgresql";
3862
+ managedExternally: boolean;
3863
+ sessions: TableResolver<SessionKey>;
3864
+ accounts: TableResolver<AccountKey>;
3865
+ apiKeys: TableResolver<ApiKeyKey>;
3866
+ verificationTokens: TableResolver<VerificationKey>;
3867
+ }
3868
+ export declare const defineInternalSchema: (input?: InternalSchemaInput) => InternalSchemaBundle;
3869
+ export {};
3831
3870
  //# sourceMappingURL=internal-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-schema.d.ts","sourceRoot":"","sources":["../../src/db/internal-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal-schema.d.ts","sourceRoot":"","sources":["../../src/db/internal-schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { sqliteTable, text as sqliteText, integer as sqliteInteger, primaryKey as sqlitePrimaryKey, index as sqliteIndex, } from "drizzle-orm/sqlite-core";
2
2
  import { pgTable, text as pgText, timestamp as pgTimestamp, jsonb as pgJsonb, primaryKey as pgPrimaryKey, index as pgIndex, } from "drizzle-orm/pg-core";
3
+ import { getTableColumns } from "drizzle-orm";
3
4
  export const INTERNAL_TABLE_NAMES = [
4
5
  "auth_sessions",
5
6
  "auth_accounts",
@@ -127,4 +128,100 @@ export const authSessions = authSessionsSqlite;
127
128
  export const authAccounts = authAccountsSqlite;
128
129
  export const authApiKeys = authApiKeysSqlite;
129
130
  export const authVerificationTokens = authVerificationTokensSqlite;
131
+ export const SESSION_KEYS = [
132
+ "id",
133
+ "userId",
134
+ "createdAt",
135
+ "expiresAt",
136
+ "data",
137
+ ];
138
+ const SESSION_REQUIRED = [
139
+ "id",
140
+ "userId",
141
+ "createdAt",
142
+ "expiresAt",
143
+ ];
144
+ export const ACCOUNT_KEYS = [
145
+ "userId",
146
+ "type",
147
+ "provider",
148
+ "providerAccountId",
149
+ "refresh_token",
150
+ "access_token",
151
+ "expires_at",
152
+ "token_type",
153
+ "scope",
154
+ "id_token",
155
+ "session_state",
156
+ ];
157
+ const ACCOUNT_REQUIRED = [
158
+ "userId",
159
+ "type",
160
+ "provider",
161
+ "providerAccountId",
162
+ ];
163
+ export const API_KEY_KEYS = [
164
+ "id",
165
+ "userId",
166
+ "name",
167
+ "keyHash",
168
+ "keyPrefix",
169
+ "scopes",
170
+ "createdAt",
171
+ "expiresAt",
172
+ "lastUsedAt",
173
+ "revokedAt",
174
+ ];
175
+ const API_KEY_REQUIRED = [
176
+ "id",
177
+ "userId",
178
+ "name",
179
+ "keyHash",
180
+ "keyPrefix",
181
+ "createdAt",
182
+ ];
183
+ export const VERIFICATION_KEYS = ["identifier", "token", "expires"];
184
+ const VERIFICATION_REQUIRED = [
185
+ "identifier",
186
+ "token",
187
+ "expires",
188
+ ];
189
+ const makeResolver = (table, required, label, fieldMap) => {
190
+ let columns = {};
191
+ try {
192
+ columns = getTableColumns(table);
193
+ }
194
+ catch {
195
+ columns = {};
196
+ }
197
+ const propOf = (key) => (fieldMap?.[key] ?? key);
198
+ const hasProp = (p) => columns[p] != null || table[p] != null;
199
+ for (const key of required) {
200
+ const p = propOf(key);
201
+ if (!hasProp(p)) {
202
+ throw new Error(`internalSchema.${label}.${key}: required column not found on the supplied table (looked for property "${p}"). Map it via fieldMap.`);
203
+ }
204
+ }
205
+ return {
206
+ table,
207
+ col: (key) => columns[propOf(key)] ?? table[propOf(key)],
208
+ prop: (key) => propOf(key),
209
+ dbName: (key) => columns[propOf(key)]?.name ?? propOf(key),
210
+ has: (key) => hasProp(propOf(key)),
211
+ };
212
+ };
213
+ export const makeIdentityResolver = (table, required, label = "table") => makeResolver(table, required, label);
214
+ export const defineInternalSchema = (input = {}) => {
215
+ const dialect = input.dialect ?? "sqlite";
216
+ const builtins = internalSchema(dialect);
217
+ const resolve = (override, builtin, required, label) => makeResolver(override?.table ?? builtin, required, label, override?.fieldMap);
218
+ return {
219
+ dialect,
220
+ managedExternally: input.managedExternally ?? false,
221
+ sessions: resolve(input.sessions, builtins.authSessions, SESSION_REQUIRED, "sessions"),
222
+ accounts: resolve(input.accounts, builtins.authAccounts, ACCOUNT_REQUIRED, "accounts"),
223
+ apiKeys: resolve(input.apiKeys, builtins.authApiKeys, API_KEY_REQUIRED, "apiKeys"),
224
+ verificationTokens: resolve(input.verificationTokens, builtins.authVerificationTokens, VERIFICATION_REQUIRED, "verificationTokens"),
225
+ };
226
+ };
130
227
  //# sourceMappingURL=internal-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-schema.js","sourceRoot":"","sources":["../../src/db/internal-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,IAAI,IAAI,UAAU,EAClB,OAAO,IAAI,aAAa,EACxB,UAAU,IAAI,gBAAgB,EAC9B,KAAK,IAAI,WAAW,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,OAAO,EACP,IAAI,IAAI,MAAM,EACd,SAAS,IAAI,WAAW,EACxB,KAAK,IAAI,OAAO,EAChB,UAAU,IAAI,YAAY,EAC1B,KAAK,IAAI,OAAO,GACjB,MAAM,qBAAqB,CAAC;AAQ7B,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACvD,eAAe;IACf,eAAe;IACf,eAAe;IACf,0BAA0B;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAC3C,eAAe,EACf;IACE,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IACjC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IACtC,SAAS,EAAE,aAAa,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACtE,SAAS,EAAE,aAAa,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACtE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;CACzB,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,SAAS,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IAClE,YAAY,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CAC5E,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAC3C,eAAe,EACf;IACE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IACtC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAClC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IAC1C,iBAAiB,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE;IAC5D,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC;IAC1C,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC;IACxC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC;IACvC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC;IACpC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;IAC1B,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC;IAChC,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC;CAC3C,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,WAAW,EAAE,gBAAgB,CAAC;QAC5B,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC;KACnD,CAAC;IACF,SAAS,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;CACnE,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAC1C,eAAe,EACf;IACE,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IACjC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IACtC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;IACxC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IAC5C,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAY;IAChE,SAAS,EAAE,aAAa,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACtE,SAAS,EAAE,aAAa,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC5D,UAAU,EAAE,aAAa,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC9D,SAAS,EAAE,aAAa,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;CAC7D,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,SAAS,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IAClE,YAAY,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CACzE,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,0BAA0B,EAC1B;IACE,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IAC9C,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IACpC,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;CACnE,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,WAAW,EAAE,gBAAgB,CAAC;QAC5B,OAAO,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC;KACzC,CAAC;CACH,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CACnC,eAAe,EACf;IACE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC7B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAClC,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/D,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/D,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;CACrB,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,SAAS,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9D,YAAY,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CACxE,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CACnC,eAAe,EACf;IACE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC9B,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACtC,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE;IACxD,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC;IACpC,UAAU,EAAE,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvD,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC;CACvC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,WAAW,EAAE,YAAY,CAAC;QACxB,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC;KACnD,CAAC;IACF,SAAS,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;CAC/D,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAClC,eAAe,EACf;IACE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC7B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC9B,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;IACpC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IACxC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAY;IAC3C,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/D,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrD,UAAU,EAAE,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvD,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;CACtD,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,SAAS,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9D,YAAY,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CACrE,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAC7C,0BAA0B,EAC1B;IACE,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IAC1C,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IAChC,OAAO,EAAE,WAAW,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CAC5D,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,WAAW,EAAE,YAAY,CAAC;QACxB,OAAO,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC;KACzC,CAAC;CACH,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;IAChC,WAAW,EAAE,iBAAiB;IAC9B,sBAAsB,EAAE,4BAA4B;CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,sBAAsB,EAAE,wBAAwB;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAgC,EAAE,EAAE,CACjE,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAErE,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAC/C,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC"}
1
+ {"version":3,"file":"internal-schema.js","sourceRoot":"","sources":["../../src/db/internal-schema.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,22 @@
1
1
  import type { DrizzleDatabase } from "../resource/types.js";
2
- import { type InternalTableName } from "./internal-schema.js";
2
+ import { type InternalSchemaBundle } from "./internal-schema.js";
3
3
  export type Dialect = "sqlite" | "postgresql";
4
4
  export interface MigrateOptions {
5
5
  dialect?: Dialect;
6
+ /**
7
+ * A bundle from `defineInternalSchema`. When supplied, migration is driven by
8
+ * the bundle: `managedExternally: true` makes this a no-op (you run your own
9
+ * migrations, e.g. drizzle-kit); otherwise DDL is generated from the supplied
10
+ * tables (single-primary-key tables only — compound-PK customizations must use
11
+ * `managedExternally: true`).
12
+ */
13
+ schema?: InternalSchemaBundle;
6
14
  }
7
15
  export interface MigrationSummary {
8
16
  dialect: Dialect;
9
- tables: InternalTableName[];
17
+ tables: string[];
10
18
  statements: number;
19
+ skipped?: boolean;
11
20
  }
12
21
  export declare const detectDialect: (db: DrizzleDatabase) => Dialect;
13
22
  export declare const migrateInternal: (db: DrizzleDatabase, options?: MigrateOptions) => Promise<MigrationSummary>;
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,GAAI,IAAI,eAAe,KAAG,OAMnD,CAAC;AA6GF,eAAO,MAAM,eAAe,GAC1B,IAAI,eAAe,EACnB,UAAS,cAAmB,KAC3B,OAAO,CAAC,gBAAgB,CAa1B,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,IAAI,eAAe,EACnB,UAAS,cAAmB,KAC3B,OAAO,CAAC,gBAAgB,CAAiC,CAAC"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAIL,KAAK,oBAAoB,EAE1B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,GAAI,IAAI,eAAe,KAAG,OAMnD,CAAC;AAyMF,eAAO,MAAM,eAAe,GAC1B,IAAI,eAAe,EACnB,UAAS,cAAmB,KAC3B,OAAO,CAAC,gBAAgB,CAuF1B,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,IAAI,eAAe,EACnB,UAAS,cAAmB,KAC3B,OAAO,CAAC,gBAAgB,CAAiC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { sql } from "drizzle-orm";
2
- import { INTERNAL_TABLE_NAMES } from "./internal-schema.js";
1
+ import { sql, getTableColumns, getTableName } from "drizzle-orm";
2
+ import { INTERNAL_TABLE_NAMES, internalSchema, } from "./internal-schema.js";
3
3
  export const detectDialect = (db) => {
4
4
  const name = db.dialect
5
5
  ?.constructor?.name ?? "";
@@ -19,17 +19,20 @@ const runDDL = async (db, statement) => {
19
19
  }
20
20
  throw new Error("Drizzle db exposes neither run() nor execute()");
21
21
  };
22
- const sqliteDDL = [
23
- `CREATE TABLE IF NOT EXISTS auth_sessions (
22
+ const sqliteDDLByTable = {
23
+ auth_sessions: [
24
+ `CREATE TABLE IF NOT EXISTS auth_sessions (
24
25
  id TEXT PRIMARY KEY NOT NULL,
25
26
  userId TEXT NOT NULL,
26
27
  createdAt INTEGER NOT NULL,
27
28
  expiresAt INTEGER NOT NULL,
28
29
  data TEXT
29
30
  )`,
30
- `CREATE INDEX IF NOT EXISTS auth_session_userId_idx ON auth_sessions (userId)`,
31
- `CREATE INDEX IF NOT EXISTS auth_session_expiresAt_idx ON auth_sessions (expiresAt)`,
32
- `CREATE TABLE IF NOT EXISTS auth_accounts (
31
+ `CREATE INDEX IF NOT EXISTS auth_session_userId_idx ON auth_sessions (userId)`,
32
+ `CREATE INDEX IF NOT EXISTS auth_session_expiresAt_idx ON auth_sessions (expiresAt)`,
33
+ ],
34
+ auth_accounts: [
35
+ `CREATE TABLE IF NOT EXISTS auth_accounts (
33
36
  userId TEXT NOT NULL,
34
37
  type TEXT NOT NULL,
35
38
  provider TEXT NOT NULL,
@@ -43,8 +46,10 @@ const sqliteDDL = [
43
46
  session_state TEXT,
44
47
  PRIMARY KEY (provider, providerAccountId)
45
48
  )`,
46
- `CREATE INDEX IF NOT EXISTS auth_account_userId_idx ON auth_accounts (userId)`,
47
- `CREATE TABLE IF NOT EXISTS auth_api_keys (
49
+ `CREATE INDEX IF NOT EXISTS auth_account_userId_idx ON auth_accounts (userId)`,
50
+ ],
51
+ auth_api_keys: [
52
+ `CREATE TABLE IF NOT EXISTS auth_api_keys (
48
53
  id TEXT PRIMARY KEY NOT NULL,
49
54
  userId TEXT NOT NULL,
50
55
  name TEXT NOT NULL,
@@ -56,26 +61,32 @@ const sqliteDDL = [
56
61
  lastUsedAt INTEGER,
57
62
  revokedAt INTEGER
58
63
  )`,
59
- `CREATE INDEX IF NOT EXISTS auth_api_key_userId_idx ON auth_api_keys (userId)`,
60
- `CREATE INDEX IF NOT EXISTS auth_api_key_prefix_idx ON auth_api_keys (keyPrefix)`,
61
- `CREATE TABLE IF NOT EXISTS auth_verification_tokens (
64
+ `CREATE INDEX IF NOT EXISTS auth_api_key_userId_idx ON auth_api_keys (userId)`,
65
+ `CREATE INDEX IF NOT EXISTS auth_api_key_prefix_idx ON auth_api_keys (keyPrefix)`,
66
+ ],
67
+ auth_verification_tokens: [
68
+ `CREATE TABLE IF NOT EXISTS auth_verification_tokens (
62
69
  identifier TEXT NOT NULL,
63
70
  token TEXT NOT NULL,
64
71
  expires INTEGER NOT NULL,
65
72
  PRIMARY KEY (identifier, token)
66
73
  )`,
67
- ];
68
- const postgresDDL = [
69
- `CREATE TABLE IF NOT EXISTS auth_sessions (
74
+ ],
75
+ };
76
+ const postgresDDLByTable = {
77
+ auth_sessions: [
78
+ `CREATE TABLE IF NOT EXISTS auth_sessions (
70
79
  "id" TEXT PRIMARY KEY NOT NULL,
71
80
  "userId" TEXT NOT NULL,
72
81
  "createdAt" TIMESTAMP NOT NULL,
73
82
  "expiresAt" TIMESTAMP NOT NULL,
74
83
  "data" TEXT
75
84
  )`,
76
- `CREATE INDEX IF NOT EXISTS auth_session_userId_idx ON auth_sessions ("userId")`,
77
- `CREATE INDEX IF NOT EXISTS auth_session_expiresAt_idx ON auth_sessions ("expiresAt")`,
78
- `CREATE TABLE IF NOT EXISTS auth_accounts (
85
+ `CREATE INDEX IF NOT EXISTS auth_session_userId_idx ON auth_sessions ("userId")`,
86
+ `CREATE INDEX IF NOT EXISTS auth_session_expiresAt_idx ON auth_sessions ("expiresAt")`,
87
+ ],
88
+ auth_accounts: [
89
+ `CREATE TABLE IF NOT EXISTS auth_accounts (
79
90
  "userId" TEXT NOT NULL,
80
91
  "type" TEXT NOT NULL,
81
92
  "provider" TEXT NOT NULL,
@@ -89,8 +100,10 @@ const postgresDDL = [
89
100
  "session_state" TEXT,
90
101
  PRIMARY KEY ("provider", "providerAccountId")
91
102
  )`,
92
- `CREATE INDEX IF NOT EXISTS auth_account_userId_idx ON auth_accounts ("userId")`,
93
- `CREATE TABLE IF NOT EXISTS auth_api_keys (
103
+ `CREATE INDEX IF NOT EXISTS auth_account_userId_idx ON auth_accounts ("userId")`,
104
+ ],
105
+ auth_api_keys: [
106
+ `CREATE TABLE IF NOT EXISTS auth_api_keys (
94
107
  "id" TEXT PRIMARY KEY NOT NULL,
95
108
  "userId" TEXT NOT NULL,
96
109
  "name" TEXT NOT NULL,
@@ -102,26 +115,148 @@ const postgresDDL = [
102
115
  "lastUsedAt" TIMESTAMP,
103
116
  "revokedAt" TIMESTAMP
104
117
  )`,
105
- `CREATE INDEX IF NOT EXISTS auth_api_key_userId_idx ON auth_api_keys ("userId")`,
106
- `CREATE INDEX IF NOT EXISTS auth_api_key_prefix_idx ON auth_api_keys ("keyPrefix")`,
107
- `CREATE TABLE IF NOT EXISTS auth_verification_tokens (
118
+ `CREATE INDEX IF NOT EXISTS auth_api_key_userId_idx ON auth_api_keys ("userId")`,
119
+ `CREATE INDEX IF NOT EXISTS auth_api_key_prefix_idx ON auth_api_keys ("keyPrefix")`,
120
+ ],
121
+ auth_verification_tokens: [
122
+ `CREATE TABLE IF NOT EXISTS auth_verification_tokens (
108
123
  "identifier" TEXT NOT NULL,
109
124
  "token" TEXT NOT NULL,
110
125
  "expires" TIMESTAMP NOT NULL,
111
126
  PRIMARY KEY ("identifier", "token")
112
127
  )`,
113
- ];
128
+ ],
129
+ };
130
+ const builtinDDL = (dialect) => {
131
+ const byTable = dialect === "postgresql" ? postgresDDLByTable : sqliteDDLByTable;
132
+ return INTERNAL_TABLE_NAMES.flatMap((name) => byTable[name]);
133
+ };
134
+ const sqlType = (column, dialect) => {
135
+ const dataType = column.dataType ?? "string";
136
+ if (dialect === "postgresql") {
137
+ switch (dataType) {
138
+ case "number":
139
+ return "INTEGER";
140
+ case "boolean":
141
+ return "BOOLEAN";
142
+ case "date":
143
+ return "TIMESTAMP";
144
+ case "json":
145
+ return "JSONB";
146
+ default:
147
+ return "TEXT";
148
+ }
149
+ }
150
+ switch (dataType) {
151
+ case "number":
152
+ case "boolean":
153
+ case "date":
154
+ return "INTEGER";
155
+ default:
156
+ return "TEXT";
157
+ }
158
+ };
159
+ const quote = (name, dialect) => dialect === "postgresql" ? `"${name}"` : name;
160
+ // Generate a CREATE TABLE for a user-supplied (overridden) internal table.
161
+ // Only single-primary-key tables are supported; compound-PK customizations must
162
+ // use `managedExternally: true` + their own migration tool (indexes are not
163
+ // reconstructed here either).
164
+ const generateTableDDL = (resolver, label, dialect) => {
165
+ const table = resolver.table;
166
+ const tableName = getTableName(table);
167
+ const columns = getTableColumns(table);
168
+ const cols = Object.values(columns);
169
+ const primaryCols = cols.filter((c) => c.primary);
170
+ if (primaryCols.length !== 1) {
171
+ throw new Error(`internalSchema.${label} ("${tableName}") has a compound or missing primary key, which generated migrations cannot reconstruct. Set internalSchema.managedExternally = true and create the table with your own migration tool (e.g. drizzle-kit).`);
172
+ }
173
+ const defs = cols.map((c) => {
174
+ const parts = [quote(c.name, dialect), sqlType(c, dialect)];
175
+ if (c.notNull)
176
+ parts.push("NOT NULL");
177
+ if (c.primary)
178
+ parts.push("PRIMARY KEY");
179
+ return parts.join(" ");
180
+ });
181
+ return `CREATE TABLE IF NOT EXISTS ${quote(tableName, dialect)} (\n ${defs.join(",\n ")}\n )`;
182
+ };
183
+ const isBuiltin = (resolver, builtin) => resolver.table === builtin;
114
184
  export const migrateInternal = async (db, options = {}) => {
115
- const dialect = options.dialect ?? detectDialect(db);
116
- const statements = dialect === "postgresql" ? postgresDDL : sqliteDDL;
185
+ const schema = options.schema;
186
+ const dialect = options.dialect ?? schema?.dialect ?? detectDialect(db);
187
+ // Mode (b): user manages migrations themselves.
188
+ if (schema?.managedExternally) {
189
+ return {
190
+ dialect,
191
+ tables: [
192
+ getTableName(schema.sessions.table),
193
+ getTableName(schema.accounts.table),
194
+ getTableName(schema.apiKeys.table),
195
+ getTableName(schema.verificationTokens.table),
196
+ ],
197
+ statements: 0,
198
+ skipped: true,
199
+ };
200
+ }
201
+ // Mode (a): no custom schema — run the built-in hardcoded DDL byte-for-byte.
202
+ if (!schema) {
203
+ const statements = builtinDDL(dialect);
204
+ for (const statement of statements) {
205
+ await runDDL(db, statement);
206
+ }
207
+ return {
208
+ dialect,
209
+ tables: [...INTERNAL_TABLE_NAMES],
210
+ statements: statements.length,
211
+ };
212
+ }
213
+ // Mode (c): generate DDL from the bundle. Built-in (non-overridden) tables
214
+ // reuse their canonical DDL (with indexes/compound PKs); overrides are
215
+ // generated from the table object.
216
+ const builtins = internalSchema(dialect);
217
+ const byTable = dialect === "postgresql" ? postgresDDLByTable : sqliteDDLByTable;
218
+ const entries = [
219
+ {
220
+ resolver: schema.sessions,
221
+ builtin: builtins.authSessions,
222
+ canonical: "auth_sessions",
223
+ label: "sessions",
224
+ },
225
+ {
226
+ resolver: schema.accounts,
227
+ builtin: builtins.authAccounts,
228
+ canonical: "auth_accounts",
229
+ label: "accounts",
230
+ },
231
+ {
232
+ resolver: schema.apiKeys,
233
+ builtin: builtins.authApiKeys,
234
+ canonical: "auth_api_keys",
235
+ label: "apiKeys",
236
+ },
237
+ {
238
+ resolver: schema.verificationTokens,
239
+ builtin: builtins.authVerificationTokens,
240
+ canonical: "auth_verification_tokens",
241
+ label: "verificationTokens",
242
+ },
243
+ ];
244
+ const statements = [];
245
+ const tables = [];
246
+ for (const entry of entries) {
247
+ if (isBuiltin(entry.resolver, entry.builtin)) {
248
+ statements.push(...byTable[entry.canonical]);
249
+ tables.push(entry.canonical);
250
+ }
251
+ else {
252
+ statements.push(generateTableDDL(entry.resolver, entry.label, dialect));
253
+ tables.push(getTableName(entry.resolver.table));
254
+ }
255
+ }
117
256
  for (const statement of statements) {
118
257
  await runDDL(db, statement);
119
258
  }
120
- return {
121
- dialect,
122
- tables: [...INTERNAL_TABLE_NAMES],
123
- statements: statements.length,
124
- };
259
+ return { dialect, tables, statements: statements.length };
125
260
  };
126
261
  export const autoMigrate = async (db, options = {}) => migrateInternal(db, options);
127
262
  //# sourceMappingURL=migrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAA0B,MAAM,mBAAmB,CAAC;AAcjF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAmB,EAAW,EAAE;IAC5D,MAAM,IAAI,GACP,EAAwD,CAAC,OAAO;QAC/D,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;IAC9B,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACnD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,KAAK,EAAE,EAAmB,EAAE,SAAiB,EAAiB,EAAE;IAC7E,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,OAAQ,EAAwB,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QACxD,MAAO,EAAgD,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,IAAI,OAAQ,EAA4B,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAChE,MAAO,EAAoD,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,SAAS,GAAa;IAC1B;;;;;;IAME;IACF,8EAA8E;IAC9E,oFAAoF;IACpF;;;;;;;;;;;;;IAaE;IACF,8EAA8E;IAC9E;;;;;;;;;;;IAWE;IACF,8EAA8E;IAC9E,iFAAiF;IACjF;;;;;IAKE;CACH,CAAC;AAEF,MAAM,WAAW,GAAa;IAC5B;;;;;;IAME;IACF,gFAAgF;IAChF,sFAAsF;IACtF;;;;;;;;;;;;;IAaE;IACF,gFAAgF;IAChF;;;;;;;;;;;IAWE;IACF,gFAAgF;IAChF,mFAAmF;IACnF;;;;;IAKE;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,EAAmB,EACnB,UAA0B,EAAE,EACD,EAAE;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,OAAO;QACP,MAAM,EAAE,CAAC,GAAG,oBAAoB,CAAC;QACjC,UAAU,EAAE,UAAU,CAAC,MAAM;KAC9B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,EAAmB,EACnB,UAA0B,EAAE,EACD,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"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"}