From 29619658fc04034fc8dfbadccbf97c1102ca1ec3 Mon Sep 17 00:00:00 2001 From: hwinkel Date: Sat, 9 May 2026 11:52:16 +0200 Subject: [PATCH] feat: add graphify plugin and documentation - Introduced a new graphify OpenCode plugin to remind users about the knowledge graph before executing bash commands. - Added AGENTS.md for agent guidance, including development commands, environment setup, Docker deployment, code structure, conventions, and testing instructions. - Created opencode.json to configure the graphify plugin and superpowers. - Updated tests to improve type safety and added missing imports in test files. - Added .graphify_uncached.txt to track relevant files for graphify. --- .graphify_ast.json | 9489 ++++++++++++++++++ .graphify_cached.json | 1 + .graphify_detect.json | 1 + .graphify_extract.json | 16465 ++++++++++++++++++++++++++++++++ .graphify_uncached.txt | 21 + .opencode/plugins/graphify.js | 22 + AGENTS.md | 53 + opencode.json | 7 + tests/lib/buchungen.test.ts | 5 +- tests/lib/schemas.test.ts | 2 + tests/lib/tax.test.ts | 2 + 11 files changed, 26065 insertions(+), 3 deletions(-) create mode 100644 .graphify_ast.json create mode 100644 .graphify_cached.json create mode 100644 .graphify_detect.json create mode 100644 .graphify_extract.json create mode 100644 .graphify_uncached.txt create mode 100644 .opencode/plugins/graphify.js create mode 100644 AGENTS.md create mode 100644 opencode.json diff --git a/.graphify_ast.json b/.graphify_ast.json new file mode 100644 index 0000000..4eb8abd --- /dev/null +++ b/.graphify_ast.json @@ -0,0 +1,9489 @@ +{ + "nodes": [ + { + "id": "postcss_config_ts", + "label": "postcss.config.ts", + "file_type": "code", + "source_file": "postcss.config.ts", + "source_location": "L1" + }, + { + "id": "react_router_config_ts", + "label": "react-router.config.ts", + "file_type": "code", + "source_file": "react-router.config.ts", + "source_location": "L1" + }, + { + "id": "vitest_setup_ts", + "label": "vitest.setup.ts", + "file_type": "code", + "source_file": "vitest.setup.ts", + "source_location": "L1" + }, + { + "id": "vitest_config_ts", + "label": "vitest.config.ts", + "file_type": "code", + "source_file": "vitest.config.ts", + "source_location": "L1" + }, + { + "id": "vite_config_ts", + "label": "vite.config.ts", + "file_type": "code", + "source_file": "vite.config.ts", + "source_location": "L1" + }, + { + "id": "prisma_seed_js", + "label": "seed.js", + "file_type": "code", + "source_file": "prisma/seed.js", + "source_location": "L1" + }, + { + "id": "seed_main", + "label": "main()", + "file_type": "code", + "source_file": "prisma/seed.js", + "source_location": "L4" + }, + { + "id": "prisma_seed_ts", + "label": "seed.ts", + "file_type": "code", + "source_file": "prisma/seed.ts", + "source_location": "L1" + }, + { + "id": "seed_main", + "label": "main()", + "file_type": "code", + "source_file": "prisma/seed.ts", + "source_location": "L6" + }, + { + "id": "tests_lib_buchungen_test_ts", + "label": "buchungen.test.ts", + "file_type": "code", + "source_file": "tests/lib/buchungen.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_kategorie_defaults_test_ts", + "label": "kategorie-defaults.test.ts", + "file_type": "code", + "source_file": "tests/lib/kategorie-defaults.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_einnahmen_ausgaben_test_ts", + "label": "einnahmen-ausgaben.test.ts", + "file_type": "code", + "source_file": "tests/lib/einnahmen-ausgaben.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_invoice_number_test_ts", + "label": "invoice-number.test.ts", + "file_type": "code", + "source_file": "tests/lib/invoice-number.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_afa_test_ts", + "label": "afa.test.ts", + "file_type": "code", + "source_file": "tests/lib/afa.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_schemas_test_ts", + "label": "schemas.test.ts", + "file_type": "code", + "source_file": "tests/lib/schemas.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_client_validation_test_ts", + "label": "client-validation.test.ts", + "file_type": "code", + "source_file": "tests/lib/client-validation.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_tax_test_ts", + "label": "tax.test.ts", + "file_type": "code", + "source_file": "tests/lib/tax.test.ts", + "source_location": "L1" + }, + { + "id": "tests_integration_api_test_ts", + "label": "api.test.ts", + "file_type": "code", + "source_file": "tests/integration/api.test.ts", + "source_location": "L1" + }, + { + "id": "api_test_dbtest", + "label": "dbTest()", + "file_type": "code", + "source_file": "tests/integration/api.test.ts", + "source_location": "L58" + }, + { + "id": "tests_integration_setup_ts", + "label": "setup.ts", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L1" + }, + { + "id": "setup_setuptestdatabase", + "label": "setupTestDatabase()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L24" + }, + { + "id": "setup_cleanuptestdatabase", + "label": "cleanupTestDatabase()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L48" + }, + { + "id": "setup_createtestuser", + "label": "createTestUser()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L71" + }, + { + "id": "setup_createtestcompany", + "label": "createTestCompany()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L89" + }, + { + "id": "setup_createtestcustomer", + "label": "createTestCustomer()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L105" + }, + { + "id": "setup_getauthheaders", + "label": "getAuthHeaders()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L122" + }, + { + "id": "tests_integration_api_simple_test_ts", + "label": "api-simple.test.ts", + "file_type": "code", + "source_file": "tests/integration/api-simple.test.ts", + "source_location": "L1" + }, + { + "id": "tests_components_invoice_status_badge_test_tsx", + "label": "invoice-status-badge.test.tsx", + "file_type": "code", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L1" + }, + { + "id": "coverage_block_navigation_js", + "label": "block-navigation.js", + "file_type": "code", + "source_file": "coverage/block-navigation.js", + "source_location": "L1" + }, + { + "id": "block_navigation_toggleclass", + "label": "toggleClass()", + "file_type": "code", + "source_file": "coverage/block-navigation.js", + "source_location": "L24" + }, + { + "id": "block_navigation_makecurrent", + "label": "makeCurrent()", + "file_type": "code", + "source_file": "coverage/block-navigation.js", + "source_location": "L31" + }, + { + "id": "block_navigation_gotoprevious", + "label": "goToPrevious()", + "file_type": "code", + "source_file": "coverage/block-navigation.js", + "source_location": "L41" + }, + { + "id": "block_navigation_gotonext", + "label": "goToNext()", + "file_type": "code", + "source_file": "coverage/block-navigation.js", + "source_location": "L52" + }, + { + "id": "coverage_sorter_js", + "label": "sorter.js", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L1" + }, + { + "id": "sorter_gettable", + "label": "getTable()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L11" + }, + { + "id": "sorter_gettableheader", + "label": "getTableHeader()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L15" + }, + { + "id": "sorter_gettablebody", + "label": "getTableBody()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L19" + }, + { + "id": "sorter_getnthcolumn", + "label": "getNthColumn()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L23" + }, + { + "id": "sorter_onfilterinput", + "label": "onFilterInput()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L27" + }, + { + "id": "sorter_addsearchbox", + "label": "addSearchBox()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L59" + }, + { + "id": "sorter_loadcolumns", + "label": "loadColumns()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L67" + }, + { + "id": "sorter_loadrowdata", + "label": "loadRowData()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L92" + }, + { + "id": "sorter_loaddata", + "label": "loadData()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L111" + }, + { + "id": "sorter_sortbyindex", + "label": "sortByIndex()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L120" + }, + { + "id": "sorter_removesortindicators", + "label": "removeSortIndicators()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L151" + }, + { + "id": "sorter_addsortindicators", + "label": "addSortIndicators()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L159" + }, + { + "id": "sorter_enableui", + "label": "enableUI()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L165" + }, + { + "id": "coverage_prettify_js", + "label": "prettify.js", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L1" + }, + { + "id": "prettify_k", + "label": "k()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_a", + "label": "a()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_b", + "label": "B()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_o", + "label": "o()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_g", + "label": "g()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_i", + "label": "i()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_q", + "label": "Q()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_d", + "label": "D()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_c", + "label": "c()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_y", + "label": "y()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "app_session_server_ts", + "label": "session.server.ts", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L1" + }, + { + "id": "session_server_login", + "label": "login()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L30" + }, + { + "id": "session_server_createusersession", + "label": "createUserSession()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L59" + }, + { + "id": "session_server_getusersession", + "label": "getUserSession()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L74" + }, + { + "id": "session_server_requireuser", + "label": "requireUser()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L95" + }, + { + "id": "session_server_requireadmin", + "label": "requireAdmin()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L101" + }, + { + "id": "session_server_getapiuser", + "label": "getApiUser()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L107" + }, + { + "id": "session_server_logout", + "label": "logout()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L112" + }, + { + "id": "app_entry_server_tsx", + "label": "entry.server.tsx", + "file_type": "code", + "source_file": "app/entry.server.tsx", + "source_location": "L1" + }, + { + "id": "app_root_tsx", + "label": "root.tsx", + "file_type": "code", + "source_file": "app/root.tsx", + "source_location": "L1" + }, + { + "id": "app_routes_ts", + "label": "routes.ts", + "file_type": "code", + "source_file": "app/routes.ts", + "source_location": "L1" + }, + { + "id": "app_lib_kategorie_defaults_ts", + "label": "kategorie-defaults.ts", + "file_type": "code", + "source_file": "app/lib/kategorie-defaults.ts", + "source_location": "L1" + }, + { + "id": "app_lib_ausgaben_ts", + "label": "ausgaben.ts", + "file_type": "code", + "source_file": "app/lib/ausgaben.ts", + "source_location": "L1" + }, + { + "id": "app_lib_client_validation_ts", + "label": "client-validation.ts", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L1" + }, + { + "id": "client_validation_isdebugmode", + "label": "isDebugMode()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L7" + }, + { + "id": "client_validation_setdebugmode", + "label": "setDebugMode()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L12" + }, + { + "id": "client_validation_debuglog", + "label": "debugLog()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L26" + }, + { + "id": "client_validation_validatetaxid", + "label": "validateTaxId()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L51" + }, + { + "id": "client_validation_validatevatid", + "label": "validateVatId()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L62" + }, + { + "id": "client_validation_validateiban", + "label": "validateIban()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L73" + }, + { + "id": "client_validation_validatebic", + "label": "validateBic()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L84" + }, + { + "id": "client_validation_validatewebsite", + "label": "validateWebsite()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L95" + }, + { + "id": "client_validation_validatecompanyform", + "label": "validateCompanyForm()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L126" + }, + { + "id": "client_validation_handleapierror", + "label": "handleApiError()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L219" + }, + { + "id": "client_validation_getfielderror", + "label": "getFieldError()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L234" + }, + { + "id": "client_validation_hasfielderror", + "label": "hasFieldError()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L242" + }, + { + "id": "app_lib_invoice_number_server_ts", + "label": "invoice-number.server.ts", + "file_type": "code", + "source_file": "app/lib/invoice-number.server.ts", + "source_location": "L1" + }, + { + "id": "invoice_number_server_generateinvoicenumber", + "label": "generateInvoiceNumber()", + "file_type": "code", + "source_file": "app/lib/invoice-number.server.ts", + "source_location": "L3" + }, + { + "id": "app_lib_tax_ts", + "label": "tax.ts", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L1" + }, + { + "id": "tax_calcitemamounts", + "label": "calcItemAmounts()", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L7" + }, + { + "id": "tax_calcitemamountskleinunternehmer", + "label": "calcItemAmountsKleinunternehmer()", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L18" + }, + { + "id": "tax_calcinvoicetotals", + "label": "calcInvoiceTotals()", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L26" + }, + { + "id": "tax_formatcurrency", + "label": "formatCurrency()", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L39" + }, + { + "id": "tax_formatdate", + "label": "formatDate()", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L46" + }, + { + "id": "app_lib_schemas_ts", + "label": "schemas.ts", + "file_type": "code", + "source_file": "app/lib/schemas.ts", + "source_location": "L1" + }, + { + "id": "app_lib_error_logger_server_ts", + "label": "error-logger.server.ts", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L1" + }, + { + "id": "error_logger_server_extracterrorinfo", + "label": "extractErrorInfo()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L33" + }, + { + "id": "error_logger_server_extractrequestcontext", + "label": "extractRequestContext()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L59" + }, + { + "id": "error_logger_server_builderrorlogentry", + "label": "buildErrorLogEntry()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L82" + }, + { + "id": "error_logger_server_formaterrorlog", + "label": "formatErrorLog()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L108" + }, + { + "id": "error_logger_server_logrouteerror", + "label": "logRouteError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L138" + }, + { + "id": "error_logger_server_logactionerror", + "label": "logActionError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L151" + }, + { + "id": "error_logger_server_logdatabaseerror", + "label": "logDatabaseError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L170" + }, + { + "id": "error_logger_server_logapierror", + "label": "logApiError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L187" + }, + { + "id": "error_logger_server_logstartuperror", + "label": "logStartupError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L207" + }, + { + "id": "error_logger_server_logerror", + "label": "logError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L218" + }, + { + "id": "app_lib_einnahmen_ts", + "label": "einnahmen.ts", + "file_type": "code", + "source_file": "app/lib/einnahmen.ts", + "source_location": "L1" + }, + { + "id": "app_lib_cleanup_server_ts", + "label": "cleanup.server.ts", + "file_type": "code", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L1" + }, + { + "id": "cleanup_server_purgeexpireddeletedinvoices", + "label": "purgeExpiredDeletedInvoices()", + "file_type": "code", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L6" + }, + { + "id": "cleanup_server_startcleanupscheduler", + "label": "startCleanupScheduler()", + "file_type": "code", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L20" + }, + { + "id": "app_lib_prisma_server_ts", + "label": "prisma.server.ts", + "file_type": "code", + "source_file": "app/lib/prisma.server.ts", + "source_location": "L1" + }, + { + "id": "app_lib_utils_ts", + "label": "utils.ts", + "file_type": "code", + "source_file": "app/lib/utils.ts", + "source_location": "L1" + }, + { + "id": "utils_cn", + "label": "cn()", + "file_type": "code", + "source_file": "app/lib/utils.ts", + "source_location": "L4" + }, + { + "id": "app_lib_logger_server_ts", + "label": "logger.server.ts", + "file_type": "code", + "source_file": "app/lib/logger.server.ts", + "source_location": "L1" + }, + { + "id": "logger_server_log", + "label": "log()", + "file_type": "code", + "source_file": "app/lib/logger.server.ts", + "source_location": "L28" + }, + { + "id": "app_lib_rate_limiter_server_ts", + "label": "rate-limiter.server.ts", + "file_type": "code", + "source_file": "app/lib/rate-limiter.server.ts", + "source_location": "L1" + }, + { + "id": "rate_limiter_server_checkloginratelimit", + "label": "checkLoginRateLimit()", + "file_type": "code", + "source_file": "app/lib/rate-limiter.server.ts", + "source_location": "L9" + }, + { + "id": "app_lib_afa_ts", + "label": "afa.ts", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L1" + }, + { + "id": "afa_jahresafa", + "label": "jahresAfa()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L15" + }, + { + "id": "afa_erwerbsjahrafa", + "label": "erwerbsjahrAfa()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L20" + }, + { + "id": "afa_afafuerjahr", + "label": "afaFuerJahr()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L26" + }, + { + "id": "afa_kumulierteafa", + "label": "kumulierteAfa()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L43" + }, + { + "id": "afa_buchwert", + "label": "buchwert()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L53" + }, + { + "id": "afa_assetstatus", + "label": "assetStatus()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L61" + }, + { + "id": "app_lib_db_init_server_ts", + "label": "db-init.server.ts", + "file_type": "code", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L1" + }, + { + "id": "db_init_server_runmigrations", + "label": "runMigrations()", + "file_type": "code", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L10" + }, + { + "id": "db_init_server_initializedatabase", + "label": "initializeDatabase()", + "file_type": "code", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L28" + }, + { + "id": "db_init_server_checkdatabasehealth", + "label": "checkDatabaseHealth()", + "file_type": "code", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L55" + }, + { + "id": "app_routes_api_customers_ts", + "label": "api.customers.ts", + "file_type": "code", + "source_file": "app/routes/api.customers.ts", + "source_location": "L1" + }, + { + "id": "api_customers_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.customers.ts", + "source_location": "L6" + }, + { + "id": "app_routes_api_companies_id_buchungkategorien_ts", + "label": "api.companies.$id.buchungkategorien.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_buchungkategorien_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L10" + }, + { + "id": "api_companies_id_buchungkategorien_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L46" + }, + { + "id": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "label": "companies.$id.buchhaltung.ausgaben.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_ausgaben_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L49" + }, + { + "id": "companies_id_buchhaltung_ausgaben_loadyear", + "label": "loadYear()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L124" + }, + { + "id": "companies_id_buchhaltung_ausgaben_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L141" + }, + { + "id": "companies_id_buchhaltung_ausgaben_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L147" + }, + { + "id": "companies_id_buchhaltung_ausgaben_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L160" + }, + { + "id": "companies_id_buchhaltung_ausgaben_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L192" + }, + { + "id": "app_routes_api_reports_ts", + "label": "api.reports.ts", + "file_type": "code", + "source_file": "app/routes/api.reports.ts", + "source_location": "L1" + }, + { + "id": "api_reports_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.reports.ts", + "source_location": "L5" + }, + { + "id": "app_routes_admin_mandanten_tsx", + "label": "admin.mandanten.tsx", + "file_type": "code", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L1" + }, + { + "id": "admin_mandanten_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L8" + }, + { + "id": "app_routes_companies_id_buchhaltung_money_tsx", + "label": "companies.$id.buchhaltung.money.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_money_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L23" + }, + { + "id": "companies_id_buchhaltung_money_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L86" + }, + { + "id": "companies_id_buchhaltung_money_opencreateumbuchung", + "label": "openCreateUmbuchung()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L100" + }, + { + "id": "companies_id_buchhaltung_money_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L114" + }, + { + "id": "companies_id_buchhaltung_money_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L126" + }, + { + "id": "companies_id_buchhaltung_money_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L176" + }, + { + "id": "app_routes_companies_new_tsx", + "label": "companies.new.tsx", + "file_type": "code", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L1" + }, + { + "id": "companies_new_newcompanypage", + "label": "NewCompanyPage()", + "file_type": "code", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L14" + }, + { + "id": "app_routes_companies_id_invoices_tsx", + "label": "companies.$id.invoices.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_invoices_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L19" + }, + { + "id": "companies_id_invoices_groupbyyear", + "label": "groupByYear()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L48" + }, + { + "id": "companies_id_invoices_invoicerow", + "label": "InvoiceRow()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L58" + }, + { + "id": "companies_id_invoices_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L133" + }, + { + "id": "app_routes_companies_id_reports_tsx", + "label": "companies.$id.reports.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_reports_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L17" + }, + { + "id": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "label": "companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L27" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_reload", + "label": "reload()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L87" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L93" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L100" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L107" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L134" + }, + { + "id": "app_routes_home_tsx", + "label": "home.tsx", + "file_type": "code", + "source_file": "app/routes/home.tsx", + "source_location": "L1" + }, + { + "id": "home_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/home.tsx", + "source_location": "L13" + }, + { + "id": "app_routes_api_invoices_id_ts", + "label": "api.invoices.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L1" + }, + { + "id": "api_invoices_id_getinvoice", + "label": "getInvoice()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L11" + }, + { + "id": "api_invoices_id_storageroot", + "label": "storageRoot()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L19" + }, + { + "id": "api_invoices_id_generateandsaveinvoicepdf", + "label": "generateAndSaveInvoicePDF()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L24" + }, + { + "id": "api_invoices_id_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L51" + }, + { + "id": "api_invoices_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L63" + }, + { + "id": "app_routes_companies_id_leistungen_tsx", + "label": "companies.$id.leistungen.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_leistungen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L42" + }, + { + "id": "companies_id_leistungen_togglesort", + "label": "toggleSort()", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L133" + }, + { + "id": "companies_id_leistungen_handlecreate", + "label": "handleCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L151" + }, + { + "id": "companies_id_leistungen_handleedit", + "label": "handleEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L161" + }, + { + "id": "companies_id_leistungen_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L172" + }, + { + "id": "app_routes_api_einnahmen_id_ts", + "label": "api.einnahmen.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L1" + }, + { + "id": "api_einnahmen_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L24" + }, + { + "id": "app_routes_admin_users_id_tsx", + "label": "admin.users.$id.tsx", + "file_type": "code", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L1" + }, + { + "id": "admin_users_id_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L18" + }, + { + "id": "admin_users_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L34" + }, + { + "id": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "label": "companies.$id.buchhaltung.bilanzen.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_bilanzen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L19" + }, + { + "id": "app_routes_archiv_tsx", + "label": "archiv.tsx", + "file_type": "code", + "source_file": "app/routes/archiv.tsx", + "source_location": "L1" + }, + { + "id": "archiv_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/archiv.tsx", + "source_location": "L12" + }, + { + "id": "archiv_restore", + "label": "restore()", + "file_type": "code", + "source_file": "app/routes/archiv.tsx", + "source_location": "L42" + }, + { + "id": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "label": "companies.$id.invoices.$invoiceId.edit.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_invoices_invoiceid_edit_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L31" + }, + { + "id": "companies_id_invoices_invoiceid_edit_editinvoicepage", + "label": "EditInvoicePage()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L97" + }, + { + "id": "app_routes_companies_id_invoices_invoiceid_tsx", + "label": "companies.$id.invoices.$invoiceId.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_invoices_invoiceid_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L21" + }, + { + "id": "companies_id_invoices_invoiceid_updatestatus", + "label": "updateStatus()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L104" + }, + { + "id": "companies_id_invoices_invoiceid_handlesoftdelete", + "label": "handleSoftDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L122" + }, + { + "id": "companies_id_invoices_invoiceid_handlerestore", + "label": "handleRestore()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L141" + }, + { + "id": "companies_id_invoices_invoiceid_handleharddelete", + "label": "handleHardDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L158" + }, + { + "id": "companies_id_invoices_invoiceid_downloadfile", + "label": "downloadFile()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L171" + }, + { + "id": "companies_id_invoices_invoiceid_downloadpdf", + "label": "downloadPdf()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L193" + }, + { + "id": "companies_id_invoices_invoiceid_downloadxml", + "label": "downloadXml()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L201" + }, + { + "id": "app_routes_api_einnahmen_id_upload_ts", + "label": "api.einnahmen.$id.upload.ts", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L1" + }, + { + "id": "api_einnahmen_id_upload_storageroot", + "label": "storageRoot()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L17" + }, + { + "id": "api_einnahmen_id_upload_parsebelegpath", + "label": "parseBelegPath()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L22" + }, + { + "id": "api_einnahmen_id_upload_removeuploadedfile", + "label": "removeUploadedFile()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L27" + }, + { + "id": "api_einnahmen_id_upload_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L37" + }, + { + "id": "app_routes_dashboard_layout_tsx", + "label": "dashboard-layout.tsx", + "file_type": "code", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L1" + }, + { + "id": "dashboard_layout_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L5" + }, + { + "id": "dashboard_layout_dashboardlayout", + "label": "DashboardLayout()", + "file_type": "code", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L10" + }, + { + "id": "app_routes_admin_users_tsx", + "label": "admin.users.tsx", + "file_type": "code", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L1" + }, + { + "id": "admin_users_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L6" + }, + { + "id": "app_routes_api_admin_companies_id_delete_ts", + "label": "api.admin.companies.$id.delete.ts", + "file_type": "code", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L1" + }, + { + "id": "api_admin_companies_id_delete_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L5" + }, + { + "id": "app_routes_companies_id_buchhaltung_tsx", + "label": "companies.$id.buchhaltung.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L14" + }, + { + "id": "companies_id_buchhaltung_buchhaltunglayout", + "label": "BuchhaltungLayout()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L66" + }, + { + "id": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "label": "companies.$id.buchhaltung.einnahmen.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_einnahmen_beleghref", + "label": "belegHref()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L14" + }, + { + "id": "companies_id_buchhaltung_einnahmen_belegdisplayname", + "label": "belegDisplayName()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L26" + }, + { + "id": "companies_id_buchhaltung_einnahmen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L73" + }, + { + "id": "companies_id_buchhaltung_einnahmen_handlequickupload", + "label": "handleQuickUpload()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L166" + }, + { + "id": "companies_id_buchhaltung_einnahmen_loadyear", + "label": "loadYear()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L190" + }, + { + "id": "companies_id_buchhaltung_einnahmen_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L208" + }, + { + "id": "companies_id_buchhaltung_einnahmen_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L216" + }, + { + "id": "companies_id_buchhaltung_einnahmen_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L232" + }, + { + "id": "companies_id_buchhaltung_einnahmen_handledeletebeleg", + "label": "handleDeleteBeleg()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L289" + }, + { + "id": "companies_id_buchhaltung_einnahmen_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L295" + }, + { + "id": "app_routes_companies_id_edit_tsx", + "label": "companies.$id.edit.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_edit_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L16" + }, + { + "id": "companies_id_edit_handlesubmit", + "label": "handleSubmit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L29" + }, + { + "id": "app_routes_api_einnahmen_ts", + "label": "api.einnahmen.ts", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L1" + }, + { + "id": "api_einnahmen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L27" + }, + { + "id": "api_einnahmen_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L84" + }, + { + "id": "app_routes_api_ausgaben_ts", + "label": "api.ausgaben.ts", + "file_type": "code", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L1" + }, + { + "id": "api_ausgaben_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L15" + }, + { + "id": "api_ausgaben_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L52" + }, + { + "id": "app_routes_login_tsx", + "label": "login.tsx", + "file_type": "code", + "source_file": "app/routes/login.tsx", + "source_location": "L1" + }, + { + "id": "login_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/login.tsx", + "source_location": "L10" + }, + { + "id": "login_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/login.tsx", + "source_location": "L16" + }, + { + "id": "app_routes_admin_layout_tsx", + "label": "admin-layout.tsx", + "file_type": "code", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L1" + }, + { + "id": "admin_layout_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L5" + }, + { + "id": "app_routes_api_companies_id_ts", + "label": "api.companies.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L6" + }, + { + "id": "api_companies_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L16" + }, + { + "id": "app_routes_companies_id_customers_tsx", + "label": "companies.$id.customers.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_customers_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L46" + }, + { + "id": "companies_id_customers_customerform", + "label": "CustomerForm()", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L61" + }, + { + "id": "companies_id_customers_handlecreate", + "label": "handleCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L122" + }, + { + "id": "companies_id_customers_handleedit", + "label": "handleEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L132" + }, + { + "id": "companies_id_customers_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L143" + }, + { + "id": "app_routes_api_ausgaben_id_ts", + "label": "api.ausgaben.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L1" + }, + { + "id": "api_ausgaben_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L14" + }, + { + "id": "app_routes_api_companies_id_customers_ts", + "label": "api.companies.$id.customers.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_customers_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L4" + }, + { + "id": "app_routes_api_companies_id_invoices_ts", + "label": "api.companies.$id.invoices.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_invoices_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L4" + }, + { + "id": "app_routes_api_companies_id_money_ts", + "label": "api.companies.$id.money.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_money_totransaction", + "label": "toTransaction()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L15" + }, + { + "id": "api_companies_id_money_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L28" + }, + { + "id": "api_companies_id_money_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L61" + }, + { + "id": "app_routes_api_anlagevermoegen_id_ts", + "label": "api.anlagevermoegen.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L1" + }, + { + "id": "api_anlagevermoegen_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L15" + }, + { + "id": "app_routes_api_invoices_id_pdf_ts", + "label": "api.invoices.$id.pdf.ts", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L1" + }, + { + "id": "api_invoices_id_pdf_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L4" + }, + { + "id": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "label": "companies.$id.buchhaltung.anlagevermoegen.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_enrichasset", + "label": "enrichAsset()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L44" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L76" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_loadyear", + "label": "loadYear()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L123" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L142" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L148" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L162" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L196" + }, + { + "id": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "label": "companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L27" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_reload", + "label": "reload()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L87" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L93" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L100" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L107" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L134" + }, + { + "id": "app_routes_admin_logs_tsx", + "label": "admin.logs.tsx", + "file_type": "code", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L1" + }, + { + "id": "admin_logs_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L35" + }, + { + "id": "app_routes_companies_id_invoices_new_tsx", + "label": "companies.$id.invoices.new.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_invoices_new_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L28" + }, + { + "id": "companies_id_invoices_new_newinvoicepage", + "label": "NewInvoicePage()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L70" + }, + { + "id": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "label": "api.companies.$id.buchungkategorien.$katId.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_buchungkategorien_katid_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L9" + }, + { + "id": "app_routes_api_companies_id_kategorien_ts", + "label": "api.companies.$id.kategorien.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_kategorien_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L18" + }, + { + "id": "api_companies_id_kategorien_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L50" + }, + { + "id": "app_routes_admin_users_new_tsx", + "label": "admin.users.new.tsx", + "file_type": "code", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L1" + }, + { + "id": "admin_users_new_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L11" + }, + { + "id": "admin_users_new_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L16" + }, + { + "id": "app_routes_api_services_ts", + "label": "api.services.ts", + "file_type": "code", + "source_file": "app/routes/api.services.ts", + "source_location": "L1" + }, + { + "id": "api_services_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.services.ts", + "source_location": "L14" + }, + { + "id": "app_routes_companies_id_tsx", + "label": "companies.$id.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L50" + }, + { + "id": "companies_id_togglearchive", + "label": "toggleArchive()", + "file_type": "code", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L113" + }, + { + "id": "app_routes_api_anlagevermoegen_ts", + "label": "api.anlagevermoegen.ts", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L1" + }, + { + "id": "api_anlagevermoegen_toraw", + "label": "toRaw()", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L17" + }, + { + "id": "api_anlagevermoegen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L33" + }, + { + "id": "api_anlagevermoegen_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L72" + }, + { + "id": "app_routes_api_companies_ts", + "label": "api.companies.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.ts", + "source_location": "L1" + }, + { + "id": "api_companies_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.ts", + "source_location": "L7" + }, + { + "id": "api_companies_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.ts", + "source_location": "L29" + }, + { + "id": "app_routes_api_bilanzen_ts", + "label": "api.bilanzen.ts", + "file_type": "code", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L1" + }, + { + "id": "api_bilanzen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L5" + }, + { + "id": "app_routes_api_beleg_userid_filename_ts", + "label": "api.beleg.$userId.$filename.ts", + "file_type": "code", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L1" + }, + { + "id": "api_beleg_userid_filename_storageroot", + "label": "storageRoot()", + "file_type": "code", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L14" + }, + { + "id": "api_beleg_userid_filename_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L18" + }, + { + "id": "app_routes_companies_tsx", + "label": "companies.tsx", + "file_type": "code", + "source_file": "app/routes/companies.tsx", + "source_location": "L1" + }, + { + "id": "companies_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.tsx", + "source_location": "L37" + }, + { + "id": "app_routes_logout_ts", + "label": "logout.ts", + "file_type": "code", + "source_file": "app/routes/logout.ts", + "source_location": "L1" + }, + { + "id": "logout_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/logout.ts", + "source_location": "L3" + }, + { + "id": "app_routes_api_customers_id_ts", + "label": "api.customers.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L1" + }, + { + "id": "api_customers_id_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L6" + }, + { + "id": "api_customers_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L18" + }, + { + "id": "app_routes_api_invoices_id_xml_ts", + "label": "api.invoices.$id.xml.ts", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L1" + }, + { + "id": "api_invoices_id_xml_tounitcode", + "label": "toUnitCode()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L12" + }, + { + "id": "api_invoices_id_xml_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L23" + }, + { + "id": "app_routes_api_services_id_ts", + "label": "api.services.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L1" + }, + { + "id": "api_services_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L13" + }, + { + "id": "app_routes_api_invoices_ts", + "label": "api.invoices.ts", + "file_type": "code", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L1" + }, + { + "id": "api_invoices_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L45" + }, + { + "id": "app_components_debug_panel_tsx", + "label": "debug-panel.tsx", + "file_type": "code", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L1" + }, + { + "id": "debug_panel_debugpanel", + "label": "DebugPanel()", + "file_type": "code", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L9" + }, + { + "id": "app_components_company_company_form_tsx", + "label": "company-form.tsx", + "file_type": "code", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L1" + }, + { + "id": "company_form_handleformsubmit", + "label": "handleFormSubmit()", + "file_type": "code", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L112" + }, + { + "id": "app_components_invoice_invoice_pdf_tsx", + "label": "invoice-pdf.tsx", + "file_type": "code", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L1" + }, + { + "id": "invoice_pdf_formatmoney", + "label": "formatMoney()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L191" + }, + { + "id": "invoice_pdf_formatdate", + "label": "formatDate()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L195" + }, + { + "id": "invoice_pdf_n", + "label": "n()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L246" + }, + { + "id": "app_components_invoice_invoice_status_badge_tsx", + "label": "invoice-status-badge.tsx", + "file_type": "code", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L1" + }, + { + "id": "invoice_status_badge_invoicestatusbadge", + "label": "InvoiceStatusBadge()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L12" + }, + { + "id": "app_components_invoice_invoice_form_tsx", + "label": "invoice-form.tsx", + "file_type": "code", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L1" + }, + { + "id": "invoice_form_defaultitem", + "label": "defaultItem()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L57" + }, + { + "id": "invoice_form_invoiceform", + "label": "InvoiceForm()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L81" + }, + { + "id": "app_components_layout_sidebar_tsx", + "label": "sidebar.tsx", + "file_type": "code", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L1" + }, + { + "id": "sidebar_getinitials", + "label": "getInitials()", + "file_type": "code", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L16" + }, + { + "id": "app_components_layout_topbar_tsx", + "label": "topbar.tsx", + "file_type": "code", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L1" + }, + { + "id": "topbar_isbreadcrumbhandle", + "label": "isBreadcrumbHandle()", + "file_type": "code", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L13" + }, + { + "id": "topbar_getinitials", + "label": "getInitials()", + "file_type": "code", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L22" + }, + { + "id": "app_components_ui_button_tsx", + "label": "button.tsx", + "file_type": "code", + "source_file": "app/components/ui/button.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_select_tsx", + "label": "select.tsx", + "file_type": "code", + "source_file": "app/components/ui/select.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_badge_tsx", + "label": "badge.tsx", + "file_type": "code", + "source_file": "app/components/ui/badge.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_input_tsx", + "label": "input.tsx", + "file_type": "code", + "source_file": "app/components/ui/input.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_card_tsx", + "label": "card.tsx", + "file_type": "code", + "source_file": "app/components/ui/card.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_dialog_tsx", + "label": "dialog.tsx", + "file_type": "code", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L1" + }, + { + "id": "dialog_dialogheader", + "label": "DialogHeader()", + "file_type": "code", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L47" + }, + { + "id": "app_components_ui_tooltip_tsx", + "label": "tooltip.tsx", + "file_type": "code", + "source_file": "app/components/ui/tooltip.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_textarea_tsx", + "label": "textarea.tsx", + "file_type": "code", + "source_file": "app/components/ui/textarea.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_label_tsx", + "label": "label.tsx", + "file_type": "code", + "source_file": "app/components/ui/label.tsx", + "source_location": "L1" + }, + { + "id": "app_types_index_ts", + "label": "index.ts", + "file_type": "code", + "source_file": "app/types/index.ts", + "source_location": "L1" + }, + { + "id": "scripts_setup_admin_ts", + "label": "setup-admin.ts", + "file_type": "code", + "source_file": "scripts/setup-admin.ts", + "source_location": "L1" + }, + { + "id": "setup_admin_generatepassword", + "label": "generatePassword()", + "file_type": "code", + "source_file": "scripts/setup-admin.ts", + "source_location": "L24" + }, + { + "id": "setup_admin_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/setup-admin.ts", + "source_location": "L31" + }, + { + "id": "scripts_setup_admin_js", + "label": "setup-admin.js", + "file_type": "code", + "source_file": "scripts/setup-admin.js", + "source_location": "L1" + }, + { + "id": "setup_admin_generatepassword", + "label": "generatePassword()", + "file_type": "code", + "source_file": "scripts/setup-admin.js", + "source_location": "L21" + }, + { + "id": "setup_admin_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/setup-admin.js", + "source_location": "L27" + } + ], + "edges": [ + { + "source": "react_router_config_ts", + "target": "config", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "react-router.config.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vitest_setup_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.setup.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vitest_config_ts", + "target": "config", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.config.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vitest_config_ts", + "target": "plugin_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.config.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "vitest_config_ts", + "target": "vite_tsconfig_paths", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.config.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "vite_config_ts", + "target": "vite", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vite.config.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vite_config_ts", + "target": "vite", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vite.config.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "vite_config_ts", + "target": "vite_tsconfig_paths", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vite.config.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "prisma_seed_js", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.js", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "prisma_seed_js", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prisma_seed_js", + "target": "seed_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.js", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "prisma_seed_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "prisma_seed_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prisma_seed_ts", + "target": "seed_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "tests_lib_buchungen_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/buchungen.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_kategorie_defaults_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/kategorie-defaults.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_kategorie_defaults_test_ts", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/kategorie-defaults.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_einnahmen_ausgaben_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/einnahmen-ausgaben.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_einnahmen_ausgaben_test_ts", + "target": "einnahmen", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/einnahmen-ausgaben.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_einnahmen_ausgaben_test_ts", + "target": "ausgaben", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/einnahmen-ausgaben.test.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "tests_lib_invoice_number_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/invoice-number.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_invoice_number_test_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/invoice-number.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_invoice_number_test_ts", + "target": "invoice_number_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/invoice-number.test.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "tests_lib_afa_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/afa.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_afa_test_ts", + "target": "afa", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/afa.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_schemas_test_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/schemas.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_client_validation_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/client-validation.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_client_validation_test_ts", + "target": "client_validation", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/client-validation.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_tax_test_ts", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/tax.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "tests_integration_setup", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "api_test_dbtest", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L58", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "child_process", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_setuptestdatabase", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_cleanuptestdatabase", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L48", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_createtestuser", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L71", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_createtestcompany", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L89", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_createtestcustomer", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L105", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_getauthheaders", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L122", + "weight": 1.0 + }, + { + "source": "tests_integration_api_simple_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api-simple.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "invoice_status_badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_toggleclass", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_makecurrent", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_gotoprevious", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L41", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_gotonext", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L52", + "weight": 1.0 + }, + { + "source": "block_navigation_makecurrent", + "target": "block_navigation_toggleclass", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L32", + "weight": 1.0 + }, + { + "source": "block_navigation_gotoprevious", + "target": "block_navigation_makecurrent", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L49", + "weight": 1.0 + }, + { + "source": "block_navigation_gotonext", + "target": "block_navigation_makecurrent", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L62", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_gettable", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_gettableheader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_gettablebody", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_getnthcolumn", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_onfilterinput", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_addsearchbox", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L59", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_loadcolumns", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L67", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_loadrowdata", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L92", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_loaddata", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L111", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_sortbyindex", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L120", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_removesortindicators", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L151", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_addsortindicators", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L159", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_enableui", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L165", + "weight": 1.0 + }, + { + "source": "sorter_gettableheader", + "target": "sorter_gettable", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "sorter_gettablebody", + "target": "sorter_gettable", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "sorter_getnthcolumn", + "target": "sorter_gettableheader", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "sorter_loadcolumns", + "target": "sorter_gettableheader", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L68", + "weight": 1.0 + }, + { + "source": "sorter_loaddata", + "target": "sorter_gettablebody", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L112", + "weight": 1.0 + }, + { + "source": "sorter_loaddata", + "target": "sorter_loadrowdata", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L116", + "weight": 1.0 + }, + { + "source": "sorter_removesortindicators", + "target": "sorter_getnthcolumn", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L152", + "weight": 1.0 + }, + { + "source": "sorter_addsortindicators", + "target": "sorter_getnthcolumn", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L160", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_sortbyindex", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L177", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_removesortindicators", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L178", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_addsortindicators", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L181", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_getnthcolumn", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L188", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_k", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_a", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_b", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_o", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_g", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_i", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_q", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_d", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_c", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_q", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_d", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_y", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_b", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_g", + "target": "prettify_k", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_g", + "target": "prettify_b", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_g", + "target": "prettify_q", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_i", + "target": "prettify_g", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_d", + "target": "prettify_a", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_d", + "target": "prettify_q", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_y", + "target": "prettify_q", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_y", + "target": "prettify_d", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_b", + "target": "prettify_y", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "crypto", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_login", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L30", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_createusersession", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L59", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_getusersession", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L74", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_requireuser", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L95", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_requireadmin", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L101", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_getapiuser", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L107", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_logout", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L112", + "weight": 1.0 + }, + { + "source": "session_server_requireuser", + "target": "session_server_getusersession", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L96", + "weight": 1.0 + }, + { + "source": "session_server_requireadmin", + "target": "session_server_requireuser", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L102", + "weight": 1.0 + }, + { + "source": "session_server_getapiuser", + "target": "session_server_getusersession", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L108", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "app_lib_cleanup_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "app_lib_db_init_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "app_lib_error_logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "node_stream", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "node", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "isbot", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_root_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/root.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_root_tsx", + "target": "app_app_css", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/root.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_root_tsx", + "target": "app_components_debug_panel", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/root.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_ts", + "target": "routes", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_isdebugmode", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_setdebugmode", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_debuglog", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatetaxid", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L51", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatevatid", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L62", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validateiban", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L73", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatebic", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L84", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatewebsite", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L95", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatecompanyform", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L126", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_handleapierror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L219", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_getfielderror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L234", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_hasfielderror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L242", + "weight": 1.0 + }, + { + "source": "client_validation_debuglog", + "target": "client_validation_isdebugmode", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatetaxid", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L160", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatevatid", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L165", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatewebsite", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L170", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validateiban", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L175", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatebic", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L180", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_debuglog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L208", + "weight": 1.0 + }, + { + "source": "client_validation_handleapierror", + "target": "client_validation_debuglog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L220", + "weight": 1.0 + }, + { + "source": "app_lib_invoice_number_server_ts", + "target": "app_lib_prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/invoice-number.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_invoice_number_server_ts", + "target": "invoice_number_server_generateinvoicenumber", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/invoice-number.server.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_calcitemamounts", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_calcitemamountskleinunternehmer", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_calcinvoicetotals", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_formatcurrency", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L39", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_formatdate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L46", + "weight": 1.0 + }, + { + "source": "app_lib_schemas_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/schemas.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_schemas_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/schemas.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_extracterrorinfo", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L33", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_extractrequestcontext", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L59", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_builderrorlogentry", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L82", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_formaterrorlog", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L108", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logrouteerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L138", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logactionerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L151", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logdatabaseerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L170", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logapierror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L187", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logstartuperror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L207", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L218", + "weight": 1.0 + }, + { + "source": "error_logger_server_builderrorlogentry", + "target": "error_logger_server_extracterrorinfo", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L87", + "weight": 1.0 + }, + { + "source": "error_logger_server_builderrorlogentry", + "target": "error_logger_server_extractrequestcontext", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L88", + "weight": 1.0 + }, + { + "source": "error_logger_server_logrouteerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L142", + "weight": 1.0 + }, + { + "source": "error_logger_server_logrouteerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L144", + "weight": 1.0 + }, + { + "source": "error_logger_server_logactionerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L155", + "weight": 1.0 + }, + { + "source": "error_logger_server_logactionerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L163", + "weight": 1.0 + }, + { + "source": "error_logger_server_logdatabaseerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L175", + "weight": 1.0 + }, + { + "source": "error_logger_server_logdatabaseerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L180", + "weight": 1.0 + }, + { + "source": "error_logger_server_logapierror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L191", + "weight": 1.0 + }, + { + "source": "error_logger_server_logapierror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L200", + "weight": 1.0 + }, + { + "source": "error_logger_server_logstartuperror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L208", + "weight": 1.0 + }, + { + "source": "error_logger_server_logstartuperror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L211", + "weight": 1.0 + }, + { + "source": "error_logger_server_logerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L223", + "weight": 1.0 + }, + { + "source": "error_logger_server_logerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L225", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "node_cron", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "cleanup_server_purgeexpireddeletedinvoices", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "cleanup_server_startcleanupscheduler", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "cleanup_server_startcleanupscheduler", + "target": "cleanup_server_purgeexpireddeletedinvoices", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_lib_prisma_server_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/prisma.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_utils_ts", + "target": "clsx", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/utils.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_utils_ts", + "target": "tailwind_merge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/utils.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_utils_ts", + "target": "utils_cn", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/utils.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_lib_logger_server_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/logger.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_logger_server_ts", + "target": "logger_server_log", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/logger.server.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_lib_rate_limiter_server_ts", + "target": "rate_limiter_flexible", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/rate-limiter.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_rate_limiter_server_ts", + "target": "rate_limiter_server_checkloginratelimit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/rate-limiter.server.ts", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_jahresafa", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_erwerbsjahrafa", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_afafuerjahr", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_kumulierteafa", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L43", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_buchwert", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L53", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_assetstatus", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L61", + "weight": 1.0 + }, + { + "source": "afa_erwerbsjahrafa", + "target": "afa_jahresafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "afa_afafuerjahr", + "target": "afa_erwerbsjahrafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L38", + "weight": 1.0 + }, + { + "source": "afa_afafuerjahr", + "target": "afa_jahresafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L39", + "weight": 1.0 + }, + { + "source": "afa_kumulierteafa", + "target": "afa_afafuerjahr", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L47", + "weight": 1.0 + }, + { + "source": "afa_buchwert", + "target": "afa_kumulierteafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L56", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "node_child_process", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "app_lib_prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "db_init_server_runmigrations", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "db_init_server_initializedatabase", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "db_init_server_checkdatabasehealth", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L55", + "weight": 1.0 + }, + { + "source": "db_init_server_initializedatabase", + "target": "db_init_server_runmigrations", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L42", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "api_customers_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "api_companies_id_buchungkategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "api_companies_id_buchungkategorien_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L46", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L49", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_loadyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L124", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L141", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L147", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L160", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L192", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_handlesave", + "target": "companies_id_buchhaltung_ausgaben_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L185", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_handledelete", + "target": "companies_id_buchhaltung_ausgaben_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L197", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "api_reports_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "admin_mandanten_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L86", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_opencreateumbuchung", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L100", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L114", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L126", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L176", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "company_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "companies_new_newcompanypage", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "invoice_status_badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_groupbyyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L48", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_invoicerow", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L58", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L133", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "companies_id_reports_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L87", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L93", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L100", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L107", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L134", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_kategorien_handlesave", + "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L127", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_kategorien_handledelete", + "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L144", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "home_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "invoice_number_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "promises", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "node_path", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_getinvoice", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_storageroot", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_generateandsaveinvoicepdf", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L51", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L63", + "weight": 1.0 + }, + { + "source": "api_invoices_id_generateandsaveinvoicepdf", + "target": "api_invoices_id_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L38", + "weight": 1.0 + }, + { + "source": "api_invoices_id_loader", + "target": "api_invoices_id_getinvoice", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L55", + "weight": 1.0 + }, + { + "source": "api_invoices_id_action", + "target": "api_invoices_id_getinvoice", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L67", + "weight": 1.0 + }, + { + "source": "api_invoices_id_action", + "target": "api_invoices_id_generateandsaveinvoicepdf", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L187", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "select", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L42", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_togglesort", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L133", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_handlecreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L151", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_handleedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L161", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L172", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "api_einnahmen_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "admin_users_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "admin_users_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L34", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "ausgaben", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "companies_id_buchhaltung_bilanzen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "archiv_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "archiv_restore", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L42", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "invoice_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "companies_id_invoices_invoiceid_edit_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "companies_id_invoices_invoiceid_edit_editinvoicepage", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L97", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "invoice_status_badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_updatestatus", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L104", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_handlesoftdelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L122", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_handlerestore", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L141", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_handleharddelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L158", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_downloadfile", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L171", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_downloadpdf", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L193", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_downloadxml", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L201", + "weight": 1.0 + }, + { + "source": "companies_id_invoices_invoiceid_downloadpdf", + "target": "companies_id_invoices_invoiceid_downloadfile", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L194", + "weight": 1.0 + }, + { + "source": "companies_id_invoices_invoiceid_downloadxml", + "target": "companies_id_invoices_invoiceid_downloadfile", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L202", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "promises", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "node_path", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_storageroot", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_parsebelegpath", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_removeuploadedfile", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L37", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_removeuploadedfile", + "target": "api_einnahmen_id_upload_parsebelegpath", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_removeuploadedfile", + "target": "api_einnahmen_id_upload_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_action", + "target": "api_einnahmen_id_upload_removeuploadedfile", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L55", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_action", + "target": "api_einnahmen_id_upload_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L98", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "topbar", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "dashboard_layout_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "dashboard_layout_dashboardlayout", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "admin_users_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "api_admin_companies_id_delete_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "companies_id_buchhaltung_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "companies_id_buchhaltung_buchhaltunglayout", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L66", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_beleghref", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_belegdisplayname", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L73", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handlequickupload", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L166", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L190", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L208", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L216", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L232", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handledeletebeleg", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L289", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L295", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handlequickupload", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L175", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handlesave", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L279", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handledeletebeleg", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L291", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handledelete", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L300", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "company_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "companies_id_edit_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "companies_id_edit_handlesubmit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L29", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "api_einnahmen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "api_einnahmen_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L84", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "api_ausgaben_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "api_ausgaben_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L52", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "rate_limiter_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "login_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "login_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "admin_layout_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "api_companies_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "api_companies_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L46", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_customerform", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L61", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_handlecreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L122", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_handleedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L132", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L143", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "api_ausgaben_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_customers_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_customers_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_customers_ts", + "target": "api_companies_id_customers_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_invoices_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_invoices_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_invoices_ts", + "target": "api_companies_id_invoices_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "api_companies_id_money_totransaction", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "api_companies_id_money_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "api_companies_id_money_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L61", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "api_anlagevermoegen_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_pdf_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_pdf_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_pdf_ts", + "target": "api_invoices_id_pdf_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "afa", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_enrichasset", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L44", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L76", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L123", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L142", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L148", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L162", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L196", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_anlagevermoegen_handlesave", + "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L189", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_anlagevermoegen_handledelete", + "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L201", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L87", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L93", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L100", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L107", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L134", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_kategorien_handlesave", + "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L127", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_kategorien_handledelete", + "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L144", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "admin_logs_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L35", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "invoice_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "companies_id_invoices_new_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "companies_id_invoices_new_newinvoicepage", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L70", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "api_companies_id_buchungkategorien_katid_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "api_companies_id_kategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "api_companies_id_kategorien_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L50", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "admin_users_new_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "admin_users_new_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "api_services_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "companies_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L50", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "companies_id_togglearchive", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L113", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "afa", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "api_anlagevermoegen_toraw", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "api_anlagevermoegen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L33", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "api_anlagevermoegen_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L72", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "error_logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "api_companies_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "api_companies_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L29", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "api_bilanzen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "promises", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "node_path", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "api_beleg_userid_filename_storageroot", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "api_beleg_userid_filename_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "api_beleg_userid_filename_loader", + "target": "api_beleg_userid_filename_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L33", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "companies_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L37", + "weight": 1.0 + }, + { + "source": "app_routes_logout_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/logout.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_logout_ts", + "target": "logout_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/logout.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "api_customers_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "api_customers_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "api_invoices_id_xml_tounitcode", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "api_invoices_id_xml_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "api_services_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "invoice_number_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "api_invoices_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L45", + "weight": 1.0 + }, + { + "source": "app_components_debug_panel_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_components_debug_panel_tsx", + "target": "client_validation", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_components_debug_panel_tsx", + "target": "debug_panel_debugpanel", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "client_validation", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "company_form_handleformsubmit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L112", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "renderer", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "invoice_pdf_formatmoney", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L191", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "invoice_pdf_formatdate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L195", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "invoice_pdf_n", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L246", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_status_badge_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_status_badge_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_status_badge_tsx", + "target": "invoice_status_badge_invoicestatusbadge", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "textarea", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "select", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "invoice_form_defaultitem", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L57", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "invoice_form_invoiceform", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L81", + "weight": 1.0 + }, + { + "source": "invoice_form_invoiceform", + "target": "invoice_form_defaultitem", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L95", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "sidebar_getinitials", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "topbar_isbreadcrumbhandle", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "topbar_getinitials", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "react_slot", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "class_variance_authority", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "react_select", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_badge_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/badge.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_badge_tsx", + "target": "class_variance_authority", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/badge.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_badge_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/badge.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_input_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/input.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_input_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/input.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_card_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/card.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_card_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/card.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "react_dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "dialog_dialogheader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L47", + "weight": 1.0 + }, + { + "source": "app_components_ui_tooltip_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/tooltip.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_tooltip_tsx", + "target": "react_tooltip", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/tooltip.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_tooltip_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/tooltip.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_textarea_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/textarea.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_textarea_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/textarea.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_label_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/label.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_label_tsx", + "target": "react_label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/label.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_label_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/label.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "crypto", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "setup_admin_generatepassword", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "setup_admin_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "setup_admin_main", + "target": "setup_admin_generatepassword", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L53", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "crypto", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "setup_admin_generatepassword", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "setup_admin_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "setup_admin_main", + "target": "setup_admin_generatepassword", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L46", + "weight": 1.0 + } + ], + "input_tokens": 0, + "output_tokens": 0 +} \ No newline at end of file diff --git a/.graphify_cached.json b/.graphify_cached.json new file mode 100644 index 0000000..e8c8cac --- /dev/null +++ b/.graphify_cached.json @@ -0,0 +1 @@ +{"nodes": [{"id": "postcss_config_ts", "label": "postcss.config.ts", "file_type": "code", "source_file": "postcss.config.ts", "source_location": "L1"}, {"id": "react_router_config_ts", "label": "react-router.config.ts", "file_type": "code", "source_file": "react-router.config.ts", "source_location": "L1"}, {"id": "vitest_setup_ts", "label": "vitest.setup.ts", "file_type": "code", "source_file": "vitest.setup.ts", "source_location": "L1"}, {"id": "vitest_config_ts", "label": "vitest.config.ts", "file_type": "code", "source_file": "vitest.config.ts", "source_location": "L1"}, {"id": "vite_config_ts", "label": "vite.config.ts", "file_type": "code", "source_file": "vite.config.ts", "source_location": "L1"}, {"id": "prisma_seed_js", "label": "seed.js", "file_type": "code", "source_file": "prisma/seed.js", "source_location": "L1"}, {"id": "seed_main", "label": "main()", "file_type": "code", "source_file": "prisma/seed.js", "source_location": "L4"}, {"id": "prisma_seed_ts", "label": "seed.ts", "file_type": "code", "source_file": "prisma/seed.ts", "source_location": "L1"}, {"id": "seed_main", "label": "main()", "file_type": "code", "source_file": "prisma/seed.ts", "source_location": "L6"}, {"id": "tests_lib_buchungen_test_ts", "label": "buchungen.test.ts", "file_type": "code", "source_file": "tests/lib/buchungen.test.ts", "source_location": "L1"}, {"id": "tests_lib_kategorie_defaults_test_ts", "label": "kategorie-defaults.test.ts", "file_type": "code", "source_file": "tests/lib/kategorie-defaults.test.ts", "source_location": "L1"}, {"id": "tests_lib_einnahmen_ausgaben_test_ts", "label": "einnahmen-ausgaben.test.ts", "file_type": "code", "source_file": "tests/lib/einnahmen-ausgaben.test.ts", "source_location": "L1"}, {"id": "tests_lib_invoice_number_test_ts", "label": "invoice-number.test.ts", "file_type": "code", "source_file": "tests/lib/invoice-number.test.ts", "source_location": "L1"}, {"id": "tests_lib_afa_test_ts", "label": "afa.test.ts", "file_type": "code", "source_file": "tests/lib/afa.test.ts", "source_location": "L1"}, {"id": "tests_lib_schemas_test_ts", "label": "schemas.test.ts", "file_type": "code", "source_file": "tests/lib/schemas.test.ts", "source_location": "L1"}, {"id": "tests_lib_client_validation_test_ts", "label": "client-validation.test.ts", "file_type": "code", "source_file": "tests/lib/client-validation.test.ts", "source_location": "L1"}, {"id": "tests_lib_tax_test_ts", "label": "tax.test.ts", "file_type": "code", "source_file": "tests/lib/tax.test.ts", "source_location": "L1"}, {"id": "tests_integration_api_test_ts", "label": "api.test.ts", "file_type": "code", "source_file": "tests/integration/api.test.ts", "source_location": "L1"}, {"id": "api_test_dbtest", "label": "dbTest()", "file_type": "code", "source_file": "tests/integration/api.test.ts", "source_location": "L58"}, {"id": "tests_integration_setup_ts", "label": "setup.ts", "file_type": "code", "source_file": "tests/integration/setup.ts", "source_location": "L1"}, {"id": "setup_setuptestdatabase", "label": "setupTestDatabase()", "file_type": "code", "source_file": "tests/integration/setup.ts", "source_location": "L24"}, {"id": "setup_cleanuptestdatabase", "label": "cleanupTestDatabase()", "file_type": "code", "source_file": "tests/integration/setup.ts", "source_location": "L48"}, {"id": "setup_createtestuser", "label": "createTestUser()", "file_type": "code", "source_file": "tests/integration/setup.ts", "source_location": "L71"}, {"id": "setup_createtestcompany", "label": "createTestCompany()", "file_type": "code", "source_file": "tests/integration/setup.ts", "source_location": "L89"}, {"id": "setup_createtestcustomer", "label": "createTestCustomer()", "file_type": "code", "source_file": "tests/integration/setup.ts", "source_location": "L105"}, {"id": "setup_getauthheaders", "label": "getAuthHeaders()", "file_type": "code", "source_file": "tests/integration/setup.ts", "source_location": "L122"}, {"id": "tests_integration_api_simple_test_ts", "label": "api-simple.test.ts", "file_type": "code", "source_file": "tests/integration/api-simple.test.ts", "source_location": "L1"}, {"id": "tests_components_invoice_status_badge_test_tsx", "label": "invoice-status-badge.test.tsx", "file_type": "code", "source_file": "tests/components/invoice-status-badge.test.tsx", "source_location": "L1"}, {"id": "coverage_block_navigation_js", "label": "block-navigation.js", "file_type": "code", "source_file": "coverage/block-navigation.js", "source_location": "L1"}, {"id": "block_navigation_toggleclass", "label": "toggleClass()", "file_type": "code", "source_file": "coverage/block-navigation.js", "source_location": "L24"}, {"id": "block_navigation_makecurrent", "label": "makeCurrent()", "file_type": "code", "source_file": "coverage/block-navigation.js", "source_location": "L31"}, {"id": "block_navigation_gotoprevious", "label": "goToPrevious()", "file_type": "code", "source_file": "coverage/block-navigation.js", "source_location": "L41"}, {"id": "block_navigation_gotonext", "label": "goToNext()", "file_type": "code", "source_file": "coverage/block-navigation.js", "source_location": "L52"}, {"id": "coverage_sorter_js", "label": "sorter.js", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L1"}, {"id": "sorter_gettable", "label": "getTable()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L11"}, {"id": "sorter_gettableheader", "label": "getTableHeader()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L15"}, {"id": "sorter_gettablebody", "label": "getTableBody()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L19"}, {"id": "sorter_getnthcolumn", "label": "getNthColumn()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L23"}, {"id": "sorter_onfilterinput", "label": "onFilterInput()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L27"}, {"id": "sorter_addsearchbox", "label": "addSearchBox()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L59"}, {"id": "sorter_loadcolumns", "label": "loadColumns()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L67"}, {"id": "sorter_loadrowdata", "label": "loadRowData()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L92"}, {"id": "sorter_loaddata", "label": "loadData()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L111"}, {"id": "sorter_sortbyindex", "label": "sortByIndex()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L120"}, {"id": "sorter_removesortindicators", "label": "removeSortIndicators()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L151"}, {"id": "sorter_addsortindicators", "label": "addSortIndicators()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L159"}, {"id": "sorter_enableui", "label": "enableUI()", "file_type": "code", "source_file": "coverage/sorter.js", "source_location": "L165"}, {"id": "coverage_prettify_js", "label": "prettify.js", "file_type": "code", "source_file": "coverage/prettify.js", "source_location": "L1"}, {"id": "prettify_k", "label": "k()", "file_type": "code", "source_file": "coverage/prettify.js", "source_location": "L2"}, {"id": "prettify_a", "label": "a()", "file_type": "code", "source_file": "coverage/prettify.js", "source_location": "L2"}, {"id": "prettify_b", "label": "B()", "file_type": "code", "source_file": "coverage/prettify.js", "source_location": "L2"}, {"id": "prettify_o", "label": "o()", "file_type": "code", "source_file": "coverage/prettify.js", "source_location": "L2"}, {"id": "prettify_g", "label": "g()", "file_type": "code", "source_file": "coverage/prettify.js", "source_location": "L2"}, {"id": "prettify_i", "label": "i()", "file_type": "code", "source_file": "coverage/prettify.js", "source_location": "L2"}, {"id": "prettify_q", "label": "Q()", "file_type": "code", "source_file": "coverage/prettify.js", "source_location": "L2"}, {"id": "prettify_d", "label": "D()", "file_type": "code", "source_file": "coverage/prettify.js", "source_location": "L2"}, {"id": "prettify_c", "label": "c()", "file_type": "code", "source_file": "coverage/prettify.js", "source_location": "L2"}, {"id": "prettify_y", "label": "y()", "file_type": "code", "source_file": "coverage/prettify.js", "source_location": "L2"}, {"id": "app_session_server_ts", "label": "session.server.ts", "file_type": "code", "source_file": "app/session.server.ts", "source_location": "L1"}, {"id": "session_server_login", "label": "login()", "file_type": "code", "source_file": "app/session.server.ts", "source_location": "L30"}, {"id": "session_server_createusersession", "label": "createUserSession()", "file_type": "code", "source_file": "app/session.server.ts", "source_location": "L59"}, {"id": "session_server_getusersession", "label": "getUserSession()", "file_type": "code", "source_file": "app/session.server.ts", "source_location": "L74"}, {"id": "session_server_requireuser", "label": "requireUser()", "file_type": "code", "source_file": "app/session.server.ts", "source_location": "L95"}, {"id": "session_server_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "app/session.server.ts", "source_location": "L101"}, {"id": "session_server_getapiuser", "label": "getApiUser()", "file_type": "code", "source_file": "app/session.server.ts", "source_location": "L107"}, {"id": "session_server_logout", "label": "logout()", "file_type": "code", "source_file": "app/session.server.ts", "source_location": "L112"}, {"id": "app_entry_server_tsx", "label": "entry.server.tsx", "file_type": "code", "source_file": "app/entry.server.tsx", "source_location": "L1"}, {"id": "app_root_tsx", "label": "root.tsx", "file_type": "code", "source_file": "app/root.tsx", "source_location": "L1"}, {"id": "app_routes_ts", "label": "routes.ts", "file_type": "code", "source_file": "app/routes.ts", "source_location": "L1"}, {"id": "app_lib_kategorie_defaults_ts", "label": "kategorie-defaults.ts", "file_type": "code", "source_file": "app/lib/kategorie-defaults.ts", "source_location": "L1"}, {"id": "app_lib_ausgaben_ts", "label": "ausgaben.ts", "file_type": "code", "source_file": "app/lib/ausgaben.ts", "source_location": "L1"}, {"id": "app_lib_client_validation_ts", "label": "client-validation.ts", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L1"}, {"id": "client_validation_isdebugmode", "label": "isDebugMode()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L7"}, {"id": "client_validation_setdebugmode", "label": "setDebugMode()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L12"}, {"id": "client_validation_debuglog", "label": "debugLog()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L26"}, {"id": "client_validation_validatetaxid", "label": "validateTaxId()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L51"}, {"id": "client_validation_validatevatid", "label": "validateVatId()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L62"}, {"id": "client_validation_validateiban", "label": "validateIban()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L73"}, {"id": "client_validation_validatebic", "label": "validateBic()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L84"}, {"id": "client_validation_validatewebsite", "label": "validateWebsite()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L95"}, {"id": "client_validation_validatecompanyform", "label": "validateCompanyForm()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L126"}, {"id": "client_validation_handleapierror", "label": "handleApiError()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L219"}, {"id": "client_validation_getfielderror", "label": "getFieldError()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L234"}, {"id": "client_validation_hasfielderror", "label": "hasFieldError()", "file_type": "code", "source_file": "app/lib/client-validation.ts", "source_location": "L242"}, {"id": "app_lib_invoice_number_server_ts", "label": "invoice-number.server.ts", "file_type": "code", "source_file": "app/lib/invoice-number.server.ts", "source_location": "L1"}, {"id": "invoice_number_server_generateinvoicenumber", "label": "generateInvoiceNumber()", "file_type": "code", "source_file": "app/lib/invoice-number.server.ts", "source_location": "L3"}, {"id": "app_lib_tax_ts", "label": "tax.ts", "file_type": "code", "source_file": "app/lib/tax.ts", "source_location": "L1"}, {"id": "tax_calcitemamounts", "label": "calcItemAmounts()", "file_type": "code", "source_file": "app/lib/tax.ts", "source_location": "L7"}, {"id": "tax_calcitemamountskleinunternehmer", "label": "calcItemAmountsKleinunternehmer()", "file_type": "code", "source_file": "app/lib/tax.ts", "source_location": "L18"}, {"id": "tax_calcinvoicetotals", "label": "calcInvoiceTotals()", "file_type": "code", "source_file": "app/lib/tax.ts", "source_location": "L26"}, {"id": "tax_formatcurrency", "label": "formatCurrency()", "file_type": "code", "source_file": "app/lib/tax.ts", "source_location": "L39"}, {"id": "tax_formatdate", "label": "formatDate()", "file_type": "code", "source_file": "app/lib/tax.ts", "source_location": "L46"}, {"id": "app_lib_schemas_ts", "label": "schemas.ts", "file_type": "code", "source_file": "app/lib/schemas.ts", "source_location": "L1"}, {"id": "app_lib_error_logger_server_ts", "label": "error-logger.server.ts", "file_type": "code", "source_file": "app/lib/error-logger.server.ts", "source_location": "L1"}, {"id": "error_logger_server_extracterrorinfo", "label": "extractErrorInfo()", "file_type": "code", "source_file": "app/lib/error-logger.server.ts", "source_location": "L33"}, {"id": "error_logger_server_extractrequestcontext", "label": "extractRequestContext()", "file_type": "code", "source_file": "app/lib/error-logger.server.ts", "source_location": "L59"}, {"id": "error_logger_server_builderrorlogentry", "label": "buildErrorLogEntry()", "file_type": "code", "source_file": "app/lib/error-logger.server.ts", "source_location": "L82"}, {"id": "error_logger_server_formaterrorlog", "label": "formatErrorLog()", "file_type": "code", "source_file": "app/lib/error-logger.server.ts", "source_location": "L108"}, {"id": "error_logger_server_logrouteerror", "label": "logRouteError()", "file_type": "code", "source_file": "app/lib/error-logger.server.ts", "source_location": "L138"}, {"id": "error_logger_server_logactionerror", "label": "logActionError()", "file_type": "code", "source_file": "app/lib/error-logger.server.ts", "source_location": "L151"}, {"id": "error_logger_server_logdatabaseerror", "label": "logDatabaseError()", "file_type": "code", "source_file": "app/lib/error-logger.server.ts", "source_location": "L170"}, {"id": "error_logger_server_logapierror", "label": "logApiError()", "file_type": "code", "source_file": "app/lib/error-logger.server.ts", "source_location": "L187"}, {"id": "error_logger_server_logstartuperror", "label": "logStartupError()", "file_type": "code", "source_file": "app/lib/error-logger.server.ts", "source_location": "L207"}, {"id": "error_logger_server_logerror", "label": "logError()", "file_type": "code", "source_file": "app/lib/error-logger.server.ts", "source_location": "L218"}, {"id": "app_lib_einnahmen_ts", "label": "einnahmen.ts", "file_type": "code", "source_file": "app/lib/einnahmen.ts", "source_location": "L1"}, {"id": "app_lib_cleanup_server_ts", "label": "cleanup.server.ts", "file_type": "code", "source_file": "app/lib/cleanup.server.ts", "source_location": "L1"}, {"id": "cleanup_server_purgeexpireddeletedinvoices", "label": "purgeExpiredDeletedInvoices()", "file_type": "code", "source_file": "app/lib/cleanup.server.ts", "source_location": "L6"}, {"id": "cleanup_server_startcleanupscheduler", "label": "startCleanupScheduler()", "file_type": "code", "source_file": "app/lib/cleanup.server.ts", "source_location": "L20"}, {"id": "app_lib_prisma_server_ts", "label": "prisma.server.ts", "file_type": "code", "source_file": "app/lib/prisma.server.ts", "source_location": "L1"}, {"id": "app_lib_utils_ts", "label": "utils.ts", "file_type": "code", "source_file": "app/lib/utils.ts", "source_location": "L1"}, {"id": "utils_cn", "label": "cn()", "file_type": "code", "source_file": "app/lib/utils.ts", "source_location": "L4"}, {"id": "app_lib_logger_server_ts", "label": "logger.server.ts", "file_type": "code", "source_file": "app/lib/logger.server.ts", "source_location": "L1"}, {"id": "logger_server_log", "label": "log()", "file_type": "code", "source_file": "app/lib/logger.server.ts", "source_location": "L28"}, {"id": "app_lib_rate_limiter_server_ts", "label": "rate-limiter.server.ts", "file_type": "code", "source_file": "app/lib/rate-limiter.server.ts", "source_location": "L1"}, {"id": "rate_limiter_server_checkloginratelimit", "label": "checkLoginRateLimit()", "file_type": "code", "source_file": "app/lib/rate-limiter.server.ts", "source_location": "L9"}, {"id": "app_lib_afa_ts", "label": "afa.ts", "file_type": "code", "source_file": "app/lib/afa.ts", "source_location": "L1"}, {"id": "afa_jahresafa", "label": "jahresAfa()", "file_type": "code", "source_file": "app/lib/afa.ts", "source_location": "L15"}, {"id": "afa_erwerbsjahrafa", "label": "erwerbsjahrAfa()", "file_type": "code", "source_file": "app/lib/afa.ts", "source_location": "L20"}, {"id": "afa_afafuerjahr", "label": "afaFuerJahr()", "file_type": "code", "source_file": "app/lib/afa.ts", "source_location": "L26"}, {"id": "afa_kumulierteafa", "label": "kumulierteAfa()", "file_type": "code", "source_file": "app/lib/afa.ts", "source_location": "L43"}, {"id": "afa_buchwert", "label": "buchwert()", "file_type": "code", "source_file": "app/lib/afa.ts", "source_location": "L53"}, {"id": "afa_assetstatus", "label": "assetStatus()", "file_type": "code", "source_file": "app/lib/afa.ts", "source_location": "L61"}, {"id": "app_lib_db_init_server_ts", "label": "db-init.server.ts", "file_type": "code", "source_file": "app/lib/db-init.server.ts", "source_location": "L1"}, {"id": "db_init_server_runmigrations", "label": "runMigrations()", "file_type": "code", "source_file": "app/lib/db-init.server.ts", "source_location": "L10"}, {"id": "db_init_server_initializedatabase", "label": "initializeDatabase()", "file_type": "code", "source_file": "app/lib/db-init.server.ts", "source_location": "L28"}, {"id": "db_init_server_checkdatabasehealth", "label": "checkDatabaseHealth()", "file_type": "code", "source_file": "app/lib/db-init.server.ts", "source_location": "L55"}, {"id": "app_routes_api_customers_ts", "label": "api.customers.ts", "file_type": "code", "source_file": "app/routes/api.customers.ts", "source_location": "L1"}, {"id": "api_customers_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.customers.ts", "source_location": "L6"}, {"id": "app_routes_api_companies_id_buchungkategorien_ts", "label": "api.companies.$id.buchungkategorien.ts", "file_type": "code", "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", "source_location": "L1"}, {"id": "api_companies_id_buchungkategorien_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", "source_location": "L10"}, {"id": "api_companies_id_buchungkategorien_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", "source_location": "L46"}, {"id": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "label": "companies.$id.buchhaltung.ausgaben.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L1"}, {"id": "companies_id_buchhaltung_ausgaben_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L49"}, {"id": "companies_id_buchhaltung_ausgaben_loadyear", "label": "loadYear()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L124"}, {"id": "companies_id_buchhaltung_ausgaben_opencreate", "label": "openCreate()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L141"}, {"id": "companies_id_buchhaltung_ausgaben_openedit", "label": "openEdit()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L147"}, {"id": "companies_id_buchhaltung_ausgaben_handlesave", "label": "handleSave()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L160"}, {"id": "companies_id_buchhaltung_ausgaben_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L192"}, {"id": "app_routes_api_reports_ts", "label": "api.reports.ts", "file_type": "code", "source_file": "app/routes/api.reports.ts", "source_location": "L1"}, {"id": "api_reports_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.reports.ts", "source_location": "L5"}, {"id": "app_routes_admin_mandanten_tsx", "label": "admin.mandanten.tsx", "file_type": "code", "source_file": "app/routes/admin.mandanten.tsx", "source_location": "L1"}, {"id": "admin_mandanten_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/admin.mandanten.tsx", "source_location": "L8"}, {"id": "app_routes_companies_id_buchhaltung_money_tsx", "label": "companies.$id.buchhaltung.money.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L1"}, {"id": "companies_id_buchhaltung_money_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L23"}, {"id": "companies_id_buchhaltung_money_opencreate", "label": "openCreate()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L86"}, {"id": "companies_id_buchhaltung_money_opencreateumbuchung", "label": "openCreateUmbuchung()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L100"}, {"id": "companies_id_buchhaltung_money_openedit", "label": "openEdit()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L114"}, {"id": "companies_id_buchhaltung_money_handlesave", "label": "handleSave()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L126"}, {"id": "companies_id_buchhaltung_money_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L176"}, {"id": "app_routes_companies_new_tsx", "label": "companies.new.tsx", "file_type": "code", "source_file": "app/routes/companies.new.tsx", "source_location": "L1"}, {"id": "companies_new_newcompanypage", "label": "NewCompanyPage()", "file_type": "code", "source_file": "app/routes/companies.new.tsx", "source_location": "L14"}, {"id": "app_routes_companies_id_invoices_tsx", "label": "companies.$id.invoices.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L1"}, {"id": "companies_id_invoices_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L19"}, {"id": "companies_id_invoices_groupbyyear", "label": "groupByYear()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L48"}, {"id": "companies_id_invoices_invoicerow", "label": "InvoiceRow()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L58"}, {"id": "companies_id_invoices_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L133"}, {"id": "app_routes_companies_id_reports_tsx", "label": "companies.$id.reports.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.reports.tsx", "source_location": "L1"}, {"id": "companies_id_reports_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.reports.tsx", "source_location": "L17"}, {"id": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "label": "companies.$id.buchhaltung.einnahmen.kategorien.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L1"}, {"id": "companies_id_buchhaltung_einnahmen_kategorien_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L27"}, {"id": "companies_id_buchhaltung_einnahmen_kategorien_reload", "label": "reload()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L87"}, {"id": "companies_id_buchhaltung_einnahmen_kategorien_opencreate", "label": "openCreate()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L93"}, {"id": "companies_id_buchhaltung_einnahmen_kategorien_openedit", "label": "openEdit()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L100"}, {"id": "companies_id_buchhaltung_einnahmen_kategorien_handlesave", "label": "handleSave()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L107"}, {"id": "companies_id_buchhaltung_einnahmen_kategorien_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L134"}, {"id": "app_routes_home_tsx", "label": "home.tsx", "file_type": "code", "source_file": "app/routes/home.tsx", "source_location": "L1"}, {"id": "home_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/home.tsx", "source_location": "L13"}, {"id": "app_routes_api_invoices_id_ts", "label": "api.invoices.$id.ts", "file_type": "code", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L1"}, {"id": "api_invoices_id_getinvoice", "label": "getInvoice()", "file_type": "code", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L11"}, {"id": "api_invoices_id_storageroot", "label": "storageRoot()", "file_type": "code", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L19"}, {"id": "api_invoices_id_generateandsaveinvoicepdf", "label": "generateAndSaveInvoicePDF()", "file_type": "code", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L24"}, {"id": "api_invoices_id_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L51"}, {"id": "api_invoices_id_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L63"}, {"id": "app_routes_companies_id_leistungen_tsx", "label": "companies.$id.leistungen.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L1"}, {"id": "companies_id_leistungen_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L42"}, {"id": "companies_id_leistungen_togglesort", "label": "toggleSort()", "file_type": "code", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L133"}, {"id": "companies_id_leistungen_handlecreate", "label": "handleCreate()", "file_type": "code", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L151"}, {"id": "companies_id_leistungen_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L161"}, {"id": "companies_id_leistungen_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L172"}, {"id": "app_routes_api_einnahmen_id_ts", "label": "api.einnahmen.$id.ts", "file_type": "code", "source_file": "app/routes/api.einnahmen.$id.ts", "source_location": "L1"}, {"id": "api_einnahmen_id_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.einnahmen.$id.ts", "source_location": "L24"}, {"id": "app_routes_admin_users_id_tsx", "label": "admin.users.$id.tsx", "file_type": "code", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L1"}, {"id": "admin_users_id_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L18"}, {"id": "admin_users_id_action", "label": "action()", "file_type": "code", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L34"}, {"id": "app_routes_companies_id_buchhaltung_bilanzen_tsx", "label": "companies.$id.buchhaltung.bilanzen.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "source_location": "L1"}, {"id": "companies_id_buchhaltung_bilanzen_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "source_location": "L19"}, {"id": "app_routes_archiv_tsx", "label": "archiv.tsx", "file_type": "code", "source_file": "app/routes/archiv.tsx", "source_location": "L1"}, {"id": "archiv_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/archiv.tsx", "source_location": "L12"}, {"id": "archiv_restore", "label": "restore()", "file_type": "code", "source_file": "app/routes/archiv.tsx", "source_location": "L42"}, {"id": "app_routes_companies_id_invoices_invoiceid_edit_tsx", "label": "companies.$id.invoices.$invoiceId.edit.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "source_location": "L1"}, {"id": "companies_id_invoices_invoiceid_edit_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "source_location": "L31"}, {"id": "companies_id_invoices_invoiceid_edit_editinvoicepage", "label": "EditInvoicePage()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "source_location": "L97"}, {"id": "app_routes_companies_id_invoices_invoiceid_tsx", "label": "companies.$id.invoices.$invoiceId.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L1"}, {"id": "companies_id_invoices_invoiceid_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L21"}, {"id": "companies_id_invoices_invoiceid_updatestatus", "label": "updateStatus()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L104"}, {"id": "companies_id_invoices_invoiceid_handlesoftdelete", "label": "handleSoftDelete()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L122"}, {"id": "companies_id_invoices_invoiceid_handlerestore", "label": "handleRestore()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L141"}, {"id": "companies_id_invoices_invoiceid_handleharddelete", "label": "handleHardDelete()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L158"}, {"id": "companies_id_invoices_invoiceid_downloadfile", "label": "downloadFile()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L171"}, {"id": "companies_id_invoices_invoiceid_downloadpdf", "label": "downloadPdf()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L193"}, {"id": "companies_id_invoices_invoiceid_downloadxml", "label": "downloadXml()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L201"}, {"id": "app_routes_api_einnahmen_id_upload_ts", "label": "api.einnahmen.$id.upload.ts", "file_type": "code", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L1"}, {"id": "api_einnahmen_id_upload_storageroot", "label": "storageRoot()", "file_type": "code", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L17"}, {"id": "api_einnahmen_id_upload_parsebelegpath", "label": "parseBelegPath()", "file_type": "code", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L22"}, {"id": "api_einnahmen_id_upload_removeuploadedfile", "label": "removeUploadedFile()", "file_type": "code", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L27"}, {"id": "api_einnahmen_id_upload_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L37"}, {"id": "app_routes_dashboard_layout_tsx", "label": "dashboard-layout.tsx", "file_type": "code", "source_file": "app/routes/dashboard-layout.tsx", "source_location": "L1"}, {"id": "dashboard_layout_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/dashboard-layout.tsx", "source_location": "L5"}, {"id": "dashboard_layout_dashboardlayout", "label": "DashboardLayout()", "file_type": "code", "source_file": "app/routes/dashboard-layout.tsx", "source_location": "L10"}, {"id": "app_routes_admin_users_tsx", "label": "admin.users.tsx", "file_type": "code", "source_file": "app/routes/admin.users.tsx", "source_location": "L1"}, {"id": "admin_users_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/admin.users.tsx", "source_location": "L6"}, {"id": "app_routes_api_admin_companies_id_delete_ts", "label": "api.admin.companies.$id.delete.ts", "file_type": "code", "source_file": "app/routes/api.admin.companies.$id.delete.ts", "source_location": "L1"}, {"id": "api_admin_companies_id_delete_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.admin.companies.$id.delete.ts", "source_location": "L5"}, {"id": "app_routes_companies_id_buchhaltung_tsx", "label": "companies.$id.buchhaltung.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.tsx", "source_location": "L1"}, {"id": "companies_id_buchhaltung_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.tsx", "source_location": "L14"}, {"id": "companies_id_buchhaltung_buchhaltunglayout", "label": "BuchhaltungLayout()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.tsx", "source_location": "L66"}, {"id": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "label": "companies.$id.buchhaltung.einnahmen.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L1"}, {"id": "companies_id_buchhaltung_einnahmen_beleghref", "label": "belegHref()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L14"}, {"id": "companies_id_buchhaltung_einnahmen_belegdisplayname", "label": "belegDisplayName()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L26"}, {"id": "companies_id_buchhaltung_einnahmen_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L73"}, {"id": "companies_id_buchhaltung_einnahmen_handlequickupload", "label": "handleQuickUpload()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L166"}, {"id": "companies_id_buchhaltung_einnahmen_loadyear", "label": "loadYear()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L190"}, {"id": "companies_id_buchhaltung_einnahmen_opencreate", "label": "openCreate()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L208"}, {"id": "companies_id_buchhaltung_einnahmen_openedit", "label": "openEdit()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L216"}, {"id": "companies_id_buchhaltung_einnahmen_handlesave", "label": "handleSave()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L232"}, {"id": "companies_id_buchhaltung_einnahmen_handledeletebeleg", "label": "handleDeleteBeleg()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L289"}, {"id": "companies_id_buchhaltung_einnahmen_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L295"}, {"id": "app_routes_companies_id_edit_tsx", "label": "companies.$id.edit.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.edit.tsx", "source_location": "L1"}, {"id": "companies_id_edit_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.edit.tsx", "source_location": "L16"}, {"id": "companies_id_edit_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "app/routes/companies.$id.edit.tsx", "source_location": "L29"}, {"id": "app_routes_api_einnahmen_ts", "label": "api.einnahmen.ts", "file_type": "code", "source_file": "app/routes/api.einnahmen.ts", "source_location": "L1"}, {"id": "api_einnahmen_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.einnahmen.ts", "source_location": "L27"}, {"id": "api_einnahmen_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.einnahmen.ts", "source_location": "L84"}, {"id": "app_routes_api_ausgaben_ts", "label": "api.ausgaben.ts", "file_type": "code", "source_file": "app/routes/api.ausgaben.ts", "source_location": "L1"}, {"id": "api_ausgaben_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.ausgaben.ts", "source_location": "L15"}, {"id": "api_ausgaben_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.ausgaben.ts", "source_location": "L52"}, {"id": "app_routes_login_tsx", "label": "login.tsx", "file_type": "code", "source_file": "app/routes/login.tsx", "source_location": "L1"}, {"id": "login_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/login.tsx", "source_location": "L10"}, {"id": "login_action", "label": "action()", "file_type": "code", "source_file": "app/routes/login.tsx", "source_location": "L16"}, {"id": "app_routes_admin_layout_tsx", "label": "admin-layout.tsx", "file_type": "code", "source_file": "app/routes/admin-layout.tsx", "source_location": "L1"}, {"id": "admin_layout_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/admin-layout.tsx", "source_location": "L5"}, {"id": "app_routes_api_companies_id_ts", "label": "api.companies.$id.ts", "file_type": "code", "source_file": "app/routes/api.companies.$id.ts", "source_location": "L1"}, {"id": "api_companies_id_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.companies.$id.ts", "source_location": "L6"}, {"id": "api_companies_id_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.companies.$id.ts", "source_location": "L16"}, {"id": "app_routes_companies_id_customers_tsx", "label": "companies.$id.customers.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L1"}, {"id": "companies_id_customers_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L46"}, {"id": "companies_id_customers_customerform", "label": "CustomerForm()", "file_type": "code", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L61"}, {"id": "companies_id_customers_handlecreate", "label": "handleCreate()", "file_type": "code", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L122"}, {"id": "companies_id_customers_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L132"}, {"id": "companies_id_customers_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L143"}, {"id": "app_routes_api_ausgaben_id_ts", "label": "api.ausgaben.$id.ts", "file_type": "code", "source_file": "app/routes/api.ausgaben.$id.ts", "source_location": "L1"}, {"id": "api_ausgaben_id_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.ausgaben.$id.ts", "source_location": "L14"}, {"id": "app_routes_api_companies_id_customers_ts", "label": "api.companies.$id.customers.ts", "file_type": "code", "source_file": "app/routes/api.companies.$id.customers.ts", "source_location": "L1"}, {"id": "api_companies_id_customers_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.companies.$id.customers.ts", "source_location": "L4"}, {"id": "app_routes_api_companies_id_invoices_ts", "label": "api.companies.$id.invoices.ts", "file_type": "code", "source_file": "app/routes/api.companies.$id.invoices.ts", "source_location": "L1"}, {"id": "api_companies_id_invoices_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.companies.$id.invoices.ts", "source_location": "L4"}, {"id": "app_routes_api_companies_id_money_ts", "label": "api.companies.$id.money.ts", "file_type": "code", "source_file": "app/routes/api.companies.$id.money.ts", "source_location": "L1"}, {"id": "api_companies_id_money_totransaction", "label": "toTransaction()", "file_type": "code", "source_file": "app/routes/api.companies.$id.money.ts", "source_location": "L15"}, {"id": "api_companies_id_money_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.companies.$id.money.ts", "source_location": "L28"}, {"id": "api_companies_id_money_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.companies.$id.money.ts", "source_location": "L61"}, {"id": "app_routes_api_anlagevermoegen_id_ts", "label": "api.anlagevermoegen.$id.ts", "file_type": "code", "source_file": "app/routes/api.anlagevermoegen.$id.ts", "source_location": "L1"}, {"id": "api_anlagevermoegen_id_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.anlagevermoegen.$id.ts", "source_location": "L15"}, {"id": "app_routes_api_invoices_id_pdf_ts", "label": "api.invoices.$id.pdf.ts", "file_type": "code", "source_file": "app/routes/api.invoices.$id.pdf.ts", "source_location": "L1"}, {"id": "api_invoices_id_pdf_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.invoices.$id.pdf.ts", "source_location": "L4"}, {"id": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "label": "companies.$id.buchhaltung.anlagevermoegen.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L1"}, {"id": "companies_id_buchhaltung_anlagevermoegen_enrichasset", "label": "enrichAsset()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L44"}, {"id": "companies_id_buchhaltung_anlagevermoegen_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L76"}, {"id": "companies_id_buchhaltung_anlagevermoegen_loadyear", "label": "loadYear()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L123"}, {"id": "companies_id_buchhaltung_anlagevermoegen_opencreate", "label": "openCreate()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L142"}, {"id": "companies_id_buchhaltung_anlagevermoegen_openedit", "label": "openEdit()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L148"}, {"id": "companies_id_buchhaltung_anlagevermoegen_handlesave", "label": "handleSave()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L162"}, {"id": "companies_id_buchhaltung_anlagevermoegen_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L196"}, {"id": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "label": "companies.$id.buchhaltung.ausgaben.kategorien.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L1"}, {"id": "companies_id_buchhaltung_ausgaben_kategorien_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L27"}, {"id": "companies_id_buchhaltung_ausgaben_kategorien_reload", "label": "reload()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L87"}, {"id": "companies_id_buchhaltung_ausgaben_kategorien_opencreate", "label": "openCreate()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L93"}, {"id": "companies_id_buchhaltung_ausgaben_kategorien_openedit", "label": "openEdit()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L100"}, {"id": "companies_id_buchhaltung_ausgaben_kategorien_handlesave", "label": "handleSave()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L107"}, {"id": "companies_id_buchhaltung_ausgaben_kategorien_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L134"}, {"id": "app_routes_admin_logs_tsx", "label": "admin.logs.tsx", "file_type": "code", "source_file": "app/routes/admin.logs.tsx", "source_location": "L1"}, {"id": "admin_logs_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/admin.logs.tsx", "source_location": "L35"}, {"id": "app_routes_companies_id_invoices_new_tsx", "label": "companies.$id.invoices.new.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.new.tsx", "source_location": "L1"}, {"id": "companies_id_invoices_new_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.new.tsx", "source_location": "L28"}, {"id": "companies_id_invoices_new_newinvoicepage", "label": "NewInvoicePage()", "file_type": "code", "source_file": "app/routes/companies.$id.invoices.new.tsx", "source_location": "L70"}, {"id": "app_routes_api_companies_id_buchungkategorien_katid_ts", "label": "api.companies.$id.buchungkategorien.$katId.ts", "file_type": "code", "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", "source_location": "L1"}, {"id": "api_companies_id_buchungkategorien_katid_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", "source_location": "L9"}, {"id": "app_routes_api_companies_id_kategorien_ts", "label": "api.companies.$id.kategorien.ts", "file_type": "code", "source_file": "app/routes/api.companies.$id.kategorien.ts", "source_location": "L1"}, {"id": "api_companies_id_kategorien_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.companies.$id.kategorien.ts", "source_location": "L18"}, {"id": "api_companies_id_kategorien_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.companies.$id.kategorien.ts", "source_location": "L50"}, {"id": "app_routes_admin_users_new_tsx", "label": "admin.users.new.tsx", "file_type": "code", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L1"}, {"id": "admin_users_new_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L11"}, {"id": "admin_users_new_action", "label": "action()", "file_type": "code", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L16"}, {"id": "app_routes_api_services_ts", "label": "api.services.ts", "file_type": "code", "source_file": "app/routes/api.services.ts", "source_location": "L1"}, {"id": "api_services_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.services.ts", "source_location": "L14"}, {"id": "app_routes_companies_id_tsx", "label": "companies.$id.tsx", "file_type": "code", "source_file": "app/routes/companies.$id.tsx", "source_location": "L1"}, {"id": "companies_id_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.$id.tsx", "source_location": "L50"}, {"id": "companies_id_togglearchive", "label": "toggleArchive()", "file_type": "code", "source_file": "app/routes/companies.$id.tsx", "source_location": "L113"}, {"id": "app_routes_api_anlagevermoegen_ts", "label": "api.anlagevermoegen.ts", "file_type": "code", "source_file": "app/routes/api.anlagevermoegen.ts", "source_location": "L1"}, {"id": "api_anlagevermoegen_toraw", "label": "toRaw()", "file_type": "code", "source_file": "app/routes/api.anlagevermoegen.ts", "source_location": "L17"}, {"id": "api_anlagevermoegen_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.anlagevermoegen.ts", "source_location": "L33"}, {"id": "api_anlagevermoegen_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.anlagevermoegen.ts", "source_location": "L72"}, {"id": "app_routes_api_companies_ts", "label": "api.companies.ts", "file_type": "code", "source_file": "app/routes/api.companies.ts", "source_location": "L1"}, {"id": "api_companies_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.companies.ts", "source_location": "L7"}, {"id": "api_companies_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.companies.ts", "source_location": "L29"}, {"id": "app_routes_api_bilanzen_ts", "label": "api.bilanzen.ts", "file_type": "code", "source_file": "app/routes/api.bilanzen.ts", "source_location": "L1"}, {"id": "api_bilanzen_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.bilanzen.ts", "source_location": "L5"}, {"id": "app_routes_api_beleg_userid_filename_ts", "label": "api.beleg.$userId.$filename.ts", "file_type": "code", "source_file": "app/routes/api.beleg.$userId.$filename.ts", "source_location": "L1"}, {"id": "api_beleg_userid_filename_storageroot", "label": "storageRoot()", "file_type": "code", "source_file": "app/routes/api.beleg.$userId.$filename.ts", "source_location": "L14"}, {"id": "api_beleg_userid_filename_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.beleg.$userId.$filename.ts", "source_location": "L18"}, {"id": "app_routes_companies_tsx", "label": "companies.tsx", "file_type": "code", "source_file": "app/routes/companies.tsx", "source_location": "L1"}, {"id": "companies_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/companies.tsx", "source_location": "L37"}, {"id": "app_routes_logout_ts", "label": "logout.ts", "file_type": "code", "source_file": "app/routes/logout.ts", "source_location": "L1"}, {"id": "logout_action", "label": "action()", "file_type": "code", "source_file": "app/routes/logout.ts", "source_location": "L3"}, {"id": "app_routes_api_customers_id_ts", "label": "api.customers.$id.ts", "file_type": "code", "source_file": "app/routes/api.customers.$id.ts", "source_location": "L1"}, {"id": "api_customers_id_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.customers.$id.ts", "source_location": "L6"}, {"id": "api_customers_id_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.customers.$id.ts", "source_location": "L18"}, {"id": "app_routes_api_invoices_id_xml_ts", "label": "api.invoices.$id.xml.ts", "file_type": "code", "source_file": "app/routes/api.invoices.$id.xml.ts", "source_location": "L1"}, {"id": "api_invoices_id_xml_tounitcode", "label": "toUnitCode()", "file_type": "code", "source_file": "app/routes/api.invoices.$id.xml.ts", "source_location": "L12"}, {"id": "api_invoices_id_xml_loader", "label": "loader()", "file_type": "code", "source_file": "app/routes/api.invoices.$id.xml.ts", "source_location": "L23"}, {"id": "app_routes_api_services_id_ts", "label": "api.services.$id.ts", "file_type": "code", "source_file": "app/routes/api.services.$id.ts", "source_location": "L1"}, {"id": "api_services_id_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.services.$id.ts", "source_location": "L13"}, {"id": "app_routes_api_invoices_ts", "label": "api.invoices.ts", "file_type": "code", "source_file": "app/routes/api.invoices.ts", "source_location": "L1"}, {"id": "api_invoices_action", "label": "action()", "file_type": "code", "source_file": "app/routes/api.invoices.ts", "source_location": "L45"}, {"id": "app_components_debug_panel_tsx", "label": "debug-panel.tsx", "file_type": "code", "source_file": "app/components/debug-panel.tsx", "source_location": "L1"}, {"id": "debug_panel_debugpanel", "label": "DebugPanel()", "file_type": "code", "source_file": "app/components/debug-panel.tsx", "source_location": "L9"}, {"id": "app_components_company_company_form_tsx", "label": "company-form.tsx", "file_type": "code", "source_file": "app/components/company/company-form.tsx", "source_location": "L1"}, {"id": "company_form_handleformsubmit", "label": "handleFormSubmit()", "file_type": "code", "source_file": "app/components/company/company-form.tsx", "source_location": "L112"}, {"id": "app_components_invoice_invoice_pdf_tsx", "label": "invoice-pdf.tsx", "file_type": "code", "source_file": "app/components/invoice/invoice-pdf.tsx", "source_location": "L1"}, {"id": "invoice_pdf_formatmoney", "label": "formatMoney()", "file_type": "code", "source_file": "app/components/invoice/invoice-pdf.tsx", "source_location": "L191"}, {"id": "invoice_pdf_formatdate", "label": "formatDate()", "file_type": "code", "source_file": "app/components/invoice/invoice-pdf.tsx", "source_location": "L195"}, {"id": "invoice_pdf_n", "label": "n()", "file_type": "code", "source_file": "app/components/invoice/invoice-pdf.tsx", "source_location": "L246"}, {"id": "app_components_invoice_invoice_status_badge_tsx", "label": "invoice-status-badge.tsx", "file_type": "code", "source_file": "app/components/invoice/invoice-status-badge.tsx", "source_location": "L1"}, {"id": "invoice_status_badge_invoicestatusbadge", "label": "InvoiceStatusBadge()", "file_type": "code", "source_file": "app/components/invoice/invoice-status-badge.tsx", "source_location": "L12"}, {"id": "app_components_invoice_invoice_form_tsx", "label": "invoice-form.tsx", "file_type": "code", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L1"}, {"id": "invoice_form_defaultitem", "label": "defaultItem()", "file_type": "code", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L57"}, {"id": "invoice_form_invoiceform", "label": "InvoiceForm()", "file_type": "code", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L81"}, {"id": "app_components_layout_sidebar_tsx", "label": "sidebar.tsx", "file_type": "code", "source_file": "app/components/layout/sidebar.tsx", "source_location": "L1"}, {"id": "sidebar_getinitials", "label": "getInitials()", "file_type": "code", "source_file": "app/components/layout/sidebar.tsx", "source_location": "L16"}, {"id": "app_components_layout_topbar_tsx", "label": "topbar.tsx", "file_type": "code", "source_file": "app/components/layout/topbar.tsx", "source_location": "L1"}, {"id": "topbar_isbreadcrumbhandle", "label": "isBreadcrumbHandle()", "file_type": "code", "source_file": "app/components/layout/topbar.tsx", "source_location": "L13"}, {"id": "topbar_getinitials", "label": "getInitials()", "file_type": "code", "source_file": "app/components/layout/topbar.tsx", "source_location": "L22"}, {"id": "app_components_ui_button_tsx", "label": "button.tsx", "file_type": "code", "source_file": "app/components/ui/button.tsx", "source_location": "L1"}, {"id": "app_components_ui_select_tsx", "label": "select.tsx", "file_type": "code", "source_file": "app/components/ui/select.tsx", "source_location": "L1"}, {"id": "app_components_ui_badge_tsx", "label": "badge.tsx", "file_type": "code", "source_file": "app/components/ui/badge.tsx", "source_location": "L1"}, {"id": "app_components_ui_input_tsx", "label": "input.tsx", "file_type": "code", "source_file": "app/components/ui/input.tsx", "source_location": "L1"}, {"id": "app_components_ui_card_tsx", "label": "card.tsx", "file_type": "code", "source_file": "app/components/ui/card.tsx", "source_location": "L1"}, {"id": "app_components_ui_dialog_tsx", "label": "dialog.tsx", "file_type": "code", "source_file": "app/components/ui/dialog.tsx", "source_location": "L1"}, {"id": "dialog_dialogheader", "label": "DialogHeader()", "file_type": "code", "source_file": "app/components/ui/dialog.tsx", "source_location": "L47"}, {"id": "app_components_ui_tooltip_tsx", "label": "tooltip.tsx", "file_type": "code", "source_file": "app/components/ui/tooltip.tsx", "source_location": "L1"}, {"id": "app_components_ui_textarea_tsx", "label": "textarea.tsx", "file_type": "code", "source_file": "app/components/ui/textarea.tsx", "source_location": "L1"}, {"id": "app_components_ui_label_tsx", "label": "label.tsx", "file_type": "code", "source_file": "app/components/ui/label.tsx", "source_location": "L1"}, {"id": "app_types_index_ts", "label": "index.ts", "file_type": "code", "source_file": "app/types/index.ts", "source_location": "L1"}, {"id": "scripts_setup_admin_ts", "label": "setup-admin.ts", "file_type": "code", "source_file": "scripts/setup-admin.ts", "source_location": "L1"}, {"id": "setup_admin_generatepassword", "label": "generatePassword()", "file_type": "code", "source_file": "scripts/setup-admin.ts", "source_location": "L24"}, {"id": "setup_admin_main", "label": "main()", "file_type": "code", "source_file": "scripts/setup-admin.ts", "source_location": "L31"}, {"id": "scripts_setup_admin_js", "label": "setup-admin.js", "file_type": "code", "source_file": "scripts/setup-admin.js", "source_location": "L1"}, {"id": "setup_admin_generatepassword", "label": "generatePassword()", "file_type": "code", "source_file": "scripts/setup-admin.js", "source_location": "L21"}, {"id": "setup_admin_main", "label": "main()", "file_type": "code", "source_file": "scripts/setup-admin.js", "source_location": "L27"}], "edges": [{"source": "react_router_config_ts", "target": "config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "react-router.config.ts", "source_location": "L1", "weight": 1.0}, {"source": "vitest_setup_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "vitest.setup.ts", "source_location": "L1", "weight": 1.0}, {"source": "vitest_config_ts", "target": "config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "vitest.config.ts", "source_location": "L1", "weight": 1.0}, {"source": "vitest_config_ts", "target": "plugin_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "vitest.config.ts", "source_location": "L2", "weight": 1.0}, {"source": "vitest_config_ts", "target": "vite_tsconfig_paths", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "vitest.config.ts", "source_location": "L3", "weight": 1.0}, {"source": "vite_config_ts", "target": "vite", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "vite.config.ts", "source_location": "L1", "weight": 1.0}, {"source": "vite_config_ts", "target": "vite", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "vite.config.ts", "source_location": "L2", "weight": 1.0}, {"source": "vite_config_ts", "target": "vite_tsconfig_paths", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "vite.config.ts", "source_location": "L3", "weight": 1.0}, {"source": "prisma_seed_js", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "prisma/seed.js", "source_location": "L1", "weight": 1.0}, {"source": "prisma_seed_js", "target": "bcryptjs", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "prisma/seed.js", "source_location": "L2", "weight": 1.0}, {"source": "prisma_seed_js", "target": "seed_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "prisma/seed.js", "source_location": "L4", "weight": 1.0}, {"source": "prisma_seed_ts", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "prisma/seed.ts", "source_location": "L1", "weight": 1.0}, {"source": "prisma_seed_ts", "target": "bcryptjs", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "prisma/seed.ts", "source_location": "L2", "weight": 1.0}, {"source": "prisma_seed_ts", "target": "seed_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "prisma/seed.ts", "source_location": "L6", "weight": 1.0}, {"source": "tests_lib_buchungen_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/buchungen.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "tests_lib_kategorie_defaults_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/kategorie-defaults.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "tests_lib_kategorie_defaults_test_ts", "target": "kategorie_defaults", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/kategorie-defaults.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "tests_lib_einnahmen_ausgaben_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/einnahmen-ausgaben.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "tests_lib_einnahmen_ausgaben_test_ts", "target": "einnahmen", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/einnahmen-ausgaben.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "tests_lib_einnahmen_ausgaben_test_ts", "target": "ausgaben", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/einnahmen-ausgaben.test.ts", "source_location": "L7", "weight": 1.0}, {"source": "tests_lib_invoice_number_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/invoice-number.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "tests_lib_invoice_number_test_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/invoice-number.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "tests_lib_invoice_number_test_ts", "target": "invoice_number_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/invoice-number.test.ts", "source_location": "L3", "weight": 1.0}, {"source": "tests_lib_afa_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/afa.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "tests_lib_afa_test_ts", "target": "afa", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/afa.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "tests_lib_schemas_test_ts", "target": "schemas", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/schemas.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "tests_lib_client_validation_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/client-validation.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "tests_lib_client_validation_test_ts", "target": "client_validation", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/client-validation.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "tests_lib_tax_test_ts", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/lib/tax.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "tests_integration_api_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/integration/api.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "tests_integration_api_test_ts", "target": "tests_integration_setup", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/integration/api.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "tests_integration_api_test_ts", "target": "bcryptjs", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/integration/api.test.ts", "source_location": "L3", "weight": 1.0}, {"source": "tests_integration_api_test_ts", "target": "api_test_dbtest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/integration/api.test.ts", "source_location": "L58", "weight": 1.0}, {"source": "tests_integration_setup_ts", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/integration/setup.ts", "source_location": "L1", "weight": 1.0}, {"source": "tests_integration_setup_ts", "target": "child_process", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/integration/setup.ts", "source_location": "L2", "weight": 1.0}, {"source": "tests_integration_setup_ts", "target": "setup_setuptestdatabase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/integration/setup.ts", "source_location": "L24", "weight": 1.0}, {"source": "tests_integration_setup_ts", "target": "setup_cleanuptestdatabase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/integration/setup.ts", "source_location": "L48", "weight": 1.0}, {"source": "tests_integration_setup_ts", "target": "setup_createtestuser", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/integration/setup.ts", "source_location": "L71", "weight": 1.0}, {"source": "tests_integration_setup_ts", "target": "setup_createtestcompany", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/integration/setup.ts", "source_location": "L89", "weight": 1.0}, {"source": "tests_integration_setup_ts", "target": "setup_createtestcustomer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/integration/setup.ts", "source_location": "L105", "weight": 1.0}, {"source": "tests_integration_setup_ts", "target": "setup_getauthheaders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/integration/setup.ts", "source_location": "L122", "weight": 1.0}, {"source": "tests_integration_api_simple_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/integration/api-simple.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "tests_components_invoice_status_badge_test_tsx", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/components/invoice-status-badge.test.tsx", "source_location": "L1", "weight": 1.0}, {"source": "tests_components_invoice_status_badge_test_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/components/invoice-status-badge.test.tsx", "source_location": "L2", "weight": 1.0}, {"source": "tests_components_invoice_status_badge_test_tsx", "target": "invoice_status_badge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/components/invoice-status-badge.test.tsx", "source_location": "L3", "weight": 1.0}, {"source": "tests_components_invoice_status_badge_test_tsx", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "tests/components/invoice-status-badge.test.tsx", "source_location": "L4", "weight": 1.0}, {"source": "coverage_block_navigation_js", "target": "block_navigation_toggleclass", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/block-navigation.js", "source_location": "L24", "weight": 1.0}, {"source": "coverage_block_navigation_js", "target": "block_navigation_makecurrent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/block-navigation.js", "source_location": "L31", "weight": 1.0}, {"source": "coverage_block_navigation_js", "target": "block_navigation_gotoprevious", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/block-navigation.js", "source_location": "L41", "weight": 1.0}, {"source": "coverage_block_navigation_js", "target": "block_navigation_gotonext", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/block-navigation.js", "source_location": "L52", "weight": 1.0}, {"source": "block_navigation_makecurrent", "target": "block_navigation_toggleclass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/block-navigation.js", "source_location": "L32", "weight": 1.0}, {"source": "block_navigation_gotoprevious", "target": "block_navigation_makecurrent", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/block-navigation.js", "source_location": "L49", "weight": 1.0}, {"source": "block_navigation_gotonext", "target": "block_navigation_makecurrent", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/block-navigation.js", "source_location": "L62", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_gettable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L11", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_gettableheader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L15", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_gettablebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L19", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_getnthcolumn", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L23", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_onfilterinput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L27", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_addsearchbox", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L59", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_loadcolumns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L67", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_loadrowdata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L92", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_loaddata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L111", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_sortbyindex", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L120", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_removesortindicators", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L151", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_addsortindicators", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L159", "weight": 1.0}, {"source": "coverage_sorter_js", "target": "sorter_enableui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L165", "weight": 1.0}, {"source": "sorter_gettableheader", "target": "sorter_gettable", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L16", "weight": 1.0}, {"source": "sorter_gettablebody", "target": "sorter_gettable", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L20", "weight": 1.0}, {"source": "sorter_getnthcolumn", "target": "sorter_gettableheader", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L24", "weight": 1.0}, {"source": "sorter_loadcolumns", "target": "sorter_gettableheader", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L68", "weight": 1.0}, {"source": "sorter_loaddata", "target": "sorter_gettablebody", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L112", "weight": 1.0}, {"source": "sorter_loaddata", "target": "sorter_loadrowdata", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L116", "weight": 1.0}, {"source": "sorter_removesortindicators", "target": "sorter_getnthcolumn", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L152", "weight": 1.0}, {"source": "sorter_addsortindicators", "target": "sorter_getnthcolumn", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L160", "weight": 1.0}, {"source": "sorter_enableui", "target": "sorter_sortbyindex", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L177", "weight": 1.0}, {"source": "sorter_enableui", "target": "sorter_removesortindicators", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L178", "weight": 1.0}, {"source": "sorter_enableui", "target": "sorter_addsortindicators", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L181", "weight": 1.0}, {"source": "sorter_enableui", "target": "sorter_getnthcolumn", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/sorter.js", "source_location": "L188", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_k", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_b", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_o", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_g", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_i", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_q", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_d", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_c", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_q", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_d", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_y", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "coverage_prettify_js", "target": "prettify_b", "relation": "contains", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "prettify_g", "target": "prettify_k", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "prettify_g", "target": "prettify_b", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "prettify_g", "target": "prettify_q", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "prettify_i", "target": "prettify_g", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "prettify_d", "target": "prettify_a", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "prettify_d", "target": "prettify_q", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "prettify_y", "target": "prettify_q", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "prettify_y", "target": "prettify_d", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "prettify_b", "target": "prettify_y", "relation": "calls", "confidence": "EXTRACTED", "source_file": "coverage/prettify.js", "source_location": "L2", "weight": 1.0}, {"source": "app_session_server_ts", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_session_server_ts", "target": "bcryptjs", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_session_server_ts", "target": "crypto", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_session_server_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_session_server_ts", "target": "logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L5", "weight": 1.0}, {"source": "app_session_server_ts", "target": "session_server_login", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L30", "weight": 1.0}, {"source": "app_session_server_ts", "target": "session_server_createusersession", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L59", "weight": 1.0}, {"source": "app_session_server_ts", "target": "session_server_getusersession", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L74", "weight": 1.0}, {"source": "app_session_server_ts", "target": "session_server_requireuser", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L95", "weight": 1.0}, {"source": "app_session_server_ts", "target": "session_server_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L101", "weight": 1.0}, {"source": "app_session_server_ts", "target": "session_server_getapiuser", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L107", "weight": 1.0}, {"source": "app_session_server_ts", "target": "session_server_logout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L112", "weight": 1.0}, {"source": "session_server_requireuser", "target": "session_server_getusersession", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L96", "weight": 1.0}, {"source": "session_server_requireadmin", "target": "session_server_requireuser", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L102", "weight": 1.0}, {"source": "session_server_getapiuser", "target": "session_server_getusersession", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/session.server.ts", "source_location": "L108", "weight": 1.0}, {"source": "app_entry_server_tsx", "target": "app_lib_cleanup_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/entry.server.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_entry_server_tsx", "target": "app_lib_db_init_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/entry.server.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_entry_server_tsx", "target": "app_lib_error_logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/entry.server.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_entry_server_tsx", "target": "node_stream", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/entry.server.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_entry_server_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/entry.server.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_entry_server_tsx", "target": "node", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/entry.server.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_entry_server_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/entry.server.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_entry_server_tsx", "target": "isbot", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/entry.server.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_entry_server_tsx", "target": "server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/entry.server.tsx", "source_location": "L9", "weight": 1.0}, {"source": "app_root_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/root.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_root_tsx", "target": "app_app_css", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/root.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_root_tsx", "target": "app_components_debug_panel", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/root.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_ts", "target": "routes", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_isdebugmode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L7", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_setdebugmode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L12", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_debuglog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L26", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_validatetaxid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L51", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_validatevatid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L62", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_validateiban", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L73", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_validatebic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L84", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_validatewebsite", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L95", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_validatecompanyform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L126", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_handleapierror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L219", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_getfielderror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L234", "weight": 1.0}, {"source": "app_lib_client_validation_ts", "target": "client_validation_hasfielderror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L242", "weight": 1.0}, {"source": "client_validation_debuglog", "target": "client_validation_isdebugmode", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L27", "weight": 1.0}, {"source": "client_validation_validatecompanyform", "target": "client_validation_validatetaxid", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L160", "weight": 1.0}, {"source": "client_validation_validatecompanyform", "target": "client_validation_validatevatid", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L165", "weight": 1.0}, {"source": "client_validation_validatecompanyform", "target": "client_validation_validatewebsite", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L170", "weight": 1.0}, {"source": "client_validation_validatecompanyform", "target": "client_validation_validateiban", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L175", "weight": 1.0}, {"source": "client_validation_validatecompanyform", "target": "client_validation_validatebic", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L180", "weight": 1.0}, {"source": "client_validation_validatecompanyform", "target": "client_validation_debuglog", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L208", "weight": 1.0}, {"source": "client_validation_handleapierror", "target": "client_validation_debuglog", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/client-validation.ts", "source_location": "L220", "weight": 1.0}, {"source": "app_lib_invoice_number_server_ts", "target": "app_lib_prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/invoice-number.server.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_lib_invoice_number_server_ts", "target": "invoice_number_server_generateinvoicenumber", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/invoice-number.server.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_lib_tax_ts", "target": "tax_calcitemamounts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/tax.ts", "source_location": "L7", "weight": 1.0}, {"source": "app_lib_tax_ts", "target": "tax_calcitemamountskleinunternehmer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/tax.ts", "source_location": "L18", "weight": 1.0}, {"source": "app_lib_tax_ts", "target": "tax_calcinvoicetotals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/tax.ts", "source_location": "L26", "weight": 1.0}, {"source": "app_lib_tax_ts", "target": "tax_formatcurrency", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/tax.ts", "source_location": "L39", "weight": 1.0}, {"source": "app_lib_tax_ts", "target": "tax_formatdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/tax.ts", "source_location": "L46", "weight": 1.0}, {"source": "app_lib_schemas_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/schemas.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_lib_schemas_ts", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/schemas.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_lib_error_logger_server_ts", "target": "error_logger_server_extracterrorinfo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L33", "weight": 1.0}, {"source": "app_lib_error_logger_server_ts", "target": "error_logger_server_extractrequestcontext", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L59", "weight": 1.0}, {"source": "app_lib_error_logger_server_ts", "target": "error_logger_server_builderrorlogentry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L82", "weight": 1.0}, {"source": "app_lib_error_logger_server_ts", "target": "error_logger_server_formaterrorlog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L108", "weight": 1.0}, {"source": "app_lib_error_logger_server_ts", "target": "error_logger_server_logrouteerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L138", "weight": 1.0}, {"source": "app_lib_error_logger_server_ts", "target": "error_logger_server_logactionerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L151", "weight": 1.0}, {"source": "app_lib_error_logger_server_ts", "target": "error_logger_server_logdatabaseerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L170", "weight": 1.0}, {"source": "app_lib_error_logger_server_ts", "target": "error_logger_server_logapierror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L187", "weight": 1.0}, {"source": "app_lib_error_logger_server_ts", "target": "error_logger_server_logstartuperror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L207", "weight": 1.0}, {"source": "app_lib_error_logger_server_ts", "target": "error_logger_server_logerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L218", "weight": 1.0}, {"source": "error_logger_server_builderrorlogentry", "target": "error_logger_server_extracterrorinfo", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L87", "weight": 1.0}, {"source": "error_logger_server_builderrorlogentry", "target": "error_logger_server_extractrequestcontext", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L88", "weight": 1.0}, {"source": "error_logger_server_logrouteerror", "target": "error_logger_server_builderrorlogentry", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L142", "weight": 1.0}, {"source": "error_logger_server_logrouteerror", "target": "error_logger_server_formaterrorlog", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L144", "weight": 1.0}, {"source": "error_logger_server_logactionerror", "target": "error_logger_server_builderrorlogentry", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L155", "weight": 1.0}, {"source": "error_logger_server_logactionerror", "target": "error_logger_server_formaterrorlog", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L163", "weight": 1.0}, {"source": "error_logger_server_logdatabaseerror", "target": "error_logger_server_builderrorlogentry", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L175", "weight": 1.0}, {"source": "error_logger_server_logdatabaseerror", "target": "error_logger_server_formaterrorlog", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L180", "weight": 1.0}, {"source": "error_logger_server_logapierror", "target": "error_logger_server_builderrorlogentry", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L191", "weight": 1.0}, {"source": "error_logger_server_logapierror", "target": "error_logger_server_formaterrorlog", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L200", "weight": 1.0}, {"source": "error_logger_server_logstartuperror", "target": "error_logger_server_builderrorlogentry", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L208", "weight": 1.0}, {"source": "error_logger_server_logstartuperror", "target": "error_logger_server_formaterrorlog", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L211", "weight": 1.0}, {"source": "error_logger_server_logerror", "target": "error_logger_server_builderrorlogentry", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L223", "weight": 1.0}, {"source": "error_logger_server_logerror", "target": "error_logger_server_formaterrorlog", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/error-logger.server.ts", "source_location": "L225", "weight": 1.0}, {"source": "app_lib_cleanup_server_ts", "target": "node_cron", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/cleanup.server.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_lib_cleanup_server_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/cleanup.server.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_lib_cleanup_server_ts", "target": "cleanup_server_purgeexpireddeletedinvoices", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/cleanup.server.ts", "source_location": "L6", "weight": 1.0}, {"source": "app_lib_cleanup_server_ts", "target": "cleanup_server_startcleanupscheduler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/cleanup.server.ts", "source_location": "L20", "weight": 1.0}, {"source": "cleanup_server_startcleanupscheduler", "target": "cleanup_server_purgeexpireddeletedinvoices", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/cleanup.server.ts", "source_location": "L24", "weight": 1.0}, {"source": "app_lib_prisma_server_ts", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/prisma.server.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_lib_utils_ts", "target": "clsx", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/utils.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_lib_utils_ts", "target": "tailwind_merge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/utils.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_lib_utils_ts", "target": "utils_cn", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/utils.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_lib_logger_server_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/logger.server.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_lib_logger_server_ts", "target": "logger_server_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/logger.server.ts", "source_location": "L28", "weight": 1.0}, {"source": "app_lib_rate_limiter_server_ts", "target": "rate_limiter_flexible", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/rate-limiter.server.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_lib_rate_limiter_server_ts", "target": "rate_limiter_server_checkloginratelimit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/rate-limiter.server.ts", "source_location": "L9", "weight": 1.0}, {"source": "app_lib_afa_ts", "target": "afa_jahresafa", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/afa.ts", "source_location": "L15", "weight": 1.0}, {"source": "app_lib_afa_ts", "target": "afa_erwerbsjahrafa", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/afa.ts", "source_location": "L20", "weight": 1.0}, {"source": "app_lib_afa_ts", "target": "afa_afafuerjahr", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/afa.ts", "source_location": "L26", "weight": 1.0}, {"source": "app_lib_afa_ts", "target": "afa_kumulierteafa", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/afa.ts", "source_location": "L43", "weight": 1.0}, {"source": "app_lib_afa_ts", "target": "afa_buchwert", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/afa.ts", "source_location": "L53", "weight": 1.0}, {"source": "app_lib_afa_ts", "target": "afa_assetstatus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/afa.ts", "source_location": "L61", "weight": 1.0}, {"source": "afa_erwerbsjahrafa", "target": "afa_jahresafa", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/afa.ts", "source_location": "L22", "weight": 1.0}, {"source": "afa_afafuerjahr", "target": "afa_erwerbsjahrafa", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/afa.ts", "source_location": "L38", "weight": 1.0}, {"source": "afa_afafuerjahr", "target": "afa_jahresafa", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/afa.ts", "source_location": "L39", "weight": 1.0}, {"source": "afa_kumulierteafa", "target": "afa_afafuerjahr", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/afa.ts", "source_location": "L47", "weight": 1.0}, {"source": "afa_buchwert", "target": "afa_kumulierteafa", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/afa.ts", "source_location": "L56", "weight": 1.0}, {"source": "app_lib_db_init_server_ts", "target": "node_child_process", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/db-init.server.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_lib_db_init_server_ts", "target": "app_lib_prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/lib/db-init.server.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_lib_db_init_server_ts", "target": "db_init_server_runmigrations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/db-init.server.ts", "source_location": "L10", "weight": 1.0}, {"source": "app_lib_db_init_server_ts", "target": "db_init_server_initializedatabase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/db-init.server.ts", "source_location": "L28", "weight": 1.0}, {"source": "app_lib_db_init_server_ts", "target": "db_init_server_checkdatabasehealth", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/lib/db-init.server.ts", "source_location": "L55", "weight": 1.0}, {"source": "db_init_server_initializedatabase", "target": "db_init_server_runmigrations", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/lib/db-init.server.ts", "source_location": "L42", "weight": 1.0}, {"source": "app_routes_api_customers_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.customers.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_customers_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.customers.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_customers_ts", "target": "logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.customers.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_customers_ts", "target": "schemas", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.customers.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_api_customers_ts", "target": "api_customers_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.customers.ts", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_api_companies_id_buchungkategorien_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_companies_id_buchungkategorien_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_companies_id_buchungkategorien_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_companies_id_buchungkategorien_ts", "target": "api_companies_id_buchungkategorien_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", "source_location": "L10", "weight": 1.0}, {"source": "app_routes_api_companies_id_buchungkategorien_ts", "target": "api_companies_id_buchungkategorien_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", "source_location": "L46", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "badge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "dialog", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L9", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L10", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "kategorie_defaults", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L11", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "companies_id_buchhaltung_ausgaben_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L49", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "companies_id_buchhaltung_ausgaben_loadyear", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L124", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "companies_id_buchhaltung_ausgaben_opencreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L141", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "companies_id_buchhaltung_ausgaben_openedit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L147", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "companies_id_buchhaltung_ausgaben_handlesave", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L160", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", "target": "companies_id_buchhaltung_ausgaben_handledelete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L192", "weight": 1.0}, {"source": "companies_id_buchhaltung_ausgaben_handlesave", "target": "companies_id_buchhaltung_ausgaben_loadyear", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L185", "weight": 1.0}, {"source": "companies_id_buchhaltung_ausgaben_handledelete", "target": "companies_id_buchhaltung_ausgaben_loadyear", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "source_location": "L197", "weight": 1.0}, {"source": "app_routes_api_reports_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.reports.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_reports_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.reports.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_reports_ts", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.reports.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_reports_ts", "target": "api_reports_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.reports.ts", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_admin_mandanten_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.mandanten.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_admin_mandanten_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.mandanten.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_admin_mandanten_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.mandanten.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_admin_mandanten_tsx", "target": "badge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.mandanten.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_admin_mandanten_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.mandanten.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_admin_mandanten_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.mandanten.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_admin_mandanten_tsx", "target": "admin_mandanten_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/admin.mandanten.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "dialog", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "badge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L9", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L10", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "companies_id_buchhaltung_money_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L23", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "companies_id_buchhaltung_money_opencreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L86", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "companies_id_buchhaltung_money_opencreateumbuchung", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L100", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "companies_id_buchhaltung_money_openedit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L114", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "companies_id_buchhaltung_money_handlesave", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L126", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_money_tsx", "target": "companies_id_buchhaltung_money_handledelete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", "source_location": "L176", "weight": 1.0}, {"source": "app_routes_companies_new_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.new.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_new_tsx", "target": "company_form", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.new.tsx", "source_location": "L10", "weight": 1.0}, {"source": "app_routes_companies_new_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.new.tsx", "source_location": "L11", "weight": 1.0}, {"source": "app_routes_companies_new_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.new.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_companies_new_tsx", "target": "companies_new_newcompanypage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.new.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L10", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L11", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L13", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "invoice_status_badge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L15", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L16", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L17", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "companies_id_invoices_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L19", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "companies_id_invoices_groupbyyear", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L48", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "companies_id_invoices_invoicerow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L58", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_tsx", "target": "companies_id_invoices_handledelete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.tsx", "source_location": "L133", "weight": 1.0}, {"source": "app_routes_companies_id_reports_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.reports.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_reports_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.reports.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_reports_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.reports.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_companies_id_reports_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.reports.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_id_reports_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.reports.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_companies_id_reports_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.reports.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_companies_id_reports_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.reports.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_companies_id_reports_tsx", "target": "companies_id_reports_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.reports.tsx", "source_location": "L17", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "kategorie_defaults", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "dialog", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L9", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "companies_id_buchhaltung_einnahmen_kategorien_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L27", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L87", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "companies_id_buchhaltung_einnahmen_kategorien_opencreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L93", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "companies_id_buchhaltung_einnahmen_kategorien_openedit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L100", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "companies_id_buchhaltung_einnahmen_kategorien_handlesave", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L107", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", "target": "companies_id_buchhaltung_einnahmen_kategorien_handledelete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L134", "weight": 1.0}, {"source": "companies_id_buchhaltung_einnahmen_kategorien_handlesave", "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L127", "weight": 1.0}, {"source": "companies_id_buchhaltung_einnahmen_kategorien_handledelete", "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "source_location": "L144", "weight": 1.0}, {"source": "app_routes_home_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/home.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_home_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/home.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_home_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/home.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_home_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/home.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_home_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/home.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_home_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/home.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_home_tsx", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/home.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_home_tsx", "target": "home_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/home.tsx", "source_location": "L13", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "invoice_number_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "schemas", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L9", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "api_invoices_id_getinvoice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L11", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "api_invoices_id_storageroot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L19", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "api_invoices_id_generateandsaveinvoicepdf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L24", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "api_invoices_id_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L51", "weight": 1.0}, {"source": "app_routes_api_invoices_id_ts", "target": "api_invoices_id_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L63", "weight": 1.0}, {"source": "api_invoices_id_generateandsaveinvoicepdf", "target": "api_invoices_id_storageroot", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L38", "weight": 1.0}, {"source": "api_invoices_id_loader", "target": "api_invoices_id_getinvoice", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L55", "weight": 1.0}, {"source": "api_invoices_id_action", "target": "api_invoices_id_getinvoice", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L67", "weight": 1.0}, {"source": "api_invoices_id_action", "target": "api_invoices_id_generateandsaveinvoicepdf", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.ts", "source_location": "L187", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L13", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L15", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "input", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L16", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "label", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L17", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "select", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L18", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "dialog", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L19", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L20", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "react_hook_form", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L21", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L22", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L23", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L24", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "companies_id_leistungen_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L42", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "companies_id_leistungen_togglesort", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L133", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "companies_id_leistungen_handlecreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L151", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "companies_id_leistungen_handleedit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L161", "weight": 1.0}, {"source": "app_routes_companies_id_leistungen_tsx", "target": "companies_id_leistungen_handledelete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.leistungen.tsx", "source_location": "L172", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_ts", "target": "api_einnahmen_id_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.ts", "source_location": "L24", "weight": 1.0}, {"source": "app_routes_admin_users_id_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_admin_users_id_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L9", "weight": 1.0}, {"source": "app_routes_admin_users_id_tsx", "target": "logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L10", "weight": 1.0}, {"source": "app_routes_admin_users_id_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L11", "weight": 1.0}, {"source": "app_routes_admin_users_id_tsx", "target": "bcryptjs", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_admin_users_id_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L13", "weight": 1.0}, {"source": "app_routes_admin_users_id_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_admin_users_id_tsx", "target": "input", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L15", "weight": 1.0}, {"source": "app_routes_admin_users_id_tsx", "target": "label", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L16", "weight": 1.0}, {"source": "app_routes_admin_users_id_tsx", "target": "admin_users_id_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L18", "weight": 1.0}, {"source": "app_routes_admin_users_id_tsx", "target": "admin_users_id_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.$id.tsx", "source_location": "L34", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", "target": "ausgaben", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", "target": "companies_id_buchhaltung_bilanzen_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "source_location": "L19", "weight": 1.0}, {"source": "app_routes_archiv_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/archiv.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_archiv_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/archiv.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_archiv_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/archiv.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_archiv_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/archiv.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_archiv_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/archiv.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_archiv_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/archiv.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_archiv_tsx", "target": "archiv_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/archiv.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_archiv_tsx", "target": "archiv_restore", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/archiv.tsx", "source_location": "L42", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "source_location": "L13", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "source_location": "L15", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", "target": "invoice_form", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "source_location": "L16", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "source_location": "L17", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", "target": "companies_id_invoices_invoiceid_edit_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "source_location": "L31", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", "target": "companies_id_invoices_invoiceid_edit_editinvoicepage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "source_location": "L97", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L11", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L13", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L15", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "invoice_status_badge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L16", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L17", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L18", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L19", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "companies_id_invoices_invoiceid_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L21", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "companies_id_invoices_invoiceid_updatestatus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L104", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "companies_id_invoices_invoiceid_handlesoftdelete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L122", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "companies_id_invoices_invoiceid_handlerestore", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L141", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "companies_id_invoices_invoiceid_handleharddelete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L158", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "companies_id_invoices_invoiceid_downloadfile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L171", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "companies_id_invoices_invoiceid_downloadpdf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L193", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_invoiceid_tsx", "target": "companies_id_invoices_invoiceid_downloadxml", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L201", "weight": 1.0}, {"source": "companies_id_invoices_invoiceid_downloadpdf", "target": "companies_id_invoices_invoiceid_downloadfile", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L194", "weight": 1.0}, {"source": "companies_id_invoices_invoiceid_downloadxml", "target": "companies_id_invoices_invoiceid_downloadfile", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", "source_location": "L202", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_upload_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_upload_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_upload_ts", "target": "logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_upload_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_upload_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_upload_ts", "target": "api_einnahmen_id_upload_storageroot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L17", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_upload_ts", "target": "api_einnahmen_id_upload_parsebelegpath", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L22", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_upload_ts", "target": "api_einnahmen_id_upload_removeuploadedfile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L27", "weight": 1.0}, {"source": "app_routes_api_einnahmen_id_upload_ts", "target": "api_einnahmen_id_upload_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L37", "weight": 1.0}, {"source": "api_einnahmen_id_upload_removeuploadedfile", "target": "api_einnahmen_id_upload_parsebelegpath", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L28", "weight": 1.0}, {"source": "api_einnahmen_id_upload_removeuploadedfile", "target": "api_einnahmen_id_upload_storageroot", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L31", "weight": 1.0}, {"source": "api_einnahmen_id_upload_action", "target": "api_einnahmen_id_upload_removeuploadedfile", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L55", "weight": 1.0}, {"source": "api_einnahmen_id_upload_action", "target": "api_einnahmen_id_upload_storageroot", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.$id.upload.ts", "source_location": "L98", "weight": 1.0}, {"source": "app_routes_dashboard_layout_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/dashboard-layout.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_dashboard_layout_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/dashboard-layout.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_dashboard_layout_tsx", "target": "topbar", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/dashboard-layout.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_dashboard_layout_tsx", "target": "dashboard_layout_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/dashboard-layout.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_dashboard_layout_tsx", "target": "dashboard_layout_dashboardlayout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/dashboard-layout.tsx", "source_location": "L10", "weight": 1.0}, {"source": "app_routes_admin_users_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_admin_users_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_admin_users_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_admin_users_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_admin_users_tsx", "target": "admin_users_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_api_admin_companies_id_delete_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.admin.companies.$id.delete.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_admin_companies_id_delete_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.admin.companies.$id.delete.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_admin_companies_id_delete_ts", "target": "logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.admin.companies.$id.delete.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_admin_companies_id_delete_ts", "target": "api_admin_companies_id_delete_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.admin.companies.$id.delete.ts", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_tsx", "target": "companies_id_buchhaltung_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_tsx", "target": "companies_id_buchhaltung_buchhaltunglayout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.tsx", "source_location": "L66", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "badge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "dialog", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L9", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L10", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "kategorie_defaults", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L11", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "companies_id_buchhaltung_einnahmen_beleghref", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "companies_id_buchhaltung_einnahmen_belegdisplayname", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L26", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "companies_id_buchhaltung_einnahmen_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L73", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "companies_id_buchhaltung_einnahmen_handlequickupload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L166", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "companies_id_buchhaltung_einnahmen_loadyear", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L190", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "companies_id_buchhaltung_einnahmen_opencreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L208", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "companies_id_buchhaltung_einnahmen_openedit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L216", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "companies_id_buchhaltung_einnahmen_handlesave", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L232", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "companies_id_buchhaltung_einnahmen_handledeletebeleg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L289", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", "target": "companies_id_buchhaltung_einnahmen_handledelete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L295", "weight": 1.0}, {"source": "companies_id_buchhaltung_einnahmen_handlequickupload", "target": "companies_id_buchhaltung_einnahmen_loadyear", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L175", "weight": 1.0}, {"source": "companies_id_buchhaltung_einnahmen_handlesave", "target": "companies_id_buchhaltung_einnahmen_loadyear", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L279", "weight": 1.0}, {"source": "companies_id_buchhaltung_einnahmen_handledeletebeleg", "target": "companies_id_buchhaltung_einnahmen_loadyear", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L291", "weight": 1.0}, {"source": "companies_id_buchhaltung_einnahmen_handledelete", "target": "companies_id_buchhaltung_einnahmen_loadyear", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "source_location": "L300", "weight": 1.0}, {"source": "app_routes_companies_id_edit_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.edit.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_edit_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.edit.tsx", "source_location": "L10", "weight": 1.0}, {"source": "app_routes_companies_id_edit_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.edit.tsx", "source_location": "L11", "weight": 1.0}, {"source": "app_routes_companies_id_edit_tsx", "target": "company_form", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.edit.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_companies_id_edit_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.edit.tsx", "source_location": "L13", "weight": 1.0}, {"source": "app_routes_companies_id_edit_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.edit.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_edit_tsx", "target": "companies_id_edit_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.edit.tsx", "source_location": "L16", "weight": 1.0}, {"source": "app_routes_companies_id_edit_tsx", "target": "companies_id_edit_handlesubmit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.edit.tsx", "source_location": "L29", "weight": 1.0}, {"source": "app_routes_api_einnahmen_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_einnahmen_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_einnahmen_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_einnahmen_ts", "target": "api_einnahmen_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.ts", "source_location": "L27", "weight": 1.0}, {"source": "app_routes_api_einnahmen_ts", "target": "api_einnahmen_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.einnahmen.ts", "source_location": "L84", "weight": 1.0}, {"source": "app_routes_api_ausgaben_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.ausgaben.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_ausgaben_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.ausgaben.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_ausgaben_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.ausgaben.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_ausgaben_ts", "target": "api_ausgaben_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.ausgaben.ts", "source_location": "L15", "weight": 1.0}, {"source": "app_routes_api_ausgaben_ts", "target": "api_ausgaben_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.ausgaben.ts", "source_location": "L52", "weight": 1.0}, {"source": "app_routes_login_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/login.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_login_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/login.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_login_tsx", "target": "rate_limiter_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/login.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_login_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/login.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_login_tsx", "target": "input", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/login.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_login_tsx", "target": "label", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/login.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_login_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/login.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_login_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/login.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_login_tsx", "target": "login_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/login.tsx", "source_location": "L10", "weight": 1.0}, {"source": "app_routes_login_tsx", "target": "login_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/login.tsx", "source_location": "L16", "weight": 1.0}, {"source": "app_routes_admin_layout_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin-layout.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_admin_layout_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin-layout.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_admin_layout_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin-layout.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_admin_layout_tsx", "target": "admin_layout_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/admin-layout.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_api_companies_id_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_companies_id_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_companies_id_ts", "target": "logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_companies_id_ts", "target": "schemas", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_api_companies_id_ts", "target": "api_companies_id_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.ts", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_api_companies_id_ts", "target": "api_companies_id_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.ts", "source_location": "L16", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L11", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L13", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "input", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L15", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "label", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L16", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "dialog", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L17", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L18", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "react_hook_form", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L19", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L20", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L21", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "companies_id_customers_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L46", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "companies_id_customers_customerform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L61", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "companies_id_customers_handlecreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L122", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "companies_id_customers_handleedit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L132", "weight": 1.0}, {"source": "app_routes_companies_id_customers_tsx", "target": "companies_id_customers_handledelete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.customers.tsx", "source_location": "L143", "weight": 1.0}, {"source": "app_routes_api_ausgaben_id_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.ausgaben.$id.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_ausgaben_id_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.ausgaben.$id.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_ausgaben_id_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.ausgaben.$id.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_ausgaben_id_ts", "target": "api_ausgaben_id_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.ausgaben.$id.ts", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_api_companies_id_customers_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.customers.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_companies_id_customers_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.customers.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_companies_id_customers_ts", "target": "api_companies_id_customers_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.customers.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_api_companies_id_invoices_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.invoices.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_companies_id_invoices_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.invoices.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_companies_id_invoices_ts", "target": "api_companies_id_invoices_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.invoices.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_api_companies_id_money_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.money.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_companies_id_money_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.money.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_companies_id_money_ts", "target": "api_companies_id_money_totransaction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.money.ts", "source_location": "L15", "weight": 1.0}, {"source": "app_routes_api_companies_id_money_ts", "target": "api_companies_id_money_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.money.ts", "source_location": "L28", "weight": 1.0}, {"source": "app_routes_api_companies_id_money_ts", "target": "api_companies_id_money_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.money.ts", "source_location": "L61", "weight": 1.0}, {"source": "app_routes_api_anlagevermoegen_id_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.anlagevermoegen.$id.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_anlagevermoegen_id_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.anlagevermoegen.$id.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_anlagevermoegen_id_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.anlagevermoegen.$id.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_anlagevermoegen_id_ts", "target": "api_anlagevermoegen_id_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.anlagevermoegen.$id.ts", "source_location": "L15", "weight": 1.0}, {"source": "app_routes_api_invoices_id_pdf_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.pdf.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_invoices_id_pdf_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.pdf.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_invoices_id_pdf_ts", "target": "api_invoices_id_pdf_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.pdf.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "badge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "dialog", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L15", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "afa", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L16", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "companies_id_buchhaltung_anlagevermoegen_enrichasset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L44", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "companies_id_buchhaltung_anlagevermoegen_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L76", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L123", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "companies_id_buchhaltung_anlagevermoegen_opencreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L142", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "companies_id_buchhaltung_anlagevermoegen_openedit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L148", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "companies_id_buchhaltung_anlagevermoegen_handlesave", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L162", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", "target": "companies_id_buchhaltung_anlagevermoegen_handledelete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L196", "weight": 1.0}, {"source": "companies_id_buchhaltung_anlagevermoegen_handlesave", "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L189", "weight": 1.0}, {"source": "companies_id_buchhaltung_anlagevermoegen_handledelete", "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "source_location": "L201", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "kategorie_defaults", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "dialog", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L9", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "companies_id_buchhaltung_ausgaben_kategorien_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L27", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L87", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "companies_id_buchhaltung_ausgaben_kategorien_opencreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L93", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "companies_id_buchhaltung_ausgaben_kategorien_openedit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L100", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "companies_id_buchhaltung_ausgaben_kategorien_handlesave", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L107", "weight": 1.0}, {"source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", "target": "companies_id_buchhaltung_ausgaben_kategorien_handledelete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L134", "weight": 1.0}, {"source": "companies_id_buchhaltung_ausgaben_kategorien_handlesave", "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L127", "weight": 1.0}, {"source": "companies_id_buchhaltung_ausgaben_kategorien_handledelete", "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "source_location": "L144", "weight": 1.0}, {"source": "app_routes_admin_logs_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.logs.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_admin_logs_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.logs.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_admin_logs_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.logs.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_admin_logs_tsx", "target": "admin_logs_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/admin.logs.tsx", "source_location": "L35", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_new_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.new.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_new_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.new.tsx", "source_location": "L11", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_new_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.new.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_new_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.new.tsx", "source_location": "L13", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_new_tsx", "target": "invoice_form", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.new.tsx", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_new_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.new.tsx", "source_location": "L15", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_new_tsx", "target": "companies_id_invoices_new_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.new.tsx", "source_location": "L28", "weight": 1.0}, {"source": "app_routes_companies_id_invoices_new_tsx", "target": "companies_id_invoices_new_newinvoicepage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.invoices.new.tsx", "source_location": "L70", "weight": 1.0}, {"source": "app_routes_api_companies_id_buchungkategorien_katid_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_companies_id_buchungkategorien_katid_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_companies_id_buchungkategorien_katid_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_companies_id_buchungkategorien_katid_ts", "target": "api_companies_id_buchungkategorien_katid_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", "source_location": "L9", "weight": 1.0}, {"source": "app_routes_api_companies_id_kategorien_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.kategorien.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_companies_id_kategorien_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.kategorien.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_companies_id_kategorien_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.kategorien.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_companies_id_kategorien_ts", "target": "api_companies_id_kategorien_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.kategorien.ts", "source_location": "L18", "weight": 1.0}, {"source": "app_routes_api_companies_id_kategorien_ts", "target": "api_companies_id_kategorien_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.$id.kategorien.ts", "source_location": "L50", "weight": 1.0}, {"source": "app_routes_admin_users_new_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_admin_users_new_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_admin_users_new_tsx", "target": "logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_admin_users_new_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_admin_users_new_tsx", "target": "bcryptjs", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_admin_users_new_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_admin_users_new_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_admin_users_new_tsx", "target": "input", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_admin_users_new_tsx", "target": "label", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L9", "weight": 1.0}, {"source": "app_routes_admin_users_new_tsx", "target": "admin_users_new_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L11", "weight": 1.0}, {"source": "app_routes_admin_users_new_tsx", "target": "admin_users_new_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/admin.users.new.tsx", "source_location": "L16", "weight": 1.0}, {"source": "app_routes_api_services_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.services.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_services_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.services.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_services_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.services.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_services_ts", "target": "api_services_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.services.ts", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "card", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "badge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L13", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "companies_id_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L50", "weight": 1.0}, {"source": "app_routes_companies_id_tsx", "target": "companies_id_togglearchive", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.$id.tsx", "source_location": "L113", "weight": 1.0}, {"source": "app_routes_api_anlagevermoegen_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.anlagevermoegen.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_anlagevermoegen_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.anlagevermoegen.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_anlagevermoegen_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.anlagevermoegen.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_anlagevermoegen_ts", "target": "afa", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.anlagevermoegen.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_api_anlagevermoegen_ts", "target": "api_anlagevermoegen_toraw", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.anlagevermoegen.ts", "source_location": "L17", "weight": 1.0}, {"source": "app_routes_api_anlagevermoegen_ts", "target": "api_anlagevermoegen_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.anlagevermoegen.ts", "source_location": "L33", "weight": 1.0}, {"source": "app_routes_api_anlagevermoegen_ts", "target": "api_anlagevermoegen_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.anlagevermoegen.ts", "source_location": "L72", "weight": 1.0}, {"source": "app_routes_api_companies_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_companies_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_companies_ts", "target": "logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_companies_ts", "target": "error_logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_api_companies_ts", "target": "schemas", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.ts", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_api_companies_ts", "target": "api_companies_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.ts", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_api_companies_ts", "target": "api_companies_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.companies.ts", "source_location": "L29", "weight": 1.0}, {"source": "app_routes_api_bilanzen_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.bilanzen.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_bilanzen_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.bilanzen.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_bilanzen_ts", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.bilanzen.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_bilanzen_ts", "target": "api_bilanzen_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.bilanzen.ts", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_api_beleg_userid_filename_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.beleg.$userId.$filename.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_beleg_userid_filename_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.beleg.$userId.$filename.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_beleg_userid_filename_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.beleg.$userId.$filename.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_beleg_userid_filename_ts", "target": "api_beleg_userid_filename_storageroot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.beleg.$userId.$filename.ts", "source_location": "L14", "weight": 1.0}, {"source": "app_routes_api_beleg_userid_filename_ts", "target": "api_beleg_userid_filename_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.beleg.$userId.$filename.ts", "source_location": "L18", "weight": 1.0}, {"source": "api_beleg_userid_filename_loader", "target": "api_beleg_userid_filename_storageroot", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/routes/api.beleg.$userId.$filename.ts", "source_location": "L33", "weight": 1.0}, {"source": "app_routes_companies_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_companies_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_companies_tsx", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_companies_tsx", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_companies_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_companies_tsx", "target": "badge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_companies_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_routes_companies_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_routes_companies_tsx", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/companies.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_companies_tsx", "target": "companies_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/companies.tsx", "source_location": "L37", "weight": 1.0}, {"source": "app_routes_logout_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/logout.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_logout_ts", "target": "logout_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/logout.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_customers_id_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.customers.$id.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_customers_id_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.customers.$id.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_customers_id_ts", "target": "logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.customers.$id.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_customers_id_ts", "target": "schemas", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.customers.$id.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_api_customers_id_ts", "target": "api_customers_id_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.customers.$id.ts", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_api_customers_id_ts", "target": "api_customers_id_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.customers.$id.ts", "source_location": "L18", "weight": 1.0}, {"source": "app_routes_api_invoices_id_xml_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.xml.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_invoices_id_xml_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.xml.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_invoices_id_xml_ts", "target": "api_invoices_id_xml_tounitcode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.xml.ts", "source_location": "L12", "weight": 1.0}, {"source": "app_routes_api_invoices_id_xml_ts", "target": "api_invoices_id_xml_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.$id.xml.ts", "source_location": "L23", "weight": 1.0}, {"source": "app_routes_api_services_id_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.services.$id.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_services_id_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.services.$id.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_services_id_ts", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.services.$id.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_services_id_ts", "target": "api_services_id_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.services.$id.ts", "source_location": "L13", "weight": 1.0}, {"source": "app_routes_api_invoices_ts", "target": "session_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.ts", "source_location": "L1", "weight": 1.0}, {"source": "app_routes_api_invoices_ts", "target": "prisma_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.ts", "source_location": "L2", "weight": 1.0}, {"source": "app_routes_api_invoices_ts", "target": "invoice_number_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.ts", "source_location": "L3", "weight": 1.0}, {"source": "app_routes_api_invoices_ts", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.ts", "source_location": "L4", "weight": 1.0}, {"source": "app_routes_api_invoices_ts", "target": "logger_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.ts", "source_location": "L5", "weight": 1.0}, {"source": "app_routes_api_invoices_ts", "target": "schemas", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.ts", "source_location": "L6", "weight": 1.0}, {"source": "app_routes_api_invoices_ts", "target": "api_invoices_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/routes/api.invoices.ts", "source_location": "L45", "weight": 1.0}, {"source": "app_components_debug_panel_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/debug-panel.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_components_debug_panel_tsx", "target": "client_validation", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/debug-panel.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_components_debug_panel_tsx", "target": "debug_panel_debugpanel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/debug-panel.tsx", "source_location": "L9", "weight": 1.0}, {"source": "app_components_company_company_form_tsx", "target": "react_hook_form", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/company/company-form.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_company_company_form_tsx", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/company/company-form.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_company_company_form_tsx", "target": "zod", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/company/company-form.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_components_company_company_form_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/company/company-form.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_components_company_company_form_tsx", "target": "input", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/company/company-form.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_components_company_company_form_tsx", "target": "label", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/company/company-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_components_company_company_form_tsx", "target": "client_validation", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/company/company-form.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_components_company_company_form_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/company/company-form.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_components_company_company_form_tsx", "target": "company_form_handleformsubmit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/company/company-form.tsx", "source_location": "L112", "weight": 1.0}, {"source": "app_components_invoice_invoice_pdf_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-pdf.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_invoice_invoice_pdf_tsx", "target": "renderer", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-pdf.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_invoice_invoice_pdf_tsx", "target": "invoice_pdf_formatmoney", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-pdf.tsx", "source_location": "L191", "weight": 1.0}, {"source": "app_components_invoice_invoice_pdf_tsx", "target": "invoice_pdf_formatdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-pdf.tsx", "source_location": "L195", "weight": 1.0}, {"source": "app_components_invoice_invoice_pdf_tsx", "target": "invoice_pdf_n", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-pdf.tsx", "source_location": "L246", "weight": 1.0}, {"source": "app_components_invoice_invoice_status_badge_tsx", "target": "badge", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-status-badge.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_invoice_invoice_status_badge_tsx", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-status-badge.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_invoice_invoice_status_badge_tsx", "target": "invoice_status_badge_invoicestatusbadge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-status-badge.tsx", "source_location": "L12", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "react_hook_form", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "button", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "input", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L5", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "label", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "textarea", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L7", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "select", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L8", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "tax", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L9", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L10", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "invoice_form_defaultitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L57", "weight": 1.0}, {"source": "app_components_invoice_invoice_form_tsx", "target": "invoice_form_invoiceform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L81", "weight": 1.0}, {"source": "invoice_form_invoiceform", "target": "invoice_form_defaultitem", "relation": "calls", "confidence": "EXTRACTED", "source_file": "app/components/invoice/invoice-form.tsx", "source_location": "L95", "weight": 1.0}, {"source": "app_components_layout_sidebar_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/layout/sidebar.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_layout_sidebar_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/layout/sidebar.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_layout_sidebar_tsx", "target": "utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/layout/sidebar.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_components_layout_sidebar_tsx", "target": "sidebar_getinitials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/layout/sidebar.tsx", "source_location": "L16", "weight": 1.0}, {"source": "app_components_layout_topbar_tsx", "target": "react_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/layout/topbar.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_layout_topbar_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/layout/topbar.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_layout_topbar_tsx", "target": "topbar_isbreadcrumbhandle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/layout/topbar.tsx", "source_location": "L13", "weight": 1.0}, {"source": "app_components_layout_topbar_tsx", "target": "topbar_getinitials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/layout/topbar.tsx", "source_location": "L22", "weight": 1.0}, {"source": "app_components_ui_button_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/button.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_ui_button_tsx", "target": "react_slot", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/button.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_ui_button_tsx", "target": "class_variance_authority", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/button.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_components_ui_button_tsx", "target": "utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/button.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_components_ui_select_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/select.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_ui_select_tsx", "target": "react_select", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/select.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_ui_select_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/select.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_components_ui_select_tsx", "target": "utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/select.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_components_ui_badge_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/badge.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_ui_badge_tsx", "target": "class_variance_authority", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/badge.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_ui_badge_tsx", "target": "utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/badge.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_components_ui_input_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/input.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_ui_input_tsx", "target": "utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/input.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_ui_card_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/card.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_ui_card_tsx", "target": "utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/card.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_ui_dialog_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/dialog.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_ui_dialog_tsx", "target": "react_dialog", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/dialog.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_ui_dialog_tsx", "target": "lucide_react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/dialog.tsx", "source_location": "L3", "weight": 1.0}, {"source": "app_components_ui_dialog_tsx", "target": "utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/dialog.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_components_ui_dialog_tsx", "target": "dialog_dialogheader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/components/ui/dialog.tsx", "source_location": "L47", "weight": 1.0}, {"source": "app_components_ui_tooltip_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/tooltip.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_ui_tooltip_tsx", "target": "react_tooltip", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/tooltip.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_ui_tooltip_tsx", "target": "utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/tooltip.tsx", "source_location": "L4", "weight": 1.0}, {"source": "app_components_ui_textarea_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/textarea.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_ui_textarea_tsx", "target": "utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/textarea.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_ui_label_tsx", "target": "react", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/label.tsx", "source_location": "L1", "weight": 1.0}, {"source": "app_components_ui_label_tsx", "target": "react_label", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/label.tsx", "source_location": "L2", "weight": 1.0}, {"source": "app_components_ui_label_tsx", "target": "utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "app/components/ui/label.tsx", "source_location": "L3", "weight": 1.0}, {"source": "scripts_setup_admin_ts", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.ts", "source_location": "L18", "weight": 1.0}, {"source": "scripts_setup_admin_ts", "target": "bcryptjs", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.ts", "source_location": "L19", "weight": 1.0}, {"source": "scripts_setup_admin_ts", "target": "crypto", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.ts", "source_location": "L20", "weight": 1.0}, {"source": "scripts_setup_admin_ts", "target": "setup_admin_generatepassword", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.ts", "source_location": "L24", "weight": 1.0}, {"source": "scripts_setup_admin_ts", "target": "setup_admin_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.ts", "source_location": "L31", "weight": 1.0}, {"source": "setup_admin_main", "target": "setup_admin_generatepassword", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.ts", "source_location": "L53", "weight": 1.0}, {"source": "scripts_setup_admin_js", "target": "client", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.js", "source_location": "L17", "weight": 1.0}, {"source": "scripts_setup_admin_js", "target": "bcryptjs", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.js", "source_location": "L18", "weight": 1.0}, {"source": "scripts_setup_admin_js", "target": "crypto", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.js", "source_location": "L19", "weight": 1.0}, {"source": "scripts_setup_admin_js", "target": "setup_admin_generatepassword", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.js", "source_location": "L21", "weight": 1.0}, {"source": "scripts_setup_admin_js", "target": "setup_admin_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.js", "source_location": "L27", "weight": 1.0}, {"source": "setup_admin_main", "target": "setup_admin_generatepassword", "relation": "calls", "confidence": "EXTRACTED", "source_file": "scripts/setup-admin.js", "source_location": "L46", "weight": 1.0}], "hyperedges": []} \ No newline at end of file diff --git a/.graphify_detect.json b/.graphify_detect.json new file mode 100644 index 0000000..6e6403c --- /dev/null +++ b/.graphify_detect.json @@ -0,0 +1 @@ +{"files": {"code": ["postcss.config.ts", "react-router.config.ts", "vitest.setup.ts", "vitest.config.ts", "vite.config.ts", "prisma/seed.js", "prisma/seed.ts", "tests/lib/buchungen.test.ts", "tests/lib/kategorie-defaults.test.ts", "tests/lib/einnahmen-ausgaben.test.ts", "tests/lib/invoice-number.test.ts", "tests/lib/afa.test.ts", "tests/lib/schemas.test.ts", "tests/lib/client-validation.test.ts", "tests/lib/tax.test.ts", "tests/integration/api.test.ts", "tests/integration/setup.ts", "tests/integration/api-simple.test.ts", "tests/components/invoice-status-badge.test.tsx", "coverage/block-navigation.js", "coverage/sorter.js", "coverage/prettify.js", "app/session.server.ts", "app/entry.server.tsx", "app/root.tsx", "app/routes.ts", "app/lib/kategorie-defaults.ts", "app/lib/ausgaben.ts", "app/lib/client-validation.ts", "app/lib/invoice-number.server.ts", "app/lib/tax.ts", "app/lib/schemas.ts", "app/lib/error-logger.server.ts", "app/lib/einnahmen.ts", "app/lib/cleanup.server.ts", "app/lib/prisma.server.ts", "app/lib/utils.ts", "app/lib/logger.server.ts", "app/lib/rate-limiter.server.ts", "app/lib/afa.ts", "app/lib/db-init.server.ts", "app/routes/api.customers.ts", "app/routes/api.companies.$id.buchungkategorien.ts", "app/routes/companies.$id.buchhaltung.ausgaben.tsx", "app/routes/api.reports.ts", "app/routes/admin.mandanten.tsx", "app/routes/companies.$id.buchhaltung.money.tsx", "app/routes/companies.new.tsx", "app/routes/companies.$id.invoices.tsx", "app/routes/companies.$id.reports.tsx", "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", "app/routes/home.tsx", "app/routes/api.invoices.$id.ts", "app/routes/companies.$id.leistungen.tsx", "app/routes/api.einnahmen.$id.ts", "app/routes/admin.users.$id.tsx", "app/routes/companies.$id.buchhaltung.bilanzen.tsx", "app/routes/archiv.tsx", "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", "app/routes/companies.$id.invoices.$invoiceId.tsx", "app/routes/api.einnahmen.$id.upload.ts", "app/routes/dashboard-layout.tsx", "app/routes/admin.users.tsx", "app/routes/api.admin.companies.$id.delete.ts", "app/routes/companies.$id.buchhaltung.tsx", "app/routes/companies.$id.buchhaltung.einnahmen.tsx", "app/routes/companies.$id.edit.tsx", "app/routes/api.einnahmen.ts", "app/routes/api.ausgaben.ts", "app/routes/login.tsx", "app/routes/admin-layout.tsx", "app/routes/api.companies.$id.ts", "app/routes/companies.$id.customers.tsx", "app/routes/api.ausgaben.$id.ts", "app/routes/api.companies.$id.customers.ts", "app/routes/api.companies.$id.invoices.ts", "app/routes/api.companies.$id.money.ts", "app/routes/api.anlagevermoegen.$id.ts", "app/routes/api.invoices.$id.pdf.ts", "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", "app/routes/admin.logs.tsx", "app/routes/companies.$id.invoices.new.tsx", "app/routes/api.companies.$id.buchungkategorien.$katId.ts", "app/routes/api.companies.$id.kategorien.ts", "app/routes/admin.users.new.tsx", "app/routes/api.services.ts", "app/routes/companies.$id.tsx", "app/routes/api.anlagevermoegen.ts", "app/routes/api.companies.ts", "app/routes/api.bilanzen.ts", "app/routes/api.beleg.$userId.$filename.ts", "app/routes/companies.tsx", "app/routes/logout.ts", "app/routes/api.customers.$id.ts", "app/routes/api.invoices.$id.xml.ts", "app/routes/api.services.$id.ts", "app/routes/api.invoices.ts", "app/components/debug-panel.tsx", "app/components/company/company-form.tsx", "app/components/invoice/invoice-pdf.tsx", "app/components/invoice/invoice-status-badge.tsx", "app/components/invoice/invoice-form.tsx", "app/components/layout/sidebar.tsx", "app/components/layout/topbar.tsx", "app/components/ui/button.tsx", "app/components/ui/select.tsx", "app/components/ui/badge.tsx", "app/components/ui/input.tsx", "app/components/ui/card.tsx", "app/components/ui/dialog.tsx", "app/components/ui/tooltip.tsx", "app/components/ui/textarea.tsx", "app/components/ui/label.tsx", "app/types/index.ts", "scripts/setup-admin.ts", "scripts/setup-admin.js"], "document": ["AGENTS.md", "copilot-instructions.md", "README.md", "CLAUDE.md", "IMPROVEMENTS_SUMMARY.md", "INTEGRATION_EXAMPLE.md", "tests/README.md", "app/lib/ERROR_LOGGING_GUIDE.md", "graphify-out/GRAPH_REPORT.md"], "paper": ["data/documents/cmmoo4v5p0000ykou0bcivjsn/migr-ein-cmn4ogjc20007dfmmex6engdh-1777488241127.pdf", "data/documents/cmmoo4v5p0000ykou0bcivjsn/migr-ein-cmn4ogjc20007dfmmex6engdh-1777488343334.pdf", "data/documents/cmootxs7r0000nvgjmhgbanvx/demo-invoice-1-1777790365605.pdf", "data/documents/cmootxs7r0000nvgjmhgbanvx/cmopen7qx000s2mzpnq44y0rb-1777790640988.pdf", "data/documents/cmootxs7r0000nvgjmhgbanvx/cmopejaq8000f2mzpnho6t72z-1777790461825.pdf"], "image": ["public/file.svg", "public/window.svg", "public/globe.svg", "public/next.svg", "public/vercel.svg", "coverage/favicon.png", "coverage/sort-arrow-sprite.png"], "video": []}, "total_files": 138, "total_words": 58888, "needs_graph": true, "warning": null, "skipped_sensitive": ["app/routes/settings.password.tsx", "scripts/reset-password.ts", "scripts/reset-password.js"], "graphifyignore_patterns": 0} diff --git a/.graphify_extract.json b/.graphify_extract.json new file mode 100644 index 0000000..edf5d7a --- /dev/null +++ b/.graphify_extract.json @@ -0,0 +1,16465 @@ +{ + "nodes": [ + { + "id": "postcss_config_ts", + "label": "postcss.config.ts", + "file_type": "code", + "source_file": "postcss.config.ts", + "source_location": "L1" + }, + { + "id": "react_router_config_ts", + "label": "react-router.config.ts", + "file_type": "code", + "source_file": "react-router.config.ts", + "source_location": "L1" + }, + { + "id": "vitest_setup_ts", + "label": "vitest.setup.ts", + "file_type": "code", + "source_file": "vitest.setup.ts", + "source_location": "L1" + }, + { + "id": "vitest_config_ts", + "label": "vitest.config.ts", + "file_type": "code", + "source_file": "vitest.config.ts", + "source_location": "L1" + }, + { + "id": "vite_config_ts", + "label": "vite.config.ts", + "file_type": "code", + "source_file": "vite.config.ts", + "source_location": "L1" + }, + { + "id": "prisma_seed_js", + "label": "seed.js", + "file_type": "code", + "source_file": "prisma/seed.js", + "source_location": "L1" + }, + { + "id": "seed_main", + "label": "main()", + "file_type": "code", + "source_file": "prisma/seed.js", + "source_location": "L4" + }, + { + "id": "prisma_seed_ts", + "label": "seed.ts", + "file_type": "code", + "source_file": "prisma/seed.ts", + "source_location": "L1" + }, + { + "id": "seed_main", + "label": "main()", + "file_type": "code", + "source_file": "prisma/seed.ts", + "source_location": "L6" + }, + { + "id": "tests_lib_buchungen_test_ts", + "label": "buchungen.test.ts", + "file_type": "code", + "source_file": "tests/lib/buchungen.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_kategorie_defaults_test_ts", + "label": "kategorie-defaults.test.ts", + "file_type": "code", + "source_file": "tests/lib/kategorie-defaults.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_einnahmen_ausgaben_test_ts", + "label": "einnahmen-ausgaben.test.ts", + "file_type": "code", + "source_file": "tests/lib/einnahmen-ausgaben.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_invoice_number_test_ts", + "label": "invoice-number.test.ts", + "file_type": "code", + "source_file": "tests/lib/invoice-number.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_afa_test_ts", + "label": "afa.test.ts", + "file_type": "code", + "source_file": "tests/lib/afa.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_schemas_test_ts", + "label": "schemas.test.ts", + "file_type": "code", + "source_file": "tests/lib/schemas.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_client_validation_test_ts", + "label": "client-validation.test.ts", + "file_type": "code", + "source_file": "tests/lib/client-validation.test.ts", + "source_location": "L1" + }, + { + "id": "tests_lib_tax_test_ts", + "label": "tax.test.ts", + "file_type": "code", + "source_file": "tests/lib/tax.test.ts", + "source_location": "L1" + }, + { + "id": "tests_integration_api_test_ts", + "label": "api.test.ts", + "file_type": "code", + "source_file": "tests/integration/api.test.ts", + "source_location": "L1" + }, + { + "id": "api_test_dbtest", + "label": "dbTest()", + "file_type": "code", + "source_file": "tests/integration/api.test.ts", + "source_location": "L58" + }, + { + "id": "tests_integration_setup_ts", + "label": "setup.ts", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L1" + }, + { + "id": "setup_setuptestdatabase", + "label": "setupTestDatabase()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L24" + }, + { + "id": "setup_cleanuptestdatabase", + "label": "cleanupTestDatabase()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L48" + }, + { + "id": "setup_createtestuser", + "label": "createTestUser()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L71" + }, + { + "id": "setup_createtestcompany", + "label": "createTestCompany()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L89" + }, + { + "id": "setup_createtestcustomer", + "label": "createTestCustomer()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L105" + }, + { + "id": "setup_getauthheaders", + "label": "getAuthHeaders()", + "file_type": "code", + "source_file": "tests/integration/setup.ts", + "source_location": "L122" + }, + { + "id": "tests_integration_api_simple_test_ts", + "label": "api-simple.test.ts", + "file_type": "code", + "source_file": "tests/integration/api-simple.test.ts", + "source_location": "L1" + }, + { + "id": "tests_components_invoice_status_badge_test_tsx", + "label": "invoice-status-badge.test.tsx", + "file_type": "code", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L1" + }, + { + "id": "coverage_block_navigation_js", + "label": "block-navigation.js", + "file_type": "code", + "source_file": "coverage/block-navigation.js", + "source_location": "L1" + }, + { + "id": "block_navigation_toggleclass", + "label": "toggleClass()", + "file_type": "code", + "source_file": "coverage/block-navigation.js", + "source_location": "L24" + }, + { + "id": "block_navigation_makecurrent", + "label": "makeCurrent()", + "file_type": "code", + "source_file": "coverage/block-navigation.js", + "source_location": "L31" + }, + { + "id": "block_navigation_gotoprevious", + "label": "goToPrevious()", + "file_type": "code", + "source_file": "coverage/block-navigation.js", + "source_location": "L41" + }, + { + "id": "block_navigation_gotonext", + "label": "goToNext()", + "file_type": "code", + "source_file": "coverage/block-navigation.js", + "source_location": "L52" + }, + { + "id": "coverage_sorter_js", + "label": "sorter.js", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L1" + }, + { + "id": "sorter_gettable", + "label": "getTable()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L11" + }, + { + "id": "sorter_gettableheader", + "label": "getTableHeader()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L15" + }, + { + "id": "sorter_gettablebody", + "label": "getTableBody()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L19" + }, + { + "id": "sorter_getnthcolumn", + "label": "getNthColumn()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L23" + }, + { + "id": "sorter_onfilterinput", + "label": "onFilterInput()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L27" + }, + { + "id": "sorter_addsearchbox", + "label": "addSearchBox()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L59" + }, + { + "id": "sorter_loadcolumns", + "label": "loadColumns()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L67" + }, + { + "id": "sorter_loadrowdata", + "label": "loadRowData()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L92" + }, + { + "id": "sorter_loaddata", + "label": "loadData()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L111" + }, + { + "id": "sorter_sortbyindex", + "label": "sortByIndex()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L120" + }, + { + "id": "sorter_removesortindicators", + "label": "removeSortIndicators()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L151" + }, + { + "id": "sorter_addsortindicators", + "label": "addSortIndicators()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L159" + }, + { + "id": "sorter_enableui", + "label": "enableUI()", + "file_type": "code", + "source_file": "coverage/sorter.js", + "source_location": "L165" + }, + { + "id": "coverage_prettify_js", + "label": "prettify.js", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L1" + }, + { + "id": "prettify_k", + "label": "k()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_a", + "label": "a()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_b", + "label": "B()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_o", + "label": "o()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_g", + "label": "g()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_i", + "label": "i()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_q", + "label": "Q()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_d", + "label": "D()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_c", + "label": "c()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "prettify_y", + "label": "y()", + "file_type": "code", + "source_file": "coverage/prettify.js", + "source_location": "L2" + }, + { + "id": "app_session_server_ts", + "label": "session.server.ts", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L1" + }, + { + "id": "session_server_login", + "label": "login()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L30" + }, + { + "id": "session_server_createusersession", + "label": "createUserSession()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L59" + }, + { + "id": "session_server_getusersession", + "label": "getUserSession()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L74" + }, + { + "id": "session_server_requireuser", + "label": "requireUser()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L95" + }, + { + "id": "session_server_requireadmin", + "label": "requireAdmin()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L101" + }, + { + "id": "session_server_getapiuser", + "label": "getApiUser()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L107" + }, + { + "id": "session_server_logout", + "label": "logout()", + "file_type": "code", + "source_file": "app/session.server.ts", + "source_location": "L112" + }, + { + "id": "app_entry_server_tsx", + "label": "entry.server.tsx", + "file_type": "code", + "source_file": "app/entry.server.tsx", + "source_location": "L1" + }, + { + "id": "app_root_tsx", + "label": "root.tsx", + "file_type": "code", + "source_file": "app/root.tsx", + "source_location": "L1" + }, + { + "id": "app_routes_ts", + "label": "routes.ts", + "file_type": "code", + "source_file": "app/routes.ts", + "source_location": "L1" + }, + { + "id": "app_lib_kategorie_defaults_ts", + "label": "kategorie-defaults.ts", + "file_type": "code", + "source_file": "app/lib/kategorie-defaults.ts", + "source_location": "L1" + }, + { + "id": "app_lib_ausgaben_ts", + "label": "ausgaben.ts", + "file_type": "code", + "source_file": "app/lib/ausgaben.ts", + "source_location": "L1" + }, + { + "id": "app_lib_client_validation_ts", + "label": "client-validation.ts", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L1" + }, + { + "id": "client_validation_isdebugmode", + "label": "isDebugMode()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L7" + }, + { + "id": "client_validation_setdebugmode", + "label": "setDebugMode()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L12" + }, + { + "id": "client_validation_debuglog", + "label": "debugLog()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L26" + }, + { + "id": "client_validation_validatetaxid", + "label": "validateTaxId()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L51" + }, + { + "id": "client_validation_validatevatid", + "label": "validateVatId()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L62" + }, + { + "id": "client_validation_validateiban", + "label": "validateIban()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L73" + }, + { + "id": "client_validation_validatebic", + "label": "validateBic()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L84" + }, + { + "id": "client_validation_validatewebsite", + "label": "validateWebsite()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L95" + }, + { + "id": "client_validation_validatecompanyform", + "label": "validateCompanyForm()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L126" + }, + { + "id": "client_validation_handleapierror", + "label": "handleApiError()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L219" + }, + { + "id": "client_validation_getfielderror", + "label": "getFieldError()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L234" + }, + { + "id": "client_validation_hasfielderror", + "label": "hasFieldError()", + "file_type": "code", + "source_file": "app/lib/client-validation.ts", + "source_location": "L242" + }, + { + "id": "app_lib_invoice_number_server_ts", + "label": "invoice-number.server.ts", + "file_type": "code", + "source_file": "app/lib/invoice-number.server.ts", + "source_location": "L1" + }, + { + "id": "invoice_number_server_generateinvoicenumber", + "label": "generateInvoiceNumber()", + "file_type": "code", + "source_file": "app/lib/invoice-number.server.ts", + "source_location": "L3" + }, + { + "id": "app_lib_tax_ts", + "label": "tax.ts", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L1" + }, + { + "id": "tax_calcitemamounts", + "label": "calcItemAmounts()", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L7" + }, + { + "id": "tax_calcitemamountskleinunternehmer", + "label": "calcItemAmountsKleinunternehmer()", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L18" + }, + { + "id": "tax_calcinvoicetotals", + "label": "calcInvoiceTotals()", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L26" + }, + { + "id": "tax_formatcurrency", + "label": "formatCurrency()", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L39" + }, + { + "id": "tax_formatdate", + "label": "formatDate()", + "file_type": "code", + "source_file": "app/lib/tax.ts", + "source_location": "L46" + }, + { + "id": "app_lib_schemas_ts", + "label": "schemas.ts", + "file_type": "code", + "source_file": "app/lib/schemas.ts", + "source_location": "L1" + }, + { + "id": "app_lib_error_logger_server_ts", + "label": "error-logger.server.ts", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L1" + }, + { + "id": "error_logger_server_extracterrorinfo", + "label": "extractErrorInfo()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L33" + }, + { + "id": "error_logger_server_extractrequestcontext", + "label": "extractRequestContext()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L59" + }, + { + "id": "error_logger_server_builderrorlogentry", + "label": "buildErrorLogEntry()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L82" + }, + { + "id": "error_logger_server_formaterrorlog", + "label": "formatErrorLog()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L108" + }, + { + "id": "error_logger_server_logrouteerror", + "label": "logRouteError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L138" + }, + { + "id": "error_logger_server_logactionerror", + "label": "logActionError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L151" + }, + { + "id": "error_logger_server_logdatabaseerror", + "label": "logDatabaseError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L170" + }, + { + "id": "error_logger_server_logapierror", + "label": "logApiError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L187" + }, + { + "id": "error_logger_server_logstartuperror", + "label": "logStartupError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L207" + }, + { + "id": "error_logger_server_logerror", + "label": "logError()", + "file_type": "code", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L218" + }, + { + "id": "app_lib_einnahmen_ts", + "label": "einnahmen.ts", + "file_type": "code", + "source_file": "app/lib/einnahmen.ts", + "source_location": "L1" + }, + { + "id": "app_lib_cleanup_server_ts", + "label": "cleanup.server.ts", + "file_type": "code", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L1" + }, + { + "id": "cleanup_server_purgeexpireddeletedinvoices", + "label": "purgeExpiredDeletedInvoices()", + "file_type": "code", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L6" + }, + { + "id": "cleanup_server_startcleanupscheduler", + "label": "startCleanupScheduler()", + "file_type": "code", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L20" + }, + { + "id": "app_lib_prisma_server_ts", + "label": "prisma.server.ts", + "file_type": "code", + "source_file": "app/lib/prisma.server.ts", + "source_location": "L1" + }, + { + "id": "app_lib_utils_ts", + "label": "utils.ts", + "file_type": "code", + "source_file": "app/lib/utils.ts", + "source_location": "L1" + }, + { + "id": "utils_cn", + "label": "cn()", + "file_type": "code", + "source_file": "app/lib/utils.ts", + "source_location": "L4" + }, + { + "id": "app_lib_logger_server_ts", + "label": "logger.server.ts", + "file_type": "code", + "source_file": "app/lib/logger.server.ts", + "source_location": "L1" + }, + { + "id": "logger_server_log", + "label": "log()", + "file_type": "code", + "source_file": "app/lib/logger.server.ts", + "source_location": "L28" + }, + { + "id": "app_lib_rate_limiter_server_ts", + "label": "rate-limiter.server.ts", + "file_type": "code", + "source_file": "app/lib/rate-limiter.server.ts", + "source_location": "L1" + }, + { + "id": "rate_limiter_server_checkloginratelimit", + "label": "checkLoginRateLimit()", + "file_type": "code", + "source_file": "app/lib/rate-limiter.server.ts", + "source_location": "L9" + }, + { + "id": "app_lib_afa_ts", + "label": "afa.ts", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L1" + }, + { + "id": "afa_jahresafa", + "label": "jahresAfa()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L15" + }, + { + "id": "afa_erwerbsjahrafa", + "label": "erwerbsjahrAfa()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L20" + }, + { + "id": "afa_afafuerjahr", + "label": "afaFuerJahr()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L26" + }, + { + "id": "afa_kumulierteafa", + "label": "kumulierteAfa()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L43" + }, + { + "id": "afa_buchwert", + "label": "buchwert()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L53" + }, + { + "id": "afa_assetstatus", + "label": "assetStatus()", + "file_type": "code", + "source_file": "app/lib/afa.ts", + "source_location": "L61" + }, + { + "id": "app_lib_db_init_server_ts", + "label": "db-init.server.ts", + "file_type": "code", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L1" + }, + { + "id": "db_init_server_runmigrations", + "label": "runMigrations()", + "file_type": "code", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L10" + }, + { + "id": "db_init_server_initializedatabase", + "label": "initializeDatabase()", + "file_type": "code", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L28" + }, + { + "id": "db_init_server_checkdatabasehealth", + "label": "checkDatabaseHealth()", + "file_type": "code", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L55" + }, + { + "id": "app_routes_api_customers_ts", + "label": "api.customers.ts", + "file_type": "code", + "source_file": "app/routes/api.customers.ts", + "source_location": "L1" + }, + { + "id": "api_customers_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.customers.ts", + "source_location": "L6" + }, + { + "id": "app_routes_api_companies_id_buchungkategorien_ts", + "label": "api.companies.$id.buchungkategorien.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_buchungkategorien_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L10" + }, + { + "id": "api_companies_id_buchungkategorien_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L46" + }, + { + "id": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "label": "companies.$id.buchhaltung.ausgaben.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_ausgaben_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L49" + }, + { + "id": "companies_id_buchhaltung_ausgaben_loadyear", + "label": "loadYear()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L124" + }, + { + "id": "companies_id_buchhaltung_ausgaben_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L141" + }, + { + "id": "companies_id_buchhaltung_ausgaben_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L147" + }, + { + "id": "companies_id_buchhaltung_ausgaben_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L160" + }, + { + "id": "companies_id_buchhaltung_ausgaben_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L192" + }, + { + "id": "app_routes_api_reports_ts", + "label": "api.reports.ts", + "file_type": "code", + "source_file": "app/routes/api.reports.ts", + "source_location": "L1" + }, + { + "id": "api_reports_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.reports.ts", + "source_location": "L5" + }, + { + "id": "app_routes_admin_mandanten_tsx", + "label": "admin.mandanten.tsx", + "file_type": "code", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L1" + }, + { + "id": "admin_mandanten_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L8" + }, + { + "id": "app_routes_companies_id_buchhaltung_money_tsx", + "label": "companies.$id.buchhaltung.money.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_money_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L23" + }, + { + "id": "companies_id_buchhaltung_money_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L86" + }, + { + "id": "companies_id_buchhaltung_money_opencreateumbuchung", + "label": "openCreateUmbuchung()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L100" + }, + { + "id": "companies_id_buchhaltung_money_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L114" + }, + { + "id": "companies_id_buchhaltung_money_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L126" + }, + { + "id": "companies_id_buchhaltung_money_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L176" + }, + { + "id": "app_routes_companies_new_tsx", + "label": "companies.new.tsx", + "file_type": "code", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L1" + }, + { + "id": "companies_new_newcompanypage", + "label": "NewCompanyPage()", + "file_type": "code", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L14" + }, + { + "id": "app_routes_companies_id_invoices_tsx", + "label": "companies.$id.invoices.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_invoices_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L19" + }, + { + "id": "companies_id_invoices_groupbyyear", + "label": "groupByYear()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L48" + }, + { + "id": "companies_id_invoices_invoicerow", + "label": "InvoiceRow()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L58" + }, + { + "id": "companies_id_invoices_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L133" + }, + { + "id": "app_routes_companies_id_reports_tsx", + "label": "companies.$id.reports.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_reports_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L17" + }, + { + "id": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "label": "companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L27" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_reload", + "label": "reload()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L87" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L93" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L100" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L107" + }, + { + "id": "companies_id_buchhaltung_einnahmen_kategorien_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L134" + }, + { + "id": "app_routes_home_tsx", + "label": "home.tsx", + "file_type": "code", + "source_file": "app/routes/home.tsx", + "source_location": "L1" + }, + { + "id": "home_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/home.tsx", + "source_location": "L13" + }, + { + "id": "app_routes_api_invoices_id_ts", + "label": "api.invoices.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L1" + }, + { + "id": "api_invoices_id_getinvoice", + "label": "getInvoice()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L11" + }, + { + "id": "api_invoices_id_storageroot", + "label": "storageRoot()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L19" + }, + { + "id": "api_invoices_id_generateandsaveinvoicepdf", + "label": "generateAndSaveInvoicePDF()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L24" + }, + { + "id": "api_invoices_id_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L51" + }, + { + "id": "api_invoices_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L63" + }, + { + "id": "app_routes_companies_id_leistungen_tsx", + "label": "companies.$id.leistungen.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_leistungen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L42" + }, + { + "id": "companies_id_leistungen_togglesort", + "label": "toggleSort()", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L133" + }, + { + "id": "companies_id_leistungen_handlecreate", + "label": "handleCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L151" + }, + { + "id": "companies_id_leistungen_handleedit", + "label": "handleEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L161" + }, + { + "id": "companies_id_leistungen_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L172" + }, + { + "id": "app_routes_api_einnahmen_id_ts", + "label": "api.einnahmen.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L1" + }, + { + "id": "api_einnahmen_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L24" + }, + { + "id": "app_routes_admin_users_id_tsx", + "label": "admin.users.$id.tsx", + "file_type": "code", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L1" + }, + { + "id": "admin_users_id_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L18" + }, + { + "id": "admin_users_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L34" + }, + { + "id": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "label": "companies.$id.buchhaltung.bilanzen.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_bilanzen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L19" + }, + { + "id": "app_routes_archiv_tsx", + "label": "archiv.tsx", + "file_type": "code", + "source_file": "app/routes/archiv.tsx", + "source_location": "L1" + }, + { + "id": "archiv_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/archiv.tsx", + "source_location": "L12" + }, + { + "id": "archiv_restore", + "label": "restore()", + "file_type": "code", + "source_file": "app/routes/archiv.tsx", + "source_location": "L42" + }, + { + "id": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "label": "companies.$id.invoices.$invoiceId.edit.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_invoices_invoiceid_edit_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L31" + }, + { + "id": "companies_id_invoices_invoiceid_edit_editinvoicepage", + "label": "EditInvoicePage()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L97" + }, + { + "id": "app_routes_companies_id_invoices_invoiceid_tsx", + "label": "companies.$id.invoices.$invoiceId.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_invoices_invoiceid_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L21" + }, + { + "id": "companies_id_invoices_invoiceid_updatestatus", + "label": "updateStatus()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L104" + }, + { + "id": "companies_id_invoices_invoiceid_handlesoftdelete", + "label": "handleSoftDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L122" + }, + { + "id": "companies_id_invoices_invoiceid_handlerestore", + "label": "handleRestore()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L141" + }, + { + "id": "companies_id_invoices_invoiceid_handleharddelete", + "label": "handleHardDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L158" + }, + { + "id": "companies_id_invoices_invoiceid_downloadfile", + "label": "downloadFile()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L171" + }, + { + "id": "companies_id_invoices_invoiceid_downloadpdf", + "label": "downloadPdf()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L193" + }, + { + "id": "companies_id_invoices_invoiceid_downloadxml", + "label": "downloadXml()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L201" + }, + { + "id": "app_routes_api_einnahmen_id_upload_ts", + "label": "api.einnahmen.$id.upload.ts", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L1" + }, + { + "id": "api_einnahmen_id_upload_storageroot", + "label": "storageRoot()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L17" + }, + { + "id": "api_einnahmen_id_upload_parsebelegpath", + "label": "parseBelegPath()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L22" + }, + { + "id": "api_einnahmen_id_upload_removeuploadedfile", + "label": "removeUploadedFile()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L27" + }, + { + "id": "api_einnahmen_id_upload_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L37" + }, + { + "id": "app_routes_dashboard_layout_tsx", + "label": "dashboard-layout.tsx", + "file_type": "code", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L1" + }, + { + "id": "dashboard_layout_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L5" + }, + { + "id": "dashboard_layout_dashboardlayout", + "label": "DashboardLayout()", + "file_type": "code", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L10" + }, + { + "id": "app_routes_admin_users_tsx", + "label": "admin.users.tsx", + "file_type": "code", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L1" + }, + { + "id": "admin_users_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L6" + }, + { + "id": "app_routes_api_admin_companies_id_delete_ts", + "label": "api.admin.companies.$id.delete.ts", + "file_type": "code", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L1" + }, + { + "id": "api_admin_companies_id_delete_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L5" + }, + { + "id": "app_routes_companies_id_buchhaltung_tsx", + "label": "companies.$id.buchhaltung.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L14" + }, + { + "id": "companies_id_buchhaltung_buchhaltunglayout", + "label": "BuchhaltungLayout()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L66" + }, + { + "id": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "label": "companies.$id.buchhaltung.einnahmen.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_einnahmen_beleghref", + "label": "belegHref()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L14" + }, + { + "id": "companies_id_buchhaltung_einnahmen_belegdisplayname", + "label": "belegDisplayName()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L26" + }, + { + "id": "companies_id_buchhaltung_einnahmen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L73" + }, + { + "id": "companies_id_buchhaltung_einnahmen_handlequickupload", + "label": "handleQuickUpload()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L166" + }, + { + "id": "companies_id_buchhaltung_einnahmen_loadyear", + "label": "loadYear()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L190" + }, + { + "id": "companies_id_buchhaltung_einnahmen_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L208" + }, + { + "id": "companies_id_buchhaltung_einnahmen_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L216" + }, + { + "id": "companies_id_buchhaltung_einnahmen_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L232" + }, + { + "id": "companies_id_buchhaltung_einnahmen_handledeletebeleg", + "label": "handleDeleteBeleg()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L289" + }, + { + "id": "companies_id_buchhaltung_einnahmen_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L295" + }, + { + "id": "app_routes_companies_id_edit_tsx", + "label": "companies.$id.edit.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_edit_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L16" + }, + { + "id": "companies_id_edit_handlesubmit", + "label": "handleSubmit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L29" + }, + { + "id": "app_routes_api_einnahmen_ts", + "label": "api.einnahmen.ts", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L1" + }, + { + "id": "api_einnahmen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L27" + }, + { + "id": "api_einnahmen_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L84" + }, + { + "id": "app_routes_api_ausgaben_ts", + "label": "api.ausgaben.ts", + "file_type": "code", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L1" + }, + { + "id": "api_ausgaben_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L15" + }, + { + "id": "api_ausgaben_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L52" + }, + { + "id": "app_routes_login_tsx", + "label": "login.tsx", + "file_type": "code", + "source_file": "app/routes/login.tsx", + "source_location": "L1" + }, + { + "id": "login_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/login.tsx", + "source_location": "L10" + }, + { + "id": "login_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/login.tsx", + "source_location": "L16" + }, + { + "id": "app_routes_admin_layout_tsx", + "label": "admin-layout.tsx", + "file_type": "code", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L1" + }, + { + "id": "admin_layout_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L5" + }, + { + "id": "app_routes_api_companies_id_ts", + "label": "api.companies.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L6" + }, + { + "id": "api_companies_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L16" + }, + { + "id": "app_routes_companies_id_customers_tsx", + "label": "companies.$id.customers.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_customers_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L46" + }, + { + "id": "companies_id_customers_customerform", + "label": "CustomerForm()", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L61" + }, + { + "id": "companies_id_customers_handlecreate", + "label": "handleCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L122" + }, + { + "id": "companies_id_customers_handleedit", + "label": "handleEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L132" + }, + { + "id": "companies_id_customers_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L143" + }, + { + "id": "app_routes_api_ausgaben_id_ts", + "label": "api.ausgaben.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L1" + }, + { + "id": "api_ausgaben_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L14" + }, + { + "id": "app_routes_api_companies_id_customers_ts", + "label": "api.companies.$id.customers.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_customers_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L4" + }, + { + "id": "app_routes_api_companies_id_invoices_ts", + "label": "api.companies.$id.invoices.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_invoices_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L4" + }, + { + "id": "app_routes_api_companies_id_money_ts", + "label": "api.companies.$id.money.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_money_totransaction", + "label": "toTransaction()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L15" + }, + { + "id": "api_companies_id_money_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L28" + }, + { + "id": "api_companies_id_money_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L61" + }, + { + "id": "app_routes_api_anlagevermoegen_id_ts", + "label": "api.anlagevermoegen.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L1" + }, + { + "id": "api_anlagevermoegen_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L15" + }, + { + "id": "app_routes_api_invoices_id_pdf_ts", + "label": "api.invoices.$id.pdf.ts", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L1" + }, + { + "id": "api_invoices_id_pdf_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L4" + }, + { + "id": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "label": "companies.$id.buchhaltung.anlagevermoegen.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_enrichasset", + "label": "enrichAsset()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L44" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L76" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_loadyear", + "label": "loadYear()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L123" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L142" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L148" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L162" + }, + { + "id": "companies_id_buchhaltung_anlagevermoegen_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L196" + }, + { + "id": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "label": "companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L27" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_reload", + "label": "reload()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L87" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_opencreate", + "label": "openCreate()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L93" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_openedit", + "label": "openEdit()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L100" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_handlesave", + "label": "handleSave()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L107" + }, + { + "id": "companies_id_buchhaltung_ausgaben_kategorien_handledelete", + "label": "handleDelete()", + "file_type": "code", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L134" + }, + { + "id": "app_routes_admin_logs_tsx", + "label": "admin.logs.tsx", + "file_type": "code", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L1" + }, + { + "id": "admin_logs_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L35" + }, + { + "id": "app_routes_companies_id_invoices_new_tsx", + "label": "companies.$id.invoices.new.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_invoices_new_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L28" + }, + { + "id": "companies_id_invoices_new_newinvoicepage", + "label": "NewInvoicePage()", + "file_type": "code", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L70" + }, + { + "id": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "label": "api.companies.$id.buchungkategorien.$katId.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_buchungkategorien_katid_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L9" + }, + { + "id": "app_routes_api_companies_id_kategorien_ts", + "label": "api.companies.$id.kategorien.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L1" + }, + { + "id": "api_companies_id_kategorien_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L18" + }, + { + "id": "api_companies_id_kategorien_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L50" + }, + { + "id": "app_routes_admin_users_new_tsx", + "label": "admin.users.new.tsx", + "file_type": "code", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L1" + }, + { + "id": "admin_users_new_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L11" + }, + { + "id": "admin_users_new_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L16" + }, + { + "id": "app_routes_api_services_ts", + "label": "api.services.ts", + "file_type": "code", + "source_file": "app/routes/api.services.ts", + "source_location": "L1" + }, + { + "id": "api_services_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.services.ts", + "source_location": "L14" + }, + { + "id": "app_routes_companies_id_tsx", + "label": "companies.$id.tsx", + "file_type": "code", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L1" + }, + { + "id": "companies_id_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L50" + }, + { + "id": "companies_id_togglearchive", + "label": "toggleArchive()", + "file_type": "code", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L113" + }, + { + "id": "app_routes_api_anlagevermoegen_ts", + "label": "api.anlagevermoegen.ts", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L1" + }, + { + "id": "api_anlagevermoegen_toraw", + "label": "toRaw()", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L17" + }, + { + "id": "api_anlagevermoegen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L33" + }, + { + "id": "api_anlagevermoegen_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L72" + }, + { + "id": "app_routes_api_companies_ts", + "label": "api.companies.ts", + "file_type": "code", + "source_file": "app/routes/api.companies.ts", + "source_location": "L1" + }, + { + "id": "api_companies_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.companies.ts", + "source_location": "L7" + }, + { + "id": "api_companies_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.companies.ts", + "source_location": "L29" + }, + { + "id": "app_routes_api_bilanzen_ts", + "label": "api.bilanzen.ts", + "file_type": "code", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L1" + }, + { + "id": "api_bilanzen_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L5" + }, + { + "id": "app_routes_api_beleg_userid_filename_ts", + "label": "api.beleg.$userId.$filename.ts", + "file_type": "code", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L1" + }, + { + "id": "api_beleg_userid_filename_storageroot", + "label": "storageRoot()", + "file_type": "code", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L14" + }, + { + "id": "api_beleg_userid_filename_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L18" + }, + { + "id": "app_routes_companies_tsx", + "label": "companies.tsx", + "file_type": "code", + "source_file": "app/routes/companies.tsx", + "source_location": "L1" + }, + { + "id": "companies_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/companies.tsx", + "source_location": "L37" + }, + { + "id": "app_routes_logout_ts", + "label": "logout.ts", + "file_type": "code", + "source_file": "app/routes/logout.ts", + "source_location": "L1" + }, + { + "id": "logout_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/logout.ts", + "source_location": "L3" + }, + { + "id": "app_routes_api_customers_id_ts", + "label": "api.customers.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L1" + }, + { + "id": "api_customers_id_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L6" + }, + { + "id": "api_customers_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L18" + }, + { + "id": "app_routes_api_invoices_id_xml_ts", + "label": "api.invoices.$id.xml.ts", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L1" + }, + { + "id": "api_invoices_id_xml_tounitcode", + "label": "toUnitCode()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L12" + }, + { + "id": "api_invoices_id_xml_loader", + "label": "loader()", + "file_type": "code", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L23" + }, + { + "id": "app_routes_api_services_id_ts", + "label": "api.services.$id.ts", + "file_type": "code", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L1" + }, + { + "id": "api_services_id_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L13" + }, + { + "id": "app_routes_api_invoices_ts", + "label": "api.invoices.ts", + "file_type": "code", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L1" + }, + { + "id": "api_invoices_action", + "label": "action()", + "file_type": "code", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L45" + }, + { + "id": "app_components_debug_panel_tsx", + "label": "debug-panel.tsx", + "file_type": "code", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L1" + }, + { + "id": "debug_panel_debugpanel", + "label": "DebugPanel()", + "file_type": "code", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L9" + }, + { + "id": "app_components_company_company_form_tsx", + "label": "company-form.tsx", + "file_type": "code", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L1" + }, + { + "id": "company_form_handleformsubmit", + "label": "handleFormSubmit()", + "file_type": "code", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L112" + }, + { + "id": "app_components_invoice_invoice_pdf_tsx", + "label": "invoice-pdf.tsx", + "file_type": "code", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L1" + }, + { + "id": "invoice_pdf_formatmoney", + "label": "formatMoney()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L191" + }, + { + "id": "invoice_pdf_formatdate", + "label": "formatDate()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L195" + }, + { + "id": "invoice_pdf_n", + "label": "n()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L246" + }, + { + "id": "app_components_invoice_invoice_status_badge_tsx", + "label": "invoice-status-badge.tsx", + "file_type": "code", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L1" + }, + { + "id": "invoice_status_badge_invoicestatusbadge", + "label": "InvoiceStatusBadge()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L12" + }, + { + "id": "app_components_invoice_invoice_form_tsx", + "label": "invoice-form.tsx", + "file_type": "code", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L1" + }, + { + "id": "invoice_form_defaultitem", + "label": "defaultItem()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L57" + }, + { + "id": "invoice_form_invoiceform", + "label": "InvoiceForm()", + "file_type": "code", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L81" + }, + { + "id": "app_components_layout_sidebar_tsx", + "label": "sidebar.tsx", + "file_type": "code", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L1" + }, + { + "id": "sidebar_getinitials", + "label": "getInitials()", + "file_type": "code", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L16" + }, + { + "id": "app_components_layout_topbar_tsx", + "label": "topbar.tsx", + "file_type": "code", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L1" + }, + { + "id": "topbar_isbreadcrumbhandle", + "label": "isBreadcrumbHandle()", + "file_type": "code", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L13" + }, + { + "id": "topbar_getinitials", + "label": "getInitials()", + "file_type": "code", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L22" + }, + { + "id": "app_components_ui_button_tsx", + "label": "button.tsx", + "file_type": "code", + "source_file": "app/components/ui/button.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_select_tsx", + "label": "select.tsx", + "file_type": "code", + "source_file": "app/components/ui/select.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_badge_tsx", + "label": "badge.tsx", + "file_type": "code", + "source_file": "app/components/ui/badge.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_input_tsx", + "label": "input.tsx", + "file_type": "code", + "source_file": "app/components/ui/input.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_card_tsx", + "label": "card.tsx", + "file_type": "code", + "source_file": "app/components/ui/card.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_dialog_tsx", + "label": "dialog.tsx", + "file_type": "code", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L1" + }, + { + "id": "dialog_dialogheader", + "label": "DialogHeader()", + "file_type": "code", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L47" + }, + { + "id": "app_components_ui_tooltip_tsx", + "label": "tooltip.tsx", + "file_type": "code", + "source_file": "app/components/ui/tooltip.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_textarea_tsx", + "label": "textarea.tsx", + "file_type": "code", + "source_file": "app/components/ui/textarea.tsx", + "source_location": "L1" + }, + { + "id": "app_components_ui_label_tsx", + "label": "label.tsx", + "file_type": "code", + "source_file": "app/components/ui/label.tsx", + "source_location": "L1" + }, + { + "id": "app_types_index_ts", + "label": "index.ts", + "file_type": "code", + "source_file": "app/types/index.ts", + "source_location": "L1" + }, + { + "id": "scripts_setup_admin_ts", + "label": "setup-admin.ts", + "file_type": "code", + "source_file": "scripts/setup-admin.ts", + "source_location": "L1" + }, + { + "id": "setup_admin_generatepassword", + "label": "generatePassword()", + "file_type": "code", + "source_file": "scripts/setup-admin.ts", + "source_location": "L24" + }, + { + "id": "setup_admin_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/setup-admin.ts", + "source_location": "L31" + }, + { + "id": "scripts_setup_admin_js", + "label": "setup-admin.js", + "file_type": "code", + "source_file": "scripts/setup-admin.js", + "source_location": "L1" + }, + { + "id": "setup_admin_generatepassword", + "label": "generatePassword()", + "file_type": "code", + "source_file": "scripts/setup-admin.js", + "source_location": "L21" + }, + { + "id": "setup_admin_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/setup-admin.js", + "source_location": "L27" + } + ], + "edges": [ + { + "source": "react_router_config_ts", + "target": "config", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "react-router.config.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vitest_setup_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.setup.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vitest_config_ts", + "target": "config", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.config.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vitest_config_ts", + "target": "plugin_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.config.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "vitest_config_ts", + "target": "vite_tsconfig_paths", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.config.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "vite_config_ts", + "target": "vite", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vite.config.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vite_config_ts", + "target": "vite", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vite.config.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "vite_config_ts", + "target": "vite_tsconfig_paths", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vite.config.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "prisma_seed_js", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.js", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "prisma_seed_js", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prisma_seed_js", + "target": "seed_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.js", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "prisma_seed_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "prisma_seed_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prisma_seed_ts", + "target": "seed_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "tests_lib_buchungen_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/buchungen.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_kategorie_defaults_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/kategorie-defaults.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_kategorie_defaults_test_ts", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/kategorie-defaults.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_einnahmen_ausgaben_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/einnahmen-ausgaben.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_einnahmen_ausgaben_test_ts", + "target": "einnahmen", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/einnahmen-ausgaben.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_einnahmen_ausgaben_test_ts", + "target": "ausgaben", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/einnahmen-ausgaben.test.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "tests_lib_invoice_number_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/invoice-number.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_invoice_number_test_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/invoice-number.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_invoice_number_test_ts", + "target": "invoice_number_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/invoice-number.test.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "tests_lib_afa_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/afa.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_afa_test_ts", + "target": "afa", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/afa.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_schemas_test_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/schemas.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_client_validation_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/client-validation.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_client_validation_test_ts", + "target": "client_validation", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/client-validation.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_tax_test_ts", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/tax.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "tests_integration_setup", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "api_test_dbtest", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L58", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "child_process", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_setuptestdatabase", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_cleanuptestdatabase", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L48", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_createtestuser", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L71", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_createtestcompany", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L89", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_createtestcustomer", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L105", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_getauthheaders", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L122", + "weight": 1.0 + }, + { + "source": "tests_integration_api_simple_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api-simple.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "invoice_status_badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_toggleclass", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_makecurrent", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_gotoprevious", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L41", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_gotonext", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L52", + "weight": 1.0 + }, + { + "source": "block_navigation_makecurrent", + "target": "block_navigation_toggleclass", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L32", + "weight": 1.0 + }, + { + "source": "block_navigation_gotoprevious", + "target": "block_navigation_makecurrent", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L49", + "weight": 1.0 + }, + { + "source": "block_navigation_gotonext", + "target": "block_navigation_makecurrent", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L62", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_gettable", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_gettableheader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_gettablebody", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_getnthcolumn", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_onfilterinput", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_addsearchbox", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L59", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_loadcolumns", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L67", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_loadrowdata", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L92", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_loaddata", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L111", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_sortbyindex", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L120", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_removesortindicators", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L151", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_addsortindicators", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L159", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_enableui", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L165", + "weight": 1.0 + }, + { + "source": "sorter_gettableheader", + "target": "sorter_gettable", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "sorter_gettablebody", + "target": "sorter_gettable", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "sorter_getnthcolumn", + "target": "sorter_gettableheader", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "sorter_loadcolumns", + "target": "sorter_gettableheader", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L68", + "weight": 1.0 + }, + { + "source": "sorter_loaddata", + "target": "sorter_gettablebody", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L112", + "weight": 1.0 + }, + { + "source": "sorter_loaddata", + "target": "sorter_loadrowdata", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L116", + "weight": 1.0 + }, + { + "source": "sorter_removesortindicators", + "target": "sorter_getnthcolumn", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L152", + "weight": 1.0 + }, + { + "source": "sorter_addsortindicators", + "target": "sorter_getnthcolumn", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L160", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_sortbyindex", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L177", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_removesortindicators", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L178", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_addsortindicators", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L181", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_getnthcolumn", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L188", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_k", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_a", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_b", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_o", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_g", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_i", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_q", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_d", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_c", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_q", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_d", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_y", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_b", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_g", + "target": "prettify_k", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_g", + "target": "prettify_b", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_g", + "target": "prettify_q", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_i", + "target": "prettify_g", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_d", + "target": "prettify_a", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_d", + "target": "prettify_q", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_y", + "target": "prettify_q", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_y", + "target": "prettify_d", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_b", + "target": "prettify_y", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "crypto", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_login", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L30", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_createusersession", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L59", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_getusersession", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L74", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_requireuser", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L95", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_requireadmin", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L101", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_getapiuser", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L107", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_logout", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L112", + "weight": 1.0 + }, + { + "source": "session_server_requireuser", + "target": "session_server_getusersession", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L96", + "weight": 1.0 + }, + { + "source": "session_server_requireadmin", + "target": "session_server_requireuser", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L102", + "weight": 1.0 + }, + { + "source": "session_server_getapiuser", + "target": "session_server_getusersession", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L108", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "app_lib_cleanup_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "app_lib_db_init_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "app_lib_error_logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "node_stream", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "node", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "isbot", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_root_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/root.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_root_tsx", + "target": "app_app_css", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/root.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_root_tsx", + "target": "app_components_debug_panel", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/root.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_ts", + "target": "routes", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_isdebugmode", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_setdebugmode", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_debuglog", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatetaxid", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L51", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatevatid", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L62", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validateiban", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L73", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatebic", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L84", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatewebsite", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L95", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatecompanyform", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L126", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_handleapierror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L219", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_getfielderror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L234", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_hasfielderror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L242", + "weight": 1.0 + }, + { + "source": "client_validation_debuglog", + "target": "client_validation_isdebugmode", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatetaxid", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L160", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatevatid", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L165", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatewebsite", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L170", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validateiban", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L175", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatebic", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L180", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_debuglog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L208", + "weight": 1.0 + }, + { + "source": "client_validation_handleapierror", + "target": "client_validation_debuglog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L220", + "weight": 1.0 + }, + { + "source": "app_lib_invoice_number_server_ts", + "target": "app_lib_prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/invoice-number.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_invoice_number_server_ts", + "target": "invoice_number_server_generateinvoicenumber", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/invoice-number.server.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_calcitemamounts", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_calcitemamountskleinunternehmer", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_calcinvoicetotals", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_formatcurrency", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L39", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_formatdate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L46", + "weight": 1.0 + }, + { + "source": "app_lib_schemas_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/schemas.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_schemas_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/schemas.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_extracterrorinfo", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L33", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_extractrequestcontext", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L59", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_builderrorlogentry", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L82", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_formaterrorlog", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L108", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logrouteerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L138", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logactionerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L151", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logdatabaseerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L170", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logapierror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L187", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logstartuperror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L207", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L218", + "weight": 1.0 + }, + { + "source": "error_logger_server_builderrorlogentry", + "target": "error_logger_server_extracterrorinfo", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L87", + "weight": 1.0 + }, + { + "source": "error_logger_server_builderrorlogentry", + "target": "error_logger_server_extractrequestcontext", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L88", + "weight": 1.0 + }, + { + "source": "error_logger_server_logrouteerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L142", + "weight": 1.0 + }, + { + "source": "error_logger_server_logrouteerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L144", + "weight": 1.0 + }, + { + "source": "error_logger_server_logactionerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L155", + "weight": 1.0 + }, + { + "source": "error_logger_server_logactionerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L163", + "weight": 1.0 + }, + { + "source": "error_logger_server_logdatabaseerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L175", + "weight": 1.0 + }, + { + "source": "error_logger_server_logdatabaseerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L180", + "weight": 1.0 + }, + { + "source": "error_logger_server_logapierror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L191", + "weight": 1.0 + }, + { + "source": "error_logger_server_logapierror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L200", + "weight": 1.0 + }, + { + "source": "error_logger_server_logstartuperror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L208", + "weight": 1.0 + }, + { + "source": "error_logger_server_logstartuperror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L211", + "weight": 1.0 + }, + { + "source": "error_logger_server_logerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L223", + "weight": 1.0 + }, + { + "source": "error_logger_server_logerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L225", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "node_cron", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "cleanup_server_purgeexpireddeletedinvoices", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "cleanup_server_startcleanupscheduler", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "cleanup_server_startcleanupscheduler", + "target": "cleanup_server_purgeexpireddeletedinvoices", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_lib_prisma_server_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/prisma.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_utils_ts", + "target": "clsx", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/utils.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_utils_ts", + "target": "tailwind_merge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/utils.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_utils_ts", + "target": "utils_cn", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/utils.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_lib_logger_server_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/logger.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_logger_server_ts", + "target": "logger_server_log", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/logger.server.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_lib_rate_limiter_server_ts", + "target": "rate_limiter_flexible", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/rate-limiter.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_rate_limiter_server_ts", + "target": "rate_limiter_server_checkloginratelimit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/rate-limiter.server.ts", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_jahresafa", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_erwerbsjahrafa", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_afafuerjahr", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_kumulierteafa", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L43", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_buchwert", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L53", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_assetstatus", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L61", + "weight": 1.0 + }, + { + "source": "afa_erwerbsjahrafa", + "target": "afa_jahresafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "afa_afafuerjahr", + "target": "afa_erwerbsjahrafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L38", + "weight": 1.0 + }, + { + "source": "afa_afafuerjahr", + "target": "afa_jahresafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L39", + "weight": 1.0 + }, + { + "source": "afa_kumulierteafa", + "target": "afa_afafuerjahr", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L47", + "weight": 1.0 + }, + { + "source": "afa_buchwert", + "target": "afa_kumulierteafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L56", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "node_child_process", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "app_lib_prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "db_init_server_runmigrations", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "db_init_server_initializedatabase", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "db_init_server_checkdatabasehealth", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L55", + "weight": 1.0 + }, + { + "source": "db_init_server_initializedatabase", + "target": "db_init_server_runmigrations", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L42", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "api_customers_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "api_companies_id_buchungkategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "api_companies_id_buchungkategorien_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L46", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L49", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_loadyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L124", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L141", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L147", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L160", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L192", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_handlesave", + "target": "companies_id_buchhaltung_ausgaben_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L185", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_handledelete", + "target": "companies_id_buchhaltung_ausgaben_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L197", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "api_reports_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "admin_mandanten_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L86", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_opencreateumbuchung", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L100", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L114", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L126", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L176", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "company_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "companies_new_newcompanypage", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "invoice_status_badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_groupbyyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L48", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_invoicerow", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L58", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L133", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "companies_id_reports_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L87", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L93", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L100", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L107", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L134", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_kategorien_handlesave", + "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L127", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_kategorien_handledelete", + "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L144", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "home_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "invoice_number_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "promises", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "node_path", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_getinvoice", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_storageroot", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_generateandsaveinvoicepdf", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L51", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L63", + "weight": 1.0 + }, + { + "source": "api_invoices_id_generateandsaveinvoicepdf", + "target": "api_invoices_id_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L38", + "weight": 1.0 + }, + { + "source": "api_invoices_id_loader", + "target": "api_invoices_id_getinvoice", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L55", + "weight": 1.0 + }, + { + "source": "api_invoices_id_action", + "target": "api_invoices_id_getinvoice", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L67", + "weight": 1.0 + }, + { + "source": "api_invoices_id_action", + "target": "api_invoices_id_generateandsaveinvoicepdf", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L187", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "select", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L42", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_togglesort", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L133", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_handlecreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L151", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_handleedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L161", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L172", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "api_einnahmen_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "admin_users_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "admin_users_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L34", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "ausgaben", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "companies_id_buchhaltung_bilanzen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "archiv_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "archiv_restore", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L42", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "invoice_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "companies_id_invoices_invoiceid_edit_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "companies_id_invoices_invoiceid_edit_editinvoicepage", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L97", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "invoice_status_badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_updatestatus", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L104", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_handlesoftdelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L122", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_handlerestore", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L141", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_handleharddelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L158", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_downloadfile", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L171", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_downloadpdf", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L193", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_downloadxml", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L201", + "weight": 1.0 + }, + { + "source": "companies_id_invoices_invoiceid_downloadpdf", + "target": "companies_id_invoices_invoiceid_downloadfile", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L194", + "weight": 1.0 + }, + { + "source": "companies_id_invoices_invoiceid_downloadxml", + "target": "companies_id_invoices_invoiceid_downloadfile", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L202", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "promises", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "node_path", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_storageroot", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_parsebelegpath", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_removeuploadedfile", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L37", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_removeuploadedfile", + "target": "api_einnahmen_id_upload_parsebelegpath", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_removeuploadedfile", + "target": "api_einnahmen_id_upload_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_action", + "target": "api_einnahmen_id_upload_removeuploadedfile", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L55", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_action", + "target": "api_einnahmen_id_upload_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L98", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "topbar", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "dashboard_layout_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "dashboard_layout_dashboardlayout", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "admin_users_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "api_admin_companies_id_delete_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "companies_id_buchhaltung_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "companies_id_buchhaltung_buchhaltunglayout", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L66", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_beleghref", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_belegdisplayname", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L73", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handlequickupload", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L166", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L190", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L208", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L216", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L232", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handledeletebeleg", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L289", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L295", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handlequickupload", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L175", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handlesave", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L279", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handledeletebeleg", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L291", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handledelete", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L300", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "company_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "companies_id_edit_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "companies_id_edit_handlesubmit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L29", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "api_einnahmen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "api_einnahmen_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L84", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "api_ausgaben_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "api_ausgaben_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L52", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "rate_limiter_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "login_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "login_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "admin_layout_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "api_companies_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "api_companies_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L46", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_customerform", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L61", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_handlecreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L122", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_handleedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L132", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L143", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "api_ausgaben_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_customers_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_customers_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_customers_ts", + "target": "api_companies_id_customers_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_invoices_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_invoices_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_invoices_ts", + "target": "api_companies_id_invoices_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "api_companies_id_money_totransaction", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "api_companies_id_money_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "api_companies_id_money_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L61", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "api_anlagevermoegen_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_pdf_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_pdf_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_pdf_ts", + "target": "api_invoices_id_pdf_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "afa", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_enrichasset", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L44", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L76", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L123", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L142", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L148", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L162", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L196", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_anlagevermoegen_handlesave", + "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L189", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_anlagevermoegen_handledelete", + "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L201", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L87", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L93", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L100", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L107", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L134", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_kategorien_handlesave", + "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L127", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_kategorien_handledelete", + "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L144", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "admin_logs_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L35", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "invoice_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "companies_id_invoices_new_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "companies_id_invoices_new_newinvoicepage", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L70", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "api_companies_id_buchungkategorien_katid_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "api_companies_id_kategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "api_companies_id_kategorien_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L50", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "admin_users_new_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "admin_users_new_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "api_services_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "companies_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L50", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "companies_id_togglearchive", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L113", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "afa", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "api_anlagevermoegen_toraw", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "api_anlagevermoegen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L33", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "api_anlagevermoegen_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L72", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "error_logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "api_companies_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "api_companies_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L29", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "api_bilanzen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "promises", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "node_path", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "api_beleg_userid_filename_storageroot", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "api_beleg_userid_filename_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "api_beleg_userid_filename_loader", + "target": "api_beleg_userid_filename_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L33", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "companies_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L37", + "weight": 1.0 + }, + { + "source": "app_routes_logout_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/logout.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_logout_ts", + "target": "logout_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/logout.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "api_customers_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "api_customers_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "api_invoices_id_xml_tounitcode", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "api_invoices_id_xml_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "api_services_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "invoice_number_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "api_invoices_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L45", + "weight": 1.0 + }, + { + "source": "app_components_debug_panel_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_components_debug_panel_tsx", + "target": "client_validation", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_components_debug_panel_tsx", + "target": "debug_panel_debugpanel", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "client_validation", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "company_form_handleformsubmit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L112", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "renderer", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "invoice_pdf_formatmoney", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L191", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "invoice_pdf_formatdate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L195", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "invoice_pdf_n", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L246", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_status_badge_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_status_badge_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_status_badge_tsx", + "target": "invoice_status_badge_invoicestatusbadge", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "textarea", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "select", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "invoice_form_defaultitem", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L57", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "invoice_form_invoiceform", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L81", + "weight": 1.0 + }, + { + "source": "invoice_form_invoiceform", + "target": "invoice_form_defaultitem", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L95", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "sidebar_getinitials", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "topbar_isbreadcrumbhandle", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "topbar_getinitials", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "react_slot", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "class_variance_authority", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "react_select", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_badge_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/badge.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_badge_tsx", + "target": "class_variance_authority", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/badge.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_badge_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/badge.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_input_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/input.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_input_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/input.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_card_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/card.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_card_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/card.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "react_dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "dialog_dialogheader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L47", + "weight": 1.0 + }, + { + "source": "app_components_ui_tooltip_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/tooltip.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_tooltip_tsx", + "target": "react_tooltip", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/tooltip.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_tooltip_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/tooltip.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_textarea_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/textarea.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_textarea_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/textarea.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_label_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/label.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_label_tsx", + "target": "react_label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/label.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_label_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/label.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "crypto", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "setup_admin_generatepassword", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "setup_admin_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "setup_admin_main", + "target": "setup_admin_generatepassword", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L53", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "crypto", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "setup_admin_generatepassword", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "setup_admin_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "setup_admin_main", + "target": "setup_admin_generatepassword", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L46", + "weight": 1.0 + }, + { + "source": "react_router_config_ts", + "target": "config", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "react-router.config.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vitest_setup_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.setup.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vitest_config_ts", + "target": "config", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.config.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vitest_config_ts", + "target": "plugin_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.config.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "vitest_config_ts", + "target": "vite_tsconfig_paths", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vitest.config.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "vite_config_ts", + "target": "vite", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vite.config.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "vite_config_ts", + "target": "vite", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vite.config.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "vite_config_ts", + "target": "vite_tsconfig_paths", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "vite.config.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "prisma_seed_js", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.js", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "prisma_seed_js", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prisma_seed_js", + "target": "seed_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.js", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "prisma_seed_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "prisma_seed_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prisma_seed_ts", + "target": "seed_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "prisma/seed.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "tests_lib_buchungen_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/buchungen.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_kategorie_defaults_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/kategorie-defaults.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_kategorie_defaults_test_ts", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/kategorie-defaults.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_einnahmen_ausgaben_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/einnahmen-ausgaben.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_einnahmen_ausgaben_test_ts", + "target": "einnahmen", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/einnahmen-ausgaben.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_einnahmen_ausgaben_test_ts", + "target": "ausgaben", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/einnahmen-ausgaben.test.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "tests_lib_invoice_number_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/invoice-number.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_invoice_number_test_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/invoice-number.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_invoice_number_test_ts", + "target": "invoice_number_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/invoice-number.test.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "tests_lib_afa_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/afa.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_afa_test_ts", + "target": "afa", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/afa.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_schemas_test_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/schemas.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_client_validation_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/client-validation.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_lib_client_validation_test_ts", + "target": "client_validation", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/client-validation.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_lib_tax_test_ts", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/lib/tax.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "tests_integration_setup", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "tests_integration_api_test_ts", + "target": "api_test_dbtest", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api.test.ts", + "source_location": "L58", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "child_process", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_setuptestdatabase", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_cleanuptestdatabase", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L48", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_createtestuser", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L71", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_createtestcompany", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L89", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_createtestcustomer", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L105", + "weight": 1.0 + }, + { + "source": "tests_integration_setup_ts", + "target": "setup_getauthheaders", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/integration/setup.ts", + "source_location": "L122", + "weight": 1.0 + }, + { + "source": "tests_integration_api_simple_test_ts", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/integration/api-simple.test.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "vitest", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "invoice_status_badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "tests_components_invoice_status_badge_test_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "tests/components/invoice-status-badge.test.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_toggleclass", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_makecurrent", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_gotoprevious", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L41", + "weight": 1.0 + }, + { + "source": "coverage_block_navigation_js", + "target": "block_navigation_gotonext", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L52", + "weight": 1.0 + }, + { + "source": "block_navigation_makecurrent", + "target": "block_navigation_toggleclass", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L32", + "weight": 1.0 + }, + { + "source": "block_navigation_gotoprevious", + "target": "block_navigation_makecurrent", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L49", + "weight": 1.0 + }, + { + "source": "block_navigation_gotonext", + "target": "block_navigation_makecurrent", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/block-navigation.js", + "source_location": "L62", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_gettable", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_gettableheader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_gettablebody", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_getnthcolumn", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_onfilterinput", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_addsearchbox", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L59", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_loadcolumns", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L67", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_loadrowdata", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L92", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_loaddata", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L111", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_sortbyindex", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L120", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_removesortindicators", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L151", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_addsortindicators", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L159", + "weight": 1.0 + }, + { + "source": "coverage_sorter_js", + "target": "sorter_enableui", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L165", + "weight": 1.0 + }, + { + "source": "sorter_gettableheader", + "target": "sorter_gettable", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "sorter_gettablebody", + "target": "sorter_gettable", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "sorter_getnthcolumn", + "target": "sorter_gettableheader", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "sorter_loadcolumns", + "target": "sorter_gettableheader", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L68", + "weight": 1.0 + }, + { + "source": "sorter_loaddata", + "target": "sorter_gettablebody", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L112", + "weight": 1.0 + }, + { + "source": "sorter_loaddata", + "target": "sorter_loadrowdata", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L116", + "weight": 1.0 + }, + { + "source": "sorter_removesortindicators", + "target": "sorter_getnthcolumn", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L152", + "weight": 1.0 + }, + { + "source": "sorter_addsortindicators", + "target": "sorter_getnthcolumn", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L160", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_sortbyindex", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L177", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_removesortindicators", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L178", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_addsortindicators", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L181", + "weight": 1.0 + }, + { + "source": "sorter_enableui", + "target": "sorter_getnthcolumn", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/sorter.js", + "source_location": "L188", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_k", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_a", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_b", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_o", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_g", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_i", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_q", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_d", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_c", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_q", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_d", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_y", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "coverage_prettify_js", + "target": "prettify_b", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_g", + "target": "prettify_k", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_g", + "target": "prettify_b", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_g", + "target": "prettify_q", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_i", + "target": "prettify_g", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_d", + "target": "prettify_a", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_d", + "target": "prettify_q", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_y", + "target": "prettify_q", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_y", + "target": "prettify_d", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "prettify_b", + "target": "prettify_y", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "coverage/prettify.js", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "crypto", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_login", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L30", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_createusersession", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L59", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_getusersession", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L74", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_requireuser", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L95", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_requireadmin", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L101", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_getapiuser", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L107", + "weight": 1.0 + }, + { + "source": "app_session_server_ts", + "target": "session_server_logout", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L112", + "weight": 1.0 + }, + { + "source": "session_server_requireuser", + "target": "session_server_getusersession", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L96", + "weight": 1.0 + }, + { + "source": "session_server_requireadmin", + "target": "session_server_requireuser", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L102", + "weight": 1.0 + }, + { + "source": "session_server_getapiuser", + "target": "session_server_getusersession", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/session.server.ts", + "source_location": "L108", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "app_lib_cleanup_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "app_lib_db_init_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "app_lib_error_logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "node_stream", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "node", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "isbot", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_entry_server_tsx", + "target": "server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/entry.server.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_root_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/root.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_root_tsx", + "target": "app_app_css", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/root.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_root_tsx", + "target": "app_components_debug_panel", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/root.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_ts", + "target": "routes", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_isdebugmode", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_setdebugmode", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_debuglog", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatetaxid", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L51", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatevatid", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L62", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validateiban", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L73", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatebic", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L84", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatewebsite", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L95", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_validatecompanyform", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L126", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_handleapierror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L219", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_getfielderror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L234", + "weight": 1.0 + }, + { + "source": "app_lib_client_validation_ts", + "target": "client_validation_hasfielderror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L242", + "weight": 1.0 + }, + { + "source": "client_validation_debuglog", + "target": "client_validation_isdebugmode", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatetaxid", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L160", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatevatid", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L165", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatewebsite", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L170", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validateiban", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L175", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_validatebic", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L180", + "weight": 1.0 + }, + { + "source": "client_validation_validatecompanyform", + "target": "client_validation_debuglog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L208", + "weight": 1.0 + }, + { + "source": "client_validation_handleapierror", + "target": "client_validation_debuglog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/client-validation.ts", + "source_location": "L220", + "weight": 1.0 + }, + { + "source": "app_lib_invoice_number_server_ts", + "target": "app_lib_prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/invoice-number.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_invoice_number_server_ts", + "target": "invoice_number_server_generateinvoicenumber", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/invoice-number.server.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_calcitemamounts", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_calcitemamountskleinunternehmer", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_calcinvoicetotals", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_formatcurrency", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L39", + "weight": 1.0 + }, + { + "source": "app_lib_tax_ts", + "target": "tax_formatdate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/tax.ts", + "source_location": "L46", + "weight": 1.0 + }, + { + "source": "app_lib_schemas_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/schemas.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_schemas_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/schemas.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_extracterrorinfo", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L33", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_extractrequestcontext", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L59", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_builderrorlogentry", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L82", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_formaterrorlog", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L108", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logrouteerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L138", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logactionerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L151", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logdatabaseerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L170", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logapierror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L187", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logstartuperror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L207", + "weight": 1.0 + }, + { + "source": "app_lib_error_logger_server_ts", + "target": "error_logger_server_logerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L218", + "weight": 1.0 + }, + { + "source": "error_logger_server_builderrorlogentry", + "target": "error_logger_server_extracterrorinfo", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L87", + "weight": 1.0 + }, + { + "source": "error_logger_server_builderrorlogentry", + "target": "error_logger_server_extractrequestcontext", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L88", + "weight": 1.0 + }, + { + "source": "error_logger_server_logrouteerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L142", + "weight": 1.0 + }, + { + "source": "error_logger_server_logrouteerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L144", + "weight": 1.0 + }, + { + "source": "error_logger_server_logactionerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L155", + "weight": 1.0 + }, + { + "source": "error_logger_server_logactionerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L163", + "weight": 1.0 + }, + { + "source": "error_logger_server_logdatabaseerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L175", + "weight": 1.0 + }, + { + "source": "error_logger_server_logdatabaseerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L180", + "weight": 1.0 + }, + { + "source": "error_logger_server_logapierror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L191", + "weight": 1.0 + }, + { + "source": "error_logger_server_logapierror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L200", + "weight": 1.0 + }, + { + "source": "error_logger_server_logstartuperror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L208", + "weight": 1.0 + }, + { + "source": "error_logger_server_logstartuperror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L211", + "weight": 1.0 + }, + { + "source": "error_logger_server_logerror", + "target": "error_logger_server_builderrorlogentry", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L223", + "weight": 1.0 + }, + { + "source": "error_logger_server_logerror", + "target": "error_logger_server_formaterrorlog", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/error-logger.server.ts", + "source_location": "L225", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "node_cron", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "cleanup_server_purgeexpireddeletedinvoices", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_lib_cleanup_server_ts", + "target": "cleanup_server_startcleanupscheduler", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "cleanup_server_startcleanupscheduler", + "target": "cleanup_server_purgeexpireddeletedinvoices", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/cleanup.server.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_lib_prisma_server_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/prisma.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_utils_ts", + "target": "clsx", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/utils.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_utils_ts", + "target": "tailwind_merge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/utils.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_utils_ts", + "target": "utils_cn", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/utils.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_lib_logger_server_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/logger.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_logger_server_ts", + "target": "logger_server_log", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/logger.server.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_lib_rate_limiter_server_ts", + "target": "rate_limiter_flexible", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/rate-limiter.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_rate_limiter_server_ts", + "target": "rate_limiter_server_checkloginratelimit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/rate-limiter.server.ts", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_jahresafa", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_erwerbsjahrafa", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_afafuerjahr", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_kumulierteafa", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L43", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_buchwert", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L53", + "weight": 1.0 + }, + { + "source": "app_lib_afa_ts", + "target": "afa_assetstatus", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L61", + "weight": 1.0 + }, + { + "source": "afa_erwerbsjahrafa", + "target": "afa_jahresafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "afa_afafuerjahr", + "target": "afa_erwerbsjahrafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L38", + "weight": 1.0 + }, + { + "source": "afa_afafuerjahr", + "target": "afa_jahresafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L39", + "weight": 1.0 + }, + { + "source": "afa_kumulierteafa", + "target": "afa_afafuerjahr", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L47", + "weight": 1.0 + }, + { + "source": "afa_buchwert", + "target": "afa_kumulierteafa", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/afa.ts", + "source_location": "L56", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "node_child_process", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "app_lib_prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "db_init_server_runmigrations", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "db_init_server_initializedatabase", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_lib_db_init_server_ts", + "target": "db_init_server_checkdatabasehealth", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L55", + "weight": 1.0 + }, + { + "source": "db_init_server_initializedatabase", + "target": "db_init_server_runmigrations", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/lib/db-init.server.ts", + "source_location": "L42", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_ts", + "target": "api_customers_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "api_companies_id_buchungkategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_ts", + "target": "api_companies_id_buchungkategorien_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.ts", + "source_location": "L46", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L49", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_loadyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L124", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L141", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L147", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L160", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_tsx", + "target": "companies_id_buchhaltung_ausgaben_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L192", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_handlesave", + "target": "companies_id_buchhaltung_ausgaben_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L185", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_handledelete", + "target": "companies_id_buchhaltung_ausgaben_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.tsx", + "source_location": "L197", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_reports_ts", + "target": "api_reports_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.reports.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_admin_mandanten_tsx", + "target": "admin_mandanten_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.mandanten.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L86", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_opencreateumbuchung", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L100", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L114", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L126", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_money_tsx", + "target": "companies_id_buchhaltung_money_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.money.tsx", + "source_location": "L176", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "company_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_new_tsx", + "target": "companies_new_newcompanypage", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.new.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "invoice_status_badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_groupbyyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L48", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_invoicerow", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L58", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_tsx", + "target": "companies_id_invoices_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.tsx", + "source_location": "L133", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_reports_tsx", + "target": "companies_id_reports_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.reports.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L87", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L93", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L100", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L107", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_kategorien_tsx", + "target": "companies_id_buchhaltung_einnahmen_kategorien_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L134", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_kategorien_handlesave", + "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L127", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_kategorien_handledelete", + "target": "companies_id_buchhaltung_einnahmen_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.kategorien.tsx", + "source_location": "L144", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_home_tsx", + "target": "home_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/home.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "invoice_number_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "promises", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "node_path", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_getinvoice", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_storageroot", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_generateandsaveinvoicepdf", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L51", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_ts", + "target": "api_invoices_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L63", + "weight": 1.0 + }, + { + "source": "api_invoices_id_generateandsaveinvoicepdf", + "target": "api_invoices_id_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L38", + "weight": 1.0 + }, + { + "source": "api_invoices_id_loader", + "target": "api_invoices_id_getinvoice", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L55", + "weight": 1.0 + }, + { + "source": "api_invoices_id_action", + "target": "api_invoices_id_getinvoice", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L67", + "weight": 1.0 + }, + { + "source": "api_invoices_id_action", + "target": "api_invoices_id_generateandsaveinvoicepdf", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.ts", + "source_location": "L187", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "select", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L42", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_togglesort", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L133", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_handlecreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L151", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_handleedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L161", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_leistungen_tsx", + "target": "companies_id_leistungen_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.leistungen.tsx", + "source_location": "L172", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_ts", + "target": "api_einnahmen_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "admin_users_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_id_tsx", + "target": "admin_users_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.$id.tsx", + "source_location": "L34", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "ausgaben", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_bilanzen_tsx", + "target": "companies_id_buchhaltung_bilanzen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.bilanzen.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "archiv_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_archiv_tsx", + "target": "archiv_restore", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/archiv.tsx", + "source_location": "L42", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "invoice_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "companies_id_invoices_invoiceid_edit_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_edit_tsx", + "target": "companies_id_invoices_invoiceid_edit_editinvoicepage", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.edit.tsx", + "source_location": "L97", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "invoice_status_badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_updatestatus", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L104", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_handlesoftdelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L122", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_handlerestore", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L141", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_handleharddelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L158", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_downloadfile", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L171", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_downloadpdf", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L193", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_invoiceid_tsx", + "target": "companies_id_invoices_invoiceid_downloadxml", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L201", + "weight": 1.0 + }, + { + "source": "companies_id_invoices_invoiceid_downloadpdf", + "target": "companies_id_invoices_invoiceid_downloadfile", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L194", + "weight": 1.0 + }, + { + "source": "companies_id_invoices_invoiceid_downloadxml", + "target": "companies_id_invoices_invoiceid_downloadfile", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.$invoiceId.tsx", + "source_location": "L202", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "promises", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "node_path", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_storageroot", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_parsebelegpath", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_removeuploadedfile", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_id_upload_ts", + "target": "api_einnahmen_id_upload_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L37", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_removeuploadedfile", + "target": "api_einnahmen_id_upload_parsebelegpath", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_removeuploadedfile", + "target": "api_einnahmen_id_upload_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_action", + "target": "api_einnahmen_id_upload_removeuploadedfile", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L55", + "weight": 1.0 + }, + { + "source": "api_einnahmen_id_upload_action", + "target": "api_einnahmen_id_upload_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.$id.upload.ts", + "source_location": "L98", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "topbar", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "dashboard_layout_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_dashboard_layout_tsx", + "target": "dashboard_layout_dashboardlayout", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/dashboard-layout.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_tsx", + "target": "admin_users_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_admin_companies_id_delete_ts", + "target": "api_admin_companies_id_delete_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.admin.companies.$id.delete.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "companies_id_buchhaltung_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_tsx", + "target": "companies_id_buchhaltung_buchhaltunglayout", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.tsx", + "source_location": "L66", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_beleghref", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_belegdisplayname", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L26", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L73", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handlequickupload", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L166", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L190", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L208", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L216", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L232", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handledeletebeleg", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L289", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_einnahmen_tsx", + "target": "companies_id_buchhaltung_einnahmen_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L295", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handlequickupload", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L175", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handlesave", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L279", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handledeletebeleg", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L291", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_einnahmen_handledelete", + "target": "companies_id_buchhaltung_einnahmen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.einnahmen.tsx", + "source_location": "L300", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "company_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "companies_id_edit_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_edit_tsx", + "target": "companies_id_edit_handlesubmit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.edit.tsx", + "source_location": "L29", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "api_einnahmen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_api_einnahmen_ts", + "target": "api_einnahmen_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.einnahmen.ts", + "source_location": "L84", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "api_ausgaben_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_ts", + "target": "api_ausgaben_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.ts", + "source_location": "L52", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "rate_limiter_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "login_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_routes_login_tsx", + "target": "login_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/login.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_layout_tsx", + "target": "admin_layout_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin-layout.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "api_companies_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_ts", + "target": "api_companies_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.ts", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L46", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_customerform", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L61", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_handlecreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L122", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_handleedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L132", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_customers_tsx", + "target": "companies_id_customers_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.customers.tsx", + "source_location": "L143", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_ausgaben_id_ts", + "target": "api_ausgaben_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.ausgaben.$id.ts", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_customers_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_customers_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_customers_ts", + "target": "api_companies_id_customers_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.customers.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_invoices_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_invoices_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_invoices_ts", + "target": "api_companies_id_invoices_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.invoices.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "api_companies_id_money_totransaction", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "api_companies_id_money_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_money_ts", + "target": "api_companies_id_money_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.money.ts", + "source_location": "L61", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_id_ts", + "target": "api_anlagevermoegen_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.$id.ts", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_pdf_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_pdf_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_pdf_ts", + "target": "api_invoices_id_pdf_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.pdf.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "afa", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_enrichasset", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L44", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L76", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L123", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L142", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L148", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L162", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_anlagevermoegen_tsx", + "target": "companies_id_buchhaltung_anlagevermoegen_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L196", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_anlagevermoegen_handlesave", + "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L189", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_anlagevermoegen_handledelete", + "target": "companies_id_buchhaltung_anlagevermoegen_loadyear", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.anlagevermoegen.tsx", + "source_location": "L201", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "kategorie_defaults", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L87", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_opencreate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L93", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_openedit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L100", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_handlesave", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L107", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_buchhaltung_ausgaben_kategorien_tsx", + "target": "companies_id_buchhaltung_ausgaben_kategorien_handledelete", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L134", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_kategorien_handlesave", + "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L127", + "weight": 1.0 + }, + { + "source": "companies_id_buchhaltung_ausgaben_kategorien_handledelete", + "target": "companies_id_buchhaltung_ausgaben_kategorien_reload", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.buchhaltung.ausgaben.kategorien.tsx", + "source_location": "L144", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_logs_tsx", + "target": "admin_logs_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.logs.tsx", + "source_location": "L35", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "invoice_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "companies_id_invoices_new_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L28", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_invoices_new_tsx", + "target": "companies_id_invoices_new_newinvoicepage", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.invoices.new.tsx", + "source_location": "L70", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_buchungkategorien_katid_ts", + "target": "api_companies_id_buchungkategorien_katid_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.buchungkategorien.$katId.ts", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "api_companies_id_kategorien_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_id_kategorien_ts", + "target": "api_companies_id_kategorien_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.$id.kategorien.ts", + "source_location": "L50", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "admin_users_new_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "app_routes_admin_users_new_tsx", + "target": "admin_users_new_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/admin.users.new.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_ts", + "target": "api_services_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.ts", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "card", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "companies_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L50", + "weight": 1.0 + }, + { + "source": "app_routes_companies_id_tsx", + "target": "companies_id_togglearchive", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.$id.tsx", + "source_location": "L113", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "afa", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "api_anlagevermoegen_toraw", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "api_anlagevermoegen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L33", + "weight": 1.0 + }, + { + "source": "app_routes_api_anlagevermoegen_ts", + "target": "api_anlagevermoegen_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.anlagevermoegen.ts", + "source_location": "L72", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "error_logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "api_companies_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_api_companies_ts", + "target": "api_companies_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.companies.ts", + "source_location": "L29", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_bilanzen_ts", + "target": "api_bilanzen_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.bilanzen.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "promises", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "node_path", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "api_beleg_userid_filename_storageroot", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "app_routes_api_beleg_userid_filename_ts", + "target": "api_beleg_userid_filename_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "api_beleg_userid_filename_loader", + "target": "api_beleg_userid_filename_storageroot", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.beleg.$userId.$filename.ts", + "source_location": "L33", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_companies_tsx", + "target": "companies_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/companies.tsx", + "source_location": "L37", + "weight": 1.0 + }, + { + "source": "app_routes_logout_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/logout.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_logout_ts", + "target": "logout_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/logout.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "api_customers_id_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_customers_id_ts", + "target": "api_customers_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.customers.$id.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "api_invoices_id_xml_tounitcode", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_id_xml_ts", + "target": "api_invoices_id_xml_loader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.$id.xml.ts", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_services_id_ts", + "target": "api_services_id_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.services.$id.ts", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "session_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "prisma_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "invoice_number_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "logger_server", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "schemas", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_routes_api_invoices_ts", + "target": "api_invoices_action", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/routes/api.invoices.ts", + "source_location": "L45", + "weight": 1.0 + }, + { + "source": "app_components_debug_panel_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_components_debug_panel_tsx", + "target": "client_validation", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_components_debug_panel_tsx", + "target": "debug_panel_debugpanel", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/debug-panel.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "zod", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "client_validation", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_components_company_company_form_tsx", + "target": "company_form_handleformsubmit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/company/company-form.tsx", + "source_location": "L112", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "renderer", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "invoice_pdf_formatmoney", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L191", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "invoice_pdf_formatdate", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L195", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_pdf_tsx", + "target": "invoice_pdf_n", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-pdf.tsx", + "source_location": "L246", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_status_badge_tsx", + "target": "badge", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_status_badge_tsx", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_status_badge_tsx", + "target": "invoice_status_badge_invoicestatusbadge", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-status-badge.tsx", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "react_hook_form", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "button", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "input", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L5", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L6", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "textarea", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "select", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L8", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "tax", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "invoice_form_defaultitem", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L57", + "weight": 1.0 + }, + { + "source": "app_components_invoice_invoice_form_tsx", + "target": "invoice_form_invoiceform", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L81", + "weight": 1.0 + }, + { + "source": "invoice_form_invoiceform", + "target": "invoice_form_defaultitem", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "app/components/invoice/invoice-form.tsx", + "source_location": "L95", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_layout_sidebar_tsx", + "target": "sidebar_getinitials", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/sidebar.tsx", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "react_router", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "topbar_isbreadcrumbhandle", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "app_components_layout_topbar_tsx", + "target": "topbar_getinitials", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/layout/topbar.tsx", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "react_slot", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "class_variance_authority", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_button_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/button.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "react_select", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_select_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/select.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_badge_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/badge.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_badge_tsx", + "target": "class_variance_authority", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/badge.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_badge_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/badge.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_input_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/input.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_input_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/input.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_card_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/card.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_card_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/card.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "react_dialog", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "lucide_react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_dialog_tsx", + "target": "dialog_dialogheader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/dialog.tsx", + "source_location": "L47", + "weight": 1.0 + }, + { + "source": "app_components_ui_tooltip_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/tooltip.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_tooltip_tsx", + "target": "react_tooltip", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/tooltip.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_tooltip_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/tooltip.tsx", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "app_components_ui_textarea_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/textarea.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_textarea_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/textarea.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_label_tsx", + "target": "react", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/label.tsx", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "app_components_ui_label_tsx", + "target": "react_label", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/label.tsx", + "source_location": "L2", + "weight": 1.0 + }, + { + "source": "app_components_ui_label_tsx", + "target": "utils", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "app/components/ui/label.tsx", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "crypto", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L20", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "setup_admin_generatepassword", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_ts", + "target": "setup_admin_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L31", + "weight": 1.0 + }, + { + "source": "setup_admin_main", + "target": "setup_admin_generatepassword", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.ts", + "source_location": "L53", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "client", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L17", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "bcryptjs", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L18", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "crypto", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "setup_admin_generatepassword", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "scripts_setup_admin_js", + "target": "setup_admin_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "setup_admin_main", + "target": "setup_admin_generatepassword", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "scripts/setup-admin.js", + "source_location": "L46", + "weight": 1.0 + } + ], + "hyperedges": [], + "input_tokens": 0, + "output_tokens": 0 +} \ No newline at end of file diff --git a/.graphify_uncached.txt b/.graphify_uncached.txt new file mode 100644 index 0000000..89e803b --- /dev/null +++ b/.graphify_uncached.txt @@ -0,0 +1,21 @@ +AGENTS.md +copilot-instructions.md +README.md +CLAUDE.md +IMPROVEMENTS_SUMMARY.md +INTEGRATION_EXAMPLE.md +tests/README.md +app/lib/ERROR_LOGGING_GUIDE.md +graphify-out/GRAPH_REPORT.md +data/documents/cmmoo4v5p0000ykou0bcivjsn/migr-ein-cmn4ogjc20007dfmmex6engdh-1777488241127.pdf +data/documents/cmmoo4v5p0000ykou0bcivjsn/migr-ein-cmn4ogjc20007dfmmex6engdh-1777488343334.pdf +data/documents/cmootxs7r0000nvgjmhgbanvx/demo-invoice-1-1777790365605.pdf +data/documents/cmootxs7r0000nvgjmhgbanvx/cmopen7qx000s2mzpnq44y0rb-1777790640988.pdf +data/documents/cmootxs7r0000nvgjmhgbanvx/cmopejaq8000f2mzpnho6t72z-1777790461825.pdf +public/file.svg +public/window.svg +public/globe.svg +public/next.svg +public/vercel.svg +coverage/favicon.png +coverage/sort-arrow-sprite.png \ No newline at end of file diff --git a/.opencode/plugins/graphify.js b/.opencode/plugins/graphify.js new file mode 100644 index 0000000..ae478e7 --- /dev/null +++ b/.opencode/plugins/graphify.js @@ -0,0 +1,22 @@ +// graphify OpenCode plugin +// Injects a knowledge graph reminder before bash tool calls when the graph exists. +import { existsSync } from "fs"; +import { join } from "path"; + +export const GraphifyPlugin = async ({ directory }) => { + let reminded = false; + + return { + "tool.execute.before": async (input, output) => { + if (reminded) return; + if (!existsSync(join(directory, "graphify-out", "graph.json"))) return; + + if (input.tool === "bash") { + output.args.command = + 'echo "[graphify] Knowledge graph available. Read graphify-out/GRAPH_REPORT.md for god nodes and architecture context before searching files." && ' + + output.args.command; + reminded = true; + } + }, + }; +}; diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..f987c4f --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,53 @@ +# Annas Rechnungsmanager Agent Guidance + +## Development Commands +- Install: `npm install` +- Dev server: `npm run dev` (Vite on http://localhost:5173) +- Dev with DB: `npm run devfull` (starts docker-compose DB first) +- Typecheck: `npm run typecheck` (react-router typegen + tsc) +- Lint: `npm run lint` (eslint) +- Test: `npm run test` (vitest run) +- DB migrate: `npm run db:migrate` (prisma migrate dev) +- DB seed: `npm run db:seed` (loads demo data) +- DB studio: `npm run db:studio` (Prisma GUI) +- Admin setup: `npm run setup-admin` (sets ADMIN_PASSWORD env var or prompts) +- Reset password: `npm run reset-password -- --username --password ` +- Build: `npm run build` +- Start prod: `npm run start` + +## Environment +- `.env` required: DATABASE_URL and AUTH_SECRET +- Dev: http://localhost:5173 +- Docker: http://localhost:3000 (first start requires ADMIN_PASSWORD) + +## Docker Deployment +- First start: `docker build -t annasrechnungsmanager:latest .` then `docker compose up -d` with ADMIN_PASSWORD set +- Subsequent: `docker build -t annasrechnungsmanager:latest .` then `docker compose up -d --no-deps app` +- Admin user created/updated on first start with ADMIN_PASSWORD + +## Code Structure +- `app/routes/` - file-based routing (React Router v7) +- `app/routes/api.*` - REST API endpoints (loader/action) +- `app/lib/` - data access, Prisma, tax, utils +- `prisma/schema.prisma` - database schema +- `scripts/` - setup-admin, reset-password + +## Conventions +- TypeScript strict; use unknown/guard checks for external data +- UI: Tailwind v4 + shadcn/ui +- Error handling: Remix redirect, json, badRequest +- API contracts in `app/routes/api.*` must remain backward compatible +- Document business logic for complex changes (taxes, invoice codes, UStG ยง14) + +## Testing +- Vitest: `npm run test` (run), `npm run test:watch` (watch) +- No additional services required for unit tests + +## graphify + +This project has a graphify knowledge graph at graphify-out/. + +Rules: +- Before answering architecture or codebase questions, read graphify-out/GRAPH_REPORT.md for god nodes and community structure +- If graphify-out/wiki/index.md exists, navigate it instead of reading raw files +- After modifying code files in this session, run `python3 -c "from graphify.watch import _rebuild_code; from pathlib import Path; _rebuild_code(Path('.'))"` to keep the graph current diff --git a/opencode.json b/opencode.json new file mode 100644 index 0000000..286e0a1 --- /dev/null +++ b/opencode.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://opencode.ai/config.json", + "plugin": [ + ".opencode/plugins/graphify.js", + "superpowers@git+https://github.com/obra/superpowers.git" + ] +} \ No newline at end of file diff --git a/tests/lib/buchungen.test.ts b/tests/lib/buchungen.test.ts index 4bc10b0..879ad1b 100644 --- a/tests/lib/buchungen.test.ts +++ b/tests/lib/buchungen.test.ts @@ -1,5 +1,4 @@ import { describe, it, expect } from "vitest"; -import { Decimal } from "@prisma/client"; describe("Buchungen - Double-Entry Bookkeeping Logic", () => { describe("TransactionAccount Enum", () => { @@ -32,7 +31,7 @@ describe("Buchungen - Double-Entry Bookkeeping Logic", () => { it("should calculate correct sign for EINLAGE (positive)", () => { // EINLAGE increases the company's assets const amount = 1000; - const type = "EINLAGE"; + const type: "EINLAGE" | "ENTNAHME" = "EINLAGE"; // In German bookkeeping: EINLAGE is recorded as positive (credit to equity) const signedAmount = type === "EINLAGE" ? amount : -amount; @@ -42,7 +41,7 @@ describe("Buchungen - Double-Entry Bookkeeping Logic", () => { it("should calculate correct sign for ENTNAHME (negative)", () => { // ENTNAHME decreases the company's assets const amount = 500; - const type = "ENTNAHME"; + const type: "EINLAGE" | "ENTNAHME" = "ENTNAHME"; // In German bookkeeping: ENTNAHME is recorded as negative (debit to equity) const signedAmount = type === "EINLAGE" ? amount : -amount; diff --git a/tests/lib/schemas.test.ts b/tests/lib/schemas.test.ts index 9f151b2..5d838ab 100644 --- a/tests/lib/schemas.test.ts +++ b/tests/lib/schemas.test.ts @@ -1,3 +1,5 @@ +import { describe, it, expect } from "vitest"; + import { currencySchema, taxRateSchema, diff --git a/tests/lib/tax.test.ts b/tests/lib/tax.test.ts index d20ab98..8a4c4eb 100644 --- a/tests/lib/tax.test.ts +++ b/tests/lib/tax.test.ts @@ -1,3 +1,5 @@ +import { describe, it, expect } from "vitest"; + import { TAX_RATES, calcItemAmounts,