neotoma 0.18.2 → 0.18.3
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 +48 -9
- package/dist/actions.js.map +1 -1
- package/dist/cli/activate.d.ts +72 -0
- package/dist/cli/activate.d.ts.map +1 -0
- package/dist/cli/activate.js +160 -0
- package/dist/cli/activate.js.map +1 -0
- package/dist/cli/auth_keygen.d.ts +11 -0
- package/dist/cli/auth_keygen.d.ts.map +1 -0
- package/dist/cli/auth_keygen.js +110 -0
- package/dist/cli/auth_keygen.js.map +1 -0
- package/dist/cli/packs.d.ts +15 -0
- package/dist/cli/packs.d.ts.map +1 -0
- package/dist/cli/packs.js +156 -0
- package/dist/cli/packs.js.map +1 -0
- package/dist/cli/triage.d.ts +33 -0
- package/dist/cli/triage.d.ts.map +1 -0
- package/dist/cli/triage.js +251 -0
- package/dist/cli/triage.js.map +1 -0
- package/dist/docs/testing/automated_test_catalog.md +5 -4
- package/dist/inspector/assets/{access_policies-Bgx-SZYe.js → access_policies-BN-34iPu.js} +1 -1
- package/dist/inspector/assets/{agent_badge-C33tCpxh.js → agent_badge-CpLLrPir.js} +1 -1
- package/dist/inspector/assets/{agent_detail-gfDjvyWc.js → agent_detail-Brp-tB8X.js} +1 -1
- package/dist/inspector/assets/{agent_filter-D4laqYjo.js → agent_filter-s5rgofFz.js} +1 -1
- package/dist/inspector/assets/{agent_grant_detail-YHMN0I36.js → agent_grant_detail-xAlGjTk8.js} +1 -1
- package/dist/inspector/assets/{agent_grant_form-COhga3hy.js → agent_grant_form-bwLmrrpe.js} +1 -1
- package/dist/inspector/assets/{agent_grants-D6A_JuS2.js → agent_grants-BR5ZiW9X.js} +1 -1
- package/dist/inspector/assets/{agents-BOoOc4bq.js → agents-BxvOd8g7.js} +1 -1
- package/dist/inspector/assets/{api_not_configured_state-DTvBRhie.js → api_not_configured_state-C_AknY0i.js} +1 -1
- package/dist/inspector/assets/{attribution_card-BkbIJSjc.js → attribution_card-V7RwrLTr.js} +1 -1
- package/dist/inspector/assets/{attribution_summary-BbMRTGON.js → attribution_summary-BQnfxTcJ.js} +1 -1
- package/dist/inspector/assets/{bundles-C1Vbryad.js → bundles-sJa73Dcv.js} +1 -1
- package/dist/inspector/assets/{card-VEtVMpk8.js → card-Caif065r.js} +1 -1
- package/dist/inspector/assets/{checkbox-DUWnf3Dc.js → checkbox-B28sWZdk.js} +1 -1
- package/dist/inspector/assets/{compliance-LGZJfcc4.js → compliance-KDW54hEE.js} +1 -1
- package/dist/inspector/assets/{confirm-dialog-KxqCxG3b.js → confirm-dialog-bdJnFa6d.js} +1 -1
- package/dist/inspector/assets/{conversation_common-Dxo8dRpw.js → conversation_common-CNh4V-VM.js} +1 -1
- package/dist/inspector/assets/{conversation_detail-BWJ2Ip15.js → conversation_detail-Bt2IXE7y.js} +1 -1
- package/dist/inspector/assets/{copy_id_button-SJ2sUMK1.js → copy_id_button-cUFHxvIp.js} +1 -1
- package/dist/inspector/assets/{copyable_code_block-xMzp8G09.js → copyable_code_block-D0ytL1p9.js} +1 -1
- package/dist/inspector/assets/{corrections-BJD1E6Zx.js → corrections-CbZliqBi.js} +1 -1
- package/dist/inspector/assets/{dashboard-BOnx6ZyM.js → dashboard-BZSEFRQ9.js} +1 -1
- package/dist/inspector/assets/{data-table-DW3TzIhP.js → data-table-CGnZkL3S.js} +1 -1
- package/dist/inspector/assets/{design-C1T-vnFH.js → design-CQy32Vpd.js} +1 -1
- package/dist/inspector/assets/{dialog-DH8W3l6O.js → dialog-BL53sB1T.js} +1 -1
- package/dist/inspector/assets/{docs-D1LVDpcM.js → docs-DnlLpLpj.js} +1 -1
- package/dist/inspector/assets/{docs_page_layout-D3eBLbl8.js → docs_page_layout-BjrKZD9G.js} +1 -1
- package/dist/inspector/assets/embed_graph-BO-onTk4.js +1 -0
- package/dist/inspector/assets/{empty_state-BGnkG3yO.js → empty_state-DrwUUQcO.js} +1 -1
- package/dist/inspector/assets/{entities-Bm3dkUFI.js → entities-BeHutS_W.js} +1 -1
- package/dist/inspector/assets/{entity_correct-D5WJNaFc.js → entity_correct-Bk2kmwFT.js} +1 -1
- package/dist/inspector/assets/{entity_history-Ci7GWHy5.js → entity_history-CwjZH9Xo.js} +1 -1
- package/dist/inspector/assets/{entity_history_sections-u3aV-Lc9.js → entity_history_sections-W0K_zYQb.js} +1 -1
- package/dist/inspector/assets/{entity_link-CNldR-lq.js → entity_link-CnrSK4Tx.js} +1 -1
- package/dist/inspector/assets/{entity_relationships_by_type-C0Gk2BTQ.js → entity_relationships_by_type-X5VsJD6e.js} +1 -1
- package/dist/inspector/assets/{entity_segment_page-Df2iD87C.js → entity_segment_page-BvKqG1OE.js} +1 -1
- package/dist/inspector/assets/{entity_table_column_toggle-DZ1xAV_m.js → entity_table_column_toggle-ZJYlmPjQ.js} +1 -1
- package/dist/inspector/assets/{entity_timeline-BZ-s73b8.js → entity_timeline-B3ZI68ZE.js} +1 -1
- package/dist/inspector/assets/{entity_types-Ba5ZqBUc.js → entity_types-CoH5Fjo7.js} +1 -1
- package/dist/inspector/assets/{faq-BbETwvzl.js → faq-FmlzGyjZ.js} +1 -1
- package/dist/inspector/assets/{graph_explorer-Bc3BPsM8.js → graph_explorer-CnNtKaQr.js} +1 -1
- package/dist/inspector/assets/{graph_layout-BQDyyZaT.js → graph_layout-WbLRe5Nt.js} +2 -2
- package/dist/inspector/assets/{home-BXy-o49i.js → home-DSZwpZKh.js} +1 -1
- package/dist/inspector/assets/{index-BCtrS-q-.js → index-CUZJ9Hf7.js} +2 -2
- package/dist/inspector/assets/{index-Cjh2Ys9W.js → index-DKrPgz7x.js} +1 -1
- package/dist/inspector/assets/index-Dg7MFz-4.css +1 -0
- package/dist/inspector/assets/{index-C4dL6o71.js → index-Lm-STP_w.js} +1 -1
- package/dist/inspector/assets/{interpretations-BJVBv-H1.js → interpretations-BKBLcnx3.js} +1 -1
- package/dist/inspector/assets/interpretations-BooFLurj.js +1 -0
- package/dist/inspector/assets/{issue_author_attribution-Drv6KlfY.js → issue_author_attribution-CNHPR51J.js} +1 -1
- package/dist/inspector/assets/{issue_detail-DrT4ikoJ.js → issue_detail--Omb6RAl.js} +1 -1
- package/dist/inspector/assets/{issues-EjgDHAP9.js → issues-C_x9y7E2.js} +1 -1
- package/dist/inspector/assets/{json_viewer-CYiMb-da.js → json_viewer-Buv8J9uH.js} +1 -1
- package/dist/inspector/assets/{label-SnZK36YD.js → label-BOSmi_Ry.js} +1 -1
- package/dist/inspector/assets/{live_relative_time-Cz6uD0Gt.js → live_relative_time-BRhUEOAQ.js} +1 -1
- package/dist/inspector/assets/{mobile_filter_popover-B_m6VwNq.js → mobile_filter_popover-1rufw_SI.js} +1 -1
- package/dist/inspector/assets/{not_found-DnFt1jGz.js → not_found-CBUznHi6.js} +1 -1
- package/dist/inspector/assets/{observations-iCGEnajZ.js → observations-BOSfD-Fe.js} +1 -1
- package/dist/inspector/assets/{page_shell-Cn1X2P68.js → page_shell-Cnle3Z6i.js} +1 -1
- package/dist/inspector/assets/{pagination-CAf0CpCi.js → pagination-DiMq7Q_R.js} +1 -1
- package/dist/inspector/assets/{peer_detail-D-TsrPmb.js → peer_detail-CstWSgyC.js} +1 -1
- package/dist/inspector/assets/{peers-CIrAlrYe.js → peers-_iHT4uU0.js} +1 -1
- package/dist/inspector/assets/{pin_primitive_button-C7-VInsd.js → pin_primitive_button-CAvdxlvk.js} +1 -1
- package/dist/inspector/assets/{recent_activity-BkKsy8bS.js → recent_activity-DXzg9-dM.js} +1 -1
- package/dist/inspector/assets/{recent_conversations-DgVeHt13.js → recent_conversations-BykmPg9E.js} +1 -1
- package/dist/inspector/assets/{recent_conversations-CgO3k-zb.js → recent_conversations-DBke3tlZ.js} +1 -1
- package/dist/inspector/assets/{recent_records_feed-DsdMzXJY.js → recent_records_feed-x0Ny5gdj.js} +1 -1
- package/dist/inspector/assets/record_activity-CPWJ-_Ou.js +1 -0
- package/dist/inspector/assets/{relationship_detail-D5O0XvAg.js → relationship_detail-CEFggwIN.js} +1 -1
- package/dist/inspector/assets/{relationship_panel_groups-C4Ye9XdG.js → relationship_panel_groups-DCUcDTDW.js} +1 -1
- package/dist/inspector/assets/{relationships-Ctq6oof6.js → relationships-Dmz_G7SH.js} +1 -1
- package/dist/inspector/assets/{relationships-DicnNnZA.js → relationships-kDc-KN9Q.js} +1 -1
- package/dist/inspector/assets/{sandbox-BO0DD_0f.js → sandbox-DJoN6BdY.js} +1 -1
- package/dist/inspector/assets/{schema_detail-innLJRVT.js → schema_detail-D-dw9TlR.js} +1 -1
- package/dist/inspector/assets/{schemas-AGqfE4h0.js → schemas-kKjHI5LR.js} +1 -1
- package/dist/inspector/assets/{search-DySMNkgQ.js → search-DGRluy5K.js} +1 -1
- package/dist/inspector/assets/{segmented_control-DAeqcNHU.js → segmented_control-BeikqDNV.js} +1 -1
- package/dist/inspector/assets/{select-Dj5oFvji.js → select-vrMqzpPI.js} +1 -1
- package/dist/inspector/assets/{settings-DPSc-MsQ.js → settings-B31enQzQ.js} +1 -1
- package/dist/inspector/assets/{source_content-Biuq250n.js → source_content-COUM6IUs.js} +1 -1
- package/dist/inspector/assets/{source_content_open_button-BjEDZifP.js → source_content_open_button-CMPAYirb.js} +1 -1
- package/dist/inspector/assets/{source_detail-ToF80297.js → source_detail-2r_dQ1DI.js} +1 -1
- package/dist/inspector/assets/{source_link-UvbCS8kH.js → source_link-Ce1_Zy0p.js} +1 -1
- package/dist/inspector/assets/{sources-BdAjTWrY.js → sources-foH7eq0Y.js} +1 -1
- package/dist/inspector/assets/{subscriptions-BdisK-yb.js → subscriptions-EhpD8tpi.js} +1 -1
- package/dist/inspector/assets/{switch-BVOxcgUR.js → switch-DFfyJgPw.js} +1 -1
- package/dist/inspector/assets/{tabs-9eXcV6jq.js → tabs-CO1AKqKS.js} +1 -1
- package/dist/inspector/assets/{textarea-d76JXYw-.js → textarea-BNtVyu5K.js} +1 -1
- package/dist/inspector/assets/{timeline-ChTEisvC.js → timeline-BOzyKBqR.js} +1 -1
- package/dist/inspector/assets/{timeline-CWLYDyds.js → timeline-BvBqBcK9.js} +1 -1
- package/dist/inspector/assets/{timeline_event_detail-w1-wRXce.js → timeline_event_detail-D-9hzPWs.js} +1 -1
- package/dist/inspector/assets/{turn_detail-CrvvkrfX.js → turn_detail-JZv-2Evd.js} +1 -1
- package/dist/inspector/assets/{turns-C0TSjy95.js → turns-D5W7NC-n.js} +1 -1
- package/dist/inspector/assets/{use_agents-CRv6rDsh.js → use_agents-DNelJZjI.js} +1 -1
- package/dist/inspector/assets/{use_entities-Dxdt9oGZ.js → use_entities-Chw8OIMK.js} +1 -1
- package/dist/inspector/assets/use_interpretations-DyEjBp7X.js +1 -0
- package/dist/inspector/assets/{use_mutations-lnvzn8c8.js → use_mutations-A-QC7q0k.js} +1 -1
- package/dist/inspector/assets/{use_peers-D1YPXbCo.js → use_peers-D6YlqmoY.js} +1 -1
- package/dist/inspector/assets/{use_relationships-BIacD5VK.js → use_relationships-BPE1-rrt.js} +1 -1
- package/dist/inspector/assets/{use_stats-pecBajli.js → use_stats-B9WT45FM.js} +1 -1
- package/dist/inspector/assets/{use_timeline-7rcIc6M4.js → use_timeline-BmW6jH0T.js} +1 -1
- package/dist/inspector/assets/{use_turns-C1_j8N2Q.js → use_turns-DwOsaQPo.js} +1 -1
- package/dist/inspector/assets/{world_time_event_timeline-CBDb4DzY.js → world_time_event_timeline-WucES8kD.js} +1 -1
- package/dist/inspector/index.html +2 -2
- package/dist/services/activation/stage_zero_five.d.ts +62 -0
- package/dist/services/activation/stage_zero_five.d.ts.map +1 -0
- package/dist/services/activation/stage_zero_five.js +126 -0
- package/dist/services/activation/stage_zero_five.js.map +1 -0
- package/dist/services/activation/user_preference.d.ts +110 -0
- package/dist/services/activation/user_preference.d.ts.map +1 -0
- package/dist/services/activation/user_preference.js +98 -0
- package/dist/services/activation/user_preference.js.map +1 -0
- package/dist/services/activation/vertical_detection.d.ts +78 -0
- package/dist/services/activation/vertical_detection.d.ts.map +1 -0
- package/dist/services/activation/vertical_detection.js +219 -0
- package/dist/services/activation/vertical_detection.js.map +1 -0
- package/dist/services/app_mount.d.ts +166 -0
- package/dist/services/app_mount.d.ts.map +1 -0
- package/dist/services/app_mount.js +626 -0
- package/dist/services/app_mount.js.map +1 -0
- package/dist/services/bundled_pages/html_shell.d.ts +118 -0
- package/dist/services/bundled_pages/html_shell.d.ts.map +1 -0
- package/dist/services/bundled_pages/html_shell.js +242 -0
- package/dist/services/bundled_pages/html_shell.js.map +1 -0
- package/dist/services/bundled_pages/tokens.d.ts +496 -0
- package/dist/services/bundled_pages/tokens.d.ts.map +1 -0
- package/dist/services/bundled_pages/tokens.js +261 -0
- package/dist/services/bundled_pages/tokens.js.map +1 -0
- package/dist/services/compliance/alerting.d.ts +123 -0
- package/dist/services/compliance/alerting.d.ts.map +1 -0
- package/dist/services/compliance/alerting.js +169 -0
- package/dist/services/compliance/alerting.js.map +1 -0
- package/dist/services/compliance/historical_backfill.d.ts +74 -0
- package/dist/services/compliance/historical_backfill.d.ts.map +1 -0
- package/dist/services/compliance/historical_backfill.js +244 -0
- package/dist/services/compliance/historical_backfill.js.map +1 -0
- package/dist/services/compliance/renderer.d.ts +21 -0
- package/dist/services/compliance/renderer.d.ts.map +1 -0
- package/dist/services/compliance/renderer.js +208 -0
- package/dist/services/compliance/renderer.js.map +1 -0
- package/dist/services/compliance/routes.d.ts +55 -0
- package/dist/services/compliance/routes.d.ts.map +1 -0
- package/dist/services/compliance/routes.js +212 -0
- package/dist/services/compliance/routes.js.map +1 -0
- package/dist/services/docs/site_page_frontmatter.d.ts +58 -0
- package/dist/services/docs/site_page_frontmatter.d.ts.map +1 -0
- package/dist/services/docs/site_page_frontmatter.js +106 -0
- package/dist/services/docs/site_page_frontmatter.js.map +1 -0
- package/dist/services/docs/site_page_index_builder.d.ts +49 -0
- package/dist/services/docs/site_page_index_builder.d.ts.map +1 -0
- package/dist/services/docs/site_page_index_builder.js +152 -0
- package/dist/services/docs/site_page_index_builder.js.map +1 -0
- package/dist/services/docs/site_pages_route.d.ts +33 -0
- package/dist/services/docs/site_pages_route.d.ts.map +1 -0
- package/dist/services/docs/site_pages_route.js +124 -0
- package/dist/services/docs/site_pages_route.js.map +1 -0
- package/dist/services/docs_bundle/frontmatter.d.ts +26 -0
- package/dist/services/docs_bundle/frontmatter.d.ts.map +1 -0
- package/dist/services/docs_bundle/frontmatter.js +50 -0
- package/dist/services/docs_bundle/frontmatter.js.map +1 -0
- package/dist/services/docs_bundle/loader.d.ts +28 -0
- package/dist/services/docs_bundle/loader.d.ts.map +1 -0
- package/dist/services/docs_bundle/loader.js +91 -0
- package/dist/services/docs_bundle/loader.js.map +1 -0
- package/dist/services/docs_bundle/render_html.d.ts +15 -0
- package/dist/services/docs_bundle/render_html.d.ts.map +1 -0
- package/dist/services/docs_bundle/render_html.js +48 -0
- package/dist/services/docs_bundle/render_html.js.map +1 -0
- package/dist/services/docs_bundle/types.d.ts +73 -0
- package/dist/services/docs_bundle/types.d.ts.map +1 -0
- package/dist/services/docs_bundle/types.js +50 -0
- package/dist/services/docs_bundle/types.js.map +1 -0
- package/dist/services/docs_install/loader.d.ts +25 -0
- package/dist/services/docs_install/loader.d.ts.map +1 -0
- package/dist/services/docs_install/loader.js +63 -0
- package/dist/services/docs_install/loader.js.map +1 -0
- package/dist/services/docs_install/renderer.d.ts +40 -0
- package/dist/services/docs_install/renderer.d.ts.map +1 -0
- package/dist/services/docs_install/renderer.js +323 -0
- package/dist/services/docs_install/renderer.js.map +1 -0
- package/dist/services/docs_install/routes.d.ts +20 -0
- package/dist/services/docs_install/routes.d.ts.map +1 -0
- package/dist/services/docs_install/routes.js +117 -0
- package/dist/services/docs_install/routes.js.map +1 -0
- package/dist/services/entity_submission/seed_product_feedback_schema.d.ts +11 -0
- package/dist/services/entity_submission/seed_product_feedback_schema.d.ts.map +1 -0
- package/dist/services/entity_submission/seed_product_feedback_schema.js +45 -0
- package/dist/services/entity_submission/seed_product_feedback_schema.js.map +1 -0
- package/dist/services/feedback/activation.d.ts +20 -0
- package/dist/services/feedback/activation.d.ts.map +1 -0
- package/dist/services/feedback/activation.js +66 -0
- package/dist/services/feedback/activation.js.map +1 -0
- package/dist/services/feedback/admin_proxy.d.ts +73 -0
- package/dist/services/feedback/admin_proxy.d.ts.map +1 -0
- package/dist/services/feedback/admin_proxy.js +292 -0
- package/dist/services/feedback/admin_proxy.js.map +1 -0
- package/dist/services/feedback/admin_session.d.ts +36 -0
- package/dist/services/feedback/admin_session.d.ts.map +1 -0
- package/dist/services/feedback/admin_session.js +147 -0
- package/dist/services/feedback/admin_session.js.map +1 -0
- package/dist/services/feedback/local_store.d.ts +72 -0
- package/dist/services/feedback/local_store.d.ts.map +1 -0
- package/dist/services/feedback/local_store.js +95 -0
- package/dist/services/feedback/local_store.js.map +1 -0
- package/dist/services/feedback/mirror_local_to_entity.d.ts +42 -0
- package/dist/services/feedback/mirror_local_to_entity.d.ts.map +1 -0
- package/dist/services/feedback/mirror_local_to_entity.js +71 -0
- package/dist/services/feedback/mirror_local_to_entity.js.map +1 -0
- package/dist/services/feedback/neotoma_payload.d.ts +108 -0
- package/dist/services/feedback/neotoma_payload.d.ts.map +1 -0
- package/dist/services/feedback/neotoma_payload.js +169 -0
- package/dist/services/feedback/neotoma_payload.js.map +1 -0
- package/dist/services/feedback/next_check.d.ts +4 -0
- package/dist/services/feedback/next_check.d.ts.map +1 -0
- package/dist/services/feedback/next_check.js +22 -0
- package/dist/services/feedback/next_check.js.map +1 -0
- package/dist/services/feedback/seed_schema.d.ts +52 -0
- package/dist/services/feedback/seed_schema.d.ts.map +1 -0
- package/dist/services/feedback/seed_schema.js +160 -0
- package/dist/services/feedback/seed_schema.js.map +1 -0
- package/dist/services/feedback/types.d.ts +134 -0
- package/dist/services/feedback/types.d.ts.map +1 -0
- package/dist/services/feedback/types.js +23 -0
- package/dist/services/feedback/types.js.map +1 -0
- package/dist/services/feedback/upgrade_guidance_map.d.ts +24 -0
- package/dist/services/feedback/upgrade_guidance_map.d.ts.map +1 -0
- package/dist/services/feedback/upgrade_guidance_map.js +39 -0
- package/dist/services/feedback/upgrade_guidance_map.js.map +1 -0
- package/dist/services/feedback/verification_request.d.ts +14 -0
- package/dist/services/feedback/verification_request.d.ts.map +1 -0
- package/dist/services/feedback/verification_request.js +33 -0
- package/dist/services/feedback/verification_request.js.map +1 -0
- package/dist/services/feedback_transport.d.ts +15 -0
- package/dist/services/feedback_transport.d.ts.map +1 -0
- package/dist/services/feedback_transport.js +31 -0
- package/dist/services/feedback_transport.js.map +1 -0
- package/dist/services/feedback_transport_http.d.ts +14 -0
- package/dist/services/feedback_transport_http.d.ts.map +1 -0
- package/dist/services/feedback_transport_http.js +40 -0
- package/dist/services/feedback_transport_http.js.map +1 -0
- package/dist/services/feedback_transport_local.d.ts +20 -0
- package/dist/services/feedback_transport_local.d.ts.map +1 -0
- package/dist/services/feedback_transport_local.js +152 -0
- package/dist/services/feedback_transport_local.js.map +1 -0
- package/dist/services/issues/syncIssuesFromGitHub.d.ts +35 -0
- package/dist/services/issues/syncIssuesFromGitHub.d.ts.map +1 -0
- package/dist/services/issues/syncIssuesFromGitHub.js +193 -0
- package/dist/services/issues/syncIssuesFromGitHub.js.map +1 -0
- package/dist/services/oauth_pages/render.d.ts +25 -0
- package/dist/services/oauth_pages/render.d.ts.map +1 -0
- package/dist/services/oauth_pages/render.js +235 -0
- package/dist/services/oauth_pages/render.js.map +1 -0
- package/dist/services/observation_storage.d.ts.map +1 -1
- package/dist/services/observation_storage.js +20 -0
- package/dist/services/observation_storage.js.map +1 -1
- package/dist/services/root_landing/auth_overview.d.ts +60 -0
- package/dist/services/root_landing/auth_overview.d.ts.map +1 -0
- package/dist/services/root_landing/auth_overview.js +86 -0
- package/dist/services/root_landing/auth_overview.js.map +1 -0
- package/dist/services/root_landing/cli_overview.d.ts +34 -0
- package/dist/services/root_landing/cli_overview.d.ts.map +1 -0
- package/dist/services/root_landing/cli_overview.js +123 -0
- package/dist/services/root_landing/cli_overview.js.map +1 -0
- package/dist/services/root_landing/http_api_overview.d.ts +34 -0
- package/dist/services/root_landing/http_api_overview.d.ts.map +1 -0
- package/dist/services/root_landing/http_api_overview.js +110 -0
- package/dist/services/root_landing/http_api_overview.js.map +1 -0
- package/dist/services/root_landing/mcp_overview.d.ts +34 -0
- package/dist/services/root_landing/mcp_overview.d.ts.map +1 -0
- package/dist/services/root_landing/mcp_overview.js +133 -0
- package/dist/services/root_landing/mcp_overview.js.map +1 -0
- package/dist/services/sandbox/inspector_redirect.d.ts +41 -0
- package/dist/services/sandbox/inspector_redirect.d.ts.map +1 -0
- package/dist/services/sandbox/inspector_redirect.js +59 -0
- package/dist/services/sandbox/inspector_redirect.js.map +1 -0
- package/dist/services/timeline_user_query.d.ts +22 -0
- package/dist/services/timeline_user_query.d.ts.map +1 -0
- package/dist/services/timeline_user_query.js +60 -0
- package/dist/services/timeline_user_query.js.map +1 -0
- package/dist/services/usage_stats.d.ts +18 -0
- package/dist/services/usage_stats.d.ts.map +1 -0
- package/dist/services/usage_stats.js +82 -0
- package/dist/services/usage_stats.js.map +1 -0
- package/dist/services/verticals/baseline_metadata.d.ts +39 -0
- package/dist/services/verticals/baseline_metadata.d.ts.map +1 -0
- package/dist/services/verticals/baseline_metadata.js +394 -0
- package/dist/services/verticals/baseline_metadata.js.map +1 -0
- package/dist/services/verticals/entity_type_registry.d.ts +29 -0
- package/dist/services/verticals/entity_type_registry.d.ts.map +1 -0
- package/dist/services/verticals/entity_type_registry.js +169 -0
- package/dist/services/verticals/entity_type_registry.js.map +1 -0
- package/dist/services/verticals/install.d.ts +64 -0
- package/dist/services/verticals/install.d.ts.map +1 -0
- package/dist/services/verticals/install.js +262 -0
- package/dist/services/verticals/install.js.map +1 -0
- package/dist/services/verticals/registry.d.ts +131 -0
- package/dist/services/verticals/registry.d.ts.map +1 -0
- package/dist/services/verticals/registry.js +457 -0
- package/dist/services/verticals/registry.js.map +1 -0
- package/dist/shared/action_schemas.d.ts +5 -0
- package/dist/shared/action_schemas.d.ts.map +1 -1
- package/dist/shared/action_schemas.js +1 -0
- package/dist/shared/action_schemas.js.map +1 -1
- package/dist/shared/generated_design_tokens.d.ts +2 -0
- package/dist/shared/generated_design_tokens.d.ts.map +1 -0
- package/dist/shared/generated_design_tokens.js +3 -0
- package/dist/shared/generated_design_tokens.js.map +1 -0
- package/package.json +1 -1
- package/dist/__fixtures__/helpers.d.ts +0 -91
- package/dist/__fixtures__/helpers.d.ts.map +0 -1
- package/dist/__fixtures__/helpers.js +0 -384
- package/dist/__fixtures__/helpers.js.map +0 -1
- package/dist/__fixtures__/types.d.ts +0 -285
- package/dist/__fixtures__/types.d.ts.map +0 -1
- package/dist/__fixtures__/types.js +0 -7
- package/dist/__fixtures__/types.js.map +0 -1
- package/dist/__fixtures__/validation.d.ts +0 -45
- package/dist/__fixtures__/validation.d.ts.map +0 -1
- package/dist/__fixtures__/validation.js +0 -311
- package/dist/__fixtures__/validation.js.map +0 -1
- package/dist/cli/digest.d.ts +0 -53
- package/dist/cli/digest.d.ts.map +0 -1
- package/dist/cli/digest.js +0 -218
- package/dist/cli/digest.js.map +0 -1
- package/dist/config/plaid.d.ts +0 -21
- package/dist/config/plaid.d.ts.map +0 -1
- package/dist/config/plaid.js +0 -48
- package/dist/config/plaid.js.map +0 -1
- package/dist/events/event_emitter.d.ts +0 -24
- package/dist/events/event_emitter.d.ts.map +0 -1
- package/dist/events/event_emitter.js +0 -85
- package/dist/events/event_emitter.js.map +0 -1
- package/dist/events/event_log.d.ts +0 -23
- package/dist/events/event_log.d.ts.map +0 -1
- package/dist/events/event_log.js +0 -77
- package/dist/events/event_log.js.map +0 -1
- package/dist/events/event_schema.d.ts +0 -58
- package/dist/events/event_schema.d.ts.map +0 -1
- package/dist/events/event_schema.js +0 -43
- package/dist/events/event_schema.js.map +0 -1
- package/dist/events/event_validator.d.ts +0 -23
- package/dist/events/event_validator.d.ts.map +0 -1
- package/dist/events/event_validator.js +0 -90
- package/dist/events/event_validator.js.map +0 -1
- package/dist/events/index.d.ts +0 -9
- package/dist/events/index.d.ts.map +0 -1
- package/dist/events/index.js +0 -9
- package/dist/events/index.js.map +0 -1
- package/dist/events/replay.d.ts +0 -27
- package/dist/events/replay.d.ts.map +0 -1
- package/dist/events/replay.js +0 -62
- package/dist/events/replay.js.map +0 -1
- package/dist/hashing/hash_chain.d.ts +0 -31
- package/dist/hashing/hash_chain.d.ts.map +0 -1
- package/dist/hashing/hash_chain.js +0 -45
- package/dist/hashing/hash_chain.js.map +0 -1
- package/dist/inspector/assets/embed_graph-yijK3iWa.js +0 -1
- package/dist/inspector/assets/index-CzD1hfqq.css +0 -1
- package/dist/inspector/assets/interpretations-D2v1BxEQ.js +0 -1
- package/dist/inspector/assets/record_activity-Dwe8CUqj.js +0 -1
- package/dist/inspector/assets/use_interpretations-uhU4isO3.js +0 -1
- package/dist/integrations/plaid/client.d.ts +0 -53
- package/dist/integrations/plaid/client.d.ts.map +0 -1
- package/dist/integrations/plaid/client.js +0 -224
- package/dist/integrations/plaid/client.js.map +0 -1
- package/dist/integrations/plaid/normalizers.d.ts +0 -26
- package/dist/integrations/plaid/normalizers.d.ts.map +0 -1
- package/dist/integrations/plaid/normalizers.js +0 -166
- package/dist/integrations/plaid/normalizers.js.map +0 -1
- package/dist/integrations/providers/asana.d.ts +0 -9
- package/dist/integrations/providers/asana.d.ts.map +0 -1
- package/dist/integrations/providers/asana.js +0 -62
- package/dist/integrations/providers/asana.js.map +0 -1
- package/dist/integrations/providers/base.d.ts +0 -17
- package/dist/integrations/providers/base.d.ts.map +0 -1
- package/dist/integrations/providers/base.js +0 -64
- package/dist/integrations/providers/base.js.map +0 -1
- package/dist/integrations/providers/facebook.d.ts +0 -9
- package/dist/integrations/providers/facebook.d.ts.map +0 -1
- package/dist/integrations/providers/facebook.js +0 -58
- package/dist/integrations/providers/facebook.js.map +0 -1
- package/dist/integrations/providers/gmail.d.ts +0 -10
- package/dist/integrations/providers/gmail.d.ts.map +0 -1
- package/dist/integrations/providers/gmail.js +0 -67
- package/dist/integrations/providers/gmail.js.map +0 -1
- package/dist/integrations/providers/index.d.ts +0 -6
- package/dist/integrations/providers/index.d.ts.map +0 -1
- package/dist/integrations/providers/index.js +0 -25
- package/dist/integrations/providers/index.js.map +0 -1
- package/dist/integrations/providers/instagram.d.ts +0 -9
- package/dist/integrations/providers/instagram.d.ts.map +0 -1
- package/dist/integrations/providers/instagram.js +0 -47
- package/dist/integrations/providers/instagram.js.map +0 -1
- package/dist/integrations/providers/metadata.d.ts +0 -25
- package/dist/integrations/providers/metadata.d.ts.map +0 -1
- package/dist/integrations/providers/metadata.js +0 -407
- package/dist/integrations/providers/metadata.js.map +0 -1
- package/dist/integrations/providers/types.d.ts +0 -39
- package/dist/integrations/providers/types.d.ts.map +0 -1
- package/dist/integrations/providers/types.js +0 -2
- package/dist/integrations/providers/types.js.map +0 -1
- package/dist/integrations/providers/x.d.ts +0 -9
- package/dist/integrations/providers/x.d.ts.map +0 -1
- package/dist/integrations/providers/x.js +0 -78
- package/dist/integrations/providers/x.js.map +0 -1
- package/dist/reducers/record_reducer.d.ts +0 -25
- package/dist/reducers/record_reducer.d.ts.map +0 -1
- package/dist/reducers/record_reducer.js +0 -93
- package/dist/reducers/record_reducer.js.map +0 -1
- package/dist/reducers/reducer_registry.d.ts +0 -47
- package/dist/reducers/reducer_registry.d.ts.map +0 -1
- package/dist/reducers/reducer_registry.js +0 -82
- package/dist/reducers/reducer_registry.js.map +0 -1
- package/dist/repositories/db/event_repo.d.ts +0 -14
- package/dist/repositories/db/event_repo.d.ts.map +0 -1
- package/dist/repositories/db/event_repo.js +0 -67
- package/dist/repositories/db/event_repo.js.map +0 -1
- package/dist/repositories/db/state_repo.d.ts +0 -14
- package/dist/repositories/db/state_repo.d.ts.map +0 -1
- package/dist/repositories/db/state_repo.js +0 -61
- package/dist/repositories/db/state_repo.js.map +0 -1
- package/dist/repositories/file/event_repo.d.ts +0 -18
- package/dist/repositories/file/event_repo.d.ts.map +0 -1
- package/dist/repositories/file/event_repo.js +0 -148
- package/dist/repositories/file/event_repo.js.map +0 -1
- package/dist/repositories/file/state_repo.d.ts +0 -21
- package/dist/repositories/file/state_repo.d.ts.map +0 -1
- package/dist/repositories/file/state_repo.js +0 -89
- package/dist/repositories/file/state_repo.js.map +0 -1
- package/dist/services/connectors.d.ts +0 -89
- package/dist/services/connectors.d.ts.map +0 -1
- package/dist/services/connectors.js +0 -251
- package/dist/services/connectors.js.map +0 -1
- package/dist/services/event_generation.d.ts +0 -37
- package/dist/services/event_generation.d.ts.map +0 -1
- package/dist/services/event_generation.js +0 -236
- package/dist/services/event_generation.js.map +0 -1
- package/dist/services/extraction/rules.d.ts +0 -26
- package/dist/services/extraction/rules.d.ts.map +0 -1
- package/dist/services/extraction/rules.js +0 -679
- package/dist/services/extraction/rules.js.map +0 -1
- package/dist/services/file_analysis.d.ts +0 -32
- package/dist/services/file_analysis.d.ts.map +0 -1
- package/dist/services/file_analysis.js +0 -261
- package/dist/services/file_analysis.js.map +0 -1
- package/dist/services/graph_builder.d.ts +0 -47
- package/dist/services/graph_builder.d.ts.map +0 -1
- package/dist/services/graph_builder.js +0 -285
- package/dist/services/graph_builder.js.map +0 -1
- package/dist/services/importers.d.ts +0 -28
- package/dist/services/importers.d.ts.map +0 -1
- package/dist/services/importers.js +0 -174
- package/dist/services/importers.js.map +0 -1
- package/dist/services/llm_extraction.d.ts +0 -82
- package/dist/services/llm_extraction.d.ts.map +0 -1
- package/dist/services/llm_extraction.js +0 -435
- package/dist/services/llm_extraction.js.map +0 -1
- package/dist/services/observation_ingestion.d.ts +0 -26
- package/dist/services/observation_ingestion.d.ts.map +0 -1
- package/dist/services/observation_ingestion.js +0 -348
- package/dist/services/observation_ingestion.js.map +0 -1
- package/dist/services/payload_compiler.d.ts +0 -36
- package/dist/services/payload_compiler.d.ts.map +0 -1
- package/dist/services/payload_compiler.js +0 -121
- package/dist/services/payload_compiler.js.map +0 -1
- package/dist/services/payload_identity.d.ts +0 -35
- package/dist/services/payload_identity.d.ts.map +0 -1
- package/dist/services/payload_identity.js +0 -101
- package/dist/services/payload_identity.js.map +0 -1
- package/dist/services/payload_schema.d.ts +0 -104
- package/dist/services/payload_schema.d.ts.map +0 -1
- package/dist/services/payload_schema.js +0 -46
- package/dist/services/payload_schema.js.map +0 -1
- package/dist/services/plaid_sync.d.ts +0 -77
- package/dist/services/plaid_sync.d.ts.map +0 -1
- package/dist/services/plaid_sync.js +0 -273
- package/dist/services/plaid_sync.js.map +0 -1
- package/dist/services/record_comparison.d.ts +0 -29
- package/dist/services/record_comparison.d.ts.map +0 -1
- package/dist/services/record_comparison.js +0 -84
- package/dist/services/record_comparison.js.map +0 -1
- package/dist/services/records.d.ts +0 -31
- package/dist/services/records.d.ts.map +0 -1
- package/dist/services/records.js +0 -184
- package/dist/services/records.js.map +0 -1
- package/dist/services/search.d.ts +0 -15
- package/dist/services/search.d.ts.map +0 -1
- package/dist/services/search.js +0 -80
- package/dist/services/search.js.map +0 -1
- package/dist/services/summary.d.ts +0 -5
- package/dist/services/summary.d.ts.map +0 -1
- package/dist/services/summary.js +0 -118
- package/dist/services/summary.js.map +0 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `neotoma setup --activate` — context detection for activation.
|
|
3
|
+
*
|
|
4
|
+
* Promoted from install.md Phase 3 Step 0. Before preference selection,
|
|
5
|
+
* detect whether the install directory is developer-oriented, personal,
|
|
6
|
+
* or mixed, so the agent doesn't default to personal-file ingestion in
|
|
7
|
+
* a directory full of git repos.
|
|
8
|
+
*
|
|
9
|
+
* Returns a structured report. The CLI handler renders it as JSON for agents
|
|
10
|
+
* or a human-readable summary for interactive use, then asks the user to
|
|
11
|
+
* confirm/override the detected context.
|
|
12
|
+
*/
|
|
13
|
+
export type ContextKind = "developer" | "personal" | "mixed" | "unknown";
|
|
14
|
+
export interface ActivationContextReport {
|
|
15
|
+
cwd: string;
|
|
16
|
+
/** Direct subdirectories that contain a `.git/` folder. */
|
|
17
|
+
git_repos: string[];
|
|
18
|
+
/** True when the install directory itself is a git repository. */
|
|
19
|
+
cwd_is_git_repo: boolean;
|
|
20
|
+
/** Personal-file signal folders that exist at the top level. */
|
|
21
|
+
personal_signals: string[];
|
|
22
|
+
/**
|
|
23
|
+
* Best-guess context kind from the scan. Agents SHOULD still confirm with
|
|
24
|
+
* the user; this is a suggestion, not a decision.
|
|
25
|
+
*/
|
|
26
|
+
detected_context: ContextKind;
|
|
27
|
+
/**
|
|
28
|
+
* One-line human summary suitable for the surfacing block in install.md
|
|
29
|
+
* Phase 3 Step 0.
|
|
30
|
+
*/
|
|
31
|
+
summary_line: string;
|
|
32
|
+
/**
|
|
33
|
+
* The exact question install.md Phase 3 Step 0 asks the user once the scan
|
|
34
|
+
* results have been surfaced.
|
|
35
|
+
*/
|
|
36
|
+
followup_question: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Scan the given directory and return the structured context report.
|
|
40
|
+
* Pure function (modulo filesystem reads); no prompts, no writes.
|
|
41
|
+
*/
|
|
42
|
+
export declare function detectActivationContext(cwd: string): ActivationContextReport;
|
|
43
|
+
export interface RunActivateOptions {
|
|
44
|
+
cwd?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Override the detected context (used when the user has answered the
|
|
47
|
+
* followup question). When provided, the report's `detected_context`
|
|
48
|
+
* stays as the scan's best guess and the override appears as
|
|
49
|
+
* `confirmed_context`.
|
|
50
|
+
*/
|
|
51
|
+
context?: ContextKind;
|
|
52
|
+
}
|
|
53
|
+
export interface ActivateReport extends ActivationContextReport {
|
|
54
|
+
/**
|
|
55
|
+
* User's confirmed answer when --context was passed. Null when the agent
|
|
56
|
+
* still needs to ask the followup question.
|
|
57
|
+
*/
|
|
58
|
+
confirmed_context: ContextKind | null;
|
|
59
|
+
/**
|
|
60
|
+
* Branch the agent should take next, derived from `confirmed_context` or
|
|
61
|
+
* `detected_context`. null when context is `unknown` AND no override was
|
|
62
|
+
* supplied (the agent MUST ask the user).
|
|
63
|
+
*/
|
|
64
|
+
next_branch: "personal_data_ingest" | "developer_repo_integration" | "mixed_developer_then_personal" | "ask_user" | null;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Run the activation context-detection step. Pure: no prompts, no writes.
|
|
68
|
+
* The CLI handler renders the report and asks the user the followup question
|
|
69
|
+
* when `next_branch === "ask_user"`.
|
|
70
|
+
*/
|
|
71
|
+
export declare function runActivate(options?: RunActivateOptions): ActivateReport;
|
|
72
|
+
//# sourceMappingURL=activate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activate.d.ts","sourceRoot":"","sources":["../../src/cli/activate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,2DAA2D;IAC3D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kEAAkE;IAClE,eAAe,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;OAGG;IACH,gBAAgB,EAAE,WAAW,CAAC;IAC9B;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAuCD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAyE5E;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,uBAAuB;IAC7D;;;OAGG;IACH,iBAAiB,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC;;;;OAIG;IACH,WAAW,EACP,sBAAsB,GACtB,4BAA4B,GAC5B,+BAA+B,GAC/B,UAAU,GACV,IAAI,CAAC;CACV;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CA+B5E"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `neotoma setup --activate` — context detection for activation.
|
|
3
|
+
*
|
|
4
|
+
* Promoted from install.md Phase 3 Step 0. Before preference selection,
|
|
5
|
+
* detect whether the install directory is developer-oriented, personal,
|
|
6
|
+
* or mixed, so the agent doesn't default to personal-file ingestion in
|
|
7
|
+
* a directory full of git repos.
|
|
8
|
+
*
|
|
9
|
+
* Returns a structured report. The CLI handler renders it as JSON for agents
|
|
10
|
+
* or a human-readable summary for interactive use, then asks the user to
|
|
11
|
+
* confirm/override the detected context.
|
|
12
|
+
*/
|
|
13
|
+
import { existsSync, readdirSync, statSync } from "node:fs";
|
|
14
|
+
import { join } from "node:path";
|
|
15
|
+
/**
|
|
16
|
+
* Folder name patterns that lightly indicate a personal-data directory.
|
|
17
|
+
* Conservative list — false positives are worse than false negatives here
|
|
18
|
+
* because the agent always asks the user to confirm.
|
|
19
|
+
*/
|
|
20
|
+
const PERSONAL_SIGNAL_FOLDERS = [
|
|
21
|
+
"notes",
|
|
22
|
+
"contracts",
|
|
23
|
+
"invoices",
|
|
24
|
+
"transcripts",
|
|
25
|
+
"financial",
|
|
26
|
+
"clients",
|
|
27
|
+
"documents",
|
|
28
|
+
"journal",
|
|
29
|
+
"writing",
|
|
30
|
+
"personal",
|
|
31
|
+
"household",
|
|
32
|
+
];
|
|
33
|
+
function isDirectory(p) {
|
|
34
|
+
try {
|
|
35
|
+
return statSync(p).isDirectory();
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function listSubdirs(cwd) {
|
|
42
|
+
try {
|
|
43
|
+
return readdirSync(cwd, { withFileTypes: true })
|
|
44
|
+
.filter((d) => d.isDirectory() && !d.name.startsWith("."))
|
|
45
|
+
.map((d) => d.name);
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Scan the given directory and return the structured context report.
|
|
53
|
+
* Pure function (modulo filesystem reads); no prompts, no writes.
|
|
54
|
+
*/
|
|
55
|
+
export function detectActivationContext(cwd) {
|
|
56
|
+
const cwdIsGitRepo = isDirectory(join(cwd, ".git"));
|
|
57
|
+
const subs = listSubdirs(cwd);
|
|
58
|
+
const gitRepos = [];
|
|
59
|
+
const personalSignals = [];
|
|
60
|
+
for (const name of subs) {
|
|
61
|
+
const sub = join(cwd, name);
|
|
62
|
+
if (isDirectory(join(sub, ".git"))) {
|
|
63
|
+
gitRepos.push(name);
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
if (PERSONAL_SIGNAL_FOLDERS.includes(name.toLowerCase())) {
|
|
67
|
+
personalSignals.push(name);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Heuristic for the suggested context. The user always confirms.
|
|
71
|
+
// - Multiple git repos (2+) and no personal signals → developer.
|
|
72
|
+
// - One git repo + personal signals OR cwd_is_git_repo with no subs → mixed.
|
|
73
|
+
// - No git repos, has personal signals → personal.
|
|
74
|
+
// - Otherwise unknown (let the user decide).
|
|
75
|
+
let detected;
|
|
76
|
+
if (gitRepos.length >= 2 && personalSignals.length === 0) {
|
|
77
|
+
detected = "developer";
|
|
78
|
+
}
|
|
79
|
+
else if (gitRepos.length >= 1 && personalSignals.length >= 1) {
|
|
80
|
+
detected = "mixed";
|
|
81
|
+
}
|
|
82
|
+
else if (gitRepos.length >= 2 && personalSignals.length >= 1) {
|
|
83
|
+
detected = "mixed";
|
|
84
|
+
}
|
|
85
|
+
else if (gitRepos.length === 0 && personalSignals.length >= 1) {
|
|
86
|
+
detected = "personal";
|
|
87
|
+
}
|
|
88
|
+
else if (gitRepos.length === 1 && personalSignals.length === 0) {
|
|
89
|
+
// A single repo at the top level usually means the user is inside the repo
|
|
90
|
+
// (e.g. `neotoma setup --activate` run from a checkout), not a developer
|
|
91
|
+
// projects directory of many repos.
|
|
92
|
+
detected = cwdIsGitRepo ? "developer" : "unknown";
|
|
93
|
+
}
|
|
94
|
+
else if (cwdIsGitRepo) {
|
|
95
|
+
detected = "developer";
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
detected = "unknown";
|
|
99
|
+
}
|
|
100
|
+
const repoSummary = gitRepos.length > 0
|
|
101
|
+
? `${gitRepos.length} git ${gitRepos.length === 1 ? "repository" : "repositories"}: ${gitRepos.slice(0, 5).join(", ")}${gitRepos.length > 5 ? ", ..." : ""}`
|
|
102
|
+
: cwdIsGitRepo
|
|
103
|
+
? "this directory is itself a git repository"
|
|
104
|
+
: "no git repositories";
|
|
105
|
+
const personalSummary = personalSignals.length > 0
|
|
106
|
+
? `; personal-file signals: ${personalSignals.join(", ")}`
|
|
107
|
+
: "";
|
|
108
|
+
const summaryLine = `I see ${repoSummary}${personalSummary}.`;
|
|
109
|
+
const followupQuestion = [
|
|
110
|
+
"Is this primarily:",
|
|
111
|
+
"(a) a developer/projects directory (repos for code projects),",
|
|
112
|
+
"(b) a personal-data directory (notes, clients, documents),",
|
|
113
|
+
"(c) a mix?",
|
|
114
|
+
].join("\n");
|
|
115
|
+
return {
|
|
116
|
+
cwd,
|
|
117
|
+
git_repos: gitRepos,
|
|
118
|
+
cwd_is_git_repo: cwdIsGitRepo,
|
|
119
|
+
personal_signals: personalSignals,
|
|
120
|
+
detected_context: detected,
|
|
121
|
+
summary_line: summaryLine,
|
|
122
|
+
followup_question: followupQuestion,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Run the activation context-detection step. Pure: no prompts, no writes.
|
|
127
|
+
* The CLI handler renders the report and asks the user the followup question
|
|
128
|
+
* when `next_branch === "ask_user"`.
|
|
129
|
+
*/
|
|
130
|
+
export function runActivate(options = {}) {
|
|
131
|
+
const cwd = options.cwd ?? process.cwd();
|
|
132
|
+
if (!existsSync(cwd)) {
|
|
133
|
+
throw new Error(`runActivate: cwd does not exist: ${cwd}`);
|
|
134
|
+
}
|
|
135
|
+
const scan = detectActivationContext(cwd);
|
|
136
|
+
const confirmed = options.context ?? null;
|
|
137
|
+
const effective = confirmed ?? scan.detected_context;
|
|
138
|
+
let nextBranch;
|
|
139
|
+
switch (effective) {
|
|
140
|
+
case "personal":
|
|
141
|
+
nextBranch = "personal_data_ingest";
|
|
142
|
+
break;
|
|
143
|
+
case "developer":
|
|
144
|
+
nextBranch = "developer_repo_integration";
|
|
145
|
+
break;
|
|
146
|
+
case "mixed":
|
|
147
|
+
nextBranch = "mixed_developer_then_personal";
|
|
148
|
+
break;
|
|
149
|
+
case "unknown":
|
|
150
|
+
default:
|
|
151
|
+
nextBranch = confirmed ? null : "ask_user";
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
...scan,
|
|
156
|
+
confirmed_context: confirmed,
|
|
157
|
+
next_branch: nextBranch,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=activate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activate.js","sourceRoot":"","sources":["../../src/cli/activate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA6BjC;;;;GAIG;AACH,MAAM,uBAAuB,GAAG;IAC9B,OAAO;IACP,WAAW;IACX,UAAU;IACV,aAAa;IACb,WAAW;IACX,SAAS;IACT,WAAW;IACX,SAAS;IACT,SAAS;IACT,UAAU;IACV,WAAW;CACZ,CAAC;AAEF,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACzD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5B,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACzD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,iEAAiE;IACjE,6EAA6E;IAC7E,mDAAmD;IACnD,6CAA6C;IAC7C,IAAI,QAAqB,CAAC;IAC1B,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,QAAQ,GAAG,WAAW,CAAC;IACzB,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/D,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/D,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAChE,QAAQ,GAAG,UAAU,CAAC;IACxB,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,2EAA2E;QAC3E,yEAAyE;QACzE,oCAAoC;QACpC,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,QAAQ,GAAG,WAAW,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC;IAED,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,QAAQ,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5J,CAAC,CAAC,YAAY;YACZ,CAAC,CAAC,2CAA2C;YAC7C,CAAC,CAAC,qBAAqB,CAAC;IAE9B,MAAM,eAAe,GACnB,eAAe,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,4BAA4B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC1D,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,WAAW,GAAG,SAAS,WAAW,GAAG,eAAe,GAAG,CAAC;IAE9D,MAAM,gBAAgB,GAAG;QACvB,oBAAoB;QACpB,+DAA+D;QAC/D,4DAA4D;QAC5D,YAAY;KACb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACL,GAAG;QACH,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,YAAY;QAC7B,gBAAgB,EAAE,eAAe;QACjC,gBAAgB,EAAE,QAAQ;QAC1B,YAAY,EAAE,WAAW;QACzB,iBAAiB,EAAE,gBAAgB;KACpC,CAAC;AACJ,CAAC;AAgCD;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,UAA8B,EAAE;IAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,IAAI,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IAE1C,MAAM,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC;IACrD,IAAI,UAAyC,CAAC;IAC9C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,UAAU,GAAG,sBAAsB,CAAC;YACpC,MAAM;QACR,KAAK,WAAW;YACd,UAAU,GAAG,4BAA4B,CAAC;YAC1C,MAAM;QACR,KAAK,OAAO;YACV,UAAU,GAAG,+BAA+B,CAAC;YAC7C,MAAM;QACR,KAAK,SAAS,CAAC;QACf;YACE,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;YAC3C,MAAM;IACV,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,iBAAiB,EAAE,SAAS;QAC5B,WAAW,EAAE,UAAU;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AAuth key provisioning: `neotoma auth keygen --aauth`
|
|
3
|
+
*
|
|
4
|
+
* Generates an EC P-256 key pair for AAuth agent identity signing.
|
|
5
|
+
* Writes the private JWK to `.creds/aauth_agent.private.jwk` and the
|
|
6
|
+
* public JWK to `.creds/aauth_agent.public.jwk`. Optionally uploads
|
|
7
|
+
* the public key to the issuer's JWKS endpoint.
|
|
8
|
+
*/
|
|
9
|
+
import type { Command } from "commander";
|
|
10
|
+
export declare function registerAuthKeygenCommand(authCommand: Command): void;
|
|
11
|
+
//# sourceMappingURL=auth_keygen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth_keygen.d.ts","sourceRoot":"","sources":["../../src/cli/auth_keygen.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+CzC,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAgFpE"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AAuth key provisioning: `neotoma auth keygen --aauth`
|
|
3
|
+
*
|
|
4
|
+
* Generates an EC P-256 key pair for AAuth agent identity signing.
|
|
5
|
+
* Writes the private JWK to `.creds/aauth_agent.private.jwk` and the
|
|
6
|
+
* public JWK to `.creds/aauth_agent.public.jwk`. Optionally uploads
|
|
7
|
+
* the public key to the issuer's JWKS endpoint.
|
|
8
|
+
*/
|
|
9
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
10
|
+
import { resolve } from "node:path";
|
|
11
|
+
import { randomUUID } from "node:crypto";
|
|
12
|
+
import * as jose from "jose";
|
|
13
|
+
function defaultOutputDir() {
|
|
14
|
+
return resolve(process.cwd(), ".creds");
|
|
15
|
+
}
|
|
16
|
+
async function generateKeyPair(kid) {
|
|
17
|
+
const { publicKey, privateKey } = await jose.generateKeyPair("ES256", {
|
|
18
|
+
extractable: true,
|
|
19
|
+
});
|
|
20
|
+
const privateJwk = await jose.exportJWK(privateKey);
|
|
21
|
+
const publicJwk = await jose.exportJWK(publicKey);
|
|
22
|
+
privateJwk.kid = kid;
|
|
23
|
+
privateJwk.alg = "ES256";
|
|
24
|
+
privateJwk.use = "sig";
|
|
25
|
+
publicJwk.kid = kid;
|
|
26
|
+
publicJwk.alg = "ES256";
|
|
27
|
+
publicJwk.use = "sig";
|
|
28
|
+
return { privateJwk, publicJwk };
|
|
29
|
+
}
|
|
30
|
+
function writeEnvHints(outputDir, sub, iss) {
|
|
31
|
+
const privatePath = resolve(outputDir, "aauth_agent.private.jwk");
|
|
32
|
+
const lines = [
|
|
33
|
+
`# AAuth agent identity (add to .env or export in shell)`,
|
|
34
|
+
`NEOTOMA_AAUTH_PRIVATE_JWK_PATH="${privatePath}"`,
|
|
35
|
+
];
|
|
36
|
+
if (sub)
|
|
37
|
+
lines.push(`NEOTOMA_AAUTH_SUB="${sub}"`);
|
|
38
|
+
if (iss)
|
|
39
|
+
lines.push(`NEOTOMA_AAUTH_ISS="${iss}"`);
|
|
40
|
+
lines.push("");
|
|
41
|
+
const hintPath = resolve(outputDir, "aauth_env_hints.txt");
|
|
42
|
+
writeFileSync(hintPath, lines.join("\n"), "utf-8");
|
|
43
|
+
process.stderr.write(` Env hints written to ${hintPath}\n`);
|
|
44
|
+
}
|
|
45
|
+
export function registerAuthKeygenCommand(authCommand) {
|
|
46
|
+
authCommand
|
|
47
|
+
.command("keygen")
|
|
48
|
+
.description("Generate AAuth key pair for agent identity signing")
|
|
49
|
+
.option("--aauth", "Generate AAuth keys (required flag for safety)")
|
|
50
|
+
.option("--output-dir <dir>", "Directory for key files (default: .creds/)")
|
|
51
|
+
.option("--kid <id>", "Key ID (default: auto-generated UUID)")
|
|
52
|
+
.option("--sub <subject>", "AAuth subject claim (e.g. cursor@you.com)")
|
|
53
|
+
.option("--iss <issuer>", "AAuth issuer claim (e.g. https://you.com)")
|
|
54
|
+
.option("--force", "Overwrite existing key files")
|
|
55
|
+
.action(async (opts) => {
|
|
56
|
+
if (!opts.aauth) {
|
|
57
|
+
process.stderr.write("Error: --aauth flag is required. This confirms you want to generate AAuth signing keys.\n" +
|
|
58
|
+
"Usage: neotoma auth keygen --aauth [--sub <subject>] [--iss <issuer>]\n");
|
|
59
|
+
process.exitCode = 1;
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const outputDir = opts.outputDir ?? defaultOutputDir();
|
|
63
|
+
const kid = opts.kid ?? randomUUID();
|
|
64
|
+
const privatePath = resolve(outputDir, "aauth_agent.private.jwk");
|
|
65
|
+
const publicPath = resolve(outputDir, "aauth_agent.public.jwk");
|
|
66
|
+
if (!opts.force && existsSync(privatePath)) {
|
|
67
|
+
process.stderr.write(`Error: Private key already exists at ${privatePath}\n` +
|
|
68
|
+
`Use --force to overwrite.\n`);
|
|
69
|
+
process.exitCode = 1;
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
mkdirSync(outputDir, { recursive: true });
|
|
73
|
+
process.stderr.write("Generating EC P-256 key pair for AAuth...\n");
|
|
74
|
+
const { privateJwk, publicJwk } = await generateKeyPair(kid);
|
|
75
|
+
writeFileSync(privatePath, JSON.stringify(privateJwk, null, 2) + "\n", {
|
|
76
|
+
mode: 0o600,
|
|
77
|
+
});
|
|
78
|
+
writeFileSync(publicPath, JSON.stringify(publicJwk, null, 2) + "\n", {
|
|
79
|
+
mode: 0o644,
|
|
80
|
+
});
|
|
81
|
+
const thumbprint = await jose.calculateJwkThumbprint(publicJwk, "sha256");
|
|
82
|
+
process.stderr.write(`\nAAuth key pair generated:\n`);
|
|
83
|
+
process.stderr.write(` Private: ${privatePath}\n`);
|
|
84
|
+
process.stderr.write(` Public: ${publicPath}\n`);
|
|
85
|
+
process.stderr.write(` kid: ${kid}\n`);
|
|
86
|
+
process.stderr.write(` jkt: ${thumbprint}\n`);
|
|
87
|
+
process.stderr.write(` alg: ES256 (EC P-256)\n\n`);
|
|
88
|
+
writeEnvHints(outputDir, opts.sub, opts.iss);
|
|
89
|
+
process.stderr.write(`\nNext steps:\n`);
|
|
90
|
+
process.stderr.write(` 1. Add the env vars from ${resolve(outputDir, "aauth_env_hints.txt")} to your .env\n`);
|
|
91
|
+
process.stderr.write(` 2. Publish ${publicPath} to your JWKS endpoint at <ISS>/.well-known/jwks.json\n`);
|
|
92
|
+
process.stderr.write(` 3. Run 'neotoma mcp proxy --aauth' to start the proxy with AAuth signing\n`);
|
|
93
|
+
if (!opts.sub || !opts.iss) {
|
|
94
|
+
process.stderr.write(`\n Note: --sub and --iss were not provided. Set NEOTOMA_AAUTH_SUB and\n` +
|
|
95
|
+
` NEOTOMA_AAUTH_ISS in your .env before using AAuth.\n`);
|
|
96
|
+
}
|
|
97
|
+
const gitignorePath = resolve(outputDir, ".gitignore");
|
|
98
|
+
if (!existsSync(gitignorePath)) {
|
|
99
|
+
writeFileSync(gitignorePath, "*.private.jwk\naauth_env_hints.txt\n");
|
|
100
|
+
process.stderr.write(` .gitignore created in ${outputDir} to protect private keys\n`);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
const existing = readFileSync(gitignorePath, "utf-8");
|
|
104
|
+
if (!existing.includes("*.private.jwk")) {
|
|
105
|
+
writeFileSync(gitignorePath, existing.trimEnd() + "\n*.private.jwk\naauth_env_hints.txt\n");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=auth_keygen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth_keygen.js","sourceRoot":"","sources":["../../src/cli/auth_keygen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type PacksOutputMode = "text" | "json";
|
|
2
|
+
export declare function runPacksList(options?: {
|
|
3
|
+
mode?: PacksOutputMode;
|
|
4
|
+
}): Promise<void>;
|
|
5
|
+
export declare function runPacksInstall(slug: string, options?: {
|
|
6
|
+
mode?: PacksOutputMode;
|
|
7
|
+
userId?: string;
|
|
8
|
+
}): Promise<void>;
|
|
9
|
+
export declare function runPacksUninstall(slug: string, options?: {
|
|
10
|
+
mode?: PacksOutputMode;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
export declare function runPacksStatus(slug: string | undefined, options?: {
|
|
13
|
+
mode?: PacksOutputMode;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=packs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packs.d.ts","sourceRoot":"","sources":["../../src/cli/packs.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AA8B9C,wBAAsB,YAAY,CAChC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,eAAe,CAAA;CAAO,GACvC,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,eAAe,CAAA;CAAO,GACvC,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,eAAe,CAAA;CAAO,GACvC,OAAO,CAAC,IAAI,CAAC,CAyEf"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `neotoma packs` subcommand: list, install, uninstall, and inspect status of
|
|
3
|
+
* vertical packs.
|
|
4
|
+
*/
|
|
5
|
+
import { installVerticalPack, uninstallVerticalPack, getInstalledPacks, isVerticalPackInstalled, listPacksWithStatus, readManifest, } from "../services/verticals/install.js";
|
|
6
|
+
import { resolveVerticalPack, VERTICAL_PACKS, } from "../services/verticals/registry.js";
|
|
7
|
+
function describePack(pack, installed, installed_at) {
|
|
8
|
+
return {
|
|
9
|
+
slug: pack.slug,
|
|
10
|
+
label: pack.label,
|
|
11
|
+
installed,
|
|
12
|
+
installed_at,
|
|
13
|
+
has_schema_manifest: Boolean(pack.schema_manifest_path),
|
|
14
|
+
has_sandbox_manifest: Boolean(pack.sandbox_manifest_path),
|
|
15
|
+
meta_fallback: pack.meta_fallback,
|
|
16
|
+
entity_examples: [...pack.entityExamples],
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export async function runPacksList(options = {}) {
|
|
20
|
+
const mode = options.mode ?? "text";
|
|
21
|
+
const status = listPacksWithStatus();
|
|
22
|
+
const rows = status.map((entry) => describePack(entry.pack, entry.installed, entry.installed_at));
|
|
23
|
+
if (mode === "json") {
|
|
24
|
+
process.stdout.write(JSON.stringify({ packs: rows }, null, 2) + "\n");
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
process.stdout.write(`Available vertical packs (${rows.length}):\n\n`);
|
|
28
|
+
for (const row of rows) {
|
|
29
|
+
const flags = [];
|
|
30
|
+
if (row.installed)
|
|
31
|
+
flags.push("installed");
|
|
32
|
+
if (row.has_schema_manifest)
|
|
33
|
+
flags.push("schema");
|
|
34
|
+
if (row.has_sandbox_manifest)
|
|
35
|
+
flags.push("sandbox");
|
|
36
|
+
if (row.meta_fallback)
|
|
37
|
+
flags.push("meta-fallback");
|
|
38
|
+
const flagStr = flags.length ? ` [${flags.join(", ")}]` : "";
|
|
39
|
+
process.stdout.write(` - ${row.slug.padEnd(22)} ${row.label}${flagStr}\n`);
|
|
40
|
+
}
|
|
41
|
+
process.stdout.write("\n");
|
|
42
|
+
process.stdout.write("Run 'neotoma packs install <slug>' to install a pack's schemas.\n");
|
|
43
|
+
}
|
|
44
|
+
export async function runPacksInstall(slug, options = {}) {
|
|
45
|
+
const mode = options.mode ?? "text";
|
|
46
|
+
const pack = resolveVerticalPack(slug);
|
|
47
|
+
if (!pack.schema_manifest_path) {
|
|
48
|
+
if (mode === "json") {
|
|
49
|
+
process.stdout.write(JSON.stringify({ ok: true, slug: pack.slug, note: "no schema manifest; nothing to install" }, null, 2) + "\n");
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
process.stdout.write(`Pack '${pack.slug}' has no schema manifest yet; nothing to install.\n`);
|
|
53
|
+
}
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const result = await installVerticalPack(pack.slug, {
|
|
57
|
+
user_id: options.userId,
|
|
58
|
+
});
|
|
59
|
+
if (mode === "json") {
|
|
60
|
+
process.stdout.write(JSON.stringify(result, null, 2) + "\n");
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
process.stdout.write(`Installed pack '${pack.slug}'\n`);
|
|
64
|
+
if (result.installed.length) {
|
|
65
|
+
process.stdout.write(` Newly registered: ${result.installed.map((s) => s.entity_type).join(", ")}\n`);
|
|
66
|
+
}
|
|
67
|
+
if (result.upgraded.length) {
|
|
68
|
+
process.stdout.write(` Upgraded: ${result.upgraded.map((s) => s.entity_type).join(", ")}\n`);
|
|
69
|
+
}
|
|
70
|
+
if (result.skipped.length) {
|
|
71
|
+
process.stdout.write(` Skipped:\n`);
|
|
72
|
+
for (const item of result.skipped) {
|
|
73
|
+
process.stdout.write(` - ${item.entity_type}: ${item.reason}\n`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export async function runPacksUninstall(slug, options = {}) {
|
|
78
|
+
const mode = options.mode ?? "text";
|
|
79
|
+
const result = await uninstallVerticalPack(slug);
|
|
80
|
+
if (mode === "json") {
|
|
81
|
+
process.stdout.write(JSON.stringify(result, null, 2) + "\n");
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (!result.removed_record) {
|
|
85
|
+
process.stdout.write(`Pack '${slug}' is not currently installed.\n`);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
process.stdout.write(`Removed install record for '${result.slug}'. Schemas retained: ${result.retained_schemas.join(", ")}\n`);
|
|
89
|
+
}
|
|
90
|
+
export async function runPacksStatus(slug, options = {}) {
|
|
91
|
+
const mode = options.mode ?? "text";
|
|
92
|
+
if (slug) {
|
|
93
|
+
const pack = resolveVerticalPack(slug);
|
|
94
|
+
const installed = isVerticalPackInstalled(pack.slug);
|
|
95
|
+
const records = getInstalledPacks();
|
|
96
|
+
const record = records.find((r) => r.slug === pack.slug);
|
|
97
|
+
let manifestPreview = [];
|
|
98
|
+
if (pack.schema_manifest_path) {
|
|
99
|
+
try {
|
|
100
|
+
const manifest = readManifest(pack);
|
|
101
|
+
manifestPreview = manifest.schemas.map((s) => ({
|
|
102
|
+
entity_type: s.entity_type,
|
|
103
|
+
schema_version: s.schema_version,
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// ignore — surfaced separately if needed
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const payload = {
|
|
111
|
+
slug: pack.slug,
|
|
112
|
+
label: pack.label,
|
|
113
|
+
installed,
|
|
114
|
+
installed_at: record?.installed_at,
|
|
115
|
+
manifest_schemas: manifestPreview,
|
|
116
|
+
installed_schemas: record?.schemas ?? [],
|
|
117
|
+
};
|
|
118
|
+
if (mode === "json") {
|
|
119
|
+
process.stdout.write(JSON.stringify(payload, null, 2) + "\n");
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
process.stdout.write(`Pack: ${pack.slug} (${pack.label})\n`);
|
|
123
|
+
process.stdout.write(` Installed: ${installed ? "yes" : "no"}\n`);
|
|
124
|
+
if (record?.installed_at) {
|
|
125
|
+
process.stdout.write(` Installed at: ${record.installed_at}\n`);
|
|
126
|
+
}
|
|
127
|
+
if (manifestPreview.length) {
|
|
128
|
+
process.stdout.write(` Manifest declares:\n`);
|
|
129
|
+
for (const s of manifestPreview) {
|
|
130
|
+
process.stdout.write(` - ${s.entity_type}@${s.schema_version}\n`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
const installed = getInstalledPacks();
|
|
136
|
+
const known = new Set(VERTICAL_PACKS.map((p) => p.slug));
|
|
137
|
+
if (mode === "json") {
|
|
138
|
+
process.stdout.write(JSON.stringify({
|
|
139
|
+
installed_count: installed.length,
|
|
140
|
+
installed,
|
|
141
|
+
unknown: installed
|
|
142
|
+
.filter((r) => !known.has(r.slug))
|
|
143
|
+
.map((r) => r.slug),
|
|
144
|
+
}, null, 2) + "\n");
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (!installed.length) {
|
|
148
|
+
process.stdout.write("No vertical packs are currently installed.\n");
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
process.stdout.write(`Installed packs (${installed.length}):\n`);
|
|
152
|
+
for (const record of installed) {
|
|
153
|
+
process.stdout.write(` - ${record.slug} (${record.schemas.length} schemas) — ${record.installed_at}\n`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=packs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packs.js","sourceRoot":"","sources":["../../src/cli/packs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Implementation of the `neotoma triage` subcommands for the agent-feedback
|
|
3
|
+
* pipeline. Registered in `src/cli/index.ts` with:
|
|
4
|
+
*
|
|
5
|
+
* neotoma triage # run one ingest pass
|
|
6
|
+
* neotoma triage --watch # continuous ingest loop
|
|
7
|
+
* neotoma triage --list-pending # dump pending items (use --json for machine-readable)
|
|
8
|
+
* neotoma triage --set-status ... # update a feedback's status + resolution_links
|
|
9
|
+
* neotoma triage --resolve ... # shorthand for marking resolved with a commit/PR
|
|
10
|
+
* neotoma triage --health # classification accuracy summary
|
|
11
|
+
*
|
|
12
|
+
* Transport follows `NEOTOMA_FEEDBACK_TRANSPORT` / `AGENT_SITE_BASE_URL`.
|
|
13
|
+
*/
|
|
14
|
+
export interface TriageOptions {
|
|
15
|
+
watch?: boolean;
|
|
16
|
+
remote?: boolean;
|
|
17
|
+
listPending?: boolean;
|
|
18
|
+
json?: boolean;
|
|
19
|
+
health?: boolean;
|
|
20
|
+
setStatus?: string;
|
|
21
|
+
feedbackId?: string;
|
|
22
|
+
classification?: string;
|
|
23
|
+
triageNotes?: string;
|
|
24
|
+
issueUrl?: string;
|
|
25
|
+
prUrl?: string;
|
|
26
|
+
commitSha?: string;
|
|
27
|
+
resolve?: string;
|
|
28
|
+
buildGuidanceFromRelease?: string;
|
|
29
|
+
dryRun?: boolean;
|
|
30
|
+
mirrorReplay?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function runTriage(opts: TriageOptions): Promise<void>;
|
|
33
|
+
//# sourceMappingURL=triage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../src/cli/triage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAgOD,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBlE"}
|