weave-typescript 0.27.0 → 0.29.0
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/dist/weaveapi/consolidation/v1/consolidation.pb.d.ts +134 -0
- package/dist/weaveapi/consolidation/v1/consolidation.pb.js +1620 -0
- package/dist/weaveapi/consolidation/v1/service.pb.d.ts +93 -0
- package/dist/weaveapi/consolidation/v1/service.pb.js +427 -0
- package/dist/weaveapi/ingestion/v1/ingestion.pb.d.ts +637 -0
- package/dist/weaveapi/ingestion/v1/ingestion.pb.js +8486 -0
- package/dist/weaveapi/ingestion/v1/service.pb.d.ts +293 -0
- package/dist/weaveapi/ingestion/v1/service.pb.js +1556 -0
- package/dist/weaveapi/model/v1/model.pb.d.ts +10 -0
- package/dist/weaveapi/model/v1/model.pb.js +181 -1
- package/dist/weaveapi/model/v1/service.pb.d.ts +50 -1
- package/dist/weaveapi/model/v1/service.pb.js +464 -1
- package/dist/weaveapi/retrieval/v1/retrieval.pb.d.ts +205 -0
- package/dist/weaveapi/retrieval/v1/retrieval.pb.js +2613 -0
- package/dist/weaveapi/retrieval/v1/service.pb.d.ts +65 -0
- package/dist/weaveapi/retrieval/v1/service.pb.js +243 -0
- package/dist/weavesql/weavedb/consolidation_sql.d.ts +212 -0
- package/dist/weavesql/weavedb/consolidation_sql.js +470 -0
- package/dist/weavesql/weavedb/document_security_sql.d.ts +128 -0
- package/dist/weavesql/weavedb/document_security_sql.js +284 -0
- package/dist/weavesql/weavedb/ingestion_sql.d.ts +1259 -0
- package/dist/weavesql/weavedb/ingestion_sql.js +2924 -0
- package/dist/weavesql/weavedb/retrieval_sql.d.ts +315 -0
- package/dist/weavesql/weavedb/retrieval_sql.js +880 -0
- package/package.json +2 -2
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import { QueryArrayConfig, QueryArrayResult } from "pg";
|
|
2
|
+
interface Client {
|
|
3
|
+
query: (config: QueryArrayConfig) => Promise<QueryArrayResult>;
|
|
4
|
+
}
|
|
5
|
+
export declare const refreshThreadReinforcementScoresQuery = "-- name: RefreshThreadReinforcementScores :exec\nREFRESH MATERIALIZED VIEW CONCURRENTLY weave.thread_reinforcement_scores";
|
|
6
|
+
export declare function refreshThreadReinforcementScores(client: Client): Promise<void>;
|
|
7
|
+
export declare const searchApprovedThreadsSemanticQuery = "-- name: SearchApprovedThreadsSemantic :many\nSELECT\n t.id AS thread_id,\n t.text,\n t.knowledge_type,\n t.facet_fields,\n similarity.score,\n t.classification,\n t.document_id,\n d.filename AS document_name,\n t.source_location,\n t.approved_at,\n t.temporal_validity,\n COALESCE(entity_data.entities, '{}'::text[]) AS entities,\n COALESCE(rs.reinforcement_count, 0) AS reinforcement_count,\n COALESCE(cc.name, '') AS concept_cluster\nFROM weave.threads t\nJOIN weave.documents d ON d.id = t.document_id\nCROSS JOIN LATERAL (\n SELECT CAST(\n 1.0::double precision\n - (t.embedding <=> $1::vector)::double precision\n AS double precision\n ) AS score\n) similarity\nLEFT JOIN weave.thread_reinforcement_scores rs ON rs.thread_id = t.id\nLEFT JOIN weave.concept_clusters cc ON cc.id = t.cluster_id\nLEFT JOIN LATERAL (\n SELECT array_agg(DISTINCT e.canonical ORDER BY e.canonical) AS entities\n FROM weave.thread_entities te\n JOIN weave.entities e ON e.id = te.entity_id\n WHERE te.thread_id = t.id\n) entity_data ON TRUE\nWHERE t.organization_id = $2\n AND t.retrieval_status = 'THREAD_RETRIEVAL_STATUS_APPROVED'\n AND t.embedding IS NOT NULL\n AND similarity.score >= $3::double precision\nORDER BY score DESC, t.approved_at DESC\nLIMIT $4";
|
|
8
|
+
export interface SearchApprovedThreadsSemanticArgs {
|
|
9
|
+
queryEmbedding: string;
|
|
10
|
+
organizationId: string;
|
|
11
|
+
minSimilarity: number;
|
|
12
|
+
resultLimit: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SearchApprovedThreadsSemanticRow {
|
|
15
|
+
threadId: string;
|
|
16
|
+
text: string;
|
|
17
|
+
knowledgeType: string;
|
|
18
|
+
facetFields: any;
|
|
19
|
+
score: number;
|
|
20
|
+
classification: string;
|
|
21
|
+
documentId: string;
|
|
22
|
+
documentName: string;
|
|
23
|
+
sourceLocation: any;
|
|
24
|
+
approvedAt: Date | null;
|
|
25
|
+
temporalValidity: any | null;
|
|
26
|
+
entities: string;
|
|
27
|
+
reinforcementCount: string;
|
|
28
|
+
conceptCluster: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function searchApprovedThreadsSemantic(client: Client, args: SearchApprovedThreadsSemanticArgs): Promise<SearchApprovedThreadsSemanticRow[]>;
|
|
31
|
+
export declare const searchApprovedThreadsSemanticByUserPermissionsQuery = "-- name: SearchApprovedThreadsSemanticByUserPermissions :many\nSELECT\n t.id AS thread_id,\n t.text,\n t.knowledge_type,\n t.facet_fields,\n similarity.score,\n t.classification,\n t.document_id,\n d.filename AS document_name,\n t.source_location,\n t.approved_at,\n t.temporal_validity,\n COALESCE(entity_data.entities, '{}'::text[]) AS entities,\n COALESCE(rs.reinforcement_count, 0) AS reinforcement_count,\n COALESCE(cc.name, '') AS concept_cluster\nFROM weave.threads t\nJOIN weave.documents d ON d.id = t.document_id\nCROSS JOIN LATERAL (\n SELECT CAST(\n 1.0::double precision\n - (t.embedding <=> $1::vector)::double precision\n AS double precision\n ) AS score\n) similarity\nLEFT JOIN weave.thread_reinforcement_scores rs ON rs.thread_id = t.id\nLEFT JOIN weave.concept_clusters cc ON cc.id = t.cluster_id\nLEFT JOIN LATERAL (\n SELECT array_agg(DISTINCT e.canonical ORDER BY e.canonical) AS entities\n FROM weave.thread_entities te\n JOIN weave.entities e ON e.id = te.entity_id\n WHERE te.thread_id = t.id\n) entity_data ON TRUE\nWHERE t.organization_id = $2\n AND t.retrieval_status = 'THREAD_RETRIEVAL_STATUS_APPROVED'\n AND t.embedding IS NOT NULL\n AND similarity.score >= $3::double precision\n AND (\n d.scope = 'DOCUMENT_SCOPE_ORG'\n OR (d.scope = 'DOCUMENT_SCOPE_PRIVATE'\n AND d.uploaded_by_user_id = $4)\n OR (d.scope = 'DOCUMENT_SCOPE_RESTRICTED'\n AND EXISTS (\n SELECT 1\n FROM weave.user_sensitivity_clearances c\n WHERE c.organization_id = $2\n AND c.user_id = $4\n AND cardinality(d.sensitivity_tags) = 1\n AND c.sensitivity_tag_slug = d.sensitivity_tags[1]\n ))\n )\nORDER BY score DESC, t.approved_at DESC\nLIMIT $5";
|
|
32
|
+
export interface SearchApprovedThreadsSemanticByUserPermissionsArgs {
|
|
33
|
+
queryEmbedding: string;
|
|
34
|
+
organizationId: string;
|
|
35
|
+
minSimilarity: number;
|
|
36
|
+
actingUserId: string;
|
|
37
|
+
resultLimit: string;
|
|
38
|
+
}
|
|
39
|
+
export interface SearchApprovedThreadsSemanticByUserPermissionsRow {
|
|
40
|
+
threadId: string;
|
|
41
|
+
text: string;
|
|
42
|
+
knowledgeType: string;
|
|
43
|
+
facetFields: any;
|
|
44
|
+
score: number;
|
|
45
|
+
classification: string;
|
|
46
|
+
documentId: string;
|
|
47
|
+
documentName: string;
|
|
48
|
+
sourceLocation: any;
|
|
49
|
+
approvedAt: Date | null;
|
|
50
|
+
temporalValidity: any | null;
|
|
51
|
+
entities: string;
|
|
52
|
+
reinforcementCount: string;
|
|
53
|
+
conceptCluster: string;
|
|
54
|
+
}
|
|
55
|
+
export declare function searchApprovedThreadsSemanticByUserPermissions(client: Client, args: SearchApprovedThreadsSemanticByUserPermissionsArgs): Promise<SearchApprovedThreadsSemanticByUserPermissionsRow[]>;
|
|
56
|
+
export declare const searchAccessibleDocumentsSemanticQuery = "-- name: SearchAccessibleDocumentsSemantic :many\nWITH tag_data AS (\n SELECT\n dt.document_id,\n array_agg(dt.tag ORDER BY dt.tag ASC) AS tags,\n array_agg(dt.confidence ORDER BY dt.tag ASC) AS tag_confidences\n FROM weave.document_tags dt\n JOIN weave.documents d ON d.id = dt.document_id\n WHERE d.organization_id = $4\n GROUP BY dt.document_id\n),\nmatches AS (\n SELECT\n t.id AS thread_id,\n t.text,\n t.classification,\n t.document_id,\n d.filename AS document_name,\n d.mime_type,\n d.scope,\n d.sensitivity_tags,\n d.uploaded_at,\n COALESCE(tag_data.tags, '{}'::text[]) AS tags,\n COALESCE(tag_data.tag_confidences, '{}'::real[]) AS tag_confidences,\n t.source_location,\n t.approved_at,\n CAST(\n 1.0::double precision\n - (t.embedding <=> $5::vector)::double precision\n AS double precision\n ) AS score\n FROM weave.threads t\n JOIN weave.documents d ON d.id = t.document_id\n LEFT JOIN tag_data ON tag_data.document_id = d.id\n WHERE t.organization_id = $4\n AND t.retrieval_status = 'THREAD_RETRIEVAL_STATUS_APPROVED'\n AND t.embedding IS NOT NULL\n AND (\n d.scope = 'DOCUMENT_SCOPE_ORG'\n OR (d.scope = 'DOCUMENT_SCOPE_PRIVATE'\n AND d.uploaded_by_user_id = $6)\n OR (d.scope = 'DOCUMENT_SCOPE_RESTRICTED'\n AND EXISTS (\n SELECT 1\n FROM weave.user_sensitivity_clearances c\n WHERE c.organization_id = $4\n AND c.user_id = $6\n AND cardinality(d.sensitivity_tags) = 1\n AND c.sensitivity_tag_slug = d.sensitivity_tags[1]\n ))\n )\n AND (cardinality($7::text[]) = 0 OR tag_data.tags && $7::text[] OR d.sensitivity_tags && $7::text[])\n AND (cardinality($8::text[]) = 0 OR d.sensitivity_tags && $8::text[])\n AND (cardinality($9::text[]) = 0 OR d.scope = ANY($9::text[]))\n AND ($10::timestamptz IS NULL OR d.uploaded_at >= $10::timestamptz)\n AND ($11::timestamptz IS NULL OR d.uploaded_at <= $11::timestamptz)\n)\nSELECT\n document_id,\n document_name,\n mime_type,\n scope,\n sensitivity_tags,\n tags,\n tag_confidences,\n uploaded_at,\n MAX(score)::double precision AS score,\n COUNT(*)::int AS matched_thread_count,\n (array_agg(thread_id ORDER BY score DESC, approved_at DESC))[1] AS best_thread_id,\n (array_agg(text ORDER BY score DESC, approved_at DESC))[1] AS best_text,\n (array_agg(classification ORDER BY score DESC, approved_at DESC))[1] AS best_classification,\n (array_agg(source_location ORDER BY score DESC, approved_at DESC))[1] AS best_source_location\nFROM matches\nWHERE score >= $1::double precision\nGROUP BY\n document_id,\n document_name,\n mime_type,\n scope,\n sensitivity_tags,\n tags,\n tag_confidences,\n uploaded_at\nORDER BY score DESC, uploaded_at DESC\nLIMIT $3 OFFSET $2";
|
|
57
|
+
export interface SearchAccessibleDocumentsSemanticArgs {
|
|
58
|
+
minSimilarity: number;
|
|
59
|
+
pageOffset: string;
|
|
60
|
+
resultLimit: string;
|
|
61
|
+
organizationId: string;
|
|
62
|
+
queryEmbedding: string;
|
|
63
|
+
actingUserId: string;
|
|
64
|
+
tags: string[];
|
|
65
|
+
restrictedTags: string[];
|
|
66
|
+
scopes: string[];
|
|
67
|
+
uploadedAfter: Date | null;
|
|
68
|
+
uploadedBefore: Date | null;
|
|
69
|
+
}
|
|
70
|
+
export interface SearchAccessibleDocumentsSemanticRow {
|
|
71
|
+
documentId: string;
|
|
72
|
+
documentName: string;
|
|
73
|
+
mimeType: string;
|
|
74
|
+
scope: string;
|
|
75
|
+
sensitivityTags: string[];
|
|
76
|
+
tags: string;
|
|
77
|
+
tagConfidences: string;
|
|
78
|
+
uploadedAt: Date;
|
|
79
|
+
score: number;
|
|
80
|
+
matchedThreadCount: number;
|
|
81
|
+
bestThreadId: string | null;
|
|
82
|
+
bestText: string | null;
|
|
83
|
+
bestClassification: string | null;
|
|
84
|
+
bestSourceLocation: string | null;
|
|
85
|
+
}
|
|
86
|
+
export declare function searchAccessibleDocumentsSemantic(client: Client, args: SearchAccessibleDocumentsSemanticArgs): Promise<SearchAccessibleDocumentsSemanticRow[]>;
|
|
87
|
+
export declare const searchApprovedThreadsSemanticByKnowledgeTypesQuery = "-- name: SearchApprovedThreadsSemanticByKnowledgeTypes :many\nSELECT\n t.id AS thread_id,\n t.text,\n t.knowledge_type,\n t.facet_fields,\n similarity.score,\n t.classification,\n t.document_id,\n d.filename AS document_name,\n t.source_location,\n t.approved_at,\n t.temporal_validity,\n COALESCE(entity_data.entities, '{}'::text[]) AS entities,\n COALESCE(rs.reinforcement_count, 0) AS reinforcement_count,\n COALESCE(cc.name, '') AS concept_cluster\nFROM weave.threads t\nJOIN weave.documents d ON d.id = t.document_id\nCROSS JOIN LATERAL (\n SELECT CAST(\n 1.0::double precision\n - (t.embedding <=> $1::vector)::double precision\n AS double precision\n ) AS score\n) similarity\nLEFT JOIN weave.thread_reinforcement_scores rs ON rs.thread_id = t.id\nLEFT JOIN weave.concept_clusters cc ON cc.id = t.cluster_id\nLEFT JOIN LATERAL (\n SELECT array_agg(DISTINCT e.canonical ORDER BY e.canonical) AS entities\n FROM weave.thread_entities te\n JOIN weave.entities e ON e.id = te.entity_id\n WHERE te.thread_id = t.id\n) entity_data ON TRUE\nWHERE t.organization_id = $2\n AND t.retrieval_status = 'THREAD_RETRIEVAL_STATUS_APPROVED'\n AND t.embedding IS NOT NULL\n AND t.knowledge_type = ANY($3::text[])\n AND similarity.score >= $4::double precision\nORDER BY score DESC, t.approved_at DESC\nLIMIT $5";
|
|
88
|
+
export interface SearchApprovedThreadsSemanticByKnowledgeTypesArgs {
|
|
89
|
+
queryEmbedding: string;
|
|
90
|
+
organizationId: string;
|
|
91
|
+
knowledgeTypes: string[];
|
|
92
|
+
minSimilarity: number;
|
|
93
|
+
resultLimit: string;
|
|
94
|
+
}
|
|
95
|
+
export interface SearchApprovedThreadsSemanticByKnowledgeTypesRow {
|
|
96
|
+
threadId: string;
|
|
97
|
+
text: string;
|
|
98
|
+
knowledgeType: string;
|
|
99
|
+
facetFields: any;
|
|
100
|
+
score: number;
|
|
101
|
+
classification: string;
|
|
102
|
+
documentId: string;
|
|
103
|
+
documentName: string;
|
|
104
|
+
sourceLocation: any;
|
|
105
|
+
approvedAt: Date | null;
|
|
106
|
+
temporalValidity: any | null;
|
|
107
|
+
entities: string;
|
|
108
|
+
reinforcementCount: string;
|
|
109
|
+
conceptCluster: string;
|
|
110
|
+
}
|
|
111
|
+
export declare function searchApprovedThreadsSemanticByKnowledgeTypes(client: Client, args: SearchApprovedThreadsSemanticByKnowledgeTypesArgs): Promise<SearchApprovedThreadsSemanticByKnowledgeTypesRow[]>;
|
|
112
|
+
export declare const searchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissionsQuery = "-- name: SearchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissions :many\nSELECT\n t.id AS thread_id,\n t.text,\n t.knowledge_type,\n t.facet_fields,\n similarity.score,\n t.classification,\n t.document_id,\n d.filename AS document_name,\n t.source_location,\n t.approved_at,\n t.temporal_validity,\n COALESCE(entity_data.entities, '{}'::text[]) AS entities,\n COALESCE(rs.reinforcement_count, 0) AS reinforcement_count,\n COALESCE(cc.name, '') AS concept_cluster\nFROM weave.threads t\nJOIN weave.documents d ON d.id = t.document_id\nCROSS JOIN LATERAL (\n SELECT CAST(\n 1.0::double precision\n - (t.embedding <=> $1::vector)::double precision\n AS double precision\n ) AS score\n) similarity\nLEFT JOIN weave.thread_reinforcement_scores rs ON rs.thread_id = t.id\nLEFT JOIN weave.concept_clusters cc ON cc.id = t.cluster_id\nLEFT JOIN LATERAL (\n SELECT array_agg(DISTINCT e.canonical ORDER BY e.canonical) AS entities\n FROM weave.thread_entities te\n JOIN weave.entities e ON e.id = te.entity_id\n WHERE te.thread_id = t.id\n) entity_data ON TRUE\nWHERE t.organization_id = $2\n AND t.retrieval_status = 'THREAD_RETRIEVAL_STATUS_APPROVED'\n AND t.embedding IS NOT NULL\n AND t.knowledge_type = ANY($3::text[])\n AND similarity.score >= $4::double precision\n AND (\n d.scope = 'DOCUMENT_SCOPE_ORG'\n OR (d.scope = 'DOCUMENT_SCOPE_PRIVATE'\n AND d.uploaded_by_user_id = $5)\n OR (d.scope = 'DOCUMENT_SCOPE_RESTRICTED'\n AND EXISTS (\n SELECT 1\n FROM weave.user_sensitivity_clearances c\n WHERE c.organization_id = $2\n AND c.user_id = $5\n AND cardinality(d.sensitivity_tags) = 1\n AND c.sensitivity_tag_slug = d.sensitivity_tags[1]\n ))\n )\nORDER BY score DESC, t.approved_at DESC\nLIMIT $6";
|
|
113
|
+
export interface SearchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissionsArgs {
|
|
114
|
+
queryEmbedding: string;
|
|
115
|
+
organizationId: string;
|
|
116
|
+
knowledgeTypes: string[];
|
|
117
|
+
minSimilarity: number;
|
|
118
|
+
actingUserId: string;
|
|
119
|
+
resultLimit: string;
|
|
120
|
+
}
|
|
121
|
+
export interface SearchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissionsRow {
|
|
122
|
+
threadId: string;
|
|
123
|
+
text: string;
|
|
124
|
+
knowledgeType: string;
|
|
125
|
+
facetFields: any;
|
|
126
|
+
score: number;
|
|
127
|
+
classification: string;
|
|
128
|
+
documentId: string;
|
|
129
|
+
documentName: string;
|
|
130
|
+
sourceLocation: any;
|
|
131
|
+
approvedAt: Date | null;
|
|
132
|
+
temporalValidity: any | null;
|
|
133
|
+
entities: string;
|
|
134
|
+
reinforcementCount: string;
|
|
135
|
+
conceptCluster: string;
|
|
136
|
+
}
|
|
137
|
+
export declare function searchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissions(client: Client, args: SearchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissionsArgs): Promise<SearchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissionsRow[]>;
|
|
138
|
+
export declare const searchApprovedThreadsByEntitiesQuery = "-- name: SearchApprovedThreadsByEntities :many\nSELECT DISTINCT\n t.id AS thread_id,\n t.text,\n t.knowledge_type,\n t.facet_fields,\n te.confidence::double precision AS score,\n t.classification,\n t.document_id,\n d.filename AS document_name,\n t.source_location,\n t.approved_at,\n t.temporal_validity,\n COALESCE(entity_data.entities, '{}'::text[]) AS entities,\n COALESCE(rs.reinforcement_count, 0) AS reinforcement_count,\n COALESCE(cc.name, '') AS concept_cluster\nFROM weave.threads t\nJOIN weave.documents d ON d.id = t.document_id\nJOIN weave.thread_entities te ON te.thread_id = t.id\nJOIN weave.entities e ON e.id = te.entity_id\nLEFT JOIN weave.thread_reinforcement_scores rs ON rs.thread_id = t.id\nLEFT JOIN weave.concept_clusters cc ON cc.id = t.cluster_id\nLEFT JOIN LATERAL (\n SELECT array_agg(DISTINCT e2.canonical ORDER BY e2.canonical) AS entities\n FROM weave.thread_entities te2\n JOIN weave.entities e2 ON e2.id = te2.entity_id\n WHERE te2.thread_id = t.id\n) entity_data ON TRUE\nWHERE t.organization_id = $1\n AND t.retrieval_status = 'THREAD_RETRIEVAL_STATUS_APPROVED'\n AND e.canonical = ANY($2::text[])\nORDER BY score DESC, t.approved_at DESC\nLIMIT $3";
|
|
139
|
+
export interface SearchApprovedThreadsByEntitiesArgs {
|
|
140
|
+
organizationId: string;
|
|
141
|
+
entityCanonicals: string[];
|
|
142
|
+
resultLimit: string;
|
|
143
|
+
}
|
|
144
|
+
export interface SearchApprovedThreadsByEntitiesRow {
|
|
145
|
+
threadId: string;
|
|
146
|
+
text: string;
|
|
147
|
+
knowledgeType: string;
|
|
148
|
+
facetFields: any;
|
|
149
|
+
score: number;
|
|
150
|
+
classification: string;
|
|
151
|
+
documentId: string;
|
|
152
|
+
documentName: string;
|
|
153
|
+
sourceLocation: any;
|
|
154
|
+
approvedAt: Date | null;
|
|
155
|
+
temporalValidity: any | null;
|
|
156
|
+
entities: string;
|
|
157
|
+
reinforcementCount: string;
|
|
158
|
+
conceptCluster: string;
|
|
159
|
+
}
|
|
160
|
+
export declare function searchApprovedThreadsByEntities(client: Client, args: SearchApprovedThreadsByEntitiesArgs): Promise<SearchApprovedThreadsByEntitiesRow[]>;
|
|
161
|
+
export declare const searchApprovedThreadsByEntitiesAndUserPermissionsQuery = "-- name: SearchApprovedThreadsByEntitiesAndUserPermissions :many\nSELECT DISTINCT\n t.id AS thread_id,\n t.text,\n t.knowledge_type,\n t.facet_fields,\n te.confidence::double precision AS score,\n t.classification,\n t.document_id,\n d.filename AS document_name,\n t.source_location,\n t.approved_at,\n t.temporal_validity,\n COALESCE(entity_data.entities, '{}'::text[]) AS entities,\n COALESCE(rs.reinforcement_count, 0) AS reinforcement_count,\n COALESCE(cc.name, '') AS concept_cluster\nFROM weave.threads t\nJOIN weave.documents d ON d.id = t.document_id\nJOIN weave.thread_entities te ON te.thread_id = t.id\nJOIN weave.entities e ON e.id = te.entity_id\nLEFT JOIN weave.thread_reinforcement_scores rs ON rs.thread_id = t.id\nLEFT JOIN weave.concept_clusters cc ON cc.id = t.cluster_id\nLEFT JOIN LATERAL (\n SELECT array_agg(DISTINCT e2.canonical ORDER BY e2.canonical) AS entities\n FROM weave.thread_entities te2\n JOIN weave.entities e2 ON e2.id = te2.entity_id\n WHERE te2.thread_id = t.id\n) entity_data ON TRUE\nWHERE t.organization_id = $1\n AND t.retrieval_status = 'THREAD_RETRIEVAL_STATUS_APPROVED'\n AND e.canonical = ANY($2::text[])\n AND (\n d.scope = 'DOCUMENT_SCOPE_ORG'\n OR (d.scope = 'DOCUMENT_SCOPE_PRIVATE'\n AND d.uploaded_by_user_id = $3)\n OR (d.scope = 'DOCUMENT_SCOPE_RESTRICTED'\n AND EXISTS (\n SELECT 1\n FROM weave.user_sensitivity_clearances c\n WHERE c.organization_id = $1\n AND c.user_id = $3\n AND cardinality(d.sensitivity_tags) = 1\n AND c.sensitivity_tag_slug = d.sensitivity_tags[1]\n ))\n )\nORDER BY score DESC, t.approved_at DESC\nLIMIT $4";
|
|
162
|
+
export interface SearchApprovedThreadsByEntitiesAndUserPermissionsArgs {
|
|
163
|
+
organizationId: string;
|
|
164
|
+
entityCanonicals: string[];
|
|
165
|
+
actingUserId: string;
|
|
166
|
+
resultLimit: string;
|
|
167
|
+
}
|
|
168
|
+
export interface SearchApprovedThreadsByEntitiesAndUserPermissionsRow {
|
|
169
|
+
threadId: string;
|
|
170
|
+
text: string;
|
|
171
|
+
knowledgeType: string;
|
|
172
|
+
facetFields: any;
|
|
173
|
+
score: number;
|
|
174
|
+
classification: string;
|
|
175
|
+
documentId: string;
|
|
176
|
+
documentName: string;
|
|
177
|
+
sourceLocation: any;
|
|
178
|
+
approvedAt: Date | null;
|
|
179
|
+
temporalValidity: any | null;
|
|
180
|
+
entities: string;
|
|
181
|
+
reinforcementCount: string;
|
|
182
|
+
conceptCluster: string;
|
|
183
|
+
}
|
|
184
|
+
export declare function searchApprovedThreadsByEntitiesAndUserPermissions(client: Client, args: SearchApprovedThreadsByEntitiesAndUserPermissionsArgs): Promise<SearchApprovedThreadsByEntitiesAndUserPermissionsRow[]>;
|
|
185
|
+
export declare const searchLeafConceptClustersBySimilarityQuery = "-- name: SearchLeafConceptClustersBySimilarity :many\nSELECT\n cc.id,\n cc.organization_id,\n cc.realm_kind,\n cc.realm_key,\n cc.name,\n cc.description,\n cc.knowledge_type,\n cc.level,\n cc.parent_id,\n cc.thread_count,\n cc.consolidation_run_id,\n cc.created_at,\n cc.updated_at,\n similarity.score\nFROM weave.concept_clusters cc\nCROSS JOIN LATERAL (\n SELECT CAST(\n 1.0::double precision\n - (cc.embedding <=> $1::vector)::double precision\n AS double precision\n ) AS score\n) similarity\nWHERE cc.organization_id = $2\n AND cc.realm_kind = $3\n AND cc.realm_key = $4\n AND cc.level = 0\n AND cc.embedding IS NOT NULL\n AND similarity.score >= $5::double precision\nORDER BY score DESC, cc.updated_at DESC\nLIMIT $6";
|
|
186
|
+
export interface SearchLeafConceptClustersBySimilarityArgs {
|
|
187
|
+
queryEmbedding: string;
|
|
188
|
+
organizationId: string;
|
|
189
|
+
realmKind: string;
|
|
190
|
+
realmKey: string;
|
|
191
|
+
minSimilarity: number;
|
|
192
|
+
resultLimit: string;
|
|
193
|
+
}
|
|
194
|
+
export interface SearchLeafConceptClustersBySimilarityRow {
|
|
195
|
+
id: string;
|
|
196
|
+
organizationId: string;
|
|
197
|
+
realmKind: string;
|
|
198
|
+
realmKey: string;
|
|
199
|
+
name: string;
|
|
200
|
+
description: string;
|
|
201
|
+
knowledgeType: string;
|
|
202
|
+
level: number;
|
|
203
|
+
parentId: string | null;
|
|
204
|
+
threadCount: number;
|
|
205
|
+
consolidationRunId: string;
|
|
206
|
+
createdAt: Date;
|
|
207
|
+
updatedAt: Date;
|
|
208
|
+
score: number;
|
|
209
|
+
}
|
|
210
|
+
export declare function searchLeafConceptClustersBySimilarity(client: Client, args: SearchLeafConceptClustersBySimilarityArgs): Promise<SearchLeafConceptClustersBySimilarityRow[]>;
|
|
211
|
+
export declare const searchConceptClusterThreadsBySimilarityQuery = "-- name: SearchConceptClusterThreadsBySimilarity :many\nSELECT\n t.id AS thread_id,\n t.text,\n t.knowledge_type,\n t.facet_fields,\n similarity.score,\n t.classification,\n t.document_id,\n d.filename AS document_name,\n t.source_location,\n t.approved_at,\n t.temporal_validity,\n COALESCE(entity_data.entities, '{}'::text[]) AS entities,\n COALESCE(rs.reinforcement_count, 0) AS reinforcement_count,\n cc.name AS concept_cluster\nFROM weave.concept_clusters cc\nCROSS JOIN LATERAL (\n SELECT CAST(\n 1.0::double precision\n - (cc.embedding <=> $1::vector)::double precision\n AS double precision\n ) AS score\n) similarity\nJOIN weave.threads t ON t.cluster_id = cc.id\nJOIN weave.documents d ON d.id = t.document_id\nLEFT JOIN weave.thread_reinforcement_scores rs ON rs.thread_id = t.id\nLEFT JOIN LATERAL (\n SELECT array_agg(DISTINCT e.canonical ORDER BY e.canonical) AS entities\n FROM weave.thread_entities te\n JOIN weave.entities e ON e.id = te.entity_id\n WHERE te.thread_id = t.id\n) entity_data ON TRUE\nWHERE cc.organization_id = $2\n AND cc.realm_kind = $3\n AND cc.realm_key = $4\n AND cc.level = 0\n AND cc.embedding IS NOT NULL\n AND t.retrieval_status = 'THREAD_RETRIEVAL_STATUS_APPROVED'\n AND similarity.score >= $5::double precision\nORDER BY score DESC, t.approved_at DESC\nLIMIT $6";
|
|
212
|
+
export interface SearchConceptClusterThreadsBySimilarityArgs {
|
|
213
|
+
queryEmbedding: string;
|
|
214
|
+
organizationId: string;
|
|
215
|
+
realmKind: string;
|
|
216
|
+
realmKey: string;
|
|
217
|
+
minSimilarity: number;
|
|
218
|
+
resultLimit: string;
|
|
219
|
+
}
|
|
220
|
+
export interface SearchConceptClusterThreadsBySimilarityRow {
|
|
221
|
+
threadId: string;
|
|
222
|
+
text: string;
|
|
223
|
+
knowledgeType: string;
|
|
224
|
+
facetFields: any;
|
|
225
|
+
score: number;
|
|
226
|
+
classification: string;
|
|
227
|
+
documentId: string;
|
|
228
|
+
documentName: string;
|
|
229
|
+
sourceLocation: any;
|
|
230
|
+
approvedAt: Date | null;
|
|
231
|
+
temporalValidity: any | null;
|
|
232
|
+
entities: string;
|
|
233
|
+
reinforcementCount: string;
|
|
234
|
+
conceptCluster: string;
|
|
235
|
+
}
|
|
236
|
+
export declare function searchConceptClusterThreadsBySimilarity(client: Client, args: SearchConceptClusterThreadsBySimilarityArgs): Promise<SearchConceptClusterThreadsBySimilarityRow[]>;
|
|
237
|
+
export declare const searchConceptClusterThreadsBySimilarityAndUserPermissionsQuery = "-- name: SearchConceptClusterThreadsBySimilarityAndUserPermissions :many\nSELECT\n t.id AS thread_id,\n t.text,\n t.knowledge_type,\n t.facet_fields,\n similarity.score,\n t.classification,\n t.document_id,\n d.filename AS document_name,\n t.source_location,\n t.approved_at,\n t.temporal_validity,\n COALESCE(entity_data.entities, '{}'::text[]) AS entities,\n COALESCE(rs.reinforcement_count, 0) AS reinforcement_count,\n cc.name AS concept_cluster\nFROM weave.concept_clusters cc\nCROSS JOIN LATERAL (\n SELECT CAST(\n 1.0::double precision\n - (cc.embedding <=> $1::vector)::double precision\n AS double precision\n ) AS score\n) similarity\nJOIN weave.threads t ON t.cluster_id = cc.id\nJOIN weave.documents d ON d.id = t.document_id\nLEFT JOIN weave.thread_reinforcement_scores rs ON rs.thread_id = t.id\nLEFT JOIN LATERAL (\n SELECT array_agg(DISTINCT e.canonical ORDER BY e.canonical) AS entities\n FROM weave.thread_entities te\n JOIN weave.entities e ON e.id = te.entity_id\n WHERE te.thread_id = t.id\n) entity_data ON TRUE\nWHERE cc.organization_id = $2\n AND cc.realm_kind = $3\n AND cc.realm_key = $4\n AND cc.level = 0\n AND cc.embedding IS NOT NULL\n AND t.retrieval_status = 'THREAD_RETRIEVAL_STATUS_APPROVED'\n AND similarity.score >= $5::double precision\n AND (\n d.scope = 'DOCUMENT_SCOPE_ORG'\n OR (d.scope = 'DOCUMENT_SCOPE_PRIVATE'\n AND d.uploaded_by_user_id = $6)\n OR (d.scope = 'DOCUMENT_SCOPE_RESTRICTED'\n AND EXISTS (\n SELECT 1\n FROM weave.user_sensitivity_clearances c\n WHERE c.organization_id = $2\n AND c.user_id = $6\n AND cardinality(d.sensitivity_tags) = 1\n AND c.sensitivity_tag_slug = d.sensitivity_tags[1]\n ))\n )\nORDER BY score DESC, t.approved_at DESC\nLIMIT $7";
|
|
238
|
+
export interface SearchConceptClusterThreadsBySimilarityAndUserPermissionsArgs {
|
|
239
|
+
queryEmbedding: string;
|
|
240
|
+
organizationId: string;
|
|
241
|
+
realmKind: string;
|
|
242
|
+
realmKey: string;
|
|
243
|
+
minSimilarity: number;
|
|
244
|
+
actingUserId: string;
|
|
245
|
+
resultLimit: string;
|
|
246
|
+
}
|
|
247
|
+
export interface SearchConceptClusterThreadsBySimilarityAndUserPermissionsRow {
|
|
248
|
+
threadId: string;
|
|
249
|
+
text: string;
|
|
250
|
+
knowledgeType: string;
|
|
251
|
+
facetFields: any;
|
|
252
|
+
score: number;
|
|
253
|
+
classification: string;
|
|
254
|
+
documentId: string;
|
|
255
|
+
documentName: string;
|
|
256
|
+
sourceLocation: any;
|
|
257
|
+
approvedAt: Date | null;
|
|
258
|
+
temporalValidity: any | null;
|
|
259
|
+
entities: string;
|
|
260
|
+
reinforcementCount: string;
|
|
261
|
+
conceptCluster: string;
|
|
262
|
+
}
|
|
263
|
+
export declare function searchConceptClusterThreadsBySimilarityAndUserPermissions(client: Client, args: SearchConceptClusterThreadsBySimilarityAndUserPermissionsArgs): Promise<SearchConceptClusterThreadsBySimilarityAndUserPermissionsRow[]>;
|
|
264
|
+
export declare const insertSessionRetrievalContextQuery = "-- name: InsertSessionRetrievalContext :one\nINSERT INTO weave.session_retrieval_context (\n session_id,\n turn_number,\n thread_id,\n relevance\n) SELECT\n $1,\n $2,\n t.id,\n $3\nFROM weave.threads t\nWHERE t.organization_id = $4\n AND t.id = $5\nRETURNING\n session_id,\n turn_number,\n thread_id,\n relevance,\n retrieved_at";
|
|
265
|
+
export interface InsertSessionRetrievalContextArgs {
|
|
266
|
+
sessionId: string;
|
|
267
|
+
turnNumber: number;
|
|
268
|
+
relevance: number;
|
|
269
|
+
organizationId: string;
|
|
270
|
+
threadId: string;
|
|
271
|
+
}
|
|
272
|
+
export interface InsertSessionRetrievalContextRow {
|
|
273
|
+
sessionId: string;
|
|
274
|
+
turnNumber: number;
|
|
275
|
+
threadId: string;
|
|
276
|
+
relevance: number;
|
|
277
|
+
retrievedAt: Date;
|
|
278
|
+
}
|
|
279
|
+
export declare function insertSessionRetrievalContext(client: Client, args: InsertSessionRetrievalContextArgs): Promise<InsertSessionRetrievalContextRow | null>;
|
|
280
|
+
export declare const listSessionRetrievalContextQuery = "-- name: ListSessionRetrievalContext :many\nSELECT\n session_id,\n turn_number,\n thread_id,\n relevance,\n retrieved_at\nFROM weave.session_retrieval_context\nWHERE session_id = $1\n AND thread_id IN (\n SELECT id\n FROM weave.threads\n WHERE organization_id = $2\n )\nORDER BY turn_number DESC, relevance DESC, retrieved_at DESC\nLIMIT $3";
|
|
281
|
+
export interface ListSessionRetrievalContextArgs {
|
|
282
|
+
sessionId: string;
|
|
283
|
+
organizationId: string;
|
|
284
|
+
resultLimit: string;
|
|
285
|
+
}
|
|
286
|
+
export interface ListSessionRetrievalContextRow {
|
|
287
|
+
sessionId: string;
|
|
288
|
+
turnNumber: number;
|
|
289
|
+
threadId: string;
|
|
290
|
+
relevance: number;
|
|
291
|
+
retrievedAt: Date;
|
|
292
|
+
}
|
|
293
|
+
export declare function listSessionRetrievalContext(client: Client, args: ListSessionRetrievalContextArgs): Promise<ListSessionRetrievalContextRow[]>;
|
|
294
|
+
export declare const deleteSessionRetrievalContextQuery = "-- name: DeleteSessionRetrievalContext :exec\nDELETE FROM weave.session_retrieval_context\nWHERE session_id = $1\n AND thread_id IN (\n SELECT id\n FROM weave.threads\n WHERE organization_id = $2\n )";
|
|
295
|
+
export interface DeleteSessionRetrievalContextArgs {
|
|
296
|
+
sessionId: string;
|
|
297
|
+
organizationId: string;
|
|
298
|
+
}
|
|
299
|
+
export declare function deleteSessionRetrievalContext(client: Client, args: DeleteSessionRetrievalContextArgs): Promise<void>;
|
|
300
|
+
export declare const listApprovedReconcilePoolByOrganizationQuery = "-- name: ListApprovedReconcilePoolByOrganization :many\nSELECT\n t.id AS thread_id,\n t.text,\n t.knowledge_type,\n t.embedding::text AS embedding_text,\n COALESCE(entity_data.entities, '{}'::text[]) AS entity_canonicals,\n t.approved_at\nFROM weave.threads t\nLEFT JOIN LATERAL (\n SELECT array_agg(DISTINCT e.canonical ORDER BY e.canonical) AS entities\n FROM weave.thread_entities te\n JOIN weave.entities e ON e.id = te.entity_id\n WHERE te.thread_id = t.id\n) entity_data ON TRUE\nWHERE t.organization_id = $1\n AND t.retrieval_status = 'THREAD_RETRIEVAL_STATUS_APPROVED'\n AND t.embedding IS NOT NULL\nORDER BY t.approved_at DESC, t.id ASC\nLIMIT $3 OFFSET $2";
|
|
301
|
+
export interface ListApprovedReconcilePoolByOrganizationArgs {
|
|
302
|
+
organizationId: string;
|
|
303
|
+
pageOffset: string;
|
|
304
|
+
pageSize: string;
|
|
305
|
+
}
|
|
306
|
+
export interface ListApprovedReconcilePoolByOrganizationRow {
|
|
307
|
+
threadId: string;
|
|
308
|
+
text: string;
|
|
309
|
+
knowledgeType: string;
|
|
310
|
+
embeddingText: string;
|
|
311
|
+
entityCanonicals: string;
|
|
312
|
+
approvedAt: Date | null;
|
|
313
|
+
}
|
|
314
|
+
export declare function listApprovedReconcilePoolByOrganization(client: Client, args: ListApprovedReconcilePoolByOrganizationArgs): Promise<ListApprovedReconcilePoolByOrganizationRow[]>;
|
|
315
|
+
export {};
|