neotoma 0.13.0 → 0.15.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 (431) hide show
  1. package/dist/actions.d.ts.map +1 -1
  2. package/dist/actions.js +84 -27
  3. package/dist/actions.js.map +1 -1
  4. package/dist/cli/aauth_signer.d.ts +7 -0
  5. package/dist/cli/aauth_signer.d.ts.map +1 -1
  6. package/dist/cli/aauth_signer.js +9 -0
  7. package/dist/cli/aauth_signer.js.map +1 -1
  8. package/dist/cli/bootstrap.js +0 -0
  9. package/dist/cli/index.d.ts.map +1 -1
  10. package/dist/cli/index.js +13 -7
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/mcp_config_scan.d.ts +1 -1
  13. package/dist/cli/mcp_config_scan.d.ts.map +1 -1
  14. package/dist/cli/mcp_config_scan.js +31 -2
  15. package/dist/cli/mcp_config_scan.js.map +1 -1
  16. package/dist/inspector/assets/Combination-DUY7QPO8.js +41 -0
  17. package/dist/inspector/assets/access_policies-C09PKc4I.js +1 -0
  18. package/dist/inspector/assets/agent_badge-BZd6ZAh5.js +1 -0
  19. package/dist/inspector/assets/agent_detail-B_1ghR12.js +1 -0
  20. package/dist/inspector/assets/{agent_filter-Ckc9Pn79.js → agent_filter-DUlgHUAb.js} +1 -1
  21. package/dist/inspector/assets/agent_grant_detail-CXCO_732.js +1 -0
  22. package/dist/inspector/assets/agent_grant_form-BOodcTsk.js +1 -0
  23. package/dist/inspector/assets/agent_grants-DwJWbjBK.js +1 -0
  24. package/dist/inspector/assets/agents-37d_vnDC.js +1 -0
  25. package/dist/inspector/assets/arrow-left-C_rgOt55.js +6 -0
  26. package/dist/inspector/assets/{attribution_card-B4uxURRl.js → attribution_card-BTuwO5aa.js} +1 -1
  27. package/dist/inspector/assets/attribution_summary-BCNNWLJ0.js +1 -0
  28. package/dist/inspector/assets/{card-Be3xc6kP.js → card-CfjWPSFY.js} +1 -1
  29. package/dist/inspector/assets/check-C3ZzJelL.js +6 -0
  30. package/dist/inspector/assets/chevron-down-BMaycUN9.js +6 -0
  31. package/dist/inspector/assets/chevron-right-L2MnFoxW.js +6 -0
  32. package/dist/inspector/assets/compliance-CtiJIab-.js +1 -0
  33. package/dist/inspector/assets/confirm-dialog-BeroL0Rg.js +6 -0
  34. package/dist/inspector/assets/{conversation_common-CUy4Y6nT.js → conversation_common-BKTjpYxF.js} +1 -1
  35. package/dist/inspector/assets/conversation_detail-LF6Qd49-.js +1 -0
  36. package/dist/inspector/assets/copy_id_button-GijI9po3.js +6 -0
  37. package/dist/inspector/assets/dashboard-BPnSJqsF.js +68 -0
  38. package/dist/inspector/assets/{data-table-DUTmXUje.js → data-table-B-cqS3KC.js} +4 -4
  39. package/dist/inspector/assets/dialog-CIA-8Qg9.js +10 -0
  40. package/dist/inspector/assets/dropdown-menu-Ckkd3YcG.js +6 -0
  41. package/dist/inspector/assets/entities-CYmA8CfA.js +1 -0
  42. package/dist/inspector/assets/entity_detail-Cg0VALqg.js +17 -0
  43. package/dist/inspector/assets/entity_link-qYsgSBpl.js +1 -0
  44. package/dist/inspector/assets/{graph_explorer-ToRKi564.js → graph_explorer-xc5xiEzg.js} +2 -2
  45. package/dist/inspector/assets/{index-Bqd6ZUTS.js → index-BVxY35u6.js} +1 -1
  46. package/dist/inspector/assets/index-Bi9XbTox.js +1 -0
  47. package/dist/inspector/assets/{index-eSn-_N7m.js → index-D3OXdV3z.js} +1 -1
  48. package/dist/inspector/assets/index-DFtogOdh.css +1 -0
  49. package/dist/inspector/assets/index-Dbk1Plmn.js +234 -0
  50. package/dist/inspector/assets/index-dCMWtMMp.js +1 -0
  51. package/dist/inspector/assets/interpretations-BQOT8hIC.js +1 -0
  52. package/dist/inspector/assets/interpretations-D4UW8rIX.js +1 -0
  53. package/dist/inspector/assets/issue_author_attribution-CUwRDUTg.js +1 -0
  54. package/dist/inspector/assets/issue_detail-pB-HjEXa.js +1 -0
  55. package/dist/inspector/assets/issues-DymZL71f.js +1 -0
  56. package/dist/inspector/assets/json_viewer-ClIBr-BE.js +1 -0
  57. package/dist/inspector/assets/{label-DOM2Wo7V.js → label-BKULM0qV.js} +1 -1
  58. package/dist/inspector/assets/{live_relative_time-D0sf7oeA.js → live_relative_time-DiP4_O2S.js} +1 -1
  59. package/dist/inspector/assets/observations-BkdwEkxW.js +1 -0
  60. package/dist/inspector/assets/page_shell-C0CL85dt.js +1 -0
  61. package/dist/inspector/assets/pagination-BoJeck8D.js +6 -0
  62. package/dist/inspector/assets/peer_detail-DVeIIJyP.js +1 -0
  63. package/dist/inspector/assets/peers-DVwXMI_R.js +1 -0
  64. package/dist/inspector/assets/plus-DrFK9jPU.js +6 -0
  65. package/dist/inspector/assets/query_refresh_indicator-1_XqkpX1.js +1 -0
  66. package/dist/inspector/assets/recent_activity-BItREq9X.js +11 -0
  67. package/dist/inspector/assets/recent_conversations-DZysT03I.js +1 -0
  68. package/dist/inspector/assets/recent_conversations-DydLPVC7.js +1 -0
  69. package/dist/inspector/assets/recent_records_feed-DvmOpQOI.js +1 -0
  70. package/dist/inspector/assets/relationship_detail-BSj-pQ4e.js +1 -0
  71. package/dist/inspector/assets/relationships-D_VYvxI6.js +1 -0
  72. package/dist/inspector/assets/relationships-Dej7k2bX.js +1 -0
  73. package/dist/inspector/assets/sandbox-ByQIsZ7c.js +1 -0
  74. package/dist/inspector/assets/schema_detail-Ee80m94a.js +11 -0
  75. package/dist/inspector/assets/schemas-CtuDIi3-.js +5 -0
  76. package/dist/inspector/assets/search-B93IvJij.js +1 -0
  77. package/dist/inspector/assets/select-B273iZTf.js +6 -0
  78. package/dist/inspector/assets/settings-Bq6E6ZHL.js +1 -0
  79. package/dist/inspector/assets/source_detail-B68i3fZD.js +22 -0
  80. package/dist/inspector/assets/{source_link-0Te24zH8.js → source_link-Bg790zHv.js} +1 -1
  81. package/dist/inspector/assets/sources-Djb-BlYz.js +9 -0
  82. package/dist/inspector/assets/subscriptions-TXilOyS3.js +1 -0
  83. package/dist/inspector/assets/switch-CWAnZPRf.js +1 -0
  84. package/dist/inspector/assets/tabs-C_pkkbCq.js +1 -0
  85. package/dist/inspector/assets/{textarea-DEdR3qUl.js → textarea-BDInZ0Bq.js} +1 -1
  86. package/dist/inspector/assets/timeline-B_D7qsoU.js +1 -0
  87. package/dist/inspector/assets/timeline-CLbhs2eG.js +1 -0
  88. package/dist/inspector/assets/timeline_event_detail-DF1jb7D8.js +1 -0
  89. package/dist/inspector/assets/trash-2-Bj69O07h.js +6 -0
  90. package/dist/inspector/assets/turn_detail-Btx7OUU3.js +1 -0
  91. package/dist/inspector/assets/turns-a3ZhmNMK.js +1 -0
  92. package/dist/inspector/assets/use_agents-DbRumskw.js +1 -0
  93. package/dist/inspector/assets/use_entities-CosQTZoS.js +1 -0
  94. package/dist/inspector/assets/use_interpretations-CyFYYw9f.js +1 -0
  95. package/dist/inspector/assets/use_mutations-BiggAKwe.js +1 -0
  96. package/dist/inspector/assets/use_peers-N5QIk_vW.js +1 -0
  97. package/dist/inspector/assets/use_recent_conversations-DrH7xddS.js +1 -0
  98. package/dist/inspector/assets/{use_relationships-BxnyinEx.js → use_relationships-QO4vMfMB.js} +1 -1
  99. package/dist/inspector/assets/use_schemas-DMLDIw9M.js +1 -0
  100. package/dist/inspector/assets/use_sources-CFfXCf1Q.js +1 -0
  101. package/dist/inspector/assets/use_stats-Dl20g0pT.js +1 -0
  102. package/dist/inspector/assets/use_timeline-DHzluypB.js +1 -0
  103. package/dist/inspector/assets/use_turns-B9mo1Zal.js +1 -0
  104. package/dist/inspector/index.html +2 -2
  105. package/dist/server.d.ts.map +1 -1
  106. package/dist/server.js +74 -9
  107. package/dist/server.js.map +1 -1
  108. package/dist/services/agent_capabilities.d.ts +14 -1
  109. package/dist/services/agent_capabilities.d.ts.map +1 -1
  110. package/dist/services/agent_capabilities.js.map +1 -1
  111. package/dist/services/agent_grants.d.ts +0 -5
  112. package/dist/services/agent_grants.d.ts.map +1 -1
  113. package/dist/services/agent_grants.js +50 -12
  114. package/dist/services/agent_grants.js.map +1 -1
  115. package/dist/services/canonical_markdown.d.ts +7 -0
  116. package/dist/services/canonical_markdown.d.ts.map +1 -1
  117. package/dist/services/canonical_markdown.js +13 -3
  118. package/dist/services/canonical_markdown.js.map +1 -1
  119. package/dist/services/canonical_mirror.d.ts.map +1 -1
  120. package/dist/services/canonical_mirror.js +28 -10
  121. package/dist/services/canonical_mirror.js.map +1 -1
  122. package/dist/services/issues/issue_operations.d.ts.map +1 -1
  123. package/dist/services/issues/issue_operations.js +35 -32
  124. package/dist/services/issues/issue_operations.js.map +1 -1
  125. package/dist/services/issues/neotoma_client.d.ts.map +1 -1
  126. package/dist/services/issues/neotoma_client.js +42 -11
  127. package/dist/services/issues/neotoma_client.js.map +1 -1
  128. package/dist/services/plans/seed_schema.d.ts.map +1 -1
  129. package/dist/services/plans/seed_schema.js +6 -1
  130. package/dist/services/plans/seed_schema.js.map +1 -1
  131. package/dist/services/root_landing/site_nav.d.ts.map +1 -1
  132. package/dist/services/root_landing/site_nav.js +9 -0
  133. package/dist/services/root_landing/site_nav.js.map +1 -1
  134. package/dist/services/schema_definitions.d.ts.map +1 -1
  135. package/dist/services/schema_definitions.js +102 -0
  136. package/dist/services/schema_definitions.js.map +1 -1
  137. package/dist/shared/action_handlers/entity_handlers.d.ts +17 -0
  138. package/dist/shared/action_handlers/entity_handlers.d.ts.map +1 -1
  139. package/dist/shared/action_handlers/entity_handlers.js +281 -56
  140. package/dist/shared/action_handlers/entity_handlers.js.map +1 -1
  141. package/dist/shared/action_schemas.d.ts +70 -6
  142. package/dist/shared/action_schemas.d.ts.map +1 -1
  143. package/dist/shared/action_schemas.js +30 -2
  144. package/dist/shared/action_schemas.js.map +1 -1
  145. package/dist/shared/openapi_types.d.ts +114 -17
  146. package/dist/shared/openapi_types.d.ts.map +1 -1
  147. package/dist/tool_definitions.d.ts.map +1 -1
  148. package/dist/tool_definitions.js +18 -0
  149. package/dist/tool_definitions.js.map +1 -1
  150. package/dist/utils/local_http_port_file.d.ts.map +1 -1
  151. package/dist/utils/local_http_port_file.js +8 -1
  152. package/dist/utils/local_http_port_file.js.map +1 -1
  153. package/docs/developer/mcp/instructions.md +8 -6
  154. package/openapi.yaml +172 -1
  155. package/package.json +1 -1
  156. package/dist/cli/activate.d.ts +0 -72
  157. package/dist/cli/activate.d.ts.map +0 -1
  158. package/dist/cli/activate.js +0 -160
  159. package/dist/cli/activate.js.map +0 -1
  160. package/dist/cli/auth_keygen.d.ts +0 -11
  161. package/dist/cli/auth_keygen.d.ts.map +0 -1
  162. package/dist/cli/auth_keygen.js +0 -110
  163. package/dist/cli/auth_keygen.js.map +0 -1
  164. package/dist/cli/packs.d.ts +0 -15
  165. package/dist/cli/packs.d.ts.map +0 -1
  166. package/dist/cli/packs.js +0 -156
  167. package/dist/cli/packs.js.map +0 -1
  168. package/dist/cli/triage.d.ts +0 -33
  169. package/dist/cli/triage.d.ts.map +0 -1
  170. package/dist/cli/triage.js +0 -251
  171. package/dist/cli/triage.js.map +0 -1
  172. package/dist/inspector/assets/access_policies-BJGiuGT7.js +0 -1
  173. package/dist/inspector/assets/agent_badge-CxX5AoB3.js +0 -1
  174. package/dist/inspector/assets/agent_detail-CgynPJyi.js +0 -1
  175. package/dist/inspector/assets/agent_grant_detail-CVVt5jR0.js +0 -1
  176. package/dist/inspector/assets/agent_grant_form-CckwE47p.js +0 -1
  177. package/dist/inspector/assets/agent_grants-CEHtFG8M.js +0 -1
  178. package/dist/inspector/assets/agents-kgafkCf0.js +0 -1
  179. package/dist/inspector/assets/compliance-DIpTNThJ.js +0 -1
  180. package/dist/inspector/assets/confirm-dialog-BJb_7JCP.js +0 -1
  181. package/dist/inspector/assets/conversation_detail-DmN3Ciik.js +0 -1
  182. package/dist/inspector/assets/copy_id_button-O99Ypxsr.js +0 -1
  183. package/dist/inspector/assets/dashboard-Jm_bFVR7.js +0 -68
  184. package/dist/inspector/assets/dialog-BxsMqebA.js +0 -5
  185. package/dist/inspector/assets/docs-DPNYchG1.js +0 -1
  186. package/dist/inspector/assets/docs_page_layout-DF6Hggiv.js +0 -1
  187. package/dist/inspector/assets/entities-CFbkJ0kh.js +0 -1
  188. package/dist/inspector/assets/entity_correct-3VZy9c_B.js +0 -2
  189. package/dist/inspector/assets/entity_detail-DYTMD6CQ.js +0 -1
  190. package/dist/inspector/assets/entity_link-Bn-BZ7Ez.js +0 -1
  191. package/dist/inspector/assets/entity_relationships_by_type-CaEHjhuH.js +0 -1
  192. package/dist/inspector/assets/entity_segment_page-ram_dYBU.js +0 -1
  193. package/dist/inspector/assets/entity_table_column_toggle-DkgTfVe6.js +0 -1
  194. package/dist/inspector/assets/entity_timeline-D4Jx8j86.js +0 -1
  195. package/dist/inspector/assets/entity_types-C6xxaD9Q.js +0 -1
  196. package/dist/inspector/assets/faq-BlN0dwXU.js +0 -1
  197. package/dist/inspector/assets/field_value-CXrYP7U2.js +0 -1
  198. package/dist/inspector/assets/home-DMp787c9.js +0 -1
  199. package/dist/inspector/assets/index-CfBNe5Q5.css +0 -1
  200. package/dist/inspector/assets/index-Cr1MUTVf.js +0 -7899
  201. package/dist/inspector/assets/interpretations-B7IGjAGw.js +0 -1
  202. package/dist/inspector/assets/interpretations-BfvMft6w.js +0 -1
  203. package/dist/inspector/assets/issue_author_attribution-cYHL-sZs.js +0 -1
  204. package/dist/inspector/assets/issue_detail-DEw5DZIp.js +0 -1
  205. package/dist/inspector/assets/issues-DbmZ_PkV.js +0 -1
  206. package/dist/inspector/assets/json_viewer-CojB60Px.js +0 -1
  207. package/dist/inspector/assets/observation_timeline-B_wjamjQ.js +0 -1
  208. package/dist/inspector/assets/observations-BMh0l3dI.js +0 -1
  209. package/dist/inspector/assets/observations-BUPBgx6V.js +0 -1
  210. package/dist/inspector/assets/page_shell-D6MkYIq9.js +0 -1
  211. package/dist/inspector/assets/pagination-CRK2zZ5A.js +0 -1
  212. package/dist/inspector/assets/peer_detail-UOrmJwiA.js +0 -1
  213. package/dist/inspector/assets/peers-D2NFo46-.js +0 -1
  214. package/dist/inspector/assets/pin_primitive_button-BZ69erO4.js +0 -1
  215. package/dist/inspector/assets/query_refresh_indicator-DKC1GoKi.js +0 -1
  216. package/dist/inspector/assets/recent_activity-D0KUmHJS.js +0 -1
  217. package/dist/inspector/assets/recent_conversations--Z_aIJCk.js +0 -1
  218. package/dist/inspector/assets/recent_conversations-CAswLy6M.js +0 -1
  219. package/dist/inspector/assets/recent_records_feed-DuuyuJsg.js +0 -1
  220. package/dist/inspector/assets/record_activity-CTkV_H_X.js +0 -1
  221. package/dist/inspector/assets/relationship_detail-qmJQbwGY.js +0 -1
  222. package/dist/inspector/assets/relationship_panel_groups-e43Kdemt.js +0 -1
  223. package/dist/inspector/assets/relationships-CFs3OjfC.js +0 -1
  224. package/dist/inspector/assets/sandbox-BjTj_hQB.js +0 -1
  225. package/dist/inspector/assets/schema_detail-CT5ZSvKd.js +0 -1
  226. package/dist/inspector/assets/schemas-TGRdLTOx.js +0 -5
  227. package/dist/inspector/assets/search-CsuBd9XH.js +0 -1
  228. package/dist/inspector/assets/select-BbDWrJkS.js +0 -1
  229. package/dist/inspector/assets/settings-FIe7umOM.js +0 -1
  230. package/dist/inspector/assets/site_page-Cfc8rn3y.js +0 -1
  231. package/dist/inspector/assets/source_content-Dvp8_Hwr.js +0 -1
  232. package/dist/inspector/assets/source_content_open_button-F-UKNjcR.js +0 -1
  233. package/dist/inspector/assets/source_detail-CqK7ZqEB.js +0 -12
  234. package/dist/inspector/assets/sources-OEMKh04W.js +0 -4
  235. package/dist/inspector/assets/subscriptions-QCeImjtb.js +0 -1
  236. package/dist/inspector/assets/switch-PUyIT0vy.js +0 -1
  237. package/dist/inspector/assets/tabs-lHH0KCtY.js +0 -1
  238. package/dist/inspector/assets/timeline-D8IOTkCM.js +0 -1
  239. package/dist/inspector/assets/timeline-Y0ddX9vY.js +0 -1
  240. package/dist/inspector/assets/timeline_event_detail-95SVGtVI.js +0 -1
  241. package/dist/inspector/assets/turn_detail-WPsdYVhf.js +0 -1
  242. package/dist/inspector/assets/turns-Bf4tvAfT.js +0 -1
  243. package/dist/inspector/assets/use_agents-B6ystZbD.js +0 -1
  244. package/dist/inspector/assets/use_entities-C5894IaX.js +0 -1
  245. package/dist/inspector/assets/use_graph-BzTAlCFl.js +0 -1
  246. package/dist/inspector/assets/use_interpretations-EjpsDvcH.js +0 -1
  247. package/dist/inspector/assets/use_mutations-CP7Gko1Z.js +0 -1
  248. package/dist/inspector/assets/use_peers-Bq_Cmd4J.js +0 -1
  249. package/dist/inspector/assets/use_stats-DSEbyDC0.js +0 -1
  250. package/dist/inspector/assets/use_timeline-Bl4HOqZV.js +0 -1
  251. package/dist/inspector/assets/use_turns-Bq7rjQNk.js +0 -1
  252. package/dist/services/activation/stage_zero_five.d.ts +0 -62
  253. package/dist/services/activation/stage_zero_five.d.ts.map +0 -1
  254. package/dist/services/activation/stage_zero_five.js +0 -126
  255. package/dist/services/activation/stage_zero_five.js.map +0 -1
  256. package/dist/services/activation/user_preference.d.ts +0 -110
  257. package/dist/services/activation/user_preference.d.ts.map +0 -1
  258. package/dist/services/activation/user_preference.js +0 -98
  259. package/dist/services/activation/user_preference.js.map +0 -1
  260. package/dist/services/activation/vertical_detection.d.ts +0 -78
  261. package/dist/services/activation/vertical_detection.d.ts.map +0 -1
  262. package/dist/services/activation/vertical_detection.js +0 -219
  263. package/dist/services/activation/vertical_detection.js.map +0 -1
  264. package/dist/services/bundled_pages/html_shell.d.ts +0 -118
  265. package/dist/services/bundled_pages/html_shell.d.ts.map +0 -1
  266. package/dist/services/bundled_pages/html_shell.js +0 -242
  267. package/dist/services/bundled_pages/html_shell.js.map +0 -1
  268. package/dist/services/bundled_pages/tokens.d.ts +0 -496
  269. package/dist/services/bundled_pages/tokens.d.ts.map +0 -1
  270. package/dist/services/bundled_pages/tokens.js +0 -261
  271. package/dist/services/bundled_pages/tokens.js.map +0 -1
  272. package/dist/services/compliance/alerting.d.ts +0 -123
  273. package/dist/services/compliance/alerting.d.ts.map +0 -1
  274. package/dist/services/compliance/alerting.js +0 -169
  275. package/dist/services/compliance/alerting.js.map +0 -1
  276. package/dist/services/compliance/historical_backfill.d.ts +0 -74
  277. package/dist/services/compliance/historical_backfill.d.ts.map +0 -1
  278. package/dist/services/compliance/historical_backfill.js +0 -244
  279. package/dist/services/compliance/historical_backfill.js.map +0 -1
  280. package/dist/services/compliance/renderer.d.ts +0 -21
  281. package/dist/services/compliance/renderer.d.ts.map +0 -1
  282. package/dist/services/compliance/renderer.js +0 -208
  283. package/dist/services/compliance/renderer.js.map +0 -1
  284. package/dist/services/compliance/routes.d.ts +0 -55
  285. package/dist/services/compliance/routes.d.ts.map +0 -1
  286. package/dist/services/compliance/routes.js +0 -212
  287. package/dist/services/compliance/routes.js.map +0 -1
  288. package/dist/services/docs/site_page_frontmatter.d.ts +0 -58
  289. package/dist/services/docs/site_page_frontmatter.d.ts.map +0 -1
  290. package/dist/services/docs/site_page_frontmatter.js +0 -106
  291. package/dist/services/docs/site_page_frontmatter.js.map +0 -1
  292. package/dist/services/docs/site_page_index_builder.d.ts +0 -49
  293. package/dist/services/docs/site_page_index_builder.d.ts.map +0 -1
  294. package/dist/services/docs/site_page_index_builder.js +0 -152
  295. package/dist/services/docs/site_page_index_builder.js.map +0 -1
  296. package/dist/services/docs/site_pages_route.d.ts +0 -33
  297. package/dist/services/docs/site_pages_route.d.ts.map +0 -1
  298. package/dist/services/docs/site_pages_route.js +0 -124
  299. package/dist/services/docs/site_pages_route.js.map +0 -1
  300. package/dist/services/docs_bundle/frontmatter.d.ts +0 -26
  301. package/dist/services/docs_bundle/frontmatter.d.ts.map +0 -1
  302. package/dist/services/docs_bundle/frontmatter.js +0 -50
  303. package/dist/services/docs_bundle/frontmatter.js.map +0 -1
  304. package/dist/services/docs_bundle/loader.d.ts +0 -28
  305. package/dist/services/docs_bundle/loader.d.ts.map +0 -1
  306. package/dist/services/docs_bundle/loader.js +0 -91
  307. package/dist/services/docs_bundle/loader.js.map +0 -1
  308. package/dist/services/docs_bundle/render_html.d.ts +0 -15
  309. package/dist/services/docs_bundle/render_html.d.ts.map +0 -1
  310. package/dist/services/docs_bundle/render_html.js +0 -48
  311. package/dist/services/docs_bundle/render_html.js.map +0 -1
  312. package/dist/services/docs_bundle/types.d.ts +0 -73
  313. package/dist/services/docs_bundle/types.d.ts.map +0 -1
  314. package/dist/services/docs_bundle/types.js +0 -50
  315. package/dist/services/docs_bundle/types.js.map +0 -1
  316. package/dist/services/docs_install/loader.d.ts +0 -25
  317. package/dist/services/docs_install/loader.d.ts.map +0 -1
  318. package/dist/services/docs_install/loader.js +0 -63
  319. package/dist/services/docs_install/loader.js.map +0 -1
  320. package/dist/services/docs_install/renderer.d.ts +0 -40
  321. package/dist/services/docs_install/renderer.d.ts.map +0 -1
  322. package/dist/services/docs_install/renderer.js +0 -323
  323. package/dist/services/docs_install/renderer.js.map +0 -1
  324. package/dist/services/docs_install/routes.d.ts +0 -20
  325. package/dist/services/docs_install/routes.d.ts.map +0 -1
  326. package/dist/services/docs_install/routes.js +0 -117
  327. package/dist/services/docs_install/routes.js.map +0 -1
  328. package/dist/services/entity_submission/seed_product_feedback_schema.d.ts +0 -11
  329. package/dist/services/entity_submission/seed_product_feedback_schema.d.ts.map +0 -1
  330. package/dist/services/entity_submission/seed_product_feedback_schema.js +0 -45
  331. package/dist/services/entity_submission/seed_product_feedback_schema.js.map +0 -1
  332. package/dist/services/feedback/activation.d.ts +0 -20
  333. package/dist/services/feedback/activation.d.ts.map +0 -1
  334. package/dist/services/feedback/activation.js +0 -66
  335. package/dist/services/feedback/activation.js.map +0 -1
  336. package/dist/services/feedback/admin_proxy.d.ts +0 -92
  337. package/dist/services/feedback/admin_proxy.d.ts.map +0 -1
  338. package/dist/services/feedback/admin_proxy.js +0 -413
  339. package/dist/services/feedback/admin_proxy.js.map +0 -1
  340. package/dist/services/feedback/admin_session.d.ts +0 -36
  341. package/dist/services/feedback/admin_session.d.ts.map +0 -1
  342. package/dist/services/feedback/admin_session.js +0 -147
  343. package/dist/services/feedback/admin_session.js.map +0 -1
  344. package/dist/services/feedback/local_store.d.ts +0 -72
  345. package/dist/services/feedback/local_store.d.ts.map +0 -1
  346. package/dist/services/feedback/local_store.js +0 -95
  347. package/dist/services/feedback/local_store.js.map +0 -1
  348. package/dist/services/feedback/mirror_local_to_entity.d.ts +0 -42
  349. package/dist/services/feedback/mirror_local_to_entity.d.ts.map +0 -1
  350. package/dist/services/feedback/mirror_local_to_entity.js +0 -71
  351. package/dist/services/feedback/mirror_local_to_entity.js.map +0 -1
  352. package/dist/services/feedback/neotoma_payload.d.ts +0 -108
  353. package/dist/services/feedback/neotoma_payload.d.ts.map +0 -1
  354. package/dist/services/feedback/neotoma_payload.js +0 -169
  355. package/dist/services/feedback/neotoma_payload.js.map +0 -1
  356. package/dist/services/feedback/next_check.d.ts +0 -4
  357. package/dist/services/feedback/next_check.d.ts.map +0 -1
  358. package/dist/services/feedback/next_check.js +0 -22
  359. package/dist/services/feedback/next_check.js.map +0 -1
  360. package/dist/services/feedback/seed_schema.d.ts +0 -52
  361. package/dist/services/feedback/seed_schema.d.ts.map +0 -1
  362. package/dist/services/feedback/seed_schema.js +0 -160
  363. package/dist/services/feedback/seed_schema.js.map +0 -1
  364. package/dist/services/feedback/types.d.ts +0 -134
  365. package/dist/services/feedback/types.d.ts.map +0 -1
  366. package/dist/services/feedback/types.js +0 -23
  367. package/dist/services/feedback/types.js.map +0 -1
  368. package/dist/services/feedback/upgrade_guidance_map.d.ts +0 -24
  369. package/dist/services/feedback/upgrade_guidance_map.d.ts.map +0 -1
  370. package/dist/services/feedback/upgrade_guidance_map.js +0 -39
  371. package/dist/services/feedback/upgrade_guidance_map.js.map +0 -1
  372. package/dist/services/feedback/verification_request.d.ts +0 -14
  373. package/dist/services/feedback/verification_request.d.ts.map +0 -1
  374. package/dist/services/feedback/verification_request.js +0 -33
  375. package/dist/services/feedback/verification_request.js.map +0 -1
  376. package/dist/services/feedback_transport.d.ts +0 -15
  377. package/dist/services/feedback_transport.d.ts.map +0 -1
  378. package/dist/services/feedback_transport.js +0 -31
  379. package/dist/services/feedback_transport.js.map +0 -1
  380. package/dist/services/feedback_transport_http.d.ts +0 -14
  381. package/dist/services/feedback_transport_http.d.ts.map +0 -1
  382. package/dist/services/feedback_transport_http.js +0 -40
  383. package/dist/services/feedback_transport_http.js.map +0 -1
  384. package/dist/services/feedback_transport_local.d.ts +0 -20
  385. package/dist/services/feedback_transport_local.d.ts.map +0 -1
  386. package/dist/services/feedback_transport_local.js +0 -152
  387. package/dist/services/feedback_transport_local.js.map +0 -1
  388. package/dist/services/issues/syncIssuesFromGitHub.d.ts +0 -35
  389. package/dist/services/issues/syncIssuesFromGitHub.d.ts.map +0 -1
  390. package/dist/services/issues/syncIssuesFromGitHub.js +0 -193
  391. package/dist/services/issues/syncIssuesFromGitHub.js.map +0 -1
  392. package/dist/services/oauth_pages/render.d.ts +0 -25
  393. package/dist/services/oauth_pages/render.d.ts.map +0 -1
  394. package/dist/services/oauth_pages/render.js +0 -235
  395. package/dist/services/oauth_pages/render.js.map +0 -1
  396. package/dist/services/root_landing/auth_overview.d.ts +0 -60
  397. package/dist/services/root_landing/auth_overview.d.ts.map +0 -1
  398. package/dist/services/root_landing/auth_overview.js +0 -86
  399. package/dist/services/root_landing/auth_overview.js.map +0 -1
  400. package/dist/services/root_landing/cli_overview.d.ts +0 -34
  401. package/dist/services/root_landing/cli_overview.d.ts.map +0 -1
  402. package/dist/services/root_landing/cli_overview.js +0 -123
  403. package/dist/services/root_landing/cli_overview.js.map +0 -1
  404. package/dist/services/root_landing/http_api_overview.d.ts +0 -34
  405. package/dist/services/root_landing/http_api_overview.d.ts.map +0 -1
  406. package/dist/services/root_landing/http_api_overview.js +0 -110
  407. package/dist/services/root_landing/http_api_overview.js.map +0 -1
  408. package/dist/services/root_landing/mcp_overview.d.ts +0 -34
  409. package/dist/services/root_landing/mcp_overview.d.ts.map +0 -1
  410. package/dist/services/root_landing/mcp_overview.js +0 -133
  411. package/dist/services/root_landing/mcp_overview.js.map +0 -1
  412. package/dist/services/sandbox/inspector_redirect.d.ts +0 -41
  413. package/dist/services/sandbox/inspector_redirect.d.ts.map +0 -1
  414. package/dist/services/sandbox/inspector_redirect.js +0 -59
  415. package/dist/services/sandbox/inspector_redirect.js.map +0 -1
  416. package/dist/services/verticals/baseline_metadata.d.ts +0 -39
  417. package/dist/services/verticals/baseline_metadata.d.ts.map +0 -1
  418. package/dist/services/verticals/baseline_metadata.js +0 -394
  419. package/dist/services/verticals/baseline_metadata.js.map +0 -1
  420. package/dist/services/verticals/entity_type_registry.d.ts +0 -29
  421. package/dist/services/verticals/entity_type_registry.d.ts.map +0 -1
  422. package/dist/services/verticals/entity_type_registry.js +0 -169
  423. package/dist/services/verticals/entity_type_registry.js.map +0 -1
  424. package/dist/services/verticals/install.d.ts +0 -64
  425. package/dist/services/verticals/install.d.ts.map +0 -1
  426. package/dist/services/verticals/install.js +0 -262
  427. package/dist/services/verticals/install.js.map +0 -1
  428. package/dist/services/verticals/registry.d.ts +0 -131
  429. package/dist/services/verticals/registry.d.ts.map +0 -1
  430. package/dist/services/verticals/registry.js +0 -457
  431. package/dist/services/verticals/registry.js.map +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
  }
@@ -6392,9 +6446,10 @@ app.post("/retrieve_graph_neighborhood", async (req, res) => {
6392
6446
  const sourceIds = result.observations?.map((o) => o.source_id).filter(Boolean) || [];
6393
6447
  if (sourceIds.length > 0) {
6394
6448
  const { data: sources, error: srcError } = await db
6395
- .from("source")
6449
+ .from("sources")
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
  }
@@ -6404,9 +6459,10 @@ app.post("/retrieve_graph_neighborhood", async (req, res) => {
6404
6459
  else if (node_type === "source") {
6405
6460
  // Get source
6406
6461
  const { data: source, error: srcError } = await db
6407
- .from("source")
6462
+ .from("sources")
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
  }