MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / cbm_json_mcp_snapshot_ownership

Function cbm_json_mcp_snapshot_ownership

src/cli/cli.c:2006–2036  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2004#endif
2005
2006static int cbm_json_mcp_snapshot_ownership(const char *document, size_t document_length,
2007 const char *const *object_path, size_t path_len,
2008 cbm_json_mcp_schema_t schema, const char *entry_name,
2009 const char *argument, const char *expected_binary,
2010 const char *previous_managed_binary,
2011 char **command_out) {
2012 cbm_json_like_object_field_t fields[3];
2013 size_t field_count = cbm_json_mcp_ownership_fields(schema, argument, fields);
2014 char *command = NULL;
2015 int result = cbm_json_like_match_object_entry(document, document_length, object_path, path_len,
2016 entry_name, fields, field_count, &command);
2017 if ((result == CBM_JSON_LIKE_OBJECT_MATCH ||
2018 result == CBM_JSON_LIKE_OBJECT_MATCH_WITH_EXTRAS) &&
2019 !cbm_json_mcp_owned_command(command, expected_binary, previous_managed_binary)) {
2020#ifdef _WIN32
2021 bool had_extras = result == CBM_JSON_LIKE_OBJECT_MATCH_WITH_EXTRAS;
2022 result =
2023 cbm_json_mcp_command_availability(command) == CBM_JSON_MCP_COMMAND_MISSING
2024 ? (had_extras ? CBM_JSON_MCP_OWNERSHIP_EXTRAS_STALE : CBM_JSON_MCP_OWNERSHIP_STALE)
2025 : CBM_JSON_LIKE_OBJECT_MISMATCH;
2026#else
2027 result = CBM_JSON_LIKE_OBJECT_MISMATCH;
2028#endif
2029 }
2030 if (command_out) {
2031 *command_out = command;
2032 } else {
2033 free(command);
2034 }
2035 return result;
2036}
2037
2038/* Render just the `command` member's VALUE for a schema — the raw JSON the
2039 * field-level repair splices in place of a moved install's stale path. */

Callers 3

cbm_junie_mcp_preflightFunction · 0.85

Tested by

no test coverage detected