neotoma 0.11.0 → 0.12.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 (565) hide show
  1. package/README.md +29 -6
  2. package/dist/actions.d.ts +43 -10
  3. package/dist/actions.d.ts.map +1 -1
  4. package/dist/actions.js +1575 -134
  5. package/dist/actions.js.map +1 -1
  6. package/dist/cli/aauth_signer.d.ts +11 -1
  7. package/dist/cli/aauth_signer.d.ts.map +1 -1
  8. package/dist/cli/aauth_signer.js +9 -5
  9. package/dist/cli/aauth_signer.js.map +1 -1
  10. package/dist/cli/access.d.ts +28 -0
  11. package/dist/cli/access.d.ts.map +1 -0
  12. package/dist/cli/access.js +149 -0
  13. package/dist/cli/access.js.map +1 -0
  14. package/dist/cli/commands/processes.d.ts +91 -0
  15. package/dist/cli/commands/processes.d.ts.map +1 -1
  16. package/dist/cli/commands/processes.js +766 -8
  17. package/dist/cli/commands/processes.js.map +1 -1
  18. package/dist/cli/config.d.ts +8 -7
  19. package/dist/cli/config.d.ts.map +1 -1
  20. package/dist/cli/config.js +33 -23
  21. package/dist/cli/config.js.map +1 -1
  22. package/dist/cli/doctor.d.ts +16 -0
  23. package/dist/cli/doctor.d.ts.map +1 -1
  24. package/dist/cli/doctor.js +66 -0
  25. package/dist/cli/doctor.js.map +1 -1
  26. package/dist/cli/index.d.ts.map +1 -1
  27. package/dist/cli/index.js +829 -130
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cli/issues.d.ts +81 -0
  30. package/dist/cli/issues.d.ts.map +1 -0
  31. package/dist/cli/issues.js +315 -0
  32. package/dist/cli/issues.js.map +1 -0
  33. package/dist/cli/mcp_config_scan.d.ts.map +1 -1
  34. package/dist/cli/mcp_config_scan.js +80 -28
  35. package/dist/cli/mcp_config_scan.js.map +1 -1
  36. package/dist/cli/parse_cli_corrected_value.d.ts +10 -0
  37. package/dist/cli/parse_cli_corrected_value.d.ts.map +1 -0
  38. package/dist/cli/parse_cli_corrected_value.js +20 -0
  39. package/dist/cli/parse_cli_corrected_value.js.map +1 -0
  40. package/dist/cli/peers.d.ts +12 -0
  41. package/dist/cli/peers.d.ts.map +1 -0
  42. package/dist/cli/peers.js +103 -0
  43. package/dist/cli/peers.js.map +1 -0
  44. package/dist/cli/plans.d.ts +34 -0
  45. package/dist/cli/plans.d.ts.map +1 -0
  46. package/dist/cli/plans.js +211 -0
  47. package/dist/cli/plans.js.map +1 -0
  48. package/dist/cli/setup.d.ts +4 -0
  49. package/dist/cli/setup.d.ts.map +1 -1
  50. package/dist/cli/setup.js +104 -1
  51. package/dist/cli/setup.js.map +1 -1
  52. package/dist/core/operations.d.ts +7 -4
  53. package/dist/core/operations.d.ts.map +1 -1
  54. package/dist/core/operations.js.map +1 -1
  55. package/dist/crypto/agent_identity.d.ts +47 -1
  56. package/dist/crypto/agent_identity.d.ts.map +1 -1
  57. package/dist/crypto/agent_identity.js +30 -22
  58. package/dist/crypto/agent_identity.js.map +1 -1
  59. package/dist/events/substrate_event_bus.d.ts +16 -0
  60. package/dist/events/substrate_event_bus.d.ts.map +1 -0
  61. package/dist/events/substrate_event_bus.js +66 -0
  62. package/dist/events/substrate_event_bus.js.map +1 -0
  63. package/dist/events/substrate_store_emit.d.ts +50 -0
  64. package/dist/events/substrate_store_emit.d.ts.map +1 -0
  65. package/dist/events/substrate_store_emit.js +97 -0
  66. package/dist/events/substrate_store_emit.js.map +1 -0
  67. package/dist/events/types.d.ts +27 -0
  68. package/dist/events/types.d.ts.map +1 -0
  69. package/dist/events/types.js +6 -0
  70. package/dist/events/types.js.map +1 -0
  71. package/dist/inspector/assets/{Combination-C22tNG3c.js → Combination-CWE36OaG.js} +2 -2
  72. package/dist/inspector/assets/access_policies-C0NUj2k7.js +1 -0
  73. package/dist/inspector/assets/agent_badge-BK1I1p0Y.js +1 -0
  74. package/dist/inspector/assets/agent_detail-0ShxgHJ-.js +1 -0
  75. package/dist/inspector/assets/{agent_filter-L0NhixFq.js → agent_filter-D-DvcUc6.js} +1 -1
  76. package/dist/inspector/assets/{agent_grant_detail-DOfwRmj4.js → agent_grant_detail-WqB6Mirt.js} +1 -1
  77. package/dist/inspector/assets/{agent_grant_form-D-_IJrLI.js → agent_grant_form-AYlygtSS.js} +1 -1
  78. package/dist/inspector/assets/agent_grant_key-BDL9K-EB.js +1 -0
  79. package/dist/inspector/assets/{agent_grants-BkUTzkwq.js → agent_grants-CL1MsMHP.js} +1 -1
  80. package/dist/inspector/assets/agents-CfVqSOKc.js +1 -0
  81. package/dist/inspector/assets/{arrow-left-C5PI116n.js → arrow-left-Bkkwffol.js} +1 -1
  82. package/dist/inspector/assets/{attribution_card-BKw4xb01.js → attribution_card-U8Gj1fzl.js} +1 -1
  83. package/dist/inspector/assets/attribution_summary-C7pil57S.js +1 -0
  84. package/dist/inspector/assets/{card-BKx8ifPf.js → card-8mWS17xO.js} +1 -1
  85. package/dist/inspector/assets/{check-D7bS4rbb.js → check-UQiOQX6l.js} +2 -2
  86. package/dist/inspector/assets/{chevron-down-DWeHLqJP.js → chevron-down-Cwnn13tA.js} +2 -2
  87. package/dist/inspector/assets/{chevron-right-D-MVwNt0.js → chevron-right-OBNNJRlk.js} +2 -2
  88. package/dist/inspector/assets/{compliance-DIVlTxir.js → compliance-Cf4pJc0G.js} +1 -1
  89. package/dist/inspector/assets/{confirm-dialog-DZ91UiLx.js → confirm-dialog-CP3QjXBA.js} +1 -1
  90. package/dist/inspector/assets/{conversation_common-B9QrB_mG.js → conversation_common-DulV4301.js} +1 -1
  91. package/dist/inspector/assets/{conversation_detail-BX-DgWqj.js → conversation_detail-C6WO7sFE.js} +1 -1
  92. package/dist/inspector/assets/{copy_id_button-DbNXOvuH.js → copy_id_button-DgRE8sKM.js} +2 -2
  93. package/dist/inspector/assets/{dashboard-D7o1n0lS.js → dashboard-BOrf-uF9.js} +35 -40
  94. package/dist/inspector/assets/{data-table-DFBYvAjA.js → data-table-CM3otcW4.js} +1 -1
  95. package/dist/inspector/assets/{dialog-DE3AWlG_.js → dialog-CHX6P_Q4.js} +3 -3
  96. package/dist/inspector/assets/{dropdown-menu-BVwBx2B7.js → dropdown-menu-Pk7OK_TK.js} +2 -2
  97. package/dist/inspector/assets/entities-DvBl3Rc4.js +1 -0
  98. package/dist/inspector/assets/entity_detail-CKcqBbmb.js +17 -0
  99. package/dist/inspector/assets/{entity_link-JLwqX81Y.js → entity_link-2FzcrZXu.js} +1 -1
  100. package/dist/inspector/assets/{graph_explorer-O8YY1xwo.js → graph_explorer-hVOkv3ns.js} +1 -1
  101. package/dist/inspector/assets/{index-Bb004UmS.js → index-B8bd5h08.js} +1 -1
  102. package/dist/inspector/assets/{index-BKbdoU0r.js → index-CFKeEgTw.js} +1 -1
  103. package/dist/inspector/assets/index-D0LxUfI0.js +234 -0
  104. package/dist/inspector/assets/index-DFtogOdh.css +1 -0
  105. package/dist/inspector/assets/{index-CisbTUN-.js → index-W8fE0H68.js} +1 -1
  106. package/dist/inspector/assets/index-mNRsajz7.js +29 -0
  107. package/dist/inspector/assets/{interpretations-Bz1Jx0gm.js → interpretations-BXWRggTg.js} +1 -1
  108. package/dist/inspector/assets/interpretations-wESUmBbC.js +1 -0
  109. package/dist/inspector/assets/issue_author_attribution-COZz2SO7.js +1 -0
  110. package/dist/inspector/assets/issue_detail-Dosxl2ZB.js +1 -0
  111. package/dist/inspector/assets/issues-CJH5i4Ui.js +1 -0
  112. package/dist/inspector/assets/{json_viewer-1-geEBU4.js → json_viewer-Bv9e1meU.js} +1 -1
  113. package/dist/inspector/assets/{label-DK8No7os.js → label-XtOMSTEX.js} +1 -1
  114. package/dist/inspector/assets/{live_relative_time-Ca29xr4q.js → live_relative_time-CPUUy033.js} +1 -1
  115. package/dist/inspector/assets/observations-B3PNmJ1W.js +1 -0
  116. package/dist/inspector/assets/{page_shell-Z_K8-xVN.js → page_shell-Q45epZtS.js} +1 -1
  117. package/dist/inspector/assets/{pagination-55slcMsJ.js → pagination-CPPWbmxr.js} +1 -1
  118. package/dist/inspector/assets/peer_detail-JsSck7eV.js +1 -0
  119. package/dist/inspector/assets/peers-C-6WnypT.js +1 -0
  120. package/dist/inspector/assets/{plus-Df5osCTJ.js → plus-DrozRoBC.js} +2 -2
  121. package/dist/inspector/assets/{query_refresh_indicator-B2ayQ-9R.js → query_refresh_indicator-COVQMC4F.js} +1 -1
  122. package/dist/inspector/assets/recent_activity-Da58g5nY.js +11 -0
  123. package/dist/inspector/assets/recent_conversations-Ikvy4TT8.js +1 -0
  124. package/dist/inspector/assets/{recent_conversations-B-iJ9x-v.js → recent_conversations-wsVdXoNz.js} +1 -1
  125. package/dist/inspector/assets/{recent_records_feed-Bm8kGd63.js → recent_records_feed-BxDDmYBa.js} +1 -1
  126. package/dist/inspector/assets/{relationship_detail-BMhsfgCR.js → relationship_detail-CrEIkUlK.js} +1 -1
  127. package/dist/inspector/assets/{relationships-BphnuyTR.js → relationships-BA-ik9qj.js} +1 -1
  128. package/dist/inspector/assets/relationships-CMx-mA9E.js +1 -0
  129. package/dist/inspector/assets/{sandbox-BWLbx8xY.js → sandbox-DfMUhjTc.js} +1 -1
  130. package/dist/inspector/assets/schema_detail-ppTE_FYo.js +11 -0
  131. package/dist/inspector/assets/schemas-CqTsduHw.js +5 -0
  132. package/dist/inspector/assets/{search-BpeIvjlx.js → search-BR4OzWlV.js} +1 -1
  133. package/dist/inspector/assets/{select-vjNrYLub.js → select-YC0YTAjR.js} +2 -2
  134. package/dist/inspector/assets/settings-BTGwnfnP.js +1 -0
  135. package/dist/inspector/assets/{source_detail-DAAnuO9d.js → source_detail-sGwoTRjv.js} +14 -9
  136. package/dist/inspector/assets/{source_link-B3bG6OoM.js → source_link-RIBRt-54.js} +1 -1
  137. package/dist/inspector/assets/{sources-CqJaDvnU.js → sources-D7KhN9NX.js} +2 -2
  138. package/dist/inspector/assets/subscriptions-Byi6K_Pa.js +1 -0
  139. package/dist/inspector/assets/{switch-N1yvDIln.js → switch-CEodYP0G.js} +1 -1
  140. package/dist/inspector/assets/tabs-CjLkMKNX.js +1 -0
  141. package/dist/inspector/assets/{textarea-DwpRHIdg.js → textarea-6a9vb7Wt.js} +1 -1
  142. package/dist/inspector/assets/{timeline-DGZTAraG.js → timeline-BpVGm24-.js} +1 -1
  143. package/dist/inspector/assets/{timeline-DgfkLScO.js → timeline-CuB1BX9Z.js} +1 -1
  144. package/dist/inspector/assets/timeline_event_detail-Cxp7wp7Q.js +1 -0
  145. package/dist/inspector/assets/{trash-2-aTmwwD61.js → trash-2-3LYK1e2d.js} +2 -2
  146. package/dist/inspector/assets/{turn_detail-DJi1gGc5.js → turn_detail-B8kxK4LI.js} +1 -1
  147. package/dist/inspector/assets/turns-C77yYBOL.js +1 -0
  148. package/dist/inspector/assets/use_agents-wI3Cl_q9.js +1 -0
  149. package/dist/inspector/assets/use_entities-2-LZGFHi.js +1 -0
  150. package/dist/inspector/assets/use_interpretations-Ct2OZSEr.js +1 -0
  151. package/dist/inspector/assets/use_mutations-Cb8RZDPu.js +1 -0
  152. package/dist/inspector/assets/use_peers-DAkBoEAW.js +1 -0
  153. package/dist/inspector/assets/use_recent_conversations-DAFDvoDS.js +1 -0
  154. package/dist/inspector/assets/{use_relationships-Ct8x9Wl7.js → use_relationships-BwB3cBRh.js} +1 -1
  155. package/dist/inspector/assets/{use_schemas-DI772015.js → use_schemas-BmVCn54T.js} +1 -1
  156. package/dist/inspector/assets/use_sources-GtHvaSAR.js +1 -0
  157. package/dist/inspector/assets/{use_stats--S9rYQbr.js → use_stats-Sr6sDKdR.js} +1 -1
  158. package/dist/inspector/assets/{use_timeline-XjpDP_2Y.js → use_timeline-0HGYqZAg.js} +1 -1
  159. package/dist/inspector/assets/{use_turns-DnqJYe1l.js → use_turns-002Jnex8.js} +1 -1
  160. package/dist/inspector/index.html +2 -2
  161. package/dist/middleware/aauth_verify.d.ts +22 -0
  162. package/dist/middleware/aauth_verify.d.ts.map +1 -1
  163. package/dist/middleware/aauth_verify.js +16 -15
  164. package/dist/middleware/aauth_verify.js.map +1 -1
  165. package/dist/middleware/attribution_context.d.ts +0 -13
  166. package/dist/middleware/attribution_context.d.ts.map +1 -1
  167. package/dist/middleware/attribution_context.js +23 -0
  168. package/dist/middleware/attribution_context.js.map +1 -1
  169. package/dist/openclaw_entry.d.ts +52 -0
  170. package/dist/openclaw_entry.d.ts.map +1 -1
  171. package/dist/openclaw_entry.js +393 -0
  172. package/dist/openclaw_entry.js.map +1 -1
  173. package/dist/proxy/mcp_stdio_proxy.d.ts +3 -0
  174. package/dist/proxy/mcp_stdio_proxy.d.ts.map +1 -1
  175. package/dist/proxy/mcp_stdio_proxy.js +92 -40
  176. package/dist/proxy/mcp_stdio_proxy.js.map +1 -1
  177. package/dist/release_notes_enrichment.d.ts +36 -0
  178. package/dist/release_notes_enrichment.d.ts.map +1 -0
  179. package/dist/release_notes_enrichment.js +149 -0
  180. package/dist/release_notes_enrichment.js.map +1 -0
  181. package/dist/repositories/sqlite/local_db_adapter.d.ts +2 -0
  182. package/dist/repositories/sqlite/local_db_adapter.d.ts.map +1 -1
  183. package/dist/repositories/sqlite/local_db_adapter.js +13 -3
  184. package/dist/repositories/sqlite/local_db_adapter.js.map +1 -1
  185. package/dist/repositories/sqlite/sqlite_client.d.ts.map +1 -1
  186. package/dist/repositories/sqlite/sqlite_client.js +4 -0
  187. package/dist/repositories/sqlite/sqlite_client.js.map +1 -1
  188. package/dist/semver_compat.d.ts +19 -0
  189. package/dist/semver_compat.d.ts.map +1 -0
  190. package/dist/semver_compat.js +54 -0
  191. package/dist/semver_compat.js.map +1 -0
  192. package/dist/server.d.ts +20 -3
  193. package/dist/server.d.ts.map +1 -1
  194. package/dist/server.js +521 -100
  195. package/dist/server.js.map +1 -1
  196. package/dist/services/access_policy.d.ts +128 -0
  197. package/dist/services/access_policy.d.ts.map +1 -0
  198. package/dist/services/access_policy.js +326 -0
  199. package/dist/services/access_policy.js.map +1 -0
  200. package/dist/services/agent_grants.d.ts +6 -0
  201. package/dist/services/agent_grants.d.ts.map +1 -1
  202. package/dist/services/agent_grants.js.map +1 -1
  203. package/dist/services/agents_directory.d.ts +8 -1
  204. package/dist/services/agents_directory.d.ts.map +1 -1
  205. package/dist/services/agents_directory.js +26 -5
  206. package/dist/services/agents_directory.js.map +1 -1
  207. package/dist/services/correction.d.ts +1 -0
  208. package/dist/services/correction.d.ts.map +1 -1
  209. package/dist/services/correction.js +26 -1
  210. package/dist/services/correction.js.map +1 -1
  211. package/dist/services/deletion.d.ts.map +1 -1
  212. package/dist/services/deletion.js +37 -0
  213. package/dist/services/deletion.js.map +1 -1
  214. package/dist/services/entity_merge.d.ts.map +1 -1
  215. package/dist/services/entity_merge.js +19 -2
  216. package/dist/services/entity_merge.js.map +1 -1
  217. package/dist/services/entity_queries.d.ts +1 -1
  218. package/dist/services/entity_queries.d.ts.map +1 -1
  219. package/dist/services/entity_queries.js +4 -0
  220. package/dist/services/entity_queries.js.map +1 -1
  221. package/dist/services/entity_resolution.d.ts +11 -3
  222. package/dist/services/entity_resolution.d.ts.map +1 -1
  223. package/dist/services/entity_resolution.js +121 -76
  224. package/dist/services/entity_resolution.js.map +1 -1
  225. package/dist/services/entity_split.d.ts.map +1 -1
  226. package/dist/services/entity_split.js +18 -0
  227. package/dist/services/entity_split.js.map +1 -1
  228. package/dist/services/entity_submission/ingest/github_handler.d.ts +20 -0
  229. package/dist/services/entity_submission/ingest/github_handler.d.ts.map +1 -0
  230. package/dist/services/entity_submission/ingest/github_handler.js +156 -0
  231. package/dist/services/entity_submission/ingest/github_handler.js.map +1 -0
  232. package/dist/services/entity_submission/ingest/webhook_ingest.d.ts +18 -0
  233. package/dist/services/entity_submission/ingest/webhook_ingest.d.ts.map +1 -0
  234. package/dist/services/entity_submission/ingest/webhook_ingest.js +2 -0
  235. package/dist/services/entity_submission/ingest/webhook_ingest.js.map +1 -0
  236. package/dist/services/entity_submission/mirrors/github_mirror.d.ts +7 -0
  237. package/dist/services/entity_submission/mirrors/github_mirror.d.ts.map +1 -0
  238. package/dist/services/entity_submission/mirrors/github_mirror.js +7 -0
  239. package/dist/services/entity_submission/mirrors/github_mirror.js.map +1 -0
  240. package/dist/services/entity_submission/mirrors/mirror_interface.d.ts +11 -0
  241. package/dist/services/entity_submission/mirrors/mirror_interface.d.ts.map +1 -0
  242. package/dist/services/entity_submission/mirrors/mirror_interface.js +7 -0
  243. package/dist/services/entity_submission/mirrors/mirror_interface.js.map +1 -0
  244. package/dist/services/entity_submission/mirrors/webhook_mirror.d.ts +9 -0
  245. package/dist/services/entity_submission/mirrors/webhook_mirror.d.ts.map +1 -0
  246. package/dist/services/entity_submission/mirrors/webhook_mirror.js +36 -0
  247. package/dist/services/entity_submission/mirrors/webhook_mirror.js.map +1 -0
  248. package/dist/services/entity_submission/seed_product_feedback_schema.d.ts +11 -0
  249. package/dist/services/entity_submission/seed_product_feedback_schema.d.ts.map +1 -0
  250. package/dist/services/entity_submission/seed_product_feedback_schema.js +45 -0
  251. package/dist/services/entity_submission/seed_product_feedback_schema.js.map +1 -0
  252. package/dist/services/entity_submission/seed_schema.d.ts +9 -0
  253. package/dist/services/entity_submission/seed_schema.d.ts.map +1 -0
  254. package/dist/services/entity_submission/seed_schema.js +92 -0
  255. package/dist/services/entity_submission/seed_schema.js.map +1 -0
  256. package/dist/services/entity_submission/seed_submission_defaults.d.ts +6 -0
  257. package/dist/services/entity_submission/seed_submission_defaults.d.ts.map +1 -0
  258. package/dist/services/entity_submission/seed_submission_defaults.js +15 -0
  259. package/dist/services/entity_submission/seed_submission_defaults.js.map +1 -0
  260. package/dist/services/entity_submission/submission_config_loader.d.ts +6 -0
  261. package/dist/services/entity_submission/submission_config_loader.d.ts.map +1 -0
  262. package/dist/services/entity_submission/submission_config_loader.js +69 -0
  263. package/dist/services/entity_submission/submission_config_loader.js.map +1 -0
  264. package/dist/services/entity_submission/submission_service.d.ts +31 -0
  265. package/dist/services/entity_submission/submission_service.d.ts.map +1 -0
  266. package/dist/services/entity_submission/submission_service.js +180 -0
  267. package/dist/services/entity_submission/submission_service.js.map +1 -0
  268. package/dist/services/entity_submission/types.d.ts +31 -0
  269. package/dist/services/entity_submission/types.d.ts.map +1 -0
  270. package/dist/services/entity_submission/types.js +2 -0
  271. package/dist/services/entity_submission/types.js.map +1 -0
  272. package/dist/services/external_actor_promoter.d.ts +23 -0
  273. package/dist/services/external_actor_promoter.d.ts.map +1 -0
  274. package/dist/services/external_actor_promoter.js +45 -0
  275. package/dist/services/external_actor_promoter.js.map +1 -0
  276. package/dist/services/feedback/redaction.d.ts +26 -5
  277. package/dist/services/feedback/redaction.d.ts.map +1 -1
  278. package/dist/services/feedback/redaction.js +81 -13
  279. package/dist/services/feedback/redaction.js.map +1 -1
  280. package/dist/services/file_text_extraction.d.ts +1 -0
  281. package/dist/services/file_text_extraction.d.ts.map +1 -1
  282. package/dist/services/file_text_extraction.js +41 -0
  283. package/dist/services/file_text_extraction.js.map +1 -1
  284. package/dist/services/github_link.d.ts +31 -0
  285. package/dist/services/github_link.d.ts.map +1 -0
  286. package/dist/services/github_link.js +58 -0
  287. package/dist/services/github_link.js.map +1 -0
  288. package/dist/services/github_webhook.d.ts +6 -0
  289. package/dist/services/github_webhook.d.ts.map +1 -0
  290. package/dist/services/github_webhook.js +6 -0
  291. package/dist/services/github_webhook.js.map +1 -0
  292. package/dist/services/guest_access_token.d.ts +39 -0
  293. package/dist/services/guest_access_token.d.ts.map +1 -0
  294. package/dist/services/guest_access_token.js +135 -0
  295. package/dist/services/guest_access_token.js.map +1 -0
  296. package/dist/services/inspector_mount.d.ts +21 -0
  297. package/dist/services/inspector_mount.d.ts.map +1 -1
  298. package/dist/services/inspector_mount.js +108 -21
  299. package/dist/services/inspector_mount.js.map +1 -1
  300. package/dist/services/interpretation.d.ts.map +1 -1
  301. package/dist/services/interpretation.js +37 -0
  302. package/dist/services/interpretation.js.map +1 -1
  303. package/dist/services/issues/attribution_backfill.d.ts +21 -0
  304. package/dist/services/issues/attribution_backfill.d.ts.map +1 -0
  305. package/dist/services/issues/attribution_backfill.js +111 -0
  306. package/dist/services/issues/attribution_backfill.js.map +1 -0
  307. package/dist/services/issues/config.d.ts +20 -0
  308. package/dist/services/issues/config.d.ts.map +1 -0
  309. package/dist/services/issues/config.js +102 -0
  310. package/dist/services/issues/config.js.map +1 -0
  311. package/dist/services/issues/errors.d.ts +57 -0
  312. package/dist/services/issues/errors.d.ts.map +1 -0
  313. package/dist/services/issues/errors.js +68 -0
  314. package/dist/services/issues/errors.js.map +1 -0
  315. package/dist/services/issues/external_actor_builder.d.ts +41 -0
  316. package/dist/services/issues/external_actor_builder.d.ts.map +1 -0
  317. package/dist/services/issues/external_actor_builder.js +73 -0
  318. package/dist/services/issues/external_actor_builder.js.map +1 -0
  319. package/dist/services/issues/gh_auth.d.ts +41 -0
  320. package/dist/services/issues/gh_auth.d.ts.map +1 -0
  321. package/dist/services/issues/gh_auth.js +98 -0
  322. package/dist/services/issues/gh_auth.js.map +1 -0
  323. package/dist/services/issues/github_client.d.ts +68 -0
  324. package/dist/services/issues/github_client.d.ts.map +1 -0
  325. package/dist/services/issues/github_client.js +133 -0
  326. package/dist/services/issues/github_client.js.map +1 -0
  327. package/dist/services/issues/github_issue_thread.d.ts +14 -0
  328. package/dist/services/issues/github_issue_thread.d.ts.map +1 -0
  329. package/dist/services/issues/github_issue_thread.js +26 -0
  330. package/dist/services/issues/github_issue_thread.js.map +1 -0
  331. package/dist/services/issues/github_thread_keys.d.ts +7 -0
  332. package/dist/services/issues/github_thread_keys.d.ts.map +1 -0
  333. package/dist/services/issues/github_thread_keys.js +34 -0
  334. package/dist/services/issues/github_thread_keys.js.map +1 -0
  335. package/dist/services/issues/index.d.ts +10 -0
  336. package/dist/services/issues/index.d.ts.map +1 -0
  337. package/dist/services/issues/index.js +9 -0
  338. package/dist/services/issues/index.js.map +1 -0
  339. package/dist/services/issues/inspector_bulk.d.ts +23 -0
  340. package/dist/services/issues/inspector_bulk.d.ts.map +1 -0
  341. package/dist/services/issues/inspector_bulk.js +171 -0
  342. package/dist/services/issues/inspector_bulk.js.map +1 -0
  343. package/dist/services/issues/issue_operations.d.ts +134 -0
  344. package/dist/services/issues/issue_operations.d.ts.map +1 -0
  345. package/dist/services/issues/issue_operations.js +903 -0
  346. package/dist/services/issues/issue_operations.js.map +1 -0
  347. package/dist/services/issues/neotoma_client.d.ts +71 -0
  348. package/dist/services/issues/neotoma_client.d.ts.map +1 -0
  349. package/dist/services/issues/neotoma_client.js +279 -0
  350. package/dist/services/issues/neotoma_client.js.map +1 -0
  351. package/dist/services/issues/redaction_guard.d.ts +65 -0
  352. package/dist/services/issues/redaction_guard.d.ts.map +1 -0
  353. package/dist/services/issues/redaction_guard.js +97 -0
  354. package/dist/services/issues/redaction_guard.js.map +1 -0
  355. package/dist/services/issues/seed_schema.d.ts +33 -0
  356. package/dist/services/issues/seed_schema.d.ts.map +1 -0
  357. package/dist/services/issues/seed_schema.js +228 -0
  358. package/dist/services/issues/seed_schema.js.map +1 -0
  359. package/dist/services/issues/sync.d.ts +3 -0
  360. package/dist/services/issues/sync.d.ts.map +1 -0
  361. package/dist/services/issues/sync.js +2 -0
  362. package/dist/services/issues/sync.js.map +1 -0
  363. package/dist/services/issues/syncIssuesFromGitHub.d.ts +35 -0
  364. package/dist/services/issues/syncIssuesFromGitHub.d.ts.map +1 -0
  365. package/dist/services/issues/syncIssuesFromGitHub.js +193 -0
  366. package/dist/services/issues/syncIssuesFromGitHub.js.map +1 -0
  367. package/dist/services/issues/sync_issues_from_github.d.ts +35 -0
  368. package/dist/services/issues/sync_issues_from_github.d.ts.map +1 -0
  369. package/dist/services/issues/sync_issues_from_github.js +193 -0
  370. package/dist/services/issues/sync_issues_from_github.js.map +1 -0
  371. package/dist/services/issues/types.d.ts +132 -0
  372. package/dist/services/issues/types.d.ts.map +1 -0
  373. package/dist/services/issues/types.js +20 -0
  374. package/dist/services/issues/types.js.map +1 -0
  375. package/dist/services/memory_export.d.ts.map +1 -1
  376. package/dist/services/memory_export.js +0 -1
  377. package/dist/services/memory_export.js.map +1 -1
  378. package/dist/services/observation_storage.d.ts +2 -0
  379. package/dist/services/observation_storage.d.ts.map +1 -1
  380. package/dist/services/observation_storage.js +3 -0
  381. package/dist/services/observation_storage.js.map +1 -1
  382. package/dist/services/plans/capture_harness_plan.d.ts +128 -0
  383. package/dist/services/plans/capture_harness_plan.d.ts.map +1 -0
  384. package/dist/services/plans/capture_harness_plan.js +205 -0
  385. package/dist/services/plans/capture_harness_plan.js.map +1 -0
  386. package/dist/services/plans/seed_schema.d.ts +41 -0
  387. package/dist/services/plans/seed_schema.d.ts.map +1 -0
  388. package/dist/services/plans/seed_schema.js +134 -0
  389. package/dist/services/plans/seed_schema.js.map +1 -0
  390. package/dist/services/raw_storage.d.ts +1 -0
  391. package/dist/services/raw_storage.d.ts.map +1 -1
  392. package/dist/services/raw_storage.js +8 -5
  393. package/dist/services/raw_storage.js.map +1 -1
  394. package/dist/services/relationships.d.ts +1 -0
  395. package/dist/services/relationships.d.ts.map +1 -1
  396. package/dist/services/relationships.js +15 -0
  397. package/dist/services/relationships.js.map +1 -1
  398. package/dist/services/request_context.d.ts +26 -1
  399. package/dist/services/request_context.d.ts.map +1 -1
  400. package/dist/services/request_context.js +26 -1
  401. package/dist/services/request_context.js.map +1 -1
  402. package/dist/services/root_landing/harness_snippets.d.ts +2 -2
  403. package/dist/services/root_landing/harness_snippets.d.ts.map +1 -1
  404. package/dist/services/root_landing/harness_snippets.js +1 -1
  405. package/dist/services/root_landing/harness_snippets.js.map +1 -1
  406. package/dist/services/root_landing/index.d.ts.map +1 -1
  407. package/dist/services/root_landing/index.js +43 -9
  408. package/dist/services/root_landing/index.js.map +1 -1
  409. package/dist/services/root_landing/site_nav.d.ts.map +1 -1
  410. package/dist/services/root_landing/site_nav.js +27 -1
  411. package/dist/services/root_landing/site_nav.js.map +1 -1
  412. package/dist/services/schema_definitions.d.ts +1 -0
  413. package/dist/services/schema_definitions.d.ts.map +1 -1
  414. package/dist/services/schema_definitions.js +23 -1
  415. package/dist/services/schema_definitions.js.map +1 -1
  416. package/dist/services/schema_recommendation.d.ts +2 -0
  417. package/dist/services/schema_recommendation.d.ts.map +1 -1
  418. package/dist/services/schema_recommendation.js +14 -4
  419. package/dist/services/schema_recommendation.js.map +1 -1
  420. package/dist/services/schema_registry.d.ts +8 -1
  421. package/dist/services/schema_registry.d.ts.map +1 -1
  422. package/dist/services/schema_registry.js +56 -9
  423. package/dist/services/schema_registry.js.map +1 -1
  424. package/dist/services/submitted_thread/submitted_thread.d.ts +74 -0
  425. package/dist/services/submitted_thread/submitted_thread.d.ts.map +1 -0
  426. package/dist/services/submitted_thread/submitted_thread.js +123 -0
  427. package/dist/services/submitted_thread/submitted_thread.js.map +1 -0
  428. package/dist/services/subscriptions/install_subscription_bridge.d.ts +2 -0
  429. package/dist/services/subscriptions/install_subscription_bridge.d.ts.map +1 -0
  430. package/dist/services/subscriptions/install_subscription_bridge.js +14 -0
  431. package/dist/services/subscriptions/install_subscription_bridge.js.map +1 -0
  432. package/dist/services/subscriptions/seed_schema.d.ts +11 -0
  433. package/dist/services/subscriptions/seed_schema.d.ts.map +1 -0
  434. package/dist/services/subscriptions/seed_schema.js +107 -0
  435. package/dist/services/subscriptions/seed_schema.js.map +1 -0
  436. package/dist/services/subscriptions/sse_hub.d.ts +20 -0
  437. package/dist/services/subscriptions/sse_hub.d.ts.map +1 -0
  438. package/dist/services/subscriptions/sse_hub.js +67 -0
  439. package/dist/services/subscriptions/sse_hub.js.map +1 -0
  440. package/dist/services/subscriptions/subscription_actions.d.ts +32 -0
  441. package/dist/services/subscriptions/subscription_actions.d.ts.map +1 -0
  442. package/dist/services/subscriptions/subscription_actions.js +121 -0
  443. package/dist/services/subscriptions/subscription_actions.js.map +1 -0
  444. package/dist/services/subscriptions/subscription_bridge.d.ts +3 -0
  445. package/dist/services/subscriptions/subscription_bridge.d.ts.map +1 -0
  446. package/dist/services/subscriptions/subscription_bridge.js +34 -0
  447. package/dist/services/subscriptions/subscription_bridge.js.map +1 -0
  448. package/dist/services/subscriptions/subscription_index.d.ts +8 -0
  449. package/dist/services/subscriptions/subscription_index.d.ts.map +1 -0
  450. package/dist/services/subscriptions/subscription_index.js +102 -0
  451. package/dist/services/subscriptions/subscription_index.js.map +1 -0
  452. package/dist/services/subscriptions/subscription_types.d.ts +24 -0
  453. package/dist/services/subscriptions/subscription_types.d.ts.map +1 -0
  454. package/dist/services/subscriptions/subscription_types.js +49 -0
  455. package/dist/services/subscriptions/subscription_types.js.map +1 -0
  456. package/dist/services/subscriptions/webhook_delivery.d.ts +7 -0
  457. package/dist/services/subscriptions/webhook_delivery.d.ts.map +1 -0
  458. package/dist/services/subscriptions/webhook_delivery.js +184 -0
  459. package/dist/services/subscriptions/webhook_delivery.js.map +1 -0
  460. package/dist/services/sync/conflict_resolver.d.ts +17 -0
  461. package/dist/services/sync/conflict_resolver.d.ts.map +1 -0
  462. package/dist/services/sync/conflict_resolver.js +97 -0
  463. package/dist/services/sync/conflict_resolver.js.map +1 -0
  464. package/dist/services/sync/full_sync.d.ts +18 -0
  465. package/dist/services/sync/full_sync.d.ts.map +1 -0
  466. package/dist/services/sync/full_sync.js +168 -0
  467. package/dist/services/sync/full_sync.js.map +1 -0
  468. package/dist/services/sync/peer_health.d.ts +21 -0
  469. package/dist/services/sync/peer_health.d.ts.map +1 -0
  470. package/dist/services/sync/peer_health.js +65 -0
  471. package/dist/services/sync/peer_health.js.map +1 -0
  472. package/dist/services/sync/peer_ops.d.ts +56 -0
  473. package/dist/services/sync/peer_ops.d.ts.map +1 -0
  474. package/dist/services/sync/peer_ops.js +166 -0
  475. package/dist/services/sync/peer_ops.js.map +1 -0
  476. package/dist/services/sync/peer_sync_batch.d.ts +31 -0
  477. package/dist/services/sync/peer_sync_batch.d.ts.map +1 -0
  478. package/dist/services/sync/peer_sync_batch.js +73 -0
  479. package/dist/services/sync/peer_sync_batch.js.map +1 -0
  480. package/dist/services/sync/seed_peer_schema.d.ts +11 -0
  481. package/dist/services/sync/seed_peer_schema.d.ts.map +1 -0
  482. package/dist/services/sync/seed_peer_schema.js +121 -0
  483. package/dist/services/sync/seed_peer_schema.js.map +1 -0
  484. package/dist/services/sync/sync_webhook_inbound.d.ts +37 -0
  485. package/dist/services/sync/sync_webhook_inbound.d.ts.map +1 -0
  486. package/dist/services/sync/sync_webhook_inbound.js +177 -0
  487. package/dist/services/sync/sync_webhook_inbound.js.map +1 -0
  488. package/dist/services/sync/sync_webhook_outbound.d.ts +35 -0
  489. package/dist/services/sync/sync_webhook_outbound.d.ts.map +1 -0
  490. package/dist/services/sync/sync_webhook_outbound.js +230 -0
  491. package/dist/services/sync/sync_webhook_outbound.js.map +1 -0
  492. package/dist/shared/action_handlers/entity_handlers.d.ts +1 -1
  493. package/dist/shared/action_handlers/entity_handlers.d.ts.map +1 -1
  494. package/dist/shared/action_handlers/entity_handlers.js.map +1 -1
  495. package/dist/shared/action_schemas.d.ts +747 -118
  496. package/dist/shared/action_schemas.d.ts.map +1 -1
  497. package/dist/shared/action_schemas.js +130 -14
  498. package/dist/shared/action_schemas.js.map +1 -1
  499. package/dist/shared/api_client.d.ts +1 -0
  500. package/dist/shared/api_client.d.ts.map +1 -1
  501. package/dist/shared/api_client.js +15 -4
  502. package/dist/shared/api_client.js.map +1 -1
  503. package/dist/shared/contract_mappings.d.ts.map +1 -1
  504. package/dist/shared/contract_mappings.js +171 -0
  505. package/dist/shared/contract_mappings.js.map +1 -1
  506. package/dist/shared/neotoma_entity_id.d.ts +7 -0
  507. package/dist/shared/neotoma_entity_id.d.ts.map +1 -0
  508. package/dist/shared/neotoma_entity_id.js +11 -0
  509. package/dist/shared/neotoma_entity_id.js.map +1 -0
  510. package/dist/shared/openapi_types.d.ts +1208 -126
  511. package/dist/shared/openapi_types.d.ts.map +1 -1
  512. package/dist/tool_definitions.d.ts +1 -1
  513. package/dist/tool_definitions.d.ts.map +1 -1
  514. package/dist/tool_definitions.js +257 -60
  515. package/dist/tool_definitions.js.map +1 -1
  516. package/dist/utils/local_http_port_file.d.ts +23 -6
  517. package/dist/utils/local_http_port_file.d.ts.map +1 -1
  518. package/dist/utils/local_http_port_file.js +69 -21
  519. package/dist/utils/local_http_port_file.js.map +1 -1
  520. package/dist/utils/safe_request_log_format.d.ts +11 -0
  521. package/dist/utils/safe_request_log_format.d.ts.map +1 -0
  522. package/dist/utils/safe_request_log_format.js +136 -0
  523. package/dist/utils/safe_request_log_format.js.map +1 -0
  524. package/docs/developer/mcp/instructions.md +43 -28
  525. package/openapi.yaml +1061 -96
  526. package/package.json +107 -56
  527. package/skills/ensure-neotoma/SKILL.md +83 -0
  528. package/skills/remember-calendar/SKILL.md +85 -0
  529. package/skills/remember-codebase/SKILL.md +78 -0
  530. package/skills/remember-contacts/SKILL.md +96 -0
  531. package/skills/remember-conversations/SKILL.md +95 -0
  532. package/skills/remember-email/SKILL.md +89 -0
  533. package/skills/remember-finances/SKILL.md +89 -0
  534. package/skills/remember-meetings/SKILL.md +86 -0
  535. package/dist/inspector/assets/agent_badge-ihPeARQV.js +0 -1
  536. package/dist/inspector/assets/agent_detail-BtdIGuk2.js +0 -1
  537. package/dist/inspector/assets/agents-C8qGnNCU.js +0 -1
  538. package/dist/inspector/assets/attribution_summary-S6yX8918.js +0 -1
  539. package/dist/inspector/assets/checkbox-BE774kci.js +0 -1
  540. package/dist/inspector/assets/corrections-UTXmEFqm.js +0 -1
  541. package/dist/inspector/assets/entities-i3yWeDP0.js +0 -1
  542. package/dist/inspector/assets/entity_detail-BJNaEXGZ.js +0 -17
  543. package/dist/inspector/assets/external-link-BK31dJyN.js +0 -6
  544. package/dist/inspector/assets/feedback-COEQSnd9.js +0 -45
  545. package/dist/inspector/assets/feedback_admin-CJnr7E0r.js +0 -6
  546. package/dist/inspector/assets/feedback_admin_unlock-BxcDo5G7.js +0 -6
  547. package/dist/inspector/assets/index-BgQagyt9.css +0 -1
  548. package/dist/inspector/assets/index-DZyW9wwm.js +0 -224
  549. package/dist/inspector/assets/interpretations-D0k7qwZ6.js +0 -1
  550. package/dist/inspector/assets/observations-BEYPLgsw.js +0 -1
  551. package/dist/inspector/assets/recent_activity-D4P724bj.js +0 -11
  552. package/dist/inspector/assets/recent_conversations-BXAUdAC5.js +0 -1
  553. package/dist/inspector/assets/relationships-DBLA0hRd.js +0 -1
  554. package/dist/inspector/assets/schema_detail-Den0dtKn.js +0 -11
  555. package/dist/inspector/assets/schemas-CZNE7ILQ.js +0 -5
  556. package/dist/inspector/assets/settings-Db5j2L-M.js +0 -1
  557. package/dist/inspector/assets/tabs-DDLnWpd7.js +0 -1
  558. package/dist/inspector/assets/timeline_event_detail-GKr9VYPf.js +0 -1
  559. package/dist/inspector/assets/turns-oYp0HVIa.js +0 -1
  560. package/dist/inspector/assets/use_agents-GiTdp_mh.js +0 -1
  561. package/dist/inspector/assets/use_entities-CTSlt7S0.js +0 -1
  562. package/dist/inspector/assets/use_interpretations-DUaKZMXF.js +0 -1
  563. package/dist/inspector/assets/use_mutations-XlZmJD0t.js +0 -1
  564. package/dist/inspector/assets/use_recent_conversations-vxIe2glX.js +0 -1
  565. package/dist/inspector/assets/use_sources-BSwgjmqJ.js +0 -1
package/README.md CHANGED
@@ -46,13 +46,14 @@ graph LR
46
46
  - **Replayable.** Inspect any entity at any point in time. Diff versions. Reconstruct history from the observation log.
47
47
  - **Structure-first.** Schema-first extraction with deterministic retrieval. Optional similarity search when embeddings are configured.
48
48
 
49
- ### Three foundations
49
+ ### Four foundations
50
50
 
51
- | Foundation | What it means |
52
- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
53
- | **Privacy-first** | Your data stays local. Never used for training. User-controlled storage, optional encryption at rest. Full export and deletion control. |
54
- | **Deterministic** | Same input always produces same output. Schema-first extraction, hash-based entity IDs, full provenance. No silent mutation. |
55
- | **Cross-platform** | One memory graph across Claude, ChatGPT, Cursor, OpenClaw, IronClaw, Codex, and CLI. MCP-based access. No platform lock-in. Works alongside native memory. |
51
+ | Foundation | What it means |
52
+ | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
53
+ | **Privacy-first** | Your data stays local. Never used for training. Nothing is stored unless you approve it; no background scanning or implicit captures. Full export and deletion control. |
54
+ | **Deterministic** | Same input always produces same output. Schema-first extraction, hash-based entity IDs, full provenance. No silent mutation. |
55
+ | **Immutable and verifiable** | Append-only observations; history cannot be rewritten. Hash-based entity IDs are tamper-evident. Full provenance chain from any state to its source. |
56
+ | **Cross-platform** | One memory graph across Claude, ChatGPT, Cursor, OpenClaw, IronClaw, Codex, and CLI. MCP-based access. No platform lock-in. Works alongside native memory. |
56
57
 
57
58
  ## State guarantees
58
59
 
@@ -72,6 +73,8 @@ Most AI memory systems optimize storage or retrieval. Neotoma enforces state int
72
73
  | Zero-setup onboarding | ✓ | ✗ | ✗ | ✗ | ✗ |
73
74
  | Semantic similarity search | ✗ | ✓ | ✗ | ✗ | ✓ |
74
75
  | Direct human editability | ✗ | ✗ | ✓ | ✗ | ✗ |
76
+ | Strong consistency | ✗ | ✗ | ✗ | ✓ | ✓ |
77
+ | Transactional writes | ✗ | ✗ | ✗ | ✓ | ✓ |
75
78
 
76
79
  **Platform:** Claude, ChatGPT, Gemini, Copilot. **Retrieval:** Mem0, Zep, LangChain Memory. **Files:** Markdown files, JSON stores, CRDT docs. **Database:** SQLite, Postgres, MySQL. **Neotoma:** Deterministic state layer (reference implementation).
77
80
 
@@ -116,6 +119,26 @@ neotoma upload ./invoice.pdf
116
119
 
117
120
  Results reflect versioned entity state with full provenance. Agents perform the same operations through MCP tool calls (`store`, `retrieve_entities`, `retrieve_entity_by_identifier`).
118
121
 
122
+ ## Available skills
123
+
124
+ Skills are guided workflows that teach your AI agent to import, extract, and persist data into Neotoma memory. They ship with the npm package and are installed by `neotoma setup`.
125
+
126
+ | Skill | Description |
127
+ |-------|-------------|
128
+ | **ensure-neotoma** | Install Neotoma, configure MCP, verify connectivity. Prerequisite for all other skills. |
129
+ | **remember-email** | Configure email MCP, import emails, extract contacts, tasks, events, transactions. |
130
+ | **remember-conversations** | Import ChatGPT/Claude/Slack exports, reconstruct decision timeline. |
131
+ | **remember-meetings** | Ingest meeting transcripts, extract decisions and action items. |
132
+ | **remember-finances** | Import bank statements, receipts, invoices. Extract structured transactions. |
133
+ | **remember-contacts** | Consolidate contacts from email, calendar, chat, vCards, LinkedIn. |
134
+ | **remember-calendar** | Configure calendar MCP, import events and commitments. |
135
+ | **remember-codebase** | Developer repo integration — inventory, architecture decisions, MCP wiring. |
136
+ | **store-data** | Generic: persist any structured data or file with provenance. |
137
+ | **query-memory** | Generic: retrieve what your agent knows about anything. |
138
+ | **recover-sqlite-database** | Troubleshooting: check integrity and recover corrupted Neotoma database. |
139
+
140
+ [Full skill documentation →](https://neotoma.io/skills) | [Skill strategy →](docs/skills/skill_strategy.md)
141
+
119
142
  ## Interfaces
120
143
 
121
144
  Three interfaces. One state invariant. Every interface provides the same deterministic behavior regardless of how you access the state layer.
package/dist/actions.d.ts CHANGED
@@ -1,18 +1,14 @@
1
1
  import express from "express";
2
+ import { type GuestIdentity } from "./services/access_policy.js";
3
+ import { type AgentIdentity } from "./crypto/agent_identity.js";
2
4
  import { type StoreInterpretationInput } from "./shared/action_schemas.js";
3
5
  export declare const app: import("express-serve-static-core").Express;
4
6
  /**
5
- * True when the request arrived over a loopback socket.
7
+ * True when the request is genuinely local to this process.
6
8
  *
7
- * SECURITY: derived from the TCP socket's remote address, NOT the `Host`
8
- * header. `req.headers.host` is attacker-controlled; using it to gate
9
- * authentication / auto-approval produces a trivial bypass when the server is
10
- * bound to a non-loopback interface. We check `req.socket.remoteAddress`
11
- * directly so spoofed `Host: localhost` headers do not promote a remote
12
- * caller into the local-dev trust zone.
13
- *
14
- * Express's `req.ip` is also unsafe here because `trust proxy` honours the
15
- * X-Forwarded-For header — any caller can claim to be loopback.
9
+ * SECURITY: a same-host reverse proxy (Caddy, nginx, Cloudflare tunnel, etc.)
10
+ * connects to Node over loopback even for public internet callers. In
11
+ * production, loopback alone is therefore not enough to grant local-dev auth.
16
12
  */
17
13
  export declare function isLocalRequest(req: express.Request): boolean;
18
14
  /**
@@ -23,6 +19,41 @@ export declare function isLocalRequest(req: express.Request): boolean;
23
19
  * a different authority. See src/middleware/aauth_verify.ts.
24
20
  */
25
21
  export declare function canonicalAauthAuthority(): string;
22
+ type UserPrincipal = {
23
+ kind: "user";
24
+ userId: string;
25
+ };
26
+ type GuestPrincipal = {
27
+ kind: "guest";
28
+ guestId: GuestIdentity;
29
+ agentIdentity?: AgentIdentity | null;
30
+ accessToken?: string;
31
+ };
32
+ type RoutePrincipal = UserPrincipal | GuestPrincipal;
33
+ /** Exported for unit tests: routes where guest (AAuth / guest token) may be stamped before handlers run. */
34
+ export declare function routeAcceptsGuestPrincipal(req: Pick<express.Request, "method" | "path">): boolean;
35
+ /** Exported for unit tests: guest-capable routes that mutate state and should consume a guest write-rate budget. */
36
+ export declare function routeConsumesGuestWriteBudget(req: Pick<express.Request, "method" | "path">): boolean;
37
+ /** Exported for unit tests: guest-rate-limit key precedence is thumbprint -> guest token -> IP. */
38
+ export declare function guestWriteRateLimitKey(req: express.Request): string;
39
+ /**
40
+ * Derive a userId for a guest principal from the validated token grant.
41
+ *
42
+ * Resolution order:
43
+ * 1. `(req as any).authenticatedUserId` — set by earlier auth middleware
44
+ * (covers the rare case where user-level auth was stamped before the
45
+ * guest branch).
46
+ * 2. The `user_id` stored on the `guest_access_token` entity that matches
47
+ * the guest's access token. This is the owner who generated the token.
48
+ * 3. Local-only fallback: when the request originates from localhost and
49
+ * does not carry a Bearer token, use the local dev user. This keeps
50
+ * local-only developer flows working without a real token grant.
51
+ *
52
+ * Returns `null` for non-guest principals so callers can fall through to
53
+ * `getAuthenticatedUserId`. Throws for remote/hosted guests that cannot
54
+ * be resolved — prevents silent mis-attribution.
55
+ */
56
+ export declare function resolveGuestUserId(req: express.Request, principal: RoutePrincipal): Promise<string | null>;
26
57
  type StoreRelationshipRef = {
27
58
  relationship_type: string;
28
59
  source_index?: number;
@@ -36,6 +67,8 @@ export declare function storeStructuredForApi(params: {
36
67
  entities: Record<string, unknown>[];
37
68
  sourcePriority: number;
38
69
  observationSource?: import("./shared/action_schemas.js").ObservationSource;
70
+ /** When set, written observations carry this peer id for sync loop prevention. */
71
+ sourcePeerId?: string | null;
39
72
  idempotencyKey: string;
40
73
  originalFilename?: string;
41
74
  relationships?: StoreRelationshipRef[];
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AA4G9B,OAAO,EAyBL,KAAK,wBAAwB,EAE9B,MAAM,4BAA4B,CAAC;AA+BpC,eAAO,MAAM,GAAG,6CAAY,CAAC;AAygB7B;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAU5D;AA4PD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAmBhD;AAiyHD,KAAK,oBAAoB,GAAG;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAuDF,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,4BAA4B,EAAE,iBAAiB,CAAC;IAC3E,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACvC,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;;;;;;;;;;;;;cA+gBS,MAAM;gBACJ,MAAM;2BACK,MAAM;qBACZ,MAAM;mBACR,MAAM;wBACD,MAAM;uBACP,MAAM;;;;;mBA3JV,MAAM;qBACJ,MAAM;wBACH,MAAM,GAAG,IAAI;2BACV,MAAM;;wBAET,MAAM;uBACP,MAAM,EAAE;wBACP,MAAM;uBACP,MAAM;;kBA9NX,MAAM;oBACJ,MAAM;yBACD,MAAM;4BACH,MAAM;2BACP,MAAM;;+BA4NF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;;;2BAkFlC,MAAM;0BACP,MAAM;0BACN,MAAM;;;;;;;;GAsG3B;AAmhED,wBAAsB,eAAe;;;eA8FpC"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}