neotoma 0.16.0 → 0.17.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.
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +154 -14
- package/dist/actions.js.map +1 -1
- package/dist/cli/aauth_signer.d.ts +11 -0
- package/dist/cli/aauth_signer.d.ts.map +1 -1
- package/dist/cli/aauth_signer.js +19 -4
- package/dist/cli/aauth_signer.js.map +1 -1
- package/dist/cli/bootstrap.js +0 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +15 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/core/operations.d.ts +9 -1
- package/dist/core/operations.d.ts.map +1 -1
- package/dist/core/operations.js.map +1 -1
- package/dist/inspector/assets/access_policies-DqX8wCOh.js +1 -0
- package/dist/inspector/assets/{agent_badge-DSVmTzOP.js → agent_badge-BPBS3uMg.js} +1 -1
- package/dist/inspector/assets/agent_detail-EWEe8pQw.js +1 -0
- package/dist/inspector/assets/{agent_filter-BdyAM6x2.js → agent_filter-C8MSuS1s.js} +1 -1
- package/dist/inspector/assets/agent_grant_detail-BkYh2QOB.js +1 -0
- package/dist/inspector/assets/{agent_grant_form-BSqUBfYS.js → agent_grant_form-D6s0NAkM.js} +1 -1
- package/dist/inspector/assets/agent_grants-ArpCmDAV.js +1 -0
- package/dist/inspector/assets/agents-Dv-ZSd0Z.js +1 -0
- package/dist/inspector/assets/{api_not_configured_state-zwInuOEO.js → api_not_configured_state-BCs3n4p2.js} +1 -1
- package/dist/inspector/assets/{attribution_card-BKl25RmG.js → attribution_card-BK3p5Ozr.js} +1 -1
- package/dist/inspector/assets/{attribution_summary-CpaWvBjf.js → attribution_summary-BU0_cen7.js} +1 -1
- package/dist/inspector/assets/{card-f739EePk.js → card-LbtEo1iL.js} +1 -1
- package/dist/inspector/assets/{checkbox-B5Riif2r.js → checkbox--c6oLHVn.js} +1 -1
- package/dist/inspector/assets/{compliance-CMxUBkRA.js → compliance-BDVV7407.js} +1 -1
- package/dist/inspector/assets/{confirm-dialog-DDrZusja.js → confirm-dialog-BwfOF1bJ.js} +1 -1
- package/dist/inspector/assets/{conversation_common-CUh80bSb.js → conversation_common-CLRpv5uN.js} +1 -1
- package/dist/inspector/assets/{conversation_detail-BgY7zNq3.js → conversation_detail-C6F03oRa.js} +1 -1
- package/dist/inspector/assets/{copy_id_button-Bq15C0s2.js → copy_id_button-URkA1AIn.js} +1 -1
- package/dist/inspector/assets/{copyable_code_block-BiHPmIJ3.js → copyable_code_block-DmUGcwtD.js} +1 -1
- package/dist/inspector/assets/{corrections-BVVahc9O.js → corrections-CfIaT2uR.js} +1 -1
- package/dist/inspector/assets/{dashboard-BcyxNTwU.js → dashboard-oeogMao8.js} +1 -1
- package/dist/inspector/assets/{data-table-04kzjPYs.js → data-table-D0iSnY-I.js} +1 -1
- package/dist/inspector/assets/{design-CXipK5U2.js → design-BYxCHhir.js} +2 -2
- package/dist/inspector/assets/{dialog-7hUMzyMj.js → dialog-BJqR1eFl.js} +1 -1
- package/dist/inspector/assets/docs-BEoEp-8u.js +1 -0
- package/dist/inspector/assets/{docs_page_layout-MB1vS0UF.js → docs_page_layout-DBUApN4Q.js} +1 -1
- package/dist/inspector/assets/embed_graph-M4dJpTFE.js +1 -0
- package/dist/inspector/assets/{empty_state-BEB_HYj8.js → empty_state-BBm0Ux3p.js} +1 -1
- package/dist/inspector/assets/{entities-DBmIWq12.js → entities-DsHnaIN2.js} +2 -2
- package/dist/inspector/assets/{entity_correct-BcPbB_XX.js → entity_correct-0x-V9BzS.js} +2 -2
- package/dist/inspector/assets/{entity_history-nOtMWBgW.js → entity_history-B2krP9-Q.js} +1 -1
- package/dist/inspector/assets/entity_history_sections-midIsmeO.js +1 -0
- package/dist/inspector/assets/{entity_link-CYeMYXf_.js → entity_link-Cs_rl22K.js} +1 -1
- package/dist/inspector/assets/{entity_relationships_by_type-PTrIr9cc.js → entity_relationships_by_type-DVR3Ptd0.js} +1 -1
- package/dist/inspector/assets/entity_segment_page-DJ0oe1WS.js +1 -0
- package/dist/inspector/assets/entity_table_column_toggle-BhgF5QRv.js +1 -0
- package/dist/inspector/assets/{entity_timeline-DM1baelt.js → entity_timeline-vgOdIQLq.js} +1 -1
- package/dist/inspector/assets/{entity_types-3qYS7Mw2.js → entity_types-MPptsQ-l.js} +1 -1
- package/dist/inspector/assets/{faq-OjwHjqcu.js → faq-CW1NqfAB.js} +1 -1
- package/dist/inspector/assets/graph_explorer-BoZAAFMF.js +1 -0
- package/dist/inspector/assets/graph_layout-BWdHoaBK.js +23 -0
- package/dist/inspector/assets/home-CA8tLdZF.js +1 -0
- package/dist/inspector/assets/{index-BJnpfmVo.js → index-BpRXWavv.js} +1582 -1582
- package/dist/inspector/assets/{index-DBpylVU0.js → index-CX74A2uB.js} +1 -1
- package/dist/inspector/assets/{index-V7CjUZTV.js → index-F-beGZt7.js} +1 -1
- package/dist/inspector/assets/interpretations-BLIWIUk8.js +1 -0
- package/dist/inspector/assets/interpretations-BQYsmxWF.js +1 -0
- package/dist/inspector/assets/issue_author_attribution-DuaU-Wo3.js +1 -0
- package/dist/inspector/assets/issue_detail-DVgu0HJp.js +1 -0
- package/dist/inspector/assets/issues-BXg_2DRV.js +1 -0
- package/dist/inspector/assets/{json_viewer-C8RjlPp6.js → json_viewer-_AIzujT9.js} +1 -1
- package/dist/inspector/assets/{label-5XpkuqZd.js → label-y3zc8beU.js} +1 -1
- package/dist/inspector/assets/{live_relative_time-CeSYFKWS.js → live_relative_time-DbFGRoFl.js} +1 -1
- package/dist/inspector/assets/mobile_filter_popover-BQFzI_Yi.js +1 -0
- package/dist/inspector/assets/{not_found-4KUCvIKb.js → not_found-oXvkpaH3.js} +1 -1
- package/dist/inspector/assets/observations-BRpha5_Z.js +1 -0
- package/dist/inspector/assets/{page_shell-DbMwS7W2.js → page_shell-Cbrq5cUm.js} +1 -1
- package/dist/inspector/assets/{pagination-Co32SINB.js → pagination-DN4Dgc5j.js} +1 -1
- package/dist/inspector/assets/peer_detail-CW26phzc.js +1 -0
- package/dist/inspector/assets/peers-BTwE7WIK.js +1 -0
- package/dist/inspector/assets/pin_primitive_button-DlQRA0Ly.js +1 -0
- package/dist/inspector/assets/recent_activity-Cdl8j9I4.js +1 -0
- package/dist/inspector/assets/recent_conversations-C5S8-fw5.js +1 -0
- package/dist/inspector/assets/recent_conversations-bn48T7JT.js +1 -0
- package/dist/inspector/assets/{recent_records_feed-DzMHhr7l.js → recent_records_feed-DJEa5Qz2.js} +1 -1
- package/dist/inspector/assets/record_activity-HFiOItEX.js +1 -0
- package/dist/inspector/assets/{relationship_detail-TWNgWxJg.js → relationship_detail-Brkr4082.js} +1 -1
- package/dist/inspector/assets/{relationship_panel_groups-BdHyg9VY.js → relationship_panel_groups-nIqbW3ja.js} +1 -1
- package/dist/inspector/assets/{relationships-Wt_dpZFU.js → relationships-CVD5V0hm.js} +1 -1
- package/dist/inspector/assets/relationships-xYZfD_Z3.js +1 -0
- package/dist/inspector/assets/sandbox-C2XWUIY2.js +1 -0
- package/dist/inspector/assets/schema_detail-DXq76Qc2.js +1 -0
- package/dist/inspector/assets/{schemas-DC6R63VQ.js → schemas-hgdiNDSk.js} +2 -2
- package/dist/inspector/assets/{search-Yl4iBsd8.js → search-BPVGMWVr.js} +1 -1
- package/dist/inspector/assets/{segmented_control-CqpTVhL6.js → segmented_control-D82tExkk.js} +1 -1
- package/dist/inspector/assets/{select-CT7b-obD.js → select-t5M14cjZ.js} +1 -1
- package/dist/inspector/assets/settings-WMfzYD_U.js +1 -0
- package/dist/inspector/assets/{source_content-btE3aN4L.js → source_content-CLc_cyFG.js} +1 -1
- package/dist/inspector/assets/source_content_open_button-DIoDgQ6W.js +1 -0
- package/dist/inspector/assets/{source_detail-BoIC49KJ.js → source_detail-BiaJBzqF.js} +6 -6
- package/dist/inspector/assets/source_link-732z3cAZ.js +1 -0
- package/dist/inspector/assets/{sources-Ct3sgCsY.js → sources-DCKoEB_r.js} +2 -2
- package/dist/inspector/assets/subscriptions-stYdxhPr.js +1 -0
- package/dist/inspector/assets/{switch-D7yC2rhw.js → switch-CgYsQ1Ot.js} +1 -1
- package/dist/inspector/assets/{tabs-DxAGiScB.js → tabs-Bt8qlpC7.js} +1 -1
- package/dist/inspector/assets/{textarea-NshJu6qC.js → textarea-CPoAU7QC.js} +1 -1
- package/dist/inspector/assets/{timeline-CJIiSlcv.js → timeline-DgIbBfG-.js} +1 -1
- package/dist/inspector/assets/{timeline-CDvX1T_z.js → timeline-kqG6i0CM.js} +1 -1
- package/dist/inspector/assets/{timeline_event_detail-B_kS43f6.js → timeline_event_detail-BfMJg5-T.js} +1 -1
- package/dist/inspector/assets/{turn_detail-CovpsJKz.js → turn_detail-_TLd0aIH.js} +1 -1
- package/dist/inspector/assets/{turns-HAY_Wnr4.js → turns-Cenxia98.js} +1 -1
- package/dist/inspector/assets/use_agents-D3hZdXLy.js +1 -0
- package/dist/inspector/assets/{use_entities-CKR3TCGJ.js → use_entities-CqX3goTF.js} +1 -1
- package/dist/inspector/assets/use_interpretations-Dan6da1y.js +1 -0
- package/dist/inspector/assets/{use_mutations-DJPcv1mm.js → use_mutations-iQ8uFWs-.js} +1 -1
- package/dist/inspector/assets/use_peers-Bp97c7Cs.js +1 -0
- package/dist/inspector/assets/use_relationships-COtpsgZE.js +1 -0
- package/dist/inspector/assets/use_stats-Dxhgij09.js +1 -0
- package/dist/inspector/assets/use_timeline-cLYihgCn.js +1 -0
- package/dist/inspector/assets/{use_turns-VYCNpZP9.js → use_turns-BhiPeB4p.js} +1 -1
- package/dist/inspector/assets/{world_time_event_timeline-DWD6VCGo.js → world_time_event_timeline-C5aU32p5.js} +1 -1
- package/dist/inspector/index.html +1 -1
- package/dist/proxy/mcp_stdio_proxy.d.ts +64 -0
- package/dist/proxy/mcp_stdio_proxy.d.ts.map +1 -1
- package/dist/proxy/mcp_stdio_proxy.js +147 -48
- package/dist/proxy/mcp_stdio_proxy.js.map +1 -1
- package/dist/repositories/sqlite/sqlite_client.d.ts.map +1 -1
- package/dist/repositories/sqlite/sqlite_client.js +20 -0
- package/dist/repositories/sqlite/sqlite_client.js.map +1 -1
- package/dist/scripts/seed_sandbox.js +9 -3
- package/dist/scripts/seed_sandbox.js.map +1 -1
- package/dist/server.d.ts +15 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +328 -23
- package/dist/server.js.map +1 -1
- package/dist/services/capability_delta.d.ts +70 -0
- package/dist/services/capability_delta.d.ts.map +1 -0
- package/dist/services/capability_delta.js +143 -0
- package/dist/services/capability_delta.js.map +1 -0
- package/dist/services/entity_resolution.d.ts +29 -2
- package/dist/services/entity_resolution.d.ts.map +1 -1
- package/dist/services/entity_resolution.js +86 -10
- package/dist/services/entity_resolution.js.map +1 -1
- package/dist/services/entity_signal_resolver.d.ts.map +1 -1
- package/dist/services/entity_signal_resolver.js +3 -1
- package/dist/services/entity_signal_resolver.js.map +1 -1
- package/dist/services/entity_split.d.ts.map +1 -1
- package/dist/services/entity_split.js +3 -2
- package/dist/services/entity_split.js.map +1 -1
- package/dist/services/field_constraints.d.ts +53 -0
- package/dist/services/field_constraints.d.ts.map +1 -0
- package/dist/services/field_constraints.js +147 -0
- package/dist/services/field_constraints.js.map +1 -0
- package/dist/services/issues/seed_schema.d.ts +2 -1
- package/dist/services/issues/seed_schema.d.ts.map +1 -1
- package/dist/services/issues/seed_schema.js +18 -2
- package/dist/services/issues/seed_schema.js.map +1 -1
- package/dist/services/overflow_sink.d.ts +22 -0
- package/dist/services/overflow_sink.d.ts.map +1 -0
- package/dist/services/overflow_sink.js +65 -0
- package/dist/services/overflow_sink.js.map +1 -0
- package/dist/services/rendered_page/conformance.d.ts +56 -0
- package/dist/services/rendered_page/conformance.d.ts.map +1 -0
- package/dist/services/rendered_page/conformance.js +98 -0
- package/dist/services/rendered_page/conformance.js.map +1 -0
- package/dist/services/rendered_page/publish.d.ts +7 -0
- package/dist/services/rendered_page/publish.d.ts.map +1 -1
- package/dist/services/rendered_page/publish.js +62 -0
- package/dist/services/rendered_page/publish.js.map +1 -1
- package/dist/services/sandbox/seeder.d.ts +27 -4
- package/dist/services/sandbox/seeder.d.ts.map +1 -1
- package/dist/services/sandbox/seeder.js +41 -10
- package/dist/services/sandbox/seeder.js.map +1 -1
- package/dist/services/schema_registry.d.ts +83 -0
- package/dist/services/schema_registry.d.ts.map +1 -1
- package/dist/services/schema_registry.js +68 -0
- package/dist/services/schema_registry.js.map +1 -1
- package/dist/services/snapshot_computation.d.ts.map +1 -1
- package/dist/services/snapshot_computation.js +2 -2
- package/dist/services/snapshot_computation.js.map +1 -1
- package/dist/services/source_priority_warning.d.ts +86 -0
- package/dist/services/source_priority_warning.d.ts.map +1 -0
- package/dist/services/source_priority_warning.js +103 -0
- package/dist/services/source_priority_warning.js.map +1 -0
- package/dist/shared/action_handlers/entity_identifier_handler.d.ts.map +1 -1
- package/dist/shared/action_handlers/entity_identifier_handler.js +2 -2
- package/dist/shared/action_handlers/entity_identifier_handler.js.map +1 -1
- package/dist/shared/action_schemas.d.ts +172 -0
- package/dist/shared/action_schemas.d.ts.map +1 -1
- package/dist/shared/action_schemas.js +73 -1
- package/dist/shared/action_schemas.js.map +1 -1
- package/dist/shared/api_client.d.ts +8 -0
- package/dist/shared/api_client.d.ts.map +1 -1
- package/dist/shared/api_client.js +4 -2
- package/dist/shared/api_client.js.map +1 -1
- package/dist/shared/capability_manifest_types.d.ts +27 -0
- package/dist/shared/capability_manifest_types.d.ts.map +1 -0
- package/dist/shared/capability_manifest_types.js +9 -0
- package/dist/shared/capability_manifest_types.js.map +1 -0
- package/dist/shared/contract_mappings.d.ts.map +1 -1
- package/dist/shared/contract_mappings.js +8 -0
- package/dist/shared/contract_mappings.js.map +1 -1
- package/dist/shared/openapi_types.d.ts +226 -8
- package/dist/shared/openapi_types.d.ts.map +1 -1
- package/dist/tool_definitions.d.ts +1 -1
- package/dist/tool_definitions.d.ts.map +1 -1
- package/dist/tool_definitions.js +14 -3
- package/dist/tool_definitions.js.map +1 -1
- package/docs/developer/mcp/instructions.md +2 -2
- package/openapi.yaml +270 -7
- package/package.json +5 -1
- package/dist/cli/activate.d.ts +0 -72
- package/dist/cli/activate.d.ts.map +0 -1
- package/dist/cli/activate.js +0 -160
- package/dist/cli/activate.js.map +0 -1
- package/dist/cli/auth_keygen.d.ts +0 -11
- package/dist/cli/auth_keygen.d.ts.map +0 -1
- package/dist/cli/auth_keygen.js +0 -110
- package/dist/cli/auth_keygen.js.map +0 -1
- package/dist/cli/packs.d.ts +0 -15
- package/dist/cli/packs.d.ts.map +0 -1
- package/dist/cli/packs.js +0 -156
- package/dist/cli/packs.js.map +0 -1
- package/dist/cli/triage.d.ts +0 -33
- package/dist/cli/triage.d.ts.map +0 -1
- package/dist/cli/triage.js +0 -251
- package/dist/cli/triage.js.map +0 -1
- package/dist/inspector/assets/access_policies-DaOXolyb.js +0 -1
- package/dist/inspector/assets/agent_detail-Bw2Dleut.js +0 -1
- package/dist/inspector/assets/agent_grant_detail-BfR9JEfV.js +0 -1
- package/dist/inspector/assets/agent_grants-BEuqaw2i.js +0 -1
- package/dist/inspector/assets/agents-DM5fgj2x.js +0 -1
- package/dist/inspector/assets/docs-CbtRien9.js +0 -1
- package/dist/inspector/assets/entity_history_sections-EdCfOUKk.js +0 -1
- package/dist/inspector/assets/entity_segment_page-DmBBp2lH.js +0 -1
- package/dist/inspector/assets/entity_table_column_toggle-UUiLdwtI.js +0 -1
- package/dist/inspector/assets/graph_explorer-BQXC5-wb.js +0 -23
- package/dist/inspector/assets/home-Dh6zD0X6.js +0 -1
- package/dist/inspector/assets/interpretations-CqKm294U.js +0 -1
- package/dist/inspector/assets/interpretations-DPi-NKQP.js +0 -1
- package/dist/inspector/assets/issue_author_attribution-BTsQdvC2.js +0 -1
- package/dist/inspector/assets/issue_detail-K_PQrio7.js +0 -1
- package/dist/inspector/assets/issues-Dg3BDvyM.js +0 -1
- package/dist/inspector/assets/mobile_filter_popover-Byn0n1dS.js +0 -1
- package/dist/inspector/assets/observations-Mt0upo4w.js +0 -1
- package/dist/inspector/assets/peer_detail-BcZ2SFrs.js +0 -1
- package/dist/inspector/assets/peers-_icOk2S_.js +0 -1
- package/dist/inspector/assets/pin_primitive_button-DuE2YL3m.js +0 -1
- package/dist/inspector/assets/recent_activity-CEsKJqRu.js +0 -1
- package/dist/inspector/assets/recent_conversations-9HKMcrxg.js +0 -1
- package/dist/inspector/assets/recent_conversations-C5SYTYFv.js +0 -1
- package/dist/inspector/assets/record_activity-CFQDUm8i.js +0 -1
- package/dist/inspector/assets/relationships-CmwY5ifD.js +0 -1
- package/dist/inspector/assets/sandbox-SkTEQ0Xz.js +0 -1
- package/dist/inspector/assets/schema_detail-BLCgDCnR.js +0 -1
- package/dist/inspector/assets/settings-B4eClD8I.js +0 -1
- package/dist/inspector/assets/source_content_open_button-C8zu07pH.js +0 -1
- package/dist/inspector/assets/source_link-F28DRJcQ.js +0 -1
- package/dist/inspector/assets/subscriptions-h9ztjykU.js +0 -1
- package/dist/inspector/assets/use_agents-DDblLEZf.js +0 -1
- package/dist/inspector/assets/use_interpretations-DLkb4vW4.js +0 -1
- package/dist/inspector/assets/use_peers-DFAVPAWD.js +0 -1
- package/dist/inspector/assets/use_relationships-r_h9PnnU.js +0 -1
- package/dist/inspector/assets/use_stats-CaY4OSPt.js +0 -1
- package/dist/inspector/assets/use_timeline-CGMIHFH0.js +0 -1
- package/dist/services/activation/stage_zero_five.d.ts +0 -62
- package/dist/services/activation/stage_zero_five.d.ts.map +0 -1
- package/dist/services/activation/stage_zero_five.js +0 -126
- package/dist/services/activation/stage_zero_five.js.map +0 -1
- package/dist/services/activation/user_preference.d.ts +0 -110
- package/dist/services/activation/user_preference.d.ts.map +0 -1
- package/dist/services/activation/user_preference.js +0 -98
- package/dist/services/activation/user_preference.js.map +0 -1
- package/dist/services/activation/vertical_detection.d.ts +0 -78
- package/dist/services/activation/vertical_detection.d.ts.map +0 -1
- package/dist/services/activation/vertical_detection.js +0 -219
- package/dist/services/activation/vertical_detection.js.map +0 -1
- package/dist/services/app_mount.d.ts +0 -166
- package/dist/services/app_mount.d.ts.map +0 -1
- package/dist/services/app_mount.js +0 -626
- package/dist/services/app_mount.js.map +0 -1
- package/dist/services/bundled_pages/html_shell.d.ts +0 -118
- package/dist/services/bundled_pages/html_shell.d.ts.map +0 -1
- package/dist/services/bundled_pages/html_shell.js +0 -242
- package/dist/services/bundled_pages/html_shell.js.map +0 -1
- package/dist/services/bundled_pages/tokens.d.ts +0 -496
- package/dist/services/bundled_pages/tokens.d.ts.map +0 -1
- package/dist/services/bundled_pages/tokens.js +0 -261
- package/dist/services/bundled_pages/tokens.js.map +0 -1
- package/dist/services/compliance/alerting.d.ts +0 -123
- package/dist/services/compliance/alerting.d.ts.map +0 -1
- package/dist/services/compliance/alerting.js +0 -169
- package/dist/services/compliance/alerting.js.map +0 -1
- package/dist/services/compliance/historical_backfill.d.ts +0 -74
- package/dist/services/compliance/historical_backfill.d.ts.map +0 -1
- package/dist/services/compliance/historical_backfill.js +0 -244
- package/dist/services/compliance/historical_backfill.js.map +0 -1
- package/dist/services/compliance/renderer.d.ts +0 -21
- package/dist/services/compliance/renderer.d.ts.map +0 -1
- package/dist/services/compliance/renderer.js +0 -208
- package/dist/services/compliance/renderer.js.map +0 -1
- package/dist/services/compliance/routes.d.ts +0 -55
- package/dist/services/compliance/routes.d.ts.map +0 -1
- package/dist/services/compliance/routes.js +0 -212
- package/dist/services/compliance/routes.js.map +0 -1
- package/dist/services/docs/site_page_frontmatter.d.ts +0 -58
- package/dist/services/docs/site_page_frontmatter.d.ts.map +0 -1
- package/dist/services/docs/site_page_frontmatter.js +0 -106
- package/dist/services/docs/site_page_frontmatter.js.map +0 -1
- package/dist/services/docs/site_page_index_builder.d.ts +0 -49
- package/dist/services/docs/site_page_index_builder.d.ts.map +0 -1
- package/dist/services/docs/site_page_index_builder.js +0 -152
- package/dist/services/docs/site_page_index_builder.js.map +0 -1
- package/dist/services/docs/site_pages_route.d.ts +0 -33
- package/dist/services/docs/site_pages_route.d.ts.map +0 -1
- package/dist/services/docs/site_pages_route.js +0 -124
- package/dist/services/docs/site_pages_route.js.map +0 -1
- package/dist/services/docs_bundle/frontmatter.d.ts +0 -26
- package/dist/services/docs_bundle/frontmatter.d.ts.map +0 -1
- package/dist/services/docs_bundle/frontmatter.js +0 -50
- package/dist/services/docs_bundle/frontmatter.js.map +0 -1
- package/dist/services/docs_bundle/loader.d.ts +0 -28
- package/dist/services/docs_bundle/loader.d.ts.map +0 -1
- package/dist/services/docs_bundle/loader.js +0 -91
- package/dist/services/docs_bundle/loader.js.map +0 -1
- package/dist/services/docs_bundle/render_html.d.ts +0 -15
- package/dist/services/docs_bundle/render_html.d.ts.map +0 -1
- package/dist/services/docs_bundle/render_html.js +0 -48
- package/dist/services/docs_bundle/render_html.js.map +0 -1
- package/dist/services/docs_bundle/types.d.ts +0 -73
- package/dist/services/docs_bundle/types.d.ts.map +0 -1
- package/dist/services/docs_bundle/types.js +0 -50
- package/dist/services/docs_bundle/types.js.map +0 -1
- package/dist/services/docs_install/loader.d.ts +0 -25
- package/dist/services/docs_install/loader.d.ts.map +0 -1
- package/dist/services/docs_install/loader.js +0 -63
- package/dist/services/docs_install/loader.js.map +0 -1
- package/dist/services/docs_install/renderer.d.ts +0 -40
- package/dist/services/docs_install/renderer.d.ts.map +0 -1
- package/dist/services/docs_install/renderer.js +0 -323
- package/dist/services/docs_install/renderer.js.map +0 -1
- package/dist/services/docs_install/routes.d.ts +0 -20
- package/dist/services/docs_install/routes.d.ts.map +0 -1
- package/dist/services/docs_install/routes.js +0 -117
- package/dist/services/docs_install/routes.js.map +0 -1
- package/dist/services/entity_submission/seed_product_feedback_schema.d.ts +0 -11
- package/dist/services/entity_submission/seed_product_feedback_schema.d.ts.map +0 -1
- package/dist/services/entity_submission/seed_product_feedback_schema.js +0 -45
- package/dist/services/entity_submission/seed_product_feedback_schema.js.map +0 -1
- package/dist/services/feedback/activation.d.ts +0 -20
- package/dist/services/feedback/activation.d.ts.map +0 -1
- package/dist/services/feedback/activation.js +0 -66
- package/dist/services/feedback/activation.js.map +0 -1
- package/dist/services/feedback/admin_proxy.d.ts +0 -73
- package/dist/services/feedback/admin_proxy.d.ts.map +0 -1
- package/dist/services/feedback/admin_proxy.js +0 -292
- package/dist/services/feedback/admin_proxy.js.map +0 -1
- package/dist/services/feedback/admin_session.d.ts +0 -36
- package/dist/services/feedback/admin_session.d.ts.map +0 -1
- package/dist/services/feedback/admin_session.js +0 -147
- package/dist/services/feedback/admin_session.js.map +0 -1
- package/dist/services/feedback/local_store.d.ts +0 -72
- package/dist/services/feedback/local_store.d.ts.map +0 -1
- package/dist/services/feedback/local_store.js +0 -95
- package/dist/services/feedback/local_store.js.map +0 -1
- package/dist/services/feedback/mirror_local_to_entity.d.ts +0 -42
- package/dist/services/feedback/mirror_local_to_entity.d.ts.map +0 -1
- package/dist/services/feedback/mirror_local_to_entity.js +0 -71
- package/dist/services/feedback/mirror_local_to_entity.js.map +0 -1
- package/dist/services/feedback/neotoma_payload.d.ts +0 -108
- package/dist/services/feedback/neotoma_payload.d.ts.map +0 -1
- package/dist/services/feedback/neotoma_payload.js +0 -169
- package/dist/services/feedback/neotoma_payload.js.map +0 -1
- package/dist/services/feedback/next_check.d.ts +0 -4
- package/dist/services/feedback/next_check.d.ts.map +0 -1
- package/dist/services/feedback/next_check.js +0 -22
- package/dist/services/feedback/next_check.js.map +0 -1
- package/dist/services/feedback/seed_schema.d.ts +0 -52
- package/dist/services/feedback/seed_schema.d.ts.map +0 -1
- package/dist/services/feedback/seed_schema.js +0 -160
- package/dist/services/feedback/seed_schema.js.map +0 -1
- package/dist/services/feedback/types.d.ts +0 -134
- package/dist/services/feedback/types.d.ts.map +0 -1
- package/dist/services/feedback/types.js +0 -23
- package/dist/services/feedback/types.js.map +0 -1
- package/dist/services/feedback/upgrade_guidance_map.d.ts +0 -24
- package/dist/services/feedback/upgrade_guidance_map.d.ts.map +0 -1
- package/dist/services/feedback/upgrade_guidance_map.js +0 -39
- package/dist/services/feedback/upgrade_guidance_map.js.map +0 -1
- package/dist/services/feedback/verification_request.d.ts +0 -14
- package/dist/services/feedback/verification_request.d.ts.map +0 -1
- package/dist/services/feedback/verification_request.js +0 -33
- package/dist/services/feedback/verification_request.js.map +0 -1
- package/dist/services/feedback_transport.d.ts +0 -15
- package/dist/services/feedback_transport.d.ts.map +0 -1
- package/dist/services/feedback_transport.js +0 -31
- package/dist/services/feedback_transport.js.map +0 -1
- package/dist/services/feedback_transport_http.d.ts +0 -14
- package/dist/services/feedback_transport_http.d.ts.map +0 -1
- package/dist/services/feedback_transport_http.js +0 -40
- package/dist/services/feedback_transport_http.js.map +0 -1
- package/dist/services/feedback_transport_local.d.ts +0 -20
- package/dist/services/feedback_transport_local.d.ts.map +0 -1
- package/dist/services/feedback_transport_local.js +0 -152
- package/dist/services/feedback_transport_local.js.map +0 -1
- package/dist/services/issues/syncIssuesFromGitHub.d.ts +0 -35
- package/dist/services/issues/syncIssuesFromGitHub.d.ts.map +0 -1
- package/dist/services/issues/syncIssuesFromGitHub.js +0 -193
- package/dist/services/issues/syncIssuesFromGitHub.js.map +0 -1
- package/dist/services/oauth_pages/render.d.ts +0 -25
- package/dist/services/oauth_pages/render.d.ts.map +0 -1
- package/dist/services/oauth_pages/render.js +0 -235
- package/dist/services/oauth_pages/render.js.map +0 -1
- package/dist/services/root_landing/auth_overview.d.ts +0 -60
- package/dist/services/root_landing/auth_overview.d.ts.map +0 -1
- package/dist/services/root_landing/auth_overview.js +0 -86
- package/dist/services/root_landing/auth_overview.js.map +0 -1
- package/dist/services/root_landing/cli_overview.d.ts +0 -34
- package/dist/services/root_landing/cli_overview.d.ts.map +0 -1
- package/dist/services/root_landing/cli_overview.js +0 -123
- package/dist/services/root_landing/cli_overview.js.map +0 -1
- package/dist/services/root_landing/http_api_overview.d.ts +0 -34
- package/dist/services/root_landing/http_api_overview.d.ts.map +0 -1
- package/dist/services/root_landing/http_api_overview.js +0 -110
- package/dist/services/root_landing/http_api_overview.js.map +0 -1
- package/dist/services/root_landing/mcp_overview.d.ts +0 -34
- package/dist/services/root_landing/mcp_overview.d.ts.map +0 -1
- package/dist/services/root_landing/mcp_overview.js +0 -133
- package/dist/services/root_landing/mcp_overview.js.map +0 -1
- package/dist/services/sandbox/inspector_redirect.d.ts +0 -41
- package/dist/services/sandbox/inspector_redirect.d.ts.map +0 -1
- package/dist/services/sandbox/inspector_redirect.js +0 -59
- package/dist/services/sandbox/inspector_redirect.js.map +0 -1
- package/dist/services/timeline_user_query.d.ts +0 -22
- package/dist/services/timeline_user_query.d.ts.map +0 -1
- package/dist/services/timeline_user_query.js +0 -60
- package/dist/services/timeline_user_query.js.map +0 -1
- package/dist/services/usage_stats.d.ts +0 -18
- package/dist/services/usage_stats.d.ts.map +0 -1
- package/dist/services/usage_stats.js +0 -82
- package/dist/services/usage_stats.js.map +0 -1
- package/dist/services/verticals/baseline_metadata.d.ts +0 -39
- package/dist/services/verticals/baseline_metadata.d.ts.map +0 -1
- package/dist/services/verticals/baseline_metadata.js +0 -394
- package/dist/services/verticals/baseline_metadata.js.map +0 -1
- package/dist/services/verticals/entity_type_registry.d.ts +0 -29
- package/dist/services/verticals/entity_type_registry.d.ts.map +0 -1
- package/dist/services/verticals/entity_type_registry.js +0 -169
- package/dist/services/verticals/entity_type_registry.js.map +0 -1
- package/dist/services/verticals/install.d.ts +0 -64
- package/dist/services/verticals/install.d.ts.map +0 -1
- package/dist/services/verticals/install.js +0 -262
- package/dist/services/verticals/install.js.map +0 -1
- package/dist/services/verticals/registry.d.ts +0 -131
- package/dist/services/verticals/registry.d.ts.map +0 -1
- package/dist/services/verticals/registry.js +0 -457
- package/dist/services/verticals/registry.js.map +0 -1
- package/dist/shared/generated_design_tokens.d.ts +0 -2
- package/dist/shared/generated_design_tokens.d.ts.map +0 -1
- package/dist/shared/generated_design_tokens.js +0 -3
- package/dist/shared/generated_design_tokens.js.map +0 -1
- /package/dist/inspector/assets/{graph_explorer-BZV40eAE.css → graph_layout-BZV40eAE.css} +0 -0
package/dist/actions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAsC9B,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AAarC,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,4BAA4B,CAAC;AA4BpC,OAAO,EAQL,KAAK,sBAAsB,EAC5B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/actions.js
CHANGED
|
@@ -42,7 +42,9 @@ import { OAuthError } from "./services/mcp_oauth_errors.js";
|
|
|
42
42
|
import { ensureLocalDevUser, ensureLocalSandboxUser, ensureSandboxAauthUser, ensureSandboxPublicUser, LOCAL_DEV_USER_ID, SANDBOX_PUBLIC_USER_ID, } from "./services/local_auth.js";
|
|
43
43
|
import { buildSandboxBootBannerLines, isSandboxMode, resolveForceMode, resolveRefusePolicy, resolveSandboxMode, sandboxDestructiveGuard, sandboxHeaderMiddleware, } from "./services/sandbox_mode.js";
|
|
44
44
|
import { createSandboxSession, redeemOneTimeCode, resolveSessionFromRequest, revokeSession, purgeSessionUserData, sweepExpiredSessions, SESSION_COOKIE_NAME, } from "./services/sandbox/sessions.js";
|
|
45
|
-
import {
|
|
45
|
+
import { seedForSession } from "./services/sandbox/seeder.js";
|
|
46
|
+
import { getSandboxPack } from "./services/sandbox/pack_registry.js";
|
|
47
|
+
import { buildEndpointsMap, buildLandingContext, buildRootLandingJson, buildRootLandingMarkdown, buildRobotsTxt, readGitSha, readNeotomaConfigEnvironment, readPackageVersion, resolveLandingMode, wantsHtml as acceptWantsHtml, wantsMarkdown as acceptWantsMarkdown, } from "./services/root_landing/index.js";
|
|
46
48
|
import { mountDocsRoutes } from "./services/docs/index.js";
|
|
47
49
|
import { installInspectorLegacyRedirect, installInspectorRootStaticAssets, installInspectorSpaFallback, installInspectorSpaShellEarly, resolveBundledInspectorDir, } from "./services/inspector_mount.js";
|
|
48
50
|
import { getSandboxTermsResponse } from "./services/sandbox/terms.js";
|
|
@@ -178,10 +180,34 @@ if (isSandboxMode()) {
|
|
|
178
180
|
keyGenerator: (req) => `ip:${ipKeyGenerator(req.ip || "")}`,
|
|
179
181
|
validate: { trustProxy: false },
|
|
180
182
|
});
|
|
181
|
-
|
|
183
|
+
const createAndSeedSession = async (packId) => {
|
|
184
|
+
const session = createSandboxSession(packId);
|
|
185
|
+
const pack = getSandboxPack(session.packId);
|
|
186
|
+
// Packs with seedPolicy "none" (e.g. the empty pack) legitimately seed
|
|
187
|
+
// nothing — that is "skipped", not a failure.
|
|
188
|
+
if (!pack || pack.seedPolicy === "none" || !pack.manifestPath) {
|
|
189
|
+
return { session, seedStatus: "skipped" };
|
|
190
|
+
}
|
|
191
|
+
try {
|
|
192
|
+
const baseUrl = process.env.NEOTOMA_SANDBOX_BASE_URL?.trim() ||
|
|
193
|
+
`http://127.0.0.1:${process.env.HTTP_PORT?.trim() || "3180"}`;
|
|
194
|
+
const seeded = await seedForSession({
|
|
195
|
+
packId: session.packId,
|
|
196
|
+
baseUrl,
|
|
197
|
+
bearer: session.bearerToken,
|
|
198
|
+
logger: (msg) => logger.info(`[Sandbox][seed] ${msg}`),
|
|
199
|
+
});
|
|
200
|
+
return { session, seedStatus: seeded ? "seeded" : "failed" };
|
|
201
|
+
}
|
|
202
|
+
catch (err) {
|
|
203
|
+
logger.error(`[Sandbox] seeding failed for session ${session.userId} (pack ${session.packId}): ${err.message}`);
|
|
204
|
+
return { session, seedStatus: "failed" };
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
app.post("/sandbox/session/new", sessionRateLimit, async (req, res) => {
|
|
182
208
|
try {
|
|
183
209
|
const packId = typeof req.body?.pack_id === "string" ? req.body.pack_id : "generic";
|
|
184
|
-
const session =
|
|
210
|
+
const { session, seedStatus } = await createAndSeedSession(packId);
|
|
185
211
|
res.cookie(SESSION_COOKIE_NAME, session.bearerToken, {
|
|
186
212
|
httpOnly: true,
|
|
187
213
|
sameSite: "lax",
|
|
@@ -192,6 +218,7 @@ if (isSandboxMode()) {
|
|
|
192
218
|
one_time_code: session.oneTimeCode,
|
|
193
219
|
expires_at: session.expiresAt,
|
|
194
220
|
pack_id: session.packId,
|
|
221
|
+
seed_status: seedStatus,
|
|
195
222
|
});
|
|
196
223
|
}
|
|
197
224
|
catch (err) {
|
|
@@ -248,7 +275,7 @@ if (isSandboxMode()) {
|
|
|
248
275
|
expires_at: session.expiresAt,
|
|
249
276
|
});
|
|
250
277
|
});
|
|
251
|
-
app.post("/sandbox/session/reset", (req, res) => {
|
|
278
|
+
app.post("/sandbox/session/reset", async (req, res) => {
|
|
252
279
|
const session = resolveSessionFromRequest(req);
|
|
253
280
|
if (!session) {
|
|
254
281
|
res.status(401).json({ error_code: "NO_SESSION", message: "No active sandbox session" });
|
|
@@ -256,7 +283,7 @@ if (isSandboxMode()) {
|
|
|
256
283
|
}
|
|
257
284
|
const packId = typeof req.body?.pack_id === "string" ? req.body.pack_id : undefined;
|
|
258
285
|
purgeSessionUserData(session.userId);
|
|
259
|
-
const newSession =
|
|
286
|
+
const { session: newSession, seedStatus } = await createAndSeedSession(packId ?? session.packId);
|
|
260
287
|
res.cookie(SESSION_COOKIE_NAME, newSession.bearerToken, {
|
|
261
288
|
httpOnly: true,
|
|
262
289
|
sameSite: "lax",
|
|
@@ -267,6 +294,7 @@ if (isSandboxMode()) {
|
|
|
267
294
|
user_id: newSession.userId,
|
|
268
295
|
pack_id: newSession.packId,
|
|
269
296
|
expires_at: newSession.expiresAt,
|
|
297
|
+
seed_status: seedStatus,
|
|
270
298
|
});
|
|
271
299
|
});
|
|
272
300
|
app.delete("/sandbox/session", (req, res) => {
|
|
@@ -411,15 +439,13 @@ app.get("/", (req, res, next) => {
|
|
|
411
439
|
try {
|
|
412
440
|
const ctx = buildLandingContext(req);
|
|
413
441
|
res.setHeader("Cache-Control", "public, max-age=60");
|
|
414
|
-
// For HTML requests
|
|
415
|
-
// hosted_sandbox
|
|
416
|
-
//
|
|
417
|
-
//
|
|
418
|
-
//
|
|
442
|
+
// For HTML requests the Inspector SPA is the primary UI in EVERY mode,
|
|
443
|
+
// hosted_sandbox included: fall through to the SPA fallback handler
|
|
444
|
+
// (installInspectorSpaFallback) so the Inspector's HomePage loads at root.
|
|
445
|
+
// In sandbox the HomePage renders the pack picker (SandboxPackPicker) that
|
|
446
|
+
// previously lived on this server-rendered landing page. Agents/curl still
|
|
447
|
+
// get the structured JSON/Markdown payload below.
|
|
419
448
|
if (acceptWantsHtml(req.headers.accept)) {
|
|
420
|
-
if (ctx.hostedSandbox) {
|
|
421
|
-
return res.type("html").send(buildRootLandingHtml(ctx));
|
|
422
|
-
}
|
|
423
449
|
return next();
|
|
424
450
|
}
|
|
425
451
|
// JSON and Markdown consumers (agents, curl) always get the structured
|
|
@@ -1540,6 +1566,12 @@ app.all("/mcp", async (req, res) => {
|
|
|
1540
1566
|
const aauthContext = getAAuthContextFromRequest(req);
|
|
1541
1567
|
if (serverInstance) {
|
|
1542
1568
|
serverInstance.setSessionAgentIdentity(aauthContext);
|
|
1569
|
+
// Thread the admission (grant match) so the MCP initialize auth
|
|
1570
|
+
// resolution and the per-tool capability gate can read it from the
|
|
1571
|
+
// session. The transport runs inside a nested runWithRequestContext
|
|
1572
|
+
// that does not re-carry the ALS admission, so the session field is the
|
|
1573
|
+
// reliable channel. `aauthAdmissionForRequest` is resolved above.
|
|
1574
|
+
serverInstance.setSessionAdmission(aauthAdmissionForRequest);
|
|
1543
1575
|
}
|
|
1544
1576
|
// Build the provenance attribution to propagate via AsyncLocalStorage so
|
|
1545
1577
|
// write-path services (observations, relationships, sources, …) stamp
|
|
@@ -1576,8 +1608,24 @@ app.all("/mcp", async (req, res) => {
|
|
|
1576
1608
|
attachMcpSseKeepalive(req, res);
|
|
1577
1609
|
}
|
|
1578
1610
|
// Handle request with the transport inside the attribution context.
|
|
1611
|
+
// Include aauthAdmission in the outer context so the per-async-chain ALS
|
|
1612
|
+
// isolation carries the correct per-request admission into the transport
|
|
1613
|
+
// handler and all nested runWithRequestContext scopes (initialize,
|
|
1614
|
+
// callTool). This replaces the previous single-field
|
|
1615
|
+
// serverInstance.setSessionAdmission() pattern, which had a cross-request
|
|
1616
|
+
// race: concurrent requests from different grant owners shared one mutable
|
|
1617
|
+
// field on the NeotomaServer instance (one per MCP session), so request B's
|
|
1618
|
+
// setSessionAdmission() could overwrite the field before request A read it,
|
|
1619
|
+
// causing A to authenticate / dispatch as B's user_id. The ALS is
|
|
1620
|
+
// per-async-chain: each HTTP POST to /mcp runs in its own chain and sees
|
|
1621
|
+
// only its own aauthAdmission value. `aauthAdmissionForRequest` was already
|
|
1622
|
+
// resolved above (from the aauthAdmission() middleware on req).
|
|
1579
1623
|
const attributionDecision = getAttributionDecisionFromRequest(req);
|
|
1580
|
-
await runWithRequestContext({
|
|
1624
|
+
await runWithRequestContext({
|
|
1625
|
+
agentIdentity: fallbackIdentity,
|
|
1626
|
+
attributionDecision,
|
|
1627
|
+
aauthAdmission: aauthAdmissionForRequest,
|
|
1628
|
+
}, () => transport.handleRequest(req, res, req.body));
|
|
1581
1629
|
}
|
|
1582
1630
|
catch (error) {
|
|
1583
1631
|
logger.error("[MCP HTTP] Request error:", error);
|
|
@@ -5537,6 +5585,46 @@ export async function storeStructuredForApi(params) {
|
|
|
5537
5585
|
aggregate.issues = issues;
|
|
5538
5586
|
throw aggregate;
|
|
5539
5587
|
}
|
|
5588
|
+
// Write-time value constraint enforcement (#1756).
|
|
5589
|
+
// Run before any observation writes so a "reject" policy aborts the whole
|
|
5590
|
+
// batch cleanly (mirrors the ERR_STORE_RESOLUTION_FAILED aggregate pattern).
|
|
5591
|
+
// Constraint violations in "warn" mode are deferred to the schemaStoreWarnings
|
|
5592
|
+
// pass below where the schema is re-loaded alongside the other warnings.
|
|
5593
|
+
{
|
|
5594
|
+
const { schemaRegistry: cvSchemaRegistry } = await import("./services/schema_registry.js");
|
|
5595
|
+
const { collectConstraintViolations, ConstraintViolationError } = await import("./services/field_constraints.js");
|
|
5596
|
+
const constraintIssues = [];
|
|
5597
|
+
for (const r of resolved) {
|
|
5598
|
+
let cvSchemaEntry;
|
|
5599
|
+
try {
|
|
5600
|
+
cvSchemaEntry = await cvSchemaRegistry.loadActiveSchema(r.entity_type, userId);
|
|
5601
|
+
}
|
|
5602
|
+
catch {
|
|
5603
|
+
// Best-effort; never block store on registry IO failure.
|
|
5604
|
+
}
|
|
5605
|
+
if (!cvSchemaEntry?.schema_definition?.fields)
|
|
5606
|
+
continue;
|
|
5607
|
+
const cvPolicy = cvSchemaEntry.schema_definition.constraint_violation_policy ?? "reject";
|
|
5608
|
+
const violations = collectConstraintViolations(r.fields, cvSchemaEntry.schema_definition.fields);
|
|
5609
|
+
if (violations.length === 0)
|
|
5610
|
+
continue;
|
|
5611
|
+
if (cvPolicy === "reject") {
|
|
5612
|
+
const cvErr = new ConstraintViolationError(violations);
|
|
5613
|
+
constraintIssues.push({
|
|
5614
|
+
observation_index: r.observation_index,
|
|
5615
|
+
entity_type: r.entity_type,
|
|
5616
|
+
message: cvErr.message,
|
|
5617
|
+
});
|
|
5618
|
+
}
|
|
5619
|
+
// "warn" mode violations are surfaced in the schemaStoreWarnings pass below.
|
|
5620
|
+
}
|
|
5621
|
+
if (constraintIssues.length > 0) {
|
|
5622
|
+
const cvAggregate = new Error(`Structured store refused: ${constraintIssues.length} observation(s) failed constraint validation.`);
|
|
5623
|
+
cvAggregate.code = "ERR_CONSTRAINT_VIOLATION";
|
|
5624
|
+
cvAggregate.issues = constraintIssues;
|
|
5625
|
+
throw cvAggregate;
|
|
5626
|
+
}
|
|
5627
|
+
}
|
|
5540
5628
|
const createdEntities = [];
|
|
5541
5629
|
for (const r of resolved) {
|
|
5542
5630
|
let observation_id = null;
|
|
@@ -5872,6 +5960,45 @@ export async function storeStructuredForApi(params) {
|
|
|
5872
5960
|
anyUnknownFieldSchemaHasIdentityConfig = true;
|
|
5873
5961
|
}
|
|
5874
5962
|
}
|
|
5963
|
+
// Write-time constraint violations in "warn" mode (#1756).
|
|
5964
|
+
// "reject" violations were already handled before the observation write
|
|
5965
|
+
// loop; only "warn" policies reach this point.
|
|
5966
|
+
if (schemaDef?.fields) {
|
|
5967
|
+
const cvPolicy = schemaDef.constraint_violation_policy ?? "reject";
|
|
5968
|
+
if (cvPolicy === "warn") {
|
|
5969
|
+
const { collectConstraintViolations: _cvCollect } = await import("./services/field_constraints.js");
|
|
5970
|
+
const warnViolations = _cvCollect(r.fields, schemaDef.fields);
|
|
5971
|
+
for (const v of warnViolations) {
|
|
5972
|
+
schemaStoreWarnings.push({
|
|
5973
|
+
code: "CONSTRAINT_VIOLATION",
|
|
5974
|
+
message: `${r.entity_type} field "${v.field}" failed constraint "${v.constraint}": ${v.message}`,
|
|
5975
|
+
observation_index: r.observation_index,
|
|
5976
|
+
entity_type: r.entity_type,
|
|
5977
|
+
entity_id: r.entity_id,
|
|
5978
|
+
});
|
|
5979
|
+
}
|
|
5980
|
+
}
|
|
5981
|
+
}
|
|
5982
|
+
// Issue #1755: SOURCE_PRIORITY_IGNORED — non-blocking advisory warning
|
|
5983
|
+
// when the caller sets a non-default source_priority but none of the
|
|
5984
|
+
// fields being written will actually honour it. This happens when every
|
|
5985
|
+
// field's merge policy is `last_write` (the auto-discovered-schema
|
|
5986
|
+
// default) or `merge_array` — both ignore source_priority entirely.
|
|
5987
|
+
// The warning is emitted regardless of whether the entity has a
|
|
5988
|
+
// registered schema (no schema → all fields effectively last_write).
|
|
5989
|
+
{
|
|
5990
|
+
const { buildSourcePriorityIgnoredWarning } = await import("./services/source_priority_warning.js");
|
|
5991
|
+
const spWarn = buildSourcePriorityIgnoredWarning({
|
|
5992
|
+
sourcePriority,
|
|
5993
|
+
writtenFields: r.fields,
|
|
5994
|
+
mergePolicies: schemaEntry?.reducer_config?.merge_policies,
|
|
5995
|
+
observationIndex: r.observation_index,
|
|
5996
|
+
entityType: r.entity_type,
|
|
5997
|
+
entityId: r.entity_id,
|
|
5998
|
+
});
|
|
5999
|
+
if (spWarn)
|
|
6000
|
+
schemaStoreWarnings.push(spWarn);
|
|
6001
|
+
}
|
|
5875
6002
|
}
|
|
5876
6003
|
}
|
|
5877
6004
|
const unknownFieldNames = Array.from(unknownFieldNamesSet).sort();
|
|
@@ -6160,6 +6287,19 @@ async function handleStorePost(req, res) {
|
|
|
6160
6287
|
},
|
|
6161
6288
|
});
|
|
6162
6289
|
}
|
|
6290
|
+
if (error && typeof error === "object" && errCode === "ERR_CONSTRAINT_VIOLATION") {
|
|
6291
|
+
const err = error;
|
|
6292
|
+
logWarn("ConstraintViolationError:store", req, {
|
|
6293
|
+
issue_count: err.issues?.length ?? 0,
|
|
6294
|
+
});
|
|
6295
|
+
return res.status(400).json({
|
|
6296
|
+
error: {
|
|
6297
|
+
code: "ERR_CONSTRAINT_VIOLATION",
|
|
6298
|
+
message: err.message,
|
|
6299
|
+
issues: err.issues ?? [],
|
|
6300
|
+
},
|
|
6301
|
+
});
|
|
6302
|
+
}
|
|
6163
6303
|
if (error && typeof error === "object" && errCode === "ERR_FLAT_PACKED_ROWS") {
|
|
6164
6304
|
const err = error;
|
|
6165
6305
|
logWarn("FlatPackedRowsError:store", req, {
|