neotoma 0.13.0 → 0.14.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 (212) hide show
  1. package/dist/actions.d.ts.map +1 -1
  2. package/dist/actions.js +82 -25
  3. package/dist/actions.js.map +1 -1
  4. package/dist/cli/index.js +1 -1
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/inspector/assets/Combination-DUY7QPO8.js +41 -0
  7. package/dist/inspector/assets/access_policies-C09PKc4I.js +1 -0
  8. package/dist/inspector/assets/agent_badge-BZd6ZAh5.js +1 -0
  9. package/dist/inspector/assets/agent_detail-B_1ghR12.js +1 -0
  10. package/dist/inspector/assets/{agent_filter-Ckc9Pn79.js → agent_filter-DUlgHUAb.js} +1 -1
  11. package/dist/inspector/assets/agent_grant_detail-CXCO_732.js +1 -0
  12. package/dist/inspector/assets/agent_grant_form-BOodcTsk.js +1 -0
  13. package/dist/inspector/assets/agent_grants-DwJWbjBK.js +1 -0
  14. package/dist/inspector/assets/agents-37d_vnDC.js +1 -0
  15. package/dist/inspector/assets/arrow-left-C_rgOt55.js +6 -0
  16. package/dist/inspector/assets/{attribution_card-B4uxURRl.js → attribution_card-BTuwO5aa.js} +1 -1
  17. package/dist/inspector/assets/attribution_summary-BCNNWLJ0.js +1 -0
  18. package/dist/inspector/assets/{card-Be3xc6kP.js → card-CfjWPSFY.js} +1 -1
  19. package/dist/inspector/assets/check-C3ZzJelL.js +6 -0
  20. package/dist/inspector/assets/chevron-down-BMaycUN9.js +6 -0
  21. package/dist/inspector/assets/chevron-right-L2MnFoxW.js +6 -0
  22. package/dist/inspector/assets/compliance-CtiJIab-.js +1 -0
  23. package/dist/inspector/assets/confirm-dialog-BeroL0Rg.js +6 -0
  24. package/dist/inspector/assets/{conversation_common-CUy4Y6nT.js → conversation_common-BKTjpYxF.js} +1 -1
  25. package/dist/inspector/assets/conversation_detail-LF6Qd49-.js +1 -0
  26. package/dist/inspector/assets/copy_id_button-GijI9po3.js +6 -0
  27. package/dist/inspector/assets/dashboard-BPnSJqsF.js +68 -0
  28. package/dist/inspector/assets/{data-table-DUTmXUje.js → data-table-B-cqS3KC.js} +4 -4
  29. package/dist/inspector/assets/dialog-CIA-8Qg9.js +10 -0
  30. package/dist/inspector/assets/dropdown-menu-Ckkd3YcG.js +6 -0
  31. package/dist/inspector/assets/entities-CYmA8CfA.js +1 -0
  32. package/dist/inspector/assets/entity_detail-Cg0VALqg.js +17 -0
  33. package/dist/inspector/assets/entity_link-qYsgSBpl.js +1 -0
  34. package/dist/inspector/assets/{graph_explorer-ToRKi564.js → graph_explorer-xc5xiEzg.js} +2 -2
  35. package/dist/inspector/assets/{index-Bqd6ZUTS.js → index-BVxY35u6.js} +1 -1
  36. package/dist/inspector/assets/index-Bi9XbTox.js +1 -0
  37. package/dist/inspector/assets/{index-eSn-_N7m.js → index-D3OXdV3z.js} +1 -1
  38. package/dist/inspector/assets/index-DFtogOdh.css +1 -0
  39. package/dist/inspector/assets/index-Dbk1Plmn.js +234 -0
  40. package/dist/inspector/assets/index-dCMWtMMp.js +1 -0
  41. package/dist/inspector/assets/interpretations-BQOT8hIC.js +1 -0
  42. package/dist/inspector/assets/interpretations-D4UW8rIX.js +1 -0
  43. package/dist/inspector/assets/issue_author_attribution-CUwRDUTg.js +1 -0
  44. package/dist/inspector/assets/issue_detail-pB-HjEXa.js +1 -0
  45. package/dist/inspector/assets/issues-DymZL71f.js +1 -0
  46. package/dist/inspector/assets/json_viewer-ClIBr-BE.js +1 -0
  47. package/dist/inspector/assets/{label-DOM2Wo7V.js → label-BKULM0qV.js} +1 -1
  48. package/dist/inspector/assets/{live_relative_time-D0sf7oeA.js → live_relative_time-DiP4_O2S.js} +1 -1
  49. package/dist/inspector/assets/observations-BkdwEkxW.js +1 -0
  50. package/dist/inspector/assets/page_shell-C0CL85dt.js +1 -0
  51. package/dist/inspector/assets/pagination-BoJeck8D.js +6 -0
  52. package/dist/inspector/assets/peer_detail-DVeIIJyP.js +1 -0
  53. package/dist/inspector/assets/peers-DVwXMI_R.js +1 -0
  54. package/dist/inspector/assets/plus-DrFK9jPU.js +6 -0
  55. package/dist/inspector/assets/query_refresh_indicator-1_XqkpX1.js +1 -0
  56. package/dist/inspector/assets/recent_activity-BItREq9X.js +11 -0
  57. package/dist/inspector/assets/recent_conversations-DZysT03I.js +1 -0
  58. package/dist/inspector/assets/recent_conversations-DydLPVC7.js +1 -0
  59. package/dist/inspector/assets/recent_records_feed-DvmOpQOI.js +1 -0
  60. package/dist/inspector/assets/relationship_detail-BSj-pQ4e.js +1 -0
  61. package/dist/inspector/assets/relationships-D_VYvxI6.js +1 -0
  62. package/dist/inspector/assets/relationships-Dej7k2bX.js +1 -0
  63. package/dist/inspector/assets/sandbox-ByQIsZ7c.js +1 -0
  64. package/dist/inspector/assets/schema_detail-Ee80m94a.js +11 -0
  65. package/dist/inspector/assets/schemas-CtuDIi3-.js +5 -0
  66. package/dist/inspector/assets/search-B93IvJij.js +1 -0
  67. package/dist/inspector/assets/select-B273iZTf.js +6 -0
  68. package/dist/inspector/assets/settings-Bq6E6ZHL.js +1 -0
  69. package/dist/inspector/assets/source_detail-B68i3fZD.js +22 -0
  70. package/dist/inspector/assets/{source_link-0Te24zH8.js → source_link-Bg790zHv.js} +1 -1
  71. package/dist/inspector/assets/sources-Djb-BlYz.js +9 -0
  72. package/dist/inspector/assets/subscriptions-TXilOyS3.js +1 -0
  73. package/dist/inspector/assets/switch-CWAnZPRf.js +1 -0
  74. package/dist/inspector/assets/tabs-C_pkkbCq.js +1 -0
  75. package/dist/inspector/assets/{textarea-DEdR3qUl.js → textarea-BDInZ0Bq.js} +1 -1
  76. package/dist/inspector/assets/timeline-B_D7qsoU.js +1 -0
  77. package/dist/inspector/assets/timeline-CLbhs2eG.js +1 -0
  78. package/dist/inspector/assets/timeline_event_detail-DF1jb7D8.js +1 -0
  79. package/dist/inspector/assets/trash-2-Bj69O07h.js +6 -0
  80. package/dist/inspector/assets/turn_detail-Btx7OUU3.js +1 -0
  81. package/dist/inspector/assets/turns-a3ZhmNMK.js +1 -0
  82. package/dist/inspector/assets/use_agents-DbRumskw.js +1 -0
  83. package/dist/inspector/assets/use_entities-CosQTZoS.js +1 -0
  84. package/dist/inspector/assets/use_interpretations-CyFYYw9f.js +1 -0
  85. package/dist/inspector/assets/use_mutations-BiggAKwe.js +1 -0
  86. package/dist/inspector/assets/use_peers-N5QIk_vW.js +1 -0
  87. package/dist/inspector/assets/use_recent_conversations-DrH7xddS.js +1 -0
  88. package/dist/inspector/assets/{use_relationships-BxnyinEx.js → use_relationships-QO4vMfMB.js} +1 -1
  89. package/dist/inspector/assets/use_schemas-DMLDIw9M.js +1 -0
  90. package/dist/inspector/assets/use_sources-CFfXCf1Q.js +1 -0
  91. package/dist/inspector/assets/use_stats-Dl20g0pT.js +1 -0
  92. package/dist/inspector/assets/use_timeline-DHzluypB.js +1 -0
  93. package/dist/inspector/assets/use_turns-B9mo1Zal.js +1 -0
  94. package/dist/inspector/index.html +2 -2
  95. package/dist/server.d.ts.map +1 -1
  96. package/dist/server.js +74 -9
  97. package/dist/server.js.map +1 -1
  98. package/dist/services/canonical_markdown.d.ts.map +1 -1
  99. package/dist/services/canonical_markdown.js +5 -1
  100. package/dist/services/canonical_markdown.js.map +1 -1
  101. package/dist/services/canonical_mirror.d.ts.map +1 -1
  102. package/dist/services/canonical_mirror.js +26 -7
  103. package/dist/services/canonical_mirror.js.map +1 -1
  104. package/dist/services/plans/seed_schema.d.ts.map +1 -1
  105. package/dist/services/plans/seed_schema.js +6 -1
  106. package/dist/services/plans/seed_schema.js.map +1 -1
  107. package/dist/services/root_landing/site_nav.d.ts.map +1 -1
  108. package/dist/services/root_landing/site_nav.js +9 -0
  109. package/dist/services/root_landing/site_nav.js.map +1 -1
  110. package/dist/services/schema_definitions.d.ts.map +1 -1
  111. package/dist/services/schema_definitions.js +46 -0
  112. package/dist/services/schema_definitions.js.map +1 -1
  113. package/dist/services/skills/seed_schema.d.ts +39 -0
  114. package/dist/services/skills/seed_schema.d.ts.map +1 -0
  115. package/dist/services/skills/seed_schema.js +151 -0
  116. package/dist/services/skills/seed_schema.js.map +1 -0
  117. package/dist/shared/action_handlers/entity_handlers.d.ts +17 -0
  118. package/dist/shared/action_handlers/entity_handlers.d.ts.map +1 -1
  119. package/dist/shared/action_handlers/entity_handlers.js +281 -56
  120. package/dist/shared/action_handlers/entity_handlers.js.map +1 -1
  121. package/dist/shared/action_schemas.d.ts +68 -4
  122. package/dist/shared/action_schemas.d.ts.map +1 -1
  123. package/dist/shared/action_schemas.js +30 -2
  124. package/dist/shared/action_schemas.js.map +1 -1
  125. package/dist/shared/openapi_types.d.ts +104 -15
  126. package/dist/shared/openapi_types.d.ts.map +1 -1
  127. package/dist/tool_definitions.d.ts.map +1 -1
  128. package/dist/tool_definitions.js +18 -0
  129. package/dist/tool_definitions.js.map +1 -1
  130. package/docs/developer/mcp/instructions.md +3 -3
  131. package/openapi.yaml +158 -0
  132. package/package.json +1 -1
  133. package/dist/inspector/assets/access_policies-BJGiuGT7.js +0 -1
  134. package/dist/inspector/assets/agent_badge-CxX5AoB3.js +0 -1
  135. package/dist/inspector/assets/agent_detail-CgynPJyi.js +0 -1
  136. package/dist/inspector/assets/agent_grant_detail-CVVt5jR0.js +0 -1
  137. package/dist/inspector/assets/agent_grant_form-CckwE47p.js +0 -1
  138. package/dist/inspector/assets/agent_grants-CEHtFG8M.js +0 -1
  139. package/dist/inspector/assets/agents-kgafkCf0.js +0 -1
  140. package/dist/inspector/assets/compliance-DIpTNThJ.js +0 -1
  141. package/dist/inspector/assets/confirm-dialog-BJb_7JCP.js +0 -1
  142. package/dist/inspector/assets/conversation_detail-DmN3Ciik.js +0 -1
  143. package/dist/inspector/assets/copy_id_button-O99Ypxsr.js +0 -1
  144. package/dist/inspector/assets/dashboard-Jm_bFVR7.js +0 -68
  145. package/dist/inspector/assets/dialog-BxsMqebA.js +0 -5
  146. package/dist/inspector/assets/docs-DPNYchG1.js +0 -1
  147. package/dist/inspector/assets/docs_page_layout-DF6Hggiv.js +0 -1
  148. package/dist/inspector/assets/entities-CFbkJ0kh.js +0 -1
  149. package/dist/inspector/assets/entity_correct-3VZy9c_B.js +0 -2
  150. package/dist/inspector/assets/entity_detail-DYTMD6CQ.js +0 -1
  151. package/dist/inspector/assets/entity_link-Bn-BZ7Ez.js +0 -1
  152. package/dist/inspector/assets/entity_relationships_by_type-CaEHjhuH.js +0 -1
  153. package/dist/inspector/assets/entity_segment_page-ram_dYBU.js +0 -1
  154. package/dist/inspector/assets/entity_table_column_toggle-DkgTfVe6.js +0 -1
  155. package/dist/inspector/assets/entity_timeline-D4Jx8j86.js +0 -1
  156. package/dist/inspector/assets/entity_types-C6xxaD9Q.js +0 -1
  157. package/dist/inspector/assets/faq-BlN0dwXU.js +0 -1
  158. package/dist/inspector/assets/field_value-CXrYP7U2.js +0 -1
  159. package/dist/inspector/assets/home-DMp787c9.js +0 -1
  160. package/dist/inspector/assets/index-CfBNe5Q5.css +0 -1
  161. package/dist/inspector/assets/index-Cr1MUTVf.js +0 -7899
  162. package/dist/inspector/assets/interpretations-B7IGjAGw.js +0 -1
  163. package/dist/inspector/assets/interpretations-BfvMft6w.js +0 -1
  164. package/dist/inspector/assets/issue_author_attribution-cYHL-sZs.js +0 -1
  165. package/dist/inspector/assets/issue_detail-DEw5DZIp.js +0 -1
  166. package/dist/inspector/assets/issues-DbmZ_PkV.js +0 -1
  167. package/dist/inspector/assets/json_viewer-CojB60Px.js +0 -1
  168. package/dist/inspector/assets/observation_timeline-B_wjamjQ.js +0 -1
  169. package/dist/inspector/assets/observations-BMh0l3dI.js +0 -1
  170. package/dist/inspector/assets/observations-BUPBgx6V.js +0 -1
  171. package/dist/inspector/assets/page_shell-D6MkYIq9.js +0 -1
  172. package/dist/inspector/assets/pagination-CRK2zZ5A.js +0 -1
  173. package/dist/inspector/assets/peer_detail-UOrmJwiA.js +0 -1
  174. package/dist/inspector/assets/peers-D2NFo46-.js +0 -1
  175. package/dist/inspector/assets/pin_primitive_button-BZ69erO4.js +0 -1
  176. package/dist/inspector/assets/query_refresh_indicator-DKC1GoKi.js +0 -1
  177. package/dist/inspector/assets/recent_activity-D0KUmHJS.js +0 -1
  178. package/dist/inspector/assets/recent_conversations--Z_aIJCk.js +0 -1
  179. package/dist/inspector/assets/recent_conversations-CAswLy6M.js +0 -1
  180. package/dist/inspector/assets/recent_records_feed-DuuyuJsg.js +0 -1
  181. package/dist/inspector/assets/record_activity-CTkV_H_X.js +0 -1
  182. package/dist/inspector/assets/relationship_detail-qmJQbwGY.js +0 -1
  183. package/dist/inspector/assets/relationship_panel_groups-e43Kdemt.js +0 -1
  184. package/dist/inspector/assets/relationships-CFs3OjfC.js +0 -1
  185. package/dist/inspector/assets/sandbox-BjTj_hQB.js +0 -1
  186. package/dist/inspector/assets/schema_detail-CT5ZSvKd.js +0 -1
  187. package/dist/inspector/assets/schemas-TGRdLTOx.js +0 -5
  188. package/dist/inspector/assets/search-CsuBd9XH.js +0 -1
  189. package/dist/inspector/assets/select-BbDWrJkS.js +0 -1
  190. package/dist/inspector/assets/settings-FIe7umOM.js +0 -1
  191. package/dist/inspector/assets/site_page-Cfc8rn3y.js +0 -1
  192. package/dist/inspector/assets/source_content-Dvp8_Hwr.js +0 -1
  193. package/dist/inspector/assets/source_content_open_button-F-UKNjcR.js +0 -1
  194. package/dist/inspector/assets/source_detail-CqK7ZqEB.js +0 -12
  195. package/dist/inspector/assets/sources-OEMKh04W.js +0 -4
  196. package/dist/inspector/assets/subscriptions-QCeImjtb.js +0 -1
  197. package/dist/inspector/assets/switch-PUyIT0vy.js +0 -1
  198. package/dist/inspector/assets/tabs-lHH0KCtY.js +0 -1
  199. package/dist/inspector/assets/timeline-D8IOTkCM.js +0 -1
  200. package/dist/inspector/assets/timeline-Y0ddX9vY.js +0 -1
  201. package/dist/inspector/assets/timeline_event_detail-95SVGtVI.js +0 -1
  202. package/dist/inspector/assets/turn_detail-WPsdYVhf.js +0 -1
  203. package/dist/inspector/assets/turns-Bf4tvAfT.js +0 -1
  204. package/dist/inspector/assets/use_agents-B6ystZbD.js +0 -1
  205. package/dist/inspector/assets/use_entities-C5894IaX.js +0 -1
  206. package/dist/inspector/assets/use_graph-BzTAlCFl.js +0 -1
  207. package/dist/inspector/assets/use_interpretations-EjpsDvcH.js +0 -1
  208. package/dist/inspector/assets/use_mutations-CP7Gko1Z.js +0 -1
  209. package/dist/inspector/assets/use_peers-Bq_Cmd4J.js +0 -1
  210. package/dist/inspector/assets/use_stats-DSEbyDC0.js +0 -1
  211. package/dist/inspector/assets/use_timeline-Bl4HOqZV.js +0 -1
  212. package/dist/inspector/assets/use_turns-Bq7rjQNk.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
package/dist/actions.js CHANGED
@@ -2795,7 +2795,7 @@ app.post("/entities/query", async (req, res) => {
2795
2795
  try {
2796
2796
  // Get authenticated user_id (REQUIRED)
2797
2797
  const userId = await getAuthenticatedUserId(req, parsed.data.user_id);
2798
- const { entity_type, search, limit, offset, sort_by, sort_order, published, published_after, published_before, include_snapshots, include_merged, updated_since, created_since, identity_basis, } = parsed.data;
2798
+ const { entity_type, search, limit, offset, sort_by, sort_order, published, published_after, published_before, include_snapshots, include_merged, updated_since, created_since, identity_basis, exclude_bookkeeping, } = parsed.data;
2799
2799
  const { entities, total } = await queryEntitiesWithCount({
2800
2800
  userId,
2801
2801
  entityType: entity_type,
@@ -2812,6 +2812,7 @@ app.post("/entities/query", async (req, res) => {
2812
2812
  updatedSince: updated_since,
2813
2813
  createdSince: created_since,
2814
2814
  identityBasis: identity_basis,
2815
+ excludeBookkeeping: exclude_bookkeeping,
2815
2816
  });
2816
2817
  return res.json({
2817
2818
  entities,
@@ -6170,32 +6171,64 @@ app.post("/list_relationships", async (req, res) => {
6170
6171
  });
6171
6172
  return sendValidationError(res, parsed.error.issues);
6172
6173
  }
6173
- const { entity_id, direction = "both", relationship_type } = parsed.data;
6174
- const normalizedDirection = direction === "incoming" || direction === "inbound"
6175
- ? "incoming"
6176
- : direction === "outgoing" || direction === "outbound"
6177
- ? "outgoing"
6178
- : "both";
6179
- const { relationshipsService } = await import("./services/relationships.js");
6174
+ const { entity_id, source_entity_id, target_entity_id, direction = "both", relationship_type, limit = 100, offset = 0, } = parsed.data;
6180
6175
  try {
6181
- let relationships;
6176
+ // Tenant isolation: resolve authenticated user and scope all queries to
6177
+ // their records. See docs/security/advisories/2026-05-21-relationship-
6178
+ // endpoint-tenant-isolation.md for context.
6179
+ const userId = await getAuthenticatedUserId(req, parsed.data.user_id);
6180
+ // Flexible query supporting source_entity_id / target_entity_id in addition
6181
+ // to the legacy entity_id + direction pattern.
6182
+ let query = db.from("relationship_snapshots").select("*").eq("user_id", userId);
6183
+ if (source_entity_id && target_entity_id) {
6184
+ query = query
6185
+ .eq("source_entity_id", source_entity_id)
6186
+ .eq("target_entity_id", target_entity_id);
6187
+ }
6188
+ else if (source_entity_id) {
6189
+ query = query.eq("source_entity_id", source_entity_id);
6190
+ }
6191
+ else if (target_entity_id) {
6192
+ query = query.eq("target_entity_id", target_entity_id);
6193
+ }
6194
+ else if (entity_id) {
6195
+ const normalizedDirection = direction === "incoming" || direction === "inbound"
6196
+ ? "incoming"
6197
+ : direction === "outgoing" || direction === "outbound"
6198
+ ? "outgoing"
6199
+ : "both";
6200
+ if (normalizedDirection === "outgoing") {
6201
+ query = query.eq("source_entity_id", entity_id);
6202
+ }
6203
+ else if (normalizedDirection === "incoming") {
6204
+ query = query.eq("target_entity_id", entity_id);
6205
+ }
6206
+ else {
6207
+ query = query.or(`source_entity_id.eq.${entity_id},target_entity_id.eq.${entity_id}`);
6208
+ }
6209
+ }
6182
6210
  if (relationship_type) {
6183
- relationships = await relationshipsService.getRelationshipsByType(relationship_type);
6184
- // Filter by entity_id
6185
- relationships = relationships.filter((rel) => rel.source_entity_id === entity_id || rel.target_entity_id === entity_id);
6211
+ query = query.eq("relationship_type", relationship_type);
6186
6212
  }
6187
- else {
6188
- relationships = await relationshipsService.getRelationshipsForEntity(entity_id, normalizedDirection);
6213
+ query = query.order("last_observation_at", { ascending: false });
6214
+ const { data, error } = await query;
6215
+ if (error) {
6216
+ throw new Error(error.message);
6189
6217
  }
6218
+ const all = data || [];
6219
+ const paginated = all.slice(offset, offset + limit);
6190
6220
  logDebug("Success:list_relationships", req, {
6191
6221
  entity_id,
6192
- count: relationships.length,
6222
+ source_entity_id,
6223
+ target_entity_id,
6224
+ relationship_type,
6225
+ count: paginated.length,
6226
+ total: all.length,
6193
6227
  });
6194
- return res.json({ relationships });
6228
+ return res.json({ relationships: paginated, total: all.length, limit, offset });
6195
6229
  }
6196
6230
  catch (error) {
6197
- logError("RelationshipQueryError:list_relationships", req, error);
6198
- return sendError(res, 500, "DB_QUERY_FAILED", error instanceof Error ? error.message : "Failed to query relationships");
6231
+ return handleApiError(req, res, error, "Failed to query relationships", "DB_QUERY_FAILED", "RelationshipQueryError:list_relationships");
6199
6232
  }
6200
6233
  });
6201
6234
  app.get("/get_file_url", async (req, res) => {
@@ -6340,7 +6373,11 @@ app.post("/retrieve_graph_neighborhood", async (req, res) => {
6340
6373
  return sendValidationError(res, parsed.error.issues);
6341
6374
  }
6342
6375
  try {
6343
- const { node_id, node_type = "entity", include_relationships = true, include_sources = true, include_events: _include_events = true, include_observations = false, } = parsed.data;
6376
+ const { node_id, node_type = "entity", include_relationships = true, include_sources = true, include_events: _include_events = true, include_observations = false, limit = 100, offset = 0, } = parsed.data;
6377
+ // Tenant isolation: scope all queries to the authenticated user.
6378
+ // See docs/security/advisories/2026-05-21-relationship-endpoint-
6379
+ // tenant-isolation.md for context.
6380
+ const userId = await getAuthenticatedUserId(req, parsed.data.user_id);
6344
6381
  const result = { node_id, node_type };
6345
6382
  if (node_type === "entity") {
6346
6383
  // Get entity
@@ -6348,16 +6385,28 @@ app.post("/retrieve_graph_neighborhood", async (req, res) => {
6348
6385
  .from("entities")
6349
6386
  .select("*")
6350
6387
  .eq("id", node_id)
6388
+ .eq("user_id", userId)
6351
6389
  .single();
6352
6390
  if (!entityError && entity) {
6353
6391
  result.entity = entity;
6354
6392
  }
6355
6393
  // Get relationships if requested
6356
6394
  if (include_relationships) {
6395
+ // Count total relationships for pagination metadata
6396
+ const { count: totalCount, error: countError } = await db
6397
+ .from("relationship_snapshots")
6398
+ .select("*", { count: "exact", head: true })
6399
+ .or(`source_entity_id.eq.${node_id},target_entity_id.eq.${node_id}`)
6400
+ .eq("user_id", userId);
6401
+ const total = countError ? 0 : (totalCount ?? 0);
6402
+ result.total_count = total;
6403
+ result.has_more = offset + limit < total;
6357
6404
  const { data: relationships, error: relError } = await db
6358
6405
  .from("relationship_snapshots")
6359
6406
  .select("*")
6360
- .or(`source_entity_id.eq.${node_id},target_entity_id.eq.${node_id}`);
6407
+ .or(`source_entity_id.eq.${node_id},target_entity_id.eq.${node_id}`)
6408
+ .eq("user_id", userId)
6409
+ .range(offset, offset + limit - 1);
6361
6410
  if (!relError) {
6362
6411
  result.relationships = relationships || [];
6363
6412
  const relatedEntityIds = Array.from(new Set((relationships || [])
@@ -6370,9 +6419,13 @@ app.post("/retrieve_graph_neighborhood", async (req, res) => {
6370
6419
  const { data: relatedEntities, error: relatedEntitiesError } = await db
6371
6420
  .from("entities")
6372
6421
  .select("*")
6373
- .in("id", relatedEntityIds);
6422
+ .in("id", relatedEntityIds)
6423
+ .eq("user_id", userId);
6374
6424
  if (!relatedEntitiesError) {
6375
- result.related_entities = relatedEntities || [];
6425
+ result.related_entities = (relatedEntities || []).map(({ id, ...rest }) => ({
6426
+ entity_id: id,
6427
+ ...rest,
6428
+ }));
6376
6429
  }
6377
6430
  }
6378
6431
  }
@@ -6382,7 +6435,8 @@ app.post("/retrieve_graph_neighborhood", async (req, res) => {
6382
6435
  const { data: observations, error: obsError } = await db
6383
6436
  .from("observations")
6384
6437
  .select("*")
6385
- .eq("entity_id", node_id);
6438
+ .eq("entity_id", node_id)
6439
+ .eq("user_id", userId);
6386
6440
  if (!obsError) {
6387
6441
  result.observations = observations || [];
6388
6442
  }
@@ -6394,7 +6448,8 @@ app.post("/retrieve_graph_neighborhood", async (req, res) => {
6394
6448
  const { data: sources, error: srcError } = await db
6395
6449
  .from("source")
6396
6450
  .select("*")
6397
- .in("id", sourceIds);
6451
+ .in("id", sourceIds)
6452
+ .eq("user_id", userId);
6398
6453
  if (!srcError) {
6399
6454
  result.sources = sources || [];
6400
6455
  }
@@ -6407,6 +6462,7 @@ app.post("/retrieve_graph_neighborhood", async (req, res) => {
6407
6462
  .from("source")
6408
6463
  .select("*")
6409
6464
  .eq("id", node_id)
6465
+ .eq("user_id", userId)
6410
6466
  .single();
6411
6467
  if (!srcError && source) {
6412
6468
  result.source = source;
@@ -6416,7 +6472,8 @@ app.post("/retrieve_graph_neighborhood", async (req, res) => {
6416
6472
  const { data: observations, error: obsError } = await db
6417
6473
  .from("observations")
6418
6474
  .select("*")
6419
- .eq("source_id", node_id);
6475
+ .eq("source_id", node_id)
6476
+ .eq("user_id", userId);
6420
6477
  if (!obsError) {
6421
6478
  result.observations = observations || [];
6422
6479
  }