weave-typescript 0.51.2 → 0.52.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.
Files changed (185) hide show
  1. package/dist/google/protobuf/duration.pb.d.ts +99 -0
  2. package/dist/google/protobuf/duration.pb.js +93 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +2 -1
  5. package/dist/weave/authz/v1/index.d.ts +1 -0
  6. package/dist/weave/authz/v1/index.js +38 -0
  7. package/dist/weave/authz/v1/options.pb.d.ts +52 -0
  8. package/dist/weave/authz/v1/options.pb.js +403 -0
  9. package/dist/weave/filter/v1/index.d.ts +1 -0
  10. package/dist/weave/filter/v1/index.js +38 -0
  11. package/dist/{weaveapi/atc/v1/message.pb.d.ts → weave/filter/v1/options.pb.d.ts} +33 -21
  12. package/dist/weave/filter/v1/options.pb.js +417 -0
  13. package/dist/weave/index.d.ts +2 -0
  14. package/dist/weave/index.js +39 -0
  15. package/dist/weaveapi/agent/v1/agent.pb.d.ts +137 -188
  16. package/dist/weaveapi/agent/v1/agent.pb.js +891 -2151
  17. package/dist/weaveapi/agent/v1/index.d.ts +1 -1
  18. package/dist/weaveapi/agent/v1/index.js +2 -2
  19. package/dist/weaveapi/agent/v1/run.pb.d.ts +289 -0
  20. package/dist/weaveapi/agent/v1/run.pb.js +2763 -0
  21. package/dist/weaveapi/auth/v1/auth.pb.d.ts +67 -14
  22. package/dist/weaveapi/auth/v1/auth.pb.js +829 -89
  23. package/dist/weaveapi/auth/v1/index.d.ts +4 -1
  24. package/dist/weaveapi/auth/v1/index.js +5 -2
  25. package/dist/weaveapi/auth/v1/{service.pb.d.ts → organization_admin.pb.d.ts} +39 -530
  26. package/dist/weaveapi/auth/v1/{service.pb.js → organization_admin.pb.js} +2978 -5812
  27. package/dist/weaveapi/auth/v1/personal_access_token.pb.d.ts +114 -0
  28. package/dist/weaveapi/auth/v1/personal_access_token.pb.js +750 -0
  29. package/dist/weaveapi/auth/v1/profile.pb.d.ts +161 -0
  30. package/dist/weaveapi/auth/v1/profile.pb.js +1007 -0
  31. package/dist/weaveapi/auth/v1/session.pb.d.ts +460 -0
  32. package/dist/weaveapi/auth/v1/session.pb.js +3544 -0
  33. package/dist/weaveapi/chat/v1/chat.pb.d.ts +377 -149
  34. package/dist/weaveapi/chat/v1/chat.pb.js +3492 -1614
  35. package/dist/weaveapi/chat/v1/index.d.ts +0 -1
  36. package/dist/weaveapi/chat/v1/index.js +1 -2
  37. package/dist/weaveapi/consolidation/v1/consolidation.pb.d.ts +95 -0
  38. package/dist/weaveapi/consolidation/v1/consolidation.pb.js +770 -1
  39. package/dist/weaveapi/consolidation/v1/index.d.ts +0 -1
  40. package/dist/weaveapi/consolidation/v1/index.js +1 -2
  41. package/dist/weaveapi/content/v1/content.pb.d.ts +63 -0
  42. package/dist/weaveapi/content/v1/content.pb.js +470 -0
  43. package/dist/weaveapi/content/v1/index.d.ts +1 -0
  44. package/dist/weaveapi/content/v1/index.js +38 -0
  45. package/dist/weaveapi/gateway/v1/gateway.pb.d.ts +247 -523
  46. package/dist/weaveapi/gateway/v1/gateway.pb.js +1648 -5783
  47. package/dist/weaveapi/gateway/v1/index.d.ts +0 -1
  48. package/dist/weaveapi/gateway/v1/index.js +1 -2
  49. package/dist/weaveapi/index.d.ts +5 -5
  50. package/dist/weaveapi/index.js +6 -6
  51. package/dist/weaveapi/inference/v1/generate.pb.d.ts +120 -0
  52. package/dist/weaveapi/inference/v1/generate.pb.js +1159 -0
  53. package/dist/weaveapi/inference/v1/index.d.ts +4 -0
  54. package/dist/weaveapi/{provider → inference}/v1/index.js +4 -2
  55. package/dist/weaveapi/{model → inference}/v1/model.pb.d.ts +52 -15
  56. package/dist/weaveapi/{model → inference}/v1/model.pb.js +529 -116
  57. package/dist/weaveapi/{model/v1/service.pb.d.ts → inference/v1/model_route.pb.d.ts} +182 -110
  58. package/dist/weaveapi/{model/v1/service.pb.js → inference/v1/model_route.pb.js} +2197 -1061
  59. package/dist/weaveapi/inference/v1/provider.pb.d.ts +264 -0
  60. package/dist/weaveapi/inference/v1/provider.pb.js +2590 -0
  61. package/dist/weaveapi/ingestion/v1/index.d.ts +0 -2
  62. package/dist/weaveapi/ingestion/v1/index.js +1 -3
  63. package/dist/weaveapi/ingestion/v1/ingestion.pb.d.ts +543 -0
  64. package/dist/weaveapi/ingestion/v1/ingestion.pb.js +5550 -16
  65. package/dist/weaveapi/initialization/v1/index.d.ts +1 -0
  66. package/dist/weaveapi/initialization/v1/index.js +38 -0
  67. package/dist/weaveapi/initialization/v1/initialization.pb.d.ts +99 -0
  68. package/dist/weaveapi/initialization/v1/initialization.pb.js +510 -0
  69. package/dist/weaveapi/organization/v1/index.d.ts +0 -1
  70. package/dist/weaveapi/organization/v1/index.js +1 -2
  71. package/dist/weaveapi/organization/v1/organization.pb.d.ts +241 -0
  72. package/dist/weaveapi/organization/v1/organization.pb.js +1838 -1
  73. package/dist/weaveapi/reporting/index.d.ts +1 -0
  74. package/dist/weaveapi/reporting/index.js +38 -0
  75. package/dist/weaveapi/{task → reporting}/v1/index.d.ts +1 -1
  76. package/dist/weaveapi/{model → reporting}/v1/index.js +2 -2
  77. package/dist/weaveapi/reporting/v1/service.pb.d.ts +38 -0
  78. package/dist/weaveapi/reporting/v1/service.pb.js +167 -0
  79. package/dist/weaveapi/reporting/v1/usage.pb.d.ts +150 -0
  80. package/dist/weaveapi/reporting/v1/usage.pb.js +1837 -0
  81. package/dist/weaveapi/retrieval/v1/index.d.ts +0 -1
  82. package/dist/weaveapi/retrieval/v1/index.js +1 -2
  83. package/dist/weaveapi/retrieval/v1/retrieval.pb.d.ts +96 -2
  84. package/dist/weaveapi/retrieval/v1/retrieval.pb.js +690 -10
  85. package/dist/weaveapi/tool/index.d.ts +1 -0
  86. package/dist/weaveapi/tool/index.js +38 -0
  87. package/dist/weaveapi/tool/v1/index.d.ts +1 -0
  88. package/dist/weaveapi/tool/v1/index.js +38 -0
  89. package/dist/weaveapi/tool/v1/tool.pb.d.ts +370 -0
  90. package/dist/weaveapi/tool/v1/tool.pb.js +2717 -0
  91. package/dist/weaveapi/workflow/v1/index.d.ts +1 -1
  92. package/dist/weaveapi/workflow/v1/index.js +2 -2
  93. package/dist/weaveapi/workflow/v1/run.pb.d.ts +244 -0
  94. package/dist/weaveapi/workflow/v1/run.pb.js +2084 -0
  95. package/dist/weaveapi/workflow/v1/workflow.pb.d.ts +122 -275
  96. package/dist/weaveapi/workflow/v1/workflow.pb.js +790 -3261
  97. package/dist/weavesql/weavedb/agent_sql.d.ts +173 -477
  98. package/dist/weavesql/weavedb/agent_sql.js +281 -758
  99. package/dist/weavesql/weavedb/authorization_outbox_sql.d.ts +261 -0
  100. package/dist/weavesql/weavedb/authorization_outbox_sql.js +445 -0
  101. package/dist/weavesql/weavedb/chat_sql.d.ts +103 -345
  102. package/dist/weavesql/weavedb/chat_sql.js +312 -597
  103. package/dist/weavesql/weavedb/document_consolidation_sql.d.ts +217 -0
  104. package/dist/weavesql/weavedb/document_consolidation_sql.js +486 -0
  105. package/dist/weavesql/weavedb/document_ingestion_sql.d.ts +1433 -0
  106. package/dist/weavesql/weavedb/document_ingestion_sql.js +3488 -0
  107. package/dist/weavesql/weavedb/document_retrieval_sql.d.ts +314 -0
  108. package/dist/weavesql/weavedb/document_retrieval_sql.js +965 -0
  109. package/dist/weavesql/weavedb/document_table_sql.d.ts +6 -6
  110. package/dist/weavesql/weavedb/document_table_sql.js +12 -12
  111. package/dist/weavesql/weavedb/identity_sql.d.ts +1014 -0
  112. package/dist/weavesql/weavedb/identity_sql.js +1811 -0
  113. package/dist/weavesql/weavedb/inference_model_route_sql.d.ts +161 -0
  114. package/dist/weavesql/weavedb/inference_model_route_sql.js +408 -0
  115. package/dist/weavesql/weavedb/inference_provider_sql.d.ts +125 -0
  116. package/dist/weavesql/weavedb/inference_provider_sql.js +228 -0
  117. package/dist/weavesql/weavedb/initialization_sql.d.ts +15 -0
  118. package/dist/weavesql/weavedb/initialization_sql.js +33 -0
  119. package/dist/weavesql/weavedb/model_catalog_sql.d.ts +6 -6
  120. package/dist/weavesql/weavedb/model_catalog_sql.js +6 -6
  121. package/dist/weavesql/weavedb/organization_sql.d.ts +22 -102
  122. package/dist/weavesql/weavedb/organization_sql.js +54 -262
  123. package/dist/weavesql/weavedb/tool_sql.d.ts +209 -0
  124. package/dist/weavesql/weavedb/tool_sql.js +407 -0
  125. package/dist/weavesql/weavedb/usage_sql.d.ts +356 -0
  126. package/dist/weavesql/weavedb/usage_sql.js +568 -0
  127. package/dist/weavesql/weavedb/workflow_sql.d.ts +159 -546
  128. package/dist/weavesql/weavedb/workflow_sql.js +281 -909
  129. package/package.json +2 -2
  130. package/dist/weaveapi/agent/v1/service.pb.d.ts +0 -397
  131. package/dist/weaveapi/agent/v1/service.pb.js +0 -3152
  132. package/dist/weaveapi/atc/v1/event.pb.d.ts +0 -134
  133. package/dist/weaveapi/atc/v1/event.pb.js +0 -1124
  134. package/dist/weaveapi/atc/v1/index.d.ts +0 -5
  135. package/dist/weaveapi/atc/v1/index.js +0 -42
  136. package/dist/weaveapi/atc/v1/message.pb.js +0 -287
  137. package/dist/weaveapi/atc/v1/process.pb.d.ts +0 -91
  138. package/dist/weaveapi/atc/v1/process.pb.js +0 -658
  139. package/dist/weaveapi/atc/v1/run.pb.d.ts +0 -71
  140. package/dist/weaveapi/atc/v1/run.pb.js +0 -525
  141. package/dist/weaveapi/atc/v1/service.pb.d.ts +0 -472
  142. package/dist/weaveapi/atc/v1/service.pb.js +0 -3093
  143. package/dist/weaveapi/chat/v1/service.pb.d.ts +0 -345
  144. package/dist/weaveapi/chat/v1/service.pb.js +0 -2545
  145. package/dist/weaveapi/consolidation/v1/service.pb.d.ts +0 -93
  146. package/dist/weaveapi/consolidation/v1/service.pb.js +0 -427
  147. package/dist/weaveapi/gateway/v1/service.pb.d.ts +0 -235
  148. package/dist/weaveapi/gateway/v1/service.pb.js +0 -651
  149. package/dist/weaveapi/ingestion/v1/service.pb.d.ts +0 -420
  150. package/dist/weaveapi/ingestion/v1/service.pb.js +0 -2311
  151. package/dist/weaveapi/ingestion/v1/table.pb.d.ts +0 -121
  152. package/dist/weaveapi/ingestion/v1/table.pb.js +0 -1478
  153. package/dist/weaveapi/model/v1/index.d.ts +0 -2
  154. package/dist/weaveapi/organization/v1/service.pb.d.ts +0 -261
  155. package/dist/weaveapi/organization/v1/service.pb.js +0 -1561
  156. package/dist/weaveapi/project/v1/index.d.ts +0 -2
  157. package/dist/weaveapi/project/v1/index.js +0 -39
  158. package/dist/weaveapi/project/v1/project.pb.d.ts +0 -105
  159. package/dist/weaveapi/project/v1/project.pb.js +0 -1004
  160. package/dist/weaveapi/project/v1/service.pb.d.ts +0 -247
  161. package/dist/weaveapi/project/v1/service.pb.js +0 -1994
  162. package/dist/weaveapi/provider/v1/index.d.ts +0 -2
  163. package/dist/weaveapi/provider/v1/provider.pb.d.ts +0 -137
  164. package/dist/weaveapi/provider/v1/provider.pb.js +0 -1000
  165. package/dist/weaveapi/provider/v1/service.pb.d.ts +0 -223
  166. package/dist/weaveapi/provider/v1/service.pb.js +0 -1888
  167. package/dist/weaveapi/retrieval/v1/service.pb.d.ts +0 -93
  168. package/dist/weaveapi/retrieval/v1/service.pb.js +0 -385
  169. package/dist/weaveapi/task/v1/index.js +0 -39
  170. package/dist/weaveapi/task/v1/service.pb.d.ts +0 -172
  171. package/dist/weaveapi/task/v1/service.pb.js +0 -1436
  172. package/dist/weaveapi/task/v1/task.pb.d.ts +0 -85
  173. package/dist/weaveapi/task/v1/task.pb.js +0 -802
  174. package/dist/weaveapi/workflow/v1/service.pb.d.ts +0 -392
  175. package/dist/weaveapi/workflow/v1/service.pb.js +0 -3146
  176. /package/dist/{weaveapi/atc → weave/authz}/index.d.ts +0 -0
  177. /package/dist/{weaveapi/atc → weave/authz}/index.js +0 -0
  178. /package/dist/{weaveapi/model → weave/filter}/index.d.ts +0 -0
  179. /package/dist/{weaveapi/model → weave/filter}/index.js +0 -0
  180. /package/dist/weaveapi/{project → content}/index.d.ts +0 -0
  181. /package/dist/weaveapi/{project → content}/index.js +0 -0
  182. /package/dist/weaveapi/{provider → inference}/index.d.ts +0 -0
  183. /package/dist/weaveapi/{provider → inference}/index.js +0 -0
  184. /package/dist/weaveapi/{task → initialization}/index.d.ts +0 -0
  185. /package/dist/weaveapi/{task → initialization}/index.js +0 -0
@@ -0,0 +1,314 @@
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 (\n EXISTS (\n SELECT 1\n FROM weave.document_restricted_groups drg\n JOIN weave.restricted_group_user_memberships rgum\n ON rgum.organization_id = drg.organization_id\n AND rgum.restricted_group_id = drg.restricted_group_id\n AND rgum.user_id = $4\n WHERE drg.organization_id = d.organization_id\n AND drg.document_id = d.id\n )\n OR EXISTS (\n SELECT 1\n FROM weave.document_restricted_groups drg\n JOIN weave.restricted_group_team_memberships rgtm\n ON rgtm.organization_id = drg.organization_id\n AND rgtm.restricted_group_id = drg.restricted_group_id\n JOIN weave.organization_team_membership otm\n ON otm.organization_id = rgtm.organization_id\n AND otm.organization_team_id = rgtm.org_team_id\n AND otm.user_id = $4\n WHERE drg.organization_id = d.organization_id\n AND drg.document_id = d.id\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.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 (\n EXISTS (\n SELECT 1\n FROM weave.document_restricted_groups drg\n JOIN weave.restricted_group_user_memberships rgum\n ON rgum.organization_id = drg.organization_id\n AND rgum.restricted_group_id = drg.restricted_group_id\n AND rgum.user_id = $6\n WHERE drg.organization_id = d.organization_id\n AND drg.document_id = d.id\n )\n OR EXISTS (\n SELECT 1\n FROM weave.document_restricted_groups drg\n JOIN weave.restricted_group_team_memberships rgtm\n ON rgtm.organization_id = drg.organization_id\n AND rgtm.restricted_group_id = drg.restricted_group_id\n JOIN weave.organization_team_membership otm\n ON otm.organization_id = rgtm.organization_id\n AND otm.organization_team_id = rgtm.org_team_id\n AND otm.user_id = $6\n WHERE drg.organization_id = d.organization_id\n AND drg.document_id = d.id\n )))\n )\n AND (cardinality($7::text[]) = 0 OR tag_data.tags && $7::text[])\n AND (\n cardinality($8::uuid[]) = 0\n OR EXISTS (\n SELECT 1\n FROM weave.document_restricted_groups drg\n WHERE drg.organization_id = d.organization_id\n AND drg.document_id = d.id\n AND drg.restricted_group_id = ANY($8::uuid[])\n )\n )\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 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 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
+ restrictedGroupIds: 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
+ tags: string;
76
+ tagConfidences: string;
77
+ uploadedAt: Date;
78
+ score: number;
79
+ matchedThreadCount: number;
80
+ bestThreadId: string | null;
81
+ bestText: string | null;
82
+ bestClassification: string | null;
83
+ bestSourceLocation: string | null;
84
+ }
85
+ export declare function searchAccessibleDocumentsSemantic(client: Client, args: SearchAccessibleDocumentsSemanticArgs): Promise<SearchAccessibleDocumentsSemanticRow[]>;
86
+ 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";
87
+ export interface SearchApprovedThreadsSemanticByKnowledgeTypesArgs {
88
+ queryEmbedding: string;
89
+ organizationId: string;
90
+ knowledgeTypes: string[];
91
+ minSimilarity: number;
92
+ resultLimit: string;
93
+ }
94
+ export interface SearchApprovedThreadsSemanticByKnowledgeTypesRow {
95
+ threadId: string;
96
+ text: string;
97
+ knowledgeType: string;
98
+ facetFields: any;
99
+ score: number;
100
+ classification: string;
101
+ documentId: string;
102
+ documentName: string;
103
+ sourceLocation: any;
104
+ approvedAt: Date | null;
105
+ temporalValidity: any | null;
106
+ entities: string;
107
+ reinforcementCount: string;
108
+ conceptCluster: string;
109
+ }
110
+ export declare function searchApprovedThreadsSemanticByKnowledgeTypes(client: Client, args: SearchApprovedThreadsSemanticByKnowledgeTypesArgs): Promise<SearchApprovedThreadsSemanticByKnowledgeTypesRow[]>;
111
+ 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 (\n EXISTS (\n SELECT 1\n FROM weave.document_restricted_groups drg\n JOIN weave.restricted_group_user_memberships rgum\n ON rgum.organization_id = drg.organization_id\n AND rgum.restricted_group_id = drg.restricted_group_id\n AND rgum.user_id = $5\n WHERE drg.organization_id = d.organization_id\n AND drg.document_id = d.id\n )\n OR EXISTS (\n SELECT 1\n FROM weave.document_restricted_groups drg\n JOIN weave.restricted_group_team_memberships rgtm\n ON rgtm.organization_id = drg.organization_id\n AND rgtm.restricted_group_id = drg.restricted_group_id\n JOIN weave.organization_team_membership otm\n ON otm.organization_id = rgtm.organization_id\n AND otm.organization_team_id = rgtm.org_team_id\n AND otm.user_id = $5\n WHERE drg.organization_id = d.organization_id\n AND drg.document_id = d.id\n )))\n )\nORDER BY score DESC, t.approved_at DESC\nLIMIT $6";
112
+ export interface SearchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissionsArgs {
113
+ queryEmbedding: string;
114
+ organizationId: string;
115
+ knowledgeTypes: string[];
116
+ minSimilarity: number;
117
+ actingUserId: string;
118
+ resultLimit: string;
119
+ }
120
+ export interface SearchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissionsRow {
121
+ threadId: string;
122
+ text: string;
123
+ knowledgeType: string;
124
+ facetFields: any;
125
+ score: number;
126
+ classification: string;
127
+ documentId: string;
128
+ documentName: string;
129
+ sourceLocation: any;
130
+ approvedAt: Date | null;
131
+ temporalValidity: any | null;
132
+ entities: string;
133
+ reinforcementCount: string;
134
+ conceptCluster: string;
135
+ }
136
+ export declare function searchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissions(client: Client, args: SearchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissionsArgs): Promise<SearchApprovedThreadsSemanticByKnowledgeTypesAndUserPermissionsRow[]>;
137
+ 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";
138
+ export interface SearchApprovedThreadsByEntitiesArgs {
139
+ organizationId: string;
140
+ entityCanonicals: string[];
141
+ resultLimit: string;
142
+ }
143
+ export interface SearchApprovedThreadsByEntitiesRow {
144
+ threadId: string;
145
+ text: string;
146
+ knowledgeType: string;
147
+ facetFields: any;
148
+ score: number;
149
+ classification: string;
150
+ documentId: string;
151
+ documentName: string;
152
+ sourceLocation: any;
153
+ approvedAt: Date | null;
154
+ temporalValidity: any | null;
155
+ entities: string;
156
+ reinforcementCount: string;
157
+ conceptCluster: string;
158
+ }
159
+ export declare function searchApprovedThreadsByEntities(client: Client, args: SearchApprovedThreadsByEntitiesArgs): Promise<SearchApprovedThreadsByEntitiesRow[]>;
160
+ 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 (\n EXISTS (\n SELECT 1\n FROM weave.document_restricted_groups drg\n JOIN weave.restricted_group_user_memberships rgum\n ON rgum.organization_id = drg.organization_id\n AND rgum.restricted_group_id = drg.restricted_group_id\n AND rgum.user_id = $3\n WHERE drg.organization_id = d.organization_id\n AND drg.document_id = d.id\n )\n OR EXISTS (\n SELECT 1\n FROM weave.document_restricted_groups drg\n JOIN weave.restricted_group_team_memberships rgtm\n ON rgtm.organization_id = drg.organization_id\n AND rgtm.restricted_group_id = drg.restricted_group_id\n JOIN weave.organization_team_membership otm\n ON otm.organization_id = rgtm.organization_id\n AND otm.organization_team_id = rgtm.org_team_id\n AND otm.user_id = $3\n WHERE drg.organization_id = d.organization_id\n AND drg.document_id = d.id\n )))\n )\nORDER BY score DESC, t.approved_at DESC\nLIMIT $4";
161
+ export interface SearchApprovedThreadsByEntitiesAndUserPermissionsArgs {
162
+ organizationId: string;
163
+ entityCanonicals: string[];
164
+ actingUserId: string;
165
+ resultLimit: string;
166
+ }
167
+ export interface SearchApprovedThreadsByEntitiesAndUserPermissionsRow {
168
+ threadId: string;
169
+ text: string;
170
+ knowledgeType: string;
171
+ facetFields: any;
172
+ score: number;
173
+ classification: string;
174
+ documentId: string;
175
+ documentName: string;
176
+ sourceLocation: any;
177
+ approvedAt: Date | null;
178
+ temporalValidity: any | null;
179
+ entities: string;
180
+ reinforcementCount: string;
181
+ conceptCluster: string;
182
+ }
183
+ export declare function searchApprovedThreadsByEntitiesAndUserPermissions(client: Client, args: SearchApprovedThreadsByEntitiesAndUserPermissionsArgs): Promise<SearchApprovedThreadsByEntitiesAndUserPermissionsRow[]>;
184
+ export declare const searchLeafConceptClustersBySimilarityQuery = "-- name: SearchLeafConceptClustersBySimilarity :many\nSELECT\n cc.id,\n cc.organization_id,\n cc.scope_kind,\n cc.scope_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.scope_kind = $3\n AND cc.scope_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";
185
+ export interface SearchLeafConceptClustersBySimilarityArgs {
186
+ queryEmbedding: string;
187
+ organizationId: string;
188
+ scopeKind: string;
189
+ scopeKey: string;
190
+ minSimilarity: number;
191
+ resultLimit: string;
192
+ }
193
+ export interface SearchLeafConceptClustersBySimilarityRow {
194
+ id: string;
195
+ organizationId: string;
196
+ scopeKind: string;
197
+ scopeKey: string;
198
+ name: string;
199
+ description: string;
200
+ knowledgeType: string;
201
+ level: number;
202
+ parentId: string | null;
203
+ threadCount: number;
204
+ consolidationRunId: string;
205
+ createdAt: Date;
206
+ updatedAt: Date;
207
+ score: number;
208
+ }
209
+ export declare function searchLeafConceptClustersBySimilarity(client: Client, args: SearchLeafConceptClustersBySimilarityArgs): Promise<SearchLeafConceptClustersBySimilarityRow[]>;
210
+ 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.scope_kind = $3\n AND cc.scope_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";
211
+ export interface SearchConceptClusterThreadsBySimilarityArgs {
212
+ queryEmbedding: string;
213
+ organizationId: string;
214
+ scopeKind: string;
215
+ scopeKey: string;
216
+ minSimilarity: number;
217
+ resultLimit: string;
218
+ }
219
+ export interface SearchConceptClusterThreadsBySimilarityRow {
220
+ threadId: string;
221
+ text: string;
222
+ knowledgeType: string;
223
+ facetFields: any;
224
+ score: number;
225
+ classification: string;
226
+ documentId: string;
227
+ documentName: string;
228
+ sourceLocation: any;
229
+ approvedAt: Date | null;
230
+ temporalValidity: any | null;
231
+ entities: string;
232
+ reinforcementCount: string;
233
+ conceptCluster: string;
234
+ }
235
+ export declare function searchConceptClusterThreadsBySimilarity(client: Client, args: SearchConceptClusterThreadsBySimilarityArgs): Promise<SearchConceptClusterThreadsBySimilarityRow[]>;
236
+ 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.scope_kind = $3\n AND cc.scope_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 (\n EXISTS (\n SELECT 1\n FROM weave.document_restricted_groups drg\n JOIN weave.restricted_group_user_memberships rgum\n ON rgum.organization_id = drg.organization_id\n AND rgum.restricted_group_id = drg.restricted_group_id\n AND rgum.user_id = $6\n WHERE drg.organization_id = d.organization_id\n AND drg.document_id = d.id\n )\n OR EXISTS (\n SELECT 1\n FROM weave.document_restricted_groups drg\n JOIN weave.restricted_group_team_memberships rgtm\n ON rgtm.organization_id = drg.organization_id\n AND rgtm.restricted_group_id = drg.restricted_group_id\n JOIN weave.organization_team_membership otm\n ON otm.organization_id = rgtm.organization_id\n AND otm.organization_team_id = rgtm.org_team_id\n AND otm.user_id = $6\n WHERE drg.organization_id = d.organization_id\n AND drg.document_id = d.id\n )))\n )\nORDER BY score DESC, t.approved_at DESC\nLIMIT $7";
237
+ export interface SearchConceptClusterThreadsBySimilarityAndUserPermissionsArgs {
238
+ queryEmbedding: string;
239
+ organizationId: string;
240
+ scopeKind: string;
241
+ scopeKey: string;
242
+ minSimilarity: number;
243
+ actingUserId: string;
244
+ resultLimit: string;
245
+ }
246
+ export interface SearchConceptClusterThreadsBySimilarityAndUserPermissionsRow {
247
+ threadId: string;
248
+ text: string;
249
+ knowledgeType: string;
250
+ facetFields: any;
251
+ score: number;
252
+ classification: string;
253
+ documentId: string;
254
+ documentName: string;
255
+ sourceLocation: any;
256
+ approvedAt: Date | null;
257
+ temporalValidity: any | null;
258
+ entities: string;
259
+ reinforcementCount: string;
260
+ conceptCluster: string;
261
+ }
262
+ export declare function searchConceptClusterThreadsBySimilarityAndUserPermissions(client: Client, args: SearchConceptClusterThreadsBySimilarityAndUserPermissionsArgs): Promise<SearchConceptClusterThreadsBySimilarityAndUserPermissionsRow[]>;
263
+ 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";
264
+ export interface InsertSessionRetrievalContextArgs {
265
+ sessionId: string;
266
+ turnNumber: number;
267
+ relevance: number;
268
+ organizationId: string;
269
+ threadId: string;
270
+ }
271
+ export interface InsertSessionRetrievalContextRow {
272
+ sessionId: string;
273
+ turnNumber: number;
274
+ threadId: string;
275
+ relevance: number;
276
+ retrievedAt: Date;
277
+ }
278
+ export declare function insertSessionRetrievalContext(client: Client, args: InsertSessionRetrievalContextArgs): Promise<InsertSessionRetrievalContextRow | null>;
279
+ 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";
280
+ export interface ListSessionRetrievalContextArgs {
281
+ sessionId: string;
282
+ organizationId: string;
283
+ resultLimit: string;
284
+ }
285
+ export interface ListSessionRetrievalContextRow {
286
+ sessionId: string;
287
+ turnNumber: number;
288
+ threadId: string;
289
+ relevance: number;
290
+ retrievedAt: Date;
291
+ }
292
+ export declare function listSessionRetrievalContext(client: Client, args: ListSessionRetrievalContextArgs): Promise<ListSessionRetrievalContextRow[]>;
293
+ 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 )";
294
+ export interface DeleteSessionRetrievalContextArgs {
295
+ sessionId: string;
296
+ organizationId: string;
297
+ }
298
+ export declare function deleteSessionRetrievalContext(client: Client, args: DeleteSessionRetrievalContextArgs): Promise<void>;
299
+ 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";
300
+ export interface ListApprovedReconcilePoolByOrganizationArgs {
301
+ organizationId: string;
302
+ pageOffset: string;
303
+ pageSize: string;
304
+ }
305
+ export interface ListApprovedReconcilePoolByOrganizationRow {
306
+ threadId: string;
307
+ text: string;
308
+ knowledgeType: string;
309
+ embeddingText: string;
310
+ entityCanonicals: string;
311
+ approvedAt: Date | null;
312
+ }
313
+ export declare function listApprovedReconcilePoolByOrganization(client: Client, args: ListApprovedReconcilePoolByOrganizationArgs): Promise<ListApprovedReconcilePoolByOrganizationRow[]>;
314
+ export {};