@intelligo-dev/core 1.0.0-beta.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.
- package/LICENSE +201 -0
- package/dist/conversations/errors.d.ts +31 -0
- package/dist/conversations/errors.d.ts.map +1 -0
- package/dist/conversations/errors.js +25 -0
- package/dist/conversations/errors.js.map +1 -0
- package/dist/conversations/index.d.ts +13 -0
- package/dist/conversations/index.d.ts.map +1 -0
- package/dist/conversations/index.js +12 -0
- package/dist/conversations/index.js.map +1 -0
- package/dist/conversations/service.d.ts +132 -0
- package/dist/conversations/service.d.ts.map +1 -0
- package/dist/conversations/service.js +347 -0
- package/dist/conversations/service.js.map +1 -0
- package/dist/conversations/types.d.ts +10 -0
- package/dist/conversations/types.d.ts.map +1 -0
- package/dist/conversations/types.js +5 -0
- package/dist/conversations/types.js.map +1 -0
- package/dist/db/client.d.ts +19 -0
- package/dist/db/client.d.ts.map +1 -0
- package/dist/db/client.js +52 -0
- package/dist/db/client.js.map +1 -0
- package/dist/db/index.d.ts +4 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +8 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/schema/agents.d.ts +400 -0
- package/dist/db/schema/agents.d.ts.map +1 -0
- package/dist/db/schema/agents.js +39 -0
- package/dist/db/schema/agents.js.map +1 -0
- package/dist/db/schema/ai.d.ts +2222 -0
- package/dist/db/schema/ai.d.ts.map +1 -0
- package/dist/db/schema/ai.js +313 -0
- package/dist/db/schema/ai.js.map +1 -0
- package/dist/db/schema/auth.d.ts +1222 -0
- package/dist/db/schema/auth.d.ts.map +1 -0
- package/dist/db/schema/auth.js +162 -0
- package/dist/db/schema/auth.js.map +1 -0
- package/dist/db/schema/billing.d.ts +1199 -0
- package/dist/db/schema/billing.d.ts.map +1 -0
- package/dist/db/schema/billing.js +150 -0
- package/dist/db/schema/billing.js.map +1 -0
- package/dist/db/schema/feature-flags.d.ts +143 -0
- package/dist/db/schema/feature-flags.d.ts.map +1 -0
- package/dist/db/schema/feature-flags.js +25 -0
- package/dist/db/schema/feature-flags.js.map +1 -0
- package/dist/db/schema/identity.d.ts +1295 -0
- package/dist/db/schema/identity.d.ts.map +1 -0
- package/dist/db/schema/identity.js +258 -0
- package/dist/db/schema/identity.js.map +1 -0
- package/dist/db/schema/index.d.ts +16 -0
- package/dist/db/schema/index.d.ts.map +1 -0
- package/dist/db/schema/index.js +43 -0
- package/dist/db/schema/index.js.map +1 -0
- package/dist/db/schema/notifications.d.ts +182 -0
- package/dist/db/schema/notifications.d.ts.map +1 -0
- package/dist/db/schema/notifications.js +38 -0
- package/dist/db/schema/notifications.js.map +1 -0
- package/dist/db/schema/rag.d.ts +171 -0
- package/dist/db/schema/rag.d.ts.map +1 -0
- package/dist/db/schema/rag.js +42 -0
- package/dist/db/schema/rag.js.map +1 -0
- package/dist/db/schema/usage.d.ts +1193 -0
- package/dist/db/schema/usage.d.ts.map +1 -0
- package/dist/db/schema/usage.js +224 -0
- package/dist/db/schema/usage.js.map +1 -0
- package/dist/db/validate.d.ts +19 -0
- package/dist/db/validate.d.ts.map +1 -0
- package/dist/db/validate.js +58 -0
- package/dist/db/validate.js.map +1 -0
- package/dist/db/workspace-queries.d.ts +75 -0
- package/dist/db/workspace-queries.d.ts.map +1 -0
- package/dist/db/workspace-queries.js +78 -0
- package/dist/db/workspace-queries.js.map +1 -0
- package/dist/documents/classifier.d.ts +31 -0
- package/dist/documents/classifier.d.ts.map +1 -0
- package/dist/documents/classifier.js +41 -0
- package/dist/documents/classifier.js.map +1 -0
- package/dist/documents/errors.d.ts +32 -0
- package/dist/documents/errors.d.ts.map +1 -0
- package/dist/documents/errors.js +27 -0
- package/dist/documents/errors.js.map +1 -0
- package/dist/documents/index.d.ts +14 -0
- package/dist/documents/index.d.ts.map +1 -0
- package/dist/documents/index.js +13 -0
- package/dist/documents/index.js.map +1 -0
- package/dist/documents/service.d.ts +54 -0
- package/dist/documents/service.d.ts.map +1 -0
- package/dist/documents/service.js +146 -0
- package/dist/documents/service.js.map +1 -0
- package/dist/documents/types.d.ts +27 -0
- package/dist/documents/types.d.ts.map +1 -0
- package/dist/documents/types.js +5 -0
- package/dist/documents/types.js.map +1 -0
- package/dist/email/index.d.ts +5 -0
- package/dist/email/index.d.ts.map +1 -0
- package/dist/email/index.js +5 -0
- package/dist/email/index.js.map +1 -0
- package/dist/email/provider.d.ts +68 -0
- package/dist/email/provider.d.ts.map +1 -0
- package/dist/email/provider.js +199 -0
- package/dist/email/provider.js.map +1 -0
- package/dist/email/send.d.ts +47 -0
- package/dist/email/send.d.ts.map +1 -0
- package/dist/email/send.js +110 -0
- package/dist/email/send.js.map +1 -0
- package/dist/email/senders.d.ts +93 -0
- package/dist/email/senders.d.ts.map +1 -0
- package/dist/email/senders.js +232 -0
- package/dist/email/senders.js.map +1 -0
- package/dist/email/templates/base-layout.d.ts +7 -0
- package/dist/email/templates/base-layout.d.ts.map +1 -0
- package/dist/email/templates/base-layout.js +69 -0
- package/dist/email/templates/base-layout.js.map +1 -0
- package/dist/email/templates/index.d.ts +11 -0
- package/dist/email/templates/index.d.ts.map +1 -0
- package/dist/email/templates/index.js +17 -0
- package/dist/email/templates/index.js.map +1 -0
- package/dist/email/templates/password-reset.d.ts +7 -0
- package/dist/email/templates/password-reset.d.ts.map +1 -0
- package/dist/email/templates/password-reset.js +59 -0
- package/dist/email/templates/password-reset.js.map +1 -0
- package/dist/email/templates/payment-failed.d.ts +8 -0
- package/dist/email/templates/payment-failed.d.ts.map +1 -0
- package/dist/email/templates/payment-failed.js +62 -0
- package/dist/email/templates/payment-failed.js.map +1 -0
- package/dist/email/templates/quota-warning.d.ts +11 -0
- package/dist/email/templates/quota-warning.d.ts.map +1 -0
- package/dist/email/templates/quota-warning.js +82 -0
- package/dist/email/templates/quota-warning.js.map +1 -0
- package/dist/email/templates/subscription-confirmed.d.ts +9 -0
- package/dist/email/templates/subscription-confirmed.d.ts.map +1 -0
- package/dist/email/templates/subscription-confirmed.js +72 -0
- package/dist/email/templates/subscription-confirmed.js.map +1 -0
- package/dist/email/templates/trial-expiry.d.ts +9 -0
- package/dist/email/templates/trial-expiry.d.ts.map +1 -0
- package/dist/email/templates/trial-expiry.js +86 -0
- package/dist/email/templates/trial-expiry.js.map +1 -0
- package/dist/email/templates/trial-warning.d.ts +11 -0
- package/dist/email/templates/trial-warning.d.ts.map +1 -0
- package/dist/email/templates/trial-warning.js +70 -0
- package/dist/email/templates/trial-warning.js.map +1 -0
- package/dist/email/templates/verify-email.d.ts +7 -0
- package/dist/email/templates/verify-email.d.ts.map +1 -0
- package/dist/email/templates/verify-email.js +59 -0
- package/dist/email/templates/verify-email.js.map +1 -0
- package/dist/email/templates/welcome.d.ts +7 -0
- package/dist/email/templates/welcome.d.ts.map +1 -0
- package/dist/email/templates/welcome.js +51 -0
- package/dist/email/templates/welcome.js.map +1 -0
- package/dist/email/templates/workspace-invitation.d.ts +10 -0
- package/dist/email/templates/workspace-invitation.d.ts.map +1 -0
- package/dist/email/templates/workspace-invitation.js +79 -0
- package/dist/email/templates/workspace-invitation.js.map +1 -0
- package/dist/env.d.ts +21 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +129 -0
- package/dist/env.js.map +1 -0
- package/dist/identity/audit.d.ts +39 -0
- package/dist/identity/audit.d.ts.map +1 -0
- package/dist/identity/audit.js +51 -0
- package/dist/identity/audit.js.map +1 -0
- package/dist/identity/errors.d.ts +32 -0
- package/dist/identity/errors.d.ts.map +1 -0
- package/dist/identity/errors.js +25 -0
- package/dist/identity/errors.js.map +1 -0
- package/dist/identity/index.d.ts +16 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +15 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/identity/service.d.ts +70 -0
- package/dist/identity/service.d.ts.map +1 -0
- package/dist/identity/service.js +179 -0
- package/dist/identity/service.js.map +1 -0
- package/dist/identity/types.d.ts +27 -0
- package/dist/identity/types.d.ts.map +1 -0
- package/dist/identity/types.js +5 -0
- package/dist/identity/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +50 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +183 -0
- package/dist/logger.js.map +1 -0
- package/dist/notifications/index.d.ts +86 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +112 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/notifications/triggers.d.ts +68 -0
- package/dist/notifications/triggers.d.ts.map +1 -0
- package/dist/notifications/triggers.js +145 -0
- package/dist/notifications/triggers.js.map +1 -0
- package/dist/notifications/types.d.ts +19 -0
- package/dist/notifications/types.d.ts.map +1 -0
- package/dist/notifications/types.js +11 -0
- package/dist/notifications/types.js.map +1 -0
- package/package.json +101 -0
- package/src/db/migrations/0000_sharp_night_nurse.sql +52 -0
- package/src/db/migrations/0001_hesitant_vapor.sql +40 -0
- package/src/db/migrations/0002_numerous_lady_vermin.sql +235 -0
- package/src/db/migrations/0003_mighty_jean_grey.sql +37 -0
- package/src/db/migrations/0004_cynical_grandmaster.sql +2 -0
- package/src/db/migrations/0005_careful_switch.sql +8 -0
- package/src/db/migrations/0006_tense_blue_marvel.sql +16 -0
- package/src/db/migrations/0007_next_squadron_sinister.sql +1 -0
- package/src/db/migrations/0008_powerful_scream.sql +39 -0
- package/src/db/migrations/0009_sad_ink.sql +1 -0
- package/src/db/migrations/0010_shocking_omega_flight.sql +2 -0
- package/src/db/migrations/0011_ambiguous_otto_octavius.sql +151 -0
- package/src/db/migrations/0011_hnsw_vector_index.sql +17 -0
- package/src/db/migrations/0012_user_profiles.sql +30 -0
- package/src/db/migrations/0013_trending_seasonal_columns.sql +9 -0
- package/src/db/migrations/0014_add_product_type_to_agents.sql +6 -0
- package/src/db/migrations/0015_new_v1_tables.sql +149 -0
- package/src/db/migrations/0016_document_types.sql +30 -0
- package/src/db/migrations/0017_document_metadata.sql +2 -0
- package/src/db/migrations/0018_identity_graph.sql +200 -0
- package/src/db/migrations/0019_db_driven_prompts.sql +20 -0
- package/src/db/migrations/0020_pending_extractions.sql +35 -0
- package/src/db/migrations/0021_rag_documents.sql +39 -0
- package/src/db/migrations/0022_user_quotas_usage_jsonb.sql +70 -0
- package/src/db/migrations/0023_user_facts_user_scoped_unique.sql +17 -0
- package/src/db/migrations/0024_user_memories_hnsw.sql +23 -0
- package/src/db/migrations/0025_audit_trigger_errcode.sql +21 -0
- package/src/db/migrations/0026_user_profile_snapshots_composite_pk.sql +17 -0
- package/src/db/migrations/0027_billing_settings_mnt_columns.sql +54 -0
- package/src/db/migrations/0028_trial_credits_normalized_email.sql +37 -0
- package/src/db/migrations/0029_usage_records_conversation_idx.sql +13 -0
- package/src/db/migrations/0030_pending_extractions_composite_idx.sql +11 -0
- package/src/db/migrations/0031_rag_documents_hnsw.sql +16 -0
- package/src/db/migrations/0032_rate_limit_unique_idx.sql +16 -0
- package/src/db/migrations/0033_pending_extractions_partial_idx.sql +18 -0
- package/src/db/migrations/0034_rate_limit_count.sql +9 -0
- package/src/db/migrations/0035_credit_reservations.sql +24 -0
- package/src/db/migrations/0036_executions_audit_jobs.sql +96 -0
- package/src/db/migrations/0037_rate_limit_minute_bucket.sql +46 -0
- package/src/db/migrations/0038_user_quotas_generic_usage.sql +25 -0
- package/src/db/migrations/0039_platform_admin_impersonation.sql +27 -0
- package/src/db/migrations/0040_ee_audit_chain.sql +23 -0
- package/src/db/migrations/README.md +57 -0
- package/src/db/migrations/meta/0000_snapshot.json +348 -0
- package/src/db/migrations/meta/0001_snapshot.json +631 -0
- package/src/db/migrations/meta/0002_snapshot.json +2269 -0
- package/src/db/migrations/meta/0003_snapshot.json +2488 -0
- package/src/db/migrations/meta/0004_snapshot.json +2500 -0
- package/src/db/migrations/meta/0005_snapshot.json +2548 -0
- package/src/db/migrations/meta/0006_snapshot.json +2650 -0
- package/src/db/migrations/meta/0007_snapshot.json +2657 -0
- package/src/db/migrations/meta/0008_snapshot.json +2719 -0
- package/src/db/migrations/meta/0009_snapshot.json +2726 -0
- package/src/db/migrations/meta/0010_snapshot.json +2739 -0
- package/src/db/migrations/meta/0011_snapshot.json +3886 -0
- package/src/db/migrations/meta/_journal.json +300 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/db/schema/ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Database Schema
|
|
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)
|
|
8
|
+
*/
|
|
9
|
+
import { pgTable, text, timestamp, integer, index, uniqueIndex, boolean, primaryKey, jsonb, } from "drizzle-orm/pg-core";
|
|
10
|
+
import { vector } from "drizzle-orm/pg-core/columns/vector_extension/vector";
|
|
11
|
+
import { organization, users } from "./auth";
|
|
12
|
+
/**
|
|
13
|
+
* Conversations table - Chat sessions per workspace/user
|
|
14
|
+
* Each conversation tracks a single chat session with a specific agent
|
|
15
|
+
*/
|
|
16
|
+
export const conversations = pgTable("conversations", {
|
|
17
|
+
id: text("id").primaryKey(),
|
|
18
|
+
workspaceId: text("workspace_id")
|
|
19
|
+
.notNull()
|
|
20
|
+
.references(() => organization.id, { onDelete: "cascade" }),
|
|
21
|
+
userId: text("user_id")
|
|
22
|
+
.notNull()
|
|
23
|
+
.references(() => users.id, { onDelete: "cascade" }),
|
|
24
|
+
agentId: text("agent_id").notNull(), // "career-advisor" | "sesh-planner"
|
|
25
|
+
title: text("title"), // Nullable, auto-generated from first message in Phase 19
|
|
26
|
+
modelId: text("model_id"), // e.g., "openai/gpt-4o"
|
|
27
|
+
visibility: text("visibility").notNull().default("private"), // "private" | "public"
|
|
28
|
+
metadata: jsonb("metadata"), // Assessment state and product-specific metadata
|
|
29
|
+
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
30
|
+
updatedAt: timestamp("updated_at").notNull().defaultNow(),
|
|
31
|
+
}, (table) => [
|
|
32
|
+
index("conversations_workspace_id_idx").on(table.workspaceId),
|
|
33
|
+
index("conversations_user_id_idx").on(table.userId),
|
|
34
|
+
index("conversations_workspace_updated_idx").on(table.workspaceId, table.updatedAt),
|
|
35
|
+
index("conversations_workspace_user_idx").on(table.workspaceId, table.userId),
|
|
36
|
+
]);
|
|
37
|
+
/**
|
|
38
|
+
* Messages table - Individual messages within conversations
|
|
39
|
+
* Stores user and assistant messages with tool invocations
|
|
40
|
+
*/
|
|
41
|
+
export const messages = pgTable("messages", {
|
|
42
|
+
id: text("id").primaryKey(),
|
|
43
|
+
conversationId: text("conversation_id")
|
|
44
|
+
.notNull()
|
|
45
|
+
.references(() => conversations.id, { onDelete: "cascade" }),
|
|
46
|
+
role: text("role").notNull(), // "user" | "assistant" | "system" | "tool"
|
|
47
|
+
content: text("content"), // Backward compat - nullable now
|
|
48
|
+
parts: text("parts").notNull(), // JSON array of AI SDK UIMessagePart objects
|
|
49
|
+
attachments: text("attachments"), // JSON array of file attachment metadata
|
|
50
|
+
toolInvocations: text("tool_invocations"), // JSON string of tool calls/results (AI SDK format)
|
|
51
|
+
tokenCount: integer("token_count"),
|
|
52
|
+
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
53
|
+
}, (table) => [
|
|
54
|
+
index("messages_conversation_id_idx").on(table.conversationId),
|
|
55
|
+
index("messages_conversation_created_idx").on(table.conversationId, table.createdAt),
|
|
56
|
+
]);
|
|
57
|
+
/**
|
|
58
|
+
* Knowledge documents table - Uploaded files for RAG
|
|
59
|
+
* Each document is chunked and embedded for similarity search
|
|
60
|
+
*/
|
|
61
|
+
export const knowledgeDocuments = pgTable("knowledge_documents", {
|
|
62
|
+
id: text("id").primaryKey(),
|
|
63
|
+
workspaceId: text("workspace_id")
|
|
64
|
+
.notNull()
|
|
65
|
+
.references(() => organization.id, { onDelete: "cascade" }),
|
|
66
|
+
filename: text("filename").notNull(),
|
|
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")
|
|
88
|
+
.notNull()
|
|
89
|
+
.references(() => organization.id, { onDelete: "cascade" }),
|
|
90
|
+
content: text("content").notNull(),
|
|
91
|
+
embedding: vector({ dimensions: 1536 }), // OpenAI text-embedding-3-small
|
|
92
|
+
metadata: text("metadata"), // JSON: { page, section, heading }
|
|
93
|
+
chunkIndex: integer("chunk_index").notNull(),
|
|
94
|
+
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
95
|
+
}, (table) => [
|
|
96
|
+
index("knowledge_chunks_document_id_idx").on(table.documentId),
|
|
97
|
+
index("knowledge_chunks_workspace_id_idx").on(table.workspaceId),
|
|
98
|
+
// HNSW index for vector similarity search will be added in the migration SQL
|
|
99
|
+
// because Drizzle doesn't support HNSW index syntax natively
|
|
100
|
+
]);
|
|
101
|
+
/**
|
|
102
|
+
* Votes table - Message upvote/downvote tracking
|
|
103
|
+
* Composite primary key on chatId + messageId for one vote per message
|
|
104
|
+
*/
|
|
105
|
+
export const votes = pgTable("votes", {
|
|
106
|
+
chatId: text("chat_id")
|
|
107
|
+
.notNull()
|
|
108
|
+
.references(() => conversations.id, { onDelete: "cascade" }),
|
|
109
|
+
messageId: text("message_id")
|
|
110
|
+
.notNull()
|
|
111
|
+
.references(() => messages.id, { onDelete: "cascade" }),
|
|
112
|
+
isUpvoted: boolean("is_upvoted").notNull(),
|
|
113
|
+
}, (table) => [
|
|
114
|
+
primaryKey({ columns: [table.chatId, table.messageId] }),
|
|
115
|
+
index("votes_message_id_idx").on(table.messageId),
|
|
116
|
+
]);
|
|
117
|
+
/**
|
|
118
|
+
* Document Types reference table
|
|
119
|
+
* Lookup table for document kinds — extensible without code changes.
|
|
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
|
|
135
|
+
*/
|
|
136
|
+
export const documents = pgTable("documents", {
|
|
137
|
+
id: text("id").notNull(),
|
|
138
|
+
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
139
|
+
title: text("title").notNull(),
|
|
140
|
+
content: text("content"),
|
|
141
|
+
kind: text("kind").notNull().default("text"), // Legacy field, kept for compatibility
|
|
142
|
+
typeId: text("type_id").references(() => documentTypes.id, {
|
|
143
|
+
onDelete: "set null",
|
|
144
|
+
}),
|
|
145
|
+
metadata: jsonb("metadata"), // Structured data (e.g. CareerReport JSON)
|
|
146
|
+
userId: text("user_id")
|
|
147
|
+
.notNull()
|
|
148
|
+
.references(() => users.id, { onDelete: "cascade" }),
|
|
149
|
+
workspaceId: text("workspace_id")
|
|
150
|
+
.notNull()
|
|
151
|
+
.references(() => organization.id, { onDelete: "cascade" }),
|
|
152
|
+
}, (table) => [
|
|
153
|
+
primaryKey({ columns: [table.id, table.createdAt] }),
|
|
154
|
+
index("documents_workspace_id_idx").on(table.workspaceId),
|
|
155
|
+
index("documents_type_id_idx").on(table.typeId),
|
|
156
|
+
index("documents_user_id_idx").on(table.userId),
|
|
157
|
+
]);
|
|
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
|
+
//# sourceMappingURL=ai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../../src/db/schema/ai.ts"],"names":[],"mappings":"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"}
|