@intelligo-dev/core 1.0.0-beta.1 → 1.0.0-beta.13
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.
- package/NOTICE +6 -0
- package/README.md +102 -0
- package/dist/attachments/errors.d.ts +7 -0
- package/dist/attachments/errors.d.ts.map +1 -0
- package/dist/attachments/errors.js +11 -0
- package/dist/attachments/errors.js.map +1 -0
- package/dist/attachments/index.d.ts +8 -0
- package/dist/attachments/index.d.ts.map +1 -0
- package/dist/attachments/index.js +7 -0
- package/dist/attachments/index.js.map +1 -0
- package/dist/attachments/service.d.ts +45 -0
- package/dist/attachments/service.d.ts.map +1 -0
- package/dist/attachments/service.js +100 -0
- package/dist/attachments/service.js.map +1 -0
- package/dist/attachments/types.d.ts +6 -0
- package/dist/attachments/types.d.ts.map +1 -0
- package/dist/attachments/types.js +2 -0
- package/dist/attachments/types.js.map +1 -0
- package/dist/conversations/errors.d.ts +2 -8
- package/dist/conversations/errors.d.ts.map +1 -1
- package/dist/conversations/errors.js +2 -8
- package/dist/conversations/errors.js.map +1 -1
- package/dist/conversations/index.d.ts +4 -12
- package/dist/conversations/index.d.ts.map +1 -1
- package/dist/conversations/index.js +2 -11
- package/dist/conversations/index.js.map +1 -1
- package/dist/conversations/service.d.ts +49 -61
- package/dist/conversations/service.d.ts.map +1 -1
- package/dist/conversations/service.js +110 -83
- package/dist/conversations/service.js.map +1 -1
- package/dist/conversations/types.d.ts +1 -4
- package/dist/conversations/types.d.ts.map +1 -1
- package/dist/conversations/types.js +0 -3
- package/dist/conversations/types.js.map +1 -1
- package/dist/db/client.d.ts +21 -10
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +43 -18
- package/dist/db/client.js.map +1 -1
- package/dist/db/index.d.ts +3 -3
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +3 -7
- package/dist/db/index.js.map +1 -1
- package/dist/db/schema/agents.d.ts +14 -51
- package/dist/db/schema/agents.d.ts.map +1 -1
- package/dist/db/schema/agents.js +9 -21
- package/dist/db/schema/agents.js.map +1 -1
- package/dist/db/schema/ai.d.ts +86 -1556
- package/dist/db/schema/ai.d.ts.map +1 -1
- package/dist/db/schema/ai.js +32 -236
- package/dist/db/schema/ai.js.map +1 -1
- package/dist/db/schema/auth.d.ts +5 -34
- package/dist/db/schema/auth.d.ts.map +1 -1
- package/dist/db/schema/auth.js +25 -56
- package/dist/db/schema/auth.js.map +1 -1
- package/dist/db/schema/billing.d.ts +136 -107
- package/dist/db/schema/billing.d.ts.map +1 -1
- package/dist/db/schema/billing.js +72 -60
- package/dist/db/schema/billing.js.map +1 -1
- package/dist/db/schema/feature-flags.d.ts +3 -12
- package/dist/db/schema/feature-flags.d.ts.map +1 -1
- package/dist/db/schema/feature-flags.js +3 -12
- package/dist/db/schema/feature-flags.js.map +1 -1
- package/dist/db/schema/identity.d.ts +12 -274
- package/dist/db/schema/identity.d.ts.map +1 -1
- package/dist/db/schema/identity.js +19 -104
- package/dist/db/schema/identity.js.map +1 -1
- package/dist/db/schema/index.d.ts +8 -15
- package/dist/db/schema/index.d.ts.map +1 -1
- package/dist/db/schema/index.js +12 -42
- package/dist/db/schema/index.js.map +1 -1
- package/dist/db/schema/notifications.d.ts +3 -17
- package/dist/db/schema/notifications.d.ts.map +1 -1
- package/dist/db/schema/notifications.js +3 -17
- package/dist/db/schema/notifications.js.map +1 -1
- package/dist/db/schema/usage.d.ts +94 -77
- package/dist/db/schema/usage.d.ts.map +1 -1
- package/dist/db/schema/usage.js +59 -89
- package/dist/db/schema/usage.js.map +1 -1
- package/dist/db/validate.d.ts +2 -11
- package/dist/db/validate.d.ts.map +1 -1
- package/dist/db/validate.js +6 -17
- package/dist/db/validate.js.map +1 -1
- package/dist/db/workspace-queries.d.ts +5 -29
- package/dist/db/workspace-queries.d.ts.map +1 -1
- package/dist/db/workspace-queries.js +5 -29
- package/dist/db/workspace-queries.js.map +1 -1
- package/dist/documents/classifier.d.ts +5 -12
- package/dist/documents/classifier.d.ts.map +1 -1
- package/dist/documents/classifier.js +16 -16
- package/dist/documents/classifier.js.map +1 -1
- package/dist/documents/errors.d.ts +2 -10
- package/dist/documents/errors.d.ts.map +1 -1
- package/dist/documents/errors.js +2 -10
- package/dist/documents/errors.js.map +1 -1
- package/dist/documents/index.d.ts +4 -13
- package/dist/documents/index.d.ts.map +1 -1
- package/dist/documents/index.js +3 -12
- package/dist/documents/index.js.map +1 -1
- package/dist/documents/service.d.ts +19 -26
- package/dist/documents/service.d.ts.map +1 -1
- package/dist/documents/service.js +44 -38
- package/dist/documents/service.js.map +1 -1
- package/dist/documents/types.d.ts +6 -10
- package/dist/documents/types.d.ts.map +1 -1
- package/dist/documents/types.js +0 -3
- package/dist/documents/types.js.map +1 -1
- package/dist/email/brand.d.ts +17 -0
- package/dist/email/brand.d.ts.map +1 -0
- package/dist/email/brand.js +9 -0
- package/dist/email/brand.js.map +1 -0
- package/dist/email/index.d.ts +4 -4
- package/dist/email/index.js +4 -4
- package/dist/email/provider.d.ts +1 -7
- package/dist/email/provider.d.ts.map +1 -1
- package/dist/email/provider.js +10 -19
- package/dist/email/provider.js.map +1 -1
- package/dist/email/send.d.ts +12 -12
- package/dist/email/send.d.ts.map +1 -1
- package/dist/email/send.js +5 -19
- package/dist/email/send.js.map +1 -1
- package/dist/email/senders.d.ts +17 -30
- package/dist/email/senders.d.ts.map +1 -1
- package/dist/email/senders.js +33 -47
- package/dist/email/senders.js.map +1 -1
- package/dist/email/templates/base-layout.d.ts +1 -1
- package/dist/email/templates/base-layout.d.ts.map +1 -1
- package/dist/email/templates/base-layout.js +4 -6
- package/dist/email/templates/base-layout.js.map +1 -1
- package/dist/email/templates/index.d.ts +10 -10
- package/dist/email/templates/index.d.ts.map +1 -1
- package/dist/email/templates/index.js +10 -16
- package/dist/email/templates/index.js.map +1 -1
- package/dist/email/templates/password-reset.d.ts +2 -2
- package/dist/email/templates/password-reset.d.ts.map +1 -1
- package/dist/email/templates/password-reset.js +10 -22
- package/dist/email/templates/password-reset.js.map +1 -1
- package/dist/email/templates/payment-failed.d.ts +2 -2
- package/dist/email/templates/payment-failed.d.ts.map +1 -1
- package/dist/email/templates/payment-failed.js +11 -24
- package/dist/email/templates/payment-failed.js.map +1 -1
- package/dist/email/templates/quota-warning.d.ts +4 -4
- package/dist/email/templates/quota-warning.d.ts.map +1 -1
- package/dist/email/templates/quota-warning.js +19 -39
- package/dist/email/templates/quota-warning.js.map +1 -1
- package/dist/email/templates/subscription-confirmed.d.ts +2 -2
- package/dist/email/templates/subscription-confirmed.d.ts.map +1 -1
- package/dist/email/templates/subscription-confirmed.js +13 -28
- package/dist/email/templates/subscription-confirmed.js.map +1 -1
- package/dist/email/templates/trial-expiry.d.ts +2 -2
- package/dist/email/templates/trial-expiry.d.ts.map +1 -1
- package/dist/email/templates/trial-expiry.js +12 -36
- package/dist/email/templates/trial-expiry.js.map +1 -1
- package/dist/email/templates/trial-warning.d.ts +2 -2
- package/dist/email/templates/trial-warning.d.ts.map +1 -1
- package/dist/email/templates/trial-warning.js +15 -32
- package/dist/email/templates/trial-warning.js.map +1 -1
- package/dist/email/templates/verify-email.d.ts +2 -2
- package/dist/email/templates/verify-email.d.ts.map +1 -1
- package/dist/email/templates/verify-email.js +10 -22
- package/dist/email/templates/verify-email.js.map +1 -1
- package/dist/email/templates/welcome.d.ts +2 -2
- package/dist/email/templates/welcome.d.ts.map +1 -1
- package/dist/email/templates/welcome.js +13 -20
- package/dist/email/templates/welcome.js.map +1 -1
- package/dist/email/templates/workspace-invitation.d.ts +2 -2
- package/dist/email/templates/workspace-invitation.d.ts.map +1 -1
- package/dist/email/templates/workspace-invitation.js +12 -26
- package/dist/email/templates/workspace-invitation.js.map +1 -1
- package/dist/env.d.ts +5 -10
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +41 -31
- package/dist/env.js.map +1 -1
- package/dist/identity/audit.d.ts +11 -24
- package/dist/identity/audit.d.ts.map +1 -1
- package/dist/identity/audit.js +13 -27
- package/dist/identity/audit.js.map +1 -1
- package/dist/identity/errors.d.ts +4 -12
- package/dist/identity/errors.d.ts.map +1 -1
- package/dist/identity/errors.js +2 -8
- package/dist/identity/errors.js.map +1 -1
- package/dist/identity/index.d.ts +5 -13
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +4 -12
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/service.d.ts +13 -47
- package/dist/identity/service.d.ts.map +1 -1
- package/dist/identity/service.js +31 -78
- package/dist/identity/service.js.map +1 -1
- package/dist/identity/types.d.ts +1 -4
- package/dist/identity/types.d.ts.map +1 -1
- package/dist/identity/types.js +0 -3
- package/dist/identity/types.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -10
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +7 -18
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +45 -49
- package/dist/logger.js.map +1 -1
- package/dist/money.d.ts +95 -0
- package/dist/money.d.ts.map +1 -0
- package/dist/money.js +208 -0
- package/dist/money.js.map +1 -0
- package/dist/notifications/index.d.ts +9 -43
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +9 -49
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/triggers.d.ts +9 -32
- package/dist/notifications/triggers.d.ts.map +1 -1
- package/dist/notifications/triggers.js +21 -58
- package/dist/notifications/triggers.js.map +1 -1
- package/dist/notifications/types.d.ts +1 -10
- package/dist/notifications/types.d.ts.map +1 -1
- package/dist/notifications/types.js +0 -9
- package/dist/notifications/types.js.map +1 -1
- package/dist/prompt.d.ts +38 -0
- package/dist/prompt.d.ts.map +1 -0
- package/dist/prompt.js +118 -0
- package/dist/prompt.js.map +1 -0
- package/dist/registry.d.ts +32 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +60 -0
- package/dist/registry.js.map +1 -0
- package/dist/request-context.d.ts +49 -0
- package/dist/request-context.d.ts.map +1 -0
- package/dist/request-context.js +100 -0
- package/dist/request-context.js.map +1 -0
- package/dist/storage/index.d.ts +65 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +109 -0
- package/dist/storage/index.js.map +1 -0
- package/package.json +74 -24
- package/src/attachments/errors.ts +18 -0
- package/src/attachments/index.ts +22 -0
- package/src/attachments/service.ts +178 -0
- package/src/attachments/types.ts +6 -0
- package/src/conversations/errors.ts +45 -0
- package/src/conversations/index.ts +39 -0
- package/src/conversations/service.ts +594 -0
- package/src/conversations/types.ts +15 -0
- package/src/db/client.ts +91 -0
- package/src/db/index.ts +3 -0
- package/src/db/migrations/0000_baseline.sql +652 -0
- package/src/db/migrations/0001_reconcile_chain_built_databases.sql +53 -0
- package/src/db/migrations/0002_webhook_claim_lease.sql +1 -0
- package/src/db/migrations/README.md +74 -36
- package/src/db/migrations/legacy-chain.json +197 -0
- package/src/db/migrations/meta/0000_snapshot.json +4182 -157
- package/src/db/migrations/meta/0002_snapshot.json +2478 -368
- package/src/db/migrations/meta/_journal.json +6 -279
- package/src/db/schema/agents.ts +57 -0
- package/src/db/schema/ai.ts +174 -0
- package/src/db/schema/auth.ts +183 -0
- package/src/db/schema/billing.ts +209 -0
- package/src/db/schema/feature-flags.ts +20 -0
- package/src/db/schema/identity.ts +250 -0
- package/src/db/schema/index.ts +12 -0
- package/src/db/schema/notifications.ts +31 -0
- package/src/db/schema/usage.ts +269 -0
- package/src/db/validate.ts +63 -0
- package/src/db/workspace-queries.ts +64 -0
- package/src/documents/classifier.ts +61 -0
- package/src/documents/errors.ts +44 -0
- package/src/documents/index.ts +24 -0
- package/src/documents/service.ts +256 -0
- package/src/documents/types.ts +24 -0
- package/src/email/brand.ts +24 -0
- package/src/email/index.ts +19 -0
- package/src/email/provider.ts +278 -0
- package/src/email/send.ts +169 -0
- package/src/email/senders.ts +292 -0
- package/src/email/templates/base-layout.tsx +145 -0
- package/src/email/templates/index.ts +28 -0
- package/src/email/templates/password-reset.tsx +72 -0
- package/src/email/templates/payment-failed.tsx +77 -0
- package/src/email/templates/quota-warning.tsx +118 -0
- package/src/email/templates/subscription-confirmed.tsx +91 -0
- package/src/email/templates/trial-expiry.tsx +124 -0
- package/src/email/templates/trial-warning.tsx +104 -0
- package/src/email/templates/verify-email.tsx +72 -0
- package/src/email/templates/welcome.tsx +64 -0
- package/src/email/templates/workspace-invitation.tsx +105 -0
- package/src/env.ts +180 -0
- package/src/identity/audit.ts +65 -0
- package/src/identity/errors.ts +44 -0
- package/src/identity/index.ts +26 -0
- package/src/identity/service.ts +202 -0
- package/src/identity/types.ts +28 -0
- package/src/index.ts +4 -0
- package/src/logger.ts +198 -0
- package/src/money.ts +270 -0
- package/src/notifications/index.ts +108 -0
- package/src/notifications/triggers.ts +158 -0
- package/src/notifications/types.ts +18 -0
- package/src/prompt.ts +142 -0
- package/src/registry.ts +75 -0
- package/src/request-context.ts +137 -0
- package/src/storage/index.ts +153 -0
- package/dist/db/schema/rag.d.ts +0 -171
- package/dist/db/schema/rag.d.ts.map +0 -1
- package/dist/db/schema/rag.js +0 -42
- package/dist/db/schema/rag.js.map +0 -1
- package/src/db/migrations/0000_sharp_night_nurse.sql +0 -52
- package/src/db/migrations/0001_hesitant_vapor.sql +0 -40
- package/src/db/migrations/0002_numerous_lady_vermin.sql +0 -235
- package/src/db/migrations/0003_mighty_jean_grey.sql +0 -37
- package/src/db/migrations/0004_cynical_grandmaster.sql +0 -2
- package/src/db/migrations/0005_careful_switch.sql +0 -8
- package/src/db/migrations/0006_tense_blue_marvel.sql +0 -16
- package/src/db/migrations/0007_next_squadron_sinister.sql +0 -1
- package/src/db/migrations/0008_powerful_scream.sql +0 -39
- package/src/db/migrations/0009_sad_ink.sql +0 -1
- package/src/db/migrations/0010_shocking_omega_flight.sql +0 -2
- package/src/db/migrations/0011_ambiguous_otto_octavius.sql +0 -151
- package/src/db/migrations/0011_hnsw_vector_index.sql +0 -17
- package/src/db/migrations/0012_user_profiles.sql +0 -30
- package/src/db/migrations/0013_trending_seasonal_columns.sql +0 -9
- package/src/db/migrations/0014_add_product_type_to_agents.sql +0 -6
- package/src/db/migrations/0015_new_v1_tables.sql +0 -149
- package/src/db/migrations/0016_document_types.sql +0 -30
- package/src/db/migrations/0017_document_metadata.sql +0 -2
- package/src/db/migrations/0018_identity_graph.sql +0 -200
- package/src/db/migrations/0019_db_driven_prompts.sql +0 -20
- package/src/db/migrations/0020_pending_extractions.sql +0 -35
- package/src/db/migrations/0021_rag_documents.sql +0 -39
- package/src/db/migrations/0022_user_quotas_usage_jsonb.sql +0 -70
- package/src/db/migrations/0023_user_facts_user_scoped_unique.sql +0 -17
- package/src/db/migrations/0024_user_memories_hnsw.sql +0 -23
- package/src/db/migrations/0025_audit_trigger_errcode.sql +0 -21
- package/src/db/migrations/0026_user_profile_snapshots_composite_pk.sql +0 -17
- package/src/db/migrations/0027_billing_settings_mnt_columns.sql +0 -54
- package/src/db/migrations/0028_trial_credits_normalized_email.sql +0 -37
- package/src/db/migrations/0029_usage_records_conversation_idx.sql +0 -13
- package/src/db/migrations/0030_pending_extractions_composite_idx.sql +0 -11
- package/src/db/migrations/0031_rag_documents_hnsw.sql +0 -16
- package/src/db/migrations/0032_rate_limit_unique_idx.sql +0 -16
- package/src/db/migrations/0033_pending_extractions_partial_idx.sql +0 -18
- package/src/db/migrations/0034_rate_limit_count.sql +0 -9
- package/src/db/migrations/0035_credit_reservations.sql +0 -24
- package/src/db/migrations/0036_executions_audit_jobs.sql +0 -96
- package/src/db/migrations/0037_rate_limit_minute_bucket.sql +0 -46
- package/src/db/migrations/0038_user_quotas_generic_usage.sql +0 -25
- package/src/db/migrations/0039_platform_admin_impersonation.sql +0 -27
- package/src/db/migrations/0040_ee_audit_chain.sql +0 -23
- package/src/db/migrations/meta/0001_snapshot.json +0 -631
- package/src/db/migrations/meta/0003_snapshot.json +0 -2488
- package/src/db/migrations/meta/0004_snapshot.json +0 -2500
- package/src/db/migrations/meta/0005_snapshot.json +0 -2548
- package/src/db/migrations/meta/0006_snapshot.json +0 -2650
- package/src/db/migrations/meta/0007_snapshot.json +0 -2657
- package/src/db/migrations/meta/0008_snapshot.json +0 -2719
- package/src/db/migrations/meta/0009_snapshot.json +0 -2726
- package/src/db/migrations/meta/0010_snapshot.json +0 -2739
- package/src/db/migrations/meta/0011_snapshot.json +0 -3886
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/db/schema/ai.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/db/schema/ai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BzB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBvB,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAejB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AAC7D,MAAM,MAAM,kBAAkB,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AACnE,MAAM,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACnD,MAAM,MAAM,aAAa,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACzD,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AACzD,MAAM,MAAM,gBAAgB,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AAC/D,MAAM,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,YAAY,CAAC;AAC7C,MAAM,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,YAAY,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC"}
|
package/dist/db/schema/ai.js
CHANGED
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Tables for AI conversations, messages, and knowledge base with pgvector support.
|
|
5
|
-
* Used by all AI products (Career Advisor, Sesh Planner, AI Tools) for chat persistence and RAG.
|
|
6
|
-
*
|
|
7
|
-
* Pattern: snake_case columns in PostgreSQL, camelCase TypeScript API (via Drizzle mapping)
|
|
2
|
+
* Chat persistence every product shares: conversations, messages,
|
|
3
|
+
* attachments, votes and documents (artifact versions).
|
|
8
4
|
*/
|
|
9
5
|
import { pgTable, text, timestamp, integer, index, uniqueIndex, boolean, primaryKey, jsonb, } from "drizzle-orm/pg-core";
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Conversations table - Chat sessions per workspace/user
|
|
14
|
-
* Each conversation tracks a single chat session with a specific agent
|
|
15
|
-
*/
|
|
6
|
+
import { organization, users } from "./auth.js";
|
|
7
|
+
/** One chat session between a user and an agent, within a workspace. */
|
|
16
8
|
export const conversations = pgTable("conversations", {
|
|
17
9
|
id: text("id").primaryKey(),
|
|
18
10
|
workspaceId: text("workspace_id")
|
|
@@ -21,11 +13,11 @@ export const conversations = pgTable("conversations", {
|
|
|
21
13
|
userId: text("user_id")
|
|
22
14
|
.notNull()
|
|
23
15
|
.references(() => users.id, { onDelete: "cascade" }),
|
|
24
|
-
agentId: text("agent_id").notNull(), //
|
|
25
|
-
title: text("title"), // Nullable
|
|
16
|
+
agentId: text("agent_id").notNull(), // the product's agent slug
|
|
17
|
+
title: text("title"), // Nullable until the product sets one
|
|
26
18
|
modelId: text("model_id"), // e.g., "openai/gpt-4o"
|
|
27
19
|
visibility: text("visibility").notNull().default("private"), // "private" | "public"
|
|
28
|
-
metadata: jsonb("metadata"), //
|
|
20
|
+
metadata: jsonb("metadata"), // ConversationMetadata
|
|
29
21
|
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
30
22
|
updatedAt: timestamp("updated_at").notNull().defaultNow(),
|
|
31
23
|
}, (table) => [
|
|
@@ -34,17 +26,13 @@ export const conversations = pgTable("conversations", {
|
|
|
34
26
|
index("conversations_workspace_updated_idx").on(table.workspaceId, table.updatedAt),
|
|
35
27
|
index("conversations_workspace_user_idx").on(table.workspaceId, table.userId),
|
|
36
28
|
]);
|
|
37
|
-
/**
|
|
38
|
-
* Messages table - Individual messages within conversations
|
|
39
|
-
* Stores user and assistant messages with tool invocations
|
|
40
|
-
*/
|
|
41
29
|
export const messages = pgTable("messages", {
|
|
42
30
|
id: text("id").primaryKey(),
|
|
43
31
|
conversationId: text("conversation_id")
|
|
44
32
|
.notNull()
|
|
45
33
|
.references(() => conversations.id, { onDelete: "cascade" }),
|
|
46
34
|
role: text("role").notNull(), // "user" | "assistant" | "system" | "tool"
|
|
47
|
-
content: text("content"), //
|
|
35
|
+
content: text("content"), // Nullable; `parts` holds the message
|
|
48
36
|
parts: text("parts").notNull(), // JSON array of AI SDK UIMessagePart objects
|
|
49
37
|
attachments: text("attachments"), // JSON array of file attachment metadata
|
|
50
38
|
toolInvocations: text("tool_invocations"), // JSON string of tool calls/results (AI SDK format)
|
|
@@ -55,53 +43,35 @@ export const messages = pgTable("messages", {
|
|
|
55
43
|
index("messages_conversation_created_idx").on(table.conversationId, table.createdAt),
|
|
56
44
|
]);
|
|
57
45
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
46
|
+
* Files a user put into a conversation. The object lives behind the
|
|
47
|
+
* storage port under `storage_key`; the
|
|
48
|
+
* row is what makes a URL safe to hand out (tenancy, type, size).
|
|
49
|
+
* `conversation_id` is set once the turn that carried the file is
|
|
50
|
+
* persisted; a row that never gets one is an orphan to sweep.
|
|
60
51
|
*/
|
|
61
|
-
export const
|
|
52
|
+
export const attachments = pgTable("attachments", {
|
|
62
53
|
id: text("id").primaryKey(),
|
|
63
54
|
workspaceId: text("workspace_id")
|
|
64
55
|
.notNull()
|
|
65
56
|
.references(() => organization.id, { onDelete: "cascade" }),
|
|
66
|
-
|
|
67
|
-
mimeType: text("mime_type").notNull(),
|
|
68
|
-
sizeBytes: integer("size_bytes"),
|
|
69
|
-
chunkCount: integer("chunk_count").default(0),
|
|
70
|
-
status: text("status").notNull().default("processing"), // "processing" | "ready" | "failed"
|
|
71
|
-
product: text("product"), // "career" | "sesh" | null (shared)
|
|
72
|
-
metadata: text("metadata"), // JSON string for additional info
|
|
73
|
-
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
74
|
-
}, (table) => [
|
|
75
|
-
index("knowledge_documents_workspace_id_idx").on(table.workspaceId),
|
|
76
|
-
]);
|
|
77
|
-
/**
|
|
78
|
-
* Knowledge chunks table - Text chunks with embeddings for RAG
|
|
79
|
-
* Each chunk is a piece of a document with a 1536-dimension vector embedding
|
|
80
|
-
* Workspace filtering prevents context leakage between organizations
|
|
81
|
-
*/
|
|
82
|
-
export const knowledgeChunks = pgTable("knowledge_chunks", {
|
|
83
|
-
id: text("id").primaryKey(),
|
|
84
|
-
documentId: text("document_id")
|
|
85
|
-
.notNull()
|
|
86
|
-
.references(() => knowledgeDocuments.id, { onDelete: "cascade" }),
|
|
87
|
-
workspaceId: text("workspace_id")
|
|
57
|
+
userId: text("user_id")
|
|
88
58
|
.notNull()
|
|
89
|
-
.references(() =>
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
59
|
+
.references(() => users.id, { onDelete: "cascade" }),
|
|
60
|
+
conversationId: text("conversation_id").references(() => conversations.id, {
|
|
61
|
+
onDelete: "set null",
|
|
62
|
+
}),
|
|
63
|
+
storageKey: text("storage_key").notNull(),
|
|
64
|
+
filename: text("filename").notNull(),
|
|
65
|
+
mediaType: text("media_type").notNull(),
|
|
66
|
+
sizeBytes: integer("size_bytes").notNull(),
|
|
67
|
+
extractedText: text("extracted_text"), // document text for the model, when a policy extracts it
|
|
94
68
|
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
95
69
|
}, (table) => [
|
|
96
|
-
index("
|
|
97
|
-
index("
|
|
98
|
-
|
|
99
|
-
// because Drizzle doesn't support HNSW index syntax natively
|
|
70
|
+
index("attachments_workspace_id_idx").on(table.workspaceId),
|
|
71
|
+
index("attachments_conversation_id_idx").on(table.conversationId),
|
|
72
|
+
uniqueIndex("attachments_storage_key_idx").on(table.storageKey),
|
|
100
73
|
]);
|
|
101
|
-
/**
|
|
102
|
-
* Votes table - Message upvote/downvote tracking
|
|
103
|
-
* Composite primary key on chatId + messageId for one vote per message
|
|
104
|
-
*/
|
|
74
|
+
/** One vote per message (composite key on chat and message). */
|
|
105
75
|
export const votes = pgTable("votes", {
|
|
106
76
|
chatId: text("chat_id")
|
|
107
77
|
.notNull()
|
|
@@ -115,34 +85,16 @@ export const votes = pgTable("votes", {
|
|
|
115
85
|
index("votes_message_id_idx").on(table.messageId),
|
|
116
86
|
]);
|
|
117
87
|
/**
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*/
|
|
121
|
-
export const documentTypes = pgTable("document_types", {
|
|
122
|
-
id: text("id").primaryKey(), // e.g. "career-report"
|
|
123
|
-
name: text("name").notNull(), // Display name
|
|
124
|
-
nameMn: text("name_mn").notNull(), // Mongolian display name
|
|
125
|
-
description: text("description"),
|
|
126
|
-
icon: text("icon"), // Optional icon identifier
|
|
127
|
-
sortOrder: integer("sort_order").notNull().default(0),
|
|
128
|
-
isActive: boolean("is_active").notNull().default(true),
|
|
129
|
-
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
130
|
-
});
|
|
131
|
-
/**
|
|
132
|
-
* Documents table - Artifact version history
|
|
133
|
-
* Composite primary key on id + createdAt for version tracking
|
|
134
|
-
* Used for AI-generated documents (code, text, sheets) with revision history
|
|
88
|
+
* AI-generated documents with version history: each save is a new row,
|
|
89
|
+
* keyed on id + createdAt.
|
|
135
90
|
*/
|
|
136
91
|
export const documents = pgTable("documents", {
|
|
137
92
|
id: text("id").notNull(),
|
|
138
93
|
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
139
94
|
title: text("title").notNull(),
|
|
140
95
|
content: text("content"),
|
|
141
|
-
kind: text("kind").notNull().default("text"),
|
|
142
|
-
|
|
143
|
-
onDelete: "set null",
|
|
144
|
-
}),
|
|
145
|
-
metadata: jsonb("metadata"), // Structured data (e.g. CareerReport JSON)
|
|
96
|
+
kind: text("kind").notNull().default("text"),
|
|
97
|
+
metadata: jsonb("metadata"), // Structured data (e.g. a report's JSON)
|
|
146
98
|
userId: text("user_id")
|
|
147
99
|
.notNull()
|
|
148
100
|
.references(() => users.id, { onDelete: "cascade" }),
|
|
@@ -152,162 +104,6 @@ export const documents = pgTable("documents", {
|
|
|
152
104
|
}, (table) => [
|
|
153
105
|
primaryKey({ columns: [table.id, table.createdAt] }),
|
|
154
106
|
index("documents_workspace_id_idx").on(table.workspaceId),
|
|
155
|
-
index("documents_type_id_idx").on(table.typeId),
|
|
156
107
|
index("documents_user_id_idx").on(table.userId),
|
|
157
108
|
]);
|
|
158
|
-
/**
|
|
159
|
-
* Suggestions table - Inline document edit suggestions
|
|
160
|
-
* Used for AI-suggested edits to documents that users can accept/reject
|
|
161
|
-
*/
|
|
162
|
-
export const suggestions = pgTable("suggestions", {
|
|
163
|
-
id: text("id").primaryKey(),
|
|
164
|
-
documentId: text("document_id").notNull(),
|
|
165
|
-
documentCreatedAt: timestamp("document_created_at").notNull(),
|
|
166
|
-
originalText: text("original_text").notNull(),
|
|
167
|
-
suggestedText: text("suggested_text").notNull(),
|
|
168
|
-
description: text("description"),
|
|
169
|
-
isResolved: boolean("is_resolved").notNull().default(false),
|
|
170
|
-
userId: text("user_id")
|
|
171
|
-
.notNull()
|
|
172
|
-
.references(() => users.id, { onDelete: "cascade" }),
|
|
173
|
-
workspaceId: text("workspace_id")
|
|
174
|
-
.notNull()
|
|
175
|
-
.references(() => organization.id, { onDelete: "cascade" }),
|
|
176
|
-
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
177
|
-
}, (table) => [
|
|
178
|
-
index("suggestions_workspace_id_idx").on(table.workspaceId),
|
|
179
|
-
index("suggestions_document_id_idx").on(table.documentId),
|
|
180
|
-
index("suggestions_workspace_document_idx").on(table.workspaceId, table.documentId),
|
|
181
|
-
]);
|
|
182
|
-
// userProfiles table moved to the vertical package's schema in
|
|
183
|
-
// Wave 2 of the architecture decoupling. The Phase B identity graph
|
|
184
|
-
// (`user_facts`, `user_profile_snapshots`) supersedes it for new
|
|
185
|
-
// writes; the legacy table is kept around in the career package
|
|
186
|
-
// until the backfill migration has run in production and the chat
|
|
187
|
-
// handler stops reading from it.
|
|
188
|
-
/**
|
|
189
|
-
* Image Tools table - Available image generation tool templates
|
|
190
|
-
* Each tool represents a predefined prompt template for a specific use case
|
|
191
|
-
*/
|
|
192
|
-
export const imageTools = pgTable("image_tools", {
|
|
193
|
-
id: text("id").primaryKey(),
|
|
194
|
-
name: jsonb("name").notNull().$type(),
|
|
195
|
-
description: jsonb("description").notNull().$type(),
|
|
196
|
-
category: text("category").notNull(), // "photo" | "ecommerce" | "style_transfer" | "trending"
|
|
197
|
-
promptTemplate: text("prompt_template").notNull(),
|
|
198
|
-
model: text("model").notNull().default("gpt-image-1"),
|
|
199
|
-
previewImageUrl: text("preview_image_url"),
|
|
200
|
-
isActive: boolean("is_active").notNull().default(true),
|
|
201
|
-
sortOrder: integer("sort_order").notNull().default(0),
|
|
202
|
-
isTrending: boolean("is_trending").notNull().default(false),
|
|
203
|
-
isSeasonal: boolean("is_seasonal").notNull().default(false),
|
|
204
|
-
activeMonths: integer("active_months").array(),
|
|
205
|
-
season: text("season"),
|
|
206
|
-
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
207
|
-
updatedAt: timestamp("updated_at").notNull().defaultNow(),
|
|
208
|
-
});
|
|
209
|
-
/**
|
|
210
|
-
* Image Generations table - Per-user image generation history
|
|
211
|
-
* Tracks each generation request for quota enforcement and history display
|
|
212
|
-
*/
|
|
213
|
-
export const imageGenerations = pgTable("image_generations", {
|
|
214
|
-
id: text("id").primaryKey(),
|
|
215
|
-
userId: text("user_id")
|
|
216
|
-
.notNull()
|
|
217
|
-
.references(() => users.id, { onDelete: "cascade" }),
|
|
218
|
-
workspaceId: text("workspace_id")
|
|
219
|
-
.notNull()
|
|
220
|
-
.references(() => organization.id, { onDelete: "cascade" }),
|
|
221
|
-
toolId: text("tool_id").references(() => imageTools.id, {
|
|
222
|
-
onDelete: "set null",
|
|
223
|
-
}),
|
|
224
|
-
prompt: text("prompt").notNull(),
|
|
225
|
-
resultUrl: text("result_url"),
|
|
226
|
-
model: text("model").notNull().default("gpt-image-1"),
|
|
227
|
-
status: text("status").notNull().default("pending"), // "pending" | "completed" | "failed"
|
|
228
|
-
errorMessage: text("error_message"),
|
|
229
|
-
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
230
|
-
}, (table) => [
|
|
231
|
-
index("image_generations_user_id_idx").on(table.userId),
|
|
232
|
-
index("image_generations_workspace_id_idx").on(table.workspaceId),
|
|
233
|
-
index("image_generations_tool_id_idx").on(table.toolId),
|
|
234
|
-
index("image_generations_created_at_idx").on(table.createdAt),
|
|
235
|
-
index("image_generations_workspace_created_idx").on(table.workspaceId, table.createdAt),
|
|
236
|
-
index("image_generations_user_created_idx").on(table.userId, table.createdAt),
|
|
237
|
-
]);
|
|
238
|
-
/**
|
|
239
|
-
* Knowledge Articles table — generic curated bilingual articles.
|
|
240
|
-
*
|
|
241
|
-
* The category column is opaque text. Each vertical product validates
|
|
242
|
-
* its allowed categories at the application layer (career's set lives
|
|
243
|
-
* in the vertical package's configuration; future verticals declare their own).
|
|
244
|
-
* The decoupling moved the category enum out of this comment.
|
|
245
|
-
*/
|
|
246
|
-
export const knowledgeArticles = pgTable("knowledge_articles", {
|
|
247
|
-
id: text("id").primaryKey(),
|
|
248
|
-
slug: text("slug").notNull(),
|
|
249
|
-
category: text("category").notNull(),
|
|
250
|
-
title: jsonb("title").notNull().$type(),
|
|
251
|
-
description: jsonb("description").notNull().$type(),
|
|
252
|
-
content: jsonb("content").notNull().$type(),
|
|
253
|
-
tags: text("tags").array(),
|
|
254
|
-
readingTimeMinutes: integer("reading_time_minutes").notNull().default(5),
|
|
255
|
-
sortOrder: integer("sort_order").notNull().default(0),
|
|
256
|
-
isPublished: boolean("is_published").notNull().default(false),
|
|
257
|
-
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
258
|
-
updatedAt: timestamp("updated_at").notNull().defaultNow(),
|
|
259
|
-
}, (table) => [
|
|
260
|
-
uniqueIndex("knowledge_articles_slug_idx").on(table.slug),
|
|
261
|
-
index("knowledge_articles_category_idx").on(table.category),
|
|
262
|
-
]);
|
|
263
|
-
// competitions and competition_entries tables moved to
|
|
264
|
-
// the vertical package's schema in Wave 2 of the architecture
|
|
265
|
-
// decoupling. They use career-specific scoring (assessment count) and
|
|
266
|
-
// will graduate to a generic leaderboard primitive in
|
|
267
|
-
// @intelligo-dev/agents/db when a second vertical needs them.
|
|
268
|
-
/**
|
|
269
|
-
* Referral Codes table - Unique referral codes per user
|
|
270
|
-
* Each user gets one 6-char alphanumeric code (e.g., "BOLD26").
|
|
271
|
-
*
|
|
272
|
-
* Generic growth primitive — kept in core because every vertical
|
|
273
|
-
* product can benefit from a referral mechanic. Career Advisor
|
|
274
|
-
* happens to be the first to use it; future verticals reuse the
|
|
275
|
-
* same table without a copy.
|
|
276
|
-
*/
|
|
277
|
-
export const referralCodes = pgTable("referral_codes", {
|
|
278
|
-
id: text("id").primaryKey(),
|
|
279
|
-
userId: text("user_id")
|
|
280
|
-
.notNull()
|
|
281
|
-
.references(() => users.id, { onDelete: "cascade" }),
|
|
282
|
-
code: text("code").notNull(), // 6-char alphanumeric e.g., "BOLD26"
|
|
283
|
-
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
284
|
-
}, (table) => [
|
|
285
|
-
uniqueIndex("referral_codes_code_idx").on(table.code),
|
|
286
|
-
uniqueIndex("referral_codes_user_id_idx").on(table.userId),
|
|
287
|
-
]);
|
|
288
|
-
/**
|
|
289
|
-
* Referrals table - Tracks referral relationships between users
|
|
290
|
-
* One referral per referred user (unique constraint on referred_user_id)
|
|
291
|
-
*/
|
|
292
|
-
export const referrals = pgTable("referrals", {
|
|
293
|
-
id: text("id").primaryKey(),
|
|
294
|
-
referrerId: text("referrer_id")
|
|
295
|
-
.notNull()
|
|
296
|
-
.references(() => users.id, { onDelete: "cascade" }),
|
|
297
|
-
referredUserId: text("referred_user_id")
|
|
298
|
-
.notNull()
|
|
299
|
-
.references(() => users.id, { onDelete: "cascade" }),
|
|
300
|
-
referralCodeId: text("referral_code_id")
|
|
301
|
-
.notNull()
|
|
302
|
-
.references(() => referralCodes.id, { onDelete: "cascade" }),
|
|
303
|
-
status: text("status").notNull().default("pending"), // "pending" | "completed"
|
|
304
|
-
completedAt: timestamp("completed_at"),
|
|
305
|
-
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
306
|
-
}, (table) => [
|
|
307
|
-
index("referrals_referrer_id_idx").on(table.referrerId),
|
|
308
|
-
index("referrals_referred_user_id_idx").on(table.referredUserId),
|
|
309
|
-
uniqueIndex("referrals_referred_user_id_unique_idx").on(table.referredUserId),
|
|
310
|
-
]);
|
|
311
|
-
// UserProfile, Competition, CompetitionEntry, SharedReport types moved
|
|
312
|
-
// to the vertical package's schema alongside their tables.
|
|
313
109
|
//# sourceMappingURL=ai.js.map
|
package/dist/db/schema/ai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../../src/db/schema/ai.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../../src/db/schema/ai.ts"],"names":[],"mappings":"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"}
|
package/dist/db/schema/auth.d.ts
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Better-Auth
|
|
3
|
-
*
|
|
4
|
-
* These tables are managed by Better-Auth. Column names and structure must
|
|
5
|
-
* match Better-Auth's expectations for the Drizzle adapter to work correctly.
|
|
6
|
-
*
|
|
7
|
-
* DO NOT modify table or column names without consulting Better-Auth docs.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Users table - Core user identity
|
|
11
|
-
* Managed by Better-Auth
|
|
2
|
+
* Better-Auth's tables. Table and column names must match what its Drizzle
|
|
3
|
+
* adapter expects.
|
|
12
4
|
*/
|
|
13
5
|
export declare const users: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
14
6
|
name: "users";
|
|
@@ -272,10 +264,6 @@ export declare const users: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
272
264
|
};
|
|
273
265
|
dialect: "pg";
|
|
274
266
|
}>;
|
|
275
|
-
/**
|
|
276
|
-
* Sessions table - Active login sessions
|
|
277
|
-
* Managed by Better-Auth
|
|
278
|
-
*/
|
|
279
267
|
export declare const sessions: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
280
268
|
name: "sessions";
|
|
281
269
|
schema: undefined;
|
|
@@ -453,10 +441,7 @@ export declare const sessions: import("drizzle-orm/pg-core").PgTableWithColumns<
|
|
|
453
441
|
};
|
|
454
442
|
dialect: "pg";
|
|
455
443
|
}>;
|
|
456
|
-
/**
|
|
457
|
-
* Accounts table - OAuth provider connections + password storage
|
|
458
|
-
* Managed by Better-Auth
|
|
459
|
-
*/
|
|
444
|
+
/** OAuth provider connections and password credentials. */
|
|
460
445
|
export declare const accounts: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
461
446
|
name: "accounts";
|
|
462
447
|
schema: undefined;
|
|
@@ -685,10 +670,7 @@ export declare const accounts: import("drizzle-orm/pg-core").PgTableWithColumns<
|
|
|
685
670
|
};
|
|
686
671
|
dialect: "pg";
|
|
687
672
|
}>;
|
|
688
|
-
/**
|
|
689
|
-
* Verifications table - Email verification tokens and password reset tokens
|
|
690
|
-
* Managed by Better-Auth
|
|
691
|
-
*/
|
|
673
|
+
/** Email verification and password reset tokens. */
|
|
692
674
|
export declare const verifications: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
693
675
|
name: "verifications";
|
|
694
676
|
schema: undefined;
|
|
@@ -798,10 +780,7 @@ export declare const verifications: import("drizzle-orm/pg-core").PgTableWithCol
|
|
|
798
780
|
};
|
|
799
781
|
dialect: "pg";
|
|
800
782
|
}>;
|
|
801
|
-
/**
|
|
802
|
-
* Organization table - Workspaces for multi-tenancy
|
|
803
|
-
* Managed by Better-Auth organization plugin (Phase 10)
|
|
804
|
-
*/
|
|
783
|
+
/** Workspaces, managed by Better-Auth's organization plugin. */
|
|
805
784
|
export declare const organization: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
806
785
|
name: "organization";
|
|
807
786
|
schema: undefined;
|
|
@@ -928,10 +907,6 @@ export declare const organization: import("drizzle-orm/pg-core").PgTableWithColu
|
|
|
928
907
|
};
|
|
929
908
|
dialect: "pg";
|
|
930
909
|
}>;
|
|
931
|
-
/**
|
|
932
|
-
* Member table - Organization/Workspace memberships
|
|
933
|
-
* Managed by Better-Auth organization plugin (Phase 10)
|
|
934
|
-
*/
|
|
935
910
|
export declare const member: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
936
911
|
name: "member";
|
|
937
912
|
schema: undefined;
|
|
@@ -1041,10 +1016,6 @@ export declare const member: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
1041
1016
|
};
|
|
1042
1017
|
dialect: "pg";
|
|
1043
1018
|
}>;
|
|
1044
|
-
/**
|
|
1045
|
-
* Invitation table - Pending workspace invitations
|
|
1046
|
-
* Managed by Better-Auth organization plugin (Phase 10)
|
|
1047
|
-
*/
|
|
1048
1019
|
export declare const invitation: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
1049
1020
|
name: "invitation";
|
|
1050
1021
|
schema: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/db/schema/auth.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/db/schema/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/db/schema/auth.js
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Better-Auth
|
|
3
|
-
*
|
|
4
|
-
* These tables are managed by Better-Auth. Column names and structure must
|
|
5
|
-
* match Better-Auth's expectations for the Drizzle adapter to work correctly.
|
|
6
|
-
*
|
|
7
|
-
* DO NOT modify table or column names without consulting Better-Auth docs.
|
|
2
|
+
* Better-Auth's tables. Table and column names must match what its Drizzle
|
|
3
|
+
* adapter expects.
|
|
8
4
|
*/
|
|
5
|
+
import { sql } from "drizzle-orm";
|
|
9
6
|
import { pgTable, text, timestamp, boolean, index, uniqueIndex, } from "drizzle-orm/pg-core";
|
|
10
|
-
/**
|
|
11
|
-
* Users table - Core user identity
|
|
12
|
-
* Managed by Better-Auth
|
|
13
|
-
*/
|
|
14
7
|
export const users = pgTable("users", {
|
|
15
8
|
id: text("id").primaryKey(),
|
|
16
9
|
name: text("name").notNull(),
|
|
@@ -20,31 +13,27 @@ export const users = pgTable("users", {
|
|
|
20
13
|
deletedAt: timestamp("deleted_at"), // Soft delete: null = active, timestamp = deleted
|
|
21
14
|
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
22
15
|
updatedAt: timestamp("updated_at").notNull().defaultNow(),
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
onboardingCompleted: boolean("onboarding_completed")
|
|
17
|
+
.notNull()
|
|
18
|
+
.default(false),
|
|
25
19
|
onboardingStep: text("onboarding_step"), // Current step if incomplete: "workspace" | "language" | "product"
|
|
26
|
-
//
|
|
27
|
-
preferredLanguage: text("preferred_language").notNull().default("en"), // "en" | "mn"
|
|
20
|
+
preferredLanguage: text("preferred_language").notNull().default("en"), // a locale the app ships, e.g. "en"
|
|
28
21
|
/**
|
|
29
|
-
* Platform role,
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* checks before allowing impersonation.
|
|
33
|
-
*
|
|
34
|
-
* PLATFORM_ADMIN_EMAILS remains the bootstrap: requirePlatformAdmin
|
|
35
|
-
* promotes an allowlisted user into this column on first use, so the
|
|
36
|
-
* env var seeds the first admin and the row is the runtime truth.
|
|
22
|
+
* Platform role, not a workspace role — "platform-admin" or null. Grants
|
|
23
|
+
* the operational console and impersonation. PLATFORM_ADMIN_EMAILS seeds
|
|
24
|
+
* it: requirePlatformAdmin promotes an allowlisted user on first use.
|
|
37
25
|
*/
|
|
38
26
|
role: text("role"),
|
|
39
|
-
/** Better-Auth admin plugin
|
|
27
|
+
/** Required by Better-Auth's admin plugin schema; unused otherwise. */
|
|
40
28
|
banned: boolean("banned").notNull().default(false),
|
|
41
29
|
banReason: text("ban_reason"),
|
|
42
30
|
banExpires: timestamp("ban_expires"),
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
31
|
+
}, (table) => [
|
|
32
|
+
// Finding the platform admins: a handful of rows among many.
|
|
33
|
+
index("users_role_idx")
|
|
34
|
+
.on(table.role)
|
|
35
|
+
.where(sql `${table.role} IS NOT NULL`),
|
|
36
|
+
]);
|
|
48
37
|
export const sessions = pgTable("sessions", {
|
|
49
38
|
id: text("id").primaryKey(),
|
|
50
39
|
userId: text("user_id")
|
|
@@ -55,26 +44,20 @@ export const sessions = pgTable("sessions", {
|
|
|
55
44
|
ipAddress: text("ip_address"),
|
|
56
45
|
userAgent: text("user_agent"),
|
|
57
46
|
/**
|
|
58
|
-
* Set on a session created by an admin acting as this user
|
|
59
|
-
*
|
|
60
|
-
* both in the audit trail and on the session itself.
|
|
47
|
+
* Set on a session created by an admin acting as this user, so
|
|
48
|
+
* impersonation stays visible on the session and in the audit trail.
|
|
61
49
|
*/
|
|
62
50
|
impersonatedBy: text("impersonated_by"),
|
|
63
51
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* persists and every "active workspace" read falls back to the
|
|
68
|
-
* user's first membership.
|
|
52
|
+
* The organization plugin's active workspace. Without this column its
|
|
53
|
+
* set-active writes are silently dropped and workspace switching never
|
|
54
|
+
* persists.
|
|
69
55
|
*/
|
|
70
56
|
activeOrganizationId: text("active_organization_id"),
|
|
71
57
|
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
72
58
|
updatedAt: timestamp("updated_at").notNull().defaultNow(),
|
|
73
59
|
}, (table) => [index("sessions_user_id_idx").on(table.userId)]);
|
|
74
|
-
/**
|
|
75
|
-
* Accounts table - OAuth provider connections + password storage
|
|
76
|
-
* Managed by Better-Auth
|
|
77
|
-
*/
|
|
60
|
+
/** OAuth provider connections and password credentials. */
|
|
78
61
|
export const accounts = pgTable("accounts", {
|
|
79
62
|
id: text("id").primaryKey(),
|
|
80
63
|
userId: text("user_id")
|
|
@@ -92,10 +75,7 @@ export const accounts = pgTable("accounts", {
|
|
|
92
75
|
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
93
76
|
updatedAt: timestamp("updated_at").notNull().defaultNow(),
|
|
94
77
|
}, (table) => [index("accounts_user_id_idx").on(table.userId)]);
|
|
95
|
-
/**
|
|
96
|
-
* Verifications table - Email verification tokens and password reset tokens
|
|
97
|
-
* Managed by Better-Auth
|
|
98
|
-
*/
|
|
78
|
+
/** Email verification and password reset tokens. */
|
|
99
79
|
export const verifications = pgTable("verifications", {
|
|
100
80
|
id: text("id").primaryKey(),
|
|
101
81
|
identifier: text("identifier").notNull(),
|
|
@@ -104,10 +84,7 @@ export const verifications = pgTable("verifications", {
|
|
|
104
84
|
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
105
85
|
updatedAt: timestamp("updated_at").notNull().defaultNow(),
|
|
106
86
|
});
|
|
107
|
-
/**
|
|
108
|
-
* Organization table - Workspaces for multi-tenancy
|
|
109
|
-
* Managed by Better-Auth organization plugin (Phase 10)
|
|
110
|
-
*/
|
|
87
|
+
/** Workspaces, managed by Better-Auth's organization plugin. */
|
|
111
88
|
export const organization = pgTable("organization", {
|
|
112
89
|
id: text("id").primaryKey(),
|
|
113
90
|
name: text("name").notNull(),
|
|
@@ -117,10 +94,6 @@ export const organization = pgTable("organization", {
|
|
|
117
94
|
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
118
95
|
updatedAt: timestamp("updated_at").notNull().defaultNow(),
|
|
119
96
|
});
|
|
120
|
-
/**
|
|
121
|
-
* Member table - Organization/Workspace memberships
|
|
122
|
-
* Managed by Better-Auth organization plugin (Phase 10)
|
|
123
|
-
*/
|
|
124
97
|
export const member = pgTable("member", {
|
|
125
98
|
id: text("id").primaryKey(),
|
|
126
99
|
organizationId: text("organization_id")
|
|
@@ -137,10 +110,6 @@ export const member = pgTable("member", {
|
|
|
137
110
|
index("member_user_id_idx").on(table.userId),
|
|
138
111
|
uniqueIndex("member_organization_user_uniq").on(table.organizationId, table.userId),
|
|
139
112
|
]);
|
|
140
|
-
/**
|
|
141
|
-
* Invitation table - Pending workspace invitations
|
|
142
|
-
* Managed by Better-Auth organization plugin (Phase 10)
|
|
143
|
-
*/
|
|
144
113
|
export const invitation = pgTable("invitation", {
|
|
145
114
|
id: text("id").primaryKey(),
|
|
146
115
|
organizationId: text("organization_id")
|