@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,53 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Server-only persistence for conversations, messages and votes.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* and chat-route persistence helper (ADR-0009) — the tables
|
|
8
|
-
* (`conversations`, `messages`, `votes`) always lived in
|
|
9
|
-
* @intelligo-dev/core's schema, only the service layer sat in the product
|
|
10
|
-
* application.
|
|
4
|
+
* Title generation, windowing and summarization, agent validation and model
|
|
5
|
+
* selection belong to the product; this module takes an already-resolved
|
|
6
|
+
* agentId and modelId.
|
|
11
7
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* - Conversation windowing/summarization
|
|
17
|
-
* (applyConversationWindow, summarizeOldMessages) and the
|
|
18
|
-
* `conversationSummary` metadata write they produce.
|
|
19
|
-
* - Career's assessment-state read/write helpers
|
|
20
|
-
* (getAssessmentState/updateAssessmentState) — career-specific
|
|
21
|
-
* shape living under `conversations.metadata`.
|
|
22
|
-
* - Agent id validation ("career-advisor" | "sesh-planner") and
|
|
23
|
-
* default model selection — product decides both; this module
|
|
24
|
-
* accepts an already-resolved agentId/modelId.
|
|
25
|
-
*
|
|
26
|
-
* Callers pass a resolved actor (workspaceId, userId) rather than this
|
|
27
|
-
* module resolving one itself — @intelligo-dev/core cannot depend on
|
|
28
|
-
* @intelligo-dev/auth (see tests/architecture/dependency-direction.test.ts).
|
|
29
|
-
* Every query still filters by workspaceId AND userId internally
|
|
30
|
-
* (conversations are USER-PRIVATE within a workspace); the actor is
|
|
31
|
-
* never trusted to have done that itself.
|
|
32
|
-
*
|
|
33
|
-
* Failure is reported by throwing `ConversationServiceError` rather
|
|
34
|
-
* than returning a `{ success, error }` envelope — see ./errors.ts.
|
|
35
|
-
*
|
|
36
|
-
* This module is SERVER-ONLY. Do not import from client components.
|
|
8
|
+
* Callers pass a resolved actor (workspaceId, userId); core cannot depend on
|
|
9
|
+
* `@intelligo-dev/auth`. Conversations are user-private within a workspace,
|
|
10
|
+
* so every query filters by both ids — the caller is never trusted to have
|
|
11
|
+
* done it. Failures throw `ConversationServiceError`.
|
|
37
12
|
*/
|
|
38
13
|
import { and, asc, desc, eq, gt, inArray, lt, sql } from "drizzle-orm";
|
|
39
|
-
import { db } from "../db";
|
|
40
|
-
import { conversations, messages, votes } from "../db/schema";
|
|
41
|
-
import { ConversationServiceError } from "./errors";
|
|
42
|
-
// ---------------------------------------------------------------------------
|
|
43
|
-
// Internal helpers
|
|
44
|
-
// ---------------------------------------------------------------------------
|
|
14
|
+
import { db } from "../db/index.js";
|
|
15
|
+
import { conversations, messages, votes } from "../db/schema/index.js";
|
|
16
|
+
import { ConversationServiceError } from "./errors.js";
|
|
45
17
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* conversation
|
|
49
|
-
*
|
|
50
|
-
* the point: the id alone should never reveal existence across users.
|
|
18
|
+
* Returns the conversation if the actor owns it. Throws
|
|
19
|
+
* ConversationServiceError("not_found") otherwise — another user's
|
|
20
|
+
* conversation is indistinguishable from a missing one, so an id never
|
|
21
|
+
* reveals existence across users.
|
|
51
22
|
*/
|
|
52
23
|
async function verifyConversation(actor, id) {
|
|
53
24
|
const [conversation] = await db
|
|
@@ -60,33 +31,35 @@ async function verifyConversation(actor, id) {
|
|
|
60
31
|
}
|
|
61
32
|
return conversation;
|
|
62
33
|
}
|
|
63
|
-
// ---------------------------------------------------------------------------
|
|
64
|
-
// Conversation lifecycle
|
|
65
|
-
// ---------------------------------------------------------------------------
|
|
66
34
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
* decides which agents exist and which model backs a new conversation
|
|
71
|
-
* (see the module doc comment). `id` defaults to a fresh UUID when
|
|
72
|
-
* omitted.
|
|
35
|
+
* Creates a conversation. `agentId` and `modelId` are opaque to this
|
|
36
|
+
* module; `id` defaults to a fresh UUID. An `id` the actor already owns
|
|
37
|
+
* returns that conversation; one another actor owns is `forbidden`.
|
|
73
38
|
*/
|
|
74
39
|
export async function createConversation(actor, params) {
|
|
40
|
+
const id = params.id ?? crypto.randomUUID();
|
|
75
41
|
const [conversation] = await db
|
|
76
42
|
.insert(conversations)
|
|
77
43
|
.values({
|
|
78
|
-
id
|
|
44
|
+
id,
|
|
79
45
|
workspaceId: actor.workspaceId,
|
|
80
46
|
userId: actor.userId,
|
|
81
47
|
agentId: params.agentId,
|
|
82
48
|
modelId: params.modelId,
|
|
83
49
|
title: params.title ?? null,
|
|
84
50
|
})
|
|
51
|
+
.onConflictDoNothing({ target: conversations.id })
|
|
85
52
|
.returning();
|
|
86
|
-
if (
|
|
87
|
-
|
|
53
|
+
if (conversation)
|
|
54
|
+
return conversation;
|
|
55
|
+
// The id is taken: by the actor's own racing first turn, which is the
|
|
56
|
+
// conversation this call wanted, or by someone else's.
|
|
57
|
+
try {
|
|
58
|
+
return await verifyConversation(actor, id);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
throw new ConversationServiceError("forbidden", "Conversation id belongs to another actor");
|
|
88
62
|
}
|
|
89
|
-
return conversation;
|
|
90
63
|
}
|
|
91
64
|
/** Get a single conversation, scoped to the actor. */
|
|
92
65
|
export async function getConversation(actor, id) {
|
|
@@ -105,6 +78,7 @@ export async function listConversations(actor, options) {
|
|
|
105
78
|
title: conversations.title,
|
|
106
79
|
agentId: conversations.agentId,
|
|
107
80
|
updatedAt: conversations.updatedAt,
|
|
81
|
+
metadata: conversations.metadata,
|
|
108
82
|
})
|
|
109
83
|
.from(conversations)
|
|
110
84
|
.where(and(eq(conversations.workspaceId, actor.workspaceId), eq(conversations.userId, actor.userId)))
|
|
@@ -161,6 +135,69 @@ export async function renameConversation(actor, id, title) {
|
|
|
161
135
|
}
|
|
162
136
|
return updated;
|
|
163
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Shallow-merges a patch into the conversation's `metadata`: each top-level
|
|
140
|
+
* key in `patch` replaces the stored one, every other key stays.
|
|
141
|
+
*/
|
|
142
|
+
export async function updateConversationMetadata(actor, id, patch) {
|
|
143
|
+
await verifyConversation(actor, id);
|
|
144
|
+
const [updated] = await db
|
|
145
|
+
.update(conversations)
|
|
146
|
+
.set({
|
|
147
|
+
metadata: sql `coalesce(${conversations.metadata}, '{}'::jsonb) || ${JSON.stringify(patch)}::jsonb`,
|
|
148
|
+
updatedAt: new Date(),
|
|
149
|
+
})
|
|
150
|
+
.where(eq(conversations.id, id))
|
|
151
|
+
.returning();
|
|
152
|
+
if (!updated) {
|
|
153
|
+
throw new ConversationServiceError("database_error", "Failed to update conversation metadata");
|
|
154
|
+
}
|
|
155
|
+
return updated;
|
|
156
|
+
}
|
|
157
|
+
/** Publish or unpublish a conversation. Public means readable by its id, by anyone. */
|
|
158
|
+
export async function setConversationVisibility(actor, id, visibility) {
|
|
159
|
+
await verifyConversation(actor, id);
|
|
160
|
+
const [updated] = await db
|
|
161
|
+
.update(conversations)
|
|
162
|
+
.set({ visibility, updatedAt: new Date() })
|
|
163
|
+
.where(eq(conversations.id, id))
|
|
164
|
+
.returning();
|
|
165
|
+
if (!updated) {
|
|
166
|
+
throw new ConversationServiceError("database_error", "Failed to update conversation visibility");
|
|
167
|
+
}
|
|
168
|
+
return updated;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* A conversation its owner published, by id alone — no actor, because
|
|
172
|
+
* the reader has none. Everything else about the row stays private:
|
|
173
|
+
* only what a shared page shows is projected.
|
|
174
|
+
*/
|
|
175
|
+
export async function getPublicConversation(id) {
|
|
176
|
+
const [row] = await db
|
|
177
|
+
.select({
|
|
178
|
+
id: conversations.id,
|
|
179
|
+
title: conversations.title,
|
|
180
|
+
agentId: conversations.agentId,
|
|
181
|
+
createdAt: conversations.createdAt,
|
|
182
|
+
updatedAt: conversations.updatedAt,
|
|
183
|
+
})
|
|
184
|
+
.from(conversations)
|
|
185
|
+
.where(and(eq(conversations.id, id), eq(conversations.visibility, "public")))
|
|
186
|
+
.limit(1);
|
|
187
|
+
if (!row) {
|
|
188
|
+
throw new ConversationServiceError("not_found", "Conversation not found");
|
|
189
|
+
}
|
|
190
|
+
return row;
|
|
191
|
+
}
|
|
192
|
+
/** The messages of a published conversation, oldest first. Empty when it is not public. */
|
|
193
|
+
export async function getPublicMessages(id) {
|
|
194
|
+
await getPublicConversation(id);
|
|
195
|
+
return db
|
|
196
|
+
.select()
|
|
197
|
+
.from(messages)
|
|
198
|
+
.where(eq(messages.conversationId, id))
|
|
199
|
+
.orderBy(asc(messages.createdAt));
|
|
200
|
+
}
|
|
164
201
|
/** Delete a conversation and all its messages (CASCADE). */
|
|
165
202
|
export async function deleteConversation(actor, id) {
|
|
166
203
|
await verifyConversation(actor, id);
|
|
@@ -174,9 +211,6 @@ export async function deleteAllConversations(actor) {
|
|
|
174
211
|
.returning();
|
|
175
212
|
return { deletedCount: deleted.length };
|
|
176
213
|
}
|
|
177
|
-
// ---------------------------------------------------------------------------
|
|
178
|
-
// Messages
|
|
179
|
-
// ---------------------------------------------------------------------------
|
|
180
214
|
/** Get all messages for a conversation, ordered oldest-first. */
|
|
181
215
|
export async function getMessages(actor, conversationId) {
|
|
182
216
|
await verifyConversation(actor, conversationId);
|
|
@@ -187,12 +221,9 @@ export async function getMessages(actor, conversationId) {
|
|
|
187
221
|
.orderBy(asc(messages.createdAt));
|
|
188
222
|
}
|
|
189
223
|
/**
|
|
190
|
-
*
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
* route), not a background job with its own scope check, so a
|
|
194
|
-
* workspace-only guard here would let any member insert content into
|
|
195
|
-
* a colleague's private conversation. Bumps `updatedAt` on the
|
|
224
|
+
* Saves a batch of messages. Every `conversationId` must belong to a
|
|
225
|
+
* conversation the actor owns — a workspace-only guard would let any member
|
|
226
|
+
* write into a colleague's private conversation. Bumps `updatedAt` on the
|
|
196
227
|
* touched conversations.
|
|
197
228
|
*/
|
|
198
229
|
export async function saveMessages(actor, messagesToSave) {
|
|
@@ -228,21 +259,13 @@ export async function saveMessages(actor, messagesToSave) {
|
|
|
228
259
|
return inserted;
|
|
229
260
|
}
|
|
230
261
|
/**
|
|
231
|
-
*
|
|
232
|
-
*
|
|
233
|
-
* persistence step. No actor param: by the time a caller reaches this
|
|
234
|
-
* (mid- or post-stream, inside an already-authorized request) the
|
|
235
|
-
* conversation's ownership was already verified once (typically via
|
|
236
|
-
* `getConversation`/`getMessages` at the top of the request); this
|
|
237
|
-
* function's job is the idempotent write, not a second ownership
|
|
238
|
-
* check per message.
|
|
262
|
+
* Idempotently upserts streamed messages. Takes no actor: the caller
|
|
263
|
+
* verified ownership once at the top of the already-authorized request.
|
|
239
264
|
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
* `
|
|
243
|
-
*
|
|
244
|
-
* conversations (defended against, not expected under normal id
|
|
245
|
-
* generation).
|
|
265
|
+
* One multi-row `INSERT ... ON CONFLICT (id) DO UPDATE`, so an N-message
|
|
266
|
+
* tool loop pays one round-trip. The `WHERE` on the update keeps the write
|
|
267
|
+
* scoped to `conversationId` even if a message id collided across
|
|
268
|
+
* conversations.
|
|
246
269
|
*/
|
|
247
270
|
export async function upsertMessages(conversationId, finishedMessages) {
|
|
248
271
|
if (finishedMessages.length === 0)
|
|
@@ -313,9 +336,6 @@ export async function deleteTrailingMessages(actor, params) {
|
|
|
313
336
|
.returning();
|
|
314
337
|
return { deletedCount: deleted.length };
|
|
315
338
|
}
|
|
316
|
-
// ---------------------------------------------------------------------------
|
|
317
|
-
// Votes
|
|
318
|
-
// ---------------------------------------------------------------------------
|
|
319
339
|
/** Vote on a message (upvote or downvote). */
|
|
320
340
|
export async function voteMessage(actor, params) {
|
|
321
341
|
await verifyConversation(actor, params.chatId);
|
|
@@ -339,6 +359,13 @@ export async function voteMessage(actor, params) {
|
|
|
339
359
|
set: { isUpvoted: params.type === "up" },
|
|
340
360
|
});
|
|
341
361
|
}
|
|
362
|
+
/** Withdraw a vote. A missing vote is not an error. */
|
|
363
|
+
export async function clearVote(actor, params) {
|
|
364
|
+
await verifyConversation(actor, params.chatId);
|
|
365
|
+
await db
|
|
366
|
+
.delete(votes)
|
|
367
|
+
.where(and(eq(votes.chatId, params.chatId), eq(votes.messageId, params.messageId)));
|
|
368
|
+
}
|
|
342
369
|
/** Get all votes for a conversation. */
|
|
343
370
|
export async function getVotes(actor, chatId) {
|
|
344
371
|
await verifyConversation(actor, chatId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/conversations/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/conversations/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared types for the conversations service.
|
|
3
|
-
*/
|
|
4
1
|
/** Resolved actor identity — every query is scoped to this pair. */
|
|
5
2
|
export type ConversationActor = {
|
|
6
3
|
workspaceId: string;
|
|
7
4
|
userId: string;
|
|
8
5
|
};
|
|
9
|
-
export type { Conversation, InsertConversation, Message, InsertMessage, Vote, InsertVote, ConversationMetadata, } from "../db/schema";
|
|
6
|
+
export type { Conversation, InsertConversation, Message, InsertMessage, Vote, InsertVote, ConversationMetadata, } from "../db/schema/index.js";
|
|
10
7
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/conversations/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/conversations/types.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,IAAI,EACJ,UAAU,EACV,oBAAoB,GACrB,MAAM,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/conversations/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/conversations/types.ts"],"names":[],"mappings":""}
|
package/dist/db/client.d.ts
CHANGED
|
@@ -1,19 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* One Drizzle handle, two drivers: `pg` (node-postgres) for ordinary
|
|
3
|
+
* Postgres URLs, and `neon-serverless` (Neon's WebSocket driver) for Neon
|
|
4
|
+
* URLs.
|
|
3
5
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
6
|
+
* Neon's HTTP driver is deliberately not an option: it has no session, so
|
|
7
|
+
* `db.transaction()` throws, and quota admission (`pg_advisory_xact_lock` +
|
|
8
|
+
* reservation insert) and usage settlement are transactions.
|
|
7
9
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* `INTELLIGO_DB_DRIVER=pg | neon-serverless` forces a driver, for a
|
|
11
|
+
* Neon-compatible proxy or a self-hosted Postgres whose hostname happens to
|
|
12
|
+
* match.
|
|
13
|
+
*
|
|
14
|
+
* The client is created on first access so `next build` can collect route
|
|
15
|
+
* metadata without DATABASE_URL; a missing URL throws on the first query.
|
|
13
16
|
*/
|
|
14
|
-
import { drizzle as drizzleNeon } from "drizzle-orm/neon-
|
|
17
|
+
import { drizzle as drizzleNeon } from "drizzle-orm/neon-serverless";
|
|
15
18
|
import { drizzle as drizzlePostgres } from "drizzle-orm/node-postgres";
|
|
19
|
+
export type DbDriver = "pg" | "neon-serverless";
|
|
16
20
|
type Db = ReturnType<typeof drizzleNeon> | ReturnType<typeof drizzlePostgres>;
|
|
21
|
+
/**
|
|
22
|
+
* Which driver a connection string gets. Pure, so the rule is testable
|
|
23
|
+
* without a database: an explicit `INTELLIGO_DB_DRIVER` wins; otherwise
|
|
24
|
+
* Neon hosts (`neon.tech`) and Neon endpoint ids (`@ep-…`) take the
|
|
25
|
+
* WebSocket driver and everything else takes node-postgres.
|
|
26
|
+
*/
|
|
27
|
+
export declare function selectDriver(url: string, override?: string): DbDriver;
|
|
17
28
|
export declare const db: Db;
|
|
18
29
|
export {};
|
|
19
30
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/db/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAMvE,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,iBAAiB,CAAC;AAEhD,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAI9E;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAUrE;AAsCD,eAAO,MAAM,EAAE,EAAE,EAMT,CAAC"}
|
package/dist/db/client.js
CHANGED
|
@@ -1,36 +1,61 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* One Drizzle handle, two drivers: `pg` (node-postgres) for ordinary
|
|
3
|
+
* Postgres URLs, and `neon-serverless` (Neon's WebSocket driver) for Neon
|
|
4
|
+
* URLs.
|
|
3
5
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
6
|
+
* Neon's HTTP driver is deliberately not an option: it has no session, so
|
|
7
|
+
* `db.transaction()` throws, and quota admission (`pg_advisory_xact_lock` +
|
|
8
|
+
* reservation insert) and usage settlement are transactions.
|
|
7
9
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* `INTELLIGO_DB_DRIVER=pg | neon-serverless` forces a driver, for a
|
|
11
|
+
* Neon-compatible proxy or a self-hosted Postgres whose hostname happens to
|
|
12
|
+
* match.
|
|
13
|
+
*
|
|
14
|
+
* The client is created on first access so `next build` can collect route
|
|
15
|
+
* metadata without DATABASE_URL; a missing URL throws on the first query.
|
|
13
16
|
*/
|
|
14
|
-
import { drizzle as drizzleNeon } from "drizzle-orm/neon-
|
|
17
|
+
import { drizzle as drizzleNeon } from "drizzle-orm/neon-serverless";
|
|
15
18
|
import { drizzle as drizzlePostgres } from "drizzle-orm/node-postgres";
|
|
16
|
-
import {
|
|
19
|
+
import { Pool as NeonPool, neonConfig } from "@neondatabase/serverless";
|
|
17
20
|
import pkg from "pg";
|
|
18
21
|
const { Pool } = pkg;
|
|
19
|
-
import * as schema from "./schema";
|
|
22
|
+
import * as schema from "./schema/index.js";
|
|
20
23
|
let cached = null;
|
|
24
|
+
/**
|
|
25
|
+
* Which driver a connection string gets. Pure, so the rule is testable
|
|
26
|
+
* without a database: an explicit `INTELLIGO_DB_DRIVER` wins; otherwise
|
|
27
|
+
* Neon hosts (`neon.tech`) and Neon endpoint ids (`@ep-…`) take the
|
|
28
|
+
* WebSocket driver and everything else takes node-postgres.
|
|
29
|
+
*/
|
|
30
|
+
export function selectDriver(url, override) {
|
|
31
|
+
if (override === "pg" || override === "neon-serverless")
|
|
32
|
+
return override;
|
|
33
|
+
if (override) {
|
|
34
|
+
throw new Error(`INTELLIGO_DB_DRIVER must be "pg" or "neon-serverless", got "${override}". ` +
|
|
35
|
+
`(neon-http is not supported: it cannot run transactions.)`);
|
|
36
|
+
}
|
|
37
|
+
const isNeon = url.includes("neon.tech") || url.includes("@ep-");
|
|
38
|
+
return isNeon ? "neon-serverless" : "pg";
|
|
39
|
+
}
|
|
21
40
|
function initDb() {
|
|
22
41
|
const url = process.env.DATABASE_URL;
|
|
23
42
|
if (!url) {
|
|
24
43
|
throw new Error("DATABASE_URL is not defined. Please set it in your .env file.");
|
|
25
44
|
}
|
|
26
|
-
const
|
|
27
|
-
if (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
45
|
+
const driver = selectDriver(url, process.env.INTELLIGO_DB_DRIVER);
|
|
46
|
+
if (driver === "neon-serverless") {
|
|
47
|
+
// The WebSocket driver needs a WebSocket implementation. Node 22+
|
|
48
|
+
// has one globally; older runtimes must install `ws` and assign
|
|
49
|
+
// `neonConfig.webSocketConstructor` themselves before first use.
|
|
50
|
+
if (!neonConfig.webSocketConstructor && typeof WebSocket !== "undefined") {
|
|
51
|
+
neonConfig.webSocketConstructor = WebSocket;
|
|
52
|
+
}
|
|
53
|
+
const pool = new NeonPool({ connectionString: url });
|
|
54
|
+
console.log("📊 Database: Neon (serverless, WebSocket)");
|
|
55
|
+
return drizzleNeon(pool, { schema });
|
|
31
56
|
}
|
|
32
57
|
const pool = new Pool({ connectionString: url });
|
|
33
|
-
console.log("📊 Database: PostgreSQL
|
|
58
|
+
console.log("📊 Database: PostgreSQL");
|
|
34
59
|
return drizzlePostgres(pool, { schema });
|
|
35
60
|
}
|
|
36
61
|
function resolveDb() {
|
package/dist/db/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,GAAG,MAAM,IAAI,CAAC;AACrB,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;AACrB,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAMnC,IAAI,MAAM,GAAc,IAAI,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,QAAiB;IACzD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,iBAAiB;QAAE,OAAO,QAAQ,CAAC;IACzE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,+DAA+D,QAAQ,KAAK;YAC1E,2DAA2D,CAC9D,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED,SAAS,MAAM;IACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAElE,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,kEAAkE;QAClE,gEAAgE;QAChE,iEAAiE;QACjE,IAAI,CAAC,UAAU,CAAC,oBAAoB,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;YACzE,UAAU,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAC9C,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,OAAO,eAAe,CAAC,IAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,SAAS;IAChB,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gEAAgE;AAChE,qEAAqE;AACrE,+DAA+D;AAC/D,+DAA+D;AAC/D,MAAM,CAAC,MAAM,EAAE,GAAO,IAAI,KAAK,CAAC,EAAQ,EAAE;IACxC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ;QACzB,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAChE,CAAC;CACF,CAAO,CAAC"}
|
package/dist/db/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from "./client";
|
|
2
|
-
export * from "./validate";
|
|
3
|
-
export { workspaceEq, withWorkspaceFilter } from "./workspace-queries";
|
|
1
|
+
export * from "./client.js";
|
|
2
|
+
export * from "./validate.js";
|
|
3
|
+
export { workspaceEq, withWorkspaceFilter } from "./workspace-queries.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/db/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/db/index.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export * from "./
|
|
3
|
-
|
|
4
|
-
export * from "./validate";
|
|
5
|
-
// Re-export workspace-scoped query helpers (Phase 10)
|
|
6
|
-
export { workspaceEq, withWorkspaceFilter } from "./workspace-queries";
|
|
7
|
-
// This file will later also re-export schema types and helpers
|
|
1
|
+
export * from "./client.js";
|
|
2
|
+
export * from "./validate.js";
|
|
3
|
+
export { workspaceEq, withWorkspaceFilter } from "./workspace-queries.js";
|
|
8
4
|
//# sourceMappingURL=index.js.map
|
package/dist/db/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
|