neotoma 0.10.1 → 0.11.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 (186) hide show
  1. package/README.md +2 -2
  2. package/dist/actions.d.ts.map +1 -1
  3. package/dist/actions.js +7 -30
  4. package/dist/actions.js.map +1 -1
  5. package/dist/cli/aauth_signer.d.ts +9 -2
  6. package/dist/cli/aauth_signer.d.ts.map +1 -1
  7. package/dist/cli/aauth_signer.js +25 -7
  8. package/dist/cli/aauth_signer.js.map +1 -1
  9. package/dist/cli/agent_instructions_scan.d.ts +12 -3
  10. package/dist/cli/agent_instructions_scan.d.ts.map +1 -1
  11. package/dist/cli/agent_instructions_scan.js +55 -64
  12. package/dist/cli/agent_instructions_scan.js.map +1 -1
  13. package/dist/cli/config.d.ts +10 -0
  14. package/dist/cli/config.d.ts.map +1 -1
  15. package/dist/cli/config.js +70 -7
  16. package/dist/cli/config.js.map +1 -1
  17. package/dist/cli/harness_configure.d.ts +36 -0
  18. package/dist/cli/harness_configure.d.ts.map +1 -0
  19. package/dist/cli/harness_configure.js +42 -0
  20. package/dist/cli/harness_configure.js.map +1 -0
  21. package/dist/cli/index.d.ts.map +1 -1
  22. package/dist/cli/index.js +330 -253
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/cli/inspector_admin_unlock_url.d.ts +13 -0
  25. package/dist/cli/inspector_admin_unlock_url.d.ts.map +1 -0
  26. package/dist/cli/inspector_admin_unlock_url.js +36 -0
  27. package/dist/cli/inspector_admin_unlock_url.js.map +1 -0
  28. package/dist/cli/mcp_config_scan.d.ts +1 -0
  29. package/dist/cli/mcp_config_scan.d.ts.map +1 -1
  30. package/dist/cli/mcp_config_scan.js +34 -12
  31. package/dist/cli/mcp_config_scan.js.map +1 -1
  32. package/dist/cli/setup.d.ts +6 -2
  33. package/dist/cli/setup.d.ts.map +1 -1
  34. package/dist/cli/setup.js +26 -8
  35. package/dist/cli/setup.js.map +1 -1
  36. package/dist/cli/setup_runners.d.ts +16 -0
  37. package/dist/cli/setup_runners.d.ts.map +1 -0
  38. package/dist/cli/setup_runners.js +141 -0
  39. package/dist/cli/setup_runners.js.map +1 -0
  40. package/dist/config.d.ts +2 -0
  41. package/dist/config.d.ts.map +1 -1
  42. package/dist/config.js +3 -0
  43. package/dist/config.js.map +1 -1
  44. package/dist/core/operations.d.ts +2 -2
  45. package/dist/core/operations.d.ts.map +1 -1
  46. package/dist/core/operations.js +2 -2
  47. package/dist/core/operations.js.map +1 -1
  48. package/dist/inspector/assets/{Combination-BM2JQOww.js → Combination-C22tNG3c.js} +1 -1
  49. package/dist/inspector/assets/{agent_badge-CpN0F7Uw.js → agent_badge-ihPeARQV.js} +1 -1
  50. package/dist/inspector/assets/{agent_detail-BiJ3HPkP.js → agent_detail-BtdIGuk2.js} +1 -1
  51. package/dist/inspector/assets/{agent_filter-BazKcQ9w.js → agent_filter-L0NhixFq.js} +1 -1
  52. package/dist/inspector/assets/{agent_grant_detail-DXgCn9N4.js → agent_grant_detail-DOfwRmj4.js} +1 -1
  53. package/dist/inspector/assets/{agent_grant_form-DZQjBAcw.js → agent_grant_form-D-_IJrLI.js} +1 -1
  54. package/dist/inspector/assets/{agent_grants-DCKfkpwq.js → agent_grants-BkUTzkwq.js} +1 -1
  55. package/dist/inspector/assets/{agents-ThrWnZTX.js → agents-C8qGnNCU.js} +1 -1
  56. package/dist/inspector/assets/{arrow-left-DaYPjbWH.js → arrow-left-C5PI116n.js} +1 -1
  57. package/dist/inspector/assets/{attribution_card-D8wccbDX.js → attribution_card-BKw4xb01.js} +1 -1
  58. package/dist/inspector/assets/{attribution_summary-Ds3UqXE_.js → attribution_summary-S6yX8918.js} +1 -1
  59. package/dist/inspector/assets/{card-gNKW1s0y.js → card-BKx8ifPf.js} +1 -1
  60. package/dist/inspector/assets/{check-CsKn_Wh2.js → check-D7bS4rbb.js} +1 -1
  61. package/dist/inspector/assets/{checkbox-Ckyj4vrh.js → checkbox-BE774kci.js} +1 -1
  62. package/dist/inspector/assets/{chevron-down-7OlcRYdt.js → chevron-down-DWeHLqJP.js} +1 -1
  63. package/dist/inspector/assets/{chevron-right-BLI_oHPA.js → chevron-right-D-MVwNt0.js} +1 -1
  64. package/dist/inspector/assets/{compliance-CBrpHE20.js → compliance-DIVlTxir.js} +1 -1
  65. package/dist/inspector/assets/{confirm-dialog--bNglOrP.js → confirm-dialog-DZ91UiLx.js} +1 -1
  66. package/dist/inspector/assets/{conversation_common-BtftGfBd.js → conversation_common-B9QrB_mG.js} +1 -1
  67. package/dist/inspector/assets/{conversation_detail-DcL600xx.js → conversation_detail-BX-DgWqj.js} +1 -1
  68. package/dist/inspector/assets/{copy_id_button-V_cdlRRU.js → copy_id_button-DbNXOvuH.js} +2 -2
  69. package/dist/inspector/assets/{corrections-CSny2Vo_.js → corrections-UTXmEFqm.js} +1 -1
  70. package/dist/inspector/assets/{dashboard-QDIRlmWG.js → dashboard-D7o1n0lS.js} +1 -1
  71. package/dist/inspector/assets/{data-table-qmF3Z4gV.js → data-table-DFBYvAjA.js} +1 -1
  72. package/dist/inspector/assets/{dialog-DYUGw6eQ.js → dialog-DE3AWlG_.js} +1 -1
  73. package/dist/inspector/assets/{dropdown-menu-F92-sh_x.js → dropdown-menu-BVwBx2B7.js} +1 -1
  74. package/dist/inspector/assets/{entities-Dsipnex_.js → entities-i3yWeDP0.js} +1 -1
  75. package/dist/inspector/assets/{entity_detail-BfgIPU8x.js → entity_detail-BJNaEXGZ.js} +1 -1
  76. package/dist/inspector/assets/{entity_link-Ux3LzoaM.js → entity_link-JLwqX81Y.js} +1 -1
  77. package/dist/inspector/assets/{external-link-CWkNK5Tk.js → external-link-BK31dJyN.js} +1 -1
  78. package/dist/inspector/assets/feedback-COEQSnd9.js +45 -0
  79. package/dist/inspector/assets/feedback_admin-CJnr7E0r.js +6 -0
  80. package/dist/inspector/assets/feedback_admin_unlock-BxcDo5G7.js +6 -0
  81. package/dist/inspector/assets/{graph_explorer-BmseNUoQ.js → graph_explorer-O8YY1xwo.js} +1 -1
  82. package/dist/inspector/assets/{index-BykFtejE.js → index-BKbdoU0r.js} +1 -1
  83. package/dist/inspector/assets/{index-DV_dUptd.js → index-Bb004UmS.js} +1 -1
  84. package/dist/inspector/assets/index-BgQagyt9.css +1 -0
  85. package/dist/inspector/assets/{index-DwNCMlAU.js → index-CisbTUN-.js} +1 -1
  86. package/dist/inspector/assets/{index-CYCtoVGs.js → index-DZyW9wwm.js} +7 -7
  87. package/dist/inspector/assets/{interpretations-CMfzQ1Ln.js → interpretations-Bz1Jx0gm.js} +1 -1
  88. package/dist/inspector/assets/interpretations-D0k7qwZ6.js +1 -0
  89. package/dist/inspector/assets/{json_viewer-Bq_YbebZ.js → json_viewer-1-geEBU4.js} +1 -1
  90. package/dist/inspector/assets/{label-Bl-6LEeg.js → label-DK8No7os.js} +1 -1
  91. package/dist/inspector/assets/{live_relative_time-B1_XT7na.js → live_relative_time-Ca29xr4q.js} +1 -1
  92. package/dist/inspector/assets/{observations-DBIz6sjx.js → observations-BEYPLgsw.js} +1 -1
  93. package/dist/inspector/assets/{page_shell-BEmO9wa5.js → page_shell-Z_K8-xVN.js} +1 -1
  94. package/dist/inspector/assets/{pagination-BUY-_ZUw.js → pagination-55slcMsJ.js} +1 -1
  95. package/dist/inspector/assets/{plus-CN3iw613.js → plus-Df5osCTJ.js} +1 -1
  96. package/dist/inspector/assets/{query_refresh_indicator-BvQCvZ7y.js → query_refresh_indicator-B2ayQ-9R.js} +1 -1
  97. package/dist/inspector/assets/{recent_activity-8sqCYQa2.js → recent_activity-D4P724bj.js} +1 -1
  98. package/dist/inspector/assets/{recent_conversations-Dm7bsH19.js → recent_conversations-B-iJ9x-v.js} +1 -1
  99. package/dist/inspector/assets/{recent_conversations-ZmrvYZt6.js → recent_conversations-BXAUdAC5.js} +1 -1
  100. package/dist/inspector/assets/{recent_records_feed-BCwEB-gO.js → recent_records_feed-Bm8kGd63.js} +1 -1
  101. package/dist/inspector/assets/{relationship_detail-AY29Q_zg.js → relationship_detail-BMhsfgCR.js} +1 -1
  102. package/dist/inspector/assets/{relationships-BfjaoQF3.js → relationships-BphnuyTR.js} +1 -1
  103. package/dist/inspector/assets/{relationships-C9JOmG6k.js → relationships-DBLA0hRd.js} +1 -1
  104. package/dist/inspector/assets/{sandbox-2sw7hAPG.js → sandbox-BWLbx8xY.js} +1 -1
  105. package/dist/inspector/assets/{schema_detail-BwWRhFNS.js → schema_detail-Den0dtKn.js} +1 -1
  106. package/dist/inspector/assets/{schemas-UX8RWzu0.js → schemas-CZNE7ILQ.js} +1 -1
  107. package/dist/inspector/assets/{search-sJaK1X54.js → search-BpeIvjlx.js} +1 -1
  108. package/dist/inspector/assets/{select-Sk4XRvus.js → select-vjNrYLub.js} +2 -2
  109. package/dist/inspector/assets/{settings-D9mhRMBN.js → settings-Db5j2L-M.js} +1 -1
  110. package/dist/inspector/assets/{source_detail-BAF1G5q0.js → source_detail-DAAnuO9d.js} +1 -1
  111. package/dist/inspector/assets/{source_link-DTok2HA9.js → source_link-B3bG6OoM.js} +1 -1
  112. package/dist/inspector/assets/{sources-DUcCw0Vc.js → sources-CqJaDvnU.js} +1 -1
  113. package/dist/inspector/assets/{switch-DepRZ0--.js → switch-N1yvDIln.js} +1 -1
  114. package/dist/inspector/assets/{tabs-B0Dy5is1.js → tabs-DDLnWpd7.js} +1 -1
  115. package/dist/inspector/assets/{textarea-pfrE_cJC.js → textarea-DwpRHIdg.js} +1 -1
  116. package/dist/inspector/assets/{timeline-Bh9ngotn.js → timeline-DGZTAraG.js} +1 -1
  117. package/dist/inspector/assets/{timeline-COztEDwn.js → timeline-DgfkLScO.js} +1 -1
  118. package/dist/inspector/assets/{timeline_event_detail-CN1g0r15.js → timeline_event_detail-GKr9VYPf.js} +1 -1
  119. package/dist/inspector/assets/{trash-2-CGNk7jcZ.js → trash-2-aTmwwD61.js} +1 -1
  120. package/dist/inspector/assets/{turn_detail-DYjGa2Qt.js → turn_detail-DJi1gGc5.js} +1 -1
  121. package/dist/inspector/assets/{turns-qZVfg6Dm.js → turns-oYp0HVIa.js} +1 -1
  122. package/dist/inspector/assets/{use_agents-B8yN5BKA.js → use_agents-GiTdp_mh.js} +1 -1
  123. package/dist/inspector/assets/{use_entities-l4hLQEUh.js → use_entities-CTSlt7S0.js} +1 -1
  124. package/dist/inspector/assets/use_interpretations-DUaKZMXF.js +1 -0
  125. package/dist/inspector/assets/{use_mutations-BjaD74zY.js → use_mutations-XlZmJD0t.js} +1 -1
  126. package/dist/inspector/assets/use_recent_conversations-vxIe2glX.js +1 -0
  127. package/dist/inspector/assets/{use_relationships-6dqoUmCP.js → use_relationships-Ct8x9Wl7.js} +1 -1
  128. package/dist/inspector/assets/{use_schemas-BkMuCTZx.js → use_schemas-DI772015.js} +1 -1
  129. package/dist/inspector/assets/{use_sources-Bu_vb2VA.js → use_sources-BSwgjmqJ.js} +1 -1
  130. package/dist/inspector/assets/{use_stats-DvcjJbZf.js → use_stats--S9rYQbr.js} +1 -1
  131. package/dist/inspector/assets/{use_timeline-BXlKLsFO.js → use_timeline-XjpDP_2Y.js} +1 -1
  132. package/dist/inspector/assets/{use_turns-BYjwOq0j.js → use_turns-DnqJYe1l.js} +1 -1
  133. package/dist/inspector/index.html +2 -2
  134. package/dist/mcp_instruction_doc.d.ts +11 -0
  135. package/dist/mcp_instruction_doc.d.ts.map +1 -0
  136. package/dist/mcp_instruction_doc.js +39 -0
  137. package/dist/mcp_instruction_doc.js.map +1 -0
  138. package/dist/proxy/mcp_stdio_proxy.d.ts.map +1 -1
  139. package/dist/proxy/mcp_stdio_proxy.js +23 -7
  140. package/dist/proxy/mcp_stdio_proxy.js.map +1 -1
  141. package/dist/server.d.ts +5 -8
  142. package/dist/server.d.ts.map +1 -1
  143. package/dist/server.js +37 -22
  144. package/dist/server.js.map +1 -1
  145. package/dist/services/agent_capabilities.d.ts +1 -1
  146. package/dist/services/agent_capabilities.d.ts.map +1 -1
  147. package/dist/services/agent_capabilities.js +7 -1
  148. package/dist/services/agent_capabilities.js.map +1 -1
  149. package/dist/services/agent_grants.d.ts.map +1 -1
  150. package/dist/services/agent_grants.js +1 -0
  151. package/dist/services/agent_grants.js.map +1 -1
  152. package/dist/services/dashboard_stats.d.ts.map +1 -1
  153. package/dist/services/dashboard_stats.js +3 -0
  154. package/dist/services/dashboard_stats.js.map +1 -1
  155. package/dist/services/observation_storage.js +1 -1
  156. package/dist/services/observation_storage.js.map +1 -1
  157. package/dist/services/root_landing/harness_snippets.js +1 -1
  158. package/dist/services/root_landing/harness_snippets.js.map +1 -1
  159. package/dist/services/root_landing/html_template.d.ts.map +1 -1
  160. package/dist/services/root_landing/html_template.js +12 -4
  161. package/dist/services/root_landing/html_template.js.map +1 -1
  162. package/dist/services/root_landing/md_template.d.ts.map +1 -1
  163. package/dist/services/root_landing/md_template.js +3 -0
  164. package/dist/services/root_landing/md_template.js.map +1 -1
  165. package/dist/shared/contract_mappings.d.ts.map +1 -1
  166. package/dist/shared/contract_mappings.js +4 -13
  167. package/dist/shared/contract_mappings.js.map +1 -1
  168. package/dist/shared/openapi_types.d.ts +3 -44
  169. package/dist/shared/openapi_types.d.ts.map +1 -1
  170. package/dist/tool_definitions.d.ts +1 -1
  171. package/dist/tool_definitions.d.ts.map +1 -1
  172. package/dist/tool_definitions.js +5 -40
  173. package/dist/tool_definitions.js.map +1 -1
  174. package/dist/utils/local_http_port_file.d.ts +16 -0
  175. package/dist/utils/local_http_port_file.d.ts.map +1 -0
  176. package/dist/utils/local_http_port_file.js +46 -0
  177. package/dist/utils/local_http_port_file.js.map +1 -0
  178. package/docs/developer/mcp/instructions.md +211 -0
  179. package/openapi.yaml +2 -17
  180. package/package.json +4 -3
  181. package/skills/store-data/SKILL.md +1 -3
  182. package/dist/inspector/assets/feedback-CJK1vjsI.js +0 -35
  183. package/dist/inspector/assets/index-BAvZ5vLC.css +0 -1
  184. package/dist/inspector/assets/interpretations-T0E9nJx-.js +0 -1
  185. package/dist/inspector/assets/use_interpretations-B_ssuETV.js +0 -1
  186. package/dist/inspector/assets/use_recent_conversations-BgZIIrU6.js +0 -1
package/README.md CHANGED
@@ -100,8 +100,8 @@ The agent handles npm install, initialization, and MCP configuration. **Manual i
100
100
  ```bash
101
101
  npm install -g neotoma
102
102
  neotoma init
103
+ neotoma setup --tool <cursor|claude-code|codex> --yes
103
104
  neotoma mcp config
104
- neotoma mcp check --mcp-transport a
105
105
  ```
106
106
 
107
107
  More options: [Docker](docs/developer/docker.md) | [CLI reference](docs/developer/cli_reference.md) | [Getting started](docs/developer/getting_started.md)
@@ -221,7 +221,7 @@ Neotoma exposes state via MCP. Local storage only in preview. Local built-in aut
221
221
 
222
222
  **Setup guides:** [Cursor](https://neotoma.io/neotoma-with-cursor) · [Claude Code](https://neotoma.io/neotoma-with-claude-code) · [Claude](https://neotoma.io/neotoma-with-claude) · [ChatGPT](https://neotoma.io/neotoma-with-chatgpt) · [Codex](https://neotoma.io/neotoma-with-codex) · [OpenCode](docs/integrations/hooks/opencode.md) · [OpenClaw](https://neotoma.io/neotoma-with-openclaw) · [IronClaw](https://neotoma.io/neotoma-with-ironclaw)
223
223
 
224
- For local source iteration, use the stable dev shim (`scripts/run_neotoma_mcp_stdio_dev_shim.sh`) or signed shim (`scripts/run_neotoma_mcp_signed_stdio_dev_shim.sh`) instead of pointing installed MCP clients at a `tsx watch` stdio process. `neotoma mcp check` defaults to **`a`**: signed + AAuth with **neotoma-dev dev** and **neotoma prod** HTTP `/mcp` behind stdio; use `--mcp-transport c` for direct stdio, **`d`** if both MCP entries should target prod.
224
+ For local source iteration, use the stable dev shim (`scripts/run_neotoma_mcp_stdio_dev_shim.sh`) or signed shim (`scripts/run_neotoma_mcp_signed_stdio_dev_shim.sh`) instead of pointing installed MCP clients at a `tsx watch` stdio process. `neotoma mcp config` defaults to **`b`** for low-friction local stdio setup; use **`a`** for signed + AAuth HTTP `/mcp` proxy entries when the Neotoma API is running, **`c`** for direct stdio, or **`d`** when both MCP entries should target prod.
225
225
 
226
226
  **Agent behavior contract:** Store first, retrieve before storing, extract entities from user input, create tasks for commitments, and attach bounded host context such as repository name/root scope when available. Full instructions: [MCP instructions](docs/developer/mcp/instructions.md) and [CLI agent instructions](docs/developer/cli_agent_instructions.md).
227
227
 
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AA2G9B,OAAO,EAyBL,KAAK,wBAAwB,EAG9B,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;AA+iED,wBAAsB,eAAe;;;eA2FpC"}
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"}
package/dist/actions.js CHANGED
@@ -10,6 +10,7 @@ import { db } from "./db.js";
10
10
  import { config } from "./config.js";
11
11
  import fs from "fs";
12
12
  import path from "path";
13
+ import { writeLocalHttpPortFile } from "./utils/local_http_port_file.js";
13
14
  import yaml from "js-yaml";
14
15
  import { ensurePublicKeyRegistered, getPublicKey, getUserIdFromBearerToken, isBearerTokenValid, } from "./services/public_key_registry.js";
15
16
  import { verifyRequest, parseAuthHeader } from "./crypto/auth.js";
@@ -43,7 +44,7 @@ import { resolveSandboxReportTransport } from "./services/sandbox/transport.js";
43
44
  import { getSqliteDb } from "./repositories/sqlite/sqlite_client.js";
44
45
  import { getMcpAuthToken } from "./crypto/mcp_auth_token.js";
45
46
  import { isOauthKeyCredentialValid, normalizeOauthNextPath, OAuthKeySessionStore, } from "./services/oauth_key_gate.js";
46
- import { AnalyzeSchemaCandidatesRequestSchema, CorrectEntityRequestSchema, CreateInterpretationRequestSchema, CreateRelationshipsRequestSchema, CreateRelationshipRequestSchema, DeleteEntityRequestSchema, DeleteRelationshipRequestSchema, EntitiesQueryRequestSchema, EntitySnapshotRequestSchema, FieldProvenanceRequestSchema, GetSchemaRecommendationsRequestSchema, ListObservationsRequestSchema, ListRelationshipsRequestSchema, MergeEntitiesRequestSchema, SplitEntityRequestSchema, ObservationsQueryRequestSchema, RegisterSchemaRequestSchema, RelationshipSnapshotRequestSchema, RestoreEntityRequestSchema, RestoreRelationshipRequestSchema, RetrieveEntityByIdentifierSchema, RetrieveGraphNeighborhoodSchema, RetrieveRelatedEntitiesSchema, StoreRequestSchema, StoreUnstructuredRequestSchema, UpdateSchemaIncrementalRequestSchema, } from "./shared/action_schemas.js";
47
+ import { AnalyzeSchemaCandidatesRequestSchema, CorrectEntityRequestSchema, CreateInterpretationRequestSchema, CreateRelationshipsRequestSchema, CreateRelationshipRequestSchema, DeleteEntityRequestSchema, DeleteRelationshipRequestSchema, EntitiesQueryRequestSchema, EntitySnapshotRequestSchema, FieldProvenanceRequestSchema, GetSchemaRecommendationsRequestSchema, ListObservationsRequestSchema, ListRelationshipsRequestSchema, MergeEntitiesRequestSchema, SplitEntityRequestSchema, ObservationsQueryRequestSchema, RegisterSchemaRequestSchema, RelationshipSnapshotRequestSchema, RestoreEntityRequestSchema, RestoreRelationshipRequestSchema, RetrieveEntityByIdentifierSchema, RetrieveGraphNeighborhoodSchema, RetrieveRelatedEntitiesSchema, StoreRequestSchema, UpdateSchemaIncrementalRequestSchema, } from "./shared/action_schemas.js";
47
48
  import { getMimeTypeFromExtension } from "./services/file_text_extraction.js";
48
49
  import { queryEntitiesWithCount } from "./shared/action_handlers/entity_handlers.js";
49
50
  import { retrieveEntityByIdentifierWithFallback } from "./shared/action_handlers/entity_identifier_handler.js";
@@ -4053,7 +4054,7 @@ export async function storeStructuredForApi(params) {
4053
4054
  const entityTypes = entities
4054
4055
  .map((entity) => entity?.entity_type)
4055
4056
  .filter((t) => typeof t === "string" && t.length > 0);
4056
- enforceAgentCapability("store_structured", entityTypes, capabilityCtx);
4057
+ enforceAgentCapability("store", entityTypes, capabilityCtx);
4057
4058
  const relationshipOp = Array.isArray(relationships) && relationships.length > 0;
4058
4059
  if (relationshipOp) {
4059
4060
  enforceAgentCapability("create_relationship", entityTypes, capabilityCtx);
@@ -4069,7 +4070,7 @@ export async function storeStructuredForApi(params) {
4069
4070
  .filter((t) => typeof t === "string" && t.length > 0);
4070
4071
  assertCanWriteProtectedBatch({
4071
4072
  entity_types: entityTypes,
4072
- op: "store_structured",
4073
+ op: "store",
4073
4074
  identity: getCurrentAgentIdentity(),
4074
4075
  admission: getCurrentAAuthAdmission(),
4075
4076
  });
@@ -4663,33 +4664,6 @@ if (isSandboxMode()) {
4663
4664
  app.post("/sandbox/aauth-only/store", writeRateLimit, aauthRequired, handleStorePost);
4664
4665
  logger.info("[Sandbox] AAuth-required write route enabled at POST /sandbox/aauth-only/store");
4665
4666
  }
4666
- // POST /api/store/unstructured - Store raw file (base64), optional AI interpretation
4667
- app.post("/store/unstructured", async (req, res) => {
4668
- const parsed = StoreUnstructuredRequestSchema.safeParse(req.body);
4669
- if (!parsed.success) {
4670
- logWarn("ValidationError:store_unstructured", req, { issues: parsed.error.issues });
4671
- return sendValidationError(res, parsed.error.issues);
4672
- }
4673
- try {
4674
- const userId = await getAuthenticatedUserId(req, parsed.data.user_id);
4675
- const response = await storeUnstructuredForApi({
4676
- userId,
4677
- fileContent: parsed.data.file_content,
4678
- mimeType: parsed.data.mime_type,
4679
- idempotencyKey: parsed.data.idempotency_key,
4680
- originalFilename: parsed.data.original_filename,
4681
- });
4682
- return res.status(200).json(response);
4683
- }
4684
- catch (error) {
4685
- if (error instanceof Error && error.message.includes("Not authenticated")) {
4686
- return sendError(res, 401, "AUTH_REQUIRED", error.message);
4687
- }
4688
- logError("APIError:store_unstructured", req, error);
4689
- const message = error instanceof Error ? error.message : "Failed to store unstructured file";
4690
- return sendError(res, 500, "DB_QUERY_FAILED", message);
4691
- }
4692
- });
4693
4667
  // POST /api/observations/query - Query observations
4694
4668
  app.post("/observations/query", async (req, res) => {
4695
4669
  const parsed = ObservationsQueryRequestSchema.safeParse(req.body);
@@ -6152,6 +6126,9 @@ export async function startHTTPServer() {
6152
6126
  }
6153
6127
  // eslint-disable-next-line no-console
6154
6128
  console.log(`HTTP Actions listening on :${boundPort}`);
6129
+ if (process.env.NODE_ENV !== "test") {
6130
+ writeLocalHttpPortFile(config.projectRoot, boundPort);
6131
+ }
6155
6132
  // Start background OAuth state cleanup job
6156
6133
  import("./services/mcp_oauth.js").then((oauth) => {
6157
6134
  oauth.startStateCleanupJob();